/* Generated by Cython 3.2.4 */

/* BEGIN: Cython Metadata
{
    "distutils": {
        "depends": [
            "/usr/lib/python3.14/site-packages/numpy/_core/include/numpy/arrayobject.h",
            "/usr/lib/python3.14/site-packages/numpy/_core/include/numpy/arrayscalars.h",
            "/usr/lib/python3.14/site-packages/numpy/_core/include/numpy/ndarrayobject.h",
            "/usr/lib/python3.14/site-packages/numpy/_core/include/numpy/ndarraytypes.h",
            "/usr/lib/python3.14/site-packages/numpy/_core/include/numpy/ufuncobject.h"
        ],
        "extra_compile_args": [
            "-I/opt/homebrew/include"
        ],
        "extra_link_args": [
            "-Wl,-rpath,."
        ],
        "include_dirs": [
            ".",
            "/usr/lib/python3.14/site-packages/numpy/_core/include"
        ],
        "libraries": [
            "scip"
        ],
        "library_dirs": [
            "."
        ],
        "name": "pyscipopt.scip",
        "sources": [
            "src/pyscipopt/scip.pyx"
        ]
    },
    "module_name": "pyscipopt.scip"
}
END: Cython Metadata */

#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
#endif /* PY_SSIZE_T_CLEAN */
/* InitLimitedAPI */
#if defined(Py_LIMITED_API)
  #if !defined(CYTHON_LIMITED_API)
  #define CYTHON_LIMITED_API 1
  #endif
#elif defined(CYTHON_LIMITED_API)
  #ifdef _MSC_VER
  #pragma message ("Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead.")
  #else
  #warning Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead.
  #endif
#endif

#include "Python.h"
#ifndef Py_PYTHON_H
    #error Python headers needed to compile C extensions, please install development version of Python.
#elif PY_VERSION_HEX < 0x03080000
    #error Cython requires Python 3.8+.
#else
#define __PYX_ABI_VERSION "3_2_4"
#define CYTHON_HEX_VERSION 0x030204F0
#define CYTHON_FUTURE_DIVISION 1
/* CModulePreamble */
#include <stddef.h>
#ifndef offsetof
  #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif
#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS)
  #ifndef __stdcall
    #define __stdcall
  #endif
  #ifndef __cdecl
    #define __cdecl
  #endif
  #ifndef __fastcall
    #define __fastcall
  #endif
#endif
#ifndef DL_IMPORT
  #define DL_IMPORT(t) t
#endif
#ifndef DL_EXPORT
  #define DL_EXPORT(t) t
#endif
#define __PYX_COMMA ,
#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif
#ifndef Py_HUGE_VAL
  #define Py_HUGE_VAL HUGE_VAL
#endif
#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
#if defined(GRAALVM_PYTHON)
  /* For very preliminary testing purposes. Most variables are set the same as PyPy.
     The existence of this section does not imply that anything works or is even tested */
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 1
  #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_TYPE_SPECS
  #define CYTHON_USE_TYPE_SPECS 0
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #undef CYTHON_AVOID_BORROWED_REFS
  #define CYTHON_AVOID_BORROWED_REFS 1
  #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
  #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_ASSUME_SAFE_SIZE
  #define CYTHON_ASSUME_SAFE_SIZE 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_GIL
  #define CYTHON_FAST_GIL 0
  #undef CYTHON_METH_FASTCALL
  #define CYTHON_METH_FASTCALL 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #undef CYTHON_PEP489_MULTI_PHASE_INIT
  #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #undef CYTHON_USE_MODULE_STATE
  #define CYTHON_USE_MODULE_STATE 0
  #undef CYTHON_USE_SYS_MONITORING
  #define CYTHON_USE_SYS_MONITORING 0
  #undef CYTHON_USE_TP_FINALIZE
  #define CYTHON_USE_TP_FINALIZE 0
  #undef CYTHON_USE_AM_SEND
  #define CYTHON_USE_AM_SEND 0
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 1
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
  #endif
  #undef CYTHON_USE_FREELISTS
  #define CYTHON_USE_FREELISTS 0
  #undef CYTHON_IMMORTAL_CONSTANTS
  #define CYTHON_IMMORTAL_CONSTANTS 0
#elif defined(PYPY_VERSION)
  #define CYTHON_COMPILING_IN_PYPY 1
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 0
  #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 1
  #ifndef CYTHON_USE_TYPE_SPECS
    #define CYTHON_USE_TYPE_SPECS 0
  #endif
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #undef CYTHON_USE_UNICODE_WRITER
  #define CYTHON_USE_UNICODE_WRITER 0
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #undef CYTHON_AVOID_BORROWED_REFS
  #define CYTHON_AVOID_BORROWED_REFS 1
  #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
  #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 1
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #ifndef CYTHON_ASSUME_SAFE_SIZE
    #define CYTHON_ASSUME_SAFE_SIZE 1
  #endif
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_GIL
  #define CYTHON_FAST_GIL 0
  #undef CYTHON_METH_FASTCALL
  #define CYTHON_METH_FASTCALL 0
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #if PY_VERSION_HEX < 0x03090000
    #undef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT 0
  #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #endif
  #undef CYTHON_USE_MODULE_STATE
  #define CYTHON_USE_MODULE_STATE 0
  #undef CYTHON_USE_SYS_MONITORING
  #define CYTHON_USE_SYS_MONITORING 0
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE (PYPY_VERSION_NUM >= 0x07030C00)
  #endif
  #undef CYTHON_USE_AM_SEND
  #define CYTHON_USE_AM_SEND 0
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 0
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_NUM >= 0x07031100)
  #endif
  #undef CYTHON_USE_FREELISTS
  #define CYTHON_USE_FREELISTS 0
  #undef CYTHON_IMMORTAL_CONSTANTS
  #define CYTHON_IMMORTAL_CONSTANTS 0
#elif defined(CYTHON_LIMITED_API)
  #ifdef Py_LIMITED_API
    #undef __PYX_LIMITED_VERSION_HEX
    #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
  #endif
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 0
  #define CYTHON_COMPILING_IN_LIMITED_API 1
  #define CYTHON_COMPILING_IN_GRAAL 0
  #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
  #undef CYTHON_USE_TYPE_SLOTS
  #define CYTHON_USE_TYPE_SLOTS 0
  #undef CYTHON_USE_TYPE_SPECS
  #define CYTHON_USE_TYPE_SPECS 1
  #undef CYTHON_USE_PYTYPE_LOOKUP
  #define CYTHON_USE_PYTYPE_LOOKUP 0
  #undef CYTHON_USE_PYLIST_INTERNALS
  #define CYTHON_USE_PYLIST_INTERNALS 0
  #undef CYTHON_USE_UNICODE_INTERNALS
  #define CYTHON_USE_UNICODE_INTERNALS 0
  #ifndef CYTHON_USE_UNICODE_WRITER
    #define CYTHON_USE_UNICODE_WRITER 0
  #endif
  #undef CYTHON_USE_PYLONG_INTERNALS
  #define CYTHON_USE_PYLONG_INTERNALS 0
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
    #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0
  #endif
  #undef CYTHON_ASSUME_SAFE_MACROS
  #define CYTHON_ASSUME_SAFE_MACROS 0
  #undef CYTHON_ASSUME_SAFE_SIZE
  #define CYTHON_ASSUME_SAFE_SIZE 0
  #undef CYTHON_UNPACK_METHODS
  #define CYTHON_UNPACK_METHODS 0
  #undef CYTHON_FAST_THREAD_STATE
  #define CYTHON_FAST_THREAD_STATE 0
  #undef CYTHON_FAST_GIL
  #define CYTHON_FAST_GIL 0
  #undef CYTHON_METH_FASTCALL
  #define CYTHON_METH_FASTCALL (__PYX_LIMITED_VERSION_HEX >= 0x030C0000)
  #undef CYTHON_FAST_PYCALL
  #define CYTHON_FAST_PYCALL 0
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #endif
  #ifndef CYTHON_USE_MODULE_STATE
    #define CYTHON_USE_MODULE_STATE 0
  #endif
  #undef CYTHON_USE_SYS_MONITORING
  #define CYTHON_USE_SYS_MONITORING 0
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE 0
  #endif
  #ifndef CYTHON_USE_AM_SEND
    #define CYTHON_USE_AM_SEND (__PYX_LIMITED_VERSION_HEX >= 0x030A0000)
  #endif
  #undef CYTHON_USE_DICT_VERSIONS
  #define CYTHON_USE_DICT_VERSIONS 0
  #undef CYTHON_USE_EXC_INFO_STACK
  #define CYTHON_USE_EXC_INFO_STACK 0
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
  #endif
  #ifndef CYTHON_USE_FREELISTS
  #define CYTHON_USE_FREELISTS 1
  #endif
  #undef CYTHON_IMMORTAL_CONSTANTS
  #define CYTHON_IMMORTAL_CONSTANTS 0
#else
  #define CYTHON_COMPILING_IN_PYPY 0
  #define CYTHON_COMPILING_IN_CPYTHON 1
  #define CYTHON_COMPILING_IN_LIMITED_API 0
  #define CYTHON_COMPILING_IN_GRAAL 0
  #ifdef Py_GIL_DISABLED
    #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 1
  #else
    #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
  #endif
  #if PY_VERSION_HEX < 0x030A0000
    #undef CYTHON_USE_TYPE_SLOTS
    #define CYTHON_USE_TYPE_SLOTS 1
  #elif !defined(CYTHON_USE_TYPE_SLOTS)
    #define CYTHON_USE_TYPE_SLOTS 1
  #endif
  #ifndef CYTHON_USE_TYPE_SPECS
    #define CYTHON_USE_TYPE_SPECS 0
  #endif
  #ifndef CYTHON_USE_PYTYPE_LOOKUP
    #define CYTHON_USE_PYTYPE_LOOKUP 1
  #endif
  #ifndef CYTHON_USE_PYLONG_INTERNALS
    #define CYTHON_USE_PYLONG_INTERNALS 1
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    #undef CYTHON_USE_PYLIST_INTERNALS
    #define CYTHON_USE_PYLIST_INTERNALS 0
  #elif !defined(CYTHON_USE_PYLIST_INTERNALS)
    #define CYTHON_USE_PYLIST_INTERNALS 1
  #endif
  #ifndef CYTHON_USE_UNICODE_INTERNALS
    #define CYTHON_USE_UNICODE_INTERNALS 1
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING || PY_VERSION_HEX >= 0x030B00A2
    #undef CYTHON_USE_UNICODE_WRITER
    #define CYTHON_USE_UNICODE_WRITER 0
  #elif !defined(CYTHON_USE_UNICODE_WRITER)
    #define CYTHON_USE_UNICODE_WRITER 1
  #endif
  #ifndef CYTHON_AVOID_BORROWED_REFS
    #define CYTHON_AVOID_BORROWED_REFS 0
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
    #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 1
  #elif !defined(CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS)
    #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0
  #endif
  #ifndef CYTHON_ASSUME_SAFE_MACROS
    #define CYTHON_ASSUME_SAFE_MACROS 1
  #endif
  #ifndef CYTHON_ASSUME_SAFE_SIZE
    #define CYTHON_ASSUME_SAFE_SIZE 1
  #endif
  #ifndef CYTHON_UNPACK_METHODS
    #define CYTHON_UNPACK_METHODS 1
  #endif
  #ifndef CYTHON_FAST_THREAD_STATE
    #define CYTHON_FAST_THREAD_STATE 1
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    #undef CYTHON_FAST_GIL
    #define CYTHON_FAST_GIL 0
  #elif !defined(CYTHON_FAST_GIL)
    #define CYTHON_FAST_GIL (PY_VERSION_HEX < 0x030C00A6)
  #endif
  #ifndef CYTHON_METH_FASTCALL
    #define CYTHON_METH_FASTCALL 1
  #endif
  #ifndef CYTHON_FAST_PYCALL
    #define CYTHON_FAST_PYCALL 1
  #endif
  #ifndef CYTHON_PEP487_INIT_SUBCLASS
    #define CYTHON_PEP487_INIT_SUBCLASS 1
  #endif
  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
    #define CYTHON_PEP489_MULTI_PHASE_INIT 1
  #endif
  #ifndef CYTHON_USE_MODULE_STATE
    #define CYTHON_USE_MODULE_STATE 0
  #endif
  #ifndef CYTHON_USE_SYS_MONITORING
    #define CYTHON_USE_SYS_MONITORING (PY_VERSION_HEX >= 0x030d00B1)
  #endif
  #ifndef CYTHON_USE_TP_FINALIZE
    #define CYTHON_USE_TP_FINALIZE 1
  #endif
  #ifndef CYTHON_USE_AM_SEND
    #define CYTHON_USE_AM_SEND 1
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    #undef CYTHON_USE_DICT_VERSIONS
    #define CYTHON_USE_DICT_VERSIONS 0
  #elif !defined(CYTHON_USE_DICT_VERSIONS)
    #define CYTHON_USE_DICT_VERSIONS  (PY_VERSION_HEX < 0x030C00A5 && !CYTHON_USE_MODULE_STATE)
  #endif
  #ifndef CYTHON_USE_EXC_INFO_STACK
    #define CYTHON_USE_EXC_INFO_STACK 1
  #endif
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
    #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
  #endif
  #ifndef CYTHON_USE_FREELISTS
    #define CYTHON_USE_FREELISTS (!CYTHON_COMPILING_IN_CPYTHON_FREETHREADING)
  #endif
  #if defined(CYTHON_IMMORTAL_CONSTANTS) && PY_VERSION_HEX < 0x030C0000
    #undef CYTHON_IMMORTAL_CONSTANTS
    #define CYTHON_IMMORTAL_CONSTANTS 0  // definitely won't work
  #elif !defined(CYTHON_IMMORTAL_CONSTANTS)
    #define CYTHON_IMMORTAL_CONSTANTS (PY_VERSION_HEX >= 0x030C0000 && !CYTHON_USE_MODULE_STATE && CYTHON_COMPILING_IN_CPYTHON_FREETHREADING)
  #endif
#endif
#ifndef CYTHON_COMPRESS_STRINGS
  #define CYTHON_COMPRESS_STRINGS 1
#endif
#ifndef CYTHON_FAST_PYCCALL
#define CYTHON_FAST_PYCCALL  CYTHON_FAST_PYCALL
#endif
#ifndef CYTHON_VECTORCALL
#if CYTHON_COMPILING_IN_LIMITED_API
#define CYTHON_VECTORCALL  (__PYX_LIMITED_VERSION_HEX >= 0x030C0000)
#else
#define CYTHON_VECTORCALL  (CYTHON_FAST_PYCCALL)
#endif
#endif
#if CYTHON_USE_PYLONG_INTERNALS
  #undef SHIFT
  #undef BASE
  #undef MASK
  #ifdef SIZEOF_VOID_P
    enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
  #endif
#endif
#ifndef __has_attribute
  #define __has_attribute(x) 0
#endif
#ifndef __has_cpp_attribute
  #define __has_cpp_attribute(x) 0
#endif
#ifndef CYTHON_RESTRICT
  #if defined(__GNUC__)
    #define CYTHON_RESTRICT __restrict__
  #elif defined(_MSC_VER) && _MSC_VER >= 1400
    #define CYTHON_RESTRICT __restrict
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_RESTRICT restrict
  #else
    #define CYTHON_RESTRICT
  #endif
#endif
#ifndef CYTHON_UNUSED
  #if defined(__cplusplus)
    /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17
     * but leads to warnings with -pedantic, since it is a C++17 feature */
    #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
      #if __has_cpp_attribute(maybe_unused)
        #define CYTHON_UNUSED [[maybe_unused]]
      #endif
    #endif
  #endif
#endif
#ifndef CYTHON_UNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define CYTHON_UNUSED __attribute__ ((__unused__))
#   else
#     define CYTHON_UNUSED
#   endif
# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
#   define CYTHON_UNUSED __attribute__ ((__unused__))
# else
#   define CYTHON_UNUSED
# endif
#endif
#ifndef CYTHON_UNUSED_VAR
#  if defined(__cplusplus)
     template<class T> void CYTHON_UNUSED_VAR( const T& ) { }
#  else
#    define CYTHON_UNUSED_VAR(x) (void)(x)
#  endif
#endif
#ifndef CYTHON_MAYBE_UNUSED_VAR
  #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x)
#endif
#ifndef CYTHON_NCP_UNUSED
# if CYTHON_COMPILING_IN_CPYTHON && !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#  define CYTHON_NCP_UNUSED
# else
#  define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
#ifndef CYTHON_USE_CPP_STD_MOVE
  #if defined(__cplusplus) && (\
    __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
    #define CYTHON_USE_CPP_STD_MOVE 1
  #else
    #define CYTHON_USE_CPP_STD_MOVE 0
  #endif
#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#include <stdint.h>
typedef uintptr_t  __pyx_uintptr_t;
#ifndef CYTHON_FALLTHROUGH
  #if defined(__cplusplus)
    /* for clang __has_cpp_attribute(fallthrough) is true even before C++17
     * but leads to warnings with -pedantic, since it is a C++17 feature */
    #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
      #if __has_cpp_attribute(fallthrough)
        #define CYTHON_FALLTHROUGH [[fallthrough]]
      #endif
    #endif
    #ifndef CYTHON_FALLTHROUGH
      #if __has_cpp_attribute(clang::fallthrough)
        #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
      #elif __has_cpp_attribute(gnu::fallthrough)
        #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
      #endif
    #endif
  #endif
  #ifndef CYTHON_FALLTHROUGH
    #if __has_attribute(fallthrough)
      #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
    #else
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
  #if defined(__clang__) && defined(__apple_build_version__)
    #if __apple_build_version__ < 7000000
      #undef  CYTHON_FALLTHROUGH
      #define CYTHON_FALLTHROUGH
    #endif
  #endif
#endif
#ifndef Py_UNREACHABLE
  #define Py_UNREACHABLE()  assert(0); abort()
#endif
#ifdef __cplusplus
  template <typename T>
  struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);};
  #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL<type>::value)
#else
  #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0)
#endif
#if CYTHON_COMPILING_IN_PYPY == 1
  #define __PYX_NEED_TP_PRINT_SLOT  (PY_VERSION_HEX < 0x030A0000)
#else
  #define __PYX_NEED_TP_PRINT_SLOT  (PY_VERSION_HEX < 0x03090000)
#endif
#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer))

/* CInitCode */
#ifndef CYTHON_INLINE
  #if defined(__clang__)
    #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
  #elif defined(__GNUC__)
    #define CYTHON_INLINE __inline__
  #elif defined(_MSC_VER)
    #define CYTHON_INLINE __inline
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_INLINE inline
  #else
    #define CYTHON_INLINE
  #endif
#endif

/* PythonCompatibility */
#define __PYX_BUILD_PY_SSIZE_T "n"
#define CYTHON_FORMAT_SSIZE_T "z"
#define __Pyx_BUILTIN_MODULE_NAME "builtins"
#define __Pyx_DefaultClassType PyType_Type
#if CYTHON_COMPILING_IN_LIMITED_API
    #ifndef CO_OPTIMIZED
    static int CO_OPTIMIZED;
    #endif
    #ifndef CO_NEWLOCALS
    static int CO_NEWLOCALS;
    #endif
    #ifndef CO_VARARGS
    static int CO_VARARGS;
    #endif
    #ifndef CO_VARKEYWORDS
    static int CO_VARKEYWORDS;
    #endif
    #ifndef CO_ASYNC_GENERATOR
    static int CO_ASYNC_GENERATOR;
    #endif
    #ifndef CO_GENERATOR
    static int CO_GENERATOR;
    #endif
    #ifndef CO_COROUTINE
    static int CO_COROUTINE;
    #endif
#else
    #ifndef CO_COROUTINE
      #define CO_COROUTINE 0x80
    #endif
    #ifndef CO_ASYNC_GENERATOR
      #define CO_ASYNC_GENERATOR 0x200
    #endif
#endif
static int __Pyx_init_co_variables(void);
#if PY_VERSION_HEX >= 0x030900A4 || defined(Py_IS_TYPE)
  #define __Pyx_IS_TYPE(ob, type) Py_IS_TYPE(ob, type)
#else
  #define __Pyx_IS_TYPE(ob, type) (((const PyObject*)ob)->ob_type == (type))
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is)
  #define __Pyx_Py_Is(x, y)  Py_Is(x, y)
#else
  #define __Pyx_Py_Is(x, y) ((x) == (y))
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone)
  #define __Pyx_Py_IsNone(ob) Py_IsNone(ob)
#else
  #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None)
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue)
  #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob)
#else
  #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True)
#endif
#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse)
  #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob)
#else
  #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False)
#endif
#define __Pyx_NoneAsNull(obj)  (__Pyx_Py_IsNone(obj) ? NULL : (obj))
#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
  #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
#else
  #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
#endif
#ifndef Py_TPFLAGS_CHECKTYPES
  #define Py_TPFLAGS_CHECKTYPES 0
#endif
#ifndef Py_TPFLAGS_HAVE_INDEX
  #define Py_TPFLAGS_HAVE_INDEX 0
#endif
#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
#endif
#ifndef Py_TPFLAGS_HAVE_FINALIZE
  #define Py_TPFLAGS_HAVE_FINALIZE 0
#endif
#ifndef Py_TPFLAGS_SEQUENCE
  #define Py_TPFLAGS_SEQUENCE 0
#endif
#ifndef Py_TPFLAGS_MAPPING
  #define Py_TPFLAGS_MAPPING 0
#endif
#ifndef Py_TPFLAGS_IMMUTABLETYPE
  #define Py_TPFLAGS_IMMUTABLETYPE (1UL << 8)
#endif
#ifndef Py_TPFLAGS_DISALLOW_INSTANTIATION
  #define Py_TPFLAGS_DISALLOW_INSTANTIATION (1UL << 7)
#endif
#ifndef METH_STACKLESS
  #define METH_STACKLESS 0
#endif
#ifndef METH_FASTCALL
  #ifndef METH_FASTCALL
     #define METH_FASTCALL 0x80
  #endif
  typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
                                                          Py_ssize_t nargs, PyObject *kwnames);
#else
  #if PY_VERSION_HEX >= 0x030d00A4
  #  define __Pyx_PyCFunctionFast PyCFunctionFast
  #  define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords
  #else
  #  define __Pyx_PyCFunctionFast _PyCFunctionFast
  #  define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
  #endif
#endif
#if CYTHON_METH_FASTCALL
  #define __Pyx_METH_FASTCALL METH_FASTCALL
  #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast
  #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords
#else
  #define __Pyx_METH_FASTCALL METH_VARARGS
  #define __Pyx_PyCFunction_FastCall PyCFunction
  #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords
#endif
#if CYTHON_VECTORCALL
  #define __pyx_vectorcallfunc vectorcallfunc
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET  PY_VECTORCALL_ARGUMENTS_OFFSET
  #define __Pyx_PyVectorcall_NARGS(n)  PyVectorcall_NARGS((size_t)(n))
#else
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET  0
  #define __Pyx_PyVectorcall_NARGS(n)  ((Py_ssize_t)(n))
#endif
#if PY_VERSION_HEX >= 0x030900B1
#define __Pyx_PyCFunction_CheckExact(func)  PyCFunction_CheckExact(func)
#else
#define __Pyx_PyCFunction_CheckExact(func)  PyCFunction_Check(func)
#endif
#define __Pyx_CyOrPyCFunction_Check(func)  PyCFunction_Check(func)
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func)  (((PyCFunctionObject*)(func))->m_ml->ml_meth)
#elif !CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func)  PyCFunction_GET_FUNCTION(func)
#endif
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_CyOrPyCFunction_GET_FLAGS(func)  (((PyCFunctionObject*)(func))->m_ml->ml_flags)
static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
    return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
}
#endif
static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void (*cfunc)(void)) {
#if CYTHON_COMPILING_IN_LIMITED_API
    return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
#else
    return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
#endif
}
#define __Pyx_IsSameCFunction(func, cfunc)   __Pyx__IsSameCFunction(func, cfunc)
#if PY_VERSION_HEX < 0x03090000 || (CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000)
  #define __Pyx_PyType_FromModuleAndSpec(m, s, b)  ((void)m, PyType_FromSpecWithBases(s, b))
  typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
#else
  #define __Pyx_PyType_FromModuleAndSpec(m, s, b)  PyType_FromModuleAndSpec(m, s, b)
  #define __Pyx_PyCMethod  PyCMethod
#endif
#ifndef METH_METHOD
  #define METH_METHOD 0x200
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
  #define PyObject_Malloc(s)   PyMem_Malloc(s)
  #define PyObject_Free(p)     PyMem_Free(p)
  #define PyObject_Realloc(p)  PyMem_Realloc(p)
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)
#elif CYTHON_COMPILING_IN_GRAAL && defined(GRAALPY_VERSION_NUM) && GRAALPY_VERSION_NUM > 0x19000000
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) GraalPyFrame_SetLineNumber((frame), (lineno))
#elif CYTHON_COMPILING_IN_GRAAL
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno) _PyFrame_SetLineNumber((frame), (lineno))
#else
  #define __Pyx_PyCode_HasFreeVars(co)  (PyCode_GetNumFree(co) > 0)
  #define __Pyx_PyFrame_SetLineNumber(frame, lineno)  (frame)->f_lineno = (lineno)
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_PyThreadState_Current PyThreadState_Get()
#elif !CYTHON_FAST_THREAD_STATE
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
#elif PY_VERSION_HEX >= 0x030d00A1
  #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
#else
  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#endif
#if CYTHON_USE_MODULE_STATE
static CYTHON_INLINE void *__Pyx__PyModule_GetState(PyObject *op)
{
    void *result;
    result = PyModule_GetState(op);
    if (!result)
        Py_FatalError("Couldn't find the module state");
    return result;
}
#define __Pyx_PyModule_GetState(o) (__pyx_mstatetype *)__Pyx__PyModule_GetState(o)
#else
#define __Pyx_PyModule_GetState(op) ((void)op,__pyx_mstate_global)
#endif
#define __Pyx_PyObject_GetSlot(obj, name, func_ctype)  __Pyx_PyType_GetSlot(Py_TYPE((PyObject *) obj), name, func_ctype)
#define __Pyx_PyObject_TryGetSlot(obj, name, func_ctype) __Pyx_PyType_TryGetSlot(Py_TYPE(obj), name, func_ctype)
#define __Pyx_PyObject_GetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_GetSubSlot(Py_TYPE(obj), sub, name, func_ctype)
#define __Pyx_PyObject_TryGetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_TryGetSubSlot(Py_TYPE(obj), sub, name, func_ctype)
#if CYTHON_USE_TYPE_SLOTS
  #define __Pyx_PyType_GetSlot(type, name, func_ctype)  ((type)->name)
  #define __Pyx_PyType_TryGetSlot(type, name, func_ctype) __Pyx_PyType_GetSlot(type, name, func_ctype)
  #define __Pyx_PyType_GetSubSlot(type, sub, name, func_ctype) (((type)->sub) ? ((type)->sub->name) : NULL)
  #define __Pyx_PyType_TryGetSubSlot(type, sub, name, func_ctype) __Pyx_PyType_GetSubSlot(type, sub, name, func_ctype)
#else
  #define __Pyx_PyType_GetSlot(type, name, func_ctype)  ((func_ctype) PyType_GetSlot((type), Py_##name))
  #define __Pyx_PyType_TryGetSlot(type, name, func_ctype)\
    ((__PYX_LIMITED_VERSION_HEX >= 0x030A0000 ||\
     (PyType_GetFlags(type) & Py_TPFLAGS_HEAPTYPE) || __Pyx_get_runtime_version() >= 0x030A0000) ?\
     __Pyx_PyType_GetSlot(type, name, func_ctype) : NULL)
  #define __Pyx_PyType_GetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_GetSlot(obj, name, func_ctype)
  #define __Pyx_PyType_TryGetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_TryGetSlot(obj, name, func_ctype)
#endif
#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n)  ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n)  PyDict_New()
#endif
#define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
#define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStrWithError(dict, name)  _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
    PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
    if (res == NULL) PyErr_Clear();
    return res;
}
#elif !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000
#define __Pyx_PyDict_GetItemStrWithError  PyDict_GetItemWithError
#define __Pyx_PyDict_GetItemStr           PyDict_GetItem
#else
static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) {
#if CYTHON_COMPILING_IN_PYPY
    return PyDict_GetItem(dict, name);
#else
    PyDictEntry *ep;
    PyDictObject *mp = (PyDictObject*) dict;
    long hash = ((PyStringObject *) name)->ob_shash;
    assert(hash != -1);
    ep = (mp->ma_lookup)(mp, name, hash);
    if (ep == NULL) {
        return NULL;
    }
    return ep->me_value;
#endif
}
#define __Pyx_PyDict_GetItemStr           PyDict_GetItem
#endif
#if CYTHON_USE_TYPE_SLOTS
  #define __Pyx_PyType_GetFlags(tp)   (((PyTypeObject *)tp)->tp_flags)
  #define __Pyx_PyType_HasFeature(type, feature)  ((__Pyx_PyType_GetFlags(type) & (feature)) != 0)
#else
  #define __Pyx_PyType_GetFlags(tp)   (PyType_GetFlags((PyTypeObject *)tp))
  #define __Pyx_PyType_HasFeature(type, feature)  PyType_HasFeature(type, feature)
#endif
#define __Pyx_PyObject_GetIterNextFunc(iterator)  __Pyx_PyObject_GetSlot(iterator, tp_iternext, iternextfunc)
#if CYTHON_USE_TYPE_SPECS
#define __Pyx_PyHeapTypeObject_GC_Del(obj)  {\
    PyTypeObject *type = Py_TYPE((PyObject*)obj);\
    assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\
    PyObject_GC_Del(obj);\
    Py_DECREF(type);\
}
#else
#define __Pyx_PyHeapTypeObject_GC_Del(obj)  PyObject_GC_Del(obj)
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i)
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   ((void)u, 1114111U)
  #define __Pyx_PyUnicode_KIND(u)         ((void)u, (0))
  #define __Pyx_PyUnicode_DATA(u)         ((void*)u)
  #define __Pyx_PyUnicode_READ(k, d, i)   ((void)k, PyUnicode_ReadChar((PyObject*)(d), i))
  #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GetLength(u))
#else
  #if PY_VERSION_HEX >= 0x030C0000
    #define __Pyx_PyUnicode_READY(op)       (0)
  #else
    #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ?\
                                                0 : _PyUnicode_Ready((PyObject *)(op)))
  #endif
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
  #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u)   PyUnicode_MAX_CHAR_VALUE(u)
  #define __Pyx_PyUnicode_KIND(u)         ((int)PyUnicode_KIND(u))
  #define __Pyx_PyUnicode_DATA(u)         PyUnicode_DATA(u)
  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
  #define __Pyx_PyUnicode_WRITE(k, d, i, ch)  PyUnicode_WRITE(k, d, i, (Py_UCS4) ch)
  #if PY_VERSION_HEX >= 0x030C0000
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != PyUnicode_GET_LENGTH(u))
  #else
    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
    #else
    #define __Pyx_PyUnicode_IS_TRUE(u)      (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
    #endif
  #endif
#endif
#if CYTHON_COMPILING_IN_PYPY
  #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
#else
  #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
  #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
      PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
#endif
#if CYTHON_COMPILING_IN_PYPY
  #if !defined(PyUnicode_DecodeUnicodeEscape)
    #define PyUnicode_DecodeUnicodeEscape(s, size, errors)  PyUnicode_Decode(s, size, "unicode_escape", errors)
  #endif
  #if !defined(PyUnicode_Contains)
    #define PyUnicode_Contains(u, s)  PySequence_Contains(u, s)
  #endif
  #if !defined(PyByteArray_Check)
    #define PyByteArray_Check(obj)  PyObject_TypeCheck(obj, &PyByteArray_Type)
  #endif
  #if !defined(PyObject_Format)
    #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
  #endif
#endif
#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  #define __Pyx_PySequence_ListKeepNew(obj)\
    (likely(PyList_CheckExact(obj) && PyUnstable_Object_IsUniquelyReferenced(obj)) ? __Pyx_NewRef(obj) : PySequence_List(obj))
#elif CYTHON_COMPILING_IN_CPYTHON
  #define __Pyx_PySequence_ListKeepNew(obj)\
    (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj))
#else
  #define __Pyx_PySequence_ListKeepNew(obj)  PySequence_List(obj)
#endif
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        __Pyx_IS_TYPE(obj, &PySet_Type)
#endif
#if PY_VERSION_HEX >= 0x030900A4
  #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
  #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
#else
  #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
  #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
#endif
enum __Pyx_ReferenceSharing {
  __Pyx_ReferenceSharing_DefinitelyUnique, // We created it so we know it's unshared - no need to check
  __Pyx_ReferenceSharing_OwnStrongReference,
  __Pyx_ReferenceSharing_FunctionArgument,
  __Pyx_ReferenceSharing_SharedReference, // Never trust it to be unshared because it's a global or similar
};
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && PY_VERSION_HEX >= 0x030E0000
#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing)\
    (sharing == __Pyx_ReferenceSharing_DefinitelyUnique ? 1 :\
      (sharing == __Pyx_ReferenceSharing_FunctionArgument ? PyUnstable_Object_IsUniqueReferencedTemporary(o) :\
      (sharing == __Pyx_ReferenceSharing_OwnStrongReference ? PyUnstable_Object_IsUniquelyReferenced(o) : 0)))
#elif (CYTHON_COMPILING_IN_CPYTHON && !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING) || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing) (((void)sharing), Py_REFCNT(o) == 1)
#else
#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing) (((void)o), ((void)sharing), 0)
#endif
#if CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
  #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
    #define __Pyx_PyList_GetItemRef(o, i) PyList_GetItemRef(o, i)
  #elif CYTHON_COMPILING_IN_LIMITED_API || !CYTHON_ASSUME_SAFE_MACROS
    #define __Pyx_PyList_GetItemRef(o, i) (likely((i) >= 0) ? PySequence_GetItem(o, i) : (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
  #else
    #define __Pyx_PyList_GetItemRef(o, i) PySequence_ITEM(o, i)
  #endif
#elif CYTHON_COMPILING_IN_LIMITED_API || !CYTHON_ASSUME_SAFE_MACROS
  #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
    #define __Pyx_PyList_GetItemRef(o, i) PyList_GetItemRef(o, i)
  #else
    #define __Pyx_PyList_GetItemRef(o, i) __Pyx_XNewRef(PyList_GetItem(o, i))
  #endif
#else
  #define __Pyx_PyList_GetItemRef(o, i) __Pyx_NewRef(PyList_GET_ITEM(o, i))
#endif
#if CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS && !CYTHON_COMPILING_IN_LIMITED_API && CYTHON_ASSUME_SAFE_MACROS
  #define __Pyx_PyList_GetItemRefFast(o, i, unsafe_shared) (__Pyx_IS_UNIQUELY_REFERENCED(o, unsafe_shared) ?\
    __Pyx_NewRef(PyList_GET_ITEM(o, i)) : __Pyx_PyList_GetItemRef(o, i))
#else
  #define __Pyx_PyList_GetItemRefFast(o, i, unsafe_shared) __Pyx_PyList_GetItemRef(o, i)
#endif
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
#define __Pyx_PyDict_GetItemRef(dict, key, result) PyDict_GetItemRef(dict, key, result)
#elif CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
static CYTHON_INLINE int __Pyx_PyDict_GetItemRef(PyObject *dict, PyObject *key, PyObject **result) {
  *result = PyObject_GetItem(dict, key);
  if (*result == NULL) {
    if (PyErr_ExceptionMatches(PyExc_KeyError)) {
      PyErr_Clear();
      return 0;
    }
    return -1;
  }
  return 1;
}
#else
static CYTHON_INLINE int __Pyx_PyDict_GetItemRef(PyObject *dict, PyObject *key, PyObject **result) {
  *result = PyDict_GetItemWithError(dict, key);
  if (*result == NULL) {
    return PyErr_Occurred() ? -1 : 0;
  }
  Py_INCREF(*result);
  return 1;
}
#endif
#if defined(CYTHON_DEBUG_VISIT_CONST) && CYTHON_DEBUG_VISIT_CONST
  #define __Pyx_VISIT_CONST(obj)  Py_VISIT(obj)
#else
  #define __Pyx_VISIT_CONST(obj)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
  #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
  #define __Pyx_PySequence_SIZE(seq)  Py_SIZE(seq)
  #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
  #define __Pyx_PyTuple_GET_ITEM(o, i) PyTuple_GET_ITEM(o, i)
  #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
  #define __Pyx_PyList_GET_ITEM(o, i) PyList_GET_ITEM(o, i)
#else
  #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
  #define __Pyx_PySequence_SIZE(seq)  PySequence_Size(seq)
  #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
  #define __Pyx_PyTuple_GET_ITEM(o, i) PyTuple_GetItem(o, i)
  #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
  #define __Pyx_PyList_GET_ITEM(o, i) PyList_GetItem(o, i)
#endif
#if CYTHON_ASSUME_SAFE_SIZE
  #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
  #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
  #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
  #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
  #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
  #define __Pyx_PyUnicode_GET_LENGTH(o) PyUnicode_GET_LENGTH(o)
#else
  #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
  #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
  #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
  #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
  #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
  #define __Pyx_PyUnicode_GET_LENGTH(o) PyUnicode_GetLength(o)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_InternFromString)
  #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
#endif
#define __Pyx_PyLong_FromHash_t PyLong_FromSsize_t
#define __Pyx_PyLong_AsHash_t   __Pyx_PyIndex_AsSsize_t
#if __PYX_LIMITED_VERSION_HEX >= 0x030A0000
    #define __Pyx_PySendResult PySendResult
#else
    typedef enum {
        PYGEN_RETURN = 0,
        PYGEN_ERROR = -1,
        PYGEN_NEXT = 1,
    } __Pyx_PySendResult;
#endif
#if CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX < 0x030A00A3
  typedef __Pyx_PySendResult (*__Pyx_pyiter_sendfunc)(PyObject *iter, PyObject *value, PyObject **result);
#else
  #define __Pyx_pyiter_sendfunc sendfunc
#endif
#if !CYTHON_USE_AM_SEND
#define __PYX_HAS_PY_AM_SEND 0
#elif __PYX_LIMITED_VERSION_HEX >= 0x030A0000
#define __PYX_HAS_PY_AM_SEND 1
#else
#define __PYX_HAS_PY_AM_SEND 2  // our own backported implementation
#endif
#if __PYX_HAS_PY_AM_SEND < 2
    #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
#else
    typedef struct {
        unaryfunc am_await;
        unaryfunc am_aiter;
        unaryfunc am_anext;
        __Pyx_pyiter_sendfunc am_send;
    } __Pyx_PyAsyncMethodsStruct;
    #define __Pyx_SlotTpAsAsync(s) ((PyAsyncMethods*)(s))
#endif
#if CYTHON_USE_AM_SEND && PY_VERSION_HEX < 0x030A00F0
    #define __Pyx_TPFLAGS_HAVE_AM_SEND (1UL << 21)
#else
    #define __Pyx_TPFLAGS_HAVE_AM_SEND (0)
#endif
#if PY_VERSION_HEX >= 0x03090000
#define __Pyx_PyInterpreterState_Get() PyInterpreterState_Get()
#else
#define __Pyx_PyInterpreterState_Get() PyThreadState_Get()->interp
#endif
#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030A0000
#ifdef __cplusplus
extern "C"
#endif
PyAPI_FUNC(void *) PyMem_Calloc(size_t nelem, size_t elsize);
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
static int __Pyx_init_co_variable(PyObject *inspect, const char* name, int *write_to) {
    int value;
    PyObject *py_value = PyObject_GetAttrString(inspect, name);
    if (!py_value) return 0;
    value = (int) PyLong_AsLong(py_value);
    Py_DECREF(py_value);
    *write_to = value;
    return value != -1 || !PyErr_Occurred();
}
static int __Pyx_init_co_variables(void) {
    PyObject *inspect;
    int result;
    inspect = PyImport_ImportModule("inspect");
    result =
#if !defined(CO_OPTIMIZED)
        __Pyx_init_co_variable(inspect, "CO_OPTIMIZED", &CO_OPTIMIZED) &&
#endif
#if !defined(CO_NEWLOCALS)
        __Pyx_init_co_variable(inspect, "CO_NEWLOCALS", &CO_NEWLOCALS) &&
#endif
#if !defined(CO_VARARGS)
        __Pyx_init_co_variable(inspect, "CO_VARARGS", &CO_VARARGS) &&
#endif
#if !defined(CO_VARKEYWORDS)
        __Pyx_init_co_variable(inspect, "CO_VARKEYWORDS", &CO_VARKEYWORDS) &&
#endif
#if !defined(CO_ASYNC_GENERATOR)
        __Pyx_init_co_variable(inspect, "CO_ASYNC_GENERATOR", &CO_ASYNC_GENERATOR) &&
#endif
#if !defined(CO_GENERATOR)
        __Pyx_init_co_variable(inspect, "CO_GENERATOR", &CO_GENERATOR) &&
#endif
#if !defined(CO_COROUTINE)
        __Pyx_init_co_variable(inspect, "CO_COROUTINE", &CO_COROUTINE) &&
#endif
        1;
    Py_DECREF(inspect);
    return result ? 0 : -1;
}
#else
static int __Pyx_init_co_variables(void) {
    return 0;  // It's a limited API-only feature
}
#endif

/* MathInitCode */
#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
  #ifndef _USE_MATH_DEFINES
    #define _USE_MATH_DEFINES
  #endif
#endif
#include <math.h>
#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
#define __Pyx_truncl trunc
#else
#define __Pyx_truncl truncl
#endif

#ifndef CYTHON_CLINE_IN_TRACEBACK_RUNTIME
#define CYTHON_CLINE_IN_TRACEBACK_RUNTIME 0
#endif
#ifndef CYTHON_CLINE_IN_TRACEBACK
#define CYTHON_CLINE_IN_TRACEBACK CYTHON_CLINE_IN_TRACEBACK_RUNTIME
#endif
#if CYTHON_CLINE_IN_TRACEBACK
#define __PYX_MARK_ERR_POS(f_index, lineno)  { __pyx_filename = __pyx_f[f_index]; (void) __pyx_filename; __pyx_lineno = lineno; (void) __pyx_lineno; __pyx_clineno = __LINE__; (void) __pyx_clineno; }
#else
#define __PYX_MARK_ERR_POS(f_index, lineno)  { __pyx_filename = __pyx_f[f_index]; (void) __pyx_filename; __pyx_lineno = lineno; (void) __pyx_lineno; (void) __pyx_clineno; }
#endif
#define __PYX_ERR(f_index, lineno, Ln_error) \
    { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }

#ifdef CYTHON_EXTERN_C
    #undef __PYX_EXTERN_C
    #define __PYX_EXTERN_C CYTHON_EXTERN_C
#elif defined(__PYX_EXTERN_C)
    #ifdef _MSC_VER
    #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.")
    #else
    #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.
    #endif
#else
  #ifdef __cplusplus
    #define __PYX_EXTERN_C extern "C"
  #else
    #define __PYX_EXTERN_C extern
  #endif
#endif

#define __PYX_HAVE__pyscipopt__scip
#define __PYX_HAVE_API__pyscipopt__scip
/* Early includes */
#include "scip/type_retcode.h"
#include "scip/type_var.h"
#include "scip/type_prob.h"
#include "lpi/type_lpi.h"
#include "scip/type_lp.h"
#include "scip/type_result.h"
#include "scip/type_stat.h"
#include "scip/type_set.h"
#include "scip/type_tree.h"
#include "scip/type_paramset.h"
#include "scip/type_timing.h"
#include "scip/type_expr.h"
#include "scip/type_event.h"
#include "scip/type_benders.h"
#include "scip/type_history.h"
#include "scip/type_sol.h"
#include "scip/scip.h"
#include "scip/tree.h"
#include "scip/scipdefplugins.h"
#include "scip/bendersdefcuts.h"
#include "scip/cons_linear.h"
#include "scip/cons_knapsack.h"
#include "scip/cons_nonlinear.h"
#include "scip/cons_sos1.h"
#include "scip/cons_sos2.h"
#include "scip/cons_disjunction.h"
#include "scip/cons_and.h"
#include "scip/cons_or.h"
#include "scip/cons_xor.h"
#include "scip/scip_cons.h"
#include "blockmemshell/memory.h"
#include "scip/scip_expr.h"
#include "scip/pub_expr.h"
#include "scip/expr_var.h"
#include "scip/expr_varidx.h"
#include "scip/expr_value.h"
#include "scip/expr_sum.h"
#include "scip/expr_abs.h"
#include "scip/expr_exp.h"
#include "scip/expr_log.h"
#include "scip/expr_trig.h"
#include "scip/expr_product.h"
#include "scip/expr_pow.h"
#include "scip/pub_nlp.h"
#include "scip/scip_nlp.h"
#include "scip/cons_cardinality.h"
#include "scip/cons_indicator.h"
#include "scip/misc.h"
#include "scip/scip_copy.h"
#include "scip/heuristics.h"
#include "scip/cons_countsols.h"
#include "scip/paramset.h"
#include "scip/pub_lp.h"
#include "scip/scip_tree.h"
#include "scip/scip_var.h"
#include "tpi/tpi.h"
#include <string.h>
#include <stdio.h>

    #if __PYX_LIMITED_VERSION_HEX < 0x030d0000
    static CYTHON_INLINE PyObject *
    __Pyx_CAPI_PyList_GetItemRef(PyObject *list, Py_ssize_t index)
    {
        PyObject *item = PyList_GetItem(list, index);
        Py_XINCREF(item);
        return item;
    }
    #else
    #define __Pyx_CAPI_PyList_GetItemRef PyList_GetItemRef
    #endif

    #if CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX < 0x030d0000
    static CYTHON_INLINE int
    __Pyx_CAPI_PyList_Extend(PyObject *list, PyObject *iterable)
    {
        return PyList_SetSlice(list, PY_SSIZE_T_MAX, PY_SSIZE_T_MAX, iterable);
    }

    static CYTHON_INLINE int
    __Pyx_CAPI_PyList_Clear(PyObject *list)
    {
        return PyList_SetSlice(list, 0, PY_SSIZE_T_MAX, NULL);
    }
    #else
    #define __Pyx_CAPI_PyList_Extend PyList_Extend
    #define __Pyx_CAPI_PyList_Clear PyList_Clear
    #endif
    

    #if PY_MAJOR_VERSION >= 3
      #define __Pyx_PyFloat_FromString(obj)  PyFloat_FromString(obj)
    #else
      #define __Pyx_PyFloat_FromString(obj)  PyFloat_FromString(obj, NULL)
    #endif
    
#include <stddef.h>

    #if PY_MAJOR_VERSION <= 2
    #define PyDict_GetItemWithError _PyDict_GetItemWithError
    #endif

    #if __PYX_LIMITED_VERSION_HEX < 0x030d0000
    static CYTHON_INLINE int
    __Pyx_CAPI_PyDict_GetItemStringRef(PyObject *mp, const char *key, PyObject **result)
    {
        int res;
        PyObject *key_obj = PyUnicode_FromString(key);
        if (key_obj == NULL) {
            *result = NULL;
            return -1;
        }
        res = __Pyx_PyDict_GetItemRef(mp, key_obj, result);
        Py_DECREF(key_obj);
        return res;
    }
    #else
    #define __Pyx_CAPI_PyDict_GetItemStringRef PyDict_GetItemStringRef
    #endif
    #if PY_VERSION_HEX < 0x030d0000 || (CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030F0000)
    static CYTHON_INLINE int
    __Pyx_CAPI_PyDict_SetDefaultRef(PyObject *d, PyObject *key, PyObject *default_value,
                        PyObject **result)
    {
        PyObject *value;
        if (__Pyx_PyDict_GetItemRef(d, key, &value) < 0) {
            // get error
            if (result) {
                *result = NULL;
            }
            return -1;
        }
        if (value != NULL) {
            // present
            if (result) {
                *result = value;
            }
            else {
                Py_DECREF(value);
            }
            return 1;
        }

        // missing: set the item
        if (PyDict_SetItem(d, key, default_value) < 0) {
            // set error
            if (result) {
                *result = NULL;
            }
            return -1;
        }
        if (result) {
            Py_INCREF(default_value);
            *result = default_value;
        }
        return 0;
    }
    #else
    #define __Pyx_CAPI_PyDict_SetDefaultRef PyDict_SetDefaultRef
    #endif
    

    #if PY_VERSION_HEX < 0x030d0000
    static CYTHON_INLINE int __Pyx_PyWeakref_GetRef(PyObject *ref, PyObject **pobj)
    {
        PyObject *obj = PyWeakref_GetObject(ref);
        if (obj == NULL) {
            // SystemError if ref is NULL
            *pobj = NULL;
            return -1;
        }
        if (obj == Py_None) {
            *pobj = NULL;
            return 0;
        }
        Py_INCREF(obj);
        *pobj = obj;
        return 1;
    }
    #else
    #define __Pyx_PyWeakref_GetRef PyWeakref_GetRef
    #endif
    
#include "pythread.h"

    #if (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030600) && !defined(PyContextVar_Get)
    #define PyContextVar_Get(var, d, v)         ((d) ?             ((void)(var), Py_INCREF(d), (v)[0] = (d), 0) :             ((v)[0] = NULL, 0)         )
    #endif
    
#include <stdlib.h>
#include <sys/types.h>

    /* Using NumPy API declarations from "numpy/__init__.cython-30.pxd" */
    
#include "numpy/arrayobject.h"
#include "numpy/ndarrayobject.h"
#include "numpy/ndarraytypes.h"
#include "numpy/arrayscalars.h"
#include "numpy/ufuncobject.h"
#include "scip/config.h"

    #ifdef WITH_DEBUG_SOLUTION
    #define PYSCIPOPT_WITH_DEBUG_SOLUTION 1
    #else
    #define PYSCIPOPT_WITH_DEBUG_SOLUTION 0
    #endif
    
#ifdef _OPENMP
#include <omp.h>
#endif /* _OPENMP */

#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
#define CYTHON_WITHOUT_ASSERTIONS
#endif

#ifdef CYTHON_FREETHREADING_COMPATIBLE
#if CYTHON_FREETHREADING_COMPATIBLE
#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_NOT_USED
#else
#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_USED
#endif
#else
#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_USED
#endif
#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
#define __PYX_DEFAULT_STRING_ENCODING ""
#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#define __Pyx_uchar_cast(c) ((unsigned char)c)
#define __Pyx_long_cast(x) ((long)x)
#define __Pyx_fits_Py_ssize_t(v, type, is_signed)  (\
    (sizeof(type) < sizeof(Py_ssize_t))  ||\
    (sizeof(type) > sizeof(Py_ssize_t) &&\
          likely(v < (type)PY_SSIZE_T_MAX ||\
                 v == (type)PY_SSIZE_T_MAX)  &&\
          (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
                                v == (type)PY_SSIZE_T_MIN)))  ||\
    (sizeof(type) == sizeof(Py_ssize_t) &&\
          (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
                               v == (type)PY_SSIZE_T_MAX)))  )
static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
    return (size_t) i < (size_t) limit;
}
#if defined (__cplusplus) && __cplusplus >= 201103L
    #include <cstdlib>
    #define __Pyx_sst_abs(value) std::abs(value)
#elif SIZEOF_INT >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) abs(value)
#elif SIZEOF_LONG >= SIZEOF_SIZE_T
    #define __Pyx_sst_abs(value) labs(value)
#elif defined (_MSC_VER)
    #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define __Pyx_sst_abs(value) llabs(value)
#elif defined (__GNUC__)
    #define __Pyx_sst_abs(value) __builtin_llabs(value)
#else
    #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString        PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
#if CYTHON_ASSUME_SAFE_MACROS
    #define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AS_STRING(s))
    #define __Pyx_PyByteArray_AsString(s) PyByteArray_AS_STRING(s)
#else
    #define __Pyx_PyBytes_AsWritableString(s)     ((char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsWritableSString(s)    ((signed char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsWritableUString(s)    ((unsigned char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsString(s)     ((const char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsSString(s)    ((const signed char*) PyBytes_AsString(s))
    #define __Pyx_PyBytes_AsUString(s)    ((const unsigned char*) PyBytes_AsString(s))
    #define __Pyx_PyByteArray_AsString(s) PyByteArray_AsString(s)
#endif
#define __Pyx_PyObject_AsWritableString(s)    ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableSString(s)    ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableUString(s)    ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsSString(s)    ((const signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsUString(s)    ((const unsigned char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_FromCString(s)  __Pyx_PyObject_FromString((const char*)s)
#define __Pyx_PyBytes_FromCString(s)   __Pyx_PyBytes_FromString((const char*)s)
#define __Pyx_PyByteArray_FromCString(s)   __Pyx_PyByteArray_FromString((const char*)s)
#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
#define __Pyx_PyUnicode_FromOrdinal(o)       PyUnicode_FromOrdinal((int)o)
#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
static CYTHON_INLINE PyObject *__Pyx_NewRef(PyObject *obj) {
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030a0000 || defined(Py_NewRef)
    return Py_NewRef(obj);
#else
    Py_INCREF(obj);
    return obj;
#endif
}
static CYTHON_INLINE PyObject *__Pyx_XNewRef(PyObject *obj) {
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030a0000 || defined(Py_XNewRef)
    return Py_XNewRef(obj);
#else
    Py_XINCREF(obj);
    return obj;
#endif
}
static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b);
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
static CYTHON_INLINE PyObject* __Pyx_PyNumber_Long(PyObject* x);
#define __Pyx_PySequence_Tuple(obj)\
    (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
static CYTHON_INLINE PyObject * __Pyx_PyLong_FromSize_t(size_t);
static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
#if CYTHON_ASSUME_SAFE_MACROS
#define __Pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
#define __Pyx_PyFloat_AS_DOUBLE(x) PyFloat_AS_DOUBLE(x)
#else
#define __Pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
#define __Pyx_PyFloat_AS_DOUBLE(x) PyFloat_AsDouble(x)
#endif
#define __Pyx_PyFloat_AsFloat(x) ((float) __Pyx_PyFloat_AsDouble(x))
#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
#if CYTHON_USE_PYLONG_INTERNALS
  #if PY_VERSION_HEX >= 0x030C00A7
  #ifndef _PyLong_SIGN_MASK
    #define _PyLong_SIGN_MASK 3
  #endif
  #ifndef _PyLong_NON_SIZE_BITS
    #define _PyLong_NON_SIZE_BITS 3
  #endif
  #define __Pyx_PyLong_Sign(x)  (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK)
  #define __Pyx_PyLong_IsNeg(x)  ((__Pyx_PyLong_Sign(x) & 2) != 0)
  #define __Pyx_PyLong_IsNonNeg(x)  (!__Pyx_PyLong_IsNeg(x))
  #define __Pyx_PyLong_IsZero(x)  (__Pyx_PyLong_Sign(x) & 1)
  #define __Pyx_PyLong_IsPos(x)  (__Pyx_PyLong_Sign(x) == 0)
  #define __Pyx_PyLong_CompactValueUnsigned(x)  (__Pyx_PyLong_Digits(x)[0])
  #define __Pyx_PyLong_DigitCount(x)  ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS))
  #define __Pyx_PyLong_SignedDigitCount(x)\
        ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x))
  #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue)
    #define __Pyx_PyLong_IsCompact(x)     PyUnstable_Long_IsCompact((PyLongObject*) x)
    #define __Pyx_PyLong_CompactValue(x)  PyUnstable_Long_CompactValue((PyLongObject*) x)
  #else
    #define __Pyx_PyLong_IsCompact(x)     (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS))
    #define __Pyx_PyLong_CompactValue(x)  ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0])
  #endif
  typedef Py_ssize_t  __Pyx_compact_pylong;
  typedef size_t  __Pyx_compact_upylong;
  #else
  #define __Pyx_PyLong_IsNeg(x)  (Py_SIZE(x) < 0)
  #define __Pyx_PyLong_IsNonNeg(x)  (Py_SIZE(x) >= 0)
  #define __Pyx_PyLong_IsZero(x)  (Py_SIZE(x) == 0)
  #define __Pyx_PyLong_IsPos(x)  (Py_SIZE(x) > 0)
  #define __Pyx_PyLong_CompactValueUnsigned(x)  ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0])
  #define __Pyx_PyLong_DigitCount(x)  __Pyx_sst_abs(Py_SIZE(x))
  #define __Pyx_PyLong_SignedDigitCount(x)  Py_SIZE(x)
  #define __Pyx_PyLong_IsCompact(x)  (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1)
  #define __Pyx_PyLong_CompactValue(x)\
        ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0]))
  typedef sdigit  __Pyx_compact_pylong;
  typedef digit  __Pyx_compact_upylong;
  #endif
  #if PY_VERSION_HEX >= 0x030C00A5
  #define __Pyx_PyLong_Digits(x)  (((PyLongObject*)x)->long_value.ob_digit)
  #else
  #define __Pyx_PyLong_Digits(x)  (((PyLongObject*)x)->ob_digit)
  #endif
#endif
#if __PYX_DEFAULT_STRING_ENCODING_IS_UTF8
  #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
#elif __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
  #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeASCII(c_str, size, NULL)
#else
  #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#endif


/* Test for GCC > 2.95 */
#if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
  #define likely(x)   __builtin_expect(!!(x), 1)
  #define unlikely(x) __builtin_expect(!!(x), 0)
#else /* !__GNUC__ or GCC < 2.95 */
  #define likely(x)   (x)
  #define unlikely(x) (x)
#endif /* __GNUC__ */
/* PretendToInitialize */
#ifdef __cplusplus
#if __cplusplus > 201103L
#include <type_traits>
#endif
template <typename T>
static void __Pyx_pretend_to_initialize(T* ptr) {
#if __cplusplus > 201103L
    if ((std::is_trivially_default_constructible<T>::value))
#endif
        *ptr = T();
    (void)ptr;
}
#else
static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
#endif


#if !CYTHON_USE_MODULE_STATE
static PyObject *__pyx_m = NULL;
#endif
static int __pyx_lineno;
static int __pyx_clineno = 0;
static const char * const __pyx_cfilenm = __FILE__;
static const char *__pyx_filename;

/* Header.proto */
#if !defined(CYTHON_CCOMPLEX)
  #if defined(__cplusplus)
    #define CYTHON_CCOMPLEX 1
  #elif (defined(_Complex_I) && !defined(_MSC_VER)) || ((defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) && !defined(__STDC_NO_COMPLEX__) && !defined(_MSC_VER))
    #define CYTHON_CCOMPLEX 1
  #else
    #define CYTHON_CCOMPLEX 0
  #endif
#endif
#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    #include <complex>
  #else
    #include <complex.h>
  #endif
#endif
#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__)
  #undef _Complex_I
  #define _Complex_I 1.0fj
#endif

/* #### Code section: filename_table ### */

static const char* const __pyx_f[] = {
  "src/pyscipopt/scip.pyx",
  "src/pyscipopt/matrix.pxi",
  "src/pyscipopt/scip.pxi",
  "src/pyscipopt/expr.pxi",
  "src/pyscipopt/lp.pxi",
  "View.MemoryView",
  "cpython/contextvars.pxd",
  "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd",
  "src/pyscipopt/benders.pxi",
  "src/pyscipopt/benderscut.pxi",
  "src/pyscipopt/branchrule.pxi",
  "src/pyscipopt/conshdlr.pxi",
  "src/pyscipopt/cutsel.pxi",
  "src/pyscipopt/event.pxi",
  "src/pyscipopt/heuristic.pxi",
  "src/pyscipopt/iisfinder.pxi",
  "src/pyscipopt/presol.pxi",
  "src/pyscipopt/pricer.pxi",
  "src/pyscipopt/propagator.pxi",
  "src/pyscipopt/sepa.pxi",
  "src/pyscipopt/reader.pxi",
  "src/pyscipopt/relax.pxi",
  "src/pyscipopt/nodesel.pxi",
  "cpython/type.pxd",
  "cpython/bool.pxd",
  "cpython/complex.pxd",
};
/* #### Code section: utility_code_proto_before_types ### */
/* Atomics.proto (used by UnpackUnboundCMethod) */
#include <pythread.h>
#ifndef CYTHON_ATOMICS
    #define CYTHON_ATOMICS 1
#endif
#define __PYX_CYTHON_ATOMICS_ENABLED() CYTHON_ATOMICS
#define __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING() CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#define __pyx_atomic_int_type int
#define __pyx_nonatomic_int_type int
#if CYTHON_ATOMICS && (defined(__STDC_VERSION__) &&\
                        (__STDC_VERSION__ >= 201112L) &&\
                        !defined(__STDC_NO_ATOMICS__))
    #include <stdatomic.h>
#elif CYTHON_ATOMICS && (defined(__cplusplus) && (\
                    (__cplusplus >= 201103L) ||\
                    (defined(_MSC_VER) && _MSC_VER >= 1700)))
    #include <atomic>
#endif
#if CYTHON_ATOMICS && (defined(__STDC_VERSION__) &&\
                        (__STDC_VERSION__ >= 201112L) &&\
                        !defined(__STDC_NO_ATOMICS__) &&\
                       ATOMIC_INT_LOCK_FREE == 2)
    #undef __pyx_atomic_int_type
    #define __pyx_atomic_int_type atomic_int
    #define __pyx_atomic_ptr_type atomic_uintptr_t
    #define __pyx_nonatomic_ptr_type uintptr_t
    #define __pyx_atomic_incr_relaxed(value) atomic_fetch_add_explicit(value, 1, memory_order_relaxed)
    #define __pyx_atomic_incr_acq_rel(value) atomic_fetch_add_explicit(value, 1, memory_order_acq_rel)
    #define __pyx_atomic_decr_acq_rel(value) atomic_fetch_sub_explicit(value, 1, memory_order_acq_rel)
    #define __pyx_atomic_sub(value, arg) atomic_fetch_sub(value, arg)
    #define __pyx_atomic_int_cmp_exchange(value, expected, desired) atomic_compare_exchange_strong(value, expected, desired)
    #define __pyx_atomic_load(value) atomic_load(value)
    #define __pyx_atomic_store(value, new_value) atomic_store(value, new_value)
    #define __pyx_atomic_pointer_load_relaxed(value) atomic_load_explicit(value, memory_order_relaxed)
    #define __pyx_atomic_pointer_load_acquire(value) atomic_load_explicit(value, memory_order_acquire)
    #define __pyx_atomic_pointer_exchange(value, new_value) atomic_exchange(value, (__pyx_nonatomic_ptr_type)new_value)
    #define __pyx_atomic_pointer_cmp_exchange(value, expected, desired) atomic_compare_exchange_strong(value, expected, desired)
    #if defined(__PYX_DEBUG_ATOMICS) && defined(_MSC_VER)
        #pragma message ("Using standard C atomics")
    #elif defined(__PYX_DEBUG_ATOMICS)
        #warning "Using standard C atomics"
    #endif
#elif CYTHON_ATOMICS && (defined(__cplusplus) && (\
                    (__cplusplus >= 201103L) ||\
\
                    (defined(_MSC_VER) && _MSC_VER >= 1700)) &&\
                    ATOMIC_INT_LOCK_FREE == 2)
    #undef __pyx_atomic_int_type
    #define __pyx_atomic_int_type std::atomic_int
    #define __pyx_atomic_ptr_type std::atomic_uintptr_t
    #define __pyx_nonatomic_ptr_type uintptr_t
    #define __pyx_atomic_incr_relaxed(value) std::atomic_fetch_add_explicit(value, 1, std::memory_order_relaxed)
    #define __pyx_atomic_incr_acq_rel(value) std::atomic_fetch_add_explicit(value, 1, std::memory_order_acq_rel)
    #define __pyx_atomic_decr_acq_rel(value) std::atomic_fetch_sub_explicit(value, 1, std::memory_order_acq_rel)
    #define __pyx_atomic_sub(value, arg) std::atomic_fetch_sub(value, arg)
    #define __pyx_atomic_int_cmp_exchange(value, expected, desired) std::atomic_compare_exchange_strong(value, expected, desired)
    #define __pyx_atomic_load(value) std::atomic_load(value)
    #define __pyx_atomic_store(value, new_value) std::atomic_store(value, new_value)
    #define __pyx_atomic_pointer_load_relaxed(value) std::atomic_load_explicit(value, std::memory_order_relaxed)
    #define __pyx_atomic_pointer_load_acquire(value) std::atomic_load_explicit(value, std::memory_order_acquire)
    #define __pyx_atomic_pointer_exchange(value, new_value) std::atomic_exchange(value, (__pyx_nonatomic_ptr_type)new_value)
    #define __pyx_atomic_pointer_cmp_exchange(value, expected, desired) std::atomic_compare_exchange_strong(value, expected, desired)
    #if defined(__PYX_DEBUG_ATOMICS) && defined(_MSC_VER)
        #pragma message ("Using standard C++ atomics")
    #elif defined(__PYX_DEBUG_ATOMICS)
        #warning "Using standard C++ atomics"
    #endif
#elif CYTHON_ATOMICS && (__GNUC__ >= 5 || (__GNUC__ == 4 &&\
                    (__GNUC_MINOR__ > 1 ||\
                    (__GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ >= 2))))
    #define __pyx_atomic_ptr_type void*
    #define __pyx_nonatomic_ptr_type void*
    #define __pyx_atomic_incr_relaxed(value) __sync_fetch_and_add(value, 1)
    #define __pyx_atomic_incr_acq_rel(value) __sync_fetch_and_add(value, 1)
    #define __pyx_atomic_decr_acq_rel(value) __sync_fetch_and_sub(value, 1)
    #define __pyx_atomic_sub(value, arg) __sync_fetch_and_sub(value, arg)
    static CYTHON_INLINE int __pyx_atomic_int_cmp_exchange(__pyx_atomic_int_type* value, __pyx_nonatomic_int_type* expected, __pyx_nonatomic_int_type desired) {
        __pyx_nonatomic_int_type old = __sync_val_compare_and_swap(value, *expected, desired);
        int result = old == *expected;
        *expected = old;
        return result;
    }
    #define __pyx_atomic_load(value) __sync_fetch_and_add(value, 0)
    #define __pyx_atomic_store(value, new_value) __sync_lock_test_and_set(value, new_value)
    #define __pyx_atomic_pointer_load_relaxed(value) __sync_fetch_and_add(value, 0)
    #define __pyx_atomic_pointer_load_acquire(value) __sync_fetch_and_add(value, 0)
    #define __pyx_atomic_pointer_exchange(value, new_value) __sync_lock_test_and_set(value, (__pyx_atomic_ptr_type)new_value)
    static CYTHON_INLINE int __pyx_atomic_pointer_cmp_exchange(__pyx_atomic_ptr_type* value, __pyx_nonatomic_ptr_type* expected, __pyx_nonatomic_ptr_type desired) {
        __pyx_nonatomic_ptr_type old = __sync_val_compare_and_swap(value, *expected, desired);
        int result = old == *expected;
        *expected = old;
        return result;
    }
    #ifdef __PYX_DEBUG_ATOMICS
        #warning "Using GNU atomics"
    #endif
#elif CYTHON_ATOMICS && defined(_MSC_VER)
    #include <intrin.h>
    #undef __pyx_atomic_int_type
    #define __pyx_atomic_int_type long
    #define __pyx_atomic_ptr_type void*
    #undef __pyx_nonatomic_int_type
    #define __pyx_nonatomic_int_type long
    #define __pyx_nonatomic_ptr_type void*
    #pragma intrinsic (_InterlockedExchangeAdd, _InterlockedExchange, _InterlockedCompareExchange, _InterlockedCompareExchangePointer, _InterlockedExchangePointer)
    #define __pyx_atomic_incr_relaxed(value) _InterlockedExchangeAdd(value, 1)
    #define __pyx_atomic_incr_acq_rel(value) _InterlockedExchangeAdd(value, 1)
    #define __pyx_atomic_decr_acq_rel(value) _InterlockedExchangeAdd(value, -1)
    #define __pyx_atomic_sub(value, arg) _InterlockedExchangeAdd(value, -arg)
    static CYTHON_INLINE int __pyx_atomic_int_cmp_exchange(__pyx_atomic_int_type* value, __pyx_nonatomic_int_type* expected, __pyx_nonatomic_int_type desired) {
        __pyx_nonatomic_int_type old = _InterlockedCompareExchange(value, desired, *expected);
        int result = old == *expected;
        *expected = old;
        return result;
    }
    #define __pyx_atomic_load(value) _InterlockedExchangeAdd(value, 0)
    #define __pyx_atomic_store(value, new_value) _InterlockedExchange(value, new_value)
    #define __pyx_atomic_pointer_load_relaxed(value) *(void * volatile *)value
    #define __pyx_atomic_pointer_load_acquire(value) _InterlockedCompareExchangePointer(value, 0, 0)
    #define __pyx_atomic_pointer_exchange(value, new_value) _InterlockedExchangePointer(value, (__pyx_atomic_ptr_type)new_value)
    static CYTHON_INLINE int __pyx_atomic_pointer_cmp_exchange(__pyx_atomic_ptr_type* value, __pyx_nonatomic_ptr_type* expected, __pyx_nonatomic_ptr_type desired) {
        __pyx_atomic_ptr_type old = _InterlockedCompareExchangePointer(value, desired, *expected);
        int result = old == *expected;
        *expected = old;
        return result;
    }
    #ifdef __PYX_DEBUG_ATOMICS
        #pragma message ("Using MSVC atomics")
    #endif
#else
    #undef CYTHON_ATOMICS
    #define CYTHON_ATOMICS 0
    #ifdef __PYX_DEBUG_ATOMICS
        #warning "Not using atomics"
    #endif
#endif

/* CriticalSectionsDefinition.proto (used by CriticalSections) */
#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#define __Pyx_PyCriticalSection void*
#define __Pyx_PyCriticalSection2 void*
#define __Pyx_PyCriticalSection_End(cs)
#define __Pyx_PyCriticalSection2_End(cs)
#else
#define __Pyx_PyCriticalSection PyCriticalSection
#define __Pyx_PyCriticalSection2 PyCriticalSection2
#define __Pyx_PyCriticalSection_End PyCriticalSection_End
#define __Pyx_PyCriticalSection2_End PyCriticalSection2_End
#endif

/* CriticalSections.proto (used by ParseKeywordsImpl) */
#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
#define __Pyx_PyCriticalSection_Begin(cs, arg) (void)(cs)
#define __Pyx_PyCriticalSection2_Begin(cs, arg1, arg2) (void)(cs)
#else
#define __Pyx_PyCriticalSection_Begin PyCriticalSection_Begin
#define __Pyx_PyCriticalSection2_Begin PyCriticalSection2_Begin
#endif
#if PY_VERSION_HEX < 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_BEGIN_CRITICAL_SECTION(o) {
#define __Pyx_END_CRITICAL_SECTION() }
#else
#define __Pyx_BEGIN_CRITICAL_SECTION Py_BEGIN_CRITICAL_SECTION
#define __Pyx_END_CRITICAL_SECTION Py_END_CRITICAL_SECTION
#endif

/* ForceInitThreads.proto */
#ifndef __PYX_FORCE_INIT_THREADS
  #define __PYX_FORCE_INIT_THREADS 0
#endif

/* NoFastGil.proto */
#define __Pyx_PyGILState_Ensure PyGILState_Ensure
#define __Pyx_PyGILState_Release PyGILState_Release
#define __Pyx_FastGIL_Remember()
#define __Pyx_FastGIL_Forget()
#define __Pyx_FastGilFuncInit()

/* IncludeStructmemberH.proto (used by FixUpExtensionType) */
#include <structmember.h>

/* BufferFormatStructs.proto (used by BufferFormatCheck) */
struct __Pyx_StructField_;
#define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0)
typedef struct {
  const char* name;
  const struct __Pyx_StructField_* fields;
  size_t size;
  size_t arraysize[8];
  int ndim;
  char typegroup;
  char is_unsigned;
  int flags;
} __Pyx_TypeInfo;
typedef struct __Pyx_StructField_ {
  const __Pyx_TypeInfo* type;
  const char* name;
  size_t offset;
} __Pyx_StructField;
typedef struct {
  const __Pyx_StructField* field;
  size_t parent_offset;
} __Pyx_BufFmt_StackElem;
typedef struct {
  __Pyx_StructField root;
  __Pyx_BufFmt_StackElem* head;
  size_t fmt_offset;
  size_t new_count, enc_count;
  size_t struct_alignment;
  int is_complex;
  char enc_type;
  char new_packmode;
  char enc_packmode;
  char is_valid_array;
} __Pyx_BufFmt_Context;

/* MemviewSliceStruct.proto */
struct __pyx_memoryview_obj;
typedef struct {
  struct __pyx_memoryview_obj *memview;
  char *data;
  Py_ssize_t shape[8];
  Py_ssize_t strides[8];
  Py_ssize_t suboffsets[8];
} __Pyx_memviewslice;
#define __Pyx_MemoryView_Len(m)  (m.shape[0])
#define __Pyx_MEMVIEW_DIRECT   1
#define __Pyx_MEMVIEW_PTR      2
#define __Pyx_MEMVIEW_FULL     4
#define __Pyx_MEMVIEW_CONTIG   8
#define __Pyx_MEMVIEW_STRIDED  16
#define __Pyx_MEMVIEW_FOLLOW   32
#define __Pyx_IS_C_CONTIG 1
#define __Pyx_IS_F_CONTIG 2
#define __Pyx_MEMSLICE_INIT  { 0, 0, { 0 }, { 0 }, { 0 } }
#if CYTHON_ATOMICS
    #define __pyx_add_acquisition_count(memview)\
             __pyx_atomic_incr_relaxed(__pyx_get_slice_count_pointer(memview))
    #define __pyx_sub_acquisition_count(memview)\
            __pyx_atomic_decr_acq_rel(__pyx_get_slice_count_pointer(memview))
#else
    #define __pyx_add_acquisition_count(memview)\
            __pyx_add_acquisition_count_locked(__pyx_get_slice_count_pointer(memview), memview->lock)
    #define __pyx_sub_acquisition_count(memview)\
            __pyx_sub_acquisition_count_locked(__pyx_get_slice_count_pointer(memview), memview->lock)
#endif

/* #### Code section: numeric_typedefs ### */

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":744
 * # in Cython to enable them only on the right systems.
 * 
 * ctypedef npy_int8       int8_t             # <<<<<<<<<<<<<<
 * ctypedef npy_int16      int16_t
 * ctypedef npy_int32      int32_t
*/
typedef npy_int8 __pyx_t_5numpy_int8_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":745
 * 
 * ctypedef npy_int8       int8_t
 * ctypedef npy_int16      int16_t             # <<<<<<<<<<<<<<
 * ctypedef npy_int32      int32_t
 * ctypedef npy_int64      int64_t
*/
typedef npy_int16 __pyx_t_5numpy_int16_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":746
 * ctypedef npy_int8       int8_t
 * ctypedef npy_int16      int16_t
 * ctypedef npy_int32      int32_t             # <<<<<<<<<<<<<<
 * ctypedef npy_int64      int64_t
 * 
*/
typedef npy_int32 __pyx_t_5numpy_int32_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":747
 * ctypedef npy_int16      int16_t
 * ctypedef npy_int32      int32_t
 * ctypedef npy_int64      int64_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef npy_uint8      uint8_t
*/
typedef npy_int64 __pyx_t_5numpy_int64_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":749
 * ctypedef npy_int64      int64_t
 * 
 * ctypedef npy_uint8      uint8_t             # <<<<<<<<<<<<<<
 * ctypedef npy_uint16     uint16_t
 * ctypedef npy_uint32     uint32_t
*/
typedef npy_uint8 __pyx_t_5numpy_uint8_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":750
 * 
 * ctypedef npy_uint8      uint8_t
 * ctypedef npy_uint16     uint16_t             # <<<<<<<<<<<<<<
 * ctypedef npy_uint32     uint32_t
 * ctypedef npy_uint64     uint64_t
*/
typedef npy_uint16 __pyx_t_5numpy_uint16_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":751
 * ctypedef npy_uint8      uint8_t
 * ctypedef npy_uint16     uint16_t
 * ctypedef npy_uint32     uint32_t             # <<<<<<<<<<<<<<
 * ctypedef npy_uint64     uint64_t
 * 
*/
typedef npy_uint32 __pyx_t_5numpy_uint32_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":752
 * ctypedef npy_uint16     uint16_t
 * ctypedef npy_uint32     uint32_t
 * ctypedef npy_uint64     uint64_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef npy_float32    float32_t
*/
typedef npy_uint64 __pyx_t_5numpy_uint64_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":754
 * ctypedef npy_uint64     uint64_t
 * 
 * ctypedef npy_float32    float32_t             # <<<<<<<<<<<<<<
 * ctypedef npy_float64    float64_t
 * #ctypedef npy_float80    float80_t
*/
typedef npy_float32 __pyx_t_5numpy_float32_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":755
 * 
 * ctypedef npy_float32    float32_t
 * ctypedef npy_float64    float64_t             # <<<<<<<<<<<<<<
 * #ctypedef npy_float80    float80_t
 * #ctypedef npy_float128   float128_t
*/
typedef npy_float64 __pyx_t_5numpy_float64_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":762
 * ctypedef double complex complex128_t
 * 
 * ctypedef npy_longlong   longlong_t             # <<<<<<<<<<<<<<
 * ctypedef npy_ulonglong  ulonglong_t
 * 
*/
typedef npy_longlong __pyx_t_5numpy_longlong_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":763
 * 
 * ctypedef npy_longlong   longlong_t
 * ctypedef npy_ulonglong  ulonglong_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef npy_intp       intp_t
*/
typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":765
 * ctypedef npy_ulonglong  ulonglong_t
 * 
 * ctypedef npy_intp       intp_t             # <<<<<<<<<<<<<<
 * ctypedef npy_uintp      uintp_t
 * 
*/
typedef npy_intp __pyx_t_5numpy_intp_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":766
 * 
 * ctypedef npy_intp       intp_t
 * ctypedef npy_uintp      uintp_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef npy_double     float_t
*/
typedef npy_uintp __pyx_t_5numpy_uintp_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":768
 * ctypedef npy_uintp      uintp_t
 * 
 * ctypedef npy_double     float_t             # <<<<<<<<<<<<<<
 * ctypedef npy_double     double_t
 * ctypedef npy_longdouble longdouble_t
*/
typedef npy_double __pyx_t_5numpy_float_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":769
 * 
 * ctypedef npy_double     float_t
 * ctypedef npy_double     double_t             # <<<<<<<<<<<<<<
 * ctypedef npy_longdouble longdouble_t
 * 
*/
typedef npy_double __pyx_t_5numpy_double_t;

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":770
 * ctypedef npy_double     float_t
 * ctypedef npy_double     double_t
 * ctypedef npy_longdouble longdouble_t             # <<<<<<<<<<<<<<
 * 
 * ctypedef float complex       cfloat_t
*/
typedef npy_longdouble __pyx_t_5numpy_longdouble_t;
/* #### Code section: complex_type_declarations ### */
/* Declarations.proto */
#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
  #ifdef __cplusplus
    typedef ::std::complex< float > __pyx_t_float_complex;
  #else
    typedef float _Complex __pyx_t_float_complex;
  #endif
#else
    typedef struct { float real, imag; } __pyx_t_float_complex;
#endif
static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float);

/* Declarations.proto */
#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
  #ifdef __cplusplus
    typedef ::std::complex< double > __pyx_t_double_complex;
  #else
    typedef double _Complex __pyx_t_double_complex;
  #endif
#else
    typedef struct { double real, imag; } __pyx_t_double_complex;
#endif
static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double);

/* Declarations.proto */
#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
  #ifdef __cplusplus
    typedef ::std::complex< long double > __pyx_t_long_double_complex;
  #else
    typedef long double _Complex __pyx_t_long_double_complex;
  #endif
#else
    typedef struct { long double real, imag; } __pyx_t_long_double_complex;
#endif
static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(long double, long double);

/* #### Code section: type_declarations ### */

/*--- Type declarations ---*/
struct __pyx_obj_9pyscipopt_4scip_Expr;
struct __pyx_obj_9pyscipopt_4scip_Event;
struct __pyx_obj_9pyscipopt_4scip_Column;
struct __pyx_obj_9pyscipopt_4scip_ColumnExact;
struct __pyx_obj_9pyscipopt_4scip_Row;
struct __pyx_obj_9pyscipopt_4scip_RowExact;
struct __pyx_obj_9pyscipopt_4scip_NLRow;
struct __pyx_obj_9pyscipopt_4scip_Solution;
struct __pyx_obj_9pyscipopt_4scip_DomainChanges;
struct __pyx_obj_9pyscipopt_4scip_BoundChange;
struct __pyx_obj_9pyscipopt_4scip_Node;
struct __pyx_obj_9pyscipopt_4scip_Variable;
struct __pyx_obj_9pyscipopt_4scip_Constraint;
struct __pyx_obj_9pyscipopt_4scip_IIS;
struct __pyx_obj_9pyscipopt_4scip_Model;
struct __pyx_obj_9pyscipopt_4scip_Term;
struct __pyx_obj_9pyscipopt_4scip_ExprCons;
struct __pyx_obj_9pyscipopt_4scip_GenExpr;
struct __pyx_obj_9pyscipopt_4scip_SumExpr;
struct __pyx_obj_9pyscipopt_4scip_ProdExpr;
struct __pyx_obj_9pyscipopt_4scip_VarExpr;
struct __pyx_obj_9pyscipopt_4scip_PowExpr;
struct __pyx_obj_9pyscipopt_4scip_UnaryExpr;
struct __pyx_obj_9pyscipopt_4scip_Constant;
struct __pyx_obj_9pyscipopt_4scip_LP;
struct __pyx_obj_9pyscipopt_4scip_Benders;
struct __pyx_obj_9pyscipopt_4scip_Benderscut;
struct __pyx_obj_9pyscipopt_4scip_Branchrule;
struct __pyx_obj_9pyscipopt_4scip_Conshdlr;
struct __pyx_obj_9pyscipopt_4scip_Cutsel;
struct __pyx_obj_9pyscipopt_4scip_Eventhdlr;
struct __pyx_obj_9pyscipopt_4scip_Heur;
struct __pyx_obj_9pyscipopt_4scip_IISfinder;
struct __pyx_obj_9pyscipopt_4scip_Presol;
struct __pyx_obj_9pyscipopt_4scip_Pricer;
struct __pyx_obj_9pyscipopt_4scip_Prop;
struct __pyx_obj_9pyscipopt_4scip_Sepa;
struct __pyx_obj_9pyscipopt_4scip_Reader;
struct __pyx_obj_9pyscipopt_4scip_Relax;
struct __pyx_obj_9pyscipopt_4scip_Nodesel;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_RESULT;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMSETTING;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPPARAM;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STATUS;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STAGE;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_NODETYPE;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PROPTIMING;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_HEURTIMING;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_EVENTTYPE;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LOCKTYPE;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BRANCHDIR;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE;
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_SOLORIGIN;
struct __pyx_obj_9pyscipopt_4scip__VarArray;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics;
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr;
struct __pyx_array_obj;
struct __pyx_MemviewEnum_obj;
struct __pyx_memoryview_obj;
struct __pyx_memoryviewslice_obj;
struct __pyx_opt_args_7cpython_11contextvars_get_value;
struct __pyx_opt_args_7cpython_11contextvars_get_value_no_default;

/* "cpython/contextvars.pxd":116
 * 
 * @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")
 * cdef inline object get_value(var, default_value=None):             # <<<<<<<<<<<<<<
 *     """Return a new reference to the value of the context variable,
 *     or the default value of the context variable,
*/
struct __pyx_opt_args_7cpython_11contextvars_get_value {
  int __pyx_n;
  PyObject *default_value;
};

/* "cpython/contextvars.pxd":134
 * 
 * @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")
 * cdef inline object get_value_no_default(var, default_value=None):             # <<<<<<<<<<<<<<
 *     """Return a new reference to the value of the context variable,
 *     or the provided default value if no such value was found.
*/
struct __pyx_opt_args_7cpython_11contextvars_get_value_no_default {
  int __pyx_n;
  PyObject *default_value;
};
struct __pyx_opt_args_9pyscipopt_4scip_7GenExpr_copy;
struct __pyx_opt_args_9pyscipopt_4scip__ensure_array;

/* "src/pyscipopt/expr.pxi":689
 *         return self._op
 * 
 *     cdef GenExpr copy(self, bool copy = True):             # <<<<<<<<<<<<<<
 *         cdef object cls = <type>Py_TYPE(self)
 *         cdef GenExpr res = cls.__new__(cls)
*/
struct __pyx_opt_args_9pyscipopt_4scip_7GenExpr_copy {
  int __pyx_n;
  PyObject *copy;
};

/* "src/pyscipopt/matrix.pxi":110
 * 
 * 
 * cdef inline _ensure_array(arg, bint convert_scalar = True):             # <<<<<<<<<<<<<<
 *     if isinstance(arg, np.ndarray):
 *         return arg.view(np.ndarray)
*/
struct __pyx_opt_args_9pyscipopt_4scip__ensure_array {
  int __pyx_n;
  int convert_scalar;
};

/* "pyscipopt/scip.pxd":2124
 *     int SCIPtpiGetNumThreads()
 * 
 * cdef class Expr:             # <<<<<<<<<<<<<<
 *     cdef public terms
 * 
*/
struct __pyx_obj_9pyscipopt_4scip_Expr {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_Expr *__pyx_vtab;
  PyObject *terms;
};


/* "pyscipopt/scip.pxd":2129
 *     cpdef double _evaluate(self, Solution sol)
 * 
 * cdef class Event:             # <<<<<<<<<<<<<<
 *     cdef SCIP_EVENT* event
 *     # can be used to store problem data
*/
struct __pyx_obj_9pyscipopt_4scip_Event {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_Event *__pyx_vtab;
  SCIP_EVENT *event;
  PyObject *data;
};


/* "pyscipopt/scip.pxd":2136
 *     cdef create(SCIP_EVENT* scip_event)
 * 
 * cdef class Column:             # <<<<<<<<<<<<<<
 *     cdef SCIP_COL* scip_col
 *     # can be used to store problem data
*/
struct __pyx_obj_9pyscipopt_4scip_Column {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_Column *__pyx_vtab;
  SCIP_COL *scip_col;
  PyObject *data;
};


/* "pyscipopt/scip.pxd":2144
 *     cdef create(SCIP_COL* scipcol)
 * 
 * cdef class ColumnExact:             # <<<<<<<<<<<<<<
 *     cdef SCIP_COLEXACT* scip_col_exact
 *     # can be used to store problem data
*/
struct __pyx_obj_9pyscipopt_4scip_ColumnExact {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_ColumnExact *__pyx_vtab;
  SCIP_COLEXACT *scip_col_exact;
  PyObject *data;
};


/* "pyscipopt/scip.pxd":2152
 *     cdef create(SCIP_COLEXACT* scip_col_exact)
 * 
 * cdef class Row:             # <<<<<<<<<<<<<<
 *     cdef SCIP_ROW* scip_row
 *     # can be used to store problem data
*/
struct __pyx_obj_9pyscipopt_4scip_Row {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_Row *__pyx_vtab;
  SCIP_ROW *scip_row;
  PyObject *data;
};


/* "pyscipopt/scip.pxd":2160
 *     cdef create(SCIP_ROW* sciprow)
 * 
 * cdef class RowExact:             # <<<<<<<<<<<<<<
 *     cdef SCIP_ROWEXACT* scip_row_exact
 *     # can be used to store problem data
*/
struct __pyx_obj_9pyscipopt_4scip_RowExact {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_RowExact *__pyx_vtab;
  SCIP_ROWEXACT *scip_row_exact;
  PyObject *data;
};


/* "pyscipopt/scip.pxd":2168
 *     cdef create(SCIP_ROWEXACT* scip_row_exact)
 * 
 * cdef class NLRow:             # <<<<<<<<<<<<<<
 *     cdef SCIP_NLROW* scip_nlrow
 *     # can be used to store problem data
*/
struct __pyx_obj_9pyscipopt_4scip_NLRow {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_NLRow *__pyx_vtab;
  SCIP_NLROW *scip_nlrow;
  PyObject *data;
};


/* "pyscipopt/scip.pxd":2176
 *     cdef create(SCIP_NLROW* scipnlrow)
 * 
 * cdef class Solution:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SOL* sol
 *     cdef SCIP* scip
*/
struct __pyx_obj_9pyscipopt_4scip_Solution {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_Solution *__pyx_vtab;
  SCIP_SOL *sol;
  SCIP *scip;
  PyObject *data;
};


/* "pyscipopt/scip.pxd":2185
 *     cdef create(SCIP* scip, SCIP_SOL* scip_sol)
 * 
 * cdef class DomainChanges:             # <<<<<<<<<<<<<<
 *     cdef SCIP_DOMCHG* scip_domchg
 * 
*/
struct __pyx_obj_9pyscipopt_4scip_DomainChanges {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_DomainChanges *__pyx_vtab;
  SCIP_DOMCHG *scip_domchg;
};


/* "pyscipopt/scip.pxd":2191
 *     cdef create(SCIP_DOMCHG* scip_domchg)
 * 
 * cdef class BoundChange:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BOUNDCHG* scip_boundchg
 * 
*/
struct __pyx_obj_9pyscipopt_4scip_BoundChange {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_BoundChange *__pyx_vtab;
  SCIP_BOUNDCHG *scip_boundchg;
};


/* "pyscipopt/scip.pxd":2197
 *     cdef create(SCIP_BOUNDCHG* scip_boundchg)
 * 
 * cdef class Node:             # <<<<<<<<<<<<<<
 *     cdef SCIP_NODE* scip_node
 *     # can be used to store problem data
*/
struct __pyx_obj_9pyscipopt_4scip_Node {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_Node *__pyx_vtab;
  SCIP_NODE *scip_node;
  PyObject *data;
};


/* "pyscipopt/scip.pxd":2205
 *     cdef create(SCIP_NODE* scipnode)
 * 
 * cdef class Variable(Expr):             # <<<<<<<<<<<<<<
 *     cdef SCIP_VAR* scip_var
 *     # can be used to store problem data
*/
struct __pyx_obj_9pyscipopt_4scip_Variable {
  struct __pyx_obj_9pyscipopt_4scip_Expr __pyx_base;
  SCIP_VAR *scip_var;
  PyObject *data;
};


/* "pyscipopt/scip.pxd":2213
 *     cdef create(SCIP_VAR* scipvar)
 * 
 * cdef class Constraint:             # <<<<<<<<<<<<<<
 *     cdef SCIP_CONS* scip_cons
 *     # can be used to store problem data
*/
struct __pyx_obj_9pyscipopt_4scip_Constraint {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_Constraint *__pyx_vtab;
  SCIP_CONS *scip_cons;
  PyObject *data;
};


/* "pyscipopt/scip.pxd":2221
 *     cdef create(SCIP_CONS* scipcons)
 * 
 * cdef class IIS:             # <<<<<<<<<<<<<<
 *     cdef SCIP_IIS* _iis
 * 
*/
struct __pyx_obj_9pyscipopt_4scip_IIS {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_IIS *__pyx_vtab;
  SCIP_IIS *_iis;
};


/* "pyscipopt/scip.pxd":2227
 *     cdef create(SCIP_IIS* iis)
 * 
 * cdef class Model:             # <<<<<<<<<<<<<<
 *     cdef SCIP* _scip
 *     cdef SCIP_Bool* _valid
*/
struct __pyx_obj_9pyscipopt_4scip_Model {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_Model *__pyx_vtab;
  SCIP *_scip;
  SCIP_Bool *_valid;
  struct __pyx_obj_9pyscipopt_4scip_Solution *_bestSol;
  PyObject *data;
  PyObject *__weakref__;
  SCIP_Bool _freescip;
  PyObject *_modelvars;
  PyObject *_modelconss;
  int _generated_event_handlers_count;
  PyObject *_benders_subproblems;
  SCIP_IIS *_iis;
};


/* "src/pyscipopt/expr.pxi":103
 * 
 * 
 * cdef class Term:             # <<<<<<<<<<<<<<
 *     '''This is a monomial term'''
 * 
*/
struct __pyx_obj_9pyscipopt_4scip_Term {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_Term *__pyx_vtab;
  PyObject *vartuple;
  PyObject *ptrtuple;
  Py_ssize_t hashval;
};


/* "src/pyscipopt/expr.pxi":398
 * 
 * 
 * cdef class ExprCons:             # <<<<<<<<<<<<<<
 *     '''Constraints with a polynomial expressions and lower/upper bounds.'''
 *     cdef public expr
*/
struct __pyx_obj_9pyscipopt_4scip_ExprCons {
  PyObject_HEAD
  PyObject *expr;
  PyObject *_lhs;
  PyObject *_rhs;
};


/* "src/pyscipopt/expr.pxi":505
 * #
 * #See also the @ref ExprDetails "description" in the expr.pxi.
 * cdef class GenExpr:             # <<<<<<<<<<<<<<
 * 
 *     cdef public _op
*/
struct __pyx_obj_9pyscipopt_4scip_GenExpr {
  PyObject_HEAD
  struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr *__pyx_vtab;
  PyObject *_op;
  PyObject *children;
};


/* "src/pyscipopt/expr.pxi":705
 * 
 * # Sum Expressions
 * cdef class SumExpr(GenExpr):             # <<<<<<<<<<<<<<
 * 
 *     cdef public constant
*/
struct __pyx_obj_9pyscipopt_4scip_SumExpr {
  struct __pyx_obj_9pyscipopt_4scip_GenExpr __pyx_base;
  PyObject *constant;
  PyObject *coefs;
};


/* "src/pyscipopt/expr.pxi":729
 * 
 * # Prod Expressions
 * cdef class ProdExpr(GenExpr):             # <<<<<<<<<<<<<<
 * 
 *     cdef public constant
*/
struct __pyx_obj_9pyscipopt_4scip_ProdExpr {
  struct __pyx_obj_9pyscipopt_4scip_GenExpr __pyx_base;
  PyObject *constant;
};


/* "src/pyscipopt/expr.pxi":753
 * 
 * # Var Expressions
 * cdef class VarExpr(GenExpr):             # <<<<<<<<<<<<<<
 * 
 *     cdef public var
*/
struct __pyx_obj_9pyscipopt_4scip_VarExpr {
  struct __pyx_obj_9pyscipopt_4scip_GenExpr __pyx_base;
  PyObject *var;
};


/* "src/pyscipopt/expr.pxi":769
 * 
 * # Pow Expressions
 * cdef class PowExpr(GenExpr):             # <<<<<<<<<<<<<<
 * 
 *     cdef public expo
*/
struct __pyx_obj_9pyscipopt_4scip_PowExpr {
  struct __pyx_obj_9pyscipopt_4scip_GenExpr __pyx_base;
  PyObject *expo;
};


/* "src/pyscipopt/expr.pxi":786
 * 
 * # Exp, Log, Sqrt, Sin, Cos Expressions
 * cdef class UnaryExpr(GenExpr):             # <<<<<<<<<<<<<<
 *     def __init__(self, op, expr):
 *         self.children = []
*/
struct __pyx_obj_9pyscipopt_4scip_UnaryExpr {
  struct __pyx_obj_9pyscipopt_4scip_GenExpr __pyx_base;
};


/* "src/pyscipopt/expr.pxi":806
 * 
 * # class for constant expressions
 * cdef class Constant(GenExpr):             # <<<<<<<<<<<<<<
 *     cdef public number
 *     def __init__(self,number):
*/
struct __pyx_obj_9pyscipopt_4scip_Constant {
  struct __pyx_obj_9pyscipopt_4scip_GenExpr __pyx_base;
  PyObject *number;
};


/* "src/pyscipopt/lp.pxi":3
 * ##@file lp.pxi
 * #@brief Base class of the LP Plugin
 * cdef class LP:             # <<<<<<<<<<<<<<
 *     cdef SCIP_LPI* lpi
 *     cdef readonly str name
*/
struct __pyx_obj_9pyscipopt_4scip_LP {
  PyObject_HEAD
  SCIP_LPI *lpi;
  PyObject *name;
};


/* "src/pyscipopt/benders.pxi":3
 * ##@file benders.pxi
 * #@brief Base class of the Benders decomposition Plugin
 * cdef class Benders:             # <<<<<<<<<<<<<<
 *     cdef public Model model
 *     cdef public str name
*/
struct __pyx_obj_9pyscipopt_4scip_Benders {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
  PyObject *name;
  SCIP_BENDERS *_benders;
};


/* "src/pyscipopt/benderscut.pxi":3
 * ##@file benderscut.pxi
 * #@brief Base class of the Benderscut Plugin
 * cdef class Benderscut:             # <<<<<<<<<<<<<<
 *     cdef public Model model
 *     cdef public Benders benders
*/
struct __pyx_obj_9pyscipopt_4scip_Benderscut {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
  struct __pyx_obj_9pyscipopt_4scip_Benders *benders;
  PyObject *name;
};


/* "src/pyscipopt/branchrule.pxi":3
 * ##@file branchrule.pxi
 * #@brief Base class of the Branchrule Plugin
 * cdef class Branchrule:             # <<<<<<<<<<<<<<
 *     cdef public Model model
 * 
*/
struct __pyx_obj_9pyscipopt_4scip_Branchrule {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
};


/* "src/pyscipopt/conshdlr.pxi":4
 * #@brief base class of the Constraint Handler plugin
 * 
 * cdef class Conshdlr:             # <<<<<<<<<<<<<<
 *     cdef public Model model
 *     cdef public str name
*/
struct __pyx_obj_9pyscipopt_4scip_Conshdlr {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
  PyObject *name;
};


/* "src/pyscipopt/cutsel.pxi":3
 * ##@file cutsel.pxi
 * #@brief Base class of the Cutsel Plugin
 * cdef class Cutsel:             # <<<<<<<<<<<<<<
 *   cdef public Model model
 * 
*/
struct __pyx_obj_9pyscipopt_4scip_Cutsel {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
};


/* "src/pyscipopt/event.pxi":3
 * ##@file event.pxi
 * #@brief Base class of the Event Handler Plugin
 * cdef class Eventhdlr:             # <<<<<<<<<<<<<<
 *     cdef public Model model
 *     cdef public str name
*/
struct __pyx_obj_9pyscipopt_4scip_Eventhdlr {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
  PyObject *name;
};


/* "src/pyscipopt/heuristic.pxi":3
 * ##@file heuristic.pxi
 * #@brief Base class of the Heuristics Plugin
 * cdef class Heur:             # <<<<<<<<<<<<<<
 *     cdef public Model model
 *     cdef public str name
*/
struct __pyx_obj_9pyscipopt_4scip_Heur {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
  PyObject *name;
};


/* "src/pyscipopt/iisfinder.pxi":3
 * ##@file iisfinder.pxi
 * #@brief Base class of the IIS finder Plugin
 * cdef class IISfinder:             # <<<<<<<<<<<<<<
 *     cdef public IIS iis
 *     cdef SCIP_IIS* scip_iis
*/
struct __pyx_obj_9pyscipopt_4scip_IISfinder {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_IIS *iis;
  SCIP_IIS *scip_iis;
  SCIP_IISFINDER *scip_iisfinder;
};


/* "src/pyscipopt/presol.pxi":3
 * ##@file presol.pxi
 * #@brief Base class of the Presolver Plugin
 * cdef class Presol:             # <<<<<<<<<<<<<<
 *     cdef public Model model
 * 
*/
struct __pyx_obj_9pyscipopt_4scip_Presol {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
};


/* "src/pyscipopt/pricer.pxi":3
 * ##@file pricer.pxi
 * #@brief Base class of the Pricers Plugin
 * cdef class Pricer:             # <<<<<<<<<<<<<<
 *     cdef public Model model
 *     cdef SCIP_PRICER* scip_pricer
*/
struct __pyx_obj_9pyscipopt_4scip_Pricer {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
  SCIP_PRICER *scip_pricer;
};


/* "src/pyscipopt/propagator.pxi":3
 * ##@file propagator.pxi
 * #@brief Base class of the Propagators Plugin
 * cdef class Prop:             # <<<<<<<<<<<<<<
 *     cdef public Model model
 * 
*/
struct __pyx_obj_9pyscipopt_4scip_Prop {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
};


/* "src/pyscipopt/sepa.pxi":3
 * ##@file sepa.pxi
 * #@brief Base class of the Separator Plugin
 * cdef class Sepa:             # <<<<<<<<<<<<<<
 *     cdef public Model model
 *     cdef public str name
*/
struct __pyx_obj_9pyscipopt_4scip_Sepa {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
  PyObject *name;
};


/* "src/pyscipopt/reader.pxi":3
 * ##@file reader.pxi
 * #@brief Base class of the Reader Plugin
 * cdef class Reader:             # <<<<<<<<<<<<<<
 *     cdef public Model model
 *     cdef public str name
*/
struct __pyx_obj_9pyscipopt_4scip_Reader {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
  PyObject *name;
};


/* "src/pyscipopt/relax.pxi":3
 * ##@file relax.pxi
 * #@brief Base class of the Relaxator Plugin
 * cdef class Relax:             # <<<<<<<<<<<<<<
 *     cdef public Model model
 *     cdef public str name
*/
struct __pyx_obj_9pyscipopt_4scip_Relax {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
  PyObject *name;
};


/* "src/pyscipopt/nodesel.pxi":3
 * ##@file nodesel.pxi
 * #@brief Base class of the Nodesel Plugin
 * cdef class Nodesel:             # <<<<<<<<<<<<<<
 *   cdef public Model model
 * 
*/
struct __pyx_obj_9pyscipopt_4scip_Nodesel {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip_Model *model;
};


/* "src/pyscipopt/scip.pxi":74
 * # In __init__.py this is imported as SCIP_RESULT to keep the
 * # original naming scheme using capital letters
 * cdef class PY_SCIP_RESULT:             # <<<<<<<<<<<<<<
 *     DIDNOTRUN   = SCIP_DIDNOTRUN
 *     DELAYED     = SCIP_DELAYED
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_RESULT {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":93
 *     SUCCESS     = SCIP_SUCCESS
 * 
 * cdef class PY_SCIP_PARAMSETTING:             # <<<<<<<<<<<<<<
 *     DEFAULT     = SCIP_PARAMSETTING_DEFAULT
 *     AGGRESSIVE  = SCIP_PARAMSETTING_AGGRESSIVE
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMSETTING {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":99
 *     OFF         = SCIP_PARAMSETTING_OFF
 * 
 * cdef class PY_SCIP_LPPARAM:             # <<<<<<<<<<<<<<
 *     FROMSCRATCH    = SCIP_LPPAR_FROMSCRATCH
 *     FASTMIP        = SCIP_LPPAR_FASTMIP
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPPARAM {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":121
 *     REFACTOR       = SCIP_LPPAR_REFACTOR
 * 
 * cdef class PY_SCIP_PARAMEMPHASIS:             # <<<<<<<<<<<<<<
 *     DEFAULT      = SCIP_PARAMEMPHASIS_DEFAULT
 *     CPSOLVER     = SCIP_PARAMEMPHASIS_CPSOLVER
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":135
 *     BENCHMARK    = SCIP_PARAMEMPHASIS_BENCHMARK
 * 
 * cdef class PY_SCIP_STATUS:             # <<<<<<<<<<<<<<
 *     UNKNOWN        = SCIP_STATUS_UNKNOWN
 *     USERINTERRUPT  = SCIP_STATUS_USERINTERRUPT
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STATUS {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":155
 * 
 * StageNames = {}
 * cdef class PY_SCIP_STAGE:             # <<<<<<<<<<<<<<
 *     INIT         = SCIP_STAGE_INIT
 *     PROBLEM      = SCIP_STAGE_PROBLEM
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STAGE {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":171
 *     FREE         = SCIP_STAGE_FREE
 * 
 * cdef class PY_SCIP_NODETYPE:             # <<<<<<<<<<<<<<
 *     FOCUSNODE   = SCIP_NODETYPE_FOCUSNODE
 *     PROBINGNODE = SCIP_NODETYPE_PROBINGNODE
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_NODETYPE {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":184
 *     REFOCUSNODE = SCIP_NODETYPE_REFOCUSNODE
 * 
 * cdef class PY_SCIP_PROPTIMING:             # <<<<<<<<<<<<<<
 *     BEFORELP     = SCIP_PROPTIMING_BEFORELP
 *     DURINGLPLOOP = SCIP_PROPTIMING_DURINGLPLOOP
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PROPTIMING {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":190
 *     AFTERLPNODE  = SCIP_PROPTIMING_AFTERLPNODE
 * 
 * cdef class PY_SCIP_PRESOLTIMING:             # <<<<<<<<<<<<<<
 *     NONE       = SCIP_PRESOLTIMING_NONE
 *     FAST       = SCIP_PRESOLTIMING_FAST
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":196
 *     EXHAUSTIVE = SCIP_PRESOLTIMING_EXHAUSTIVE
 * 
 * cdef class PY_SCIP_HEURTIMING:             # <<<<<<<<<<<<<<
 *     BEFORENODE        = SCIP_HEURTIMING_BEFORENODE
 *     DURINGLPLOOP      = SCIP_HEURTIMING_DURINGLPLOOP
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_HEURTIMING {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":210
 * 
 * EventNames = {}
 * cdef class PY_SCIP_EVENTTYPE:             # <<<<<<<<<<<<<<
 *     DISABLED          = SCIP_EVENTTYPE_DISABLED
 *     VARADDED          = SCIP_EVENTTYPE_VARADDED
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_EVENTTYPE {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":268
 *     ROWEVENT          = SCIP_EVENTTYPE_ROWEVENT
 * 
 * cdef class PY_SCIP_LOCKTYPE:             # <<<<<<<<<<<<<<
 *     MODEL    = SCIP_LOCKTYPE_MODEL
 *     CONFLICT = SCIP_LOCKTYPE_CONFLICT
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LOCKTYPE {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":272
 *     CONFLICT = SCIP_LOCKTYPE_CONFLICT
 * 
 * cdef class PY_SCIP_IMPLINTTYPE:             # <<<<<<<<<<<<<<
 *     NONE   = SCIP_IMPLINTTYPE_NONE
 *     WEAK   = SCIP_IMPLINTTYPE_WEAK
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":277
 *     STRONG = SCIP_IMPLINTTYPE_STRONG
 * 
 * cdef class PY_SCIP_LPSOLSTAT:             # <<<<<<<<<<<<<<
 *     NOTSOLVED    = SCIP_LPSOLSTAT_NOTSOLVED
 *     OPTIMAL      = SCIP_LPSOLSTAT_OPTIMAL
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":287
 *     ERROR        = SCIP_LPSOLSTAT_ERROR
 * 
 * cdef class PY_SCIP_BRANCHDIR:             # <<<<<<<<<<<<<<
 *     DOWNWARDS = SCIP_BRANCHDIR_DOWNWARDS
 *     UPWARDS   = SCIP_BRANCHDIR_UPWARDS
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BRANCHDIR {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":293
 *     AUTO      = SCIP_BRANCHDIR_AUTO
 * 
 * cdef class PY_SCIP_BENDERSENFOTYPE:             # <<<<<<<<<<<<<<
 *     LP     = SCIP_BENDERSENFOTYPE_LP
 *     RELAX  = SCIP_BENDERSENFOTYPE_RELAX
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":299
 *     CHECK  = SCIP_BENDERSENFOTYPE_CHECK
 * 
 * cdef class PY_SCIP_ROWORIGINTYPE:             # <<<<<<<<<<<<<<
 *     UNSPEC = SCIP_ROWORIGINTYPE_UNSPEC
 *     CONS   = SCIP_ROWORIGINTYPE_CONS
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":305
 *     REOPT  = SCIP_ROWORIGINTYPE_REOPT
 * 
 * cdef class PY_SCIP_SOLORIGIN:             # <<<<<<<<<<<<<<
 *     ORIGINAL  = SCIP_SOLORIGIN_ORIGINAL
 *     ZERO      = SCIP_SOLORIGIN_ZERO
*/
struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_SOLORIGIN {
  PyObject_HEAD
};


/* "src/pyscipopt/scip.pxi":2643
 *         fflush(file)
 * 
 * cdef class _VarArray:             # <<<<<<<<<<<<<<
 *     cdef SCIP_VAR** ptr
 *     cdef int size
*/
struct __pyx_obj_9pyscipopt_4scip__VarArray {
  PyObject_HEAD
  SCIP_VAR **ptr;
  int size;
};


/* "src/pyscipopt/expr.pxi":112
 *     def __init__(self, *vartuple: Variable):
 *         self.vartuple = tuple(sorted(vartuple, key=lambda v: v.ptr()))
 *         self.ptrtuple = tuple(v.ptr() for v in self.vartuple)             # <<<<<<<<<<<<<<
 *         self.hashval = <Py_ssize_t>hash(self.ptrtuple)
 * 
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_v;
  PyObject *__pyx_t_0;
  Py_ssize_t __pyx_t_1;
};


/* "src/pyscipopt/expr.pxi":159
 *         cdef Term res = Term.__new__(Term)
 *         res.vartuple = tuple(vartuple)
 *         res.ptrtuple = tuple(v.ptr() for v in res.vartuple)             # <<<<<<<<<<<<<<
 *         res.hashval = <Py_ssize_t>hash(res.ptrtuple)
 *         return res
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_v;
  PyObject *__pyx_t_0;
  Py_ssize_t __pyx_t_1;
};


/* "src/pyscipopt/expr.pxi":381
 *             return 0
 *         else:
 *             return max(len(v) for v in self.terms)             # <<<<<<<<<<<<<<
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_v;
  PyObject *__pyx_t_0;
  Py_ssize_t __pyx_t_1;
  PyObject *(*__pyx_t_2)(PyObject *);
};


/* "src/pyscipopt/lp.pxi":102
 *         cdef int* c_inds
 *         cdef int* c_beg
 *         cdef int nnonz = sum(len(entries) for entries in entrieslist)             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_entries;
  PyObject *__pyx_t_0;
  Py_ssize_t __pyx_t_1;
  PyObject *(*__pyx_t_2)(PyObject *);
};


/* "src/pyscipopt/lp.pxi":187
 *         cdef SCIP_Real* c_rhss  = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef int* c_beg  = <int*>malloc(nrows * sizeof(int))
 *         cdef int nnonz = sum(len(entries) for entries in entrieslist)             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_coefs = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_entries;
  PyObject *__pyx_t_0;
  Py_ssize_t __pyx_t_1;
  PyObject *(*__pyx_t_2)(PyObject *);
};


/* "src/pyscipopt/matrix.pxi":54
 *         res = NotImplemented
 *         # Unboxing MatrixExpr to stop __array_ufunc__ recursion
 *         args = tuple(_ensure_array(arg) for arg in args)             # <<<<<<<<<<<<<<
 *         if method == "reduce":  # Handle reduction operations, e.g., np.sum(a)
 *             if ufunc is np.add:
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_arg;
  PyObject *__pyx_t_0;
  Py_ssize_t __pyx_t_1;
};


/* "src/pyscipopt/matrix.pxi":73
 *         if res is NotImplemented:
 *             if "out" in kwargs: # Unboxing MatrixExpr to stop __array_ufunc__ recursion
 *                 kwargs["out"] = tuple(_ensure_array(arg, False) for arg in kwargs["out"])             # <<<<<<<<<<<<<<
 *             res = super().__array_ufunc__(ufunc, method, *args, **kwargs)
 *         return res.view(MatrixExpr) if isinstance(res, np.ndarray) else res
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_arg;
  PyObject *__pyx_t_0;
  Py_ssize_t __pyx_t_1;
  PyObject *(*__pyx_t_2)(PyObject *);
};


/* "src/pyscipopt/matrix.pxi":91
 *     def __array_ufunc__(self, ufunc, method, *args, **kwargs):
 *         if method == "__call__":
 *             args = tuple(_ensure_array(arg) for arg in args)             # <<<<<<<<<<<<<<
 *             if ufunc is np.less_equal:
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr {
  PyObject_HEAD
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_arg;
  PyObject *__pyx_t_0;
  Py_ssize_t __pyx_t_1;
};


/* "src/pyscipopt/matrix.pxi":155
 * 
 * 
 * def _core_dot_2d(cnp.ndarray a, cnp.ndarray x) -> np.ndarray:             # <<<<<<<<<<<<<<
 *     """
 *     Perform matrix multiplication between a 2-Demension constant array and a 2-Demension
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d {
  PyObject_HEAD
  __Pyx_memviewslice __pyx_v_a_view;
  int __pyx_v_i;
  int __pyx_v_j;
  PyArrayObject *__pyx_v_x;
};


/* "src/pyscipopt/matrix.pxi":187
 * 
 *         for j in range(k):
 *             res[i, j] = quicksum(a_view[i, idx] * x[idx, j] for idx in nonzero)             # <<<<<<<<<<<<<<
 * 
 *     return res
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *__pyx_outer_scope;
  __Pyx_memviewslice __pyx_genexpr_arg_0;
  Py_ssize_t __pyx_v_idx;
  __Pyx_memviewslice __pyx_t_0;
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  Py_ssize_t __pyx_t_3;
};


/* "src/pyscipopt/matrix.pxi":199
 * 
 * 
 * def _core_sum(             # <<<<<<<<<<<<<<
 *     cnp.ndarray a,
 *     axis: Optional[Union[int, Tuple[int, ...]]] = None,
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum {
  PyObject_HEAD
  PyArrayObject *__pyx_v_a;
  PyObject *__pyx_v_axis;
};


/* "src/pyscipopt/matrix.pxi":247
 *         )
 * 
 *     keep_axes = tuple(i for i in range(a.ndim) if i not in axis)             # <<<<<<<<<<<<<<
 *     shape = (
 *         tuple(1 if i in axis else a.shape[i] for i in range(a.ndim))
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *__pyx_outer_scope;
  PyArrayObject *__pyx_genexpr_arg_0;
  int __pyx_v_i;
  int __pyx_t_0;
  int __pyx_t_1;
  int __pyx_t_2;
};


/* "src/pyscipopt/matrix.pxi":249
 *     keep_axes = tuple(i for i in range(a.ndim) if i not in axis)
 *     shape = (
 *         tuple(1 if i in axis else a.shape[i] for i in range(a.ndim))             # <<<<<<<<<<<<<<
 *         if keepdims
 *         else tuple(a.shape[i] for i in keep_axes)
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *__pyx_outer_scope;
  PyArrayObject *__pyx_genexpr_arg_0;
  int __pyx_v_i;
  int __pyx_t_0;
  int __pyx_t_1;
  int __pyx_t_2;
};


/* "src/pyscipopt/matrix.pxi":251
 *         tuple(1 if i in axis else a.shape[i] for i in range(a.ndim))
 *         if keepdims
 *         else tuple(a.shape[i] for i in keep_axes)             # <<<<<<<<<<<<<<
 *     )
 *     return np.apply_along_axis(
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *__pyx_outer_scope;
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_i;
  PyObject *__pyx_t_0;
  Py_ssize_t __pyx_t_1;
};


/* "src/pyscipopt/scip.pxi":2846
 *                 PY_SCIP_CALL(SCIPcopy(sourceModel._scip, self._scip, NULL, NULL, n, globalcopy, enablepricing, threadsafe, True, self._valid))
 * 
 *     def attachEventHandlerCallback(self,             # <<<<<<<<<<<<<<
 *         callback,
 *         events,
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback {
  PyObject_HEAD
  PyObject *__pyx_v_EventHandler;
  PyObject *__pyx_v_events;
  struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_model;
};


/* "src/pyscipopt/scip.pxi":12617
 *         return self._presolved_constraints["maximal"]
 * 
 * def readStatistics(filename):             # <<<<<<<<<<<<<<
 *         """
 *         Given a .stats file of a solved model, reads it and returns an instance of the Statistics class
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics {
  PyObject_HEAD
  PyObject *__pyx_v_treated_keys;
};


/* "src/pyscipopt/scip.pxi":12735
 *                 treated_keys["Gap"]         = "gap"
 *                 treated_keys["primal-dual"]     = "primal_dual_integral"
 *         treated_result = dict((treated_keys[key], value) for (key, value) in result.items())             # <<<<<<<<<<<<<<
 * 
 *         stats = Statistics(**treated_result)
*/
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr {
  PyObject_HEAD
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics *__pyx_outer_scope;
  PyObject *__pyx_genexpr_arg_0;
  PyObject *__pyx_v_key;
  PyObject *__pyx_v_value;
};


/* "View.MemoryView":110
 * 
 * 
 * @cython.collection_type("sequence")             # <<<<<<<<<<<<<<
 * @cname("__pyx_array")
 * cdef class array:
*/
struct __pyx_array_obj {
  PyObject_HEAD
  struct __pyx_vtabstruct_array *__pyx_vtab;
  char *data;
  Py_ssize_t len;
  char *format;
  int ndim;
  Py_ssize_t *_shape;
  Py_ssize_t *_strides;
  Py_ssize_t itemsize;
  PyObject *mode;
  PyObject *_format;
  void (*callback_free_data)(void *);
  int free_data;
  int dtype_is_object;
};


/* "View.MemoryView":299
 * 
 * 
 * @cname('__pyx_MemviewEnum')             # <<<<<<<<<<<<<<
 * cdef class Enum(object):
 *     cdef object name
*/
struct __pyx_MemviewEnum_obj {
  PyObject_HEAD
  PyObject *name;
};


/* "View.MemoryView":334
 * 
 * 
 * @cname('__pyx_memoryview')             # <<<<<<<<<<<<<<
 * cdef class memoryview:
 * 
*/
struct __pyx_memoryview_obj {
  PyObject_HEAD
  struct __pyx_vtabstruct_memoryview *__pyx_vtab;
  PyObject *obj;
  PyObject *_size;
  void *_unused;
  PyThread_type_lock lock;
  __pyx_atomic_int_type acquisition_count;
  Py_buffer view;
  int flags;
  int dtype_is_object;
  __Pyx_TypeInfo const *typeinfo;
};


/* "View.MemoryView":951
 * 
 * 
 * @cython.collection_type("sequence")             # <<<<<<<<<<<<<<
 * @cname('__pyx_memoryviewslice')
 * cdef class _memoryviewslice(memoryview):
*/
struct __pyx_memoryviewslice_obj {
  struct __pyx_memoryview_obj __pyx_base;
  __Pyx_memviewslice from_slice;
  PyObject *from_object;
  PyObject *(*to_object_func)(char *);
  int (*to_dtype_func)(char *, PyObject *);
};



/* "src/pyscipopt/expr.pxi":220
 * ##@details Polynomial expressions of variables with operator overloading. \n
 * #See also the @ref ExprDetails "description" in the expr.pxi.
 * cdef class Expr:             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, terms=None):
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_Expr {
  double (*_evaluate)(struct __pyx_obj_9pyscipopt_4scip_Expr *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_Expr *__pyx_vtabptr_9pyscipopt_4scip_Expr;


/* "src/pyscipopt/scip.pxi":356
 *         raise Exception('SCIP: unknown return code!')
 * 
 * cdef class Event:             # <<<<<<<<<<<<<<
 *     """Base class holding a pointer to corresponding SCIP_EVENT."""
 * 
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_Event {
  PyObject *(*create)(SCIP_EVENT *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_Event *__pyx_vtabptr_9pyscipopt_4scip_Event;


/* "src/pyscipopt/scip.pxi":484
 *                 and self.event == (<Event>other).event)
 * 
 * cdef class Column:             # <<<<<<<<<<<<<<
 *     """Base class holding a pointer to corresponding SCIP_COL."""
 * 
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_Column {
  PyObject *(*create)(SCIP_COL *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_Column *__pyx_vtabptr_9pyscipopt_4scip_Column;


/* "src/pyscipopt/scip.pxi":637
 *                 and self.scip_col == (<Column>other).scip_col)
 * 
 * cdef class ColumnExact:             # <<<<<<<<<<<<<<
 *     """Base class holding a pointer to corresponding SCIP_COLEXACT."""
 * 
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_ColumnExact {
  PyObject *(*create)(SCIP_COLEXACT *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_ColumnExact *__pyx_vtabptr_9pyscipopt_4scip_ColumnExact;


/* "src/pyscipopt/scip.pxi":662
 *         return col
 * 
 * cdef class Row:             # <<<<<<<<<<<<<<
 *     """Base class holding a pointer to corresponding SCIP_ROW."""
 * 
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_Row {
  PyObject *(*create)(SCIP_ROW *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_Row *__pyx_vtabptr_9pyscipopt_4scip_Row;


/* "src/pyscipopt/scip.pxi":946
 *                 and self.scip_row == (<Row>other).scip_row)
 * 
 * cdef class RowExact:             # <<<<<<<<<<<<<<
 *     """Base class holding a pointer to corresponding SCIP_ROW."""
 * 
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_RowExact {
  PyObject *(*create)(SCIP_ROWEXACT *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_RowExact *__pyx_vtabptr_9pyscipopt_4scip_RowExact;


/* "src/pyscipopt/scip.pxi":971
 *         return row_exact
 * 
 * cdef class NLRow:             # <<<<<<<<<<<<<<
 *     """Base class holding a pointer to corresponding SCIP_NLROW."""
 * 
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_NLRow {
  PyObject *(*create)(SCIP_NLROW *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_NLRow *__pyx_vtabptr_9pyscipopt_4scip_NLRow;


/* "src/pyscipopt/scip.pxi":1067
 *                 and self.scip_nlrow == (<NLRow>other).scip_nlrow)
 * 
 * cdef class Solution:             # <<<<<<<<<<<<<<
 *     """Base class holding a pointer to corresponding SCIP_SOL."""
 * 
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_Solution {
  PyObject *(*create)(SCIP *, SCIP_SOL *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_Solution *__pyx_vtabptr_9pyscipopt_4scip_Solution;


/* "src/pyscipopt/scip.pxi":1256
 *                                  self.getNewBound())
 * 
 * cdef class DomainChanges:             # <<<<<<<<<<<<<<
 *     """Set of domain changes."""
 * 
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_DomainChanges {
  PyObject *(*create)(SCIP_DOMCHG *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_DomainChanges *__pyx_vtabptr_9pyscipopt_4scip_DomainChanges;


/* "src/pyscipopt/scip.pxi":1169
 *         return targetSol
 * 
 * cdef class BoundChange:             # <<<<<<<<<<<<<<
 *     """Bound change."""
 * 
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_BoundChange {
  PyObject *(*create)(SCIP_BOUNDCHG *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_BoundChange *__pyx_vtabptr_9pyscipopt_4scip_BoundChange;


/* "src/pyscipopt/scip.pxi":1295
 *                 for i in range(nboundchgs)]
 * 
 * cdef class Node:             # <<<<<<<<<<<<<<
 *     """Base class holding a pointer to corresponding SCIP_NODE"""
 * 
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_Node {
  PyObject *(*create)(SCIP_NODE *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_Node *__pyx_vtabptr_9pyscipopt_4scip_Node;


/* "src/pyscipopt/scip.pxi":1528
 *                 and self.scip_node == (<Node>other).scip_node)
 * 
 * cdef class Variable(Expr):             # <<<<<<<<<<<<<<
 *     """Is a linear expression and has SCIP_VAR*"""
 * 
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_Variable {
  struct __pyx_vtabstruct_9pyscipopt_4scip_Expr __pyx_base;
  PyObject *(*create)(SCIP_VAR *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_Variable *__pyx_vtabptr_9pyscipopt_4scip_Variable;


/* "src/pyscipopt/scip.pxi":2189
 *         return mayround
 * 
 * cdef class Constraint:             # <<<<<<<<<<<<<<
 *     """Base class holding a pointer to corresponding SCIP_CONS"""
 * 
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_Constraint {
  PyObject *(*create)(SCIP_CONS *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_Constraint *__pyx_vtabptr_9pyscipopt_4scip_Constraint;


/* "src/pyscipopt/scip.pxi":2671
 *             free(self.ptr)
 * 
 * cdef class IIS:             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_IIS {
  PyObject *(*create)(SCIP_IIS *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_IIS *__pyx_vtabptr_9pyscipopt_4scip_IIS;


/* "src/pyscipopt/scip.pxi":2786
 * #@anchor Model
 * ##
 * cdef class Model:             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, problemName='model', defaultPlugins=True, Model sourceModel=None, origcopy=False, globalcopy=True, enablepricing=True, createscip=True, threadsafe=False):
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_Model {
  PyObject *(*_getOrCreateCons)(struct __pyx_obj_9pyscipopt_4scip_Model *, SCIP_CONS *);
  PyObject *(*_getOrCreateVar)(struct __pyx_obj_9pyscipopt_4scip_Model *, SCIP_VAR *);
  PyObject *(*create)(SCIP *);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_Model *__pyx_vtabptr_9pyscipopt_4scip_Model;


/* "src/pyscipopt/expr.pxi":103
 * 
 * 
 * cdef class Term:             # <<<<<<<<<<<<<<
 *     '''This is a monomial term'''
 * 
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_Term {
  double (*_evaluate)(struct __pyx_obj_9pyscipopt_4scip_Term *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_Term *__pyx_vtabptr_9pyscipopt_4scip_Term;


/* "src/pyscipopt/expr.pxi":505
 * #
 * #See also the @ref ExprDetails "description" in the expr.pxi.
 * cdef class GenExpr:             # <<<<<<<<<<<<<<
 * 
 *     cdef public _op
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr {
  struct __pyx_obj_9pyscipopt_4scip_GenExpr *(*copy)(struct __pyx_obj_9pyscipopt_4scip_GenExpr *, struct __pyx_opt_args_9pyscipopt_4scip_7GenExpr_copy *__pyx_optional_args);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr *__pyx_vtabptr_9pyscipopt_4scip_GenExpr;


/* "src/pyscipopt/expr.pxi":705
 * 
 * # Sum Expressions
 * cdef class SumExpr(GenExpr):             # <<<<<<<<<<<<<<
 * 
 *     cdef public constant
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_SumExpr {
  struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr __pyx_base;
  double (*_evaluate)(struct __pyx_obj_9pyscipopt_4scip_SumExpr *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_SumExpr *__pyx_vtabptr_9pyscipopt_4scip_SumExpr;


/* "src/pyscipopt/expr.pxi":729
 * 
 * # Prod Expressions
 * cdef class ProdExpr(GenExpr):             # <<<<<<<<<<<<<<
 * 
 *     cdef public constant
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_ProdExpr {
  struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr __pyx_base;
  double (*_evaluate)(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_ProdExpr *__pyx_vtabptr_9pyscipopt_4scip_ProdExpr;


/* "src/pyscipopt/expr.pxi":753
 * 
 * # Var Expressions
 * cdef class VarExpr(GenExpr):             # <<<<<<<<<<<<<<
 * 
 *     cdef public var
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_VarExpr {
  struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr __pyx_base;
  double (*_evaluate)(struct __pyx_obj_9pyscipopt_4scip_VarExpr *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_VarExpr *__pyx_vtabptr_9pyscipopt_4scip_VarExpr;


/* "src/pyscipopt/expr.pxi":769
 * 
 * # Pow Expressions
 * cdef class PowExpr(GenExpr):             # <<<<<<<<<<<<<<
 * 
 *     cdef public expo
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_PowExpr {
  struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr __pyx_base;
  double (*_evaluate)(struct __pyx_obj_9pyscipopt_4scip_PowExpr *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_PowExpr *__pyx_vtabptr_9pyscipopt_4scip_PowExpr;


/* "src/pyscipopt/expr.pxi":786
 * 
 * # Exp, Log, Sqrt, Sin, Cos Expressions
 * cdef class UnaryExpr(GenExpr):             # <<<<<<<<<<<<<<
 *     def __init__(self, op, expr):
 *         self.children = []
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_UnaryExpr {
  struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr __pyx_base;
  double (*_evaluate)(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_UnaryExpr *__pyx_vtabptr_9pyscipopt_4scip_UnaryExpr;


/* "src/pyscipopt/expr.pxi":806
 * 
 * # class for constant expressions
 * cdef class Constant(GenExpr):             # <<<<<<<<<<<<<<
 *     cdef public number
 *     def __init__(self,number):
*/

struct __pyx_vtabstruct_9pyscipopt_4scip_Constant {
  struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr __pyx_base;
  double (*_evaluate)(struct __pyx_obj_9pyscipopt_4scip_Constant *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch);
};
static struct __pyx_vtabstruct_9pyscipopt_4scip_Constant *__pyx_vtabptr_9pyscipopt_4scip_Constant;


/* "View.MemoryView":110
 * 
 * 
 * @cython.collection_type("sequence")             # <<<<<<<<<<<<<<
 * @cname("__pyx_array")
 * cdef class array:
*/

struct __pyx_vtabstruct_array {
  PyObject *(*get_memview)(struct __pyx_array_obj *);
};
static struct __pyx_vtabstruct_array *__pyx_vtabptr_array;


/* "View.MemoryView":334
 * 
 * 
 * @cname('__pyx_memoryview')             # <<<<<<<<<<<<<<
 * cdef class memoryview:
 * 
*/

struct __pyx_vtabstruct_memoryview {
  char *(*get_item_pointer)(struct __pyx_memoryview_obj *, PyObject *);
  PyObject *(*is_slice)(struct __pyx_memoryview_obj *, PyObject *);
  PyObject *(*setitem_slice_assignment)(struct __pyx_memoryview_obj *, PyObject *, PyObject *);
  PyObject *(*setitem_slice_assign_scalar)(struct __pyx_memoryview_obj *, struct __pyx_memoryview_obj *, PyObject *);
  PyObject *(*setitem_indexed)(struct __pyx_memoryview_obj *, PyObject *, PyObject *);
  PyObject *(*convert_item_to_object)(struct __pyx_memoryview_obj *, char *);
  PyObject *(*assign_item_from_object)(struct __pyx_memoryview_obj *, char *, PyObject *);
  PyObject *(*_get_base)(struct __pyx_memoryview_obj *);
};
static struct __pyx_vtabstruct_memoryview *__pyx_vtabptr_memoryview;


/* "View.MemoryView":951
 * 
 * 
 * @cython.collection_type("sequence")             # <<<<<<<<<<<<<<
 * @cname('__pyx_memoryviewslice')
 * cdef class _memoryviewslice(memoryview):
*/

struct __pyx_vtabstruct__memoryviewslice {
  struct __pyx_vtabstruct_memoryview __pyx_base;
};
static struct __pyx_vtabstruct__memoryviewslice *__pyx_vtabptr__memoryviewslice;
/* #### Code section: utility_code_proto ### */

/* --- Runtime support code (head) --- */
/* Refnanny.proto */
#ifndef CYTHON_REFNANNY
  #define CYTHON_REFNANNY 0
#endif
#if CYTHON_REFNANNY
  typedef struct {
    void (*INCREF)(void*, PyObject*, Py_ssize_t);
    void (*DECREF)(void*, PyObject*, Py_ssize_t);
    void (*GOTREF)(void*, PyObject*, Py_ssize_t);
    void (*GIVEREF)(void*, PyObject*, Py_ssize_t);
    void* (*SetupContext)(const char*, Py_ssize_t, const char*);
    void (*FinishContext)(void**);
  } __Pyx_RefNannyAPIStruct;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
  #define __Pyx_RefNannySetupContext(name, acquire_gil)\
          if (acquire_gil) {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
              PyGILState_Release(__pyx_gilstate_save);\
          } else {\
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
          }
  #define __Pyx_RefNannyFinishContextNogil() {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __Pyx_RefNannyFinishContext();\
              PyGILState_Release(__pyx_gilstate_save);\
          }
  #define __Pyx_RefNannyFinishContextNogil() {\
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
              __Pyx_RefNannyFinishContext();\
              PyGILState_Release(__pyx_gilstate_save);\
          }
  #define __Pyx_RefNannyFinishContext()\
          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
  #define __Pyx_XINCREF(r)  do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0)
  #define __Pyx_XDECREF(r)  do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0)
  #define __Pyx_XGOTREF(r)  do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0)
  #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0)
#else
  #define __Pyx_RefNannyDeclarations
  #define __Pyx_RefNannySetupContext(name, acquire_gil)
  #define __Pyx_RefNannyFinishContextNogil()
  #define __Pyx_RefNannyFinishContext()
  #define __Pyx_INCREF(r) Py_INCREF(r)
  #define __Pyx_DECREF(r) Py_DECREF(r)
  #define __Pyx_GOTREF(r)
  #define __Pyx_GIVEREF(r)
  #define __Pyx_XINCREF(r) Py_XINCREF(r)
  #define __Pyx_XDECREF(r) Py_XDECREF(r)
  #define __Pyx_XGOTREF(r)
  #define __Pyx_XGIVEREF(r)
#endif
#define __Pyx_Py_XDECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; Py_XDECREF(tmp);\
    } while (0)
#define __Pyx_XDECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_XDECREF(tmp);\
    } while (0)
#define __Pyx_DECREF_SET(r, v) do {\
        PyObject *tmp = (PyObject *) r;\
        r = v; __Pyx_DECREF(tmp);\
    } while (0)
#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)

/* PyErrExceptionMatches.proto (used by PyObjectGetAttrStrNoError) */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
#else
#define __Pyx_PyErr_ExceptionMatches(err)  PyErr_ExceptionMatches(err)
#endif

/* PyThreadStateGet.proto (used by PyErrFetchRestore) */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_declare  PyThreadState *__pyx_tstate;
#define __Pyx_PyThreadState_assign  __pyx_tstate = __Pyx_PyThreadState_Current;
#if PY_VERSION_HEX >= 0x030C00A6
#define __Pyx_PyErr_Occurred()  (__pyx_tstate->current_exception != NULL)
#define __Pyx_PyErr_CurrentExceptionType()  (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL)
#else
#define __Pyx_PyErr_Occurred()  (__pyx_tstate->curexc_type != NULL)
#define __Pyx_PyErr_CurrentExceptionType()  (__pyx_tstate->curexc_type)
#endif
#else
#define __Pyx_PyThreadState_declare
#define __Pyx_PyThreadState_assign
#define __Pyx_PyErr_Occurred()  (PyErr_Occurred() != NULL)
#define __Pyx_PyErr_CurrentExceptionType()  PyErr_Occurred()
#endif

/* PyErrFetchRestore.proto (used by PyObjectGetAttrStrNoError) */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
#define __Pyx_ErrRestoreWithState(type, value, tb)  __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb)    __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrRestore(type, value, tb)  __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
#define __Pyx_ErrFetch(type, value, tb)    __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6
#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
#else
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#endif
#else
#define __Pyx_PyErr_Clear() PyErr_Clear()
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#define __Pyx_ErrRestoreWithState(type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb)  PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestoreInState(tstate, type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchInState(tstate, type, value, tb)  PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestore(type, value, tb)  PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetch(type, value, tb)  PyErr_Fetch(type, value, tb)
#endif

/* PyObjectGetAttrStr.proto (used by PyObjectGetAttrStrNoError) */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
#endif

/* PyObjectGetAttrStrNoError.proto (used by GetBuiltinName) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);

/* GetBuiltinName.proto */
static PyObject *__Pyx_GetBuiltinName(PyObject *name);

/* TupleAndListFromArray.proto (used by fastcall) */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n);
#endif
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_METH_FASTCALL
static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n);
#endif

/* IncludeStringH.proto (used by BytesEquals) */
#include <string.h>

/* BytesEquals.proto (used by UnicodeEquals) */
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);

/* UnicodeEquals.proto (used by fastcall) */
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);

/* fastcall.proto */
#if CYTHON_AVOID_BORROWED_REFS
    #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_PySequence_ITEM(args, i)
#elif CYTHON_ASSUME_SAFE_MACROS
    #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_NewRef(__Pyx_PyTuple_GET_ITEM(args, i))
#else
    #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_XNewRef(PyTuple_GetItem(args, i))
#endif
#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
#define __Pyx_KwValues_VARARGS(args, nargs) NULL
#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s)
#define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw)
#if CYTHON_METH_FASTCALL
    #define __Pyx_ArgRef_FASTCALL(args, i) __Pyx_NewRef(args[i])
    #define __Pyx_NumKwargs_FASTCALL(kwds) __Pyx_PyTuple_GET_SIZE(kwds)
    #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
    static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API
    CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
  #else
    #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
  #endif
#else
    #define __Pyx_ArgRef_FASTCALL __Pyx_ArgRef_VARARGS
    #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
    #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS
    #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS
    #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS
#endif
#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop)
#if CYTHON_METH_FASTCALL || (CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(args + start, stop - start)
#else
#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop)
#endif

/* py_dict_items.proto (used by OwnedDictNext) */
static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d);

/* CallCFunction.proto (used by CallUnboundCMethod0) */
#define __Pyx_CallCFunction(cfunc, self, args)\
    ((PyCFunction)(void(*)(void))(cfunc)->func)(self, args)
#define __Pyx_CallCFunctionWithKeywords(cfunc, self, args, kwargs)\
    ((PyCFunctionWithKeywords)(void(*)(void))(cfunc)->func)(self, args, kwargs)
#define __Pyx_CallCFunctionFast(cfunc, self, args, nargs)\
    ((__Pyx_PyCFunctionFast)(void(*)(void))(PyCFunction)(cfunc)->func)(self, args, nargs)
#define __Pyx_CallCFunctionFastWithKeywords(cfunc, self, args, nargs, kwnames)\
    ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))(PyCFunction)(cfunc)->func)(self, args, nargs, kwnames)

/* PyObjectCall.proto (used by PyObjectFastCall) */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
#else
#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
#endif

/* PyObjectCallMethO.proto (used by PyObjectFastCall) */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
#endif

/* PyObjectFastCall.proto (used by PyObjectCallOneArg) */
#define __Pyx_PyObject_FastCall(func, args, nargs)  __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL)
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject * const*args, size_t nargs, PyObject *kwargs);

/* PyObjectCallOneArg.proto (used by CallUnboundCMethod0) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);

/* UnpackUnboundCMethod.proto (used by CallUnboundCMethod0) */
typedef struct {
    PyObject *type;
    PyObject **method_name;
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && CYTHON_ATOMICS
    __pyx_atomic_int_type initialized;
#endif
    PyCFunction func;
    PyObject *method;
    int flag;
} __Pyx_CachedCFunction;
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
static CYTHON_INLINE int __Pyx_CachedCFunction_GetAndSetInitializing(__Pyx_CachedCFunction *cfunc) {
#if !CYTHON_ATOMICS
    return 1;
#else
    __pyx_nonatomic_int_type expected = 0;
    if (__pyx_atomic_int_cmp_exchange(&cfunc->initialized, &expected, 1)) {
        return 0;
    }
    return expected;
#endif
}
static CYTHON_INLINE void __Pyx_CachedCFunction_SetFinishedInitializing(__Pyx_CachedCFunction *cfunc) {
#if CYTHON_ATOMICS
    __pyx_atomic_store(&cfunc->initialized, 2);
#endif
}
#else
#define __Pyx_CachedCFunction_GetAndSetInitializing(cfunc) 2
#define __Pyx_CachedCFunction_SetFinishedInitializing(cfunc)
#endif

/* CallUnboundCMethod0.proto */
CYTHON_UNUSED
static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
#else
#define __Pyx_CallUnboundCMethod0(cfunc, self)  __Pyx__CallUnboundCMethod0(cfunc, self)
#endif

/* py_dict_values.proto (used by OwnedDictNext) */
static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d);

/* OwnedDictNext.proto (used by ParseKeywordsImpl) */
#if CYTHON_AVOID_BORROWED_REFS
static int __Pyx_PyDict_NextRef(PyObject *p, PyObject **ppos, PyObject **pkey, PyObject **pvalue);
#else
CYTHON_INLINE
static int __Pyx_PyDict_NextRef(PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue);
#endif

/* RaiseDoubleKeywords.proto (used by ParseKeywordsImpl) */
static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);

/* ParseKeywordsImpl.export */
static int __Pyx_ParseKeywordsTuple(
    PyObject *kwds,
    PyObject * const *kwvalues,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs
);
static int __Pyx_ParseKeywordDictToDict(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name
);
static int __Pyx_ParseKeywordDict(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject *values[],
    Py_ssize_t num_pos_args,
    Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs
);

/* CallUnboundCMethod2.proto */
CYTHON_UNUSED
static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2);
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2);
#else
#define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2)  __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2)
#endif

/* ParseKeywords.proto */
static CYTHON_INLINE int __Pyx_ParseKeywords(
    PyObject *kwds, PyObject *const *kwvalues, PyObject ** const argnames[],
    PyObject *kwds2, PyObject *values[],
    Py_ssize_t num_pos_args, Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs
);

/* RaiseArgTupleInvalid.proto */
static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);

/* PyObjectFastCallMethod.proto */
#if CYTHON_VECTORCALL && PY_VERSION_HEX >= 0x03090000
#define __Pyx_PyObject_FastCallMethod(name, args, nargsf) PyObject_VectorcallMethod(name, args, nargsf, NULL)
#else
static PyObject *__Pyx_PyObject_FastCallMethod(PyObject *name, PyObject *const *args, size_t nargsf);
#endif

/* ArgTypeTestFunc.export */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);

/* ArgTypeTest.proto */
#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
    ((likely(__Pyx_IS_TYPE(obj, type) | (none_allowed && (obj == Py_None)))) ? 1 :\
        __Pyx__ArgTypeTest(obj, type, name, exact))

/* PyValueError_Check.proto */
#define __Pyx_PyExc_ValueError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_ValueError)

/* RaiseException.export */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);

/* RaiseUnexpectedTypeError.proto */
static int __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj);

/* PyMemoryError_Check.proto */
#define __Pyx_PyExc_MemoryError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_MemoryError)

/* BuildPyUnicode.proto (used by COrdinalToPyUnicode) */
static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength, const char* chars, int clength,
                                                int prepend_sign, char padding_char);

/* COrdinalToPyUnicode.proto (used by CIntToPyUnicode) */
static CYTHON_INLINE int __Pyx_CheckUnicodeValue(int value);
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromOrdinal_Padded(int value, Py_ssize_t width, char padding_char);

/* GCCDiagnostics.proto (used by CIntToPyUnicode) */
#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
#define __Pyx_HAS_GCC_DIAGNOSTIC
#endif

/* IncludeStdlibH.proto (used by CIntToPyUnicode) */
#include <stdlib.h>

/* CIntToPyUnicode.proto */
#define __Pyx_PyUnicode_From_int(value, width, padding_char, format_char) (\
    ((format_char) == ('c')) ?\
        __Pyx_uchar___Pyx_PyUnicode_From_int(value, width, padding_char) :\
        __Pyx____Pyx_PyUnicode_From_int(value, width, padding_char, format_char)\
    )
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_int(int value, Py_ssize_t width, char padding_char);
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_int(int value, Py_ssize_t width, char padding_char, char format_char);

/* CIntToPyUnicode.proto */
#define __Pyx_PyUnicode_From_Py_ssize_t(value, width, padding_char, format_char) (\
    ((format_char) == ('c')) ?\
        __Pyx_uchar___Pyx_PyUnicode_From_Py_ssize_t(value, width, padding_char) :\
        __Pyx____Pyx_PyUnicode_From_Py_ssize_t(value, width, padding_char, format_char)\
    )
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char);
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char, char format_char);

/* JoinPyUnicode.export */
static PyObject* __Pyx_PyUnicode_Join(PyObject** values, Py_ssize_t value_count, Py_ssize_t result_ulength,
                                      Py_UCS4 max_char);

/* PyObjectFormatSimple.proto */
#if CYTHON_COMPILING_IN_PYPY
    #define __Pyx_PyObject_FormatSimple(s, f) (\
        likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
        PyObject_Format(s, f))
#elif CYTHON_USE_TYPE_SLOTS
    #define __Pyx_PyObject_FormatSimple(s, f) (\
        likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
        likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_repr(s) :\
        likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_repr(s) :\
        PyObject_Format(s, f))
#else
    #define __Pyx_PyObject_FormatSimple(s, f) (\
        likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
        PyObject_Format(s, f))
#endif

CYTHON_UNUSED static int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *); /*proto*/
/* GetAttr.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);

/* GetItemInt.proto */
#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil, unsafe_shared)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck, unsafe_shared) :\
    (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
               __Pyx_GetItemInt_Generic(o, to_py_func(i))))
#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil, unsafe_shared)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck, unsafe_shared) :\
    (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck, int unsafe_shared);
#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil, unsafe_shared)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck, unsafe_shared) :\
    (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck, int unsafe_shared);
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
                                                     int is_list, int wraparound, int boundscheck, int unsafe_shared);

/* ObjectGetItem.proto */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key);
#else
#define __Pyx_PyObject_GetItem(obj, key)  PyObject_GetItem(obj, key)
#endif

/* RejectKeywords.export */
static void __Pyx_RejectKeywords(const char* function_name, PyObject *kwds);

/* PyTypeError_Check.proto */
#define __Pyx_PyExc_TypeError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_TypeError)

/* DivInt[Py_ssize_t].proto */
static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t, Py_ssize_t, int b_is_constant);

/* UnaryNegOverflows.proto */
#define __Pyx_UNARY_NEG_WOULD_OVERFLOW(x)\
        (((x) < 0) & ((unsigned long)(x) == 0-(unsigned long)(x)))

/* GetAttr3.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);

/* PyDictVersioning.proto (used by GetModuleGlobalName) */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
#define __PYX_DICT_VERSION_INIT  ((PY_UINT64_T) -1)
#define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
    (version_var) = __PYX_GET_DICT_VERSION(dict);\
    (cache_var) = (value);
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
    static PY_UINT64_T __pyx_dict_version = 0;\
    static PyObject *__pyx_dict_cached_value = NULL;\
    if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
        (VAR) = __Pyx_XNewRef(__pyx_dict_cached_value);\
    } else {\
        (VAR) = __pyx_dict_cached_value = (LOOKUP);\
        __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
    }\
}
static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
#else
#define __PYX_GET_DICT_VERSION(dict)  (0)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP)  (VAR) = (LOOKUP);
#endif

/* GetModuleGlobalName.proto */
#if CYTHON_USE_DICT_VERSIONS
#define __Pyx_GetModuleGlobalName(var, name)  do {\
    static PY_UINT64_T __pyx_dict_version = 0;\
    static PyObject *__pyx_dict_cached_value = NULL;\
    (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_mstate_global->__pyx_d))) ?\
        (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
        __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
} while(0)
#define __Pyx_GetModuleGlobalNameUncached(var, name)  do {\
    PY_UINT64_T __pyx_dict_version;\
    PyObject *__pyx_dict_cached_value;\
    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
} while(0)
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
#else
#define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
#define __Pyx_GetModuleGlobalNameUncached(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
#endif

/* AssertionsEnabled.proto */
#if CYTHON_COMPILING_IN_LIMITED_API  ||  PY_VERSION_HEX >= 0x030C0000
  static int __pyx_assertions_enabled_flag;
  #define __pyx_assertions_enabled() (__pyx_assertions_enabled_flag)
  #if __clang__ || __GNUC__
  __attribute__((no_sanitize("thread")))
  #endif
  static int __Pyx_init_assertions_enabled(void) {
    PyObject *builtins, *debug, *debug_str;
    int flag;
    builtins = PyEval_GetBuiltins();
    if (!builtins) goto bad;
    debug_str = PyUnicode_FromStringAndSize("__debug__", 9);
    if (!debug_str) goto bad;
    debug = PyObject_GetItem(builtins, debug_str);
    Py_DECREF(debug_str);
    if (!debug) goto bad;
    flag = PyObject_IsTrue(debug);
    Py_DECREF(debug);
    if (flag == -1) goto bad;
    __pyx_assertions_enabled_flag = flag;
    return 0;
  bad:
    __pyx_assertions_enabled_flag = 1;
    return -1;
  }
#else
  #define __Pyx_init_assertions_enabled()  (0)
  #define __pyx_assertions_enabled()  (!Py_OptimizeFlag)
#endif

/* PyAssertionError_Check.proto */
#define __Pyx_PyExc_AssertionError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_AssertionError)

/* RaiseTooManyValuesToUnpack.proto */
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);

/* RaiseNeedMoreValuesToUnpack.proto */
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);

/* RaiseNoneIterError.proto */
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);

/* ExtTypeTest.proto */
static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);

/* GetTopmostException.proto (used by SaveResetException) */
#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
#endif

/* SaveResetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSave(type, value, tb)  __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#define __Pyx_ExceptionReset(type, value, tb)  __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
#else
#define __Pyx_ExceptionSave(type, value, tb)   PyErr_GetExcInfo(type, value, tb)
#define __Pyx_ExceptionReset(type, value, tb)  PyErr_SetExcInfo(type, value, tb)
#endif

/* GetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_GetException(type, value, tb)  __Pyx__GetException(__pyx_tstate, type, value, tb)
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* SwapException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSwap(type, value, tb)  __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
#endif

/* HasAttr.proto (used by ImportImpl) */
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
#define __Pyx_HasAttr(o, n)  PyObject_HasAttrWithError(o, n)
#else
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);
#endif

/* ImportImpl.export */
static PyObject *__Pyx__Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, PyObject *moddict, int level);

/* Import.proto */
static CYTHON_INLINE PyObject *__Pyx_Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, int level);

/* FastTypeChecks.proto */
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2)
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
#else
#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2))
#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2) {
    return PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2);
}
#endif
#define __Pyx_PyErr_ExceptionMatches2(err1, err2)  __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2)
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
#ifdef PyExceptionInstance_Check
  #define __Pyx_PyBaseException_Check(obj) PyExceptionInstance_Check(obj)
#else
  #define __Pyx_PyBaseException_Check(obj) __Pyx_TypeCheck(obj, PyExc_BaseException)
#endif

CYTHON_UNUSED static int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
/* ListCompAppend.proto */
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len)) {
        Py_INCREF(x);
        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
        L->ob_item[len] = x;
        #else
        PyList_SET_ITEM(list, len, x);
        #endif
        __Pyx_SET_SIZE(list, len + 1);
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
#endif

/* PySequenceMultiply.proto */
#define __Pyx_PySequence_Multiply_Left(mul, seq)  __Pyx_PySequence_Multiply(seq, mul)
#if !CYTHON_USE_TYPE_SLOTS
#define  __Pyx_PySequence_Multiply PySequence_Repeat
#else
static CYTHON_INLINE PyObject* __Pyx_PySequence_Multiply(PyObject *seq, Py_ssize_t mul);
#endif

/* PyObjectFormatAndDecref.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatSimpleAndDecref(PyObject* s, PyObject* f);
static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatAndDecref(PyObject* s, PyObject* f);

/* PyObjectFormat.proto */
#if CYTHON_USE_UNICODE_WRITER
static PyObject* __Pyx_PyObject_Format(PyObject* s, PyObject* f);
#else
#define __Pyx_PyObject_Format(s, f) PyObject_Format(s, f)
#endif

/* SetItemInt.proto */
#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, is_list, wraparound, boundscheck, has_gil, unsafe_shared)\
    (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
    __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, is_list, wraparound, boundscheck, unsafe_shared) :\
    (is_list ? (PyErr_SetString(PyExc_IndexError, "list assignment index out of range"), -1) :\
               __Pyx_SetItemInt_Generic(o, to_py_func(i), v)))
static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v);
static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v,
                                               int is_list, int wraparound, int boundscheck, int unsafe_shared);

/* RaiseUnboundLocalError.proto */
static void __Pyx_RaiseUnboundLocalError(const char *varname);

/* PyIndexError_Check.proto */
#define __Pyx_PyExc_IndexError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_IndexError)

/* DivInt[long].proto */
static CYTHON_INLINE long __Pyx_div_long(long, long, int b_is_constant);

/* PyImportError_Check.proto */
#define __Pyx_PyExc_ImportError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_ImportError)

/* pybytes_as_double.proto (used by pyobject_as_double) */
static double __Pyx_SlowPyString_AsDouble(PyObject *obj);
static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length);
static CYTHON_INLINE double __Pyx_PyBytes_AsDouble(PyObject *obj) {
    char* as_c_string;
    Py_ssize_t size;
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
    as_c_string = PyBytes_AS_STRING(obj);
    size = PyBytes_GET_SIZE(obj);
#else
    if (PyBytes_AsStringAndSize(obj, &as_c_string, &size) < 0) {
        return (double)-1;
    }
#endif
    return __Pyx__PyBytes_AsDouble(obj, as_c_string, size);
}
static CYTHON_INLINE double __Pyx_PyByteArray_AsDouble(PyObject *obj) {
    char* as_c_string;
    Py_ssize_t size;
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
    as_c_string = PyByteArray_AS_STRING(obj);
    size = PyByteArray_GET_SIZE(obj);
#else
    as_c_string = PyByteArray_AsString(obj);
    if (as_c_string == NULL) {
        return (double)-1;
    }
    size = PyByteArray_Size(obj);
#endif
    return __Pyx__PyBytes_AsDouble(obj, as_c_string, size);
}

/* pyunicode_as_double.proto (used by pyobject_as_double) */
#if !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS
static const char* __Pyx__PyUnicode_AsDouble_Copy(const void* data, const int kind, char* buffer, Py_ssize_t start, Py_ssize_t end) {
    int last_was_punctuation;
    Py_ssize_t i;
    last_was_punctuation = 1;
    for (i=start; i <= end; i++) {
        Py_UCS4 chr = PyUnicode_READ(kind, data, i);
        int is_punctuation = (chr == '_') | (chr == '.');
        *buffer = (char)chr;
        buffer += (chr != '_');
        if (unlikely(chr > 127)) goto parse_failure;
        if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure;
        last_was_punctuation = is_punctuation;
    }
    if (unlikely(last_was_punctuation)) goto parse_failure;
    *buffer = '\0';
    return buffer;
parse_failure:
    return NULL;
}
static double __Pyx__PyUnicode_AsDouble_inf_nan(const void* data, int kind, Py_ssize_t start, Py_ssize_t length) {
    int matches = 1;
    Py_UCS4 chr;
    Py_UCS4 sign = PyUnicode_READ(kind, data, start);
    int is_signed = (sign == '-') | (sign == '+');
    start += is_signed;
    length -= is_signed;
    switch (PyUnicode_READ(kind, data, start)) {
        #ifdef Py_NAN
        case 'n':
        case 'N':
            if (unlikely(length != 3)) goto parse_failure;
            chr = PyUnicode_READ(kind, data, start+1);
            matches &= (chr == 'a') | (chr == 'A');
            chr = PyUnicode_READ(kind, data, start+2);
            matches &= (chr == 'n') | (chr == 'N');
            if (unlikely(!matches)) goto parse_failure;
            return (sign == '-') ? -Py_NAN : Py_NAN;
        #endif
        case 'i':
        case 'I':
            if (unlikely(length < 3)) goto parse_failure;
            chr = PyUnicode_READ(kind, data, start+1);
            matches &= (chr == 'n') | (chr == 'N');
            chr = PyUnicode_READ(kind, data, start+2);
            matches &= (chr == 'f') | (chr == 'F');
            if (likely(length == 3 && matches))
                return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
            if (unlikely(length != 8)) goto parse_failure;
            chr = PyUnicode_READ(kind, data, start+3);
            matches &= (chr == 'i') | (chr == 'I');
            chr = PyUnicode_READ(kind, data, start+4);
            matches &= (chr == 'n') | (chr == 'N');
            chr = PyUnicode_READ(kind, data, start+5);
            matches &= (chr == 'i') | (chr == 'I');
            chr = PyUnicode_READ(kind, data, start+6);
            matches &= (chr == 't') | (chr == 'T');
            chr = PyUnicode_READ(kind, data, start+7);
            matches &= (chr == 'y') | (chr == 'Y');
            if (unlikely(!matches)) goto parse_failure;
            return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
        case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
            break;
        default:
            goto parse_failure;
    }
    return 0.0;
parse_failure:
    return -1.0;
}
static double __Pyx_PyUnicode_AsDouble_WithSpaces(PyObject *obj) {
    double value;
    const char *last;
    char *end;
    Py_ssize_t start, length = PyUnicode_GET_LENGTH(obj);
    const int kind = PyUnicode_KIND(obj);
    const void* data = PyUnicode_DATA(obj);
    start = 0;
    while (Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, start)))
        start++;
    while (start < length - 1 && Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, length - 1)))
        length--;
    length -= start;
    if (unlikely(length <= 0)) goto fallback;
    value = __Pyx__PyUnicode_AsDouble_inf_nan(data, kind, start, length);
    if (unlikely(value == -1.0)) goto fallback;
    if (value != 0.0) return value;
    if (length < 40) {
        char number[40];
        last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length);
        if (unlikely(!last)) goto fallback;
        value = PyOS_string_to_double(number, &end, NULL);
    } else {
        char *number = (char*) PyMem_Malloc((length + 1) * sizeof(char));
        if (unlikely(!number)) goto fallback;
        last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length);
        if (unlikely(!last)) {
            PyMem_Free(number);
            goto fallback;
        }
        value = PyOS_string_to_double(number, &end, NULL);
        PyMem_Free(number);
    }
    if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) {
        return value;
    }
fallback:
    return __Pyx_SlowPyString_AsDouble(obj);
}
#endif
static CYTHON_INLINE double __Pyx_PyUnicode_AsDouble(PyObject *obj) {
#if !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS
    if (unlikely(__Pyx_PyUnicode_READY(obj) == -1))
        return (double)-1;
    if (likely(PyUnicode_IS_ASCII(obj))) {
        const char *s;
        Py_ssize_t length;
        s = PyUnicode_AsUTF8AndSize(obj, &length);
        return __Pyx__PyBytes_AsDouble(obj, s, length);
    }
    return __Pyx_PyUnicode_AsDouble_WithSpaces(obj);
#else
    return __Pyx_SlowPyString_AsDouble(obj);
#endif
}

/* pyobject_as_double.proto */
static double __Pyx__PyObject_AsDouble(PyObject* obj);
#if CYTHON_COMPILING_IN_PYPY
#define __Pyx_PyObject_AsDouble(obj)\
(likely(PyFloat_CheckExact(obj)) ? PyFloat_AS_DOUBLE(obj) :\
 likely(PyLong_CheckExact(obj)) ?\
 PyFloat_AsDouble(obj) : __Pyx__PyObject_AsDouble(obj))
#else
#define __Pyx_PyObject_AsDouble(obj)\
((likely(PyFloat_CheckExact(obj))) ?  __Pyx_PyFloat_AS_DOUBLE(obj) :\
 likely(PyLong_CheckExact(obj)) ?\
 PyLong_AsDouble(obj) : __Pyx__PyObject_AsDouble(obj))
#endif

/* FloatExceptionCheck.proto */
#define __PYX_CHECK_FLOAT_EXCEPTION(value, error_value)\
    ((error_value) == (error_value) ?\
     (value) == (error_value) :\
     (value) != (value))

/* PyLongCompare.proto */
static CYTHON_INLINE int __Pyx_PyLong_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace);

/* pynumber_float.proto */
static CYTHON_INLINE PyObject* __Pyx__PyNumber_Float(PyObject* obj);
#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : __Pyx__PyNumber_Float(x))

/* PyObjectVectorCallKwBuilder.proto */
CYTHON_UNUSED static int __Pyx_VectorcallBuilder_AddArg_Check(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n);
#if CYTHON_VECTORCALL
#if PY_VERSION_HEX >= 0x03090000
#define __Pyx_Object_Vectorcall_CallFromBuilder PyObject_Vectorcall
#else
#define __Pyx_Object_Vectorcall_CallFromBuilder _PyObject_Vectorcall
#endif
#define __Pyx_MakeVectorcallBuilderKwds(n) PyTuple_New(n)
static int __Pyx_VectorcallBuilder_AddArg(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n);
static int __Pyx_VectorcallBuilder_AddArgStr(const char *key, PyObject *value, PyObject *builder, PyObject **args, int n);
#else
#define __Pyx_Object_Vectorcall_CallFromBuilder __Pyx_PyObject_FastCallDict
#define __Pyx_MakeVectorcallBuilderKwds(n) __Pyx_PyDict_NewPresized(n)
#define __Pyx_VectorcallBuilder_AddArg(key, value, builder, args, n) PyDict_SetItem(builder, key, value)
#define __Pyx_VectorcallBuilder_AddArgStr(key, value, builder, args, n) PyDict_SetItemString(builder, key, value)
#endif

/* PyFloatBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyFloat_EqObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyFloat_EqObjC(op1, op2, floatval, inplace, zerodivision_check)\
    (PyObject_RichCompare(op1, op2, Py_EQ))
    #endif

/* PyNotImplementedError_Check.proto */
#define __Pyx_PyExc_NotImplementedError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_NotImplementedError)

/* pep479.proto */
static void __Pyx_Generator_Replace_StopIteration(int in_async_gen);

/* dict_setdefault.proto (used by FetchCommonType) */
static CYTHON_INLINE PyObject *__Pyx_PyDict_SetDefault(PyObject *d, PyObject *key, PyObject *default_value);

/* LimitedApiGetTypeDict.proto (used by SetItemOnTypeDict) */
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *__Pyx_GetTypeDict(PyTypeObject *tp);
#endif

/* SetItemOnTypeDict.proto (used by FixUpExtensionType) */
static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *v);
#define __Pyx_SetItemOnTypeDict(tp, k, v) __Pyx__SetItemOnTypeDict((PyTypeObject*)tp, k, v)

/* FixUpExtensionType.proto (used by FetchCommonType) */
static CYTHON_INLINE int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type);

/* AddModuleRef.proto (used by FetchSharedCythonModule) */
#if ((CYTHON_COMPILING_IN_CPYTHON_FREETHREADING ) ||\
     __PYX_LIMITED_VERSION_HEX < 0x030d0000)
  static PyObject *__Pyx_PyImport_AddModuleRef(const char *name);
#else
  #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
#endif

/* FetchSharedCythonModule.proto (used by FetchCommonType) */
static PyObject *__Pyx_FetchSharedCythonABIModule(void);

/* FetchCommonType.proto (used by CommonTypesMetaclass) */
static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases);

/* CommonTypesMetaclass.proto (used by CythonFunctionShared) */
static int __pyx_CommonTypesMetaclass_init(PyObject *module);
#define __Pyx_CommonTypesMetaclass_USED

/* CallTypeTraverse.proto (used by CythonFunctionShared) */
#if !CYTHON_USE_TYPE_SPECS || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x03090000)
#define __Pyx_call_type_traverse(o, always_call, visit, arg) 0
#else
static int __Pyx_call_type_traverse(PyObject *o, int always_call, visitproc visit, void *arg);
#endif

/* PyMethodNew.proto (used by CythonFunctionShared) */
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ);

/* PyVectorcallFastCallDict.proto (used by CythonFunctionShared) */
#if CYTHON_METH_FASTCALL && CYTHON_VECTORCALL
static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw);
#endif

/* CythonFunctionShared.proto (used by CythonFunction) */
#define __Pyx_CyFunction_USED
#define __Pyx_CYFUNCTION_STATICMETHOD  0x01
#define __Pyx_CYFUNCTION_CLASSMETHOD   0x02
#define __Pyx_CYFUNCTION_CCLASS        0x04
#define __Pyx_CYFUNCTION_COROUTINE     0x08
#define __Pyx_CyFunction_GetClosure(f)\
    (((__pyx_CyFunctionObject *) (f))->func_closure)
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
  #define __Pyx_CyFunction_GetClassObj(f)\
      (((__pyx_CyFunctionObject *) (f))->func_classobj)
#else
  #define __Pyx_CyFunction_GetClassObj(f)\
      ((PyObject*) ((PyCMethodObject *) (f))->mm_class)
#endif
#define __Pyx_CyFunction_SetClassObj(f, classobj)\
    __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj))
#define __Pyx_CyFunction_Defaults(type, f)\
    ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
    ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
typedef struct {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject_HEAD
    PyObject *func;
#elif PY_VERSION_HEX < 0x030900B1
    PyCFunctionObject func;
#else
    PyCMethodObject func;
#endif
#if CYTHON_COMPILING_IN_LIMITED_API && CYTHON_METH_FASTCALL
    __pyx_vectorcallfunc func_vectorcall;
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_weakreflist;
#endif
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_dict;
#endif
    PyObject *func_name;
    PyObject *func_qualname;
    PyObject *func_doc;
    PyObject *func_globals;
    PyObject *func_code;
    PyObject *func_closure;
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    PyObject *func_classobj;
#endif
    PyObject *defaults;
    int flags;
    PyObject *defaults_tuple;
    PyObject *defaults_kwdict;
    PyObject *(*defaults_getter)(PyObject *);
    PyObject *func_annotations;
    PyObject *func_is_coroutine;
} __pyx_CyFunctionObject;
#undef __Pyx_CyOrPyCFunction_Check
#define __Pyx_CyFunction_Check(obj)  __Pyx_TypeCheck(obj, __pyx_mstate_global->__pyx_CyFunctionType)
#define __Pyx_CyOrPyCFunction_Check(obj)  __Pyx_TypeCheck2(obj, __pyx_mstate_global->__pyx_CyFunctionType, &PyCFunction_Type)
#define __Pyx_CyFunction_CheckExact(obj)  __Pyx_IS_TYPE(obj, __pyx_mstate_global->__pyx_CyFunctionType)
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void (*cfunc)(void));
#undef __Pyx_IsSameCFunction
#define __Pyx_IsSameCFunction(func, cfunc)   __Pyx__IsSameCyOrCFunction(func, cfunc)
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
                                      int flags, PyObject* qualname,
                                      PyObject *closure,
                                      PyObject *module, PyObject *globals,
                                      PyObject* code);
static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj);
static CYTHON_INLINE PyObject *__Pyx_CyFunction_InitDefaults(PyObject *func,
                                                         PyTypeObject *defaults_type);
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
                                                            PyObject *tuple);
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
                                                             PyObject *dict);
static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
                                                              PyObject *dict);
static int __pyx_CyFunction_init(PyObject *module);
#if CYTHON_METH_FASTCALL
static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
#if CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall)
#else
#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall)
#endif
#endif

/* CythonFunction.proto */
static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
                                      int flags, PyObject* qualname,
                                      PyObject *closure,
                                      PyObject *module, PyObject *globals,
                                      PyObject* code);

/* PyObject_Unicode.proto */
#define __Pyx_PyObject_Unicode(obj)\
    (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj))

/* IterFinish.proto (used by dict_iter) */
static CYTHON_INLINE int __Pyx_IterFinish(void);

/* PyObjectCallNoArg.proto (used by PyObjectCallMethod0) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);

/* PyObjectGetMethod.proto (used by PyObjectCallMethod0) */
#if !(CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000)))
static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
#endif

/* PyObjectCallMethod0.proto (used by dict_iter) */
static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);

/* UnpackItemEndCheck.proto (used by UnpackTuple2) */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);

/* UnpackTupleError.proto (used by UnpackTuple2) */
static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index);

/* UnpackTuple2.proto (used by dict_iter) */
static CYTHON_INLINE int __Pyx_unpack_tuple2(
    PyObject* tuple, PyObject** value1, PyObject** value2, int is_tuple, int has_known_size, int decref_tuple);
static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
    PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple);
static int __Pyx_unpack_tuple2_generic(
    PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple);

/* dict_iter.proto */
static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name,
                                                   Py_ssize_t* p_orig_length, int* p_is_dict);
static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
                                              PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);

/* py_abs.proto */
#if CYTHON_USE_PYLONG_INTERNALS
static PyObject *__Pyx_PyLong_AbsNeg(PyObject *num);
#define __Pyx_PyNumber_Absolute(x)\
    ((likely(PyLong_CheckExact(x))) ?\
         (likely(__Pyx_PyLong_IsNonNeg(x)) ? __Pyx_NewRef(x) : __Pyx_PyLong_AbsNeg(x)) :\
         PyNumber_Absolute(x))
#else
#define __Pyx_PyNumber_Absolute(x)  PyNumber_Absolute(x)
#endif

/* PyRange_Check.proto */
#if CYTHON_COMPILING_IN_PYPY && !defined(PyRange_Check)
  #define PyRange_Check(obj)  __Pyx_TypeCheck((obj), &PyRange_Type)
#endif

/* pyint_simplify.proto */
static CYTHON_INLINE int __Pyx_PyInt_FromNumber(PyObject **number_var, const char *argname, int accept_none);

/* PyFloatBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static int __Pyx_PyFloat_BoolNeObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyFloat_BoolNeObjC(op1, op2, floatval, inplace, zerodivision_check)\
    __Pyx_PyObject_IsTrueAndDecref(PyObject_RichCompare(op1, op2, Py_NE))
    #endif

/* PyFloatBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static int __Pyx_PyFloat_BoolEqObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyFloat_BoolEqObjC(op1, op2, floatval, inplace, zerodivision_check)\
    __Pyx_PyObject_IsTrueAndDecref(PyObject_RichCompare(op1, op2, Py_EQ))
    #endif

/* ListAppend.proto (used by append) */
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
        Py_INCREF(x);
        #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
        L->ob_item[len] = x;
        #else
        PyList_SET_ITEM(list, len, x);
        #endif
        __Pyx_SET_SIZE(list, len + 1);
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
#endif

/* PyObjectCall2Args.proto (used by PyObjectCallMethod1) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);

/* PyObjectCallMethod1.proto (used by append) */
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);

/* append.proto */
static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x);

/* PyZeroDivisionError_Check.proto */
#define __Pyx_PyExc_ZeroDivisionError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_ZeroDivisionError)

/* PyWarning_Check.proto */
#define __Pyx_PyExc_Warning_Check(obj)  __Pyx_TypeCheck(obj, PyExc_Warning)

/* WriteUnraisableException.proto */
static void __Pyx_WriteUnraisable(const char *name, int clineno,
                                  int lineno, const char *filename,
                                  int full_traceback, int nogil);

/* PyLongBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static CYTHON_INLINE PyObject* __Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyLong_AddObjC(op1, op2, intval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
#endif

/* PyLongBinop.proto */
#if !CYTHON_COMPILING_IN_PYPY
static CYTHON_INLINE PyObject* __Pyx_PyLong_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
#else
#define __Pyx_PyLong_SubtractObjC(op1, op2, intval, inplace, zerodivision_check)\
    (inplace ? PyNumber_InPlaceSubtract(op1, op2) : PyNumber_Subtract(op1, op2))
#endif

/* PySequenceContains.proto */
static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) {
    int result = PySequence_Contains(seq, item);
    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
}

/* DictGetItem.proto */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
#define __Pyx_PyObject_Dict_GetItem(obj, name)\
    (likely(PyDict_CheckExact(obj)) ?\
     __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))
#else
#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
#define __Pyx_PyObject_Dict_GetItem(obj, name)  PyObject_GetItem(obj, name)
#endif

/* decode_c_string_utf16.proto (used by decode_c_string) */
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16(const char *s, Py_ssize_t size, const char *errors) {
    int byteorder = 0;
    return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
}
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16LE(const char *s, Py_ssize_t size, const char *errors) {
    int byteorder = -1;
    return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
}
static CYTHON_INLINE PyObject *__Pyx_PyUnicode_DecodeUTF16BE(const char *s, Py_ssize_t size, const char *errors) {
    int byteorder = 1;
    return PyUnicode_DecodeUTF16(s, size, errors, &byteorder);
}

/* decode_c_string.proto */
static CYTHON_INLINE PyObject* __Pyx_decode_c_string(
         const char* cstring, Py_ssize_t start, Py_ssize_t stop,
         const char* encoding, const char* errors,
         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors));

/* PyDictContains.proto */
static CYTHON_INLINE int __Pyx_PyDict_ContainsTF(PyObject* item, PyObject* dict, int eq) {
    int result = PyDict_Contains(dict, item);
    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
}

/* PyUnicodeContains.proto */
static CYTHON_INLINE int __Pyx_PyUnicode_ContainsTF(PyObject* substring, PyObject* text, int eq) {
    int result = PyUnicode_Contains(text, substring);
    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
}

/* RaiseClosureNameError.proto */
static void __Pyx_RaiseClosureNameError(const char *varname);

/* BufferIndexError.proto */
static void __Pyx_RaiseBufferIndexError(int axis);

/* IsLittleEndian.proto (used by BufferFormatCheck) */
static CYTHON_INLINE int __Pyx_Is_Little_Endian(void);

/* BufferFormatCheck.proto (used by BufferGetAndValidate) */
static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts);
static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
                              __Pyx_BufFmt_StackElem* stack,
                              const __Pyx_TypeInfo* type);

/* BufferGetAndValidate.proto */
#define __Pyx_GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack)\
    ((obj == Py_None || obj == NULL) ?\
    (__Pyx_ZeroBuffer(buf), 0) :\
    __Pyx__GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack))
static int  __Pyx__GetBufferAndValidate(Py_buffer* buf, PyObject* obj,
  const __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack);
static void __Pyx_ZeroBuffer(Py_buffer* buf);
static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info);
static Py_ssize_t __Pyx_minusones[] = { -1, -1, -1, -1, -1, -1, -1, -1 };
static Py_ssize_t __Pyx_zeros[] = { 0, 0, 0, 0, 0, 0, 0, 0 };

#define __Pyx_BufPtrStrided2d(type, buf, i0, s0, i1, s1) (type)((char*)buf + i0 * s0 + i1 * s1)
/* PyIOError_Check.proto */
#define __Pyx_PyExc_IOError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_IOError)

/* PyKeyError_Check.proto */
#define __Pyx_PyExc_KeyError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_KeyError)

/* PyLookupError_Check.proto */
#define __Pyx_PyExc_LookupError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_LookupError)

/* decode_c_bytes.proto (used by decode_bytes) */
static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes(
         const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop,
         const char* encoding, const char* errors,
         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors));

/* decode_bytes.proto */
static CYTHON_INLINE PyObject* __Pyx_decode_bytes(
         PyObject* string, Py_ssize_t start, Py_ssize_t stop,
         const char* encoding, const char* errors,
         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) {
    char* as_c_string;
    Py_ssize_t size;
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
    as_c_string = PyBytes_AS_STRING(string);
    size = PyBytes_GET_SIZE(string);
#else
    if (PyBytes_AsStringAndSize(string, &as_c_string, &size) < 0) {
        return NULL;
    }
#endif
    return __Pyx_decode_c_bytes(
        as_c_string, size,
        start, stop, encoding, errors, decode_func);
}

/* CIntToPyUnicode.proto */
#define __Pyx_PyUnicode_From_SCIP_STAGE(value, width, padding_char, format_char) (\
    ((format_char) == ('c')) ?\
        __Pyx_uchar___Pyx_PyUnicode_From_SCIP_STAGE(value, width, padding_char) :\
        __Pyx____Pyx_PyUnicode_From_SCIP_STAGE(value, width, padding_char, format_char)\
    )
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_SCIP_STAGE(SCIP_STAGE value, Py_ssize_t width, char padding_char);
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_SCIP_STAGE(SCIP_STAGE value, Py_ssize_t width, char padding_char, char format_char);

/* PyLongCompare.proto */
static CYTHON_INLINE int __Pyx_PyLong_BoolNeObjC(PyObject *op1, PyObject *op2, long intval, long inplace);

/* PyObjectDelAttr.proto (used by PyObjectSetAttrStr) */
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
#define __Pyx_PyObject_DelAttr(o, n) PyObject_SetAttr(o, n, NULL)
#else
#define __Pyx_PyObject_DelAttr(o, n) PyObject_DelAttr(o, n)
#endif

/* PyObjectSetAttrStr.proto */
#if CYTHON_USE_TYPE_SLOTS
#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL)
static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value);
#else
#define __Pyx_PyObject_DelAttrStr(o,n)   __Pyx_PyObject_DelAttr(o,n)
#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
#endif

/* Py3UpdateBases.proto */
static PyObject* __Pyx_PEP560_update_bases(PyObject *bases);

/* CalculateMetaclass.proto */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);

/* SetNameInClass.proto */
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000
#define __Pyx_SetNameInClass(ns, name, value)\
    (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
#elif CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_SetNameInClass(ns, name, value)\
    (likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value))
#else
#define __Pyx_SetNameInClass(ns, name, value)  PyObject_SetItem(ns, name, value)
#endif

/* PyObjectLookupSpecial.proto (used by Py3ClassCreate) */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
#define __Pyx_PyObject_LookupSpecialNoError(obj, attr_name)  __Pyx__PyObject_LookupSpecial(obj, attr_name, 0)
#define __Pyx_PyObject_LookupSpecial(obj, attr_name)  __Pyx__PyObject_LookupSpecial(obj, attr_name, 1)
static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error);
#else
#define __Pyx_PyObject_LookupSpecialNoError(o,n) __Pyx_PyObject_GetAttrStrNoError(o,n)
#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
#endif

/* Py3ClassCreate.proto */
static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
                                           PyObject *mkw, PyObject *modname, PyObject *doc);
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
                                      PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);

/* SliceObject.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
        PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
        PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
        int has_cstart, int has_cstop, int wraparound);

/* PyObjectVectorCallMethodKwBuilder.proto */
#if CYTHON_VECTORCALL && PY_VERSION_HEX >= 0x03090000
#define __Pyx_Object_VectorcallMethod_CallFromBuilder PyObject_VectorcallMethod
#else
static PyObject *__Pyx_Object_VectorcallMethod_CallFromBuilder(PyObject *name, PyObject *const *args, size_t nargsf, PyObject *kwnames);
#endif

/* PyRuntimeError_Check.proto */
#define __Pyx_PyExc_RuntimeError_Check(obj)  __Pyx_TypeCheck(obj, PyExc_RuntimeError)

/* PyDeprecationWarning_Check.proto */
#define __Pyx_PyExc_DeprecationWarning_Check(obj)  __Pyx_TypeCheck(obj, PyExc_DeprecationWarning)

/* UnicodeAsUCS4.proto (used by object_ord) */
static CYTHON_INLINE Py_UCS4 __Pyx_PyUnicode_AsPy_UCS4(PyObject*);

/* object_ord.proto */
#define __Pyx_PyObject_Ord(c)\
    (likely(PyUnicode_Check(c)) ? (long)__Pyx_PyUnicode_AsPy_UCS4(c) : __Pyx__PyObject_Ord(c))
static long __Pyx__PyObject_Ord(PyObject* c);

/* CIntToPyUnicode.proto */
#define __Pyx_PyUnicode_From_long(value, width, padding_char, format_char) (\
    ((format_char) == ('c')) ?\
        __Pyx_uchar___Pyx_PyUnicode_From_long(value, width, padding_char) :\
        __Pyx____Pyx_PyUnicode_From_long(value, width, padding_char, format_char)\
    )
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_long(long value, Py_ssize_t width, char padding_char);
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_long(long value, Py_ssize_t width, char padding_char, char format_char);

/* AllocateExtensionType.proto */
static PyObject *__Pyx_AllocateExtensionType(PyTypeObject *t, int is_final);

/* CheckTypeForFreelists.proto */
#if CYTHON_USE_FREELISTS
#if CYTHON_USE_TYPE_SPECS
#define __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, expected_tp, expected_size) ((int) ((t) == (expected_tp)))
#define __PYX_CHECK_TYPE_FOR_FREELIST_FLAGS  Py_TPFLAGS_IS_ABSTRACT
#else
#define __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, expected_tp, expected_size) ((int) ((t)->tp_basicsize == (expected_size)))
#define __PYX_CHECK_TYPE_FOR_FREELIST_FLAGS  (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)
#endif
#define __PYX_CHECK_TYPE_FOR_FREELISTS(t, expected_tp, expected_size)\
    (__PYX_CHECK_FINAL_TYPE_FOR_FREELISTS((t), (expected_tp), (expected_size)) &\
     (int) (!__Pyx_PyType_HasFeature((t), __PYX_CHECK_TYPE_FOR_FREELIST_FLAGS)))
#endif

/* ValidateBasesTuple.proto (used by PyType_Ready) */
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases);
#endif

/* PyType_Ready.proto */
CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t);

/* SetVTable.proto */
static int __Pyx_SetVtable(PyTypeObject* typeptr , void* vtable);

/* GetVTable.proto (used by MergeVTables) */
static void* __Pyx_GetVtable(PyTypeObject *type);

/* MergeVTables.proto */
static int __Pyx_MergeVtables(PyTypeObject *type);

/* DelItemOnTypeDict.proto (used by SetupReduce) */
static int __Pyx__DelItemOnTypeDict(PyTypeObject *tp, PyObject *k);
#define __Pyx_DelItemOnTypeDict(tp, k) __Pyx__DelItemOnTypeDict((PyTypeObject*)tp, k)

/* SetupReduce.proto */
static int __Pyx_setup_reduce(PyObject* type_obj);

/* TypeImport.proto */
#ifndef __PYX_HAVE_RT_ImportType_proto_3_2_4
#define __PYX_HAVE_RT_ImportType_proto_3_2_4
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
#include <stdalign.h>
#endif
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L
#define __PYX_GET_STRUCT_ALIGNMENT_3_2_4(s) alignof(s)
#else
#define __PYX_GET_STRUCT_ALIGNMENT_3_2_4(s) sizeof(void*)
#endif
enum __Pyx_ImportType_CheckSize_3_2_4 {
   __Pyx_ImportType_CheckSize_Error_3_2_4 = 0,
   __Pyx_ImportType_CheckSize_Warn_3_2_4 = 1,
   __Pyx_ImportType_CheckSize_Ignore_3_2_4 = 2
};
static PyTypeObject *__Pyx_ImportType_3_2_4(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_2_4 check_size);
#endif

/* ImportFrom.proto */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);

/* CyFunctionClassCell.proto */
static int __Pyx_CyFunction_InitClassCell(PyObject *cyfunctions, PyObject *classobj);

/* ListPack.proto */
static PyObject *__Pyx_PyList_Pack(Py_ssize_t n, ...);

/* GetNameInClass.proto */
#define __Pyx_GetNameInClass(var, nmspace, name)  (var) = __Pyx__GetNameInClass(nmspace, name)
static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name);

/* CLineInTraceback.proto (used by AddTraceback) */
#if CYTHON_CLINE_IN_TRACEBACK && CYTHON_CLINE_IN_TRACEBACK_RUNTIME
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
#else
#define __Pyx_CLineForTraceback(tstate, c_line)  (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
#endif

/* CodeObjectCache.proto (used by AddTraceback) */
#if CYTHON_COMPILING_IN_LIMITED_API
typedef PyObject __Pyx_CachedCodeObjectType;
#else
typedef PyCodeObject __Pyx_CachedCodeObjectType;
#endif
typedef struct {
    __Pyx_CachedCodeObjectType* code_object;
    int code_line;
} __Pyx_CodeObjectCacheEntry;
struct __Pyx_CodeObjectCache {
    int count;
    int max_count;
    __Pyx_CodeObjectCacheEntry* entries;
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    __pyx_atomic_int_type accessor_count;
  #endif
};
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
static __Pyx_CachedCodeObjectType *__pyx_find_code_object(int code_line);
static void __pyx_insert_code_object(int code_line, __Pyx_CachedCodeObjectType* code_object);

/* AddTraceback.proto */
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename);

/* CheckUnpickleChecksum.proto */
static CYTHON_INLINE int __Pyx_CheckUnpickleChecksum(long checksum, long checksum1, long checksum2, long checksum3, const char *members);

/* BufferStructDeclare.proto */
typedef struct {
  Py_ssize_t shape, strides, suboffsets;
} __Pyx_Buf_DimInfo;
typedef struct {
  size_t refcount;
  Py_buffer pybuffer;
} __Pyx_Buffer;
typedef struct {
  __Pyx_Buffer *rcbuffer;
  char *data;
  __Pyx_Buf_DimInfo diminfo[8];
} __Pyx_LocalBuf_ND;

/* MemviewRefcount.proto */
static CYTHON_INLINE int __pyx_add_acquisition_count_locked(
    __pyx_atomic_int_type *acquisition_count, PyThread_type_lock lock);
static CYTHON_INLINE int __pyx_sub_acquisition_count_locked(
    __pyx_atomic_int_type *acquisition_count, PyThread_type_lock lock);
#define __pyx_get_slice_count_pointer(memview) (&memview->acquisition_count)
#define __PYX_INC_MEMVIEW(slice, have_gil) __Pyx_INC_MEMVIEW(slice, have_gil, __LINE__)
#define __PYX_XCLEAR_MEMVIEW(slice, have_gil) __Pyx_XCLEAR_MEMVIEW(slice, have_gil, __LINE__)
static CYTHON_INLINE void __Pyx_INC_MEMVIEW(__Pyx_memviewslice *, int, int);
static CYTHON_INLINE void __Pyx_XCLEAR_MEMVIEW(__Pyx_memviewslice *, int, int);

/* MemviewSliceIsContig.proto */
static int __pyx_memviewslice_is_contig(const __Pyx_memviewslice mvs, char order, int ndim);

/* OverlappingSlices.proto */
static int __pyx_slices_overlap(__Pyx_memviewslice *slice1,
                                __Pyx_memviewslice *slice2,
                                int ndim, size_t itemsize);

/* MemviewSliceInit.proto */
static int __Pyx_init_memviewslice(
                struct __pyx_memoryview_obj *memview,
                int ndim,
                __Pyx_memviewslice *memviewslice,
                int memview_is_new_reference);

/* TypeInfoCompare.proto (used by MemviewSliceValidateAndInit) */
static int __pyx_typeinfo_cmp(const __Pyx_TypeInfo *a, const __Pyx_TypeInfo *b);

/* MemviewSliceValidateAndInit.export */
static int __Pyx_ValidateAndInit_memviewslice(
                int *axes_specs,
                int c_or_f_flag,
                int buf_flags,
                int ndim,
                const __Pyx_TypeInfo *dtype,
                __Pyx_BufFmt_StackElem stack[],
                __Pyx_memviewslice *memviewslice,
                PyObject *original_obj);

/* ObjectToMemviewSlice.proto */
static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_dsds_double__const__(PyObject *, int writable_flag);

/* MemviewDtypeToObject.proto */
static CYTHON_INLINE PyObject *__pyx_memview_get_double__const__(const char *itemp);

/* ObjectToMemviewSlice.proto */
static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_ds_Py_ssize_t(PyObject *, int writable_flag);

/* MemviewDtypeToObject.proto */
static CYTHON_INLINE PyObject *__pyx_memview_get_Py_ssize_t(const char *itemp);
static CYTHON_INLINE int __pyx_memview_set_Py_ssize_t(char *itemp, PyObject *obj);

/* RealImag.proto */
#if CYTHON_CCOMPLEX
  #ifdef __cplusplus
    #define __Pyx_CREAL(z) ((z).real())
    #define __Pyx_CIMAG(z) ((z).imag())
  #else
    #define __Pyx_CREAL(z) (__real__(z))
    #define __Pyx_CIMAG(z) (__imag__(z))
  #endif
#else
    #define __Pyx_CREAL(z) ((z).real)
    #define __Pyx_CIMAG(z) ((z).imag)
#endif
#if defined(__cplusplus) && CYTHON_CCOMPLEX\
        && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103)
    #define __Pyx_SET_CREAL(z,x) ((z).real(x))
    #define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
#else
    #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
    #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
#endif

/* Arithmetic.proto */
#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
    #define __Pyx_c_eq_float(a, b)   ((a)==(b))
    #define __Pyx_c_sum_float(a, b)  ((a)+(b))
    #define __Pyx_c_diff_float(a, b) ((a)-(b))
    #define __Pyx_c_prod_float(a, b) ((a)*(b))
    #define __Pyx_c_quot_float(a, b) ((a)/(b))
    #define __Pyx_c_neg_float(a)     (-(a))
  #ifdef __cplusplus
    #define __Pyx_c_is_zero_float(z) ((z)==(float)0)
    #define __Pyx_c_conj_float(z)    (::std::conj(z))
    #if 1
        #define __Pyx_c_abs_float(z)     (::std::abs(z))
        #define __Pyx_c_pow_float(a, b)  (::std::pow(a, b))
    #endif
  #else
    #define __Pyx_c_is_zero_float(z) ((z)==0)
    #define __Pyx_c_conj_float(z)    (conjf(z))
    #if 1
        #define __Pyx_c_abs_float(z)     (cabsf(z))
        #define __Pyx_c_pow_float(a, b)  (cpowf(a, b))
    #endif
 #endif
#else
    static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex);
    static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex);
    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex);
    #if 1
        static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex);
        static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex);
    #endif
#endif

/* Arithmetic.proto */
#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
    #define __Pyx_c_eq_double(a, b)   ((a)==(b))
    #define __Pyx_c_sum_double(a, b)  ((a)+(b))
    #define __Pyx_c_diff_double(a, b) ((a)-(b))
    #define __Pyx_c_prod_double(a, b) ((a)*(b))
    #define __Pyx_c_quot_double(a, b) ((a)/(b))
    #define __Pyx_c_neg_double(a)     (-(a))
  #ifdef __cplusplus
    #define __Pyx_c_is_zero_double(z) ((z)==(double)0)
    #define __Pyx_c_conj_double(z)    (::std::conj(z))
    #if 1
        #define __Pyx_c_abs_double(z)     (::std::abs(z))
        #define __Pyx_c_pow_double(a, b)  (::std::pow(a, b))
    #endif
  #else
    #define __Pyx_c_is_zero_double(z) ((z)==0)
    #define __Pyx_c_conj_double(z)    (conj(z))
    #if 1
        #define __Pyx_c_abs_double(z)     (cabs(z))
        #define __Pyx_c_pow_double(a, b)  (cpow(a, b))
    #endif
 #endif
#else
    static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex);
    static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex);
    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex);
    #if 1
        static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex);
        static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex);
    #endif
#endif

/* Arithmetic.proto */
#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
    #define __Pyx_c_eq_long__double(a, b)   ((a)==(b))
    #define __Pyx_c_sum_long__double(a, b)  ((a)+(b))
    #define __Pyx_c_diff_long__double(a, b) ((a)-(b))
    #define __Pyx_c_prod_long__double(a, b) ((a)*(b))
    #define __Pyx_c_quot_long__double(a, b) ((a)/(b))
    #define __Pyx_c_neg_long__double(a)     (-(a))
  #ifdef __cplusplus
    #define __Pyx_c_is_zero_long__double(z) ((z)==(long double)0)
    #define __Pyx_c_conj_long__double(z)    (::std::conj(z))
    #if 1
        #define __Pyx_c_abs_long__double(z)     (::std::abs(z))
        #define __Pyx_c_pow_long__double(a, b)  (::std::pow(a, b))
    #endif
  #else
    #define __Pyx_c_is_zero_long__double(z) ((z)==0)
    #define __Pyx_c_conj_long__double(z)    (conjl(z))
    #if 1
        #define __Pyx_c_abs_long__double(z)     (cabsl(z))
        #define __Pyx_c_pow_long__double(a, b)  (cpowl(a, b))
    #endif
 #endif
#else
    static CYTHON_INLINE int __Pyx_c_eq_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_sum_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_diff_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_prod_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_quot_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_neg_long__double(__pyx_t_long_double_complex);
    static CYTHON_INLINE int __Pyx_c_is_zero_long__double(__pyx_t_long_double_complex);
    static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_conj_long__double(__pyx_t_long_double_complex);
    #if 1
        static CYTHON_INLINE long double __Pyx_c_abs_long__double(__pyx_t_long_double_complex);
        static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_pow_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
    #endif
#endif

/* MemviewSliceCopy.proto */
static __Pyx_memviewslice
__pyx_memoryview_copy_new_contig(const __Pyx_memviewslice *from_mvs,
                                 const char *mode, int ndim,
                                 size_t sizeof_dtype, int contig_flag,
                                 int dtype_is_object);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_int(int value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_BOUNDTYPE(SCIP_BOUNDTYPE value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_RESULT(SCIP_RESULT value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_PARAMSETTING(SCIP_PARAMSETTING value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPARAM value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_NODETYPE(SCIP_NODETYPE value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_PROPTIMING(SCIP_PROPTIMING value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_PRESOLTIMING(SCIP_PRESOLTIMING value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_LOCKTYPE(SCIP_LOCKTYPE value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_IMPLINTTYPE(SCIP_IMPLINTTYPE value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_LPSOLSTAT(SCIP_LPSOLSTAT value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_BRANCHDIR(SCIP_BRANCHDIR value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_BENDERSENFOTYPE(SCIP_BENDERSENFOTYPE value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_ROWORIGINTYPE(SCIP_ROWORIGINTYPE value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_SOLORIGIN(SCIP_SOLORIGIN value);

/* CIntFromPy.proto */
static CYTHON_INLINE SCIP_RETCODE __Pyx_PyLong_As_SCIP_RETCODE(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE int __Pyx_PyLong_As_int(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE long __Pyx_PyLong_As_long(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_long(long value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_RETCODE(SCIP_RETCODE value);

/* CIntFromPy.proto */
static CYTHON_INLINE size_t __Pyx_PyLong_As_size_t(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE SCIP_LPPARAM __Pyx_PyLong_As_SCIP_LPPARAM(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE SCIP_RESULT __Pyx_PyLong_As_SCIP_RESULT(PyObject *);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_OBJSENSE(SCIP_OBJSENSE value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_npy_intp(npy_intp value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_BOUNDCHGTYPE(SCIP_BOUNDCHGTYPE value);

/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_Longint(SCIP_Longint value);

/* CIntFromPy.proto */
static CYTHON_INLINE SCIP_LOCKTYPE __Pyx_PyLong_As_SCIP_LOCKTYPE(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE SCIP_BRANCHDIR __Pyx_PyLong_As_SCIP_BRANCHDIR(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE SCIP_PARAMSETTING __Pyx_PyLong_As_SCIP_PARAMSETTING(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE SCIP_HEURTIMING __Pyx_PyLong_As_SCIP_HEURTIMING(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE char __Pyx_PyLong_As_char(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE SCIP_Longint __Pyx_PyLong_As_SCIP_Longint(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE SCIP_BENDERSENFOTYPE __Pyx_PyLong_As_SCIP_BENDERSENFOTYPE(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE SCIP_PROPTIMING __Pyx_PyLong_As_SCIP_PROPTIMING(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE SCIP_PRESOLTIMING __Pyx_PyLong_As_SCIP_PRESOLTIMING(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE unsigned int __Pyx_PyLong_As_unsigned_int(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE SCIP_EVENTTYPE __Pyx_PyLong_As_SCIP_EVENTTYPE(PyObject *);

/* CIntFromPy.proto */
static CYTHON_INLINE SCIP_PARAMEMPHASIS __Pyx_PyLong_As_SCIP_PARAMEMPHASIS(PyObject *);

/* UpdateUnpickledDict.proto */
static int __Pyx_UpdateUnpickledDict(PyObject *obj, PyObject *state, Py_ssize_t index);

/* FormatTypeName.proto */
#if CYTHON_COMPILING_IN_LIMITED_API
typedef PyObject *__Pyx_TypeName;
#define __Pyx_FMT_TYPENAME "%U"
#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj)
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
#define __Pyx_PyType_GetFullyQualifiedName PyType_GetFullyQualifiedName
#else
static __Pyx_TypeName __Pyx_PyType_GetFullyQualifiedName(PyTypeObject* tp);
#endif
#else  // !LIMITED_API
typedef const char *__Pyx_TypeName;
#define __Pyx_FMT_TYPENAME "%.200s"
#define __Pyx_PyType_GetFullyQualifiedName(tp) ((tp)->tp_name)
#define __Pyx_DECREF_TypeName(obj)
#endif

/* GetRuntimeVersion.proto */
#if __PYX_LIMITED_VERSION_HEX < 0x030b0000
static unsigned long __Pyx_cached_runtime_version = 0;
static void __Pyx_init_runtime_version(void);
#else
#define __Pyx_init_runtime_version()
#endif
static unsigned long __Pyx_get_runtime_version(void);

/* IterNextPlain.proto (used by CoroutineBase) */
static CYTHON_INLINE PyObject *__Pyx_PyIter_Next_Plain(PyObject *iterator);
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
static PyObject *__Pyx_GetBuiltinNext_LimitedAPI(void);
#endif

/* ReturnWithStopIteration.proto (used by CoroutineBase) */
static CYTHON_INLINE void __Pyx_ReturnWithStopIteration(PyObject* value, int async, int iternext);

/* CoroutineBase.proto (used by Generator) */
struct __pyx_CoroutineObject;
typedef PyObject *(*__pyx_coroutine_body_t)(struct __pyx_CoroutineObject *, PyThreadState *, PyObject *);
#if CYTHON_USE_EXC_INFO_STACK
#define __Pyx_ExcInfoStruct  _PyErr_StackItem
#else
typedef struct {
    PyObject *exc_type;
    PyObject *exc_value;
    PyObject *exc_traceback;
} __Pyx_ExcInfoStruct;
#endif
typedef struct __pyx_CoroutineObject {
    PyObject_HEAD
    __pyx_coroutine_body_t body;
    PyObject *closure;
    __Pyx_ExcInfoStruct gi_exc_state;
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    PyObject *gi_weakreflist;
#endif
    PyObject *classobj;
    PyObject *yieldfrom;
    __Pyx_pyiter_sendfunc yieldfrom_am_send;
    PyObject *gi_name;
    PyObject *gi_qualname;
    PyObject *gi_modulename;
    PyObject *gi_code;
    PyObject *gi_frame;
#if CYTHON_USE_SYS_MONITORING && (CYTHON_PROFILE || CYTHON_TRACE)
    PyMonitoringState __pyx_pymonitoring_state[__Pyx_MonitoringEventTypes_CyGen_count];
    uint64_t __pyx_pymonitoring_version;
#endif
    int resume_label;
    char is_running;
} __pyx_CoroutineObject;
static __pyx_CoroutineObject *__Pyx__Coroutine_New(
    PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
    PyObject *name, PyObject *qualname, PyObject *module_name);
static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
            __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
            PyObject *name, PyObject *qualname, PyObject *module_name);
static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self);
static int __Pyx_Coroutine_clear(PyObject *self);
static __Pyx_PySendResult __Pyx_Coroutine_AmSend(PyObject *self, PyObject *value, PyObject **retval);
static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value);
static __Pyx_PySendResult __Pyx_Coroutine_Close(PyObject *self, PyObject **retval);
static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args);
#if CYTHON_USE_EXC_INFO_STACK
#define __Pyx_Coroutine_SwapException(self)
#define __Pyx_Coroutine_ResetAndClearException(self)  __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state)
#else
#define __Pyx_Coroutine_SwapException(self) {\
    __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\
    __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\
    }
#define __Pyx_Coroutine_ResetAndClearException(self) {\
    __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\
    (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\
    }
#endif
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
    __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue)
#else
#define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
    __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue)
#endif
static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue);
static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state);
static char __Pyx_Coroutine_test_and_set_is_running(__pyx_CoroutineObject *gen);
static void __Pyx_Coroutine_unset_is_running(__pyx_CoroutineObject *gen);
static char __Pyx_Coroutine_get_is_running(__pyx_CoroutineObject *gen);
static PyObject *__Pyx_Coroutine_get_is_running_getter(PyObject *gen, void *closure);
#if __PYX_HAS_PY_AM_SEND == 2
static void __Pyx_SetBackportTypeAmSend(PyTypeObject *type, __Pyx_PyAsyncMethodsStruct *static_amsend_methods, __Pyx_pyiter_sendfunc am_send);
#endif
static PyObject *__Pyx_Coroutine_fail_reduce_ex(PyObject *self, PyObject *arg);

/* Generator.proto */
#define __Pyx_Generator_USED
#define __Pyx_Generator_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_mstate_global->__pyx_GeneratorType)
#define __Pyx_Generator_New(body, code, closure, name, qualname, module_name)\
    __Pyx__Coroutine_New(__pyx_mstate_global->__pyx_GeneratorType, body, code, closure, name, qualname, module_name)
static PyObject *__Pyx_Generator_Next(PyObject *self);
static int __pyx_Generator_init(PyObject *module);
static CYTHON_INLINE PyObject *__Pyx_Generator_GetInlinedResult(PyObject *self);

/* CheckBinaryVersion.proto */
static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);

/* DecompressString.proto */
static PyObject *__Pyx_DecompressString(const char *s, Py_ssize_t length, int algo);

/* MultiPhaseInitModuleState.proto */
#if CYTHON_PEP489_MULTI_PHASE_INIT && CYTHON_USE_MODULE_STATE
static PyObject *__Pyx_State_FindModule(void*);
static int __Pyx_State_AddModule(PyObject* module, void*);
static int __Pyx_State_RemoveModule(void*);
#elif CYTHON_USE_MODULE_STATE
#define __Pyx_State_FindModule PyState_FindModule
#define __Pyx_State_AddModule PyState_AddModule
#define __Pyx_State_RemoveModule PyState_RemoveModule
#endif

/* #### Code section: module_declarations ### */
/* CythonABIVersion.proto */
#if CYTHON_COMPILING_IN_LIMITED_API
    #if CYTHON_METH_FASTCALL
        #define __PYX_FASTCALL_ABI_SUFFIX  "_fastcall"
    #else
        #define __PYX_FASTCALL_ABI_SUFFIX
    #endif
    #define __PYX_LIMITED_ABI_SUFFIX "limited" __PYX_FASTCALL_ABI_SUFFIX __PYX_AM_SEND_ABI_SUFFIX
#else
    #define __PYX_LIMITED_ABI_SUFFIX
#endif
#if __PYX_HAS_PY_AM_SEND == 1
    #define __PYX_AM_SEND_ABI_SUFFIX
#elif __PYX_HAS_PY_AM_SEND == 2
    #define __PYX_AM_SEND_ABI_SUFFIX "amsendbackport"
#else
    #define __PYX_AM_SEND_ABI_SUFFIX "noamsend"
#endif
#ifndef __PYX_MONITORING_ABI_SUFFIX
    #define __PYX_MONITORING_ABI_SUFFIX
#endif
#if CYTHON_USE_TP_FINALIZE
    #define __PYX_TP_FINALIZE_ABI_SUFFIX
#else
    #define __PYX_TP_FINALIZE_ABI_SUFFIX "nofinalize"
#endif
#if CYTHON_USE_FREELISTS || !defined(__Pyx_AsyncGen_USED)
    #define __PYX_FREELISTS_ABI_SUFFIX
#else
    #define __PYX_FREELISTS_ABI_SUFFIX "nofreelists"
#endif
#define CYTHON_ABI  __PYX_ABI_VERSION __PYX_LIMITED_ABI_SUFFIX __PYX_MONITORING_ABI_SUFFIX __PYX_TP_FINALIZE_ABI_SUFFIX __PYX_FREELISTS_ABI_SUFFIX __PYX_AM_SEND_ABI_SUFFIX
#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."

static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *__pyx_v_self); /* proto*/
static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index); /* proto*/
static PyObject *__pyx_memoryview_is_slice(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj); /* proto*/
static PyObject *__pyx_memoryview_setitem_slice_assignment(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src); /* proto*/
static PyObject *__pyx_memoryview_setitem_slice_assign_scalar(struct __pyx_memoryview_obj *__pyx_v_self, struct __pyx_memoryview_obj *__pyx_v_dst, PyObject *__pyx_v_value); /* proto*/
static PyObject *__pyx_memoryview_setitem_indexed(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /* proto*/
static PyObject *__pyx_memoryview_convert_item_to_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp); /* proto*/
static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value); /* proto*/
static PyObject *__pyx_memoryview__get_base(struct __pyx_memoryview_obj *__pyx_v_self); /* proto*/
static PyObject *__pyx_memoryviewslice_convert_item_to_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp); /* proto*/
static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value); /* proto*/
static PyObject *__pyx_memoryviewslice__get_base(struct __pyx_memoryviewslice_obj *__pyx_v_self); /* proto*/
#if !CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE double __pyx_f_7cpython_7complex_7complex_4real_real(PyComplexObject *__pyx_v_self); /* proto*/
#endif
#if !CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE double __pyx_f_7cpython_7complex_7complex_4imag_imag(PyComplexObject *__pyx_v_self); /* proto*/
#endif
static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize_itemsize(PyArray_Descr *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment_alignment(PyArray_Descr *__pyx_v_self); /* proto*/
static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields_fields(PyArray_Descr *__pyx_v_self); /* proto*/
static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names_names(PyArray_Descr *__pyx_v_self); /* proto*/
static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray_subarray(PyArray_Descr *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags_flags(PyArray_Descr *__pyx_v_self); /* proto*/
static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter_numiter(PyArrayMultiIterObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size_size(PyArrayMultiIterObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index_index(PyArrayMultiIterObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd_nd(PyArrayMultiIterObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions_dimensions(PyArrayMultiIterObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters_iters(PyArrayMultiIterObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base_base(PyArrayObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArrayObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim_ndim(PyArrayObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape_shape(PyArrayObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides_strides(PyArrayObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size_size(PyArrayObject *__pyx_v_self); /* proto*/
static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data_data(PyArrayObject *__pyx_v_self); /* proto*/
static double __pyx_f_9pyscipopt_4scip_4Term__evaluate(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch); /* proto*/
static double __pyx_f_9pyscipopt_4scip_4Expr__evaluate(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch); /* proto*/
static struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_f_9pyscipopt_4scip_7GenExpr_copy(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, struct __pyx_opt_args_9pyscipopt_4scip_7GenExpr_copy *__pyx_optional_args); /* proto*/
static double __pyx_f_9pyscipopt_4scip_7SumExpr__evaluate(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch); /* proto*/
static double __pyx_f_9pyscipopt_4scip_8ProdExpr__evaluate(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch); /* proto*/
static double __pyx_f_9pyscipopt_4scip_7VarExpr__evaluate(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch); /* proto*/
static double __pyx_f_9pyscipopt_4scip_7PowExpr__evaluate(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch); /* proto*/
static double __pyx_f_9pyscipopt_4scip_9UnaryExpr__evaluate(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch); /* proto*/
static double __pyx_f_9pyscipopt_4scip_8Constant__evaluate(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_5Event_create(SCIP_EVENT *__pyx_v_scip_event); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_6Column_create(SCIP_COL *__pyx_v_scipcol); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_11ColumnExact_create(SCIP_COLEXACT *__pyx_v_scipcolexact); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_3Row_create(SCIP_ROW *__pyx_v_sciprow); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_8RowExact_create(SCIP_ROWEXACT *__pyx_v_sciprowexact); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_5NLRow_create(SCIP_NLROW *__pyx_v_scipnlrow); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_8Solution_create(SCIP *__pyx_v_scip, SCIP_SOL *__pyx_v_scip_sol); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_11BoundChange_create(SCIP_BOUNDCHG *__pyx_v_scip_boundchg); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_13DomainChanges_create(SCIP_DOMCHG *__pyx_v_scip_domchg); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_4Node_create(SCIP_NODE *__pyx_v_scipnode); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_8Variable_create(SCIP_VAR *__pyx_v_scipvar); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_10Constraint_create(SCIP_CONS *__pyx_v_scipcons); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_3IIS_create(SCIP_IIS *__pyx_v_scip_iis); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_5Model_create(SCIP *__pyx_v_scip); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_5Model__getOrCreateCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, SCIP_CONS *__pyx_v_scip_cons); /* proto*/
static PyObject *__pyx_f_9pyscipopt_4scip_5Model__getOrCreateVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, SCIP_VAR *__pyx_v_scip_var); /* proto*/

/* Module declarations from "cython.view" */

/* Module declarations from "cython.dataclasses" */

/* Module declarations from "cython" */

/* Module declarations from "cpython.version" */

/* Module declarations from "__builtin__" */

/* Module declarations from "cpython.type" */

/* Module declarations from "libc.string" */

/* Module declarations from "libc.stdio" */

/* Module declarations from "cpython.object" */

/* Module declarations from "cpython.ref" */

/* Module declarations from "cpython.exc" */

/* Module declarations from "cpython.module" */

/* Module declarations from "cpython.mem" */

/* Module declarations from "cpython.tuple" */

/* Module declarations from "cpython.list" */

/* Module declarations from "cpython.sequence" */

/* Module declarations from "cpython.mapping" */

/* Module declarations from "cpython.iterator" */

/* Module declarations from "cpython.number" */

/* Module declarations from "__builtin__" */

/* Module declarations from "cpython.bool" */

/* Module declarations from "cpython.long" */

/* Module declarations from "cpython.float" */

/* Module declarations from "__builtin__" */

/* Module declarations from "cpython.complex" */

/* Module declarations from "libc.stddef" */

/* Module declarations from "cpython.unicode" */

/* Module declarations from "cpython.pyport" */

/* Module declarations from "cpython.dict" */

/* Module declarations from "cpython.instance" */

/* Module declarations from "cpython.function" */

/* Module declarations from "cpython.method" */

/* Module declarations from "cpython.weakref" */

/* Module declarations from "cpython.getargs" */

/* Module declarations from "cpython.pythread" */

/* Module declarations from "cpython.pystate" */

/* Module declarations from "cpython.set" */

/* Module declarations from "cpython.buffer" */

/* Module declarations from "cpython.bytes" */

/* Module declarations from "cpython.pycapsule" */

/* Module declarations from "cpython.contextvars" */

/* Module declarations from "cpython" */

/* Module declarations from "libc.stdlib" */

/* Module declarations from "posix.types" */

/* Module declarations from "posix.stdio" */

/* Module declarations from "numpy" */

/* Module declarations from "numpy" */
static CYTHON_INLINE int __pyx_f_5numpy_import_array(void); /*proto*/

/* Module declarations from "pyscipopt.scip" */
static PyObject *__pyx_collections_abc_Sequence = 0;
static PyObject *generic = 0;
static PyObject *strided = 0;
static PyObject *indirect = 0;
static PyObject *contiguous = 0;
static PyObject *indirect_contiguous = 0;
static int __pyx_memoryview_thread_locks_used;
static PyThread_type_lock __pyx_memoryview_thread_locks[8];
static struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_f_9pyscipopt_4scip_getPyVar(SCIP_VAR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersCopy(SCIP *, SCIP_BENDERS *, SCIP_Bool); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersFree(SCIP *, SCIP_BENDERS *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersInit(SCIP *, SCIP_BENDERS *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersExit(SCIP *, SCIP_BENDERS *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersInitpre(SCIP *, SCIP_BENDERS *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersExitpre(SCIP *, SCIP_BENDERS *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersInitsol(SCIP *, SCIP_BENDERS *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersExitsol(SCIP *, SCIP_BENDERS *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersCreatesub(SCIP *, SCIP_BENDERS *, int); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersPresubsolve(SCIP *, SCIP_BENDERS *, SCIP_SOL *, SCIP_BENDERSENFOTYPE, SCIP_Bool, SCIP_Bool *, SCIP_Bool *, SCIP_Bool *, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersSolvesubconvex(SCIP *, SCIP_BENDERS *, SCIP_SOL *, int, SCIP_Bool, SCIP_Real *, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersSolvesub(SCIP *, SCIP_BENDERS *, SCIP_SOL *, int, SCIP_Real *, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersPostsolve(SCIP *, SCIP_BENDERS *, SCIP_SOL *, SCIP_BENDERSENFOTYPE, int *, int, int, SCIP_Bool, SCIP_Bool, SCIP_Bool *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersFreesub(SCIP *, SCIP_BENDERS *, int); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersGetvar(SCIP *, SCIP_BENDERS *, SCIP_VAR *, SCIP_VAR **, int); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutCopy(SCIP *, SCIP_BENDERS *, SCIP_BENDERSCUT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutFree(SCIP *, SCIP_BENDERSCUT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutInit(SCIP *, SCIP_BENDERSCUT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutExit(SCIP *, SCIP_BENDERSCUT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutInitsol(SCIP *, SCIP_BENDERSCUT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutExitsol(SCIP *, SCIP_BENDERSCUT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutExec(SCIP *, SCIP_BENDERS *, SCIP_BENDERSCUT *, SCIP_SOL *, int, SCIP_BENDERSENFOTYPE, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleCopy(SCIP *, SCIP_BRANCHRULE *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleFree(SCIP *, SCIP_BRANCHRULE *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleInit(SCIP *, SCIP_BRANCHRULE *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleExit(SCIP *, SCIP_BRANCHRULE *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleInitsol(SCIP *, SCIP_BRANCHRULE *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleExitsol(SCIP *, SCIP_BRANCHRULE *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleExeclp(SCIP *, SCIP_BRANCHRULE *, SCIP_Bool, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleExecext(SCIP *, SCIP_BRANCHRULE *, SCIP_Bool, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleExecps(SCIP *, SCIP_BRANCHRULE *, SCIP_Bool, SCIP_RESULT *); /*proto*/
static struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_f_9pyscipopt_4scip_getPyConshdlr(SCIP_CONSHDLR *); /*proto*/
static struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_f_9pyscipopt_4scip_getPyCons(SCIP_CONS *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConshdlrCopy(SCIP *, SCIP_CONSHDLR *, SCIP_Bool *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsFree(SCIP *, SCIP_CONSHDLR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsInit(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsExit(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsInitpre(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsExitpre(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsInitsol(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsExitsol(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int, SCIP_Bool); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsDelete(SCIP *, SCIP_CONSHDLR *, SCIP_CONS *, SCIP_CONSDATA **); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsTrans(SCIP *, SCIP_CONSHDLR *, SCIP_CONS *, SCIP_CONS **); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsInitlp(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int, SCIP_Bool *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsSepalp(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int, int, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsSepasol(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int, int, SCIP_SOL *, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsEnfolp(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int, int, SCIP_Bool, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsEnforelax(SCIP *, SCIP_SOL *, SCIP_CONSHDLR *, SCIP_CONS **, int, int, SCIP_Bool, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsEnfops(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int, int, SCIP_Bool, SCIP_Bool, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsCheck(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int, SCIP_SOL *, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsProp(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int, int, int, SCIP_PROPTIMING, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsPresol(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int, int, SCIP_PRESOLTIMING, int, int, int, int, int, int, int, int, int, int, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsResprop(SCIP *, SCIP_CONSHDLR *, SCIP_CONS *, SCIP_VAR *, int, SCIP_BOUNDTYPE, SCIP_BDCHGIDX *, SCIP_Real, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsLock(SCIP *, SCIP_CONSHDLR *, SCIP_CONS *, SCIP_LOCKTYPE, int, int); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsActive(SCIP *, SCIP_CONSHDLR *, SCIP_CONS *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsDeactive(SCIP *, SCIP_CONSHDLR *, SCIP_CONS *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsEnable(SCIP *, SCIP_CONSHDLR *, SCIP_CONS *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsDisable(SCIP *, SCIP_CONSHDLR *, SCIP_CONS *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsDelvars(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, int); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsPrint(SCIP *, SCIP_CONSHDLR *, SCIP_CONS *, FILE *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsCopy(SCIP *, SCIP_CONS **, char const *, SCIP *, SCIP_CONSHDLR *, SCIP_CONS *, SCIP_HASHMAP *, SCIP_HASHMAP *, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsParse(SCIP *, SCIP_CONSHDLR *, SCIP_CONS **, char const *, char const *, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool, SCIP_Bool *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsGetvars(SCIP *, SCIP_CONSHDLR *, SCIP_CONS *, SCIP_VAR **, int, SCIP_Bool *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsGetnvars(SCIP *, SCIP_CONSHDLR *, SCIP_CONS *, int *, SCIP_Bool *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsGetdivebdchgs(SCIP *, SCIP_CONSHDLR *, SCIP_DIVESET *, SCIP_SOL *, SCIP_Bool *, SCIP_Bool *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsGetPermSymGraph(SCIP *, SCIP_CONSHDLR *, SCIP_CONS *, SYM_GRAPH *, SCIP_Bool *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsGetSignedPermSymGraph(SCIP *, SCIP_CONSHDLR *, SCIP_CONS *, SYM_GRAPH *, SCIP_Bool *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselCopy(SCIP *, SCIP_CUTSEL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselFree(SCIP *, SCIP_CUTSEL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselInit(SCIP *, SCIP_CUTSEL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselExit(SCIP *, SCIP_CUTSEL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselInitsol(SCIP *, SCIP_CUTSEL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselExitsol(SCIP *, SCIP_CUTSEL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselSelect(SCIP *, SCIP_CUTSEL *, SCIP_ROW **, int, SCIP_ROW **, int, SCIP_Bool, int, int *, SCIP_RESULT *); /*proto*/
static struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_f_9pyscipopt_4scip_getPyEventhdlr(SCIP_EVENTHDLR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventCopy(SCIP *, SCIP_EVENTHDLR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventFree(SCIP *, SCIP_EVENTHDLR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventInit(SCIP *, SCIP_EVENTHDLR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventExit(SCIP *, SCIP_EVENTHDLR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventInitsol(SCIP *, SCIP_EVENTHDLR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventExitsol(SCIP *, SCIP_EVENTHDLR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventDelete(SCIP *, SCIP_EVENTHDLR *, SCIP_EVENTDATA **); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventExec(SCIP *, SCIP_EVENTHDLR *, SCIP_EVENT *, SCIP_EVENTDATA *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurCopy(SCIP *, SCIP_HEUR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurFree(SCIP *, SCIP_HEUR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurInit(SCIP *, SCIP_HEUR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurExit(SCIP *, SCIP_HEUR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurInitsol(SCIP *, SCIP_HEUR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurExitsol(SCIP *, SCIP_HEUR *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurExec(SCIP *, SCIP_HEUR *, SCIP_HEURTIMING, SCIP_Bool, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyiisfinderCopy(SCIP *, SCIP_IISFINDER *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyiisfinderFree(SCIP *, SCIP_IISFINDER *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyiisfinderExec(SCIP_IIS *, SCIP_IISFINDER *, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolCopy(SCIP *, SCIP_PRESOL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolFree(SCIP *, SCIP_PRESOL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolInit(SCIP *, SCIP_PRESOL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolExit(SCIP *, SCIP_PRESOL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolInitpre(SCIP *, SCIP_PRESOL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolExitpre(SCIP *, SCIP_PRESOL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolExec(SCIP *, SCIP_PRESOL *, int, SCIP_PRESOLTIMING, int, int, int, int, int, int, int, int, int, int, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerCopy(SCIP *, SCIP_PRICER *, SCIP_Bool *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerFree(SCIP *, SCIP_PRICER *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerInit(SCIP *, SCIP_PRICER *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerExit(SCIP *, SCIP_PRICER *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerInitsol(SCIP *, SCIP_PRICER *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerExitsol(SCIP *, SCIP_PRICER *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerRedcost(SCIP *, SCIP_PRICER *, SCIP_Real *, SCIP_Bool *, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerFarkas(SCIP *, SCIP_PRICER *, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropCopy(SCIP *, SCIP_PROP *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropFree(SCIP *, SCIP_PROP *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropInit(SCIP *, SCIP_PROP *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropExit(SCIP *, SCIP_PROP *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropInitpre(SCIP *, SCIP_PROP *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropExitpre(SCIP *, SCIP_PROP *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropInitsol(SCIP *, SCIP_PROP *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropExitsol(SCIP *, SCIP_PROP *, SCIP_Bool); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropPresol(SCIP *, SCIP_PROP *, int, SCIP_PRESOLTIMING, int, int, int, int, int, int, int, int, int, int, int *, int *, int *, int *, int *, int *, int *, int *, int *, int *, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropExec(SCIP *, SCIP_PROP *, SCIP_PROPTIMING, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropResProp(SCIP *, SCIP_PROP *, SCIP_VAR *, int, SCIP_BOUNDTYPE, SCIP_BDCHGIDX *, SCIP_Real, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaCopy(SCIP *, SCIP_SEPA *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaFree(SCIP *, SCIP_SEPA *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaInit(SCIP *, SCIP_SEPA *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaExit(SCIP *, SCIP_SEPA *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaInitsol(SCIP *, SCIP_SEPA *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaExitsol(SCIP *, SCIP_SEPA *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaExeclp(SCIP *, SCIP_SEPA *, SCIP_RESULT *, unsigned int, int); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaExecsol(SCIP *, SCIP_SEPA *, SCIP_SOL *, SCIP_RESULT *, unsigned int, int); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyReaderCopy(SCIP *, SCIP_READER *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyReaderFree(SCIP *, SCIP_READER *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyReaderRead(SCIP *, SCIP_READER *, char const *, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyReaderWrite(SCIP *, SCIP_READER *, FILE *, char const *, char const *, SCIP_PROBDATA *, SCIP_Bool, SCIP_OBJSENSE, SCIP_Real, SCIP_Real, SCIP_RATIONAL *, SCIP_RATIONAL *, SCIP_VAR **, int, int, int, int, int, SCIP_VAR **, int, int, SCIP_CONS **, int, int, int, SCIP_Bool, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxCopy(SCIP *, SCIP_RELAX *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxFree(SCIP *, SCIP_RELAX *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxInit(SCIP *, SCIP_RELAX *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxExit(SCIP *, SCIP_RELAX *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxInitsol(SCIP *, SCIP_RELAX *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxExitsol(SCIP *, SCIP_RELAX *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxExec(SCIP *, SCIP_RELAX *, SCIP_Real *, SCIP_RESULT *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselCopy(SCIP *, SCIP_NODESEL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselFree(SCIP *, SCIP_NODESEL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselInit(SCIP *, SCIP_NODESEL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselExit(SCIP *, SCIP_NODESEL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselInitsol(SCIP *, SCIP_NODESEL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselExitsol(SCIP *, SCIP_NODESEL *); /*proto*/
static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselSelect(SCIP *, SCIP_NODESEL *, SCIP_NODE **); /*proto*/
static int __pyx_f_9pyscipopt_4scip_PyNodeselComp(SCIP *, SCIP_NODESEL *, SCIP_NODE *, SCIP_NODE *); /*proto*/
static CYTHON_INLINE PyObject *__pyx_f_9pyscipopt_4scip__ensure_array(PyObject *, struct __pyx_opt_args_9pyscipopt_4scip__ensure_array *__pyx_optional_args); /*proto*/
static void __pyx_f_9pyscipopt_4scip_relayMessage(SCIP_MESSAGEHDLR *, FILE *, char const *); /*proto*/
static void __pyx_f_9pyscipopt_4scip_relayErrorMessage(void *, FILE *, char const *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Term__set_state(struct __pyx_obj_9pyscipopt_4scip_Term *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Expr__set_state(struct __pyx_obj_9pyscipopt_4scip_Expr *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_ExprCons__set_state(struct __pyx_obj_9pyscipopt_4scip_ExprCons *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_GenExpr__set_state(struct __pyx_obj_9pyscipopt_4scip_GenExpr *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_SumExpr__set_state(struct __pyx_obj_9pyscipopt_4scip_SumExpr *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_ProdExpr__set_state(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_VarExpr__set_state(struct __pyx_obj_9pyscipopt_4scip_VarExpr *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PowExpr__set_state(struct __pyx_obj_9pyscipopt_4scip_PowExpr *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_UnaryExpr__set_state(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Constant__set_state(struct __pyx_obj_9pyscipopt_4scip_Constant *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Benderscut__set_state(struct __pyx_obj_9pyscipopt_4scip_Benderscut *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Branchrule__set_state(struct __pyx_obj_9pyscipopt_4scip_Branchrule *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Conshdlr__set_state(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Cutsel__set_state(struct __pyx_obj_9pyscipopt_4scip_Cutsel *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Eventhdlr__set_state(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Heur__set_state(struct __pyx_obj_9pyscipopt_4scip_Heur *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Presol__set_state(struct __pyx_obj_9pyscipopt_4scip_Presol *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Prop__set_state(struct __pyx_obj_9pyscipopt_4scip_Prop *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Sepa__set_state(struct __pyx_obj_9pyscipopt_4scip_Sepa *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Reader__set_state(struct __pyx_obj_9pyscipopt_4scip_Reader *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Relax__set_state(struct __pyx_obj_9pyscipopt_4scip_Relax *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Nodesel__set_state(struct __pyx_obj_9pyscipopt_4scip_Nodesel *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_RESULT__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_RESULT *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMSETTING *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_LPPARAM__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPPARAM *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_STATUS__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STATUS *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_STAGE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STAGE *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_NODETYPE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_NODETYPE *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PROPTIMING__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PROPTIMING *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_HEURTIMING__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_HEURTIMING *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_EVENTTYPE *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LOCKTYPE *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BRANCHDIR *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE *, PyObject *); /*proto*/
static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_SOLORIGIN *, PyObject *); /*proto*/
static int __pyx_array_allocate_buffer(struct __pyx_array_obj *); /*proto*/
static struct __pyx_array_obj *__pyx_array_new(PyObject *, Py_ssize_t, char *, char const *, char *); /*proto*/
static PyObject *__pyx_memoryview_new(PyObject *, int, int, __Pyx_TypeInfo const *); /*proto*/
static CYTHON_INLINE int __pyx_memoryview_check(PyObject *); /*proto*/
static PyObject *_unellipsify(PyObject *, int); /*proto*/
static int assert_direct_dimensions(Py_ssize_t *, int); /*proto*/
static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_obj *, PyObject *); /*proto*/
static int __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice *, Py_ssize_t, Py_ssize_t, Py_ssize_t, int, int, int *, Py_ssize_t, Py_ssize_t, Py_ssize_t, int, int, int, int); /*proto*/
static char *__pyx_pybuffer_index(Py_buffer *, char *, Py_ssize_t, Py_ssize_t); /*proto*/
static int __pyx_memslice_transpose(__Pyx_memviewslice *); /*proto*/
static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice, int, PyObject *(*)(char *), int (*)(char *, PyObject *), int); /*proto*/
static __Pyx_memviewslice *__pyx_memoryview_get_slice_from_memoryview(struct __pyx_memoryview_obj *, __Pyx_memviewslice *); /*proto*/
static void __pyx_memoryview_slice_copy(struct __pyx_memoryview_obj *, __Pyx_memviewslice *); /*proto*/
static PyObject *__pyx_memoryview_copy_object(struct __pyx_memoryview_obj *); /*proto*/
static PyObject *__pyx_memoryview_copy_object_from_slice(struct __pyx_memoryview_obj *, __Pyx_memviewslice *); /*proto*/
static Py_ssize_t abs_py_ssize_t(Py_ssize_t); /*proto*/
static char __pyx_get_best_slice_order(__Pyx_memviewslice *, int); /*proto*/
static void _copy_strided_to_strided(char *, Py_ssize_t *, char *, Py_ssize_t *, Py_ssize_t *, Py_ssize_t *, int, size_t); /*proto*/
static void copy_strided_to_strided(__Pyx_memviewslice *, __Pyx_memviewslice *, int, size_t); /*proto*/
static Py_ssize_t __pyx_memoryview_slice_get_size(__Pyx_memviewslice *, int); /*proto*/
static Py_ssize_t __pyx_fill_contig_strides_array(Py_ssize_t *, Py_ssize_t *, Py_ssize_t, int, char); /*proto*/
static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *, __Pyx_memviewslice *, char, int); /*proto*/
static int __pyx_memoryview_err_extents(int, Py_ssize_t, Py_ssize_t); /*proto*/
static int __pyx_memoryview_err_dim(PyObject *, PyObject *, int); /*proto*/
static int __pyx_memoryview_err(PyObject *, PyObject *); /*proto*/
static int __pyx_memoryview_err_no_memory(void); /*proto*/
static int __pyx_memoryview_copy_contents(__Pyx_memviewslice, __Pyx_memviewslice, int, int, int); /*proto*/
static void __pyx_memoryview_broadcast_leading(__Pyx_memviewslice *, int, int); /*proto*/
static void __pyx_memoryview_refcount_copying(__Pyx_memviewslice *, int, int, int); /*proto*/
static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *, Py_ssize_t *, Py_ssize_t *, int, int); /*proto*/
static void __pyx_memoryview_refcount_objects_in_slice(char *, Py_ssize_t *, Py_ssize_t *, int, int); /*proto*/
static void __pyx_memoryview_slice_assign_scalar(__Pyx_memviewslice *, int, size_t, void *, int); /*proto*/
static void __pyx_memoryview__slice_assign_scalar(char *, Py_ssize_t *, Py_ssize_t *, int, size_t, void *); /*proto*/
static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *, PyObject *); /*proto*/
/* #### Code section: typeinfo ### */
static const __Pyx_TypeInfo __Pyx_TypeInfo_object = { "Python object", NULL, sizeof(PyObject *), { 0 }, 0, 'O', 0, 0 };
static const __Pyx_TypeInfo __Pyx_TypeInfo_double__const__ = { "const double", NULL, sizeof(double const ), { 0 }, 0, 'R', 0, 0 };
static const __Pyx_TypeInfo __Pyx_TypeInfo_Py_ssize_t = { "Py_ssize_t", NULL, sizeof(Py_ssize_t), { 0 }, 0, __PYX_IS_UNSIGNED(Py_ssize_t) ? 'U' : 'I', __PYX_IS_UNSIGNED(Py_ssize_t), 0 };
/* #### Code section: before_global_var ### */
#define __Pyx_MODULE_NAME "pyscipopt.scip"
extern int __pyx_module_is_main_pyscipopt__scip;
int __pyx_module_is_main_pyscipopt__scip = 0;

/* Implementation of "pyscipopt.scip" */
/* #### Code section: global_var ### */
static PyObject *__pyx_builtin_object;
static PyObject *__pyx_builtin_staticmethod;
static PyObject *__pyx_builtin_property;
static PyObject *__pyx_builtin_sorted;
static PyObject *__pyx_builtin_max;
static PyObject *__pyx_builtin_map;
static PyObject *__pyx_builtin_enumerate;
static PyObject *__pyx_builtin_sum;
static PyObject *__pyx_builtin_NotImplemented;
static PyObject *__pyx_builtin_super;
static PyObject *__pyx_builtin_print;
static PyObject *__pyx_builtin_zip;
static PyObject *__pyx_builtin_open;
static PyObject *__pyx_builtin___import__;
static PyObject *__pyx_builtin_Ellipsis;
static PyObject *__pyx_builtin_id;
/* #### Code section: string_decls ### */
static const char __pyx_k_c[] = "c";
static const char __pyx_k_w[] = "w";
static const char __pyx_k__11[] = "";
static const char __pyx_k_name[] = "name";
static const char __pyx_k_scip[] = "scip";
static const char __pyx_k_model[] = "model";
static const char __pyx_k_terms[] = "terms";
static const char __pyx_k_default[] = "default";
static const char __pyx_k_fortran[] = "fortran";
static const char __pyx_k_model_name[] = "model, name";
static const char __pyx_k_op_children[] = "_op, children";
static const char __pyx_k_LNhS_subscip[] = "LNhS_subscip";
static const char __pyx_k_lhs__rhs_expr[] = "_lhs, _rhs, expr";
static const char __pyx_k_op_children_var[] = "_op, children, var";
static const char __pyx_k_op_children_expo[] = "_op, children, expo";
static const char __pyx_k_benders_model_name[] = "benders, model, name";
static const char __pyx_k_op_children_number[] = "_op, children, number";
static const char __pyx_k_op_children_constant[] = "_op, children, constant";
static const char __pyx_k_hashval_ptrtuple_vartuple[] = "hashval, ptrtuple, vartuple";
static const char __pyx_k_op_children_coefs_constant[] = "_op, children, coefs, constant";
/* #### Code section: decls ### */
static PyObject *__pyx_lambda_funcdef_9pyscipopt_4scip_lambda11(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr, PyObject *__pyx_v_sol); /* proto */
static PyObject *__pyx_lambda_funcdef_9pyscipopt_4scip_lambda16(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x); /* proto */
static PyObject *__pyx_lambda_funcdef_9pyscipopt_4scip_lambda17(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x); /* proto */
static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, PyObject *__pyx_v_format, PyObject *__pyx_v_mode, int __pyx_v_allocate_buffer); /* proto */
static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(struct __pyx_array_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */
static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(struct __pyx_array_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_5array_7memview___get__(struct __pyx_array_obj *__pyx_v_self); /* proto */
static Py_ssize_t __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(struct __pyx_array_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_attr); /* proto */
static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item); /* proto */
static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf___pyx_array___reduce_cython__(CYTHON_UNUSED struct __pyx_array_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_array_2__setstate_cython__(CYTHON_UNUSED struct __pyx_array_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(struct __pyx_MemviewEnum_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(struct __pyx_MemviewEnum_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_MemviewEnum_2__setstate_cython__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_flags, int __pyx_v_dtype_is_object); /* proto */
static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index); /* proto */
static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /* proto */
static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(struct __pyx_memoryview_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_memoryview___reduce_cython__(CYTHON_UNUSED struct __pyx_memoryview_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_memoryview_2__setstate_cython__(CYTHON_UNUSED struct __pyx_memoryview_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(struct __pyx_memoryviewslice_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_memoryviewslice___reduce_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self); /* proto */
static PyObject *__pyx_pf___pyx_memoryviewslice_2__setstate_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip__is_number(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_e); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2_expr_richcmp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_op); /* proto */
static PyObject *__pyx_lambda_funcdef_lambda(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_8__init___1genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Term___init__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, PyObject *__pyx_v_vartuple); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_2__getitem__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, PyObject *__pyx_v_idx); /* proto */
static Py_hash_t __pyx_pf_9pyscipopt_4scip_4Term_4__hash__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_6__eq__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_other); /* proto */
static Py_ssize_t __pyx_pf_9pyscipopt_4scip_4Term_8__len__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_7__mul___genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_10__mul__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_12__repr__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_14_evaluate(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_8vartuple___get__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_8ptrtuple___get__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_16__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_18__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4buildGenExprObj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Expr___init__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_terms); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_2__getitem__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_4__iter__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_6__abs__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_8__add__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_10__iadd__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_12__mul__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_14__truediv__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_16__rtruediv__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_18__pow__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other, CYTHON_UNUSED PyObject *__pyx_v_modulo); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_20__rpow__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_22__neg__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_24__sub__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_26__radd__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_28__rmul__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_30__rsub__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_32__richcmp__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_op); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_34normalize(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_36__repr__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_6degree_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_38degree(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_40_evaluate(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_5terms___get__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Expr_5terms_2__set__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Expr_5terms_4__del__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_42__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_44__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8ExprCons___init__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self, PyObject *__pyx_v_expr, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_2normalize(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_4__richcmp__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_op); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_6__repr__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8ExprCons_8__bool__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_4expr___get__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8ExprCons_4expr_2__set__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8ExprCons_4expr_4__del__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_4_lhs___get__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8ExprCons_4_lhs_2__set__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8ExprCons_4_lhs_4__del__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_4_rhs___get__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8ExprCons_4_rhs_2__set__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8ExprCons_4_rhs_4__del__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_10__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_12__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6quicksum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_termlist); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8quickprod(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_termlist); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7GenExpr___init__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_2__abs__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_4__add__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_6__mul__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_8__pow__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other, CYTHON_UNUSED PyObject *__pyx_v_modulo); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_10__rpow__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_12__truediv__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_14__rtruediv__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_16__neg__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_18__sub__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_20__radd__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_22__rmul__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_24__rsub__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_26__richcmp__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_op); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_28degree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_30getOp(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_3_op___get__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7GenExpr_3_op_2__set__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7GenExpr_3_op_4__del__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_8children___get__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7GenExpr_8children_2__set__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7GenExpr_8children_4__del__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_32__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_34__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7SumExpr___init__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_lambda_funcdef_lambda4(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_child); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7SumExpr_2__repr__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7SumExpr_4_evaluate(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7SumExpr_8constant___get__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7SumExpr_8constant_2__set__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7SumExpr_8constant_4__del__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7SumExpr_5coefs___get__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7SumExpr_5coefs_2__set__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7SumExpr_5coefs_4__del__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7SumExpr_6__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7SumExpr_8__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8ProdExpr___init__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_lambda_funcdef_lambda5(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_child); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8ProdExpr_2__repr__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8ProdExpr_4_evaluate(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8ProdExpr_8constant___get__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8ProdExpr_8constant_2__set__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8ProdExpr_8constant_4__del__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8ProdExpr_6__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8ProdExpr_8__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7VarExpr___init__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self, PyObject *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7VarExpr_2__repr__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7VarExpr_4_evaluate(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7VarExpr_3var___get__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7VarExpr_3var_2__set__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7VarExpr_3var_4__del__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7VarExpr_6__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7VarExpr_8__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7PowExpr___init__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7PowExpr_2__repr__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7PowExpr_4_evaluate(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7PowExpr_4expo___get__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7PowExpr_4expo_2__set__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7PowExpr_4expo_4__del__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7PowExpr_6__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7PowExpr_8__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9pyscipopt_4scip_9UnaryExpr___init__(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self, PyObject *__pyx_v_op, PyObject *__pyx_v_expr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9UnaryExpr_2__abs__(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9UnaryExpr_4__repr__(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9UnaryExpr_6_evaluate(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9UnaryExpr_8__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9UnaryExpr_10__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8Constant___init__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self, PyObject *__pyx_v_number); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Constant_2__repr__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Constant_4_evaluate(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Constant_6number___get__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8Constant_6number_2__set__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8Constant_6number_4__del__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Constant_6__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Constant_8__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10exp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_12log(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14sqrt(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16sin(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_18cos(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_20expr_to_nodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_22value_to_array(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val, PyObject *__pyx_v_nodes); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_24expr_to_array(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr, PyObject *__pyx_v_nodes); /* proto */
static int __pyx_pf_9pyscipopt_4scip_2LP___init__(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_sense); /* proto */
static void __pyx_pf_9pyscipopt_4scip_2LP_2__dealloc__(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_4__repr__(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_6writeLP(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_8readLP(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_10infinity(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_12isInfinity(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_14addCol(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_entries, PyObject *__pyx_v_obj, PyObject *__pyx_v_lb, PyObject *__pyx_v_ub); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_7addCols_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_16addCols(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_entrieslist, PyObject *__pyx_v_objs, PyObject *__pyx_v_lbs, PyObject *__pyx_v_ubs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_18delCols(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_firstcol, PyObject *__pyx_v_lastcol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_20addRow(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_entries, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_7addRows_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_22addRows(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_entrieslist, PyObject *__pyx_v_lhss, PyObject *__pyx_v_rhss); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_24delRows(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_firstrow, PyObject *__pyx_v_lastrow); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_26getBounds(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_firstcol, PyObject *__pyx_v_lastcol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_28getSides(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_firstrow, PyObject *__pyx_v_lastrow); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_30chgObj(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_col, PyObject *__pyx_v_obj); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_32chgCoef(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_row, PyObject *__pyx_v_col, PyObject *__pyx_v_newval); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_34chgBound(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_col, PyObject *__pyx_v_lb, PyObject *__pyx_v_ub); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_36chgSide(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_row, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_38clear(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_40nrows(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_42ncols(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_44solve(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_dual); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_46isOptimal(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_48getObjVal(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_50getPrimal(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_52isPrimalFeasible(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_54getDual(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_56isDualFeasible(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_58getPrimalRay(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_60getDualRay(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_62getNIterations(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_64getActivity(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_66getRedcost(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_68getBasisInds(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_70setIntParam(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_param, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_72setRealParam(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_param, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_74getIntParam(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_param); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_76getRealParam(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_param); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_4name___get__(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_78__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_80__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_bendersfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_2bendersinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_4bendersexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_6bendersinitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_8bendersexitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_10bendersinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_12bendersexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_14benderscreatesub(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_probnumber); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_16benderspresubsolve(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_enfotype, CYTHON_UNUSED PyObject *__pyx_v_checkint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_18benderssolvesubconvex(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_probnumber, CYTHON_UNUSED PyObject *__pyx_v_onlyconvex); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_20benderssolvesub(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_probnumber); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_22benderspostsolve(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_enfotype, CYTHON_UNUSED PyObject *__pyx_v_mergecandidates, CYTHON_UNUSED PyObject *__pyx_v_npriomergecands, CYTHON_UNUSED PyObject *__pyx_v_checkint, CYTHON_UNUSED PyObject *__pyx_v_infeasible); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_24bendersfreesub(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_probnumber); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_26bendersgetvar(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_variable, CYTHON_UNUSED PyObject *__pyx_v_probnumber); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7Benders_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7Benders_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7Benders_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7Benders_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_28__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_30__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_benderscutfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_2benderscutinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_4benderscutexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_6benderscutinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_8benderscutexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_10benderscutexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_probnumber, CYTHON_UNUSED PyObject *__pyx_v_enfotype); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_10Benderscut_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_10Benderscut_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_7benders___get__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_10Benderscut_7benders_2__set__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_10Benderscut_7benders_4__del__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_10Benderscut_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_10Benderscut_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_12__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_14__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_branchfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_2branchinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_4branchexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_6branchinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_8branchexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_10branchexeclp(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_allowaddcons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_12branchexecext(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_allowaddcons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_14branchexecps(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_allowaddcons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_10Branchrule_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_10Branchrule_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_16__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_18__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_consfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_2consinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_4consexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_6consinitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_8consexitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_10consinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_12consexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_restart); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_14consdelete(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_16constrans(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_sourceconstraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_18consinitlp(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_20conssepalp(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nusefulconss); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_22conssepasol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nusefulconss, CYTHON_UNUSED PyObject *__pyx_v_solution); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_24consenfolp(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nusefulconss, CYTHON_UNUSED PyObject *__pyx_v_solinfeasible); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_26consenforelax(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nusefulconss, CYTHON_UNUSED PyObject *__pyx_v_solinfeasible); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_28consenfops(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nusefulconss, CYTHON_UNUSED PyObject *__pyx_v_solinfeasible, CYTHON_UNUSED PyObject *__pyx_v_objinfeasible); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_30conscheck(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_checkintegrality, CYTHON_UNUSED PyObject *__pyx_v_checklprows, CYTHON_UNUSED PyObject *__pyx_v_printreason, CYTHON_UNUSED PyObject *__pyx_v_completely); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_32consprop(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nusefulconss, CYTHON_UNUSED PyObject *__pyx_v_nmarkedconss, CYTHON_UNUSED PyObject *__pyx_v_proptiming); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_34conspresol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nrounds, CYTHON_UNUSED PyObject *__pyx_v_presoltiming, CYTHON_UNUSED PyObject *__pyx_v_nnewfixedvars, CYTHON_UNUSED PyObject *__pyx_v_nnewaggrvars, CYTHON_UNUSED PyObject *__pyx_v_nnewchgvartypes, CYTHON_UNUSED PyObject *__pyx_v_nnewchgbds, CYTHON_UNUSED PyObject *__pyx_v_nnewholes, CYTHON_UNUSED PyObject *__pyx_v_nnewdelconss, CYTHON_UNUSED PyObject *__pyx_v_nnewaddconss, CYTHON_UNUSED PyObject *__pyx_v_nnewupgdconss, CYTHON_UNUSED PyObject *__pyx_v_nnewchgcoefs, CYTHON_UNUSED PyObject *__pyx_v_nnewchgsides, PyObject *__pyx_v_result_dict); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_36consresprop(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_38conslock(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint, CYTHON_UNUSED PyObject *__pyx_v_locktype, CYTHON_UNUSED PyObject *__pyx_v_nlockspos, CYTHON_UNUSED PyObject *__pyx_v_nlocksneg); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_40consactive(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_42consdeactive(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_44consenable(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_46consdisable(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_48consdelvars(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_50consprint(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_52conscopy(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_54consparse(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_56consgetvars(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_58consgetnvars(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_60consgetdivebdchgs(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_62consgetpermsymgraph(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_64consgetsignedpermsymgraph(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8Conshdlr_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8Conshdlr_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8Conshdlr_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8Conshdlr_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_66__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_68__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_cutselfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_2cutselinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_4cutselexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_6cutselinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_8cutselexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_10cutselselect(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_cuts, CYTHON_UNUSED PyObject *__pyx_v_forcedcuts, CYTHON_UNUSED PyObject *__pyx_v_root, CYTHON_UNUSED PyObject *__pyx_v_maxnselectedcuts); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_6Cutsel_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_6Cutsel_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_12__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_14__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_eventcopy(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_2eventfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_4eventinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_6eventexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_8eventinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_10eventexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_12eventdelete(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_14eventexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_9Eventhdlr_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_9Eventhdlr_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_9Eventhdlr_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_9Eventhdlr_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_16__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_18__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_heurfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_2heurinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_4heurexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_6heurinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_8heurexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_10heurexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_heurtiming, CYTHON_UNUSED PyObject *__pyx_v_nodeinfeasible); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Heur_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Heur_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Heur_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Heur_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_12__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_14__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9IISfinder_iisfinderfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9IISfinder_2iisfinderexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9IISfinder_3iis___get__(struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_9IISfinder_3iis_2__set__(struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_9IISfinder_3iis_4__del__(struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9IISfinder_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9IISfinder_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_presolfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_2presolinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_4presolexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_6presolinitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_8presolexitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_10presolexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_nrounds, CYTHON_UNUSED PyObject *__pyx_v_presoltiming); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_6Presol_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_6Presol_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_12__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_14__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_pricerfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_2pricerinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_4pricerexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_6pricerinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_8pricerexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_10pricerredcost(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_12pricerfarkas(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_6Pricer_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_6Pricer_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_propfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_2propinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_4propexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_6propinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_8propexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_restart); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_10propinitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_12propexitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_14proppresol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_nrounds, CYTHON_UNUSED PyObject *__pyx_v_presoltiming, CYTHON_UNUSED PyObject *__pyx_v_result_dict); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_16propexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_proptiming); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_18propresprop(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_confvar, CYTHON_UNUSED PyObject *__pyx_v_inferinfo, CYTHON_UNUSED PyObject *__pyx_v_bdtype, CYTHON_UNUSED PyObject *__pyx_v_relaxedbd); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Prop_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Prop_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_20__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_22__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_sepafree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_2sepainit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_4sepaexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_6sepainitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_8sepaexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_10sepaexeclp(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_12sepaexecsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Sepa_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Sepa_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Sepa_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Sepa_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_14__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_16__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_readerfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_2readerread(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_filename); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_4readerwrite(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_file, CYTHON_UNUSED PyObject *__pyx_v_name, CYTHON_UNUSED PyObject *__pyx_v_transformed, CYTHON_UNUSED PyObject *__pyx_v_objsense, CYTHON_UNUSED PyObject *__pyx_v_objoffset, CYTHON_UNUSED PyObject *__pyx_v_objscale, CYTHON_UNUSED PyObject *__pyx_v_binvars, CYTHON_UNUSED PyObject *__pyx_v_intvars, CYTHON_UNUSED PyObject *__pyx_v_implvars, CYTHON_UNUSED PyObject *__pyx_v_contvars, CYTHON_UNUSED PyObject *__pyx_v_fixedvars, CYTHON_UNUSED PyObject *__pyx_v_startnvars, CYTHON_UNUSED PyObject *__pyx_v_conss, CYTHON_UNUSED PyObject *__pyx_v_maxnconss, CYTHON_UNUSED PyObject *__pyx_v_startnconss, CYTHON_UNUSED PyObject *__pyx_v_genericnames); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_6Reader_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_6Reader_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_6Reader_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_6Reader_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_6__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_8__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_relaxfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_2relaxinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_4relaxexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_6relaxinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_8relaxexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_10relaxexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_5Relax_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_5Relax_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_5Relax_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_5Relax_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_12__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_14__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_nodefree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_2nodeinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_4nodeexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_6nodeinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_8nodeexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_10nodeselect(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_12nodecomp(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_node1, CYTHON_UNUSED PyObject *__pyx_v_node2); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7Nodesel_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_7Nodesel_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_14__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_16__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10MatrixExpr___array_ufunc__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_ufunc, PyObject *__pyx_v_method, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10MatrixExpr_2_evaluate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixExprCons_15__array_ufunc___genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixExprCons___array_ufunc__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_ufunc, PyObject *__pyx_v_method, PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixExprCons_2__eq__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v__); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_26_core_dot(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_12_core_dot_2d_genexpr(PyObject *__pyx_self, __Pyx_memviewslice __pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_28_core_dot_2d(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_x); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9_core_sum_genexpr(PyObject *__pyx_self, PyArrayObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9_core_sum_3genexpr(PyObject *__pyx_self, PyArrayObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9_core_sum_6genexpr(PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_30_core_sum(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyObject *__pyx_v_axis, int __pyx_v_keepdims, CYTHON_UNUSED PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14PY_SCIP_RESULT___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_RESULT *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14PY_SCIP_RESULT_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_RESULT *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMSETTING *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMSETTING *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_15PY_SCIP_LPPARAM___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPPARAM *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_15PY_SCIP_LPPARAM_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPPARAM *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14PY_SCIP_STATUS___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STATUS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14PY_SCIP_STATUS_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STATUS *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_13PY_SCIP_STAGE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STAGE *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_13PY_SCIP_STAGE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STAGE *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16PY_SCIP_NODETYPE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_NODETYPE *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16PY_SCIP_NODETYPE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_NODETYPE *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_18PY_SCIP_PROPTIMING___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PROPTIMING *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PROPTIMING *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_18PY_SCIP_HEURTIMING___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_HEURTIMING *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_HEURTIMING *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_EVENTTYPE *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_EVENTTYPE *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LOCKTYPE *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LOCKTYPE *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BRANCHDIR *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BRANCHDIR *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_SOLORIGIN *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_SOLORIGIN *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_32PY_SCIP_CALL(CYTHON_UNUSED PyObject *__pyx_self, SCIP_RETCODE __pyx_v_rc); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_getType(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_2getName(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_4_getEventNames(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_6__repr__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_8__str__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_10getNewBound(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_12getOldBound(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_14getVar(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_16getNode(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_18getRow(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static Py_hash_t __pyx_pf_9pyscipopt_4scip_5Event_20__hash__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_22__eq__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_5Event_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_5Event_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_24__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_26__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_getLPPos(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_2getBasisStatus(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_4isIntegral(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_6getVar(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_8getPrimsol(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_10getLb(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_12getUb(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_14getObjCoeff(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_16getAge(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self); /* proto */
static Py_hash_t __pyx_pf_9pyscipopt_4scip_6Column_18__hash__(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_20__eq__(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_6Column_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_6Column_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_22__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_24__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_11ColumnExact_4data___get__(struct __pyx_obj_9pyscipopt_4scip_ColumnExact *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_11ColumnExact_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_ColumnExact *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_11ColumnExact_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_ColumnExact *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_11ColumnExact___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_ColumnExact *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_11ColumnExact_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_ColumnExact *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_getLhs(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_2getRhs(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_4getConstant(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_6getDualsol(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_8getDualfarkas(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_10getLPPos(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_12getBasisStatus(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_14isIntegral(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_16isLocal(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_18isModifiable(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_20isRemovable(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_22isInGlobalCutpool(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_24getOrigintype(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_26getConsOriginConshdlrtype(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_28getNNonz(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_30getNLPNonz(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_32getCols(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_34getVals(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_36getAge(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_38getNorm(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static Py_hash_t __pyx_pf_9pyscipopt_4scip_3Row_40__hash__(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_42__eq__(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_3Row_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_3Row_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_44__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_46__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8RowExact_4data___get__(struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8RowExact_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8RowExact_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8RowExact___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8RowExact_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_4name___get__(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_getConstant(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_2getLinearTerms(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_4getLhs(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_6getRhs(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_8getDualsol(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self); /* proto */
static Py_hash_t __pyx_pf_9pyscipopt_4scip_5NLRow_10__hash__(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_12__eq__(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_4data___get__(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_5NLRow_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_5NLRow_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8Solution___init__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, PyObject *__pyx_v_raise_error); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_2__getitem__(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, PyObject *__pyx_v_expr); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8Solution_4__setitem__(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_6__repr__(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_8_checkStage(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, PyObject *__pyx_v_method); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_10getOrigin(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_12retransform(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_14translate(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_target); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8Solution_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8Solution_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_getNewBound(struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_2getVar(struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_4getBoundchgtype(struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_6getBoundtype(struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_8isRedundant(struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_10__repr__(struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_13DomainChanges_getBoundchgs(struct __pyx_obj_9pyscipopt_4scip_DomainChanges *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_13DomainChanges_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_DomainChanges *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_13DomainChanges_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_DomainChanges *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_getParent(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_2getNumber(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_4getDepth(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_6getType(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_8getLowerbound(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_10getEstimate(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_12getAddedConss(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_14getNAddedConss(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_16isActive(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_18isPropagatedAgain(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_20getNParentBranchings(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_22getParentBranchings(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_24getNDomchg(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_26getDomchg(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static Py_hash_t __pyx_pf_9pyscipopt_4scip_4Node_28__hash__(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_30__eq__(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Node_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_4Node_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_32__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_34__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_ptr(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_2__repr__(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_4vtype(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_6isBinary(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_8isIntegral(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_10isImpliedIntegral(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_12isNonImpliedIntegral(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_14getImplType(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_16getStatus(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_18isOriginal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_20isActive(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_22isInLP(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_24getIndex(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_26getCol(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_28getLbOriginal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_30getUbOriginal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_32getLbGlobal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_34getUbGlobal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_36getLbLocal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_38getUbLocal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_40getObj(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_42getLPSol(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_44getAvgSol(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_46markRelaxationOnly(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_48isRelaxationOnly(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_50isDeletable(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_52isActive(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_54getNLocksDown(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_56getNLocksUp(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_58getNLocksDownType(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, PyObject *__pyx_v_locktype); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_60getNLocksUpType(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, PyObject *__pyx_v_locktype); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_62varMayRound(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, PyObject *__pyx_v_direction); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_64getNBranchings(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, PyObject *__pyx_v_branchdir); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_66getNBranchingsCurrentRun(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, PyObject *__pyx_v_branchdir); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8Variable_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_8Variable_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_68__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_70__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_vtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_2isInLP(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_4getIndex(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_6getCol(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_8getLbOriginal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_10getUbOriginal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_12getLbGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_14getUbGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_16getLbLocal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_18getUbLocal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_20getObj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_22getLPSol(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_24getAvgSol(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_26varMayRound(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_direction); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_ptr(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_2__repr__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_4isOriginal(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_6isInitial(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_8isSeparated(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_10isEnforced(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_12isChecked(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_14isPropagated(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_16isLocal(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_18isModifiable(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_20isDynamic(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_22isRemovable(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_24isStickingAtNode(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_26isActive(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_28isLinear(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_30isKnapsack(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_32isLinearType(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_34isNonlinear(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_36getConshdlrName(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static Py_hash_t __pyx_pf_9pyscipopt_4scip_10Constraint_38__hash__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_40__eq__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_10Constraint_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_10Constraint_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_42__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_44__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_isInitial(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_2isSeparated(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_4isEnforced(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_6isChecked(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_8isPropagated(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_10isLocal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_12isModifiable(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_14isDynamic(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_16isRemovable(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_18isStickingAtNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_20isActive(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_22isLinear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_24isNonlinear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_26getConshdlrName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_9_VarArray___cinit__(struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_self, PyObject *__pyx_v_vars); /* proto */
static void __pyx_pf_9pyscipopt_4scip_9_VarArray_2__dealloc__(struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9_VarArray_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_9_VarArray_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_getTime(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_2isSubscipIrreducible(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_4isSubscipInfeasible(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_6setSubscipIrreducible(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self, PyObject *__pyx_v_irreducible); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_8setSubscipInfeasible(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self, PyObject *__pyx_v_infeasible); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_10getNNodes(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_12getSubscip(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_14greedyMakeIrreducible(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static int __pyx_pf_9pyscipopt_4scip_5Model___init__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_problemName, PyObject *__pyx_v_defaultPlugins, struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_sourceModel, PyObject *__pyx_v_origcopy, PyObject *__pyx_v_globalcopy, PyObject *__pyx_v_enablepricing, PyObject *__pyx_v_createscip, PyObject *__pyx_v_threadsafe); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler___init__(PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_callback); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_2eventinit(PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_4eventexit(PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_6eventexec(PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_event); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_2attachEventHandlerCallback(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_callback, PyObject *__pyx_v_events, PyObject *__pyx_v_name, PyObject *__pyx_v_description); /* proto */
static void __pyx_pf_9pyscipopt_4scip_5Model_4__dealloc__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static Py_hash_t __pyx_pf_9pyscipopt_4scip_5Model_6__hash__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_8__eq__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_9_freescip___get__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_5Model_9_freescip_2__set__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_10from_ptr(PyObject *__pyx_v_capsule, PyObject *__pyx_v_take_ownership); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_12to_ptr(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_give_ownership); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_14includeDefaultPlugins(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_16createProbBasic(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_problemName); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_18freeProb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_20freeTransform(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_22version(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_24getMajorVersion(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_26getMinorVersion(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_28getTechVersion(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_30printVersion(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_32printExternalCodeVersions(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_34getProbName(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_36getTotalTime(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_38getSolvingTime(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_40getReadingTime(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_42getPresolvingTime(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_44getNLPIterations(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_46getNNodes(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_48getNTotalNodes(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_50getNFeasibleLeaves(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_52getNInfeasibleLeaves(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_54getNLeaves(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_56getNChildren(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_58getNSiblings(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_60getCurrentNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_62getGap(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_64getDepth(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_66getMaxDepth(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_68getPlungeDepth(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_70getLowerbound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_72getCutoffbound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_74getNNodeLPIterations(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_76getNStrongbranchLPIterations(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_78getPrimalDualIntegral(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_80cutoffNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_82infinity(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_84epsilon(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_86feastol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_88feasFrac(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_90frac(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_92feasFloor(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_94feasCeil(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_96feasRound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_98isZero(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_100isFeasZero(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_102isInfinity(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_104isFeasNegative(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_106isFeasPositive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_108isFeasIntegral(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_110isIntegral(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_112adjustedVarLb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_114adjustedVarUb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_116isEQ(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_118isFeasEQ(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_120isFeasLT(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_122isFeasLE(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_124isFeasGT(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_126isFeasGE(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_128isLE(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_130isLT(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_132isGE(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_134isGT(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_136isHugeValue(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_138isPositive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_140isNegative(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_142getCondition(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_exact); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_144enableReoptimization(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_enable); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_146lpiGetIterations(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_148setMinimize(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_150setMaximize(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_152setObjlimit(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_objlimit); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_154getObjlimit(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_156setObjective(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_expr, PyObject *__pyx_v_sense, PyObject *__pyx_v_clear); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_158getObjective(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_160addObjoffset(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_solutions); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_162getObjoffset(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_original); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_164setObjIntegral(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_166isObjIntegral(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_168getLocalEstimate(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_original); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_170setPresolve(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_setting); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_172setProbName(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_174setSeparating(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_setting); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_176setHeuristics(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_setting); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_178setHeurTiming(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_heurname, PyObject *__pyx_v_heurtiming); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_180getHeurTiming(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_heurname); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_182disablePropagation(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_onlyroot); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_184printProblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_ext, PyObject *__pyx_v_trans, PyObject *__pyx_v_genericnames); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_186writeProblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_trans, PyObject *__pyx_v_genericnames, PyObject *__pyx_v_verbose); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_188addVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_vtype, PyObject *__pyx_v_lb, PyObject *__pyx_v_ub, PyObject *__pyx_v_obj, PyObject *__pyx_v_pricedVar, PyObject *__pyx_v_pricedVarScore, PyObject *__pyx_v_deletable); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_190addMatrixVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_shape, PyObject *__pyx_v_name, PyObject *__pyx_v_vtype, PyObject *__pyx_v_lb, PyObject *__pyx_v_ub, PyObject *__pyx_v_obj, PyObject *__pyx_v_pricedVar, PyObject *__pyx_v_pricedVarScore); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_192getTransformedVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_194addVarLocks(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, int __pyx_v_nlocksdown, int __pyx_v_nlocksup); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_196addVarLocksType(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, int __pyx_v_locktype, int __pyx_v_nlocksdown, int __pyx_v_nlocksup); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_198fixVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_200delVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_202aggregateVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_varx, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_vary, PyObject *__pyx_v_coefx, PyObject *__pyx_v_coefy, PyObject *__pyx_v_rhs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_204tightenVarLb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb, PyObject *__pyx_v_force); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_206tightenVarUb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub, PyObject *__pyx_v_force); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_208tightenVarUbGlobal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub, PyObject *__pyx_v_force); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_210tightenVarLbGlobal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb, PyObject *__pyx_v_force); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_212chgVarLb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_214chgVarUb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_216chgVarLbGlobal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_218chgVarUbGlobal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_220chgVarLbNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_222chgVarUbNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_224chgVarType(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_vtype); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_226markDoNotAggrVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_228markDoNotMultaggrVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_230getVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_transformed); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_232getNVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_transformed); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_234getNIntVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_236getNBinVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_238getNImplVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_240getNContVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_242getVarDict(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_transformed); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_244getVarPseudocostScore(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_solVal); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_246getVarPseudocost(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_branchdir); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_248updateNodeLowerbound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node, PyObject *__pyx_v_lb); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_250relax(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_252getBestChild(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_254getChildren(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_256getSiblings(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_258getLeaves(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_260getBestSibling(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_262getPrioChild(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_264getPrioSibling(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_266getBestLeaf(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_268getBestNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_270getBestboundNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_272getOpenNodes(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_274repropagateNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_276getLPSolstat(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_278constructLP(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_280getLPObjVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_282getLPColsData(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_284getLPRowsData(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_286getNLPRows(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_288getNLPCols(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_290getLPBasisInd(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_292getLPBInvRow(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_row); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_294getLPBInvARow(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_row); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_296isLPSolBasic(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_298allColsInLP(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_300getColRedCost(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_col); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_302createEmptyRowSepa(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_sepa, PyObject *__pyx_v_name, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_removable); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_304createEmptyRowUnspec(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_removable); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_306getRowActivity(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_308getRowLPActivity(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_310releaseRow(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_312cacheRowExtensions(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_314flushRowExtensions(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_316addVarToRow(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_318printRow(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_320getRowNumIntCols(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_322getRowObjParallelism(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_324getRowParallelism(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row1, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row2, PyObject *__pyx_v_orthofunc); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_326getRowDualSol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_328addPoolCut(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_330getCutEfficacy(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_cut, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_332isCutEfficacious(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_cut, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_334getCutLPSolCutoffDistance(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_cut, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_336addCut(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_cut, PyObject *__pyx_v_forcecut); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_338getNCuts(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_340getNCutsApplied(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_342getNSepaRounds(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_344separateSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, PyObject *__pyx_v_pretendroot, PyObject *__pyx_v_allowlocal, PyObject *__pyx_v_onlydelayed); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_346_createConsLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_lincons, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_348_createConsQuadratic(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_quadcons, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_350_createConsNonlinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_352_createConsGenNonlinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_kwargs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_354createConsFromExpr(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_356addCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_8addConss_ensure_iterable(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_elem, PyObject *__pyx_v_length); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_358addConss(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_conss, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_360addMatrixCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_18addConsDisjunction_ensure_iterable(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_elem, PyObject *__pyx_v_length); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_362addConsDisjunction(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_conss, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, CYTHON_UNUSED PyObject *__pyx_v_relaxcons, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_364addConsElemDisjunction(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_disj_cons, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_366getConsNVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_constraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_368getConsVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_constraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_370getConsVals(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_constraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_372getNVarsAnd(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_374getVarsAnd(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_376getResultantAnd(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_378isAndConsSorted(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_380sortAndCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_382printCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_constraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_384addExprNonlinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_expr, PyObject *__pyx_v_coef); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_386addConsCoeff(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_coeff); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_388addConsNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node, struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_validnode, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_390addConsLocal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_validnode, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_392addConsKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_vars, PyObject *__pyx_v_weights, PyObject *__pyx_v_capacity, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_394addConsSOS1(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_vars, PyObject *__pyx_v_weights, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_396addConsSOS2(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_vars, PyObject *__pyx_v_weights, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_398addConsAnd(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_vars, PyObject *__pyx_v_resvar, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_400addConsOr(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_vars, PyObject *__pyx_v_resvar, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_402addConsXor(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_vars, PyObject *__pyx_v_rhsvar, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_404addConsCardinality(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_consvars, PyObject *__pyx_v_cardval, PyObject *__pyx_v_indvars, PyObject *__pyx_v_weights, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_406addConsIndicator(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_binvar, PyObject *__pyx_v_activeone, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_408addMatrixConsIndicator(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_binvar, PyObject *__pyx_v_activeone, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_410getLinearConsIndicator(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_412getSlackVarIndicator(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_414addPyCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_416addVarSOS1(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_weight); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_418appendVarSOS1(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_420addVarSOS2(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_weight); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_422appendVarSOS2(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_424setInitial(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_newInit); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_426setModifiable(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_newMod); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_428setRemovable(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_newRem); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_430setEnforced(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_newEnf); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_432setCheck(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_newCheck); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_434chgRhs(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_rhs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_436chgCapacityKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_capacity); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_438chgLhs(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_lhs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_440getRhs(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_442getCapacityKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_444getLhs(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_446chgCoefLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_448delCoefLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_450addCoefLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_452addCoefKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_weight); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_454getActivity(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_456getSlack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, PyObject *__pyx_v_side); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_458getTransformedCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_460isNLPConstructed(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_462getNNlRows(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_464getNlRows(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_466getNlRowSolActivity(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_nlrow, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_468getNlRowSolFeasibility(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_nlrow, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_470getNlRowActivityBounds(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_nlrow); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_472printNlRow(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_nlrow); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_474checkQuadraticNonlinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_476getTermsQuadratic(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_478setRelaxSolVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_480enableDebugSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_482disableDebugSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_484getConss(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_transformed); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_486getNConss(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_transformed); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_488delCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_490delConsLocal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_492getValsLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_494getWeightsKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_496getRowLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_498getDualsolLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_500getDualsolKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_502getDualMultiplier(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_504getDualfarkasLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_506getDualfarkasKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_508getVarRedcost(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_510getDualSolVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_boundconstraint); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_512optimize(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_514optimizeNogil(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_516solveConcurrent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_518presolve(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_520initBendersDefault(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_subproblems); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_522computeBestSolSubproblems(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_524freeBendersSubproblems(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_526updateBendersLowerbounds(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_lowerbounds, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_528activateBenders(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, int __pyx_v_nsubproblems); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_530addBendersSubproblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, PyObject *__pyx_v_subproblem); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_532setBendersSubproblemIsConvex(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, PyObject *__pyx_v_probnumber, PyObject *__pyx_v_isconvex); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_534setupBendersSubproblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_probnumber, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_checktype); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_536solveBendersSubproblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_probnumber, PyObject *__pyx_v_solvecip, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_538getBendersSubproblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_probnumber, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_540getBendersVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, PyObject *__pyx_v_probnumber); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_542getBendersAuxiliaryVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_probnumber, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_544checkBendersSubproblemOptimality(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_probnumber, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_546includeBendersDefaultCuts(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_548includeEventhdlr(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr, PyObject *__pyx_v_name, PyObject *__pyx_v_desc); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_550includePricer(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_pricer, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_delay); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_552includeConshdlr(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_conshdlr, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_sepapriority, PyObject *__pyx_v_enfopriority, PyObject *__pyx_v_chckpriority, PyObject *__pyx_v_sepafreq, PyObject *__pyx_v_propfreq, PyObject *__pyx_v_eagerfreq, PyObject *__pyx_v_maxprerounds, PyObject *__pyx_v_delaysepa, PyObject *__pyx_v_delayprop, PyObject *__pyx_v_needscons, PyObject *__pyx_v_proptiming, PyObject *__pyx_v_presoltiming); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_554deactivatePricer(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_pricer); /* proto */
static struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_pf_9pyscipopt_4scip_5Model_556copyLargeNeighborhoodSearch(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_to_fix, PyObject *__pyx_v_fix_vals); /* proto */
static struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_pf_9pyscipopt_4scip_5Model_558translateSubSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_sub_model, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, PyObject *__pyx_v_heur); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_560createCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_conshdlr, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_562includePresol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_presol, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_maxrounds, PyObject *__pyx_v_timing); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_564includeSepa(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_sepa, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_freq, PyObject *__pyx_v_maxbounddist, PyObject *__pyx_v_usessubscip, PyObject *__pyx_v_delay); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_566includeReader(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_reader, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_ext); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_568includeProp(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_prop, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_presolpriority, PyObject *__pyx_v_presolmaxrounds, PyObject *__pyx_v_proptiming, PyObject *__pyx_v_presoltiming, PyObject *__pyx_v_priority, PyObject *__pyx_v_freq, PyObject *__pyx_v_delay); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_570includeHeur(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_heur, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_dispchar, PyObject *__pyx_v_priority, PyObject *__pyx_v_freq, PyObject *__pyx_v_freqofs, PyObject *__pyx_v_maxdepth, PyObject *__pyx_v_timingmask, PyObject *__pyx_v_usessubscip); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_572includeIISfinder(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_iisfinder, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, CYTHON_UNUSED PyObject *__pyx_v_freq); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_574generateIIS(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_576getIIS(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_578includeRelax(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_relax, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_freq); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_580includeCutsel(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_cutsel, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_582includeBranchrule(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_branchrule, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_maxdepth, PyObject *__pyx_v_maxbounddist); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_584includeNodesel(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_nodesel, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_stdpriority, PyObject *__pyx_v_memsavepriority); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_586includeBenders(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_cutlp, PyObject *__pyx_v_cutpseudo, PyObject *__pyx_v_cutrelax, PyObject *__pyx_v_shareaux); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_588includeBenderscut(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_benderscut, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_islpcut); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_590getLPBranchCands(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_592getNLPBranchCands(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_594getPseudoBranchCands(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_596branchVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_variable); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_598branchVarVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_variable, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_600calcNodeselPriority(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_variable, PyObject *__pyx_v_branchdir, PyObject *__pyx_v_targetvalue); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_602calcChildEstimate(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_variable, PyObject *__pyx_v_targetvalue); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_604createChild(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_nodeselprio, PyObject *__pyx_v_estimate); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_606startDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_608endDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_610chgVarObjDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_newobj); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_612chgVarLbDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_newbound); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_614chgVarUbDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_newbound); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_616getVarLbDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_618getVarUbDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_620chgRowLhsDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row, PyObject *__pyx_v_newlhs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_622chgRowRhsDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row, PyObject *__pyx_v_newrhs); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_624addRowDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_626solveDiveLP(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_itlim); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_628inRepropagation(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_630startProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_632endProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_634newProbingNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_636backtrackProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_probingdepth); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_638getProbingDepth(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_640chgVarObjProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_newobj); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_642chgVarLbProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_644chgVarUbProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_646fixVarProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_fixedval); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_648isObjChangedProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_650inProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_652solveProbingLP(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_itlim); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_654applyCutsProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_656propagateProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_maxproprounds); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_658interruptSolve(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_660restartSolve(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_662writeLP(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_664writeMIP(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_genericnames, PyObject *__pyx_v_origobj, PyObject *__pyx_v_lazyconss); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_666createSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_heur, PyObject *__pyx_v_initlp); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_668createPartialSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_heur); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_670createOrigSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_heur); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_672printBestSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_write_zeros); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_674printSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_write_zeros); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_676writeBestSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_write_zeros); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_678writeBestTransSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_write_zeros); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_680writeSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_filename, PyObject *__pyx_v_write_zeros); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_682writeTransSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_filename, PyObject *__pyx_v_write_zeros); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_684readSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_686readSolFile(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_688setSolVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_val); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_690trySol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_printreason, PyObject *__pyx_v_completely, PyObject *__pyx_v_checkbounds, PyObject *__pyx_v_checkintegrality, PyObject *__pyx_v_checklprows, PyObject *__pyx_v_free); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_692checkSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_printreason, PyObject *__pyx_v_completely, PyObject *__pyx_v_checkbounds, PyObject *__pyx_v_checkintegrality, PyObject *__pyx_v_checklprows, PyObject *__pyx_v_original); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_694addSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_free); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_696freeSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_698getNSols(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_700getNSolsFound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_702getNLimSolsFound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_704getNBestSolsFound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_706getSols(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_708getBestSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_710getSolObjVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, PyObject *__pyx_v_original); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_712getSolTime(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_714getObjVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_original); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_716getSolVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, PyObject *__pyx_v_expr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_718getVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_expr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_720hasPrimalRay(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_722getPrimalRayVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_724getPrimalRay(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_726getPrimalbound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_728getDualbound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_730getDualboundRoot(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_732writeName(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_734getStage(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_736getStageName(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_738_getStageNames(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_740getStatus(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_742getObjectiveSense(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_744catchEvent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_eventtype, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_746dropEvent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_eventtype, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_748catchVarEvent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_eventtype, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_750dropVarEvent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_eventtype, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_752catchRowEvent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row, PyObject *__pyx_v_eventtype, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_754dropRowEvent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row, PyObject *__pyx_v_eventtype, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_756printStatistics(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_758printStatisticsJson(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_760printStatisticsJson(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_762writeStatistics(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_764writeStatisticsJson(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_766getNLPs(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_768hideOutput(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_quiet); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_770redirectOutput(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_772setLogfile(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_path); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_774setBoolParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_776setIntParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_778setLongintParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_780setRealParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_782setCharParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_784setStringParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_786setParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_788getParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_790getParams(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_792setParams(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_params); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_794readParams(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_file); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_796writeParams(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_comments, PyObject *__pyx_v_onlychanged, PyObject *__pyx_v_verbose); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_798resetParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_800resetParams(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_802setEmphasis(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_paraemphasis, PyObject *__pyx_v_quiet); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_804readProblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_extension); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_806count(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_808getNReaders(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_810getNCountedSols(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_812setParamsCountsols(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_814freeReoptSolve(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_816chgReoptObjective(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_coeffs, PyObject *__pyx_v_sense); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_818chgVarBranchPriority(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_priority); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_820startStrongbranch(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_822endStrongbranch(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_824getVarStrongbranchLast(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_826getVarStrongbranchNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_828getVarStrongbranch(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_itlim, PyObject *__pyx_v_idempotent, PyObject *__pyx_v_integral); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_830updateVarPseudocost(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_valdelta, PyObject *__pyx_v_objdelta, PyObject *__pyx_v_weight); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_832getBranchScoreMultiple(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_gains); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_834getTreesizeEstimation(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_836enableExactSolving(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, SCIP_Bool __pyx_v_enable); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_838isExact(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_840allowNegSlackExact(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_842branchLPExact(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_844addRowExact(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_rowexact); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_846getBipartiteGraphRepresentation(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_prev_col_features, PyObject *__pyx_v_prev_edge_features, PyObject *__pyx_v_prev_row_features, PyObject *__pyx_v_static_only, PyObject *__pyx_v_suppress_warnings); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static int __pyx_pf_9pyscipopt_4scip_5Model_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
static int __pyx_pf_9pyscipopt_4scip_5Model_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_848__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_850__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_n_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_2n_binary_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_4n_integer_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_6n_implicit_integer_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_8n_continuous_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_10n_presolved_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_12n_presolved_binary_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_14n_presolved_integer_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_16n_presolved_implicit_integer_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_18n_presolved_continuous_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_20n_conss(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_22n_maximal_cons(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_24n_presolved_conss(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_26n_presolved_maximal_cons(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_14readStatistics_genexpr(PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_34readStatistics(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_36is_memory_freed(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_38print_memory_in_use(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_40__pyx_unpickle_Term(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_42__pyx_unpickle_Expr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_44__pyx_unpickle_ExprCons(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_46__pyx_unpickle_GenExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_48__pyx_unpickle_SumExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_50__pyx_unpickle_ProdExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_52__pyx_unpickle_VarExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_54__pyx_unpickle_PowExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_56__pyx_unpickle_UnaryExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_58__pyx_unpickle_Constant(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_60__pyx_unpickle_Benderscut(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_62__pyx_unpickle_Branchrule(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_64__pyx_unpickle_Conshdlr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_66__pyx_unpickle_Cutsel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_68__pyx_unpickle_Eventhdlr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_70__pyx_unpickle_Heur(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_72__pyx_unpickle_Presol(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_74__pyx_unpickle_Prop(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_76__pyx_unpickle_Sepa(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_78__pyx_unpickle_Reader(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_80__pyx_unpickle_Relax(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_82__pyx_unpickle_Nodesel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_87__pyx_unpickle_PY_SCIP_RESULT(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_89__pyx_unpickle_PY_SCIP_PARAMSETTING(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_91__pyx_unpickle_PY_SCIP_LPPARAM(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_93__pyx_unpickle_PY_SCIP_PARAMEMPHASIS(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_95__pyx_unpickle_PY_SCIP_STATUS(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_97__pyx_unpickle_PY_SCIP_STAGE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_99__pyx_unpickle_PY_SCIP_NODETYPE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_101__pyx_unpickle_PY_SCIP_PROPTIMING(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_103__pyx_unpickle_PY_SCIP_PRESOLTIMING(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_105__pyx_unpickle_PY_SCIP_HEURTIMING(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_107__pyx_unpickle_PY_SCIP_EVENTTYPE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_109__pyx_unpickle_PY_SCIP_LOCKTYPE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_111__pyx_unpickle_PY_SCIP_IMPLINTTYPE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_113__pyx_unpickle_PY_SCIP_LPSOLSTAT(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_115__pyx_unpickle_PY_SCIP_BRANCHDIR(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_117__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_119__pyx_unpickle_PY_SCIP_ROWORIGINTYPE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_pf_9pyscipopt_4scip_121__pyx_unpickle_PY_SCIP_SOLORIGIN(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Expr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Event(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Column(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_ColumnExact(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Row(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_RowExact(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_NLRow(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Solution(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_DomainChanges(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_BoundChange(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Node(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Variable(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Constraint(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_IIS(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Model(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Term(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_ExprCons(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_GenExpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_SumExpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_ProdExpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_VarExpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PowExpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_UnaryExpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Constant(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_LP(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Benders(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Benderscut(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Branchrule(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Conshdlr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Cutsel(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Eventhdlr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Heur(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_IISfinder(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Presol(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Pricer(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Prop(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Sepa(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Reader(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Relax(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_Nodesel(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_RESULT(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PARAMSETTING(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_LPPARAM(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_STATUS(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_STAGE(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_NODETYPE(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PROPTIMING(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_HEURTIMING(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_EVENTTYPE(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_LOCKTYPE(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_BRANCHDIR(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_SOLORIGIN(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip__VarArray(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct__genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_1_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_2_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_3_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_4_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_5_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_6_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_7_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_9_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_10__core_sum(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_11_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_12_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_13_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_16_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_array(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new__memoryviewslice(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
/* #### Code section: late_includes ### */
/* #### Code section: module_state ### */
/* SmallCodeConfig */
#ifndef CYTHON_SMALL_CODE
#if defined(__clang__)
    #define CYTHON_SMALL_CODE
#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
    #define CYTHON_SMALL_CODE __attribute__((cold))
#else
    #define CYTHON_SMALL_CODE
#endif
#endif

typedef struct {
  PyObject *__pyx_d;
  PyObject *__pyx_b;
  PyObject *__pyx_cython_runtime;
  PyObject *__pyx_empty_tuple;
  PyObject *__pyx_empty_bytes;
  PyObject *__pyx_empty_unicode;
  PyTypeObject *__pyx_ptype_7cpython_4type_type;
  PyTypeObject *__pyx_ptype_7cpython_4bool_bool;
  PyTypeObject *__pyx_ptype_7cpython_7complex_complex;
  PyTypeObject *__pyx_ptype_5numpy_dtype;
  PyTypeObject *__pyx_ptype_5numpy_flatiter;
  PyTypeObject *__pyx_ptype_5numpy_broadcast;
  PyTypeObject *__pyx_ptype_5numpy_ndarray;
  PyTypeObject *__pyx_ptype_5numpy_generic;
  PyTypeObject *__pyx_ptype_5numpy_number;
  PyTypeObject *__pyx_ptype_5numpy_integer;
  PyTypeObject *__pyx_ptype_5numpy_signedinteger;
  PyTypeObject *__pyx_ptype_5numpy_unsignedinteger;
  PyTypeObject *__pyx_ptype_5numpy_inexact;
  PyTypeObject *__pyx_ptype_5numpy_floating;
  PyTypeObject *__pyx_ptype_5numpy_complexfloating;
  PyTypeObject *__pyx_ptype_5numpy_flexible;
  PyTypeObject *__pyx_ptype_5numpy_character;
  PyTypeObject *__pyx_ptype_5numpy_ufunc;
  PyObject *__pyx_type_9pyscipopt_4scip_Expr;
  PyObject *__pyx_type_9pyscipopt_4scip_Event;
  PyObject *__pyx_type_9pyscipopt_4scip_Column;
  PyObject *__pyx_type_9pyscipopt_4scip_ColumnExact;
  PyObject *__pyx_type_9pyscipopt_4scip_Row;
  PyObject *__pyx_type_9pyscipopt_4scip_RowExact;
  PyObject *__pyx_type_9pyscipopt_4scip_NLRow;
  PyObject *__pyx_type_9pyscipopt_4scip_Solution;
  PyObject *__pyx_type_9pyscipopt_4scip_DomainChanges;
  PyObject *__pyx_type_9pyscipopt_4scip_BoundChange;
  PyObject *__pyx_type_9pyscipopt_4scip_Node;
  PyObject *__pyx_type_9pyscipopt_4scip_Variable;
  PyObject *__pyx_type_9pyscipopt_4scip_Constraint;
  PyObject *__pyx_type_9pyscipopt_4scip_IIS;
  PyObject *__pyx_type_9pyscipopt_4scip_Model;
  PyObject *__pyx_type_9pyscipopt_4scip_Term;
  PyObject *__pyx_type_9pyscipopt_4scip_ExprCons;
  PyObject *__pyx_type_9pyscipopt_4scip_GenExpr;
  PyObject *__pyx_type_9pyscipopt_4scip_SumExpr;
  PyObject *__pyx_type_9pyscipopt_4scip_ProdExpr;
  PyObject *__pyx_type_9pyscipopt_4scip_VarExpr;
  PyObject *__pyx_type_9pyscipopt_4scip_PowExpr;
  PyObject *__pyx_type_9pyscipopt_4scip_UnaryExpr;
  PyObject *__pyx_type_9pyscipopt_4scip_Constant;
  PyObject *__pyx_type_9pyscipopt_4scip_LP;
  PyObject *__pyx_type_9pyscipopt_4scip_Benders;
  PyObject *__pyx_type_9pyscipopt_4scip_Benderscut;
  PyObject *__pyx_type_9pyscipopt_4scip_Branchrule;
  PyObject *__pyx_type_9pyscipopt_4scip_Conshdlr;
  PyObject *__pyx_type_9pyscipopt_4scip_Cutsel;
  PyObject *__pyx_type_9pyscipopt_4scip_Eventhdlr;
  PyObject *__pyx_type_9pyscipopt_4scip_Heur;
  PyObject *__pyx_type_9pyscipopt_4scip_IISfinder;
  PyObject *__pyx_type_9pyscipopt_4scip_Presol;
  PyObject *__pyx_type_9pyscipopt_4scip_Pricer;
  PyObject *__pyx_type_9pyscipopt_4scip_Prop;
  PyObject *__pyx_type_9pyscipopt_4scip_Sepa;
  PyObject *__pyx_type_9pyscipopt_4scip_Reader;
  PyObject *__pyx_type_9pyscipopt_4scip_Relax;
  PyObject *__pyx_type_9pyscipopt_4scip_Nodesel;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_RESULT;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMSETTING;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_LPPARAM;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_STATUS;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_STAGE;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_NODETYPE;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_PROPTIMING;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_HEURTIMING;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_EVENTTYPE;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_LOCKTYPE;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_BRANCHDIR;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE;
  PyObject *__pyx_type_9pyscipopt_4scip_PY_SCIP_SOLORIGIN;
  PyObject *__pyx_type_9pyscipopt_4scip__VarArray;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct__genexpr;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_1_genexpr;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_2_genexpr;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_3_genexpr;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_4_genexpr;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_5_genexpr;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_6_genexpr;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_7_genexpr;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_9_genexpr;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_10__core_sum;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_11_genexpr;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_12_genexpr;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_13_genexpr;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics;
  PyObject *__pyx_type_9pyscipopt_4scip___pyx_scope_struct_16_genexpr;
  PyObject *__pyx_type___pyx_array;
  PyObject *__pyx_type___pyx_MemviewEnum;
  PyObject *__pyx_type___pyx_memoryview;
  PyObject *__pyx_type___pyx_memoryviewslice;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Expr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Event;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Column;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_ColumnExact;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Row;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_RowExact;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_NLRow;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Solution;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_DomainChanges;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_BoundChange;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Node;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Variable;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Constraint;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_IIS;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Model;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Term;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_ExprCons;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_GenExpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_SumExpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_ProdExpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_VarExpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PowExpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_UnaryExpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Constant;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_LP;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Benders;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Benderscut;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Branchrule;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Conshdlr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Cutsel;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Eventhdlr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Heur;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_IISfinder;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Presol;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Pricer;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Prop;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Sepa;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Reader;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Relax;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_Nodesel;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip__VarArray;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics;
  PyTypeObject *__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr;
  PyTypeObject *__pyx_array_type;
  PyTypeObject *__pyx_MemviewEnum_type;
  PyTypeObject *__pyx_memoryview_type;
  PyTypeObject *__pyx_memoryviewslice_type;
  __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_items;
  __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_pop;
  __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_values;
  PyObject *__pyx_k__12;
  PyObject *__pyx_k__13;
  PyObject *__pyx_k__14;
  PyObject *__pyx_k__15;
  PyObject *__pyx_k__16;
  PyObject *__pyx_k__17;
  PyObject *__pyx_slice[3];
  PyObject *__pyx_tuple[72];
  PyObject *__pyx_codeobj_tab[972];
  PyObject *__pyx_string_tab[3800];
  PyObject *__pyx_number_tab[42];
/* #### Code section: module_state_contents ### */
/* CommonTypesMetaclass.module_state_decls */
PyTypeObject *__pyx_CommonTypesMetaclassType;

/* CachedMethodType.module_state_decls */
#if CYTHON_COMPILING_IN_LIMITED_API
PyObject *__Pyx_CachedMethodType;
#endif

/* CythonFunctionShared.module_state_decls */
PyTypeObject *__pyx_CyFunctionType;


#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct__genexpr[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct__genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_1_genexpr[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_1_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_2_genexpr[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_2_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_3_genexpr[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_3_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_4_genexpr[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_4_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_5_genexpr[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_5_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_6_genexpr[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_6_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_7_genexpr[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_7_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_9_genexpr[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_9_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_10__core_sum[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_10__core_sum;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_11_genexpr[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_11_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_12_genexpr[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_12_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_13_genexpr[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_13_genexpr;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics;
#endif

#if CYTHON_USE_FREELISTS
struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr *__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_16_genexpr[8];
int __pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_16_genexpr;
#endif
/* CodeObjectCache.module_state_decls */
struct __Pyx_CodeObjectCache __pyx_code_cache;

/* IterNextPlain.module_state_decls */
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
PyObject *__Pyx_GetBuiltinNext_LimitedAPI_cache;
#endif

/* Generator.module_state_decls */
PyTypeObject *__pyx_GeneratorType;

/* #### Code section: module_state_end ### */
} __pyx_mstatetype;

#if CYTHON_USE_MODULE_STATE
#ifdef __cplusplus
namespace {
extern struct PyModuleDef __pyx_moduledef;
} /* anonymous namespace */
#else
static struct PyModuleDef __pyx_moduledef;
#endif

#define __pyx_mstate_global (__Pyx_PyModule_GetState(__Pyx_State_FindModule(&__pyx_moduledef)))

#define __pyx_m (__Pyx_State_FindModule(&__pyx_moduledef))
#else
static __pyx_mstatetype __pyx_mstate_global_static =
#ifdef __cplusplus
    {};
#else
    {0};
#endif
static __pyx_mstatetype * const __pyx_mstate_global = &__pyx_mstate_global_static;
#endif
/* #### Code section: constant_name_defines ### */
#define __pyx_kp_u_ __pyx_string_tab[0]
#define __pyx_kp_u_3 __pyx_string_tab[1]
#define __pyx_kp_u_Adding_coefficients_to_s_constra __pyx_string_tab[2]
#define __pyx_kp_u_All_dimensions_preceding_dimensi __pyx_string_tab[3]
#define __pyx_kp_u_Argument_expr_has_incorrect_type __pyx_string_tab[4]
#define __pyx_kp_u_Attributes_status_str_Status_of __pyx_string_tab[5]
#define __pyx_kp_u_Base_of_a_x_must_be_positive_as __pyx_string_tab[6]
#define __pyx_kp_u_Buffer_view_does_not_expose_stri __pyx_string_tab[7]
#define __pyx_kp_u_Can_only_create_a_buffer_that_is __pyx_string_tab[8]
#define __pyx_kp_u_Can_only_support_constraints_wit __pyx_string_tab[9]
#define __pyx_kp_u_Can_t_evaluate_constraints_as_bo __pyx_string_tab[10]
#define __pyx_kp_u_Cannot_assign_to_read_only_memor __pyx_string_tab[11]
#define __pyx_kp_u_Cannot_create_writable_memory_vi __pyx_string_tab[12]
#define __pyx_kp_u_Cannot_get_solution_time_solutio __pyx_string_tab[13]
#define __pyx_kp_u_Cannot_index_with_type __pyx_string_tab[14]
#define __pyx_kp_u_Cannot_set_value_to_a_freed_solu __pyx_string_tab[15]
#define __pyx_kp_u_Cannot_transpose_memoryview_with __pyx_string_tab[16]
#define __pyx_kp_u_Constant_offsets_in_objective_ar __pyx_string_tab[17]
#define __pyx_kp_u_Could_not_find_heuristic_s __pyx_string_tab[18]
#define __pyx_kp_u_D_array __pyx_string_tab[19]
#define __pyx_kp_u_Dimension_d_is_not_direct __pyx_string_tab[20]
#define __pyx_kp_u_Dimension_mismatch_in_provided_p __pyx_string_tab[21]
#define __pyx_kp_u_Dual_Bound __pyx_string_tab[22]
#define __pyx_kp_u_Empty_shape_tuple_for_cython_arr __pyx_string_tab[23]
#define __pyx_kp_u_Expected_Variable_got __pyx_string_tab[24]
#define __pyx_kp_u_Expected_Variable_or_list_of_Var __pyx_string_tab[25]
#define __pyx_kp_u_Expected_a_1D_array_but_got_a __pyx_string_tab[26]
#define __pyx_kp_u_ExprCons __pyx_string_tab[27]
#define __pyx_kp_u_ExprCons_already_has_lower_bound __pyx_string_tab[28]
#define __pyx_kp_u_ExprCons_already_has_upper_bound __pyx_string_tab[29]
#define __pyx_kp_u_Expr_s __pyx_string_tab[30]
#define __pyx_kp_u_First_Solution __pyx_string_tab[31]
#define __pyx_kp_u_Given_constraint_list_is_not_ite __pyx_string_tab[32]
#define __pyx_kp_u_Given_constraint_list_is_not_ite_2 __pyx_string_tab[33]
#define __pyx_kp_u_Index_out_of_bounds_axis_d __pyx_string_tab[34]
#define __pyx_kp_u_Indirect_dimensions_not_supporte __pyx_string_tab[35]
#define __pyx_kp_u_Invalid_mode_expected_c_or_fortr __pyx_string_tab[36]
#define __pyx_kp_u_Invalid_shape_in_axis __pyx_string_tab[37]
#define __pyx_kp_u_LP_lp __pyx_string_tab[38]
#define __pyx_kp_u_Literal___call___reduce_reduceat __pyx_string_tab[39]
#define __pyx_kp_u_MemoryView_of __pyx_string_tab[40]
#define __pyx_kp_u_Method_cannot_be_called_in_stage __pyx_string_tab[41]
#define __pyx_kp_u_NDArray_np_float64 __pyx_string_tab[42]
#define __pyx_kp_u_No_IIS_exists_You_need_to_first __pyx_string_tab[43]
#define __pyx_kp_u_No_solution_available __pyx_string_tab[44]
#define __pyx_kp_u_Nonlinear_objective_functions_ar __pyx_string_tab[45]
#define __pyx_kp_u_Not_a_valid_parameter_name __pyx_string_tab[46]
#define __pyx_kp_u_Note_that_Cython_is_deliberately __pyx_string_tab[47]
#define __pyx_kp_u_Number_of_variables_and_weights __pyx_string_tab[48]
#define __pyx_kp_u_Optional_Union_int_Tuple_int __pyx_string_tab[49]
#define __pyx_kp_u_Out_of_bounds_on_buffer_access_a __pyx_string_tab[50]
#define __pyx_kp_u_Presolved_Constraints __pyx_string_tab[51]
#define __pyx_kp_u_Presolved_Problem_name __pyx_string_tab[52]
#define __pyx_kp_u_Presolved_Variables __pyx_string_tab[53]
#define __pyx_kp_u_Previous_column_features_is_empt __pyx_string_tab[54]
#define __pyx_kp_u_Previous_edge_features_is_empty __pyx_string_tab[55]
#define __pyx_kp_u_Previous_row_features_is_empty __pyx_string_tab[56]
#define __pyx_kp_u_Primal_Bound __pyx_string_tab[57]
#define __pyx_kp_u_Problem_name __pyx_string_tab[58]
#define __pyx_kp_u_Provide_BOOLEAN_value_as_rhsvar __pyx_string_tab[59]
#define __pyx_kp_u_Ranged_ExprCons_can_only_support __pyx_string_tab[60]
#define __pyx_kp_u_Ranged_ExprCons_is_not_well_defi __pyx_string_tab[61]
#define __pyx_kp_u_SCIP_a_required_plugin_was_not_f __pyx_string_tab[62]
#define __pyx_kp_u_SCIP_cannot_create_file __pyx_string_tab[63]
#define __pyx_kp_u_SCIP_does_not_support_nonlinear __pyx_string_tab[64]
#define __pyx_kp_u_SCIP_error_in_LP_solver __pyx_string_tab[65]
#define __pyx_kp_u_SCIP_error_in_input_data __pyx_string_tab[66]
#define __pyx_kp_u_SCIP_file_not_found_error __pyx_string_tab[67]
#define __pyx_kp_u_SCIP_insufficient_memory_error __pyx_string_tab[68]
#define __pyx_kp_u_SCIP_maximal_branching_depth_lev __pyx_string_tab[69]
#define __pyx_kp_u_SCIP_method_cannot_be_called_at __pyx_string_tab[70]
#define __pyx_kp_u_SCIP_method_returned_an_invalid __pyx_string_tab[71]
#define __pyx_kp_u_SCIP_must_be_built_with_DEBUGSOL __pyx_string_tab[72]
#define __pyx_kp_u_SCIP_must_be_built_with_DEBUGSOL_2 __pyx_string_tab[73]
#define __pyx_kp_u_SCIP_no_problem_exists __pyx_string_tab[74]
#define __pyx_kp_u_SCIP_read_error __pyx_string_tab[75]
#define __pyx_kp_u_SCIP_reading_solution_from_file __pyx_string_tab[76]
#define __pyx_kp_u_SCIP_returned_base_status_zero_f __pyx_string_tab[77]
#define __pyx_kp_u_SCIP_returned_unknown_base_statu __pyx_string_tab[78]
#define __pyx_kp_u_SCIP_the_given_key_is_already_ex __pyx_string_tab[79]
#define __pyx_kp_u_SCIP_the_parameter_is_not_of_the __pyx_string_tab[80]
#define __pyx_kp_u_SCIP_the_parameter_with_the_give __pyx_string_tab[81]
#define __pyx_kp_u_SCIP_the_value_is_invalid_for_th __pyx_string_tab[82]
#define __pyx_kp_u_SCIP_unknown_return_code __pyx_string_tab[83]
#define __pyx_kp_u_SCIP_unspecified_error __pyx_string_tab[84]
#define __pyx_kp_u_SCIP_was_compiled_without_task_p __pyx_string_tab[85]
#define __pyx_kp_u_SCIP_write_error __pyx_string_tab[86]
#define __pyx_kp_u_Solutions_found __pyx_string_tab[87]
#define __pyx_kp_u_Step_may_not_be_zero_axis_d __pyx_string_tab[88]
#define __pyx_kp_u_Term_s __pyx_string_tab[89]
#define __pyx_kp_u_The_constraint_handler_s_does_no __pyx_string_tab[90]
#define __pyx_kp_u_The_given_capsule_does_not_conta __pyx_string_tab[91]
#define __pyx_kp_u_The_given_variable_is_not_a_pyva __pyx_string_tab[92]
#define __pyx_kp_u_The_number_of_coefficients_in_th __pyx_string_tab[93]
#define __pyx_kp_u_The_number_of_columns_has_change __pyx_string_tab[94]
#define __pyx_kp_u_The_number_of_rows_has_changed_P __pyx_string_tab[95]
#define __pyx_kp_u_The_problem_does_not_have_a_prim __pyx_string_tab[96]
#define __pyx_kp_u_The_sub_model_must_have_at_least __pyx_string_tab[97]
#define __pyx_kp_u_This_functionality_can_only_been __pyx_string_tab[98]
#define __pyx_kp_u_To_create_a_solution_you_should __pyx_string_tab[99]
#define __pyx_kp_u_Total_Time __pyx_string_tab[100]
#define __pyx_kp_u_Unable_to_convert_item_to_object __pyx_string_tab[101]
#define __pyx_kp_u_Union_ExprCons_MatrixExprCons __pyx_string_tab[102]
#define __pyx_kp_u_Union_Expr_GenExpr_MatrixExpr __pyx_string_tab[103]
#define __pyx_kp_u_Union_Expr_np_ndarray __pyx_string_tab[104]
#define __pyx_kp_u_Union_Variable_MatrixVariable __pyx_string_tab[105]
#define __pyx_kp_u_Union_bool_np_ndarray __pyx_string_tab[106]
#define __pyx_kp_u_Union_float_np_ndarray __pyx_string_tab[107]
#define __pyx_kp_u_Union_int_Tuple __pyx_string_tab[108]
#define __pyx_kp_u_Union_int_float_np_ndarray __pyx_string_tab[109]
#define __pyx_kp_u_Union_int_float_np_ndarray_None __pyx_string_tab[110]
#define __pyx_kp_u_Union_str_np_ndarray __pyx_string_tab[111]
#define __pyx_kp_u_Unrecognized_direction_for_round __pyx_string_tab[112]
#define __pyx_kp_u_Unsupported_base_type __pyx_string_tab[113]
#define __pyx_kp_u_Unsupported_type __pyx_string_tab[114]
#define __pyx_kp_u_Without_a_solution_method_can_on __pyx_string_tab[115]
#define __pyx_kp_u__10 __pyx_string_tab[116]
#define __pyx_kp_u__11 __pyx_string_tab[117]
#define __pyx_kp_u__18 __pyx_string_tab[118]
#define __pyx_kp_u__19 __pyx_string_tab[119]
#define __pyx_kp_u__2 __pyx_string_tab[120]
#define __pyx_kp_u__20 __pyx_string_tab[121]
#define __pyx_kp_u__21 __pyx_string_tab[122]
#define __pyx_kp_u__22 __pyx_string_tab[123]
#define __pyx_kp_u__23 __pyx_string_tab[124]
#define __pyx_kp_u__24 __pyx_string_tab[125]
#define __pyx_kp_u__25 __pyx_string_tab[126]
#define __pyx_kp_u__26 __pyx_string_tab[127]
#define __pyx_kp_u__27 __pyx_string_tab[128]
#define __pyx_kp_u__28 __pyx_string_tab[129]
#define __pyx_kp_u__29 __pyx_string_tab[130]
#define __pyx_kp_u__3 __pyx_string_tab[131]
#define __pyx_kp_u__4 __pyx_string_tab[132]
#define __pyx_kp_u__5 __pyx_string_tab[133]
#define __pyx_kp_u__6 __pyx_string_tab[134]
#define __pyx_kp_u__7 __pyx_string_tab[135]
#define __pyx_kp_u__8 __pyx_string_tab[136]
#define __pyx_kp_u_addExprNonlinear_can_only_be_cal __pyx_string_tab[137]
#define __pyx_kp_u_addExprNonlinear_cannot_be_calle __pyx_string_tab[138]
#define __pyx_kp_u_add_note __pyx_string_tab[139]
#define __pyx_kp_u_and __pyx_string_tab[140]
#define __pyx_kp_u_at_0x __pyx_string_tab[141]
#define __pyx_kp_u_benderscreatesub_is_a_fundamenta __pyx_string_tab[142]
#define __pyx_kp_u_benderscutexec_is_a_fundamental __pyx_string_tab[143]
#define __pyx_kp_u_bendersgetvar_is_a_fundamental_c __pyx_string_tab[144]
#define __pyx_kp_u_branchexecext_is_a_fundamental_c __pyx_string_tab[145]
#define __pyx_kp_u_branchexeclp_is_a_fundamental_ca __pyx_string_tab[146]
#define __pyx_kp_u_branchexecps_is_a_fundamental_ca __pyx_string_tab[147]
#define __pyx_kp_u_can_only_be_called_with_a_valid __pyx_string_tab[148]
#define __pyx_kp_u_can_only_support_or __pyx_string_tab[149]
#define __pyx_kp_u_can_only_support_or_2 __pyx_string_tab[150]
#define __pyx_kp_u_cannot_create_BoundChange_with_S __pyx_string_tab[151]
#define __pyx_kp_u_cannot_create_ColumnExact_with_S __pyx_string_tab[152]
#define __pyx_kp_u_cannot_create_Column_with_SCIP_C __pyx_string_tab[153]
#define __pyx_kp_u_cannot_create_Constraint_with_SC __pyx_string_tab[154]
#define __pyx_kp_u_cannot_create_DomainChanges_with __pyx_string_tab[155]
#define __pyx_kp_u_cannot_create_Event_with_SCIP_EV __pyx_string_tab[156]
#define __pyx_kp_u_cannot_create_Model_with_SCIP_NU __pyx_string_tab[157]
#define __pyx_kp_u_cannot_create_NLRow_with_SCIP_NL __pyx_string_tab[158]
#define __pyx_kp_u_cannot_create_Row_with_SCIP_ROW __pyx_string_tab[159]
#define __pyx_kp_u_cannot_create_Row_with_SCIP_ROWE __pyx_string_tab[160]
#define __pyx_kp_u_cannot_create_Solution_with_SCIP __pyx_string_tab[161]
#define __pyx_kp_u_cannot_create_Variable_with_SCIP __pyx_string_tab[162]
#define __pyx_kp_u_cannot_divide_by_0 __pyx_string_tab[163]
#define __pyx_kp_u_cip __pyx_string_tab[164]
#define __pyx_kp_u_coefficients_not_available_for_c __pyx_string_tab[165]
#define __pyx_kp_u_collections_abc __pyx_string_tab[166]
#define __pyx_kp_u_conscheck_is_a_fundamental_callb __pyx_string_tab[167]
#define __pyx_kp_u_consenfolp_is_a_fundamental_call __pyx_string_tab[168]
#define __pyx_kp_u_consenfops_is_a_fundamental_call __pyx_string_tab[169]
#define __pyx_kp_u_consenforelax_is_a_fundamental_c __pyx_string_tab[170]
#define __pyx_kp_u_conslock_is_a_fundamental_callba __pyx_string_tab[171]
#define __pyx_kp_u_constraint_is_not_nonlinear __pyx_string_tab[172]
#define __pyx_kp_u_constraint_is_not_quadratic __pyx_string_tab[173]
#define __pyx_kp_u_constraints_benders_active __pyx_string_tab[174]
#define __pyx_kp_u_constraints_benderslp_active __pyx_string_tab[175]
#define __pyx_kp_u_contiguous_and_direct __pyx_string_tab[176]
#define __pyx_kp_u_contiguous_and_indirect __pyx_string_tab[177]
#define __pyx_kp_u_could_not_change_variable_type_o __pyx_string_tab[178]
#define __pyx_kp_u_disable __pyx_string_tab[179]
#define __pyx_kp_u_dual_solution_values_not_availab __pyx_string_tab[180]
#define __pyx_kp_u_enable __pyx_string_tab[181]
#define __pyx_kp_u_event_handler_not_found __pyx_string_tab[182]
#define __pyx_kp_u_eventexec_is_a_fundamental_callb __pyx_string_tab[183]
#define __pyx_kp_u_expected_inequality_that_has_eit __pyx_string_tab[184]
#define __pyx_kp_u_expected_linear_inequality_expre __pyx_string_tab[185]
#define __pyx_kp_u_exponents_must_be_numbers __pyx_string_tab[186]
#define __pyx_kp_u_failed __pyx_string_tab[187]
#define __pyx_kp_u_for_exponentiation __pyx_string_tab[188]
#define __pyx_kp_u_freeBendersSubproblems_is_deprec __pyx_string_tab[189]
#define __pyx_kp_u_gc __pyx_string_tab[190]
#define __pyx_kp_u_given_coefficients_are_neither_E __pyx_string_tab[191]
#define __pyx_kp_u_given_coefficients_are_not_Expr __pyx_string_tab[192]
#define __pyx_kp_u_given_constraint_is_not_ExprCons __pyx_string_tab[193]
#define __pyx_kp_u_given_constraint_is_not_MatrixEx __pyx_string_tab[194]
#define __pyx_kp_u_given_constraint_is_not_linear_d __pyx_string_tab[195]
#define __pyx_kp_u_given_constraint_is_not_quadrati __pyx_string_tab[196]
#define __pyx_kp_u_got __pyx_string_tab[197]
#define __pyx_kp_u_got_differing_extents_in_dimensi __pyx_string_tab[198]
#define __pyx_kp_u_heurexec_is_a_fundamental_callba __pyx_string_tab[199]
#define __pyx_kp_u_iisfinderexec_is_a_fundamental_c __pyx_string_tab[200]
#define __pyx_kp_u_iisfinderexec_must_return_a_dict __pyx_string_tab[201]
#define __pyx_kp_u_isenabled __pyx_string_tab[202]
#define __pyx_kp_u_itemsize_0_for_cython_array __pyx_string_tab[203]
#define __pyx_kp_u_limit_reached __pyx_string_tab[204]
#define __pyx_kp_u_linked_SCIP_is_not_compatible_to __pyx_string_tab[205]
#define __pyx_kp_u_linked_SCIP_is_not_recommended_f __pyx_string_tab[206]
#define __pyx_kp_u_m_n_n_p_m_p __pyx_string_tab[207]
#define __pyx_kp_u_method_can_only_be_called_in_sta __pyx_string_tab[208]
#define __pyx_kp_u_method_cannot_be_called_before_p __pyx_string_tab[209]
#define __pyx_kp_u_method_cannot_be_called_for_cons __pyx_string_tab[210]
#define __pyx_kp_u_method_cannot_be_called_in_stage __pyx_string_tab[211]
#define __pyx_kp_u_model_cip __pyx_string_tab[212]
#define __pyx_kp_u_model_getDualMultiplier_cons_is __pyx_string_tab[213]
#define __pyx_kp_u_no_default___reduce___due_to_non __pyx_string_tab[214]
#define __pyx_kp_u_no_reduced_cost_available_for_va __pyx_string_tab[215]
#define __pyx_kp_u_np_ndarray __pyx_string_tab[216]
#define __pyx_kp_u_np_ufunc __pyx_string_tab[217]
#define __pyx_kp_u_number_of_runs __pyx_string_tab[218]
#define __pyx_kp_u_numpy__core_multiarray_failed_to __pyx_string_tab[219]
#define __pyx_kp_u_numpy__core_umath_failed_to_impo __pyx_string_tab[220]
#define __pyx_kp_u_object_2 __pyx_string_tab[221]
#define __pyx_kp_u_optimal_solution_found __pyx_string_tab[222]
#define __pyx_kp_u_origprob_sol __pyx_string_tab[223]
#define __pyx_kp_u_origprob_stats __pyx_string_tab[224]
#define __pyx_kp_u_origprob_stats_json __pyx_string_tab[225]
#define __pyx_kp_u_param_set __pyx_string_tab[226]
#define __pyx_kp_u_presolexec_is_a_fundamental_call __pyx_string_tab[227]
#define __pyx_kp_u_pricerfarkas_is_a_fundamental_ca __pyx_string_tab[228]
#define __pyx_kp_u_pricerredcost_is_a_fundamental_c __pyx_string_tab[229]
#define __pyx_kp_u_primal_dual __pyx_string_tab[230]
#define __pyx_kp_u_propagating_maxrounds __pyx_string_tab[231]
#define __pyx_kp_u_propagating_maxroundsroot __pyx_string_tab[232]
#define __pyx_kp_u_propexec_is_a_fundamental_callba __pyx_string_tab[233]
#define __pyx_kp_u_propresprop_is_a_fundamental_cal __pyx_string_tab[234]
#define __pyx_kp_u_readStatistics_can_only_be_calle __pyx_string_tab[235]
#define __pyx_kp_u_relaxexec_is_a_fundamental_callb __pyx_string_tab[236]
#define __pyx_kp_u_relaxexec_must_return_a_dictiona __pyx_string_tab[237]
#define __pyx_kp_u_self__benders_cannot_be_converte __pyx_string_tab[238]
#define __pyx_kp_u_self__iis_cannot_be_converted_to __pyx_string_tab[239]
#define __pyx_kp_u_self__iis_self__scip_self__valid __pyx_string_tab[240]
#define __pyx_kp_u_self_event_cannot_be_converted_t __pyx_string_tab[241]
#define __pyx_kp_u_self_lpi_cannot_be_converted_to __pyx_string_tab[242]
#define __pyx_kp_u_self_scip_boundchg_cannot_be_con __pyx_string_tab[243]
#define __pyx_kp_u_self_scip_col_cannot_be_converte __pyx_string_tab[244]
#define __pyx_kp_u_self_scip_col_exact_cannot_be_co __pyx_string_tab[245]
#define __pyx_kp_u_self_scip_cons_cannot_be_convert __pyx_string_tab[246]
#define __pyx_kp_u_self_scip_domchg_cannot_be_conve __pyx_string_tab[247]
#define __pyx_kp_u_self_scip_iis_self_scip_iisfinde __pyx_string_tab[248]
#define __pyx_kp_u_self_scip_nlrow_cannot_be_conver __pyx_string_tab[249]
#define __pyx_kp_u_self_scip_node_cannot_be_convert __pyx_string_tab[250]
#define __pyx_kp_u_self_scip_pricer_cannot_be_conve __pyx_string_tab[251]
#define __pyx_kp_u_self_scip_row_cannot_be_converte __pyx_string_tab[252]
#define __pyx_kp_u_self_scip_row_exact_cannot_be_co __pyx_string_tab[253]
#define __pyx_kp_u_self_scip_self_sol_cannot_be_con __pyx_string_tab[254]
#define __pyx_kp_u_self_scip_var_cannot_be_converte __pyx_string_tab[255]
#define __pyx_kp_u_src_pyscipopt_benders_pxi __pyx_string_tab[256]
#define __pyx_kp_u_src_pyscipopt_benderscut_pxi __pyx_string_tab[257]
#define __pyx_kp_u_src_pyscipopt_branchrule_pxi __pyx_string_tab[258]
#define __pyx_kp_u_src_pyscipopt_conshdlr_pxi __pyx_string_tab[259]
#define __pyx_kp_u_src_pyscipopt_cutsel_pxi __pyx_string_tab[260]
#define __pyx_kp_u_src_pyscipopt_event_pxi __pyx_string_tab[261]
#define __pyx_kp_u_src_pyscipopt_expr_pxi __pyx_string_tab[262]
#define __pyx_kp_u_src_pyscipopt_heuristic_pxi __pyx_string_tab[263]
#define __pyx_kp_u_src_pyscipopt_iisfinder_pxi __pyx_string_tab[264]
#define __pyx_kp_u_src_pyscipopt_lp_pxi __pyx_string_tab[265]
#define __pyx_kp_u_src_pyscipopt_matrix_pxi __pyx_string_tab[266]
#define __pyx_kp_u_src_pyscipopt_nodesel_pxi __pyx_string_tab[267]
#define __pyx_kp_u_src_pyscipopt_presol_pxi __pyx_string_tab[268]
#define __pyx_kp_u_src_pyscipopt_pricer_pxi __pyx_string_tab[269]
#define __pyx_kp_u_src_pyscipopt_propagator_pxi __pyx_string_tab[270]
#define __pyx_kp_u_src_pyscipopt_reader_pxi __pyx_string_tab[271]
#define __pyx_kp_u_src_pyscipopt_relax_pxi __pyx_string_tab[272]
#define __pyx_kp_u_src_pyscipopt_scip_pxi __pyx_string_tab[273]
#define __pyx_kp_u_src_pyscipopt_sepa_pxi __pyx_string_tab[274]
#define __pyx_kp_u_strided_and_direct __pyx_string_tab[275]
#define __pyx_kp_u_strided_and_direct_or_indirect __pyx_string_tab[276]
#define __pyx_kp_u_strided_and_indirect __pyx_string_tab[277]
#define __pyx_kp_u_term_length_must_be_1_or_2_but_i __pyx_string_tab[278]
#define __pyx_kp_u_total_number_of_solutions_found __pyx_string_tab[279]
#define __pyx_kp_u_transprob_sol __pyx_string_tab[280]
#define __pyx_kp_u_tree_fragment __pyx_string_tab[281]
#define __pyx_kp_u_unable_to_allocate_array_data __pyx_string_tab[282]
#define __pyx_kp_u_unable_to_allocate_shape_and_str __pyx_string_tab[283]
#define __pyx_kp_u_unrecognized_objective_sense __pyx_string_tab[284]
#define __pyx_kp_u_unrecognized_optimization_sense __pyx_string_tab[285]
#define __pyx_kp_u_unrecognized_variable_type __pyx_string_tab[286]
#define __pyx_kp_u_utf_8 __pyx_string_tab[287]
#define __pyx_kp_u_weights_not_available_for_constr __pyx_string_tab[288]
#define __pyx_kp_u_wrote_parameter_settings_to_file __pyx_string_tab[289]
#define __pyx_kp_u_wrote_problem_to_file __pyx_string_tab[290]
#define __pyx_n_u_AFTERLPLOOP __pyx_string_tab[291]
#define __pyx_n_u_AFTERLPNODE __pyx_string_tab[292]
#define __pyx_n_u_AFTERLPPLUNGE __pyx_string_tab[293]
#define __pyx_n_u_AFTERPROPLOOP __pyx_string_tab[294]
#define __pyx_n_u_AFTERPSEUDONODE __pyx_string_tab[295]
#define __pyx_n_u_AFTERPSEUDOPLUNGE __pyx_string_tab[296]
#define __pyx_n_u_AGGREGATED __pyx_string_tab[297]
#define __pyx_n_u_AGGRESSIVE __pyx_string_tab[298]
#define __pyx_n_u_ASCII __pyx_string_tab[299]
#define __pyx_n_u_AUTO __pyx_string_tab[300]
#define __pyx_n_u_B __pyx_string_tab[301]
#define __pyx_n_u_BARRIERCONVTOL __pyx_string_tab[302]
#define __pyx_n_u_BEFORELP __pyx_string_tab[303]
#define __pyx_n_u_BEFORENODE __pyx_string_tab[304]
#define __pyx_n_u_BEFOREPRESOL __pyx_string_tab[305]
#define __pyx_n_u_BENCHMARK __pyx_string_tab[306]
#define __pyx_n_u_BESTSOLFOUND __pyx_string_tab[307]
#define __pyx_n_u_BESTSOLLIMIT __pyx_string_tab[308]
#define __pyx_n_u_BINARY __pyx_string_tab[309]
#define __pyx_n_u_BOUNDCHANGED __pyx_string_tab[310]
#define __pyx_n_u_BOUNDRELAXED __pyx_string_tab[311]
#define __pyx_n_u_BOUNDTIGHTENED __pyx_string_tab[312]
#define __pyx_n_u_BRANCHED __pyx_string_tab[313]
#define __pyx_n_u_Benders __pyx_string_tab[314]
#define __pyx_n_u_Benders___reduce_cython __pyx_string_tab[315]
#define __pyx_n_u_Benders___setstate_cython __pyx_string_tab[316]
#define __pyx_n_u_Benders_benderscreatesub __pyx_string_tab[317]
#define __pyx_n_u_Benders_bendersexit __pyx_string_tab[318]
#define __pyx_n_u_Benders_bendersexitpre __pyx_string_tab[319]
#define __pyx_n_u_Benders_bendersexitsol __pyx_string_tab[320]
#define __pyx_n_u_Benders_bendersfree __pyx_string_tab[321]
#define __pyx_n_u_Benders_bendersfreesub __pyx_string_tab[322]
#define __pyx_n_u_Benders_bendersgetvar __pyx_string_tab[323]
#define __pyx_n_u_Benders_bendersinit __pyx_string_tab[324]
#define __pyx_n_u_Benders_bendersinitpre __pyx_string_tab[325]
#define __pyx_n_u_Benders_bendersinitsol __pyx_string_tab[326]
#define __pyx_n_u_Benders_benderspostsolve __pyx_string_tab[327]
#define __pyx_n_u_Benders_benderspresubsolve __pyx_string_tab[328]
#define __pyx_n_u_Benders_benderssolvesub __pyx_string_tab[329]
#define __pyx_n_u_Benders_benderssolvesubconvex __pyx_string_tab[330]
#define __pyx_n_u_Benderscut __pyx_string_tab[331]
#define __pyx_n_u_Benderscut___reduce_cython __pyx_string_tab[332]
#define __pyx_n_u_Benderscut___setstate_cython __pyx_string_tab[333]
#define __pyx_n_u_Benderscut_benderscutexec __pyx_string_tab[334]
#define __pyx_n_u_Benderscut_benderscutexit __pyx_string_tab[335]
#define __pyx_n_u_Benderscut_benderscutexitsol __pyx_string_tab[336]
#define __pyx_n_u_Benderscut_benderscutfree __pyx_string_tab[337]
#define __pyx_n_u_Benderscut_benderscutinit __pyx_string_tab[338]
#define __pyx_n_u_Benderscut_benderscutinitsol __pyx_string_tab[339]
#define __pyx_n_u_BoundChange __pyx_string_tab[340]
#define __pyx_n_u_BoundChange___reduce_cython __pyx_string_tab[341]
#define __pyx_n_u_BoundChange___setstate_cython __pyx_string_tab[342]
#define __pyx_n_u_BoundChange_getBoundchgtype __pyx_string_tab[343]
#define __pyx_n_u_BoundChange_getBoundtype __pyx_string_tab[344]
#define __pyx_n_u_BoundChange_getNewBound __pyx_string_tab[345]
#define __pyx_n_u_BoundChange_getVar __pyx_string_tab[346]
#define __pyx_n_u_BoundChange_isRedundant __pyx_string_tab[347]
#define __pyx_n_u_Branchrule __pyx_string_tab[348]
#define __pyx_n_u_Branchrule___reduce_cython __pyx_string_tab[349]
#define __pyx_n_u_Branchrule___setstate_cython __pyx_string_tab[350]
#define __pyx_n_u_Branchrule_branchexecext __pyx_string_tab[351]
#define __pyx_n_u_Branchrule_branchexeclp __pyx_string_tab[352]
#define __pyx_n_u_Branchrule_branchexecps __pyx_string_tab[353]
#define __pyx_n_u_Branchrule_branchexit __pyx_string_tab[354]
#define __pyx_n_u_Branchrule_branchexitsol __pyx_string_tab[355]
#define __pyx_n_u_Branchrule_branchfree __pyx_string_tab[356]
#define __pyx_n_u_Branchrule_branchinit __pyx_string_tab[357]
#define __pyx_n_u_Branchrule_branchinitsol __pyx_string_tab[358]
#define __pyx_n_u_C __pyx_string_tab[359]
#define __pyx_n_u_CHECK __pyx_string_tab[360]
#define __pyx_n_u_CHILD __pyx_string_tab[361]
#define __pyx_n_u_COLUMN __pyx_string_tab[362]
#define __pyx_n_u_CONDITIONLIMIT __pyx_string_tab[363]
#define __pyx_n_u_CONFLICT __pyx_string_tab[364]
#define __pyx_n_u_CONS __pyx_string_tab[365]
#define __pyx_n_u_CONSADDED __pyx_string_tab[366]
#define __pyx_n_u_CONSCHANGED __pyx_string_tab[367]
#define __pyx_n_u_CONST __pyx_string_tab[368]
#define __pyx_n_u_CONTINUOUS __pyx_string_tab[369]
#define __pyx_n_u_COUNTER __pyx_string_tab[370]
#define __pyx_n_u_CPSOLVER __pyx_string_tab[371]
#define __pyx_n_u_CUTOFF __pyx_string_tab[372]
#define __pyx_n_u_Column __pyx_string_tab[373]
#define __pyx_n_u_ColumnExact __pyx_string_tab[374]
#define __pyx_n_u_ColumnExact___reduce_cython __pyx_string_tab[375]
#define __pyx_n_u_ColumnExact___setstate_cython __pyx_string_tab[376]
#define __pyx_n_u_Column___reduce_cython __pyx_string_tab[377]
#define __pyx_n_u_Column___setstate_cython __pyx_string_tab[378]
#define __pyx_n_u_Column_getAge __pyx_string_tab[379]
#define __pyx_n_u_Column_getBasisStatus __pyx_string_tab[380]
#define __pyx_n_u_Column_getLPPos __pyx_string_tab[381]
#define __pyx_n_u_Column_getLb __pyx_string_tab[382]
#define __pyx_n_u_Column_getObjCoeff __pyx_string_tab[383]
#define __pyx_n_u_Column_getPrimsol __pyx_string_tab[384]
#define __pyx_n_u_Column_getUb __pyx_string_tab[385]
#define __pyx_n_u_Column_getVar __pyx_string_tab[386]
#define __pyx_n_u_Column_isIntegral __pyx_string_tab[387]
#define __pyx_n_u_Conshdlr __pyx_string_tab[388]
#define __pyx_n_u_Conshdlr___reduce_cython __pyx_string_tab[389]
#define __pyx_n_u_Conshdlr___setstate_cython __pyx_string_tab[390]
#define __pyx_n_u_Conshdlr_consactive __pyx_string_tab[391]
#define __pyx_n_u_Conshdlr_conscheck __pyx_string_tab[392]
#define __pyx_n_u_Conshdlr_conscopy __pyx_string_tab[393]
#define __pyx_n_u_Conshdlr_consdeactive __pyx_string_tab[394]
#define __pyx_n_u_Conshdlr_consdelete __pyx_string_tab[395]
#define __pyx_n_u_Conshdlr_consdelvars __pyx_string_tab[396]
#define __pyx_n_u_Conshdlr_consdisable __pyx_string_tab[397]
#define __pyx_n_u_Conshdlr_consenable __pyx_string_tab[398]
#define __pyx_n_u_Conshdlr_consenfolp __pyx_string_tab[399]
#define __pyx_n_u_Conshdlr_consenfops __pyx_string_tab[400]
#define __pyx_n_u_Conshdlr_consenforelax __pyx_string_tab[401]
#define __pyx_n_u_Conshdlr_consexit __pyx_string_tab[402]
#define __pyx_n_u_Conshdlr_consexitpre __pyx_string_tab[403]
#define __pyx_n_u_Conshdlr_consexitsol __pyx_string_tab[404]
#define __pyx_n_u_Conshdlr_consfree __pyx_string_tab[405]
#define __pyx_n_u_Conshdlr_consgetdivebdchgs __pyx_string_tab[406]
#define __pyx_n_u_Conshdlr_consgetnvars __pyx_string_tab[407]
#define __pyx_n_u_Conshdlr_consgetpermsymgraph __pyx_string_tab[408]
#define __pyx_n_u_Conshdlr_consgetsignedpermsymgra __pyx_string_tab[409]
#define __pyx_n_u_Conshdlr_consgetvars __pyx_string_tab[410]
#define __pyx_n_u_Conshdlr_consinit __pyx_string_tab[411]
#define __pyx_n_u_Conshdlr_consinitlp __pyx_string_tab[412]
#define __pyx_n_u_Conshdlr_consinitpre __pyx_string_tab[413]
#define __pyx_n_u_Conshdlr_consinitsol __pyx_string_tab[414]
#define __pyx_n_u_Conshdlr_conslock __pyx_string_tab[415]
#define __pyx_n_u_Conshdlr_consparse __pyx_string_tab[416]
#define __pyx_n_u_Conshdlr_conspresol __pyx_string_tab[417]
#define __pyx_n_u_Conshdlr_consprint __pyx_string_tab[418]
#define __pyx_n_u_Conshdlr_consprop __pyx_string_tab[419]
#define __pyx_n_u_Conshdlr_consresprop __pyx_string_tab[420]
#define __pyx_n_u_Conshdlr_conssepalp __pyx_string_tab[421]
#define __pyx_n_u_Conshdlr_conssepasol __pyx_string_tab[422]
#define __pyx_n_u_Conshdlr_constrans __pyx_string_tab[423]
#define __pyx_n_u_Constant __pyx_string_tab[424]
#define __pyx_n_u_Constant___reduce_cython __pyx_string_tab[425]
#define __pyx_n_u_Constant___setstate_cython __pyx_string_tab[426]
#define __pyx_n_u_Constant__evaluate __pyx_string_tab[427]
#define __pyx_n_u_Constraint __pyx_string_tab[428]
#define __pyx_n_u_Constraint___reduce_cython __pyx_string_tab[429]
#define __pyx_n_u_Constraint___setstate_cython __pyx_string_tab[430]
#define __pyx_n_u_Constraint_getConshdlrName __pyx_string_tab[431]
#define __pyx_n_u_Constraint_isActive __pyx_string_tab[432]
#define __pyx_n_u_Constraint_isChecked __pyx_string_tab[433]
#define __pyx_n_u_Constraint_isDynamic __pyx_string_tab[434]
#define __pyx_n_u_Constraint_isEnforced __pyx_string_tab[435]
#define __pyx_n_u_Constraint_isInitial __pyx_string_tab[436]
#define __pyx_n_u_Constraint_isKnapsack __pyx_string_tab[437]
#define __pyx_n_u_Constraint_isLinear __pyx_string_tab[438]
#define __pyx_n_u_Constraint_isLinearType __pyx_string_tab[439]
#define __pyx_n_u_Constraint_isLocal __pyx_string_tab[440]
#define __pyx_n_u_Constraint_isModifiable __pyx_string_tab[441]
#define __pyx_n_u_Constraint_isNonlinear __pyx_string_tab[442]
#define __pyx_n_u_Constraint_isOriginal __pyx_string_tab[443]
#define __pyx_n_u_Constraint_isPropagated __pyx_string_tab[444]
#define __pyx_n_u_Constraint_isRemovable __pyx_string_tab[445]
#define __pyx_n_u_Constraint_isSeparated __pyx_string_tab[446]
#define __pyx_n_u_Constraint_isStickingAtNode __pyx_string_tab[447]
#define __pyx_n_u_Constraint_ptr __pyx_string_tab[448]
#define __pyx_n_u_Constraints __pyx_string_tab[449]
#define __pyx_n_u_Cutsel __pyx_string_tab[450]
#define __pyx_n_u_Cutsel___reduce_cython __pyx_string_tab[451]
#define __pyx_n_u_Cutsel___setstate_cython __pyx_string_tab[452]
#define __pyx_n_u_Cutsel_cutselexit __pyx_string_tab[453]
#define __pyx_n_u_Cutsel_cutselexitsol __pyx_string_tab[454]
#define __pyx_n_u_Cutsel_cutselfree __pyx_string_tab[455]
#define __pyx_n_u_Cutsel_cutselinit __pyx_string_tab[456]
#define __pyx_n_u_Cutsel_cutselinitsol __pyx_string_tab[457]
#define __pyx_n_u_Cutsel_cutselselect __pyx_string_tab[458]
#define __pyx_n_u_DEADEND __pyx_string_tab[459]
#define __pyx_n_u_DEFAULT __pyx_string_tab[460]
#define __pyx_n_u_DELAYED __pyx_string_tab[461]
#define __pyx_n_u_DIDNOTFIND __pyx_string_tab[462]
#define __pyx_n_u_DIDNOTRUN __pyx_string_tab[463]
#define __pyx_n_u_DISABLED __pyx_string_tab[464]
#define __pyx_n_u_DOMCHANGED __pyx_string_tab[465]
#define __pyx_n_u_DOWNWARDS __pyx_string_tab[466]
#define __pyx_n_u_DUALBOUNDIMPROVED __pyx_string_tab[467]
#define __pyx_n_u_DUALFEASTOL __pyx_string_tab[468]
#define __pyx_n_u_DUALLIMIT __pyx_string_tab[469]
#define __pyx_n_u_DURINGLPLOOP __pyx_string_tab[470]
#define __pyx_n_u_DURINGPRESOLLOOP __pyx_string_tab[471]
#define __pyx_n_u_DURINGPRICINGLOOP __pyx_string_tab[472]
#define __pyx_n_u_DomainChanges __pyx_string_tab[473]
#define __pyx_n_u_DomainChanges___reduce_cython __pyx_string_tab[474]
#define __pyx_n_u_DomainChanges___setstate_cython __pyx_string_tab[475]
#define __pyx_n_u_DomainChanges_getBoundchgs __pyx_string_tab[476]
#define __pyx_n_u_EASYCIP __pyx_string_tab[477]
#define __pyx_n_u_ERROR __pyx_string_tab[478]
#define __pyx_n_u_EXHAUSTIVE __pyx_string_tab[479]
#define __pyx_n_u_EXITPRESOLVE __pyx_string_tab[480]
#define __pyx_n_u_EXITSOLVE __pyx_string_tab[481]
#define __pyx_n_u_Ellipsis __pyx_string_tab[482]
#define __pyx_n_u_Event __pyx_string_tab[483]
#define __pyx_n_u_EventHandler __pyx_string_tab[484]
#define __pyx_n_u_EventNames __pyx_string_tab[485]
#define __pyx_n_u_Event___reduce_cython __pyx_string_tab[486]
#define __pyx_n_u_Event___setstate_cython __pyx_string_tab[487]
#define __pyx_n_u_Event__getEventNames __pyx_string_tab[488]
#define __pyx_n_u_Event_getName __pyx_string_tab[489]
#define __pyx_n_u_Event_getNewBound __pyx_string_tab[490]
#define __pyx_n_u_Event_getNode __pyx_string_tab[491]
#define __pyx_n_u_Event_getOldBound __pyx_string_tab[492]
#define __pyx_n_u_Event_getRow __pyx_string_tab[493]
#define __pyx_n_u_Event_getType __pyx_string_tab[494]
#define __pyx_n_u_Event_getVar __pyx_string_tab[495]
#define __pyx_n_u_Eventhdlr __pyx_string_tab[496]
#define __pyx_n_u_Eventhdlr___reduce_cython __pyx_string_tab[497]
#define __pyx_n_u_Eventhdlr___setstate_cython __pyx_string_tab[498]
#define __pyx_n_u_Eventhdlr_eventcopy __pyx_string_tab[499]
#define __pyx_n_u_Eventhdlr_eventdelete __pyx_string_tab[500]
#define __pyx_n_u_Eventhdlr_eventexec __pyx_string_tab[501]
#define __pyx_n_u_Eventhdlr_eventexit __pyx_string_tab[502]
#define __pyx_n_u_Eventhdlr_eventexitsol __pyx_string_tab[503]
#define __pyx_n_u_Eventhdlr_eventfree __pyx_string_tab[504]
#define __pyx_n_u_Eventhdlr_eventinit __pyx_string_tab[505]
#define __pyx_n_u_Eventhdlr_eventinitsol __pyx_string_tab[506]
#define __pyx_n_u_Expr __pyx_string_tab[507]
#define __pyx_n_u_ExprCons_2 __pyx_string_tab[508]
#define __pyx_n_u_ExprCons___reduce_cython __pyx_string_tab[509]
#define __pyx_n_u_ExprCons___setstate_cython __pyx_string_tab[510]
#define __pyx_n_u_ExprCons_normalize __pyx_string_tab[511]
#define __pyx_n_u_Expr___reduce_cython __pyx_string_tab[512]
#define __pyx_n_u_Expr___setstate_cython __pyx_string_tab[513]
#define __pyx_n_u_Expr__evaluate __pyx_string_tab[514]
#define __pyx_n_u_Expr_degree __pyx_string_tab[515]
#define __pyx_n_u_Expr_normalize __pyx_string_tab[516]
#define __pyx_n_u_FAST __pyx_string_tab[517]
#define __pyx_n_u_FASTMIP __pyx_string_tab[518]
#define __pyx_n_u_FEASIBILITY __pyx_string_tab[519]
#define __pyx_n_u_FEASIBLE __pyx_string_tab[520]
#define __pyx_n_u_FEASTOL __pyx_string_tab[521]
#define __pyx_n_u_FIRSTLPSOLVED __pyx_string_tab[522]
#define __pyx_n_u_FIXED __pyx_string_tab[523]
#define __pyx_n_u_FOCUSNODE __pyx_string_tab[524]
#define __pyx_n_u_FORK __pyx_string_tab[525]
#define __pyx_n_u_FOUNDSOL __pyx_string_tab[526]
#define __pyx_n_u_FREE __pyx_string_tab[527]
#define __pyx_n_u_FREETRANS __pyx_string_tab[528]
#define __pyx_n_u_FROMSCRATCH __pyx_string_tab[529]
#define __pyx_n_u_GAPLIMIT __pyx_string_tab[530]
#define __pyx_n_u_GAPUPDATED __pyx_string_tab[531]
#define __pyx_n_u_GBDCHANGED __pyx_string_tab[532]
#define __pyx_n_u_GHOLEADDED __pyx_string_tab[533]
#define __pyx_n_u_GHOLECHANGED __pyx_string_tab[534]
#define __pyx_n_u_GHOLEREMOVED __pyx_string_tab[535]
#define __pyx_n_u_GLBCHANGED __pyx_string_tab[536]
#define __pyx_n_u_GUBCHANGED __pyx_string_tab[537]
#define __pyx_n_u_Gap __pyx_string_tab[538]
#define __pyx_n_u_GenExpr __pyx_string_tab[539]
#define __pyx_n_u_GenExpr___reduce_cython __pyx_string_tab[540]
#define __pyx_n_u_GenExpr___setstate_cython __pyx_string_tab[541]
#define __pyx_n_u_GenExpr_degree __pyx_string_tab[542]
#define __pyx_n_u_GenExpr_getOp __pyx_string_tab[543]
#define __pyx_n_u_GenExprs __pyx_string_tab[544]
#define __pyx_n_u_HARDLP __pyx_string_tab[545]
#define __pyx_n_u_HOLECHANGED __pyx_string_tab[546]
#define __pyx_n_u_Heur __pyx_string_tab[547]
#define __pyx_n_u_Heur___reduce_cython __pyx_string_tab[548]
#define __pyx_n_u_Heur___setstate_cython __pyx_string_tab[549]
#define __pyx_n_u_Heur_heurexec __pyx_string_tab[550]
#define __pyx_n_u_Heur_heurexit __pyx_string_tab[551]
#define __pyx_n_u_Heur_heurexitsol __pyx_string_tab[552]
#define __pyx_n_u_Heur_heurfree __pyx_string_tab[553]
#define __pyx_n_u_Heur_heurinit __pyx_string_tab[554]
#define __pyx_n_u_Heur_heurinitsol __pyx_string_tab[555]
#define __pyx_n_u_I __pyx_string_tab[556]
#define __pyx_n_u_IIS __pyx_string_tab[557]
#define __pyx_n_u_IIS___reduce_cython __pyx_string_tab[558]
#define __pyx_n_u_IIS___setstate_cython __pyx_string_tab[559]
#define __pyx_n_u_IIS_getNNodes __pyx_string_tab[560]
#define __pyx_n_u_IIS_getSubscip __pyx_string_tab[561]
#define __pyx_n_u_IIS_getTime __pyx_string_tab[562]
#define __pyx_n_u_IIS_greedyMakeIrreducible __pyx_string_tab[563]
#define __pyx_n_u_IIS_isSubscipInfeasible __pyx_string_tab[564]
#define __pyx_n_u_IIS_isSubscipIrreducible __pyx_string_tab[565]
#define __pyx_n_u_IIS_setSubscipInfeasible __pyx_string_tab[566]
#define __pyx_n_u_IIS_setSubscipIrreducible __pyx_string_tab[567]
#define __pyx_n_u_IISfinder __pyx_string_tab[568]
#define __pyx_n_u_IISfinder___reduce_cython __pyx_string_tab[569]
#define __pyx_n_u_IISfinder___setstate_cython __pyx_string_tab[570]
#define __pyx_n_u_IISfinder_iisfinderexec __pyx_string_tab[571]
#define __pyx_n_u_IISfinder_iisfinderfree __pyx_string_tab[572]
#define __pyx_n_u_IMPLADDED __pyx_string_tab[573]
#define __pyx_n_u_IMPLINT __pyx_string_tab[574]
#define __pyx_n_u_INFEASIBLE __pyx_string_tab[575]
#define __pyx_n_u_INFORUNBD __pyx_string_tab[576]
#define __pyx_n_u_INIT __pyx_string_tab[577]
#define __pyx_n_u_INITPRESOLVE __pyx_string_tab[578]
#define __pyx_n_u_INITSOLVE __pyx_string_tab[579]
#define __pyx_n_u_INTEGER __pyx_string_tab[580]
#define __pyx_n_u_ITERLIMIT __pyx_string_tab[581]
#define __pyx_n_u_Iterable __pyx_string_tab[582]
#define __pyx_n_u_JUNCTION __pyx_string_tab[583]
#define __pyx_n_u_LBCHANGED __pyx_string_tab[584]
#define __pyx_n_u_LBRELAXED __pyx_string_tab[585]
#define __pyx_n_u_LBTIGHTENED __pyx_string_tab[586]
#define __pyx_n_u_LC_NUMERIC __pyx_string_tab[587]
#define __pyx_n_u_LEAF __pyx_string_tab[588]
#define __pyx_n_u_LHOLEADDED __pyx_string_tab[589]
#define __pyx_n_u_LHOLECHANGED __pyx_string_tab[590]
#define __pyx_n_u_LHOLEREMOVED __pyx_string_tab[591]
#define __pyx_n_u_LOOSE __pyx_string_tab[592]
#define __pyx_n_u_LP __pyx_string_tab[593]
#define __pyx_n_u_LPEVENT __pyx_string_tab[594]
#define __pyx_n_u_LPINFO __pyx_string_tab[595]
#define __pyx_n_u_LPITLIM __pyx_string_tab[596]
#define __pyx_n_u_LPSOL __pyx_string_tab[597]
#define __pyx_n_u_LPSOLVED __pyx_string_tab[598]
#define __pyx_n_u_LPTILIM __pyx_string_tab[599]
#define __pyx_n_u_LP___reduce_cython __pyx_string_tab[600]
#define __pyx_n_u_LP___setstate_cython __pyx_string_tab[601]
#define __pyx_n_u_LP_addCol __pyx_string_tab[602]
#define __pyx_n_u_LP_addCols __pyx_string_tab[603]
#define __pyx_n_u_LP_addRow __pyx_string_tab[604]
#define __pyx_n_u_LP_addRows __pyx_string_tab[605]
#define __pyx_n_u_LP_chgBound __pyx_string_tab[606]
#define __pyx_n_u_LP_chgCoef __pyx_string_tab[607]
#define __pyx_n_u_LP_chgObj __pyx_string_tab[608]
#define __pyx_n_u_LP_chgSide __pyx_string_tab[609]
#define __pyx_n_u_LP_clear __pyx_string_tab[610]
#define __pyx_n_u_LP_delCols __pyx_string_tab[611]
#define __pyx_n_u_LP_delRows __pyx_string_tab[612]
#define __pyx_n_u_LP_getActivity __pyx_string_tab[613]
#define __pyx_n_u_LP_getBasisInds __pyx_string_tab[614]
#define __pyx_n_u_LP_getBounds __pyx_string_tab[615]
#define __pyx_n_u_LP_getDual __pyx_string_tab[616]
#define __pyx_n_u_LP_getDualRay __pyx_string_tab[617]
#define __pyx_n_u_LP_getIntParam __pyx_string_tab[618]
#define __pyx_n_u_LP_getNIterations __pyx_string_tab[619]
#define __pyx_n_u_LP_getObjVal __pyx_string_tab[620]
#define __pyx_n_u_LP_getPrimal __pyx_string_tab[621]
#define __pyx_n_u_LP_getPrimalRay __pyx_string_tab[622]
#define __pyx_n_u_LP_getRealParam __pyx_string_tab[623]
#define __pyx_n_u_LP_getRedcost __pyx_string_tab[624]
#define __pyx_n_u_LP_getSides __pyx_string_tab[625]
#define __pyx_n_u_LP_infinity __pyx_string_tab[626]
#define __pyx_n_u_LP_isDualFeasible __pyx_string_tab[627]
#define __pyx_n_u_LP_isInfinity __pyx_string_tab[628]
#define __pyx_n_u_LP_isOptimal __pyx_string_tab[629]
#define __pyx_n_u_LP_isPrimalFeasible __pyx_string_tab[630]
#define __pyx_n_u_LP_ncols __pyx_string_tab[631]
#define __pyx_n_u_LP_nrows __pyx_string_tab[632]
#define __pyx_n_u_LP_readLP __pyx_string_tab[633]
#define __pyx_n_u_LP_setIntParam __pyx_string_tab[634]
#define __pyx_n_u_LP_setRealParam __pyx_string_tab[635]
#define __pyx_n_u_LP_solve __pyx_string_tab[636]
#define __pyx_n_u_LP_writeLP __pyx_string_tab[637]
#define __pyx_n_u_Literal __pyx_string_tab[638]
#define __pyx_n_u_M __pyx_string_tab[639]
#define __pyx_n_u_MAJOR __pyx_string_tab[640]
#define __pyx_n_u_MARKOWITZ __pyx_string_tab[641]
#define __pyx_n_u_MEDIUM __pyx_string_tab[642]
#define __pyx_n_u_MEMLIMIT __pyx_string_tab[643]
#define __pyx_n_u_MINOR __pyx_string_tab[644]
#define __pyx_n_u_MODEL __pyx_string_tab[645]
#define __pyx_n_u_MULTAGGR __pyx_string_tab[646]
#define __pyx_n_u_MatrixConstraint __pyx_string_tab[647]
#define __pyx_n_u_MatrixConstraint_getConshdlrName __pyx_string_tab[648]
#define __pyx_n_u_MatrixConstraint_isActive __pyx_string_tab[649]
#define __pyx_n_u_MatrixConstraint_isChecked __pyx_string_tab[650]
#define __pyx_n_u_MatrixConstraint_isDynamic __pyx_string_tab[651]
#define __pyx_n_u_MatrixConstraint_isEnforced __pyx_string_tab[652]
#define __pyx_n_u_MatrixConstraint_isInitial __pyx_string_tab[653]
#define __pyx_n_u_MatrixConstraint_isLinear __pyx_string_tab[654]
#define __pyx_n_u_MatrixConstraint_isLocal __pyx_string_tab[655]
#define __pyx_n_u_MatrixConstraint_isModifiable __pyx_string_tab[656]
#define __pyx_n_u_MatrixConstraint_isNonlinear __pyx_string_tab[657]
#define __pyx_n_u_MatrixConstraint_isPropagated __pyx_string_tab[658]
#define __pyx_n_u_MatrixConstraint_isRemovable __pyx_string_tab[659]
#define __pyx_n_u_MatrixConstraint_isSeparated __pyx_string_tab[660]
#define __pyx_n_u_MatrixConstraint_isStickingAtNod __pyx_string_tab[661]
#define __pyx_n_u_MatrixExpr __pyx_string_tab[662]
#define __pyx_n_u_MatrixExprCons __pyx_string_tab[663]
#define __pyx_n_u_MatrixExprCons___array_ufunc __pyx_string_tab[664]
#define __pyx_n_u_MatrixExprCons___array_ufunc___l __pyx_string_tab[665]
#define __pyx_n_u_MatrixExprCons___eq __pyx_string_tab[666]
#define __pyx_n_u_MatrixExpr___array_ufunc __pyx_string_tab[667]
#define __pyx_n_u_MatrixExpr___array_ufunc___local __pyx_string_tab[668]
#define __pyx_n_u_MatrixExpr__evaluate __pyx_string_tab[669]
#define __pyx_n_u_MatrixGenExpr __pyx_string_tab[670]
#define __pyx_n_u_MatrixVariable __pyx_string_tab[671]
#define __pyx_n_u_MatrixVariable_getAvgSol __pyx_string_tab[672]
#define __pyx_n_u_MatrixVariable_getCol __pyx_string_tab[673]
#define __pyx_n_u_MatrixVariable_getIndex __pyx_string_tab[674]
#define __pyx_n_u_MatrixVariable_getLPSol __pyx_string_tab[675]
#define __pyx_n_u_MatrixVariable_getLbGlobal __pyx_string_tab[676]
#define __pyx_n_u_MatrixVariable_getLbLocal __pyx_string_tab[677]
#define __pyx_n_u_MatrixVariable_getLbOriginal __pyx_string_tab[678]
#define __pyx_n_u_MatrixVariable_getObj __pyx_string_tab[679]
#define __pyx_n_u_MatrixVariable_getUbGlobal __pyx_string_tab[680]
#define __pyx_n_u_MatrixVariable_getUbLocal __pyx_string_tab[681]
#define __pyx_n_u_MatrixVariable_getUbOriginal __pyx_string_tab[682]
#define __pyx_n_u_MatrixVariable_isInLP __pyx_string_tab[683]
#define __pyx_n_u_MatrixVariable_varMayRound __pyx_string_tab[684]
#define __pyx_n_u_MatrixVariable_vtype __pyx_string_tab[685]
#define __pyx_n_u_Model __pyx_string_tab[686]
#define __pyx_n_u_Model___reduce_cython __pyx_string_tab[687]
#define __pyx_n_u_Model___setstate_cython __pyx_string_tab[688]
#define __pyx_n_u_Model__createConsGenNonlinear __pyx_string_tab[689]
#define __pyx_n_u_Model__createConsLinear __pyx_string_tab[690]
#define __pyx_n_u_Model__createConsNonlinear __pyx_string_tab[691]
#define __pyx_n_u_Model__createConsQuadratic __pyx_string_tab[692]
#define __pyx_n_u_Model__getStageNames __pyx_string_tab[693]
#define __pyx_n_u_Model_activateBenders __pyx_string_tab[694]
#define __pyx_n_u_Model_addBendersSubproblem __pyx_string_tab[695]
#define __pyx_n_u_Model_addCoefKnapsack __pyx_string_tab[696]
#define __pyx_n_u_Model_addCoefLinear __pyx_string_tab[697]
#define __pyx_n_u_Model_addCons __pyx_string_tab[698]
#define __pyx_n_u_Model_addConsAnd __pyx_string_tab[699]
#define __pyx_n_u_Model_addConsCardinality __pyx_string_tab[700]
#define __pyx_n_u_Model_addConsCoeff __pyx_string_tab[701]
#define __pyx_n_u_Model_addConsDisjunction __pyx_string_tab[702]
#define __pyx_n_u_Model_addConsElemDisjunction __pyx_string_tab[703]
#define __pyx_n_u_Model_addConsIndicator __pyx_string_tab[704]
#define __pyx_n_u_Model_addConsKnapsack __pyx_string_tab[705]
#define __pyx_n_u_Model_addConsLocal __pyx_string_tab[706]
#define __pyx_n_u_Model_addConsNode __pyx_string_tab[707]
#define __pyx_n_u_Model_addConsOr __pyx_string_tab[708]
#define __pyx_n_u_Model_addConsSOS1 __pyx_string_tab[709]
#define __pyx_n_u_Model_addConsSOS2 __pyx_string_tab[710]
#define __pyx_n_u_Model_addConsXor __pyx_string_tab[711]
#define __pyx_n_u_Model_addConss __pyx_string_tab[712]
#define __pyx_n_u_Model_addCut __pyx_string_tab[713]
#define __pyx_n_u_Model_addExprNonlinear __pyx_string_tab[714]
#define __pyx_n_u_Model_addMatrixCons __pyx_string_tab[715]
#define __pyx_n_u_Model_addMatrixConsIndicator __pyx_string_tab[716]
#define __pyx_n_u_Model_addMatrixVar __pyx_string_tab[717]
#define __pyx_n_u_Model_addObjoffset __pyx_string_tab[718]
#define __pyx_n_u_Model_addPoolCut __pyx_string_tab[719]
#define __pyx_n_u_Model_addPyCons __pyx_string_tab[720]
#define __pyx_n_u_Model_addRowDive __pyx_string_tab[721]
#define __pyx_n_u_Model_addRowExact __pyx_string_tab[722]
#define __pyx_n_u_Model_addSol __pyx_string_tab[723]
#define __pyx_n_u_Model_addVar __pyx_string_tab[724]
#define __pyx_n_u_Model_addVarLocks __pyx_string_tab[725]
#define __pyx_n_u_Model_addVarLocksType __pyx_string_tab[726]
#define __pyx_n_u_Model_addVarSOS1 __pyx_string_tab[727]
#define __pyx_n_u_Model_addVarSOS2 __pyx_string_tab[728]
#define __pyx_n_u_Model_addVarToRow __pyx_string_tab[729]
#define __pyx_n_u_Model_adjustedVarLb __pyx_string_tab[730]
#define __pyx_n_u_Model_adjustedVarUb __pyx_string_tab[731]
#define __pyx_n_u_Model_aggregateVars __pyx_string_tab[732]
#define __pyx_n_u_Model_allColsInLP __pyx_string_tab[733]
#define __pyx_n_u_Model_allowNegSlackExact __pyx_string_tab[734]
#define __pyx_n_u_Model_appendVarSOS1 __pyx_string_tab[735]
#define __pyx_n_u_Model_appendVarSOS2 __pyx_string_tab[736]
#define __pyx_n_u_Model_applyCutsProbing __pyx_string_tab[737]
#define __pyx_n_u_Model_attachEventHandlerCallback __pyx_string_tab[738]
#define __pyx_n_u_Model_backtrackProbing __pyx_string_tab[739]
#define __pyx_n_u_Model_branchLPExact __pyx_string_tab[740]
#define __pyx_n_u_Model_branchVar __pyx_string_tab[741]
#define __pyx_n_u_Model_branchVarVal __pyx_string_tab[742]
#define __pyx_n_u_Model_cacheRowExtensions __pyx_string_tab[743]
#define __pyx_n_u_Model_calcChildEstimate __pyx_string_tab[744]
#define __pyx_n_u_Model_calcNodeselPriority __pyx_string_tab[745]
#define __pyx_n_u_Model_catchEvent __pyx_string_tab[746]
#define __pyx_n_u_Model_catchRowEvent __pyx_string_tab[747]
#define __pyx_n_u_Model_catchVarEvent __pyx_string_tab[748]
#define __pyx_n_u_Model_checkBendersSubproblemOpti __pyx_string_tab[749]
#define __pyx_n_u_Model_checkQuadraticNonlinear __pyx_string_tab[750]
#define __pyx_n_u_Model_checkSol __pyx_string_tab[751]
#define __pyx_n_u_Model_chgCapacityKnapsack __pyx_string_tab[752]
#define __pyx_n_u_Model_chgCoefLinear __pyx_string_tab[753]
#define __pyx_n_u_Model_chgLhs __pyx_string_tab[754]
#define __pyx_n_u_Model_chgReoptObjective __pyx_string_tab[755]
#define __pyx_n_u_Model_chgRhs __pyx_string_tab[756]
#define __pyx_n_u_Model_chgRowLhsDive __pyx_string_tab[757]
#define __pyx_n_u_Model_chgRowRhsDive __pyx_string_tab[758]
#define __pyx_n_u_Model_chgVarBranchPriority __pyx_string_tab[759]
#define __pyx_n_u_Model_chgVarLb __pyx_string_tab[760]
#define __pyx_n_u_Model_chgVarLbDive __pyx_string_tab[761]
#define __pyx_n_u_Model_chgVarLbGlobal __pyx_string_tab[762]
#define __pyx_n_u_Model_chgVarLbNode __pyx_string_tab[763]
#define __pyx_n_u_Model_chgVarLbProbing __pyx_string_tab[764]
#define __pyx_n_u_Model_chgVarObjDive __pyx_string_tab[765]
#define __pyx_n_u_Model_chgVarObjProbing __pyx_string_tab[766]
#define __pyx_n_u_Model_chgVarType __pyx_string_tab[767]
#define __pyx_n_u_Model_chgVarUb __pyx_string_tab[768]
#define __pyx_n_u_Model_chgVarUbDive __pyx_string_tab[769]
#define __pyx_n_u_Model_chgVarUbGlobal __pyx_string_tab[770]
#define __pyx_n_u_Model_chgVarUbNode __pyx_string_tab[771]
#define __pyx_n_u_Model_chgVarUbProbing __pyx_string_tab[772]
#define __pyx_n_u_Model_computeBestSolSubproblems __pyx_string_tab[773]
#define __pyx_n_u_Model_constructLP __pyx_string_tab[774]
#define __pyx_n_u_Model_copyLargeNeighborhoodSearc __pyx_string_tab[775]
#define __pyx_n_u_Model_count __pyx_string_tab[776]
#define __pyx_n_u_Model_createChild __pyx_string_tab[777]
#define __pyx_n_u_Model_createCons __pyx_string_tab[778]
#define __pyx_n_u_Model_createConsFromExpr __pyx_string_tab[779]
#define __pyx_n_u_Model_createEmptyRowSepa __pyx_string_tab[780]
#define __pyx_n_u_Model_createEmptyRowUnspec __pyx_string_tab[781]
#define __pyx_n_u_Model_createOrigSol __pyx_string_tab[782]
#define __pyx_n_u_Model_createPartialSol __pyx_string_tab[783]
#define __pyx_n_u_Model_createProbBasic __pyx_string_tab[784]
#define __pyx_n_u_Model_createSol __pyx_string_tab[785]
#define __pyx_n_u_Model_cutoffNode __pyx_string_tab[786]
#define __pyx_n_u_Model_deactivatePricer __pyx_string_tab[787]
#define __pyx_n_u_Model_delCoefLinear __pyx_string_tab[788]
#define __pyx_n_u_Model_delCons __pyx_string_tab[789]
#define __pyx_n_u_Model_delConsLocal __pyx_string_tab[790]
#define __pyx_n_u_Model_delVar __pyx_string_tab[791]
#define __pyx_n_u_Model_disableDebugSol __pyx_string_tab[792]
#define __pyx_n_u_Model_disablePropagation __pyx_string_tab[793]
#define __pyx_n_u_Model_dropEvent __pyx_string_tab[794]
#define __pyx_n_u_Model_dropRowEvent __pyx_string_tab[795]
#define __pyx_n_u_Model_dropVarEvent __pyx_string_tab[796]
#define __pyx_n_u_Model_enableDebugSol __pyx_string_tab[797]
#define __pyx_n_u_Model_enableExactSolving __pyx_string_tab[798]
#define __pyx_n_u_Model_enableReoptimization __pyx_string_tab[799]
#define __pyx_n_u_Model_endDive __pyx_string_tab[800]
#define __pyx_n_u_Model_endProbing __pyx_string_tab[801]
#define __pyx_n_u_Model_endStrongbranch __pyx_string_tab[802]
#define __pyx_n_u_Model_epsilon __pyx_string_tab[803]
#define __pyx_n_u_Model_feasCeil __pyx_string_tab[804]
#define __pyx_n_u_Model_feasFloor __pyx_string_tab[805]
#define __pyx_n_u_Model_feasFrac __pyx_string_tab[806]
#define __pyx_n_u_Model_feasRound __pyx_string_tab[807]
#define __pyx_n_u_Model_feastol __pyx_string_tab[808]
#define __pyx_n_u_Model_fixVar __pyx_string_tab[809]
#define __pyx_n_u_Model_fixVarProbing __pyx_string_tab[810]
#define __pyx_n_u_Model_flushRowExtensions __pyx_string_tab[811]
#define __pyx_n_u_Model_frac __pyx_string_tab[812]
#define __pyx_n_u_Model_freeBendersSubproblems __pyx_string_tab[813]
#define __pyx_n_u_Model_freeProb __pyx_string_tab[814]
#define __pyx_n_u_Model_freeReoptSolve __pyx_string_tab[815]
#define __pyx_n_u_Model_freeSol __pyx_string_tab[816]
#define __pyx_n_u_Model_freeTransform __pyx_string_tab[817]
#define __pyx_n_u_Model_from_ptr __pyx_string_tab[818]
#define __pyx_n_u_Model_generateIIS __pyx_string_tab[819]
#define __pyx_n_u_Model_getActivity __pyx_string_tab[820]
#define __pyx_n_u_Model_getBendersAuxiliaryVar __pyx_string_tab[821]
#define __pyx_n_u_Model_getBendersSubproblem __pyx_string_tab[822]
#define __pyx_n_u_Model_getBendersVar __pyx_string_tab[823]
#define __pyx_n_u_Model_getBestChild __pyx_string_tab[824]
#define __pyx_n_u_Model_getBestLeaf __pyx_string_tab[825]
#define __pyx_n_u_Model_getBestNode __pyx_string_tab[826]
#define __pyx_n_u_Model_getBestSibling __pyx_string_tab[827]
#define __pyx_n_u_Model_getBestSol __pyx_string_tab[828]
#define __pyx_n_u_Model_getBestboundNode __pyx_string_tab[829]
#define __pyx_n_u_Model_getBipartiteGraphRepresent __pyx_string_tab[830]
#define __pyx_n_u_Model_getBranchScoreMultiple __pyx_string_tab[831]
#define __pyx_n_u_Model_getCapacityKnapsack __pyx_string_tab[832]
#define __pyx_n_u_Model_getChildren __pyx_string_tab[833]
#define __pyx_n_u_Model_getColRedCost __pyx_string_tab[834]
#define __pyx_n_u_Model_getCondition __pyx_string_tab[835]
#define __pyx_n_u_Model_getConsNVars __pyx_string_tab[836]
#define __pyx_n_u_Model_getConsVals __pyx_string_tab[837]
#define __pyx_n_u_Model_getConsVars __pyx_string_tab[838]
#define __pyx_n_u_Model_getConss __pyx_string_tab[839]
#define __pyx_n_u_Model_getCurrentNode __pyx_string_tab[840]
#define __pyx_n_u_Model_getCutEfficacy __pyx_string_tab[841]
#define __pyx_n_u_Model_getCutLPSolCutoffDistance __pyx_string_tab[842]
#define __pyx_n_u_Model_getCutoffbound __pyx_string_tab[843]
#define __pyx_n_u_Model_getDepth __pyx_string_tab[844]
#define __pyx_n_u_Model_getDualMultiplier __pyx_string_tab[845]
#define __pyx_n_u_Model_getDualSolVal __pyx_string_tab[846]
#define __pyx_n_u_Model_getDualbound __pyx_string_tab[847]
#define __pyx_n_u_Model_getDualboundRoot __pyx_string_tab[848]
#define __pyx_n_u_Model_getDualfarkasKnapsack __pyx_string_tab[849]
#define __pyx_n_u_Model_getDualfarkasLinear __pyx_string_tab[850]
#define __pyx_n_u_Model_getDualsolKnapsack __pyx_string_tab[851]
#define __pyx_n_u_Model_getDualsolLinear __pyx_string_tab[852]
#define __pyx_n_u_Model_getGap __pyx_string_tab[853]
#define __pyx_n_u_Model_getHeurTiming __pyx_string_tab[854]
#define __pyx_n_u_Model_getIIS __pyx_string_tab[855]
#define __pyx_n_u_Model_getLPBInvARow __pyx_string_tab[856]
#define __pyx_n_u_Model_getLPBInvRow __pyx_string_tab[857]
#define __pyx_n_u_Model_getLPBasisInd __pyx_string_tab[858]
#define __pyx_n_u_Model_getLPBranchCands __pyx_string_tab[859]
#define __pyx_n_u_Model_getLPColsData __pyx_string_tab[860]
#define __pyx_n_u_Model_getLPObjVal __pyx_string_tab[861]
#define __pyx_n_u_Model_getLPRowsData __pyx_string_tab[862]
#define __pyx_n_u_Model_getLPSolstat __pyx_string_tab[863]
#define __pyx_n_u_Model_getLeaves __pyx_string_tab[864]
#define __pyx_n_u_Model_getLhs __pyx_string_tab[865]
#define __pyx_n_u_Model_getLinearConsIndicator __pyx_string_tab[866]
#define __pyx_n_u_Model_getLocalEstimate __pyx_string_tab[867]
#define __pyx_n_u_Model_getLowerbound __pyx_string_tab[868]
#define __pyx_n_u_Model_getMajorVersion __pyx_string_tab[869]
#define __pyx_n_u_Model_getMaxDepth __pyx_string_tab[870]
#define __pyx_n_u_Model_getMinorVersion __pyx_string_tab[871]
#define __pyx_n_u_Model_getNBestSolsFound __pyx_string_tab[872]
#define __pyx_n_u_Model_getNBinVars __pyx_string_tab[873]
#define __pyx_n_u_Model_getNChildren __pyx_string_tab[874]
#define __pyx_n_u_Model_getNConss __pyx_string_tab[875]
#define __pyx_n_u_Model_getNContVars __pyx_string_tab[876]
#define __pyx_n_u_Model_getNCountedSols __pyx_string_tab[877]
#define __pyx_n_u_Model_getNCuts __pyx_string_tab[878]
#define __pyx_n_u_Model_getNCutsApplied __pyx_string_tab[879]
#define __pyx_n_u_Model_getNFeasibleLeaves __pyx_string_tab[880]
#define __pyx_n_u_Model_getNImplVars __pyx_string_tab[881]
#define __pyx_n_u_Model_getNInfeasibleLeaves __pyx_string_tab[882]
#define __pyx_n_u_Model_getNIntVars __pyx_string_tab[883]
#define __pyx_n_u_Model_getNLPBranchCands __pyx_string_tab[884]
#define __pyx_n_u_Model_getNLPCols __pyx_string_tab[885]
#define __pyx_n_u_Model_getNLPIterations __pyx_string_tab[886]
#define __pyx_n_u_Model_getNLPRows __pyx_string_tab[887]
#define __pyx_n_u_Model_getNLPs __pyx_string_tab[888]
#define __pyx_n_u_Model_getNLeaves __pyx_string_tab[889]
#define __pyx_n_u_Model_getNLimSolsFound __pyx_string_tab[890]
#define __pyx_n_u_Model_getNNlRows __pyx_string_tab[891]
#define __pyx_n_u_Model_getNNodeLPIterations __pyx_string_tab[892]
#define __pyx_n_u_Model_getNNodes __pyx_string_tab[893]
#define __pyx_n_u_Model_getNReaders __pyx_string_tab[894]
#define __pyx_n_u_Model_getNSepaRounds __pyx_string_tab[895]
#define __pyx_n_u_Model_getNSiblings __pyx_string_tab[896]
#define __pyx_n_u_Model_getNSols __pyx_string_tab[897]
#define __pyx_n_u_Model_getNSolsFound __pyx_string_tab[898]
#define __pyx_n_u_Model_getNStrongbranchLPIteratio __pyx_string_tab[899]
#define __pyx_n_u_Model_getNTotalNodes __pyx_string_tab[900]
#define __pyx_n_u_Model_getNVars __pyx_string_tab[901]
#define __pyx_n_u_Model_getNVarsAnd __pyx_string_tab[902]
#define __pyx_n_u_Model_getNlRowActivityBounds __pyx_string_tab[903]
#define __pyx_n_u_Model_getNlRowSolActivity __pyx_string_tab[904]
#define __pyx_n_u_Model_getNlRowSolFeasibility __pyx_string_tab[905]
#define __pyx_n_u_Model_getNlRows __pyx_string_tab[906]
#define __pyx_n_u_Model_getObjVal __pyx_string_tab[907]
#define __pyx_n_u_Model_getObjective __pyx_string_tab[908]
#define __pyx_n_u_Model_getObjectiveSense __pyx_string_tab[909]
#define __pyx_n_u_Model_getObjlimit __pyx_string_tab[910]
#define __pyx_n_u_Model_getObjoffset __pyx_string_tab[911]
#define __pyx_n_u_Model_getOpenNodes __pyx_string_tab[912]
#define __pyx_n_u_Model_getParam __pyx_string_tab[913]
#define __pyx_n_u_Model_getParams __pyx_string_tab[914]
#define __pyx_n_u_Model_getPlungeDepth __pyx_string_tab[915]
#define __pyx_n_u_Model_getPresolvingTime __pyx_string_tab[916]
#define __pyx_n_u_Model_getPrimalDualIntegral __pyx_string_tab[917]
#define __pyx_n_u_Model_getPrimalRay __pyx_string_tab[918]
#define __pyx_n_u_Model_getPrimalRayVal __pyx_string_tab[919]
#define __pyx_n_u_Model_getPrimalbound __pyx_string_tab[920]
#define __pyx_n_u_Model_getPrioChild __pyx_string_tab[921]
#define __pyx_n_u_Model_getPrioSibling __pyx_string_tab[922]
#define __pyx_n_u_Model_getProbName __pyx_string_tab[923]
#define __pyx_n_u_Model_getProbingDepth __pyx_string_tab[924]
#define __pyx_n_u_Model_getPseudoBranchCands __pyx_string_tab[925]
#define __pyx_n_u_Model_getReadingTime __pyx_string_tab[926]
#define __pyx_n_u_Model_getResultantAnd __pyx_string_tab[927]
#define __pyx_n_u_Model_getRhs __pyx_string_tab[928]
#define __pyx_n_u_Model_getRowActivity __pyx_string_tab[929]
#define __pyx_n_u_Model_getRowDualSol __pyx_string_tab[930]
#define __pyx_n_u_Model_getRowLPActivity __pyx_string_tab[931]
#define __pyx_n_u_Model_getRowLinear __pyx_string_tab[932]
#define __pyx_n_u_Model_getRowNumIntCols __pyx_string_tab[933]
#define __pyx_n_u_Model_getRowObjParallelism __pyx_string_tab[934]
#define __pyx_n_u_Model_getRowParallelism __pyx_string_tab[935]
#define __pyx_n_u_Model_getSiblings __pyx_string_tab[936]
#define __pyx_n_u_Model_getSlack __pyx_string_tab[937]
#define __pyx_n_u_Model_getSlackVarIndicator __pyx_string_tab[938]
#define __pyx_n_u_Model_getSolObjVal __pyx_string_tab[939]
#define __pyx_n_u_Model_getSolTime __pyx_string_tab[940]
#define __pyx_n_u_Model_getSolVal __pyx_string_tab[941]
#define __pyx_n_u_Model_getSols __pyx_string_tab[942]
#define __pyx_n_u_Model_getSolvingTime __pyx_string_tab[943]
#define __pyx_n_u_Model_getStage __pyx_string_tab[944]
#define __pyx_n_u_Model_getStageName __pyx_string_tab[945]
#define __pyx_n_u_Model_getStatus __pyx_string_tab[946]
#define __pyx_n_u_Model_getTechVersion __pyx_string_tab[947]
#define __pyx_n_u_Model_getTermsQuadratic __pyx_string_tab[948]
#define __pyx_n_u_Model_getTotalTime __pyx_string_tab[949]
#define __pyx_n_u_Model_getTransformedCons __pyx_string_tab[950]
#define __pyx_n_u_Model_getTransformedVar __pyx_string_tab[951]
#define __pyx_n_u_Model_getTreesizeEstimation __pyx_string_tab[952]
#define __pyx_n_u_Model_getVal __pyx_string_tab[953]
#define __pyx_n_u_Model_getValsLinear __pyx_string_tab[954]
#define __pyx_n_u_Model_getVarDict __pyx_string_tab[955]
#define __pyx_n_u_Model_getVarLbDive __pyx_string_tab[956]
#define __pyx_n_u_Model_getVarPseudocost __pyx_string_tab[957]
#define __pyx_n_u_Model_getVarPseudocostScore __pyx_string_tab[958]
#define __pyx_n_u_Model_getVarRedcost __pyx_string_tab[959]
#define __pyx_n_u_Model_getVarStrongbranch __pyx_string_tab[960]
#define __pyx_n_u_Model_getVarStrongbranchLast __pyx_string_tab[961]
#define __pyx_n_u_Model_getVarStrongbranchNode __pyx_string_tab[962]
#define __pyx_n_u_Model_getVarUbDive __pyx_string_tab[963]
#define __pyx_n_u_Model_getVars __pyx_string_tab[964]
#define __pyx_n_u_Model_getVarsAnd __pyx_string_tab[965]
#define __pyx_n_u_Model_getWeightsKnapsack __pyx_string_tab[966]
#define __pyx_n_u_Model_hasPrimalRay __pyx_string_tab[967]
#define __pyx_n_u_Model_hideOutput __pyx_string_tab[968]
#define __pyx_n_u_Model_inProbing __pyx_string_tab[969]
#define __pyx_n_u_Model_inRepropagation __pyx_string_tab[970]
#define __pyx_n_u_Model_includeBenders __pyx_string_tab[971]
#define __pyx_n_u_Model_includeBendersDefaultCuts __pyx_string_tab[972]
#define __pyx_n_u_Model_includeBenderscut __pyx_string_tab[973]
#define __pyx_n_u_Model_includeBranchrule __pyx_string_tab[974]
#define __pyx_n_u_Model_includeConshdlr __pyx_string_tab[975]
#define __pyx_n_u_Model_includeCutsel __pyx_string_tab[976]
#define __pyx_n_u_Model_includeDefaultPlugins __pyx_string_tab[977]
#define __pyx_n_u_Model_includeEventhdlr __pyx_string_tab[978]
#define __pyx_n_u_Model_includeHeur __pyx_string_tab[979]
#define __pyx_n_u_Model_includeIISfinder __pyx_string_tab[980]
#define __pyx_n_u_Model_includeNodesel __pyx_string_tab[981]
#define __pyx_n_u_Model_includePresol __pyx_string_tab[982]
#define __pyx_n_u_Model_includePricer __pyx_string_tab[983]
#define __pyx_n_u_Model_includeProp __pyx_string_tab[984]
#define __pyx_n_u_Model_includeReader __pyx_string_tab[985]
#define __pyx_n_u_Model_includeRelax __pyx_string_tab[986]
#define __pyx_n_u_Model_includeSepa __pyx_string_tab[987]
#define __pyx_n_u_Model_infinity __pyx_string_tab[988]
#define __pyx_n_u_Model_initBendersDefault __pyx_string_tab[989]
#define __pyx_n_u_Model_interruptSolve __pyx_string_tab[990]
#define __pyx_n_u_Model_isAndConsSorted __pyx_string_tab[991]
#define __pyx_n_u_Model_isCutEfficacious __pyx_string_tab[992]
#define __pyx_n_u_Model_isEQ __pyx_string_tab[993]
#define __pyx_n_u_Model_isExact __pyx_string_tab[994]
#define __pyx_n_u_Model_isFeasEQ __pyx_string_tab[995]
#define __pyx_n_u_Model_isFeasGE __pyx_string_tab[996]
#define __pyx_n_u_Model_isFeasGT __pyx_string_tab[997]
#define __pyx_n_u_Model_isFeasIntegral __pyx_string_tab[998]
#define __pyx_n_u_Model_isFeasLE __pyx_string_tab[999]
#define __pyx_n_u_Model_isFeasLT __pyx_string_tab[1000]
#define __pyx_n_u_Model_isFeasNegative __pyx_string_tab[1001]
#define __pyx_n_u_Model_isFeasPositive __pyx_string_tab[1002]
#define __pyx_n_u_Model_isFeasZero __pyx_string_tab[1003]
#define __pyx_n_u_Model_isGE __pyx_string_tab[1004]
#define __pyx_n_u_Model_isGT __pyx_string_tab[1005]
#define __pyx_n_u_Model_isHugeValue __pyx_string_tab[1006]
#define __pyx_n_u_Model_isInfinity __pyx_string_tab[1007]
#define __pyx_n_u_Model_isIntegral __pyx_string_tab[1008]
#define __pyx_n_u_Model_isLE __pyx_string_tab[1009]
#define __pyx_n_u_Model_isLPSolBasic __pyx_string_tab[1010]
#define __pyx_n_u_Model_isLT __pyx_string_tab[1011]
#define __pyx_n_u_Model_isNLPConstructed __pyx_string_tab[1012]
#define __pyx_n_u_Model_isNegative __pyx_string_tab[1013]
#define __pyx_n_u_Model_isObjChangedProbing __pyx_string_tab[1014]
#define __pyx_n_u_Model_isObjIntegral __pyx_string_tab[1015]
#define __pyx_n_u_Model_isPositive __pyx_string_tab[1016]
#define __pyx_n_u_Model_isZero __pyx_string_tab[1017]
#define __pyx_n_u_Model_lpiGetIterations __pyx_string_tab[1018]
#define __pyx_n_u_Model_markDoNotAggrVar __pyx_string_tab[1019]
#define __pyx_n_u_Model_markDoNotMultaggrVar __pyx_string_tab[1020]
#define __pyx_n_u_Model_newProbingNode __pyx_string_tab[1021]
#define __pyx_n_u_Model_optimize __pyx_string_tab[1022]
#define __pyx_n_u_Model_optimizeNogil __pyx_string_tab[1023]
#define __pyx_n_u_Model_presolve __pyx_string_tab[1024]
#define __pyx_n_u_Model_printBestSol __pyx_string_tab[1025]
#define __pyx_n_u_Model_printCons __pyx_string_tab[1026]
#define __pyx_n_u_Model_printExternalCodeVersions __pyx_string_tab[1027]
#define __pyx_n_u_Model_printNlRow __pyx_string_tab[1028]
#define __pyx_n_u_Model_printProblem __pyx_string_tab[1029]
#define __pyx_n_u_Model_printRow __pyx_string_tab[1030]
#define __pyx_n_u_Model_printSol __pyx_string_tab[1031]
#define __pyx_n_u_Model_printStatistics __pyx_string_tab[1032]
#define __pyx_n_u_Model_printStatisticsJson __pyx_string_tab[1033]
#define __pyx_n_u_Model_printVersion __pyx_string_tab[1034]
#define __pyx_n_u_Model_propagateProbing __pyx_string_tab[1035]
#define __pyx_n_u_Model_readParams __pyx_string_tab[1036]
#define __pyx_n_u_Model_readProblem __pyx_string_tab[1037]
#define __pyx_n_u_Model_readSol __pyx_string_tab[1038]
#define __pyx_n_u_Model_readSolFile __pyx_string_tab[1039]
#define __pyx_n_u_Model_redirectOutput __pyx_string_tab[1040]
#define __pyx_n_u_Model_relax __pyx_string_tab[1041]
#define __pyx_n_u_Model_releaseRow __pyx_string_tab[1042]
#define __pyx_n_u_Model_repropagateNode __pyx_string_tab[1043]
#define __pyx_n_u_Model_resetParam __pyx_string_tab[1044]
#define __pyx_n_u_Model_resetParams __pyx_string_tab[1045]
#define __pyx_n_u_Model_restartSolve __pyx_string_tab[1046]
#define __pyx_n_u_Model_separateSol __pyx_string_tab[1047]
#define __pyx_n_u_Model_setBendersSubproblemIsConv __pyx_string_tab[1048]
#define __pyx_n_u_Model_setBoolParam __pyx_string_tab[1049]
#define __pyx_n_u_Model_setCharParam __pyx_string_tab[1050]
#define __pyx_n_u_Model_setCheck __pyx_string_tab[1051]
#define __pyx_n_u_Model_setEmphasis __pyx_string_tab[1052]
#define __pyx_n_u_Model_setEnforced __pyx_string_tab[1053]
#define __pyx_n_u_Model_setHeurTiming __pyx_string_tab[1054]
#define __pyx_n_u_Model_setHeuristics __pyx_string_tab[1055]
#define __pyx_n_u_Model_setInitial __pyx_string_tab[1056]
#define __pyx_n_u_Model_setIntParam __pyx_string_tab[1057]
#define __pyx_n_u_Model_setLogfile __pyx_string_tab[1058]
#define __pyx_n_u_Model_setLongintParam __pyx_string_tab[1059]
#define __pyx_n_u_Model_setMaximize __pyx_string_tab[1060]
#define __pyx_n_u_Model_setMinimize __pyx_string_tab[1061]
#define __pyx_n_u_Model_setModifiable __pyx_string_tab[1062]
#define __pyx_n_u_Model_setObjIntegral __pyx_string_tab[1063]
#define __pyx_n_u_Model_setObjective __pyx_string_tab[1064]
#define __pyx_n_u_Model_setObjlimit __pyx_string_tab[1065]
#define __pyx_n_u_Model_setParam __pyx_string_tab[1066]
#define __pyx_n_u_Model_setParams __pyx_string_tab[1067]
#define __pyx_n_u_Model_setParamsCountsols __pyx_string_tab[1068]
#define __pyx_n_u_Model_setPresolve __pyx_string_tab[1069]
#define __pyx_n_u_Model_setProbName __pyx_string_tab[1070]
#define __pyx_n_u_Model_setRealParam __pyx_string_tab[1071]
#define __pyx_n_u_Model_setRelaxSolVal __pyx_string_tab[1072]
#define __pyx_n_u_Model_setRemovable __pyx_string_tab[1073]
#define __pyx_n_u_Model_setSeparating __pyx_string_tab[1074]
#define __pyx_n_u_Model_setSolVal __pyx_string_tab[1075]
#define __pyx_n_u_Model_setStringParam __pyx_string_tab[1076]
#define __pyx_n_u_Model_setupBendersSubproblem __pyx_string_tab[1077]
#define __pyx_n_u_Model_solveBendersSubproblem __pyx_string_tab[1078]
#define __pyx_n_u_Model_solveConcurrent __pyx_string_tab[1079]
#define __pyx_n_u_Model_solveDiveLP __pyx_string_tab[1080]
#define __pyx_n_u_Model_solveProbingLP __pyx_string_tab[1081]
#define __pyx_n_u_Model_sortAndCons __pyx_string_tab[1082]
#define __pyx_n_u_Model_startDive __pyx_string_tab[1083]
#define __pyx_n_u_Model_startProbing __pyx_string_tab[1084]
#define __pyx_n_u_Model_startStrongbranch __pyx_string_tab[1085]
#define __pyx_n_u_Model_tightenVarLb __pyx_string_tab[1086]
#define __pyx_n_u_Model_tightenVarLbGlobal __pyx_string_tab[1087]
#define __pyx_n_u_Model_tightenVarUb __pyx_string_tab[1088]
#define __pyx_n_u_Model_tightenVarUbGlobal __pyx_string_tab[1089]
#define __pyx_n_u_Model_to_ptr __pyx_string_tab[1090]
#define __pyx_n_u_Model_translateSubSol __pyx_string_tab[1091]
#define __pyx_n_u_Model_trySol __pyx_string_tab[1092]
#define __pyx_n_u_Model_updateBendersLowerbounds __pyx_string_tab[1093]
#define __pyx_n_u_Model_updateNodeLowerbound __pyx_string_tab[1094]
#define __pyx_n_u_Model_updateVarPseudocost __pyx_string_tab[1095]
#define __pyx_n_u_Model_version __pyx_string_tab[1096]
#define __pyx_n_u_Model_writeBestSol __pyx_string_tab[1097]
#define __pyx_n_u_Model_writeBestTransSol __pyx_string_tab[1098]
#define __pyx_n_u_Model_writeLP __pyx_string_tab[1099]
#define __pyx_n_u_Model_writeMIP __pyx_string_tab[1100]
#define __pyx_n_u_Model_writeName __pyx_string_tab[1101]
#define __pyx_n_u_Model_writeParams __pyx_string_tab[1102]
#define __pyx_n_u_Model_writeProblem __pyx_string_tab[1103]
#define __pyx_n_u_Model_writeSol __pyx_string_tab[1104]
#define __pyx_n_u_Model_writeStatistics __pyx_string_tab[1105]
#define __pyx_n_u_Model_writeStatisticsJson __pyx_string_tab[1106]
#define __pyx_n_u_Model_writeTransSol __pyx_string_tab[1107]
#define __pyx_n_u_NEGATED __pyx_string_tab[1108]
#define __pyx_n_u_NEWROUND __pyx_string_tab[1109]
#define __pyx_n_u_NLPSOL __pyx_string_tab[1110]
#define __pyx_n_u_NLRow __pyx_string_tab[1111]
#define __pyx_n_u_NLRow___reduce_cython __pyx_string_tab[1112]
#define __pyx_n_u_NLRow___setstate_cython __pyx_string_tab[1113]
#define __pyx_n_u_NLRow_getConstant __pyx_string_tab[1114]
#define __pyx_n_u_NLRow_getDualsol __pyx_string_tab[1115]
#define __pyx_n_u_NLRow_getLhs __pyx_string_tab[1116]
#define __pyx_n_u_NLRow_getLinearTerms __pyx_string_tab[1117]
#define __pyx_n_u_NLRow_getRhs __pyx_string_tab[1118]
#define __pyx_n_u_NODEBRANCHED __pyx_string_tab[1119]
#define __pyx_n_u_NODEDELETE __pyx_string_tab[1120]
#define __pyx_n_u_NODEEVENT __pyx_string_tab[1121]
#define __pyx_n_u_NODEFEASIBLE __pyx_string_tab[1122]
#define __pyx_n_u_NODEFOCUSED __pyx_string_tab[1123]
#define __pyx_n_u_NODEINFEASIBLE __pyx_string_tab[1124]
#define __pyx_n_u_NODELIMIT __pyx_string_tab[1125]
#define __pyx_n_u_NODESOLVED __pyx_string_tab[1126]
#define __pyx_n_u_NONE __pyx_string_tab[1127]
#define __pyx_n_u_NOTSOLVED __pyx_string_tab[1128]
#define __pyx_n_u_NUMERICS __pyx_string_tab[1129]
#define __pyx_n_u_Node __pyx_string_tab[1130]
#define __pyx_n_u_Node___reduce_cython __pyx_string_tab[1131]
#define __pyx_n_u_Node___setstate_cython __pyx_string_tab[1132]
#define __pyx_n_u_Node_getAddedConss __pyx_string_tab[1133]
#define __pyx_n_u_Node_getDepth __pyx_string_tab[1134]
#define __pyx_n_u_Node_getDomchg __pyx_string_tab[1135]
#define __pyx_n_u_Node_getEstimate __pyx_string_tab[1136]
#define __pyx_n_u_Node_getLowerbound __pyx_string_tab[1137]
#define __pyx_n_u_Node_getNAddedConss __pyx_string_tab[1138]
#define __pyx_n_u_Node_getNDomchg __pyx_string_tab[1139]
#define __pyx_n_u_Node_getNParentBranchings __pyx_string_tab[1140]
#define __pyx_n_u_Node_getNumber __pyx_string_tab[1141]
#define __pyx_n_u_Node_getParent __pyx_string_tab[1142]
#define __pyx_n_u_Node_getParentBranchings __pyx_string_tab[1143]
#define __pyx_n_u_Node_getType __pyx_string_tab[1144]
#define __pyx_n_u_Node_isActive __pyx_string_tab[1145]
#define __pyx_n_u_Node_isPropagatedAgain __pyx_string_tab[1146]
#define __pyx_n_u_Nodesel __pyx_string_tab[1147]
#define __pyx_n_u_Nodesel___reduce_cython __pyx_string_tab[1148]
#define __pyx_n_u_Nodesel___setstate_cython __pyx_string_tab[1149]
#define __pyx_n_u_Nodesel_nodecomp __pyx_string_tab[1150]
#define __pyx_n_u_Nodesel_nodeexit __pyx_string_tab[1151]
#define __pyx_n_u_Nodesel_nodeexitsol __pyx_string_tab[1152]
#define __pyx_n_u_Nodesel_nodefree __pyx_string_tab[1153]
#define __pyx_n_u_Nodesel_nodeinit __pyx_string_tab[1154]
#define __pyx_n_u_Nodesel_nodeinitsol __pyx_string_tab[1155]
#define __pyx_n_u_Nodesel_nodeselect __pyx_string_tab[1156]
#define __pyx_n_u_NotImplemented __pyx_string_tab[1157]
#define __pyx_n_u_OBJCHANGED __pyx_string_tab[1158]
#define __pyx_n_u_OBJLIM __pyx_string_tab[1159]
#define __pyx_n_u_OBJLIMIT __pyx_string_tab[1160]
#define __pyx_n_u_OFF __pyx_string_tab[1161]
#define __pyx_n_u_OPTIMAL __pyx_string_tab[1162]
#define __pyx_n_u_OPTIMALITY __pyx_string_tab[1163]
#define __pyx_n_u_ORIGINAL __pyx_string_tab[1164]
#define __pyx_n_u_Op __pyx_string_tab[1165]
#define __pyx_n_u_Operator __pyx_string_tab[1166]
#define __pyx_n_u_Optional __pyx_string_tab[1167]
#define __pyx_n_u_Original __pyx_string_tab[1168]
#define __pyx_n_u_PARTIAL __pyx_string_tab[1169]
#define __pyx_n_u_PATCH __pyx_string_tab[1170]
#define __pyx_n_u_PHASEFEAS __pyx_string_tab[1171]
#define __pyx_n_u_PHASEIMPROVE __pyx_string_tab[1172]
#define __pyx_n_u_PHASEPROOF __pyx_string_tab[1173]
#define __pyx_n_u_POLISHING __pyx_string_tab[1174]
#define __pyx_n_u_POORSOLFOUND __pyx_string_tab[1175]
#define __pyx_n_u_PRESOLVED __pyx_string_tab[1176]
#define __pyx_n_u_PRESOLVEROUND __pyx_string_tab[1177]
#define __pyx_n_u_PRESOLVING __pyx_string_tab[1178]
#define __pyx_n_u_PRICING __pyx_string_tab[1179]
#define __pyx_n_u_PRIMALLIMIT __pyx_string_tab[1180]
#define __pyx_n_u_PROBINGNODE __pyx_string_tab[1181]
#define __pyx_n_u_PROBLEM __pyx_string_tab[1182]
#define __pyx_n_u_PSEUDO __pyx_string_tab[1183]
#define __pyx_n_u_PSEUDOFORK __pyx_string_tab[1184]
#define __pyx_n_u_PSEUDOSOL __pyx_string_tab[1185]
#define __pyx_n_u_PY_SCIP_BENDERSENFOTYPE __pyx_string_tab[1186]
#define __pyx_n_u_PY_SCIP_BENDERSENFOTYPE___reduce __pyx_string_tab[1187]
#define __pyx_n_u_PY_SCIP_BENDERSENFOTYPE___setsta __pyx_string_tab[1188]
#define __pyx_n_u_PY_SCIP_BRANCHDIR __pyx_string_tab[1189]
#define __pyx_n_u_PY_SCIP_BRANCHDIR___reduce_cytho __pyx_string_tab[1190]
#define __pyx_n_u_PY_SCIP_BRANCHDIR___setstate_cyt __pyx_string_tab[1191]
#define __pyx_n_u_PY_SCIP_CALL __pyx_string_tab[1192]
#define __pyx_n_u_PY_SCIP_EVENTTYPE __pyx_string_tab[1193]
#define __pyx_n_u_PY_SCIP_EVENTTYPE___reduce_cytho __pyx_string_tab[1194]
#define __pyx_n_u_PY_SCIP_EVENTTYPE___setstate_cyt __pyx_string_tab[1195]
#define __pyx_n_u_PY_SCIP_HEURTIMING __pyx_string_tab[1196]
#define __pyx_n_u_PY_SCIP_HEURTIMING___reduce_cyth __pyx_string_tab[1197]
#define __pyx_n_u_PY_SCIP_HEURTIMING___setstate_cy __pyx_string_tab[1198]
#define __pyx_n_u_PY_SCIP_IMPLINTTYPE __pyx_string_tab[1199]
#define __pyx_n_u_PY_SCIP_IMPLINTTYPE___reduce_cyt __pyx_string_tab[1200]
#define __pyx_n_u_PY_SCIP_IMPLINTTYPE___setstate_c __pyx_string_tab[1201]
#define __pyx_n_u_PY_SCIP_LOCKTYPE __pyx_string_tab[1202]
#define __pyx_n_u_PY_SCIP_LOCKTYPE___reduce_cython __pyx_string_tab[1203]
#define __pyx_n_u_PY_SCIP_LOCKTYPE___setstate_cyth __pyx_string_tab[1204]
#define __pyx_n_u_PY_SCIP_LPPARAM __pyx_string_tab[1205]
#define __pyx_n_u_PY_SCIP_LPPARAM___reduce_cython __pyx_string_tab[1206]
#define __pyx_n_u_PY_SCIP_LPPARAM___setstate_cytho __pyx_string_tab[1207]
#define __pyx_n_u_PY_SCIP_LPSOLSTAT __pyx_string_tab[1208]
#define __pyx_n_u_PY_SCIP_LPSOLSTAT___reduce_cytho __pyx_string_tab[1209]
#define __pyx_n_u_PY_SCIP_LPSOLSTAT___setstate_cyt __pyx_string_tab[1210]
#define __pyx_n_u_PY_SCIP_NODETYPE __pyx_string_tab[1211]
#define __pyx_n_u_PY_SCIP_NODETYPE___reduce_cython __pyx_string_tab[1212]
#define __pyx_n_u_PY_SCIP_NODETYPE___setstate_cyth __pyx_string_tab[1213]
#define __pyx_n_u_PY_SCIP_PARAMEMPHASIS __pyx_string_tab[1214]
#define __pyx_n_u_PY_SCIP_PARAMEMPHASIS___reduce_c __pyx_string_tab[1215]
#define __pyx_n_u_PY_SCIP_PARAMEMPHASIS___setstate __pyx_string_tab[1216]
#define __pyx_n_u_PY_SCIP_PARAMSETTING __pyx_string_tab[1217]
#define __pyx_n_u_PY_SCIP_PARAMSETTING___reduce_cy __pyx_string_tab[1218]
#define __pyx_n_u_PY_SCIP_PARAMSETTING___setstate __pyx_string_tab[1219]
#define __pyx_n_u_PY_SCIP_PRESOLTIMING __pyx_string_tab[1220]
#define __pyx_n_u_PY_SCIP_PRESOLTIMING___reduce_cy __pyx_string_tab[1221]
#define __pyx_n_u_PY_SCIP_PRESOLTIMING___setstate __pyx_string_tab[1222]
#define __pyx_n_u_PY_SCIP_PROPTIMING __pyx_string_tab[1223]
#define __pyx_n_u_PY_SCIP_PROPTIMING___reduce_cyth __pyx_string_tab[1224]
#define __pyx_n_u_PY_SCIP_PROPTIMING___setstate_cy __pyx_string_tab[1225]
#define __pyx_n_u_PY_SCIP_RESULT __pyx_string_tab[1226]
#define __pyx_n_u_PY_SCIP_RESULT___reduce_cython __pyx_string_tab[1227]
#define __pyx_n_u_PY_SCIP_RESULT___setstate_cython __pyx_string_tab[1228]
#define __pyx_n_u_PY_SCIP_ROWORIGINTYPE __pyx_string_tab[1229]
#define __pyx_n_u_PY_SCIP_ROWORIGINTYPE___reduce_c __pyx_string_tab[1230]
#define __pyx_n_u_PY_SCIP_ROWORIGINTYPE___setstate __pyx_string_tab[1231]
#define __pyx_n_u_PY_SCIP_SOLORIGIN __pyx_string_tab[1232]
#define __pyx_n_u_PY_SCIP_SOLORIGIN___reduce_cytho __pyx_string_tab[1233]
#define __pyx_n_u_PY_SCIP_SOLORIGIN___setstate_cyt __pyx_string_tab[1234]
#define __pyx_n_u_PY_SCIP_STAGE __pyx_string_tab[1235]
#define __pyx_n_u_PY_SCIP_STAGE___reduce_cython __pyx_string_tab[1236]
#define __pyx_n_u_PY_SCIP_STAGE___setstate_cython __pyx_string_tab[1237]
#define __pyx_n_u_PY_SCIP_STATUS __pyx_string_tab[1238]
#define __pyx_n_u_PY_SCIP_STATUS___reduce_cython __pyx_string_tab[1239]
#define __pyx_n_u_PY_SCIP_STATUS___setstate_cython __pyx_string_tab[1240]
#define __pyx_n_u_PowExpr __pyx_string_tab[1241]
#define __pyx_n_u_PowExpr___reduce_cython __pyx_string_tab[1242]
#define __pyx_n_u_PowExpr___setstate_cython __pyx_string_tab[1243]
#define __pyx_n_u_PowExpr__evaluate __pyx_string_tab[1244]
#define __pyx_n_u_Presol __pyx_string_tab[1245]
#define __pyx_n_u_Presol___reduce_cython __pyx_string_tab[1246]
#define __pyx_n_u_Presol___setstate_cython __pyx_string_tab[1247]
#define __pyx_n_u_Presol_presolexec __pyx_string_tab[1248]
#define __pyx_n_u_Presol_presolexit __pyx_string_tab[1249]
#define __pyx_n_u_Presol_presolexitpre __pyx_string_tab[1250]
#define __pyx_n_u_Presol_presolfree __pyx_string_tab[1251]
#define __pyx_n_u_Presol_presolinit __pyx_string_tab[1252]
#define __pyx_n_u_Presol_presolinitpre __pyx_string_tab[1253]
#define __pyx_n_u_Pricer __pyx_string_tab[1254]
#define __pyx_n_u_Pricer___reduce_cython __pyx_string_tab[1255]
#define __pyx_n_u_Pricer___setstate_cython __pyx_string_tab[1256]
#define __pyx_n_u_Pricer_pricerexit __pyx_string_tab[1257]
#define __pyx_n_u_Pricer_pricerexitsol __pyx_string_tab[1258]
#define __pyx_n_u_Pricer_pricerfarkas __pyx_string_tab[1259]
#define __pyx_n_u_Pricer_pricerfree __pyx_string_tab[1260]
#define __pyx_n_u_Pricer_pricerinit __pyx_string_tab[1261]
#define __pyx_n_u_Pricer_pricerinitsol __pyx_string_tab[1262]
#define __pyx_n_u_Pricer_pricerredcost __pyx_string_tab[1263]
#define __pyx_n_u_ProdExpr __pyx_string_tab[1264]
#define __pyx_n_u_ProdExpr___reduce_cython __pyx_string_tab[1265]
#define __pyx_n_u_ProdExpr___setstate_cython __pyx_string_tab[1266]
#define __pyx_n_u_ProdExpr__evaluate __pyx_string_tab[1267]
#define __pyx_n_u_Prop __pyx_string_tab[1268]
#define __pyx_n_u_Prop___reduce_cython __pyx_string_tab[1269]
#define __pyx_n_u_Prop___setstate_cython __pyx_string_tab[1270]
#define __pyx_n_u_Prop_propexec __pyx_string_tab[1271]
#define __pyx_n_u_Prop_propexit __pyx_string_tab[1272]
#define __pyx_n_u_Prop_propexitpre __pyx_string_tab[1273]
#define __pyx_n_u_Prop_propexitsol __pyx_string_tab[1274]
#define __pyx_n_u_Prop_propfree __pyx_string_tab[1275]
#define __pyx_n_u_Prop_propinit __pyx_string_tab[1276]
#define __pyx_n_u_Prop_propinitpre __pyx_string_tab[1277]
#define __pyx_n_u_Prop_propinitsol __pyx_string_tab[1278]
#define __pyx_n_u_Prop_proppresol __pyx_string_tab[1279]
#define __pyx_n_u_Prop_propresprop __pyx_string_tab[1280]
#define __pyx_n_u_PyCons __pyx_string_tab[1281]
#define __pyx_n_u_PyRow __pyx_string_tab[1282]
#define __pyx_n_u_Pyx_PyDict_NextRef __pyx_string_tab[1283]
#define __pyx_n_u_RANDOMSEED __pyx_string_tab[1284]
#define __pyx_n_u_REDUCEDDOM __pyx_string_tab[1285]
#define __pyx_n_u_REFACTOR __pyx_string_tab[1286]
#define __pyx_n_u_REFOCUSNODE __pyx_string_tab[1287]
#define __pyx_n_u_RELAX __pyx_string_tab[1288]
#define __pyx_n_u_RELAXSOL __pyx_string_tab[1289]
#define __pyx_n_u_REOPT __pyx_string_tab[1290]
#define __pyx_n_u_RESTARTLIMIT __pyx_string_tab[1291]
#define __pyx_n_u_ROWADDEDLP __pyx_string_tab[1292]
#define __pyx_n_u_ROWADDEDSEPA __pyx_string_tab[1293]
#define __pyx_n_u_ROWCHANGED __pyx_string_tab[1294]
#define __pyx_n_u_ROWCOEFCHANGED __pyx_string_tab[1295]
#define __pyx_n_u_ROWCONSTCHANGED __pyx_string_tab[1296]
#define __pyx_n_u_ROWDELETEDLP __pyx_string_tab[1297]
#define __pyx_n_u_ROWDELETEDSEPA __pyx_string_tab[1298]
#define __pyx_n_u_ROWEVENT __pyx_string_tab[1299]
#define __pyx_n_u_ROWREPSWITCH __pyx_string_tab[1300]
#define __pyx_n_u_ROWSIDECHANGED __pyx_string_tab[1301]
#define __pyx_n_u_Reader __pyx_string_tab[1302]
#define __pyx_n_u_Reader___reduce_cython __pyx_string_tab[1303]
#define __pyx_n_u_Reader___setstate_cython __pyx_string_tab[1304]
#define __pyx_n_u_Reader_readerfree __pyx_string_tab[1305]
#define __pyx_n_u_Reader_readerread __pyx_string_tab[1306]
#define __pyx_n_u_Reader_readerwrite __pyx_string_tab[1307]
#define __pyx_n_u_Relax __pyx_string_tab[1308]
#define __pyx_n_u_Relax___reduce_cython __pyx_string_tab[1309]
#define __pyx_n_u_Relax___setstate_cython __pyx_string_tab[1310]
#define __pyx_n_u_Relax_relaxexec __pyx_string_tab[1311]
#define __pyx_n_u_Relax_relaxexit __pyx_string_tab[1312]
#define __pyx_n_u_Relax_relaxexitsol __pyx_string_tab[1313]
#define __pyx_n_u_Relax_relaxfree __pyx_string_tab[1314]
#define __pyx_n_u_Relax_relaxinit __pyx_string_tab[1315]
#define __pyx_n_u_Relax_relaxinitsol __pyx_string_tab[1316]
#define __pyx_n_u_Row __pyx_string_tab[1317]
#define __pyx_n_u_RowExact __pyx_string_tab[1318]
#define __pyx_n_u_RowExact___reduce_cython __pyx_string_tab[1319]
#define __pyx_n_u_RowExact___setstate_cython __pyx_string_tab[1320]
#define __pyx_n_u_Row___reduce_cython __pyx_string_tab[1321]
#define __pyx_n_u_Row___setstate_cython __pyx_string_tab[1322]
#define __pyx_n_u_Row_getAge __pyx_string_tab[1323]
#define __pyx_n_u_Row_getBasisStatus __pyx_string_tab[1324]
#define __pyx_n_u_Row_getCols __pyx_string_tab[1325]
#define __pyx_n_u_Row_getConsOriginConshdlrtype __pyx_string_tab[1326]
#define __pyx_n_u_Row_getConstant __pyx_string_tab[1327]
#define __pyx_n_u_Row_getDualfarkas __pyx_string_tab[1328]
#define __pyx_n_u_Row_getDualsol __pyx_string_tab[1329]
#define __pyx_n_u_Row_getLPPos __pyx_string_tab[1330]
#define __pyx_n_u_Row_getLhs __pyx_string_tab[1331]
#define __pyx_n_u_Row_getNLPNonz __pyx_string_tab[1332]
#define __pyx_n_u_Row_getNNonz __pyx_string_tab[1333]
#define __pyx_n_u_Row_getNorm __pyx_string_tab[1334]
#define __pyx_n_u_Row_getOrigintype __pyx_string_tab[1335]
#define __pyx_n_u_Row_getRhs __pyx_string_tab[1336]
#define __pyx_n_u_Row_getVals __pyx_string_tab[1337]
#define __pyx_n_u_Row_isInGlobalCutpool __pyx_string_tab[1338]
#define __pyx_n_u_Row_isIntegral __pyx_string_tab[1339]
#define __pyx_n_u_Row_isLocal __pyx_string_tab[1340]
#define __pyx_n_u_Row_isModifiable __pyx_string_tab[1341]
#define __pyx_n_u_Row_isRemovable __pyx_string_tab[1342]
#define __pyx_n_u_SCALING __pyx_string_tab[1343]
#define __pyx_n_u_SCIP_BOUNDTYPE_TO_STRING __pyx_string_tab[1344]
#define __pyx_n_u_SCIPgetSolVal __pyx_string_tab[1345]
#define __pyx_n_u_SEPA __pyx_string_tab[1346]
#define __pyx_n_u_SEPARATED __pyx_string_tab[1347]
#define __pyx_n_u_SIBLING __pyx_string_tab[1348]
#define __pyx_n_u_SOLEVENT __pyx_string_tab[1349]
#define __pyx_n_u_SOLFOUND __pyx_string_tab[1350]
#define __pyx_n_u_SOLLIMIT __pyx_string_tab[1351]
#define __pyx_n_u_SOLVED __pyx_string_tab[1352]
#define __pyx_n_u_SOLVELP __pyx_string_tab[1353]
#define __pyx_n_u_SOLVING __pyx_string_tab[1354]
#define __pyx_n_u_STALLNODELIMIT __pyx_string_tab[1355]
#define __pyx_n_u_STRONG __pyx_string_tab[1356]
#define __pyx_n_u_SUBROOT __pyx_string_tab[1357]
#define __pyx_n_u_SUCCESS __pyx_string_tab[1358]
#define __pyx_n_u_SUSPENDED __pyx_string_tab[1359]
#define __pyx_n_u_SYNC __pyx_string_tab[1360]
#define __pyx_n_u_Sepa __pyx_string_tab[1361]
#define __pyx_n_u_Sepa___reduce_cython __pyx_string_tab[1362]
#define __pyx_n_u_Sepa___setstate_cython __pyx_string_tab[1363]
#define __pyx_n_u_Sepa_sepaexeclp __pyx_string_tab[1364]
#define __pyx_n_u_Sepa_sepaexecsol __pyx_string_tab[1365]
#define __pyx_n_u_Sepa_sepaexit __pyx_string_tab[1366]
#define __pyx_n_u_Sepa_sepaexitsol __pyx_string_tab[1367]
#define __pyx_n_u_Sepa_sepafree __pyx_string_tab[1368]
#define __pyx_n_u_Sepa_sepainit __pyx_string_tab[1369]
#define __pyx_n_u_Sepa_sepainitsol __pyx_string_tab[1370]
#define __pyx_n_u_Sequence __pyx_string_tab[1371]
#define __pyx_n_u_Solution __pyx_string_tab[1372]
#define __pyx_n_u_Solution___reduce_cython __pyx_string_tab[1373]
#define __pyx_n_u_Solution___setstate_cython __pyx_string_tab[1374]
#define __pyx_n_u_Solution__checkStage __pyx_string_tab[1375]
#define __pyx_n_u_Solution_getOrigin __pyx_string_tab[1376]
#define __pyx_n_u_Solution_retransform __pyx_string_tab[1377]
#define __pyx_n_u_Solution_translate __pyx_string_tab[1378]
#define __pyx_n_u_StageNames __pyx_string_tab[1379]
#define __pyx_n_u_Statistics __pyx_string_tab[1380]
#define __pyx_n_u_Statistics_n_binary_vars __pyx_string_tab[1381]
#define __pyx_n_u_Statistics_n_conss __pyx_string_tab[1382]
#define __pyx_n_u_Statistics_n_continuous_vars __pyx_string_tab[1383]
#define __pyx_n_u_Statistics_n_implicit_integer_va __pyx_string_tab[1384]
#define __pyx_n_u_Statistics_n_integer_vars __pyx_string_tab[1385]
#define __pyx_n_u_Statistics_n_maximal_cons __pyx_string_tab[1386]
#define __pyx_n_u_Statistics_n_presolved_binary_va __pyx_string_tab[1387]
#define __pyx_n_u_Statistics_n_presolved_conss __pyx_string_tab[1388]
#define __pyx_n_u_Statistics_n_presolved_continuou __pyx_string_tab[1389]
#define __pyx_n_u_Statistics_n_presolved_implicit __pyx_string_tab[1390]
#define __pyx_n_u_Statistics_n_presolved_integer_v __pyx_string_tab[1391]
#define __pyx_n_u_Statistics_n_presolved_maximal_c __pyx_string_tab[1392]
#define __pyx_n_u_Statistics_n_presolved_vars __pyx_string_tab[1393]
#define __pyx_n_u_Statistics_n_vars __pyx_string_tab[1394]
#define __pyx_n_u_SumExpr __pyx_string_tab[1395]
#define __pyx_n_u_SumExpr___reduce_cython __pyx_string_tab[1396]
#define __pyx_n_u_SumExpr___setstate_cython __pyx_string_tab[1397]
#define __pyx_n_u_SumExpr__evaluate __pyx_string_tab[1398]
#define __pyx_n_u_T __pyx_string_tab[1399]
#define __pyx_n_u_THREADS __pyx_string_tab[1400]
#define __pyx_n_u_TIMELIMIT __pyx_string_tab[1401]
#define __pyx_n_u_TIMING __pyx_string_tab[1402]
#define __pyx_n_u_TOTALNODELIMIT __pyx_string_tab[1403]
#define __pyx_n_u_TRANSFORMED __pyx_string_tab[1404]
#define __pyx_n_u_TRANSFORMING __pyx_string_tab[1405]
#define __pyx_n_u_TYPE_CHECKING __pyx_string_tab[1406]
#define __pyx_n_u_Term __pyx_string_tab[1407]
#define __pyx_n_u_Term___reduce_cython __pyx_string_tab[1408]
#define __pyx_n_u_Term___setstate_cython __pyx_string_tab[1409]
#define __pyx_n_u_Term__evaluate __pyx_string_tab[1410]
#define __pyx_n_u_Tuple __pyx_string_tab[1411]
#define __pyx_n_u_UBCHANGED __pyx_string_tab[1412]
#define __pyx_n_u_UBRELAXED __pyx_string_tab[1413]
#define __pyx_n_u_UBTIGHTENED __pyx_string_tab[1414]
#define __pyx_n_u_UNBOUNDED __pyx_string_tab[1415]
#define __pyx_n_u_UNBOUNDEDRAY __pyx_string_tab[1416]
#define __pyx_n_u_UNKNOWN __pyx_string_tab[1417]
#define __pyx_n_u_UNSPEC __pyx_string_tab[1418]
#define __pyx_n_u_UPWARDS __pyx_string_tab[1419]
#define __pyx_n_u_USERINTERRUPT __pyx_string_tab[1420]
#define __pyx_n_u_UnaryExpr __pyx_string_tab[1421]
#define __pyx_n_u_UnaryExpr___reduce_cython __pyx_string_tab[1422]
#define __pyx_n_u_UnaryExpr___setstate_cython __pyx_string_tab[1423]
#define __pyx_n_u_UnaryExpr__evaluate __pyx_string_tab[1424]
#define __pyx_n_u_Union __pyx_string_tab[1425]
#define __pyx_n_u_VARADDED __pyx_string_tab[1426]
#define __pyx_n_u_VARCHANGED __pyx_string_tab[1427]
#define __pyx_n_u_VARDELETED __pyx_string_tab[1428]
#define __pyx_n_u_VAREVENT __pyx_string_tab[1429]
#define __pyx_n_u_VARFIXED __pyx_string_tab[1430]
#define __pyx_n_u_VARUNLOCKED __pyx_string_tab[1431]
#define __pyx_n_u_VarArray __pyx_string_tab[1432]
#define __pyx_n_u_VarArray___reduce_cython __pyx_string_tab[1433]
#define __pyx_n_u_VarArray___setstate_cython __pyx_string_tab[1434]
#define __pyx_n_u_VarExpr __pyx_string_tab[1435]
#define __pyx_n_u_VarExpr___reduce_cython __pyx_string_tab[1436]
#define __pyx_n_u_VarExpr___setstate_cython __pyx_string_tab[1437]
#define __pyx_n_u_VarExpr__evaluate __pyx_string_tab[1438]
#define __pyx_n_u_Variable __pyx_string_tab[1439]
#define __pyx_n_u_Variable___reduce_cython __pyx_string_tab[1440]
#define __pyx_n_u_Variable___setstate_cython __pyx_string_tab[1441]
#define __pyx_n_u_Variable_getAvgSol __pyx_string_tab[1442]
#define __pyx_n_u_Variable_getCol __pyx_string_tab[1443]
#define __pyx_n_u_Variable_getImplType __pyx_string_tab[1444]
#define __pyx_n_u_Variable_getIndex __pyx_string_tab[1445]
#define __pyx_n_u_Variable_getLPSol __pyx_string_tab[1446]
#define __pyx_n_u_Variable_getLbGlobal __pyx_string_tab[1447]
#define __pyx_n_u_Variable_getLbLocal __pyx_string_tab[1448]
#define __pyx_n_u_Variable_getLbOriginal __pyx_string_tab[1449]
#define __pyx_n_u_Variable_getNBranchings __pyx_string_tab[1450]
#define __pyx_n_u_Variable_getNBranchingsCurrentRu __pyx_string_tab[1451]
#define __pyx_n_u_Variable_getNLocksDown __pyx_string_tab[1452]
#define __pyx_n_u_Variable_getNLocksDownType __pyx_string_tab[1453]
#define __pyx_n_u_Variable_getNLocksUp __pyx_string_tab[1454]
#define __pyx_n_u_Variable_getNLocksUpType __pyx_string_tab[1455]
#define __pyx_n_u_Variable_getObj __pyx_string_tab[1456]
#define __pyx_n_u_Variable_getStatus __pyx_string_tab[1457]
#define __pyx_n_u_Variable_getUbGlobal __pyx_string_tab[1458]
#define __pyx_n_u_Variable_getUbLocal __pyx_string_tab[1459]
#define __pyx_n_u_Variable_getUbOriginal __pyx_string_tab[1460]
#define __pyx_n_u_Variable_isActive __pyx_string_tab[1461]
#define __pyx_n_u_Variable_isBinary __pyx_string_tab[1462]
#define __pyx_n_u_Variable_isDeletable __pyx_string_tab[1463]
#define __pyx_n_u_Variable_isImpliedIntegral __pyx_string_tab[1464]
#define __pyx_n_u_Variable_isInLP __pyx_string_tab[1465]
#define __pyx_n_u_Variable_isIntegral __pyx_string_tab[1466]
#define __pyx_n_u_Variable_isNonImpliedIntegral __pyx_string_tab[1467]
#define __pyx_n_u_Variable_isOriginal __pyx_string_tab[1468]
#define __pyx_n_u_Variable_isRelaxationOnly __pyx_string_tab[1469]
#define __pyx_n_u_Variable_markRelaxationOnly __pyx_string_tab[1470]
#define __pyx_n_u_Variable_ptr __pyx_string_tab[1471]
#define __pyx_n_u_Variable_varMayRound __pyx_string_tab[1472]
#define __pyx_n_u_Variable_vtype __pyx_string_tab[1473]
#define __pyx_n_u_Variables __pyx_string_tab[1474]
#define __pyx_n_u_View_MemoryView __pyx_string_tab[1475]
#define __pyx_n_u_WEAK __pyx_string_tab[1476]
#define __pyx_n_u_ZERO __pyx_string_tab[1477]
#define __pyx_n_u__9 __pyx_string_tab[1478]
#define __pyx_n_u_a __pyx_string_tab[1479]
#define __pyx_n_u_a_is_1d __pyx_string_tab[1480]
#define __pyx_n_u_a_is_num __pyx_string_tab[1481]
#define __pyx_n_u_a_nd __pyx_string_tab[1482]
#define __pyx_n_u_a_view __pyx_string_tab[1483]
#define __pyx_n_u_abc __pyx_string_tab[1484]
#define __pyx_n_u_abs __pyx_string_tab[1485]
#define __pyx_n_u_absfile __pyx_string_tab[1486]
#define __pyx_n_u_abspath __pyx_string_tab[1487]
#define __pyx_n_u_activateBenders __pyx_string_tab[1488]
#define __pyx_n_u_active __pyx_string_tab[1489]
#define __pyx_n_u_activeone __pyx_string_tab[1490]
#define __pyx_n_u_activity __pyx_string_tab[1491]
#define __pyx_n_u_add __pyx_string_tab[1492]
#define __pyx_n_u_addBendersSubproblem __pyx_string_tab[1493]
#define __pyx_n_u_addCoefKnapsack __pyx_string_tab[1494]
#define __pyx_n_u_addCoefLinear __pyx_string_tab[1495]
#define __pyx_n_u_addCol __pyx_string_tab[1496]
#define __pyx_n_u_addCols __pyx_string_tab[1497]
#define __pyx_n_u_addCols_locals_genexpr __pyx_string_tab[1498]
#define __pyx_n_u_addCons __pyx_string_tab[1499]
#define __pyx_n_u_addConsAnd __pyx_string_tab[1500]
#define __pyx_n_u_addConsCardinality __pyx_string_tab[1501]
#define __pyx_n_u_addConsCoeff __pyx_string_tab[1502]
#define __pyx_n_u_addConsDisjunction __pyx_string_tab[1503]
#define __pyx_n_u_addConsDisjunction_locals_ensure __pyx_string_tab[1504]
#define __pyx_n_u_addConsElemDisjunction __pyx_string_tab[1505]
#define __pyx_n_u_addConsIndicator __pyx_string_tab[1506]
#define __pyx_n_u_addConsKnapsack __pyx_string_tab[1507]
#define __pyx_n_u_addConsLocal __pyx_string_tab[1508]
#define __pyx_n_u_addConsNode __pyx_string_tab[1509]
#define __pyx_n_u_addConsOr __pyx_string_tab[1510]
#define __pyx_n_u_addConsSOS1 __pyx_string_tab[1511]
#define __pyx_n_u_addConsSOS2 __pyx_string_tab[1512]
#define __pyx_n_u_addConsXor __pyx_string_tab[1513]
#define __pyx_n_u_addConss __pyx_string_tab[1514]
#define __pyx_n_u_addConss_locals_ensure_iterable __pyx_string_tab[1515]
#define __pyx_n_u_addCut __pyx_string_tab[1516]
#define __pyx_n_u_addExprNonlinear __pyx_string_tab[1517]
#define __pyx_n_u_addMatrixCons __pyx_string_tab[1518]
#define __pyx_n_u_addMatrixConsIndicator __pyx_string_tab[1519]
#define __pyx_n_u_addMatrixVar __pyx_string_tab[1520]
#define __pyx_n_u_addObjoffset __pyx_string_tab[1521]
#define __pyx_n_u_addPoolCut __pyx_string_tab[1522]
#define __pyx_n_u_addPyCons __pyx_string_tab[1523]
#define __pyx_n_u_addRow __pyx_string_tab[1524]
#define __pyx_n_u_addRowDive __pyx_string_tab[1525]
#define __pyx_n_u_addRowExact __pyx_string_tab[1526]
#define __pyx_n_u_addRows __pyx_string_tab[1527]
#define __pyx_n_u_addRows_locals_genexpr __pyx_string_tab[1528]
#define __pyx_n_u_addSol __pyx_string_tab[1529]
#define __pyx_n_u_addVar __pyx_string_tab[1530]
#define __pyx_n_u_addVarLocks __pyx_string_tab[1531]
#define __pyx_n_u_addVarLocksType __pyx_string_tab[1532]
#define __pyx_n_u_addVarSOS1 __pyx_string_tab[1533]
#define __pyx_n_u_addVarSOS2 __pyx_string_tab[1534]
#define __pyx_n_u_addVarToRow __pyx_string_tab[1535]
#define __pyx_n_u_add_2 __pyx_string_tab[1536]
#define __pyx_n_u_addedconss __pyx_string_tab[1537]
#define __pyx_n_u_addedconsssize __pyx_string_tab[1538]
#define __pyx_n_u_adjustedVarLb __pyx_string_tab[1539]
#define __pyx_n_u_adjustedVarUb __pyx_string_tab[1540]
#define __pyx_n_u_age __pyx_string_tab[1541]
#define __pyx_n_u_aggregateVars __pyx_string_tab[1542]
#define __pyx_n_u_aggregated __pyx_string_tab[1543]
#define __pyx_n_u_allColsInLP __pyx_string_tab[1544]
#define __pyx_n_u_allocate_buffer __pyx_string_tab[1545]
#define __pyx_n_u_allowNegSlackExact __pyx_string_tab[1546]
#define __pyx_n_u_allowaddcons __pyx_string_tab[1547]
#define __pyx_n_u_allowlocal __pyx_string_tab[1548]
#define __pyx_n_u_and_2 __pyx_string_tab[1549]
#define __pyx_n_u_and_cons __pyx_string_tab[1550]
#define __pyx_n_u_annotations __pyx_string_tab[1551]
#define __pyx_n_u_append __pyx_string_tab[1552]
#define __pyx_n_u_appendVarSOS1 __pyx_string_tab[1553]
#define __pyx_n_u_appendVarSOS2 __pyx_string_tab[1554]
#define __pyx_n_u_applyCutsProbing __pyx_string_tab[1555]
#define __pyx_n_u_apply_along_axis __pyx_string_tab[1556]
#define __pyx_n_u_arg __pyx_string_tab[1557]
#define __pyx_n_u_args __pyx_string_tab[1558]
#define __pyx_n_u_array __pyx_string_tab[1559]
#define __pyx_n_u_array_priority __pyx_string_tab[1560]
#define __pyx_n_u_array_ufunc __pyx_string_tab[1561]
#define __pyx_n_u_asarray __pyx_string_tab[1562]
#define __pyx_n_u_ascontiguousarray __pyx_string_tab[1563]
#define __pyx_n_u_asyncio_coroutines __pyx_string_tab[1564]
#define __pyx_n_u_attachEventHandlerCallback __pyx_string_tab[1565]
#define __pyx_n_u_attachEventHandlerCallback_local __pyx_string_tab[1566]
#define __pyx_n_u_attachEventHandlerCallback_local_2 __pyx_string_tab[1567]
#define __pyx_n_u_attachEventHandlerCallback_local_3 __pyx_string_tab[1568]
#define __pyx_n_u_attachEventHandlerCallback_local_4 __pyx_string_tab[1569]
#define __pyx_n_u_attachEventHandlerCallback_local_5 __pyx_string_tab[1570]
#define __pyx_n_u_attr __pyx_string_tab[1571]
#define __pyx_n_u_auxvar __pyx_string_tab[1572]
#define __pyx_n_u_auxviol __pyx_string_tab[1573]
#define __pyx_n_u_available_stats __pyx_string_tab[1574]
#define __pyx_n_u_avg_incumbent_val __pyx_string_tab[1575]
#define __pyx_n_u_avgsols __pyx_string_tab[1576]
#define __pyx_n_u_axis __pyx_string_tab[1577]
#define __pyx_n_u_b __pyx_string_tab[1578]
#define __pyx_n_u_b_is_1d __pyx_string_tab[1579]
#define __pyx_n_u_b_nd __pyx_string_tab[1580]
#define __pyx_n_u_backtrackProbing __pyx_string_tab[1581]
#define __pyx_n_u_base __pyx_string_tab[1582]
#define __pyx_n_u_basic __pyx_string_tab[1583]
#define __pyx_n_u_basis_basic __pyx_string_tab[1584]
#define __pyx_n_u_basis_lower __pyx_string_tab[1585]
#define __pyx_n_u_basis_status __pyx_string_tab[1586]
#define __pyx_n_u_basis_upper __pyx_string_tab[1587]
#define __pyx_n_u_basis_zero __pyx_string_tab[1588]
#define __pyx_n_u_bdtype __pyx_string_tab[1589]
#define __pyx_n_u_benders __pyx_string_tab[1590]
#define __pyx_n_u_benders_2 __pyx_string_tab[1591]
#define __pyx_n_u_benderscreatesub __pyx_string_tab[1592]
#define __pyx_n_u_benderscut __pyx_string_tab[1593]
#define __pyx_n_u_benderscutexec __pyx_string_tab[1594]
#define __pyx_n_u_benderscutexit __pyx_string_tab[1595]
#define __pyx_n_u_benderscutexitsol __pyx_string_tab[1596]
#define __pyx_n_u_benderscutfree __pyx_string_tab[1597]
#define __pyx_n_u_benderscutinit __pyx_string_tab[1598]
#define __pyx_n_u_benderscutinitsol __pyx_string_tab[1599]
#define __pyx_n_u_bendersexit __pyx_string_tab[1600]
#define __pyx_n_u_bendersexitpre __pyx_string_tab[1601]
#define __pyx_n_u_bendersexitsol __pyx_string_tab[1602]
#define __pyx_n_u_bendersfree __pyx_string_tab[1603]
#define __pyx_n_u_bendersfreesub __pyx_string_tab[1604]
#define __pyx_n_u_bendersgetvar __pyx_string_tab[1605]
#define __pyx_n_u_bendersinit __pyx_string_tab[1606]
#define __pyx_n_u_bendersinitpre __pyx_string_tab[1607]
#define __pyx_n_u_bendersinitsol __pyx_string_tab[1608]
#define __pyx_n_u_benderspostsolve __pyx_string_tab[1609]
#define __pyx_n_u_benderspresubsolve __pyx_string_tab[1610]
#define __pyx_n_u_benderssolvesub __pyx_string_tab[1611]
#define __pyx_n_u_benderssolvesubconvex __pyx_string_tab[1612]
#define __pyx_n_u_best_incumbent_val __pyx_string_tab[1613]
#define __pyx_n_u_bestsollimit __pyx_string_tab[1614]
#define __pyx_n_u_bias __pyx_string_tab[1615]
#define __pyx_n_u_bilincoef __pyx_string_tab[1616]
#define __pyx_n_u_bilinterm1 __pyx_string_tab[1617]
#define __pyx_n_u_bilinterm2 __pyx_string_tab[1618]
#define __pyx_n_u_bilinterms __pyx_string_tab[1619]
#define __pyx_n_u_binVar __pyx_string_tab[1620]
#define __pyx_n_u_binary __pyx_string_tab[1621]
#define __pyx_n_u_binds __pyx_string_tab[1622]
#define __pyx_n_u_binvar __pyx_string_tab[1623]
#define __pyx_n_u_binvars __pyx_string_tab[1624]
#define __pyx_n_u_bool __pyx_string_tab[1625]
#define __pyx_n_u_boundconstraint __pyx_string_tab[1626]
#define __pyx_n_u_bounded __pyx_string_tab[1627]
#define __pyx_n_u_boundtypes __pyx_string_tab[1628]
#define __pyx_n_u_branchLPExact __pyx_string_tab[1629]
#define __pyx_n_u_branchVar __pyx_string_tab[1630]
#define __pyx_n_u_branchVarVal __pyx_string_tab[1631]
#define __pyx_n_u_branchbounds __pyx_string_tab[1632]
#define __pyx_n_u_branchdir __pyx_string_tab[1633]
#define __pyx_n_u_branchexecext __pyx_string_tab[1634]
#define __pyx_n_u_branchexeclp __pyx_string_tab[1635]
#define __pyx_n_u_branchexecps __pyx_string_tab[1636]
#define __pyx_n_u_branchexit __pyx_string_tab[1637]
#define __pyx_n_u_branchexitsol __pyx_string_tab[1638]
#define __pyx_n_u_branchfree __pyx_string_tab[1639]
#define __pyx_n_u_branchinit __pyx_string_tab[1640]
#define __pyx_n_u_branchinitsol __pyx_string_tab[1641]
#define __pyx_n_u_branchrule __pyx_string_tab[1642]
#define __pyx_n_u_branchvars __pyx_string_tab[1643]
#define __pyx_n_u_buildGenExprObj __pyx_string_tab[1644]
#define __pyx_n_u_c __pyx_string_tab[1645]
#define __pyx_n_u_c_activity __pyx_string_tab[1646]
#define __pyx_n_u_c_beg __pyx_string_tab[1647]
#define __pyx_n_u_c_binds __pyx_string_tab[1648]
#define __pyx_n_u_c_coefs __pyx_string_tab[1649]
#define __pyx_n_u_c_col __pyx_string_tab[1650]
#define __pyx_n_u_c_contiguous __pyx_string_tab[1651]
#define __pyx_n_u_c_dualsol __pyx_string_tab[1652]
#define __pyx_n_u_c_inds __pyx_string_tab[1653]
#define __pyx_n_u_c_lb __pyx_string_tab[1654]
#define __pyx_n_u_c_lbs __pyx_string_tab[1655]
#define __pyx_n_u_c_lhs __pyx_string_tab[1656]
#define __pyx_n_u_c_lhss __pyx_string_tab[1657]
#define __pyx_n_u_c_obj __pyx_string_tab[1658]
#define __pyx_n_u_c_objs __pyx_string_tab[1659]
#define __pyx_n_u_c_path __pyx_string_tab[1660]
#define __pyx_n_u_c_primalsol __pyx_string_tab[1661]
#define __pyx_n_u_c_ray __pyx_string_tab[1662]
#define __pyx_n_u_c_redcost __pyx_string_tab[1663]
#define __pyx_n_u_c_rhs __pyx_string_tab[1664]
#define __pyx_n_u_c_rhss __pyx_string_tab[1665]
#define __pyx_n_u_c_row __pyx_string_tab[1666]
#define __pyx_n_u_c_ub __pyx_string_tab[1667]
#define __pyx_n_u_c_ubs __pyx_string_tab[1668]
#define __pyx_n_u_cacheRowExtensions __pyx_string_tab[1669]
#define __pyx_n_u_calcChildEstimate __pyx_string_tab[1670]
#define __pyx_n_u_calcNodeselPriority __pyx_string_tab[1671]
#define __pyx_n_u_call __pyx_string_tab[1672]
#define __pyx_n_u_callback __pyx_string_tab[1673]
#define __pyx_n_u_capacity __pyx_string_tab[1674]
#define __pyx_n_u_capsule __pyx_string_tab[1675]
#define __pyx_n_u_cardval __pyx_string_tab[1676]
#define __pyx_n_u_catchEvent __pyx_string_tab[1677]
#define __pyx_n_u_catchRowEvent __pyx_string_tab[1678]
#define __pyx_n_u_catchVarEvent __pyx_string_tab[1679]
#define __pyx_n_u_category __pyx_string_tab[1680]
#define __pyx_n_u_cfile __pyx_string_tab[1681]
#define __pyx_n_u_chckpriority __pyx_string_tab[1682]
#define __pyx_n_u_check __pyx_string_tab[1683]
#define __pyx_n_u_checkBendersSubproblemOptimality __pyx_string_tab[1684]
#define __pyx_n_u_checkQuadraticNonlinear __pyx_string_tab[1685]
#define __pyx_n_u_checkSol __pyx_string_tab[1686]
#define __pyx_n_u_checkStage __pyx_string_tab[1687]
#define __pyx_n_u_checkbounds __pyx_string_tab[1688]
#define __pyx_n_u_checked __pyx_string_tab[1689]
#define __pyx_n_u_checkint __pyx_string_tab[1690]
#define __pyx_n_u_checkintegrality __pyx_string_tab[1691]
#define __pyx_n_u_checklprows __pyx_string_tab[1692]
#define __pyx_n_u_checktype __pyx_string_tab[1693]
#define __pyx_n_u_chgBound __pyx_string_tab[1694]
#define __pyx_n_u_chgCapacityKnapsack __pyx_string_tab[1695]
#define __pyx_n_u_chgCoef __pyx_string_tab[1696]
#define __pyx_n_u_chgCoefLinear __pyx_string_tab[1697]
#define __pyx_n_u_chgLhs __pyx_string_tab[1698]
#define __pyx_n_u_chgObj __pyx_string_tab[1699]
#define __pyx_n_u_chgReoptObjective __pyx_string_tab[1700]
#define __pyx_n_u_chgRhs __pyx_string_tab[1701]
#define __pyx_n_u_chgRowLhsDive __pyx_string_tab[1702]
#define __pyx_n_u_chgRowRhsDive __pyx_string_tab[1703]
#define __pyx_n_u_chgSide __pyx_string_tab[1704]
#define __pyx_n_u_chgVarBranchPriority __pyx_string_tab[1705]
#define __pyx_n_u_chgVarLb __pyx_string_tab[1706]
#define __pyx_n_u_chgVarLbDive __pyx_string_tab[1707]
#define __pyx_n_u_chgVarLbGlobal __pyx_string_tab[1708]
#define __pyx_n_u_chgVarLbNode __pyx_string_tab[1709]
#define __pyx_n_u_chgVarLbProbing __pyx_string_tab[1710]
#define __pyx_n_u_chgVarObjDive __pyx_string_tab[1711]
#define __pyx_n_u_chgVarObjProbing __pyx_string_tab[1712]
#define __pyx_n_u_chgVarType __pyx_string_tab[1713]
#define __pyx_n_u_chgVarUb __pyx_string_tab[1714]
#define __pyx_n_u_chgVarUbDive __pyx_string_tab[1715]
#define __pyx_n_u_chgVarUbGlobal __pyx_string_tab[1716]
#define __pyx_n_u_chgVarUbNode __pyx_string_tab[1717]
#define __pyx_n_u_chgVarUbProbing __pyx_string_tab[1718]
#define __pyx_n_u_child __pyx_string_tab[1719]
#define __pyx_n_u_children __pyx_string_tab[1720]
#define __pyx_n_u_children_2 __pyx_string_tab[1721]
#define __pyx_n_u_childrenexpr __pyx_string_tab[1722]
#define __pyx_n_u_class __pyx_string_tab[1723]
#define __pyx_n_u_class_getitem __pyx_string_tab[1724]
#define __pyx_n_u_clear __pyx_string_tab[1725]
#define __pyx_n_u_cline_in_traceback __pyx_string_tab[1726]
#define __pyx_n_u_close __pyx_string_tab[1727]
#define __pyx_n_u_closefd __pyx_string_tab[1728]
#define __pyx_n_u_cname __pyx_string_tab[1729]
#define __pyx_n_u_coef __pyx_string_tab[1730]
#define __pyx_n_u_coeff __pyx_string_tab[1731]
#define __pyx_n_u_coeffs __pyx_string_tab[1732]
#define __pyx_n_u_coeffs_2 __pyx_string_tab[1733]
#define __pyx_n_u_coeffs_array __pyx_string_tab[1734]
#define __pyx_n_u_coefs __pyx_string_tab[1735]
#define __pyx_n_u_coefx __pyx_string_tab[1736]
#define __pyx_n_u_coefy __pyx_string_tab[1737]
#define __pyx_n_u_col __pyx_string_tab[1738]
#define __pyx_n_u_col_feature_map __pyx_string_tab[1739]
#define __pyx_n_u_col_features __pyx_string_tab[1740]
#define __pyx_n_u_col_i __pyx_string_tab[1741]
#define __pyx_n_u_col_idx __pyx_string_tab[1742]
#define __pyx_n_u_collections_abc __pyx_string_tab[1743]
#define __pyx_n_u_cols __pyx_string_tab[1744]
#define __pyx_n_u_columns __pyx_string_tab[1745]
#define __pyx_n_u_comments __pyx_string_tab[1746]
#define __pyx_n_u_completely __pyx_string_tab[1747]
#define __pyx_n_u_computeBestSolSubproblems __pyx_string_tab[1748]
#define __pyx_n_u_con_stats __pyx_string_tab[1749]
#define __pyx_n_u_con_type __pyx_string_tab[1750]
#define __pyx_n_u_confvar __pyx_string_tab[1751]
#define __pyx_n_u_cons __pyx_string_tab[1752]
#define __pyx_n_u_consactive __pyx_string_tab[1753]
#define __pyx_n_u_conscheck __pyx_string_tab[1754]
#define __pyx_n_u_conscopy __pyx_string_tab[1755]
#define __pyx_n_u_consdeactive __pyx_string_tab[1756]
#define __pyx_n_u_consdelete __pyx_string_tab[1757]
#define __pyx_n_u_consdelvars __pyx_string_tab[1758]
#define __pyx_n_u_consdisable __pyx_string_tab[1759]
#define __pyx_n_u_consenable __pyx_string_tab[1760]
#define __pyx_n_u_consenfolp __pyx_string_tab[1761]
#define __pyx_n_u_consenfops __pyx_string_tab[1762]
#define __pyx_n_u_consenforelax __pyx_string_tab[1763]
#define __pyx_n_u_consexit __pyx_string_tab[1764]
#define __pyx_n_u_consexitpre __pyx_string_tab[1765]
#define __pyx_n_u_consexitsol __pyx_string_tab[1766]
#define __pyx_n_u_consfree __pyx_string_tab[1767]
#define __pyx_n_u_consgetdivebdchgs __pyx_string_tab[1768]
#define __pyx_n_u_consgetnvars __pyx_string_tab[1769]
#define __pyx_n_u_consgetpermsymgraph __pyx_string_tab[1770]
#define __pyx_n_u_consgetsignedpermsymgraph __pyx_string_tab[1771]
#define __pyx_n_u_consgetvars __pyx_string_tab[1772]
#define __pyx_n_u_conshdlr __pyx_string_tab[1773]
#define __pyx_n_u_conshdrlname __pyx_string_tab[1774]
#define __pyx_n_u_consinit __pyx_string_tab[1775]
#define __pyx_n_u_consinitlp __pyx_string_tab[1776]
#define __pyx_n_u_consinitpre __pyx_string_tab[1777]
#define __pyx_n_u_consinitsol __pyx_string_tab[1778]
#define __pyx_n_u_conslock __pyx_string_tab[1779]
#define __pyx_n_u_consparse __pyx_string_tab[1780]
#define __pyx_n_u_conspresol __pyx_string_tab[1781]
#define __pyx_n_u_consprint __pyx_string_tab[1782]
#define __pyx_n_u_consprop __pyx_string_tab[1783]
#define __pyx_n_u_consresprop __pyx_string_tab[1784]
#define __pyx_n_u_conss __pyx_string_tab[1785]
#define __pyx_n_u_conssepalp __pyx_string_tab[1786]
#define __pyx_n_u_conssepasol __pyx_string_tab[1787]
#define __pyx_n_u_const __pyx_string_tab[1788]
#define __pyx_n_u_constant __pyx_string_tab[1789]
#define __pyx_n_u_constraint __pyx_string_tab[1790]
#define __pyx_n_u_constraints __pyx_string_tab[1791]
#define __pyx_n_u_constraints_2 __pyx_string_tab[1792]
#define __pyx_n_u_constrans __pyx_string_tab[1793]
#define __pyx_n_u_constructLP __pyx_string_tab[1794]
#define __pyx_n_u_constype __pyx_string_tab[1795]
#define __pyx_n_u_consvars __pyx_string_tab[1796]
#define __pyx_n_u_continuous __pyx_string_tab[1797]
#define __pyx_n_u_contvars __pyx_string_tab[1798]
#define __pyx_n_u_copy __pyx_string_tab[1799]
#define __pyx_n_u_copyLargeNeighborhoodSearch __pyx_string_tab[1800]
#define __pyx_n_u_copying __pyx_string_tab[1801]
#define __pyx_n_u_copying_time __pyx_string_tab[1802]
#define __pyx_n_u_core_dot __pyx_string_tab[1803]
#define __pyx_n_u_core_dot_2d __pyx_string_tab[1804]
#define __pyx_n_u_core_dot_2d_locals_genexpr __pyx_string_tab[1805]
#define __pyx_n_u_core_dot_nd __pyx_string_tab[1806]
#define __pyx_n_u_core_sum __pyx_string_tab[1807]
#define __pyx_n_u_core_sum_locals_genexpr __pyx_string_tab[1808]
#define __pyx_n_u_cos __pyx_string_tab[1809]
#define __pyx_n_u_count __pyx_string_tab[1810]
#define __pyx_n_u_createChild __pyx_string_tab[1811]
#define __pyx_n_u_createCons __pyx_string_tab[1812]
#define __pyx_n_u_createConsFromExpr __pyx_string_tab[1813]
#define __pyx_n_u_createConsGenNonlinear __pyx_string_tab[1814]
#define __pyx_n_u_createConsLinear __pyx_string_tab[1815]
#define __pyx_n_u_createConsNonlinear __pyx_string_tab[1816]
#define __pyx_n_u_createConsQuadratic __pyx_string_tab[1817]
#define __pyx_n_u_createEmptyRowSepa __pyx_string_tab[1818]
#define __pyx_n_u_createEmptyRowUnspec __pyx_string_tab[1819]
#define __pyx_n_u_createOrigSol __pyx_string_tab[1820]
#define __pyx_n_u_createPartialSol __pyx_string_tab[1821]
#define __pyx_n_u_createProbBasic __pyx_string_tab[1822]
#define __pyx_n_u_createSol __pyx_string_tab[1823]
#define __pyx_n_u_createscip __pyx_string_tab[1824]
#define __pyx_n_u_cst __pyx_string_tab[1825]
#define __pyx_n_u_current_best_sol __pyx_string_tab[1826]
#define __pyx_n_u_cut __pyx_string_tab[1827]
#define __pyx_n_u_cutlp __pyx_string_tab[1828]
#define __pyx_n_u_cutoff __pyx_string_tab[1829]
#define __pyx_n_u_cutoffNode __pyx_string_tab[1830]
#define __pyx_n_u_cutpseudo __pyx_string_tab[1831]
#define __pyx_n_u_cutrelax __pyx_string_tab[1832]
#define __pyx_n_u_cuts __pyx_string_tab[1833]
#define __pyx_n_u_cutsel __pyx_string_tab[1834]
#define __pyx_n_u_cutselexit __pyx_string_tab[1835]
#define __pyx_n_u_cutselexitsol __pyx_string_tab[1836]
#define __pyx_n_u_cutselfree __pyx_string_tab[1837]
#define __pyx_n_u_cutselinit __pyx_string_tab[1838]
#define __pyx_n_u_cutselinitsol __pyx_string_tab[1839]
#define __pyx_n_u_cutselselect __pyx_string_tab[1840]
#define __pyx_n_u_d __pyx_string_tab[1841]
#define __pyx_n_u_data __pyx_string_tab[1842]
#define __pyx_n_u_dataclass __pyx_string_tab[1843]
#define __pyx_n_u_dataclasses __pyx_string_tab[1844]
#define __pyx_n_u_deactivatePricer __pyx_string_tab[1845]
#define __pyx_n_u_defaultPlugins __pyx_string_tab[1846]
#define __pyx_n_u_deg __pyx_string_tab[1847]
#define __pyx_n_u_degree __pyx_string_tab[1848]
#define __pyx_n_u_degree_locals_genexpr __pyx_string_tab[1849]
#define __pyx_n_u_delCoefLinear __pyx_string_tab[1850]
#define __pyx_n_u_delCols __pyx_string_tab[1851]
#define __pyx_n_u_delCons __pyx_string_tab[1852]
#define __pyx_n_u_delConsLocal __pyx_string_tab[1853]
#define __pyx_n_u_delRows __pyx_string_tab[1854]
#define __pyx_n_u_delVar __pyx_string_tab[1855]
#define __pyx_n_u_delay __pyx_string_tab[1856]
#define __pyx_n_u_delayed __pyx_string_tab[1857]
#define __pyx_n_u_delayprop __pyx_string_tab[1858]
#define __pyx_n_u_delaysepa __pyx_string_tab[1859]
#define __pyx_n_u_deletable __pyx_string_tab[1860]
#define __pyx_n_u_delete __pyx_string_tab[1861]
#define __pyx_n_u_deleted __pyx_string_tab[1862]
#define __pyx_n_u_des __pyx_string_tab[1863]
#define __pyx_n_u_desc __pyx_string_tab[1864]
#define __pyx_n_u_description __pyx_string_tab[1865]
#define __pyx_n_u_dict __pyx_string_tab[1866]
#define __pyx_n_u_dict_2 __pyx_string_tab[1867]
#define __pyx_n_u_dict_3 __pyx_string_tab[1868]
#define __pyx_n_u_direction __pyx_string_tab[1869]
#define __pyx_n_u_dis __pyx_string_tab[1870]
#define __pyx_n_u_disableDebugSol __pyx_string_tab[1871]
#define __pyx_n_u_disablePropagation __pyx_string_tab[1872]
#define __pyx_n_u_disj_cons __pyx_string_tab[1873]
#define __pyx_n_u_dispchar __pyx_string_tab[1874]
#define __pyx_n_u_div __pyx_string_tab[1875]
#define __pyx_n_u_doc __pyx_string_tab[1876]
#define __pyx_n_u_domchg __pyx_string_tab[1877]
#define __pyx_n_u_dot __pyx_string_tab[1878]
#define __pyx_n_u_double __pyx_string_tab[1879]
#define __pyx_n_u_down __pyx_string_tab[1880]
#define __pyx_n_u_downchild __pyx_string_tab[1881]
#define __pyx_n_u_downconflict __pyx_string_tab[1882]
#define __pyx_n_u_downinf __pyx_string_tab[1883]
#define __pyx_n_u_downvalid __pyx_string_tab[1884]
#define __pyx_n_u_dropEvent __pyx_string_tab[1885]
#define __pyx_n_u_dropRowEvent __pyx_string_tab[1886]
#define __pyx_n_u_dropVarEvent __pyx_string_tab[1887]
#define __pyx_n_u_dtype __pyx_string_tab[1888]
#define __pyx_n_u_dtype_is_object __pyx_string_tab[1889]
#define __pyx_n_u_dual __pyx_string_tab[1890]
#define __pyx_n_u_dual_bound __pyx_string_tab[1891]
#define __pyx_n_u_dual_sol __pyx_string_tab[1892]
#define __pyx_n_u_duallimit __pyx_string_tab[1893]
#define __pyx_n_u_dualsol __pyx_string_tab[1894]
#define __pyx_n_u_dualsol_2 __pyx_string_tab[1895]
#define __pyx_n_u_dummy_boundtypes __pyx_string_tab[1896]
#define __pyx_n_u_dummy_branchbounds __pyx_string_tab[1897]
#define __pyx_n_u_dummy_branchvars __pyx_string_tab[1898]
#define __pyx_n_u_dynamic __pyx_string_tab[1899]
#define __pyx_n_u_e __pyx_string_tab[1900]
#define __pyx_n_u_eagerfreq __pyx_string_tab[1901]
#define __pyx_n_u_edge __pyx_string_tab[1902]
#define __pyx_n_u_edge_feature_map __pyx_string_tab[1903]
#define __pyx_n_u_edge_features __pyx_string_tab[1904]
#define __pyx_n_u_elem __pyx_string_tab[1905]
#define __pyx_n_u_empty __pyx_string_tab[1906]
#define __pyx_n_u_enable __pyx_string_tab[1907]
#define __pyx_n_u_enableDebugSol __pyx_string_tab[1908]
#define __pyx_n_u_enableExactSolving __pyx_string_tab[1909]
#define __pyx_n_u_enableReoptimization __pyx_string_tab[1910]
#define __pyx_n_u_enablepricing __pyx_string_tab[1911]
#define __pyx_n_u_encode __pyx_string_tab[1912]
#define __pyx_n_u_endDive __pyx_string_tab[1913]
#define __pyx_n_u_endProbing __pyx_string_tab[1914]
#define __pyx_n_u_endStrongbranch __pyx_string_tab[1915]
#define __pyx_n_u_enfopriority __pyx_string_tab[1916]
#define __pyx_n_u_enforce __pyx_string_tab[1917]
#define __pyx_n_u_enforced __pyx_string_tab[1918]
#define __pyx_n_u_enfotype __pyx_string_tab[1919]
#define __pyx_n_u_ensure_iterable __pyx_string_tab[1920]
#define __pyx_n_u_enter __pyx_string_tab[1921]
#define __pyx_n_u_entries __pyx_string_tab[1922]
#define __pyx_n_u_entrieslist __pyx_string_tab[1923]
#define __pyx_n_u_entry __pyx_string_tab[1924]
#define __pyx_n_u_enumerate __pyx_string_tab[1925]
#define __pyx_n_u_epsilon __pyx_string_tab[1926]
#define __pyx_n_u_eq __pyx_string_tab[1927]
#define __pyx_n_u_eq_2 __pyx_string_tab[1928]
#define __pyx_n_u_eqchild __pyx_string_tab[1929]
#define __pyx_n_u_equal __pyx_string_tab[1930]
#define __pyx_n_u_error __pyx_string_tab[1931]
#define __pyx_n_u_estimate __pyx_string_tab[1932]
#define __pyx_n_u_evaluate __pyx_string_tab[1933]
#define __pyx_n_u_event __pyx_string_tab[1934]
#define __pyx_n_u_event_handler __pyx_string_tab[1935]
#define __pyx_n_u_eventcopy __pyx_string_tab[1936]
#define __pyx_n_u_eventdelete __pyx_string_tab[1937]
#define __pyx_n_u_eventexec __pyx_string_tab[1938]
#define __pyx_n_u_eventexit __pyx_string_tab[1939]
#define __pyx_n_u_eventexitsol __pyx_string_tab[1940]
#define __pyx_n_u_eventfree __pyx_string_tab[1941]
#define __pyx_n_u_eventhandler __pyx_string_tab[1942]
#define __pyx_n_u_eventhandler_2 __pyx_string_tab[1943]
#define __pyx_n_u_eventhdlr __pyx_string_tab[1944]
#define __pyx_n_u_eventhdlr_2 __pyx_string_tab[1945]
#define __pyx_n_u_eventinit __pyx_string_tab[1946]
#define __pyx_n_u_eventinitsol __pyx_string_tab[1947]
#define __pyx_n_u_events __pyx_string_tab[1948]
#define __pyx_n_u_eventtype __pyx_string_tab[1949]
#define __pyx_n_u_exact __pyx_string_tab[1950]
#define __pyx_n_u_exit __pyx_string_tab[1951]
#define __pyx_n_u_exp __pyx_string_tab[1952]
#define __pyx_n_u_expo __pyx_string_tab[1953]
#define __pyx_n_u_exponent __pyx_string_tab[1954]
#define __pyx_n_u_expr __pyx_string_tab[1955]
#define __pyx_n_u_expr_richcmp __pyx_string_tab[1956]
#define __pyx_n_u_expr_to_array __pyx_string_tab[1957]
#define __pyx_n_u_expr_to_nodes __pyx_string_tab[1958]
#define __pyx_n_u_ext __pyx_string_tab[1959]
#define __pyx_n_u_extend __pyx_string_tab[1960]
#define __pyx_n_u_extension __pyx_string_tab[1961]
#define __pyx_n_u_f __pyx_string_tab[1962]
#define __pyx_n_u_fabs __pyx_string_tab[1963]
#define __pyx_n_u_fdopen __pyx_string_tab[1964]
#define __pyx_n_u_feasCeil __pyx_string_tab[1965]
#define __pyx_n_u_feasFloor __pyx_string_tab[1966]
#define __pyx_n_u_feasFrac __pyx_string_tab[1967]
#define __pyx_n_u_feasRound __pyx_string_tab[1968]
#define __pyx_n_u_feasibility __pyx_string_tab[1969]
#define __pyx_n_u_feasible __pyx_string_tab[1970]
#define __pyx_n_u_feastol __pyx_string_tab[1971]
#define __pyx_n_u_file __pyx_string_tab[1972]
#define __pyx_n_u_filename __pyx_string_tab[1973]
#define __pyx_n_u_fileno __pyx_string_tab[1974]
#define __pyx_n_u_first_solution __pyx_string_tab[1975]
#define __pyx_n_u_firstcol __pyx_string_tab[1976]
#define __pyx_n_u_firstrow __pyx_string_tab[1977]
#define __pyx_n_u_fiub __pyx_string_tab[1978]
#define __pyx_n_u_fixVar __pyx_string_tab[1979]
#define __pyx_n_u_fixVarProbing __pyx_string_tab[1980]
#define __pyx_n_u_fix_vals __pyx_string_tab[1981]
#define __pyx_n_u_fixed __pyx_string_tab[1982]
#define __pyx_n_u_fixedval __pyx_string_tab[1983]
#define __pyx_n_u_fixedvars __pyx_string_tab[1984]
#define __pyx_n_u_flags __pyx_string_tab[1985]
#define __pyx_n_u_flat __pyx_string_tab[1986]
#define __pyx_n_u_flatnonzero __pyx_string_tab[1987]
#define __pyx_n_u_flatten __pyx_string_tab[1988]
#define __pyx_n_u_float __pyx_string_tab[1989]
#define __pyx_n_u_float64 __pyx_string_tab[1990]
#define __pyx_n_u_flushRowExtensions __pyx_string_tab[1991]
#define __pyx_n_u_fn __pyx_string_tab[1992]
#define __pyx_n_u_force __pyx_string_tab[1993]
#define __pyx_n_u_forcecut __pyx_string_tab[1994]
#define __pyx_n_u_forcedcuts __pyx_string_tab[1995]
#define __pyx_n_u_format __pyx_string_tab[1996]
#define __pyx_n_u_fortran __pyx_string_tab[1997]
#define __pyx_n_u_frac __pyx_string_tab[1998]
#define __pyx_n_u_free __pyx_string_tab[1999]
#define __pyx_n_u_freeBendersSubproblems __pyx_string_tab[2000]
#define __pyx_n_u_freeProb __pyx_string_tab[2001]
#define __pyx_n_u_freeReoptSolve __pyx_string_tab[2002]
#define __pyx_n_u_freeSol __pyx_string_tab[2003]
#define __pyx_n_u_freeTransform __pyx_string_tab[2004]
#define __pyx_n_u_freescip __pyx_string_tab[2005]
#define __pyx_n_u_freq __pyx_string_tab[2006]
#define __pyx_n_u_freqofs __pyx_string_tab[2007]
#define __pyx_n_u_from_ptr __pyx_string_tab[2008]
#define __pyx_n_u_frompyfunc __pyx_string_tab[2009]
#define __pyx_n_u_full __pyx_string_tab[2010]
#define __pyx_n_u_func __pyx_string_tab[2011]
#define __pyx_n_u_gains __pyx_string_tab[2012]
#define __pyx_n_u_gains_2 __pyx_string_tab[2013]
#define __pyx_n_u_gap __pyx_string_tab[2014]
#define __pyx_n_u_gaplimit __pyx_string_tab[2015]
#define __pyx_n_u_ge __pyx_string_tab[2016]
#define __pyx_n_u_generateIIS __pyx_string_tab[2017]
#define __pyx_n_u_genericnames __pyx_string_tab[2018]
#define __pyx_n_u_genexpr __pyx_string_tab[2019]
#define __pyx_n_u_get __pyx_string_tab[2020]
#define __pyx_n_u_getActivity __pyx_string_tab[2021]
#define __pyx_n_u_getAddedConss __pyx_string_tab[2022]
#define __pyx_n_u_getAge __pyx_string_tab[2023]
#define __pyx_n_u_getAvgSol __pyx_string_tab[2024]
#define __pyx_n_u_getBasisInds __pyx_string_tab[2025]
#define __pyx_n_u_getBasisStatus __pyx_string_tab[2026]
#define __pyx_n_u_getBendersAuxiliaryVar __pyx_string_tab[2027]
#define __pyx_n_u_getBendersSubproblem __pyx_string_tab[2028]
#define __pyx_n_u_getBendersVar __pyx_string_tab[2029]
#define __pyx_n_u_getBestChild __pyx_string_tab[2030]
#define __pyx_n_u_getBestLeaf __pyx_string_tab[2031]
#define __pyx_n_u_getBestNode __pyx_string_tab[2032]
#define __pyx_n_u_getBestSibling __pyx_string_tab[2033]
#define __pyx_n_u_getBestSol __pyx_string_tab[2034]
#define __pyx_n_u_getBestboundNode __pyx_string_tab[2035]
#define __pyx_n_u_getBipartiteGraphRepresentation __pyx_string_tab[2036]
#define __pyx_n_u_getBoundchgs __pyx_string_tab[2037]
#define __pyx_n_u_getBoundchgtype __pyx_string_tab[2038]
#define __pyx_n_u_getBounds __pyx_string_tab[2039]
#define __pyx_n_u_getBoundtype __pyx_string_tab[2040]
#define __pyx_n_u_getBranchScoreMultiple __pyx_string_tab[2041]
#define __pyx_n_u_getCapacityKnapsack __pyx_string_tab[2042]
#define __pyx_n_u_getChildren __pyx_string_tab[2043]
#define __pyx_n_u_getCol __pyx_string_tab[2044]
#define __pyx_n_u_getColRedCost __pyx_string_tab[2045]
#define __pyx_n_u_getCols __pyx_string_tab[2046]
#define __pyx_n_u_getCondition __pyx_string_tab[2047]
#define __pyx_n_u_getConsNVars __pyx_string_tab[2048]
#define __pyx_n_u_getConsOriginConshdlrtype __pyx_string_tab[2049]
#define __pyx_n_u_getConsVals __pyx_string_tab[2050]
#define __pyx_n_u_getConsVars __pyx_string_tab[2051]
#define __pyx_n_u_getConshdlrName __pyx_string_tab[2052]
#define __pyx_n_u_getConss __pyx_string_tab[2053]
#define __pyx_n_u_getConstant __pyx_string_tab[2054]
#define __pyx_n_u_getCurrentNode __pyx_string_tab[2055]
#define __pyx_n_u_getCutEfficacy __pyx_string_tab[2056]
#define __pyx_n_u_getCutLPSolCutoffDistance __pyx_string_tab[2057]
#define __pyx_n_u_getCutoffbound __pyx_string_tab[2058]
#define __pyx_n_u_getDepth __pyx_string_tab[2059]
#define __pyx_n_u_getDomchg __pyx_string_tab[2060]
#define __pyx_n_u_getDual __pyx_string_tab[2061]
#define __pyx_n_u_getDualMultiplier __pyx_string_tab[2062]
#define __pyx_n_u_getDualRay __pyx_string_tab[2063]
#define __pyx_n_u_getDualSolVal __pyx_string_tab[2064]
#define __pyx_n_u_getDualbound __pyx_string_tab[2065]
#define __pyx_n_u_getDualboundRoot __pyx_string_tab[2066]
#define __pyx_n_u_getDualfarkas __pyx_string_tab[2067]
#define __pyx_n_u_getDualfarkasKnapsack __pyx_string_tab[2068]
#define __pyx_n_u_getDualfarkasLinear __pyx_string_tab[2069]
#define __pyx_n_u_getDualsol __pyx_string_tab[2070]
#define __pyx_n_u_getDualsolKnapsack __pyx_string_tab[2071]
#define __pyx_n_u_getDualsolLinear __pyx_string_tab[2072]
#define __pyx_n_u_getEstimate __pyx_string_tab[2073]
#define __pyx_n_u_getEventNames __pyx_string_tab[2074]
#define __pyx_n_u_getGap __pyx_string_tab[2075]
#define __pyx_n_u_getHeurTiming __pyx_string_tab[2076]
#define __pyx_n_u_getIIS __pyx_string_tab[2077]
#define __pyx_n_u_getImplType __pyx_string_tab[2078]
#define __pyx_n_u_getIndex __pyx_string_tab[2079]
#define __pyx_n_u_getIntParam __pyx_string_tab[2080]
#define __pyx_n_u_getLPBInvARow __pyx_string_tab[2081]
#define __pyx_n_u_getLPBInvRow __pyx_string_tab[2082]
#define __pyx_n_u_getLPBasisInd __pyx_string_tab[2083]
#define __pyx_n_u_getLPBranchCands __pyx_string_tab[2084]
#define __pyx_n_u_getLPColsData __pyx_string_tab[2085]
#define __pyx_n_u_getLPObjVal __pyx_string_tab[2086]
#define __pyx_n_u_getLPPos __pyx_string_tab[2087]
#define __pyx_n_u_getLPRowsData __pyx_string_tab[2088]
#define __pyx_n_u_getLPSol __pyx_string_tab[2089]
#define __pyx_n_u_getLPSolstat __pyx_string_tab[2090]
#define __pyx_n_u_getLb __pyx_string_tab[2091]
#define __pyx_n_u_getLbGlobal __pyx_string_tab[2092]
#define __pyx_n_u_getLbLocal __pyx_string_tab[2093]
#define __pyx_n_u_getLbOriginal __pyx_string_tab[2094]
#define __pyx_n_u_getLeaves __pyx_string_tab[2095]
#define __pyx_n_u_getLhs __pyx_string_tab[2096]
#define __pyx_n_u_getLinearConsIndicator __pyx_string_tab[2097]
#define __pyx_n_u_getLinearTerms __pyx_string_tab[2098]
#define __pyx_n_u_getLocalEstimate __pyx_string_tab[2099]
#define __pyx_n_u_getLowerbound __pyx_string_tab[2100]
#define __pyx_n_u_getMajorVersion __pyx_string_tab[2101]
#define __pyx_n_u_getMaxDepth __pyx_string_tab[2102]
#define __pyx_n_u_getMinorVersion __pyx_string_tab[2103]
#define __pyx_n_u_getNAddedConss __pyx_string_tab[2104]
#define __pyx_n_u_getNBestSolsFound __pyx_string_tab[2105]
#define __pyx_n_u_getNBinVars __pyx_string_tab[2106]
#define __pyx_n_u_getNBranchings __pyx_string_tab[2107]
#define __pyx_n_u_getNBranchingsCurrentRun __pyx_string_tab[2108]
#define __pyx_n_u_getNChildren __pyx_string_tab[2109]
#define __pyx_n_u_getNConss __pyx_string_tab[2110]
#define __pyx_n_u_getNContVars __pyx_string_tab[2111]
#define __pyx_n_u_getNCountedSols __pyx_string_tab[2112]
#define __pyx_n_u_getNCuts __pyx_string_tab[2113]
#define __pyx_n_u_getNCutsApplied __pyx_string_tab[2114]
#define __pyx_n_u_getNDomchg __pyx_string_tab[2115]
#define __pyx_n_u_getNFeasibleLeaves __pyx_string_tab[2116]
#define __pyx_n_u_getNImplVars __pyx_string_tab[2117]
#define __pyx_n_u_getNInfeasibleLeaves __pyx_string_tab[2118]
#define __pyx_n_u_getNIntVars __pyx_string_tab[2119]
#define __pyx_n_u_getNIterations __pyx_string_tab[2120]
#define __pyx_n_u_getNLPBranchCands __pyx_string_tab[2121]
#define __pyx_n_u_getNLPCols __pyx_string_tab[2122]
#define __pyx_n_u_getNLPIterations __pyx_string_tab[2123]
#define __pyx_n_u_getNLPNonz __pyx_string_tab[2124]
#define __pyx_n_u_getNLPRows __pyx_string_tab[2125]
#define __pyx_n_u_getNLPs __pyx_string_tab[2126]
#define __pyx_n_u_getNLeaves __pyx_string_tab[2127]
#define __pyx_n_u_getNLimSolsFound __pyx_string_tab[2128]
#define __pyx_n_u_getNLocksDown __pyx_string_tab[2129]
#define __pyx_n_u_getNLocksDownType __pyx_string_tab[2130]
#define __pyx_n_u_getNLocksUp __pyx_string_tab[2131]
#define __pyx_n_u_getNLocksUpType __pyx_string_tab[2132]
#define __pyx_n_u_getNNlRows __pyx_string_tab[2133]
#define __pyx_n_u_getNNodeLPIterations __pyx_string_tab[2134]
#define __pyx_n_u_getNNodes __pyx_string_tab[2135]
#define __pyx_n_u_getNNonz __pyx_string_tab[2136]
#define __pyx_n_u_getNParentBranchings __pyx_string_tab[2137]
#define __pyx_n_u_getNReaders __pyx_string_tab[2138]
#define __pyx_n_u_getNSepaRounds __pyx_string_tab[2139]
#define __pyx_n_u_getNSiblings __pyx_string_tab[2140]
#define __pyx_n_u_getNSols __pyx_string_tab[2141]
#define __pyx_n_u_getNSolsFound __pyx_string_tab[2142]
#define __pyx_n_u_getNStrongbranchLPIterations __pyx_string_tab[2143]
#define __pyx_n_u_getNTotalNodes __pyx_string_tab[2144]
#define __pyx_n_u_getNVars __pyx_string_tab[2145]
#define __pyx_n_u_getNVarsAnd __pyx_string_tab[2146]
#define __pyx_n_u_getName __pyx_string_tab[2147]
#define __pyx_n_u_getNewBound __pyx_string_tab[2148]
#define __pyx_n_u_getNlRowActivityBounds __pyx_string_tab[2149]
#define __pyx_n_u_getNlRowSolActivity __pyx_string_tab[2150]
#define __pyx_n_u_getNlRowSolFeasibility __pyx_string_tab[2151]
#define __pyx_n_u_getNlRows __pyx_string_tab[2152]
#define __pyx_n_u_getNode __pyx_string_tab[2153]
#define __pyx_n_u_getNorm __pyx_string_tab[2154]
#define __pyx_n_u_getNumber __pyx_string_tab[2155]
#define __pyx_n_u_getObj __pyx_string_tab[2156]
#define __pyx_n_u_getObjCoeff __pyx_string_tab[2157]
#define __pyx_n_u_getObjVal __pyx_string_tab[2158]
#define __pyx_n_u_getObjective __pyx_string_tab[2159]
#define __pyx_n_u_getObjectiveSense __pyx_string_tab[2160]
#define __pyx_n_u_getObjlimit __pyx_string_tab[2161]
#define __pyx_n_u_getObjoffset __pyx_string_tab[2162]
#define __pyx_n_u_getOldBound __pyx_string_tab[2163]
#define __pyx_n_u_getOp __pyx_string_tab[2164]
#define __pyx_n_u_getOpenNodes __pyx_string_tab[2165]
#define __pyx_n_u_getOrigin __pyx_string_tab[2166]
#define __pyx_n_u_getOrigintype __pyx_string_tab[2167]
#define __pyx_n_u_getParam __pyx_string_tab[2168]
#define __pyx_n_u_getParams __pyx_string_tab[2169]
#define __pyx_n_u_getParent __pyx_string_tab[2170]
#define __pyx_n_u_getParentBranchings __pyx_string_tab[2171]
#define __pyx_n_u_getPlungeDepth __pyx_string_tab[2172]
#define __pyx_n_u_getPresolvingTime __pyx_string_tab[2173]
#define __pyx_n_u_getPrimal __pyx_string_tab[2174]
#define __pyx_n_u_getPrimalDualIntegral __pyx_string_tab[2175]
#define __pyx_n_u_getPrimalRay __pyx_string_tab[2176]
#define __pyx_n_u_getPrimalRayVal __pyx_string_tab[2177]
#define __pyx_n_u_getPrimalbound __pyx_string_tab[2178]
#define __pyx_n_u_getPrimsol __pyx_string_tab[2179]
#define __pyx_n_u_getPrioChild __pyx_string_tab[2180]
#define __pyx_n_u_getPrioSibling __pyx_string_tab[2181]
#define __pyx_n_u_getProbName __pyx_string_tab[2182]
#define __pyx_n_u_getProbingDepth __pyx_string_tab[2183]
#define __pyx_n_u_getPseudoBranchCands __pyx_string_tab[2184]
#define __pyx_n_u_getReadingTime __pyx_string_tab[2185]
#define __pyx_n_u_getRealParam __pyx_string_tab[2186]
#define __pyx_n_u_getRedcost __pyx_string_tab[2187]
#define __pyx_n_u_getResultantAnd __pyx_string_tab[2188]
#define __pyx_n_u_getRhs __pyx_string_tab[2189]
#define __pyx_n_u_getRow __pyx_string_tab[2190]
#define __pyx_n_u_getRowActivity __pyx_string_tab[2191]
#define __pyx_n_u_getRowDualSol __pyx_string_tab[2192]
#define __pyx_n_u_getRowLPActivity __pyx_string_tab[2193]
#define __pyx_n_u_getRowLinear __pyx_string_tab[2194]
#define __pyx_n_u_getRowNumIntCols __pyx_string_tab[2195]
#define __pyx_n_u_getRowObjParallelism __pyx_string_tab[2196]
#define __pyx_n_u_getRowParallelism __pyx_string_tab[2197]
#define __pyx_n_u_getSiblings __pyx_string_tab[2198]
#define __pyx_n_u_getSides __pyx_string_tab[2199]
#define __pyx_n_u_getSlack __pyx_string_tab[2200]
#define __pyx_n_u_getSlackVarIndicator __pyx_string_tab[2201]
#define __pyx_n_u_getSolObjVal __pyx_string_tab[2202]
#define __pyx_n_u_getSolTime __pyx_string_tab[2203]
#define __pyx_n_u_getSolVal __pyx_string_tab[2204]
#define __pyx_n_u_getSols __pyx_string_tab[2205]
#define __pyx_n_u_getSolvingTime __pyx_string_tab[2206]
#define __pyx_n_u_getStage __pyx_string_tab[2207]
#define __pyx_n_u_getStageName __pyx_string_tab[2208]
#define __pyx_n_u_getStageNames __pyx_string_tab[2209]
#define __pyx_n_u_getStatus __pyx_string_tab[2210]
#define __pyx_n_u_getSubscip __pyx_string_tab[2211]
#define __pyx_n_u_getTechVersion __pyx_string_tab[2212]
#define __pyx_n_u_getTermsQuadratic __pyx_string_tab[2213]
#define __pyx_n_u_getTime __pyx_string_tab[2214]
#define __pyx_n_u_getTotalTime __pyx_string_tab[2215]
#define __pyx_n_u_getTransformedCons __pyx_string_tab[2216]
#define __pyx_n_u_getTransformedVar __pyx_string_tab[2217]
#define __pyx_n_u_getTreesizeEstimation __pyx_string_tab[2218]
#define __pyx_n_u_getType __pyx_string_tab[2219]
#define __pyx_n_u_getUb __pyx_string_tab[2220]
#define __pyx_n_u_getUbGlobal __pyx_string_tab[2221]
#define __pyx_n_u_getUbLocal __pyx_string_tab[2222]
#define __pyx_n_u_getUbOriginal __pyx_string_tab[2223]
#define __pyx_n_u_getVal __pyx_string_tab[2224]
#define __pyx_n_u_getVals __pyx_string_tab[2225]
#define __pyx_n_u_getValsLinear __pyx_string_tab[2226]
#define __pyx_n_u_getVar __pyx_string_tab[2227]
#define __pyx_n_u_getVarDict __pyx_string_tab[2228]
#define __pyx_n_u_getVarLbDive __pyx_string_tab[2229]
#define __pyx_n_u_getVarPseudocost __pyx_string_tab[2230]
#define __pyx_n_u_getVarPseudocostScore __pyx_string_tab[2231]
#define __pyx_n_u_getVarRedcost __pyx_string_tab[2232]
#define __pyx_n_u_getVarStrongbranch __pyx_string_tab[2233]
#define __pyx_n_u_getVarStrongbranchLast __pyx_string_tab[2234]
#define __pyx_n_u_getVarStrongbranchNode __pyx_string_tab[2235]
#define __pyx_n_u_getVarUbDive __pyx_string_tab[2236]
#define __pyx_n_u_getVars __pyx_string_tab[2237]
#define __pyx_n_u_getVarsAnd __pyx_string_tab[2238]
#define __pyx_n_u_getWeightsKnapsack __pyx_string_tab[2239]
#define __pyx_n_u_getlocale __pyx_string_tab[2240]
#define __pyx_n_u_getstate __pyx_string_tab[2241]
#define __pyx_n_u_give_ownership __pyx_string_tab[2242]
#define __pyx_n_u_globalcopy __pyx_string_tab[2243]
#define __pyx_n_u_greater __pyx_string_tab[2244]
#define __pyx_n_u_greater_equal __pyx_string_tab[2245]
#define __pyx_n_u_greedyMakeIrreducible __pyx_string_tab[2246]
#define __pyx_n_u_hasPrimalRay __pyx_string_tab[2247]
#define __pyx_n_u_has_lb __pyx_string_tab[2248]
#define __pyx_n_u_has_lhs __pyx_string_tab[2249]
#define __pyx_n_u_has_rhs __pyx_string_tab[2250]
#define __pyx_n_u_has_ub __pyx_string_tab[2251]
#define __pyx_n_u_heur __pyx_string_tab[2252]
#define __pyx_n_u_heur_2 __pyx_string_tab[2253]
#define __pyx_n_u_heurexec __pyx_string_tab[2254]
#define __pyx_n_u_heurexit __pyx_string_tab[2255]
#define __pyx_n_u_heurexitsol __pyx_string_tab[2256]
#define __pyx_n_u_heurfree __pyx_string_tab[2257]
#define __pyx_n_u_heurinit __pyx_string_tab[2258]
#define __pyx_n_u_heurinitsol __pyx_string_tab[2259]
#define __pyx_n_u_heurname __pyx_string_tab[2260]
#define __pyx_n_u_heurtiming __pyx_string_tab[2261]
#define __pyx_n_u_hideOutput __pyx_string_tab[2262]
#define __pyx_n_u_i __pyx_string_tab[2263]
#define __pyx_n_u_id __pyx_string_tab[2264]
#define __pyx_n_u_idempotent __pyx_string_tab[2265]
#define __pyx_n_u_idx __pyx_string_tab[2266]
#define __pyx_n_u_idxs __pyx_string_tab[2267]
#define __pyx_n_u_iis __pyx_string_tab[2268]
#define __pyx_n_u_iisfinder __pyx_string_tab[2269]
#define __pyx_n_u_iisfinderexec __pyx_string_tab[2270]
#define __pyx_n_u_iisfinderfree __pyx_string_tab[2271]
#define __pyx_n_u_implicit __pyx_string_tab[2272]
#define __pyx_n_u_implicit_integer __pyx_string_tab[2273]
#define __pyx_n_u_implvars __pyx_string_tab[2274]
#define __pyx_n_u_import __pyx_string_tab[2275]
#define __pyx_n_u_inProbing __pyx_string_tab[2276]
#define __pyx_n_u_inRepropagation __pyx_string_tab[2277]
#define __pyx_n_u_in_lp __pyx_string_tab[2278]
#define __pyx_n_u_includeBenders __pyx_string_tab[2279]
#define __pyx_n_u_includeBendersDefaultCuts __pyx_string_tab[2280]
#define __pyx_n_u_includeBenderscut __pyx_string_tab[2281]
#define __pyx_n_u_includeBranchrule __pyx_string_tab[2282]
#define __pyx_n_u_includeConshdlr __pyx_string_tab[2283]
#define __pyx_n_u_includeCutsel __pyx_string_tab[2284]
#define __pyx_n_u_includeDefaultPlugins __pyx_string_tab[2285]
#define __pyx_n_u_includeEventhdlr __pyx_string_tab[2286]
#define __pyx_n_u_includeHeur __pyx_string_tab[2287]
#define __pyx_n_u_includeIISfinder __pyx_string_tab[2288]
#define __pyx_n_u_includeNodesel __pyx_string_tab[2289]
#define __pyx_n_u_includePresol __pyx_string_tab[2290]
#define __pyx_n_u_includePricer __pyx_string_tab[2291]
#define __pyx_n_u_includeProp __pyx_string_tab[2292]
#define __pyx_n_u_includeReader __pyx_string_tab[2293]
#define __pyx_n_u_includeRelax __pyx_string_tab[2294]
#define __pyx_n_u_includeSepa __pyx_string_tab[2295]
#define __pyx_n_u_index __pyx_string_tab[2296]
#define __pyx_n_u_indices __pyx_string_tab[2297]
#define __pyx_n_u_inds __pyx_string_tab[2298]
#define __pyx_n_u_indvar __pyx_string_tab[2299]
#define __pyx_n_u_indvar_wrapper __pyx_string_tab[2300]
#define __pyx_n_u_indvars __pyx_string_tab[2301]
#define __pyx_n_u_inf __pyx_string_tab[2302]
#define __pyx_n_u_infeasible __pyx_string_tab[2303]
#define __pyx_n_u_inferinfo __pyx_string_tab[2304]
#define __pyx_n_u_infinity __pyx_string_tab[2305]
#define __pyx_n_u_inforunbd __pyx_string_tab[2306]
#define __pyx_n_u_init __pyx_string_tab[2307]
#define __pyx_n_u_initBendersDefault __pyx_string_tab[2308]
#define __pyx_n_u_init___locals_genexpr __pyx_string_tab[2309]
#define __pyx_n_u_init___locals_lambda __pyx_string_tab[2310]
#define __pyx_n_u_initial __pyx_string_tab[2311]
#define __pyx_n_u_initlp __pyx_string_tab[2312]
#define __pyx_n_u_int __pyx_string_tab[2313]
#define __pyx_n_u_integer __pyx_string_tab[2314]
#define __pyx_n_u_integral __pyx_string_tab[2315]
#define __pyx_n_u_interruptSolve __pyx_string_tab[2316]
#define __pyx_n_u_intvars __pyx_string_tab[2317]
#define __pyx_n_u_irreducible __pyx_string_tab[2318]
#define __pyx_n_u_isActive __pyx_string_tab[2319]
#define __pyx_n_u_isAndConsSorted __pyx_string_tab[2320]
#define __pyx_n_u_isBinary __pyx_string_tab[2321]
#define __pyx_n_u_isCheced __pyx_string_tab[2322]
#define __pyx_n_u_isChecked __pyx_string_tab[2323]
#define __pyx_n_u_isCutEfficacious __pyx_string_tab[2324]
#define __pyx_n_u_isDeletable __pyx_string_tab[2325]
#define __pyx_n_u_isDualFeasible __pyx_string_tab[2326]
#define __pyx_n_u_isDynamic __pyx_string_tab[2327]
#define __pyx_n_u_isEQ __pyx_string_tab[2328]
#define __pyx_n_u_isEnforced __pyx_string_tab[2329]
#define __pyx_n_u_isExact __pyx_string_tab[2330]
#define __pyx_n_u_isFeasEQ __pyx_string_tab[2331]
#define __pyx_n_u_isFeasGE __pyx_string_tab[2332]
#define __pyx_n_u_isFeasGT __pyx_string_tab[2333]
#define __pyx_n_u_isFeasIntegral __pyx_string_tab[2334]
#define __pyx_n_u_isFeasLE __pyx_string_tab[2335]
#define __pyx_n_u_isFeasLT __pyx_string_tab[2336]
#define __pyx_n_u_isFeasNegative __pyx_string_tab[2337]
#define __pyx_n_u_isFeasPositive __pyx_string_tab[2338]
#define __pyx_n_u_isFeasZero __pyx_string_tab[2339]
#define __pyx_n_u_isGE __pyx_string_tab[2340]
#define __pyx_n_u_isGT __pyx_string_tab[2341]
#define __pyx_n_u_isHugeValue __pyx_string_tab[2342]
#define __pyx_n_u_isImpliedIntegral __pyx_string_tab[2343]
#define __pyx_n_u_isInGlobalCutpool __pyx_string_tab[2344]
#define __pyx_n_u_isInLP __pyx_string_tab[2345]
#define __pyx_n_u_isInfinity __pyx_string_tab[2346]
#define __pyx_n_u_isInitial __pyx_string_tab[2347]
#define __pyx_n_u_isIntegral __pyx_string_tab[2348]
#define __pyx_n_u_isKnapsack __pyx_string_tab[2349]
#define __pyx_n_u_isLE __pyx_string_tab[2350]
#define __pyx_n_u_isLPSolBasic __pyx_string_tab[2351]
#define __pyx_n_u_isLT __pyx_string_tab[2352]
#define __pyx_n_u_isLinear __pyx_string_tab[2353]
#define __pyx_n_u_isLinearType __pyx_string_tab[2354]
#define __pyx_n_u_isLocal __pyx_string_tab[2355]
#define __pyx_n_u_isModifiable __pyx_string_tab[2356]
#define __pyx_n_u_isNLPConstructed __pyx_string_tab[2357]
#define __pyx_n_u_isNegative __pyx_string_tab[2358]
#define __pyx_n_u_isNonImpliedIntegral __pyx_string_tab[2359]
#define __pyx_n_u_isNonlinear __pyx_string_tab[2360]
#define __pyx_n_u_isObjChangedProbing __pyx_string_tab[2361]
#define __pyx_n_u_isObjIntegral __pyx_string_tab[2362]
#define __pyx_n_u_isOptimal __pyx_string_tab[2363]
#define __pyx_n_u_isOriginal __pyx_string_tab[2364]
#define __pyx_n_u_isPositive __pyx_string_tab[2365]
#define __pyx_n_u_isPrimalFeasible __pyx_string_tab[2366]
#define __pyx_n_u_isPropagated __pyx_string_tab[2367]
#define __pyx_n_u_isPropagatedAgain __pyx_string_tab[2368]
#define __pyx_n_u_isRedundant __pyx_string_tab[2369]
#define __pyx_n_u_isRelaxationOnly __pyx_string_tab[2370]
#define __pyx_n_u_isRemovable __pyx_string_tab[2371]
#define __pyx_n_u_isSeparated __pyx_string_tab[2372]
#define __pyx_n_u_isStickingAtNode __pyx_string_tab[2373]
#define __pyx_n_u_isSubscipInfeasible __pyx_string_tab[2374]
#define __pyx_n_u_isSubscipIrreducible __pyx_string_tab[2375]
#define __pyx_n_u_isZero __pyx_string_tab[2376]
#define __pyx_n_u_is_coroutine __pyx_string_tab[2377]
#define __pyx_n_u_is_integer __pyx_string_tab[2378]
#define __pyx_n_u_is_memory_freed __pyx_string_tab[2379]
#define __pyx_n_u_is_number __pyx_string_tab[2380]
#define __pyx_n_u_isconvex __pyx_string_tab[2381]
#define __pyx_n_u_isdict __pyx_string_tab[2382]
#define __pyx_n_u_islinear __pyx_string_tab[2383]
#define __pyx_n_u_islpcut __pyx_string_tab[2384]
#define __pyx_n_u_isnonlinear __pyx_string_tab[2385]
#define __pyx_n_u_isquadratic __pyx_string_tab[2386]
#define __pyx_n_u_item __pyx_string_tab[2387]
#define __pyx_n_u_items __pyx_string_tab[2388]
#define __pyx_n_u_itemsize __pyx_string_tab[2389]
#define __pyx_n_u_iters __pyx_string_tab[2390]
#define __pyx_n_u_itertools __pyx_string_tab[2391]
#define __pyx_n_u_itlim __pyx_string_tab[2392]
#define __pyx_n_u_j __pyx_string_tab[2393]
#define __pyx_n_u_k __pyx_string_tab[2394]
#define __pyx_n_u_keep_axes __pyx_string_tab[2395]
#define __pyx_n_u_keepdims __pyx_string_tab[2396]
#define __pyx_n_u_key __pyx_string_tab[2397]
#define __pyx_n_u_keys __pyx_string_tab[2398]
#define __pyx_n_u_kind __pyx_string_tab[2399]
#define __pyx_n_u_knapsack __pyx_string_tab[2400]
#define __pyx_n_u_kwargs __pyx_string_tab[2401]
#define __pyx_n_u_lambda __pyx_string_tab[2402]
#define __pyx_n_u_lastcol __pyx_string_tab[2403]
#define __pyx_n_u_lastrow __pyx_string_tab[2404]
#define __pyx_n_u_lazyconss __pyx_string_tab[2405]
#define __pyx_n_u_lb __pyx_string_tab[2406]
#define __pyx_n_u_lbs __pyx_string_tab[2407]
#define __pyx_n_u_le __pyx_string_tab[2408]
#define __pyx_n_u_leaves __pyx_string_tab[2409]
#define __pyx_n_u_leaves_2 __pyx_string_tab[2410]
#define __pyx_n_u_length __pyx_string_tab[2411]
#define __pyx_n_u_less __pyx_string_tab[2412]
#define __pyx_n_u_less_equal __pyx_string_tab[2413]
#define __pyx_n_u_lhs __pyx_string_tab[2414]
#define __pyx_n_u_lhs_2 __pyx_string_tab[2415]
#define __pyx_n_u_lhss __pyx_string_tab[2416]
#define __pyx_n_u_lhsslack __pyx_string_tab[2417]
#define __pyx_n_u_lincoef __pyx_string_tab[2418]
#define __pyx_n_u_lincoefs __pyx_string_tab[2419]
#define __pyx_n_u_lincons __pyx_string_tab[2420]
#define __pyx_n_u_line __pyx_string_tab[2421]
#define __pyx_n_u_linear __pyx_string_tab[2422]
#define __pyx_n_u_linexprs __pyx_string_tab[2423]
#define __pyx_n_u_linterms __pyx_string_tab[2424]
#define __pyx_n_u_linvars __pyx_string_tab[2425]
#define __pyx_n_u_local __pyx_string_tab[2426]
#define __pyx_n_u_locale __pyx_string_tab[2427]
#define __pyx_n_u_locktype __pyx_string_tab[2428]
#define __pyx_n_u_log __pyx_string_tab[2429]
#define __pyx_n_u_logicor __pyx_string_tab[2430]
#define __pyx_n_u_lower __pyx_string_tab[2431]
#define __pyx_n_u_lowerbound __pyx_string_tab[2432]
#define __pyx_n_u_lowerbounds __pyx_string_tab[2433]
#define __pyx_n_u_lpcands __pyx_string_tab[2434]
#define __pyx_n_u_lpcandsfrac __pyx_string_tab[2435]
#define __pyx_n_u_lpcandssol __pyx_string_tab[2436]
#define __pyx_n_u_lperror __pyx_string_tab[2437]
#define __pyx_n_u_lpi __pyx_string_tab[2438]
#define __pyx_n_u_lpiGetIterations __pyx_string_tab[2439]
#define __pyx_n_u_lpobjval __pyx_string_tab[2440]
#define __pyx_n_u_lpsols __pyx_string_tab[2441]
#define __pyx_n_u_m __pyx_string_tab[2442]
#define __pyx_n_u_main __pyx_string_tab[2443]
#define __pyx_n_u_map __pyx_string_tab[2444]
#define __pyx_n_u_mappedvar __pyx_string_tab[2445]
#define __pyx_n_u_mappedvar_2 __pyx_string_tab[2446]
#define __pyx_n_u_markDoNotAggrVar __pyx_string_tab[2447]
#define __pyx_n_u_markDoNotMultaggrVar __pyx_string_tab[2448]
#define __pyx_n_u_markRelaxationOnly __pyx_string_tab[2449]
#define __pyx_n_u_math __pyx_string_tab[2450]
#define __pyx_n_u_matmul __pyx_string_tab[2451]
#define __pyx_n_u_matrix_activeone __pyx_string_tab[2452]
#define __pyx_n_u_matrix_binvar __pyx_string_tab[2453]
#define __pyx_n_u_matrix_check __pyx_string_tab[2454]
#define __pyx_n_u_matrix_cons __pyx_string_tab[2455]
#define __pyx_n_u_matrix_dynamic __pyx_string_tab[2456]
#define __pyx_n_u_matrix_enforce __pyx_string_tab[2457]
#define __pyx_n_u_matrix_initial __pyx_string_tab[2458]
#define __pyx_n_u_matrix_lbs __pyx_string_tab[2459]
#define __pyx_n_u_matrix_local __pyx_string_tab[2460]
#define __pyx_n_u_matrix_modifiable __pyx_string_tab[2461]
#define __pyx_n_u_matrix_names __pyx_string_tab[2462]
#define __pyx_n_u_matrix_objs __pyx_string_tab[2463]
#define __pyx_n_u_matrix_priced_var_scores __pyx_string_tab[2464]
#define __pyx_n_u_matrix_priced_vars __pyx_string_tab[2465]
#define __pyx_n_u_matrix_propagate __pyx_string_tab[2466]
#define __pyx_n_u_matrix_removable __pyx_string_tab[2467]
#define __pyx_n_u_matrix_separate __pyx_string_tab[2468]
#define __pyx_n_u_matrix_stickingatnode __pyx_string_tab[2469]
#define __pyx_n_u_matrix_ubs __pyx_string_tab[2470]
#define __pyx_n_u_matrix_variable __pyx_string_tab[2471]
#define __pyx_n_u_matrix_vtypes __pyx_string_tab[2472]
#define __pyx_n_u_max __pyx_string_tab[2473]
#define __pyx_n_u_maxactivity __pyx_string_tab[2474]
#define __pyx_n_u_maxbounddist __pyx_string_tab[2475]
#define __pyx_n_u_maxdepth __pyx_string_tab[2476]
#define __pyx_n_u_maximal __pyx_string_tab[2477]
#define __pyx_n_u_maximize __pyx_string_tab[2478]
#define __pyx_n_u_maxnconss __pyx_string_tab[2479]
#define __pyx_n_u_maxnselectedcuts __pyx_string_tab[2480]
#define __pyx_n_u_maxprerounds __pyx_string_tab[2481]
#define __pyx_n_u_maxproprounds __pyx_string_tab[2482]
#define __pyx_n_u_maxrounds __pyx_string_tab[2483]
#define __pyx_n_u_mayround __pyx_string_tab[2484]
#define __pyx_n_u_memlimit __pyx_string_tab[2485]
#define __pyx_n_u_memsavepriority __pyx_string_tab[2486]
#define __pyx_n_u_memview __pyx_string_tab[2487]
#define __pyx_n_u_mergecandidates __pyx_string_tab[2488]
#define __pyx_n_u_merged __pyx_string_tab[2489]
#define __pyx_n_u_metaclass __pyx_string_tab[2490]
#define __pyx_n_u_method __pyx_string_tab[2491]
#define __pyx_n_u_min_stage_requirement __pyx_string_tab[2492]
#define __pyx_n_u_minactivity __pyx_string_tab[2493]
#define __pyx_n_u_minimize __pyx_string_tab[2494]
#define __pyx_n_u_minus __pyx_string_tab[2495]
#define __pyx_n_u_mode __pyx_string_tab[2496]
#define __pyx_n_u_model __pyx_string_tab[2497]
#define __pyx_n_u_modifiable __pyx_string_tab[2498]
#define __pyx_n_u_module __pyx_string_tab[2499]
#define __pyx_n_u_monomials __pyx_string_tab[2500]
#define __pyx_n_u_mro_entries __pyx_string_tab[2501]
#define __pyx_n_u_mul __pyx_string_tab[2502]
#define __pyx_n_u_mul_2 __pyx_string_tab[2503]
#define __pyx_n_u_mul___locals_genexpr __pyx_string_tab[2504]
#define __pyx_n_u_myMessageHandler __pyx_string_tab[2505]
#define __pyx_n_u_n __pyx_string_tab[2506]
#define __pyx_n_u_n_binary_vars __pyx_string_tab[2507]
#define __pyx_n_u_n_children __pyx_string_tab[2508]
#define __pyx_n_u_n_col_features __pyx_string_tab[2509]
#define __pyx_n_u_n_conss __pyx_string_tab[2510]
#define __pyx_n_u_n_continuous_vars __pyx_string_tab[2511]
#define __pyx_n_u_n_edge_features __pyx_string_tab[2512]
#define __pyx_n_u_n_implicit_integer_vars __pyx_string_tab[2513]
#define __pyx_n_u_n_integer_vars __pyx_string_tab[2514]
#define __pyx_n_u_n_leaves __pyx_string_tab[2515]
#define __pyx_n_u_n_maximal_cons __pyx_string_tab[2516]
#define __pyx_n_u_n_nodes __pyx_string_tab[2517]
#define __pyx_n_u_n_non_zeros __pyx_string_tab[2518]
#define __pyx_n_u_n_presolved_binary_vars __pyx_string_tab[2519]
#define __pyx_n_u_n_presolved_conss __pyx_string_tab[2520]
#define __pyx_n_u_n_presolved_continuous_vars __pyx_string_tab[2521]
#define __pyx_n_u_n_presolved_implicit_integer_var __pyx_string_tab[2522]
#define __pyx_n_u_n_presolved_integer_vars __pyx_string_tab[2523]
#define __pyx_n_u_n_presolved_maximal_cons __pyx_string_tab[2524]
#define __pyx_n_u_n_presolved_vars __pyx_string_tab[2525]
#define __pyx_n_u_n_row_features __pyx_string_tab[2526]
#define __pyx_n_u_n_runs __pyx_string_tab[2527]
#define __pyx_n_u_n_siblings __pyx_string_tab[2528]
#define __pyx_n_u_n_solutions_found __pyx_string_tab[2529]
#define __pyx_n_u_n_vars __pyx_string_tab[2530]
#define __pyx_n_u_naddconss __pyx_string_tab[2531]
#define __pyx_n_u_naddholes __pyx_string_tab[2532]
#define __pyx_n_u_naggrvars __pyx_string_tab[2533]
#define __pyx_n_u_nam __pyx_string_tab[2534]
#define __pyx_n_u_name __pyx_string_tab[2535]
#define __pyx_n_u_name_2 __pyx_string_tab[2536]
#define __pyx_n_u_name_to_val __pyx_string_tab[2537]
#define __pyx_n_u_nbenders __pyx_string_tab[2538]
#define __pyx_n_u_nbilinterms __pyx_string_tab[2539]
#define __pyx_n_u_nboundchgs __pyx_string_tab[2540]
#define __pyx_n_u_nbranchings __pyx_string_tab[2541]
#define __pyx_n_u_nbranchvars __pyx_string_tab[2542]
#define __pyx_n_u_ncands __pyx_string_tab[2543]
#define __pyx_n_u_nchgbds __pyx_string_tab[2544]
#define __pyx_n_u_nchgcoefs __pyx_string_tab[2545]
#define __pyx_n_u_nchgsides __pyx_string_tab[2546]
#define __pyx_n_u_nchgvartypes __pyx_string_tab[2547]
#define __pyx_n_u_nchildren __pyx_string_tab[2548]
#define __pyx_n_u_nchildren_2 __pyx_string_tab[2549]
#define __pyx_n_u_ncols __pyx_string_tab[2550]
#define __pyx_n_u_nconsprop __pyx_string_tab[2551]
#define __pyx_n_u_nconss __pyx_string_tab[2552]
#define __pyx_n_u_ndarray __pyx_string_tab[2553]
#define __pyx_n_u_ndelconss __pyx_string_tab[2554]
#define __pyx_n_u_ndim __pyx_string_tab[2555]
#define __pyx_n_u_ndindex __pyx_string_tab[2556]
#define __pyx_n_u_ndomredsfound __pyx_string_tab[2557]
#define __pyx_n_u_needscons __pyx_string_tab[2558]
#define __pyx_n_u_negate __pyx_string_tab[2559]
#define __pyx_n_u_new __pyx_string_tab[2560]
#define __pyx_n_u_newCheck __pyx_string_tab[2561]
#define __pyx_n_u_newEnf __pyx_string_tab[2562]
#define __pyx_n_u_newInit __pyx_string_tab[2563]
#define __pyx_n_u_newMod __pyx_string_tab[2564]
#define __pyx_n_u_newProbingNode __pyx_string_tab[2565]
#define __pyx_n_u_newRem __pyx_string_tab[2566]
#define __pyx_n_u_newaxis __pyx_string_tab[2567]
#define __pyx_n_u_newbound __pyx_string_tab[2568]
#define __pyx_n_u_newlhs __pyx_string_tab[2569]
#define __pyx_n_u_newobj __pyx_string_tab[2570]
#define __pyx_n_u_newrhs __pyx_string_tab[2571]
#define __pyx_n_u_newval __pyx_string_tab[2572]
#define __pyx_n_u_next __pyx_string_tab[2573]
#define __pyx_n_u_nfixedvars __pyx_string_tab[2574]
#define __pyx_n_u_nfracimplvars __pyx_string_tab[2575]
#define __pyx_n_u_niters __pyx_string_tab[2576]
#define __pyx_n_u_nleaves __pyx_string_tab[2577]
#define __pyx_n_u_nlinvars __pyx_string_tab[2578]
#define __pyx_n_u_nlocksdown __pyx_string_tab[2579]
#define __pyx_n_u_nlocksneg __pyx_string_tab[2580]
#define __pyx_n_u_nlockspos __pyx_string_tab[2581]
#define __pyx_n_u_nlocksup __pyx_string_tab[2582]
#define __pyx_n_u_nlpcands __pyx_string_tab[2583]
#define __pyx_n_u_nlrow __pyx_string_tab[2584]
#define __pyx_n_u_nlrows __pyx_string_tab[2585]
#define __pyx_n_u_nmarkedconss __pyx_string_tab[2586]
#define __pyx_n_u_nnewaddconss __pyx_string_tab[2587]
#define __pyx_n_u_nnewaddholes __pyx_string_tab[2588]
#define __pyx_n_u_nnewaggrvars __pyx_string_tab[2589]
#define __pyx_n_u_nnewchgbds __pyx_string_tab[2590]
#define __pyx_n_u_nnewchgcoefs __pyx_string_tab[2591]
#define __pyx_n_u_nnewchgsides __pyx_string_tab[2592]
#define __pyx_n_u_nnewchgvartypes __pyx_string_tab[2593]
#define __pyx_n_u_nnewdelconss __pyx_string_tab[2594]
#define __pyx_n_u_nnewfixedvars __pyx_string_tab[2595]
#define __pyx_n_u_nnewholes __pyx_string_tab[2596]
#define __pyx_n_u_nnewupgdconss __pyx_string_tab[2597]
#define __pyx_n_u_nnonz __pyx_string_tab[2598]
#define __pyx_n_u_nnzrs __pyx_string_tab[2599]
#define __pyx_n_u_node __pyx_string_tab[2600]
#define __pyx_n_u_node1 __pyx_string_tab[2601]
#define __pyx_n_u_node2 __pyx_string_tab[2602]
#define __pyx_n_u_node_num __pyx_string_tab[2603]
#define __pyx_n_u_nodecomp __pyx_string_tab[2604]
#define __pyx_n_u_nodeexit __pyx_string_tab[2605]
#define __pyx_n_u_nodeexitsol __pyx_string_tab[2606]
#define __pyx_n_u_nodefree __pyx_string_tab[2607]
#define __pyx_n_u_nodeinfeasible __pyx_string_tab[2608]
#define __pyx_n_u_nodeinit __pyx_string_tab[2609]
#define __pyx_n_u_nodeinitsol __pyx_string_tab[2610]
#define __pyx_n_u_nodelimit __pyx_string_tab[2611]
#define __pyx_n_u_nodes __pyx_string_tab[2612]
#define __pyx_n_u_nodesel __pyx_string_tab[2613]
#define __pyx_n_u_nodeselect __pyx_string_tab[2614]
#define __pyx_n_u_nodeselprio __pyx_string_tab[2615]
#define __pyx_n_u_nonlinear __pyx_string_tab[2616]
#define __pyx_n_u_nonzero __pyx_string_tab[2617]
#define __pyx_n_u_norm __pyx_string_tab[2618]
#define __pyx_n_u_normalize __pyx_string_tab[2619]
#define __pyx_n_u_normalize_axis_tuple __pyx_string_tab[2620]
#define __pyx_n_u_not_equal __pyx_string_tab[2621]
#define __pyx_n_u_np __pyx_string_tab[2622]
#define __pyx_n_u_npriolpcands __pyx_string_tab[2623]
#define __pyx_n_u_npriomergecands __pyx_string_tab[2624]
#define __pyx_n_u_npriopseudocands __pyx_string_tab[2625]
#define __pyx_n_u_nprop __pyx_string_tab[2626]
#define __pyx_n_u_npseudocands __pyx_string_tab[2627]
#define __pyx_n_u_nquadterms __pyx_string_tab[2628]
#define __pyx_n_u_nrounds __pyx_string_tab[2629]
#define __pyx_n_u_nrows __pyx_string_tab[2630]
#define __pyx_n_u_nselectedcuts __pyx_string_tab[2631]
#define __pyx_n_u_nsiblings __pyx_string_tab[2632]
#define __pyx_n_u_nsols __pyx_string_tab[2633]
#define __pyx_n_u_nsubproblems __pyx_string_tab[2634]
#define __pyx_n_u_number __pyx_string_tab[2635]
#define __pyx_n_u_numpy __pyx_string_tab[2636]
#define __pyx_n_u_numpy_core_numeric __pyx_string_tab[2637]
#define __pyx_n_u_numpy_lib_array_utils __pyx_string_tab[2638]
#define __pyx_n_u_nupgdconss __pyx_string_tab[2639]
#define __pyx_n_u_nusefulconss __pyx_string_tab[2640]
#define __pyx_n_u_nvars __pyx_string_tab[2641]
#define __pyx_n_u_obj __pyx_string_tab[2642]
#define __pyx_n_u_obj_coef __pyx_string_tab[2643]
#define __pyx_n_u_obj_cosine __pyx_string_tab[2644]
#define __pyx_n_u_objdelta __pyx_string_tab[2645]
#define __pyx_n_u_object __pyx_string_tab[2646]
#define __pyx_n_u_objective __pyx_string_tab[2647]
#define __pyx_n_u_objinfeasible __pyx_string_tab[2648]
#define __pyx_n_u_objlimit __pyx_string_tab[2649]
#define __pyx_n_u_objoffset __pyx_string_tab[2650]
#define __pyx_n_u_objs __pyx_string_tab[2651]
#define __pyx_n_u_objscale __pyx_string_tab[2652]
#define __pyx_n_u_objsense __pyx_string_tab[2653]
#define __pyx_n_u_objval __pyx_string_tab[2654]
#define __pyx_n_u_offset __pyx_string_tab[2655]
#define __pyx_n_u_onlychanged __pyx_string_tab[2656]
#define __pyx_n_u_onlyconvex __pyx_string_tab[2657]
#define __pyx_n_u_onlydelayed __pyx_string_tab[2658]
#define __pyx_n_u_onlyroot __pyx_string_tab[2659]
#define __pyx_n_u_op __pyx_string_tab[2660]
#define __pyx_n_u_op_2 __pyx_string_tab[2661]
#define __pyx_n_u_open __pyx_string_tab[2662]
#define __pyx_n_u_operator __pyx_string_tab[2663]
#define __pyx_n_u_opidx __pyx_string_tab[2664]
#define __pyx_n_u_optimal __pyx_string_tab[2665]
#define __pyx_n_u_optimize __pyx_string_tab[2666]
#define __pyx_n_u_optimizeNogil __pyx_string_tab[2667]
#define __pyx_n_u_orig_vars __pyx_string_tab[2668]
#define __pyx_n_u_origconss __pyx_string_tab[2669]
#define __pyx_n_u_origcopy __pyx_string_tab[2670]
#define __pyx_n_u_original __pyx_string_tab[2671]
#define __pyx_n_u_origobj __pyx_string_tab[2672]
#define __pyx_n_u_origvars __pyx_string_tab[2673]
#define __pyx_n_u_orthofunc __pyx_string_tab[2674]
#define __pyx_n_u_os __pyx_string_tab[2675]
#define __pyx_n_u_os_path __pyx_string_tab[2676]
#define __pyx_n_u_other __pyx_string_tab[2677]
#define __pyx_n_u_otypes __pyx_string_tab[2678]
#define __pyx_n_u_out __pyx_string_tab[2679]
#define __pyx_n_u_pack __pyx_string_tab[2680]
#define __pyx_n_u_paraemphasis __pyx_string_tab[2681]
#define __pyx_n_u_param __pyx_string_tab[2682]
#define __pyx_n_u_params __pyx_string_tab[2683]
#define __pyx_n_u_paramtype __pyx_string_tab[2684]
#define __pyx_n_u_partial __pyx_string_tab[2685]
#define __pyx_n_u_partialsolution __pyx_string_tab[2686]
#define __pyx_n_u_path __pyx_string_tab[2687]
#define __pyx_n_u_plus __pyx_string_tab[2688]
#define __pyx_n_u_pop __pyx_string_tab[2689]
#define __pyx_n_u_pos __pyx_string_tab[2690]
#define __pyx_n_u_power __pyx_string_tab[2691]
#define __pyx_n_u_prepare __pyx_string_tab[2692]
#define __pyx_n_u_presol __pyx_string_tab[2693]
#define __pyx_n_u_presolexec __pyx_string_tab[2694]
#define __pyx_n_u_presolexit __pyx_string_tab[2695]
#define __pyx_n_u_presolexitpre __pyx_string_tab[2696]
#define __pyx_n_u_presolfree __pyx_string_tab[2697]
#define __pyx_n_u_presolinit __pyx_string_tab[2698]
#define __pyx_n_u_presolinitpre __pyx_string_tab[2699]
#define __pyx_n_u_presolmaxrounds __pyx_string_tab[2700]
#define __pyx_n_u_presolpriority __pyx_string_tab[2701]
#define __pyx_n_u_presoltiming __pyx_string_tab[2702]
#define __pyx_n_u_presolve __pyx_string_tab[2703]
#define __pyx_n_u_presolved_constraints __pyx_string_tab[2704]
#define __pyx_n_u_presolved_problem_name __pyx_string_tab[2705]
#define __pyx_n_u_presolved_variables __pyx_string_tab[2706]
#define __pyx_n_u_presolving __pyx_string_tab[2707]
#define __pyx_n_u_presolving_time __pyx_string_tab[2708]
#define __pyx_n_u_pretendroot __pyx_string_tab[2709]
#define __pyx_n_u_prev_col_features __pyx_string_tab[2710]
#define __pyx_n_u_prev_edge_features __pyx_string_tab[2711]
#define __pyx_n_u_prev_row_features __pyx_string_tab[2712]
#define __pyx_n_u_pricedVar __pyx_string_tab[2713]
#define __pyx_n_u_pricedVarScore __pyx_string_tab[2714]
#define __pyx_n_u_pricer __pyx_string_tab[2715]
#define __pyx_n_u_pricerexit __pyx_string_tab[2716]
#define __pyx_n_u_pricerexitsol __pyx_string_tab[2717]
#define __pyx_n_u_pricerfarkas __pyx_string_tab[2718]
#define __pyx_n_u_pricerfree __pyx_string_tab[2719]
#define __pyx_n_u_pricerinit __pyx_string_tab[2720]
#define __pyx_n_u_pricerinitsol __pyx_string_tab[2721]
#define __pyx_n_u_pricerredcost __pyx_string_tab[2722]
#define __pyx_n_u_primal_bound __pyx_string_tab[2723]
#define __pyx_n_u_primal_dual_integral __pyx_string_tab[2724]
#define __pyx_n_u_primallimit __pyx_string_tab[2725]
#define __pyx_n_u_primalsol __pyx_string_tab[2726]
#define __pyx_n_u_print __pyx_string_tab[2727]
#define __pyx_n_u_printBestSol __pyx_string_tab[2728]
#define __pyx_n_u_printCons __pyx_string_tab[2729]
#define __pyx_n_u_printExternalCodeVersions __pyx_string_tab[2730]
#define __pyx_n_u_printNlRow __pyx_string_tab[2731]
#define __pyx_n_u_printProblem __pyx_string_tab[2732]
#define __pyx_n_u_printRow __pyx_string_tab[2733]
#define __pyx_n_u_printSol __pyx_string_tab[2734]
#define __pyx_n_u_printStatistics __pyx_string_tab[2735]
#define __pyx_n_u_printStatisticsJson __pyx_string_tab[2736]
#define __pyx_n_u_printVersion __pyx_string_tab[2737]
#define __pyx_n_u_print_memory_in_use __pyx_string_tab[2738]
#define __pyx_n_u_printreason __pyx_string_tab[2739]
#define __pyx_n_u_priority __pyx_string_tab[2740]
#define __pyx_n_u_probingdepth __pyx_string_tab[2741]
#define __pyx_n_u_problemName __pyx_string_tab[2742]
#define __pyx_n_u_problem_name __pyx_string_tab[2743]
#define __pyx_n_u_probnumber __pyx_string_tab[2744]
#define __pyx_n_u_prod __pyx_string_tab[2745]
#define __pyx_n_u_prodexpr __pyx_string_tab[2746]
#define __pyx_n_u_prop __pyx_string_tab[2747]
#define __pyx_n_u_propagate __pyx_string_tab[2748]
#define __pyx_n_u_propagateProbing __pyx_string_tab[2749]
#define __pyx_n_u_propagated __pyx_string_tab[2750]
#define __pyx_n_u_property __pyx_string_tab[2751]
#define __pyx_n_u_propexec __pyx_string_tab[2752]
#define __pyx_n_u_propexit __pyx_string_tab[2753]
#define __pyx_n_u_propexitpre __pyx_string_tab[2754]
#define __pyx_n_u_propexitsol __pyx_string_tab[2755]
#define __pyx_n_u_propfree __pyx_string_tab[2756]
#define __pyx_n_u_propfreq __pyx_string_tab[2757]
#define __pyx_n_u_propinit __pyx_string_tab[2758]
#define __pyx_n_u_propinitpre __pyx_string_tab[2759]
#define __pyx_n_u_propinitsol __pyx_string_tab[2760]
#define __pyx_n_u_proppresol __pyx_string_tab[2761]
#define __pyx_n_u_propresprop __pyx_string_tab[2762]
#define __pyx_n_u_proptiming __pyx_string_tab[2763]
#define __pyx_n_u_proxy __pyx_string_tab[2764]
#define __pyx_n_u_pseudocands __pyx_string_tab[2765]
#define __pyx_n_u_ptr __pyx_string_tab[2766]
#define __pyx_n_u_pyCons __pyx_string_tab[2767]
#define __pyx_n_u_pyVar __pyx_string_tab[2768]
#define __pyx_n_u_py_boundtypes __pyx_string_tab[2769]
#define __pyx_n_u_py_branchbounds __pyx_string_tab[2770]
#define __pyx_n_u_py_variables __pyx_string_tab[2771]
#define __pyx_n_u_pycons __pyx_string_tab[2772]
#define __pyx_n_u_pycons_initial __pyx_string_tab[2773]
#define __pyx_n_u_pyscipopt_scip __pyx_string_tab[2774]
#define __pyx_n_u_pyvar __pyx_string_tab[2775]
#define __pyx_n_u_pyx_checksum __pyx_string_tab[2776]
#define __pyx_n_u_pyx_result __pyx_string_tab[2777]
#define __pyx_n_u_pyx_state __pyx_string_tab[2778]
#define __pyx_n_u_pyx_type __pyx_string_tab[2779]
#define __pyx_n_u_pyx_unpickle_Benderscut __pyx_string_tab[2780]
#define __pyx_n_u_pyx_unpickle_Branchrule __pyx_string_tab[2781]
#define __pyx_n_u_pyx_unpickle_Conshdlr __pyx_string_tab[2782]
#define __pyx_n_u_pyx_unpickle_Constant __pyx_string_tab[2783]
#define __pyx_n_u_pyx_unpickle_Cutsel __pyx_string_tab[2784]
#define __pyx_n_u_pyx_unpickle_Enum __pyx_string_tab[2785]
#define __pyx_n_u_pyx_unpickle_Eventhdlr __pyx_string_tab[2786]
#define __pyx_n_u_pyx_unpickle_Expr __pyx_string_tab[2787]
#define __pyx_n_u_pyx_unpickle_ExprCons __pyx_string_tab[2788]
#define __pyx_n_u_pyx_unpickle_GenExpr __pyx_string_tab[2789]
#define __pyx_n_u_pyx_unpickle_Heur __pyx_string_tab[2790]
#define __pyx_n_u_pyx_unpickle_Nodesel __pyx_string_tab[2791]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_BENDERSEN __pyx_string_tab[2792]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_BRANCHDIR __pyx_string_tab[2793]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_EVENTTYPE __pyx_string_tab[2794]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_HEURTIMIN __pyx_string_tab[2795]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_IMPLINTTY __pyx_string_tab[2796]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_LOCKTYPE __pyx_string_tab[2797]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_LPPARAM __pyx_string_tab[2798]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_LPSOLSTAT __pyx_string_tab[2799]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_NODETYPE __pyx_string_tab[2800]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_PARAMEMPH __pyx_string_tab[2801]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_PARAMSETT __pyx_string_tab[2802]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_PRESOLTIM __pyx_string_tab[2803]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_PROPTIMIN __pyx_string_tab[2804]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_RESULT __pyx_string_tab[2805]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_ROWORIGIN __pyx_string_tab[2806]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_SOLORIGIN __pyx_string_tab[2807]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_STAGE __pyx_string_tab[2808]
#define __pyx_n_u_pyx_unpickle_PY_SCIP_STATUS __pyx_string_tab[2809]
#define __pyx_n_u_pyx_unpickle_PowExpr __pyx_string_tab[2810]
#define __pyx_n_u_pyx_unpickle_Presol __pyx_string_tab[2811]
#define __pyx_n_u_pyx_unpickle_ProdExpr __pyx_string_tab[2812]
#define __pyx_n_u_pyx_unpickle_Prop __pyx_string_tab[2813]
#define __pyx_n_u_pyx_unpickle_Reader __pyx_string_tab[2814]
#define __pyx_n_u_pyx_unpickle_Relax __pyx_string_tab[2815]
#define __pyx_n_u_pyx_unpickle_Sepa __pyx_string_tab[2816]
#define __pyx_n_u_pyx_unpickle_SumExpr __pyx_string_tab[2817]
#define __pyx_n_u_pyx_unpickle_Term __pyx_string_tab[2818]
#define __pyx_n_u_pyx_unpickle_UnaryExpr __pyx_string_tab[2819]
#define __pyx_n_u_pyx_unpickle_VarExpr __pyx_string_tab[2820]
#define __pyx_n_u_pyx_vtable __pyx_string_tab[2821]
#define __pyx_n_u_quadcons __pyx_string_tab[2822]
#define __pyx_n_u_quaddict __pyx_string_tab[2823]
#define __pyx_n_u_quadexpr __pyx_string_tab[2824]
#define __pyx_n_u_quadterms __pyx_string_tab[2825]
#define __pyx_n_u_quality __pyx_string_tab[2826]
#define __pyx_n_u_qualname __pyx_string_tab[2827]
#define __pyx_n_u_quickprod __pyx_string_tab[2828]
#define __pyx_n_u_quicksum __pyx_string_tab[2829]
#define __pyx_n_u_quiet __pyx_string_tab[2830]
#define __pyx_n_u_raise_error __pyx_string_tab[2831]
#define __pyx_n_u_ray __pyx_string_tab[2832]
#define __pyx_n_u_rc __pyx_string_tab[2833]
#define __pyx_n_u_readLP __pyx_string_tab[2834]
#define __pyx_n_u_readParams __pyx_string_tab[2835]
#define __pyx_n_u_readProblem __pyx_string_tab[2836]
#define __pyx_n_u_readSol __pyx_string_tab[2837]
#define __pyx_n_u_readSolFile __pyx_string_tab[2838]
#define __pyx_n_u_readStatistics __pyx_string_tab[2839]
#define __pyx_n_u_readStatistics_locals_genexpr __pyx_string_tab[2840]
#define __pyx_n_u_reader __pyx_string_tab[2841]
#define __pyx_n_u_readerfree __pyx_string_tab[2842]
#define __pyx_n_u_readerread __pyx_string_tab[2843]
#define __pyx_n_u_readerwrite __pyx_string_tab[2844]
#define __pyx_n_u_reading __pyx_string_tab[2845]
#define __pyx_n_u_reading_time __pyx_string_tab[2846]
#define __pyx_n_u_readlines __pyx_string_tab[2847]
#define __pyx_n_u_real_sol __pyx_string_tab[2848]
#define __pyx_n_u_red_cost __pyx_string_tab[2849]
#define __pyx_n_u_redcost __pyx_string_tab[2850]
#define __pyx_n_u_redirectOutput __pyx_string_tab[2851]
#define __pyx_n_u_reduce __pyx_string_tab[2852]
#define __pyx_n_u_reduce_2 __pyx_string_tab[2853]
#define __pyx_n_u_reduce_cython __pyx_string_tab[2854]
#define __pyx_n_u_reduce_ex __pyx_string_tab[2855]
#define __pyx_n_u_redundant __pyx_string_tab[2856]
#define __pyx_n_u_register __pyx_string_tab[2857]
#define __pyx_n_u_relax __pyx_string_tab[2858]
#define __pyx_n_u_relaxcons __pyx_string_tab[2859]
#define __pyx_n_u_relaxedbd __pyx_string_tab[2860]
#define __pyx_n_u_relaxexec __pyx_string_tab[2861]
#define __pyx_n_u_relaxexit __pyx_string_tab[2862]
#define __pyx_n_u_relaxexitsol __pyx_string_tab[2863]
#define __pyx_n_u_relaxfree __pyx_string_tab[2864]
#define __pyx_n_u_relaxinit __pyx_string_tab[2865]
#define __pyx_n_u_relaxinitsol __pyx_string_tab[2866]
#define __pyx_n_u_releaseRow __pyx_string_tab[2867]
#define __pyx_n_u_relevant_value __pyx_string_tab[2868]
#define __pyx_n_u_removable __pyx_string_tab[2869]
#define __pyx_n_u_repeat __pyx_string_tab[2870]
#define __pyx_n_u_repr __pyx_string_tab[2871]
#define __pyx_n_u_repr___locals_lambda __pyx_string_tab[2872]
#define __pyx_n_u_repropagateNode __pyx_string_tab[2873]
#define __pyx_n_u_res __pyx_string_tab[2874]
#define __pyx_n_u_resetParam __pyx_string_tab[2875]
#define __pyx_n_u_resetParams __pyx_string_tab[2876]
#define __pyx_n_u_reshape __pyx_string_tab[2877]
#define __pyx_n_u_restart __pyx_string_tab[2878]
#define __pyx_n_u_restartSolve __pyx_string_tab[2879]
#define __pyx_n_u_restartlimit __pyx_string_tab[2880]
#define __pyx_n_u_result __pyx_string_tab[2881]
#define __pyx_n_u_result_dict __pyx_string_tab[2882]
#define __pyx_n_u_resultant __pyx_string_tab[2883]
#define __pyx_n_u_resvar __pyx_string_tab[2884]
#define __pyx_n_u_resvar_2 __pyx_string_tab[2885]
#define __pyx_n_u_resvar_wrapper __pyx_string_tab[2886]
#define __pyx_n_u_retcode __pyx_string_tab[2887]
#define __pyx_n_u_retransform __pyx_string_tab[2888]
#define __pyx_n_u_return __pyx_string_tab[2889]
#define __pyx_n_u_rhs __pyx_string_tab[2890]
#define __pyx_n_u_rhs_2 __pyx_string_tab[2891]
#define __pyx_n_u_rhss __pyx_string_tab[2892]
#define __pyx_n_u_rhsslack __pyx_string_tab[2893]
#define __pyx_n_u_rhsvar __pyx_string_tab[2894]
#define __pyx_n_u_root __pyx_string_tab[2895]
#define __pyx_n_u_row __pyx_string_tab[2896]
#define __pyx_n_u_row1 __pyx_string_tab[2897]
#define __pyx_n_u_row2 __pyx_string_tab[2898]
#define __pyx_n_u_row_cols __pyx_string_tab[2899]
#define __pyx_n_u_row_feature_map __pyx_string_tab[2900]
#define __pyx_n_u_row_features __pyx_string_tab[2901]
#define __pyx_n_u_row_idx __pyx_string_tab[2902]
#define __pyx_n_u_row_vals __pyx_string_tab[2903]
#define __pyx_n_u_rowexact __pyx_string_tab[2904]
#define __pyx_n_u_rows __pyx_string_tab[2905]
#define __pyx_n_u_scip __pyx_string_tab[2906]
#define __pyx_n_u_scip_benders __pyx_string_tab[2907]
#define __pyx_n_u_scip_benderscut __pyx_string_tab[2908]
#define __pyx_n_u_scip_col __pyx_string_tab[2909]
#define __pyx_n_u_scip_con __pyx_string_tab[2910]
#define __pyx_n_u_scip_cons __pyx_string_tab[2911]
#define __pyx_n_u_scip_conshdlr __pyx_string_tab[2912]
#define __pyx_n_u_scip_expr __pyx_string_tab[2913]
#define __pyx_n_u_scip_iisfinder __pyx_string_tab[2914]
#define __pyx_n_u_scip_pricer __pyx_string_tab[2915]
#define __pyx_n_u_scip_sepa __pyx_string_tab[2916]
#define __pyx_n_u_scip_sol __pyx_string_tab[2917]
#define __pyx_n_u_scip_subprob __pyx_string_tab[2918]
#define __pyx_n_u_scip_var __pyx_string_tab[2919]
#define __pyx_n_u_scipexprs __pyx_string_tab[2920]
#define __pyx_n_u_scipvar1 __pyx_string_tab[2921]
#define __pyx_n_u_scipvar2 __pyx_string_tab[2922]
#define __pyx_n_u_score __pyx_string_tab[2923]
#define __pyx_n_u_seen_cons __pyx_string_tab[2924]
#define __pyx_n_u_self __pyx_string_tab[2925]
#define __pyx_n_u_selnode __pyx_string_tab[2926]
#define __pyx_n_u_send __pyx_string_tab[2927]
#define __pyx_n_u_sense __pyx_string_tab[2928]
#define __pyx_n_u_sepa __pyx_string_tab[2929]
#define __pyx_n_u_sepaexeclp __pyx_string_tab[2930]
#define __pyx_n_u_sepaexecsol __pyx_string_tab[2931]
#define __pyx_n_u_sepaexit __pyx_string_tab[2932]
#define __pyx_n_u_sepaexitsol __pyx_string_tab[2933]
#define __pyx_n_u_sepafree __pyx_string_tab[2934]
#define __pyx_n_u_sepafreq __pyx_string_tab[2935]
#define __pyx_n_u_sepainit __pyx_string_tab[2936]
#define __pyx_n_u_sepainitsol __pyx_string_tab[2937]
#define __pyx_n_u_sepapriority __pyx_string_tab[2938]
#define __pyx_n_u_separate __pyx_string_tab[2939]
#define __pyx_n_u_separateSol __pyx_string_tab[2940]
#define __pyx_n_u_separated __pyx_string_tab[2941]
#define __pyx_n_u_setBendersSubproblemIsConvex __pyx_string_tab[2942]
#define __pyx_n_u_setBoolParam __pyx_string_tab[2943]
#define __pyx_n_u_setCharParam __pyx_string_tab[2944]
#define __pyx_n_u_setCheck __pyx_string_tab[2945]
#define __pyx_n_u_setEmphasis __pyx_string_tab[2946]
#define __pyx_n_u_setEnforced __pyx_string_tab[2947]
#define __pyx_n_u_setHeurTiming __pyx_string_tab[2948]
#define __pyx_n_u_setHeuristics __pyx_string_tab[2949]
#define __pyx_n_u_setInitial __pyx_string_tab[2950]
#define __pyx_n_u_setIntParam __pyx_string_tab[2951]
#define __pyx_n_u_setLogfile __pyx_string_tab[2952]
#define __pyx_n_u_setLongintParam __pyx_string_tab[2953]
#define __pyx_n_u_setMaximize __pyx_string_tab[2954]
#define __pyx_n_u_setMinimize __pyx_string_tab[2955]
#define __pyx_n_u_setModifiable __pyx_string_tab[2956]
#define __pyx_n_u_setObjIntegral __pyx_string_tab[2957]
#define __pyx_n_u_setObjective __pyx_string_tab[2958]
#define __pyx_n_u_setObjlimit __pyx_string_tab[2959]
#define __pyx_n_u_setParam __pyx_string_tab[2960]
#define __pyx_n_u_setParams __pyx_string_tab[2961]
#define __pyx_n_u_setParamsCountsols __pyx_string_tab[2962]
#define __pyx_n_u_setPresolve __pyx_string_tab[2963]
#define __pyx_n_u_setProbName __pyx_string_tab[2964]
#define __pyx_n_u_setRealParam __pyx_string_tab[2965]
#define __pyx_n_u_setRelaxSolVal __pyx_string_tab[2966]
#define __pyx_n_u_setRemovable __pyx_string_tab[2967]
#define __pyx_n_u_setSeparating __pyx_string_tab[2968]
#define __pyx_n_u_setSolVal __pyx_string_tab[2969]
#define __pyx_n_u_setStringParam __pyx_string_tab[2970]
#define __pyx_n_u_setSubscipInfeasible __pyx_string_tab[2971]
#define __pyx_n_u_setSubscipIrreducible __pyx_string_tab[2972]
#define __pyx_n_u_set_name __pyx_string_tab[2973]
#define __pyx_n_u_setdefault __pyx_string_tab[2974]
#define __pyx_n_u_setlocale __pyx_string_tab[2975]
#define __pyx_n_u_setppc __pyx_string_tab[2976]
#define __pyx_n_u_setstate __pyx_string_tab[2977]
#define __pyx_n_u_setstate_cython __pyx_string_tab[2978]
#define __pyx_n_u_setting __pyx_string_tab[2979]
#define __pyx_n_u_setupBendersSubproblem __pyx_string_tab[2980]
#define __pyx_n_u_shape __pyx_string_tab[2981]
#define __pyx_n_u_shareaux __pyx_string_tab[2982]
#define __pyx_n_u_siblings __pyx_string_tab[2983]
#define __pyx_n_u_siblings_2 __pyx_string_tab[2984]
#define __pyx_n_u_side __pyx_string_tab[2985]
#define __pyx_n_u_signature __pyx_string_tab[2986]
#define __pyx_n_u_sim __pyx_string_tab[2987]
#define __pyx_n_u_sin __pyx_string_tab[2988]
#define __pyx_n_u_size __pyx_string_tab[2989]
#define __pyx_n_u_skipsolve __pyx_string_tab[2990]
#define __pyx_n_u_sol __pyx_string_tab[2991]
#define __pyx_n_u_solVal __pyx_string_tab[2992]
#define __pyx_n_u_sol_2 __pyx_string_tab[2993]
#define __pyx_n_u_sol_at_lb __pyx_string_tab[2994]
#define __pyx_n_u_sol_at_lhs __pyx_string_tab[2995]
#define __pyx_n_u_sol_at_rhs __pyx_string_tab[2996]
#define __pyx_n_u_sol_at_ub __pyx_string_tab[2997]
#define __pyx_n_u_sol_frac __pyx_string_tab[2998]
#define __pyx_n_u_sol_val __pyx_string_tab[2999]
#define __pyx_n_u_solinfeasible __pyx_string_tab[3000]
#define __pyx_n_u_sollimit __pyx_string_tab[3001]
#define __pyx_n_u_solptr __pyx_string_tab[3002]
#define __pyx_n_u_sols __pyx_string_tab[3003]
#define __pyx_n_u_sols_2 __pyx_string_tab[3004]
#define __pyx_n_u_solution __pyx_string_tab[3005]
#define __pyx_n_u_solutions __pyx_string_tab[3006]
#define __pyx_n_u_solval __pyx_string_tab[3007]
#define __pyx_n_u_solve __pyx_string_tab[3008]
#define __pyx_n_u_solveBendersSubproblem __pyx_string_tab[3009]
#define __pyx_n_u_solveConcurrent __pyx_string_tab[3010]
#define __pyx_n_u_solveDiveLP __pyx_string_tab[3011]
#define __pyx_n_u_solveProbingLP __pyx_string_tab[3012]
#define __pyx_n_u_solvecip __pyx_string_tab[3013]
#define __pyx_n_u_solving __pyx_string_tab[3014]
#define __pyx_n_u_solving_time __pyx_string_tab[3015]
#define __pyx_n_u_sortAndCons __pyx_string_tab[3016]
#define __pyx_n_u_sorted __pyx_string_tab[3017]
#define __pyx_n_u_sourceModel __pyx_string_tab[3018]
#define __pyx_n_u_source_vars __pyx_string_tab[3019]
#define __pyx_n_u_sourceconstraint __pyx_string_tab[3020]
#define __pyx_n_u_split __pyx_string_tab[3021]
#define __pyx_n_u_split_con __pyx_string_tab[3022]
#define __pyx_n_u_split_line __pyx_string_tab[3023]
#define __pyx_n_u_split_result __pyx_string_tab[3024]
#define __pyx_n_u_split_var __pyx_string_tab[3025]
#define __pyx_n_u_splitext __pyx_string_tab[3026]
#define __pyx_n_u_sqrcoef __pyx_string_tab[3027]
#define __pyx_n_u_sqrexpr __pyx_string_tab[3028]
#define __pyx_n_u_sqrt __pyx_string_tab[3029]
#define __pyx_n_u_stacklevel __pyx_string_tab[3030]
#define __pyx_n_u_stage_check __pyx_string_tab[3031]
#define __pyx_n_u_stallnodelimit __pyx_string_tab[3032]
#define __pyx_n_u_start __pyx_string_tab[3033]
#define __pyx_n_u_startDive __pyx_string_tab[3034]
#define __pyx_n_u_startProbing __pyx_string_tab[3035]
#define __pyx_n_u_startStrongbranch __pyx_string_tab[3036]
#define __pyx_n_u_startnconss __pyx_string_tab[3037]
#define __pyx_n_u_startnvars __pyx_string_tab[3038]
#define __pyx_n_u_stat __pyx_string_tab[3039]
#define __pyx_n_u_stat_name __pyx_string_tab[3040]
#define __pyx_n_u_state __pyx_string_tab[3041]
#define __pyx_n_u_static_only __pyx_string_tab[3042]
#define __pyx_n_u_staticmethod __pyx_string_tab[3043]
#define __pyx_n_u_stats __pyx_string_tab[3044]
#define __pyx_n_u_status __pyx_string_tab[3045]
#define __pyx_n_u_stderr __pyx_string_tab[3046]
#define __pyx_n_u_stdout __pyx_string_tab[3047]
#define __pyx_n_u_stdpriority __pyx_string_tab[3048]
#define __pyx_n_u_step __pyx_string_tab[3049]
#define __pyx_n_u_stickingatnode __pyx_string_tab[3050]
#define __pyx_n_u_stop __pyx_string_tab[3051]
#define __pyx_n_u_stopearly __pyx_string_tab[3052]
#define __pyx_n_u_stored __pyx_string_tab[3053]
#define __pyx_n_u_str __pyx_string_tab[3054]
#define __pyx_n_u_str_absfile __pyx_string_tab[3055]
#define __pyx_n_u_str_conversion __pyx_string_tab[3056]
#define __pyx_n_u_strip __pyx_string_tab[3057]
#define __pyx_n_u_struct __pyx_string_tab[3058]
#define __pyx_n_u_sub_model __pyx_string_tab[3059]
#define __pyx_n_u_subprob __pyx_string_tab[3060]
#define __pyx_n_u_subproblem __pyx_string_tab[3061]
#define __pyx_n_u_subproblems __pyx_string_tab[3062]
#define __pyx_n_u_subprobs __pyx_string_tab[3063]
#define __pyx_n_u_subscip __pyx_string_tab[3064]
#define __pyx_n_u_subscip_sol __pyx_string_tab[3065]
#define __pyx_n_u_success __pyx_string_tab[3066]
#define __pyx_n_u_sum __pyx_string_tab[3067]
#define __pyx_n_u_sumexpr __pyx_string_tab[3068]
#define __pyx_n_u_super __pyx_string_tab[3069]
#define __pyx_n_u_suppress_warnings __pyx_string_tab[3070]
#define __pyx_n_u_sys __pyx_string_tab[3071]
#define __pyx_n_u_t __pyx_string_tab[3072]
#define __pyx_n_u_take_ownership __pyx_string_tab[3073]
#define __pyx_n_u_target __pyx_string_tab[3074]
#define __pyx_n_u_targetSol __pyx_string_tab[3075]
#define __pyx_n_u_targetcons __pyx_string_tab[3076]
#define __pyx_n_u_targetvalue __pyx_string_tab[3077]
#define __pyx_n_u_temp_cons __pyx_string_tab[3078]
#define __pyx_n_u_term __pyx_string_tab[3079]
#define __pyx_n_u_termcoefs __pyx_string_tab[3080]
#define __pyx_n_u_termidx __pyx_string_tab[3081]
#define __pyx_n_u_termlist __pyx_string_tab[3082]
#define __pyx_n_u_terms __pyx_string_tab[3083]
#define __pyx_n_u_test __pyx_string_tab[3084]
#define __pyx_n_u_threadsafe __pyx_string_tab[3085]
#define __pyx_n_u_throw __pyx_string_tab[3086]
#define __pyx_n_u_tightenVarLb __pyx_string_tab[3087]
#define __pyx_n_u_tightenVarLbGlobal __pyx_string_tab[3088]
#define __pyx_n_u_tightenVarUb __pyx_string_tab[3089]
#define __pyx_n_u_tightenVarUbGlobal __pyx_string_tab[3090]
#define __pyx_n_u_tightened __pyx_string_tab[3091]
#define __pyx_n_u_timelimit __pyx_string_tab[3092]
#define __pyx_n_u_timing __pyx_string_tab[3093]
#define __pyx_n_u_timingmask __pyx_string_tab[3094]
#define __pyx_n_u_tmp __pyx_string_tab[3095]
#define __pyx_n_u_to_fix __pyx_string_tab[3096]
#define __pyx_n_u_to_ptr __pyx_string_tab[3097]
#define __pyx_n_u_total __pyx_string_tab[3098]
#define __pyx_n_u_total_time __pyx_string_tab[3099]
#define __pyx_n_u_totalnodelimit __pyx_string_tab[3100]
#define __pyx_n_u_trans __pyx_string_tab[3101]
#define __pyx_n_u_transcons __pyx_string_tab[3102]
#define __pyx_n_u_transformed __pyx_string_tab[3103]
#define __pyx_n_u_translate __pyx_string_tab[3104]
#define __pyx_n_u_translateSubSol __pyx_string_tab[3105]
#define __pyx_n_u_transpose __pyx_string_tab[3106]
#define __pyx_n_u_treated_keys __pyx_string_tab[3107]
#define __pyx_n_u_treated_result __pyx_string_tab[3108]
#define __pyx_n_u_true __pyx_string_tab[3109]
#define __pyx_n_u_truediv __pyx_string_tab[3110]
#define __pyx_n_u_trySol __pyx_string_tab[3111]
#define __pyx_n_u_tvar __pyx_string_tab[3112]
#define __pyx_n_u_typing __pyx_string_tab[3113]
#define __pyx_n_u_ub __pyx_string_tab[3114]
#define __pyx_n_u_ubs __pyx_string_tab[3115]
#define __pyx_n_u_ufunc __pyx_string_tab[3116]
#define __pyx_n_u_unary_exprs __pyx_string_tab[3117]
#define __pyx_n_u_unbounded __pyx_string_tab[3118]
#define __pyx_n_u_unknown __pyx_string_tab[3119]
#define __pyx_n_u_unpack __pyx_string_tab[3120]
#define __pyx_n_u_up __pyx_string_tab[3121]
#define __pyx_n_u_upchild __pyx_string_tab[3122]
#define __pyx_n_u_upconflict __pyx_string_tab[3123]
#define __pyx_n_u_update __pyx_string_tab[3124]
#define __pyx_n_u_updateBendersLowerbounds __pyx_string_tab[3125]
#define __pyx_n_u_updateNodeLowerbound __pyx_string_tab[3126]
#define __pyx_n_u_updateVarPseudocost __pyx_string_tab[3127]
#define __pyx_n_u_upinf __pyx_string_tab[3128]
#define __pyx_n_u_upper __pyx_string_tab[3129]
#define __pyx_n_u_upvalid __pyx_string_tab[3130]
#define __pyx_n_u_use_setstate __pyx_string_tab[3131]
#define __pyx_n_u_user_interrupt __pyx_string_tab[3132]
#define __pyx_n_u_user_locale __pyx_string_tab[3133]
#define __pyx_n_u_userinterrupt __pyx_string_tab[3134]
#define __pyx_n_u_usessubscip __pyx_string_tab[3135]
#define __pyx_n_u_v __pyx_string_tab[3136]
#define __pyx_n_u_v_wrapper __pyx_string_tab[3137]
#define __pyx_n_u_val __pyx_string_tab[3138]
#define __pyx_n_u_val1 __pyx_string_tab[3139]
#define __pyx_n_u_val2 __pyx_string_tab[3140]
#define __pyx_n_u_valdelta __pyx_string_tab[3141]
#define __pyx_n_u_valid __pyx_string_tab[3142]
#define __pyx_n_u_validnode __pyx_string_tab[3143]
#define __pyx_n_u_vals __pyx_string_tab[3144]
#define __pyx_n_u_vals_2 __pyx_string_tab[3145]
#define __pyx_n_u_valsdict __pyx_string_tab[3146]
#define __pyx_n_u_value __pyx_string_tab[3147]
#define __pyx_n_u_value_to_array __pyx_string_tab[3148]
#define __pyx_n_u_valuenode __pyx_string_tab[3149]
#define __pyx_n_u_values __pyx_string_tab[3150]
#define __pyx_n_u_var __pyx_string_tab[3151]
#define __pyx_n_u_var1 __pyx_string_tab[3152]
#define __pyx_n_u_var2 __pyx_string_tab[3153]
#define __pyx_n_u_varMayRound __pyx_string_tab[3154]
#define __pyx_n_u_var_dict __pyx_string_tab[3155]
#define __pyx_n_u_var_name __pyx_string_tab[3156]
#define __pyx_n_u_var_stats __pyx_string_tab[3157]
#define __pyx_n_u_var_type __pyx_string_tab[3158]
#define __pyx_n_u_varbound __pyx_string_tab[3159]
#define __pyx_n_u_varexpr __pyx_string_tab[3160]
#define __pyx_n_u_varexprs __pyx_string_tab[3161]
#define __pyx_n_u_variable __pyx_string_tab[3162]
#define __pyx_n_u_variables __pyx_string_tab[3163]
#define __pyx_n_u_variables_2 __pyx_string_tab[3164]
#define __pyx_n_u_varidx __pyx_string_tab[3165]
#define __pyx_n_u_varmap __pyx_string_tab[3166]
#define __pyx_n_u_vars __pyx_string_tab[3167]
#define __pyx_n_u_vars_2 __pyx_string_tab[3168]
#define __pyx_n_u_vars_array __pyx_string_tab[3169]
#define __pyx_n_u_vars_wrapper __pyx_string_tab[3170]
#define __pyx_n_u_varstatus __pyx_string_tab[3171]
#define __pyx_n_u_vartype __pyx_string_tab[3172]
#define __pyx_n_u_varx __pyx_string_tab[3173]
#define __pyx_n_u_vary __pyx_string_tab[3174]
#define __pyx_n_u_vec_eq __pyx_string_tab[3175]
#define __pyx_n_u_vec_evaluate __pyx_string_tab[3176]
#define __pyx_n_u_vec_ge __pyx_string_tab[3177]
#define __pyx_n_u_vec_le __pyx_string_tab[3178]
#define __pyx_n_u_vectorize __pyx_string_tab[3179]
#define __pyx_n_u_verbose __pyx_string_tab[3180]
#define __pyx_n_u_version __pyx_string_tab[3181]
#define __pyx_n_u_version_info __pyx_string_tab[3182]
#define __pyx_n_u_view __pyx_string_tab[3183]
#define __pyx_n_u_vtype __pyx_string_tab[3184]
#define __pyx_n_u_vtypes __pyx_string_tab[3185]
#define __pyx_n_u_w __pyx_string_tab[3186]
#define __pyx_n_u_warn __pyx_string_tab[3187]
#define __pyx_n_u_warnings __pyx_string_tab[3188]
#define __pyx_n_u_weakref __pyx_string_tab[3189]
#define __pyx_n_u_weight __pyx_string_tab[3190]
#define __pyx_n_u_weights __pyx_string_tab[3191]
#define __pyx_n_u_weights_array __pyx_string_tab[3192]
#define __pyx_n_u_wrapper __pyx_string_tab[3193]
#define __pyx_n_u_write __pyx_string_tab[3194]
#define __pyx_n_u_writeBestSol __pyx_string_tab[3195]
#define __pyx_n_u_writeBestTransSol __pyx_string_tab[3196]
#define __pyx_n_u_writeLP __pyx_string_tab[3197]
#define __pyx_n_u_writeMIP __pyx_string_tab[3198]
#define __pyx_n_u_writeName __pyx_string_tab[3199]
#define __pyx_n_u_writeParams __pyx_string_tab[3200]
#define __pyx_n_u_writeProblem __pyx_string_tab[3201]
#define __pyx_n_u_writeSol __pyx_string_tab[3202]
#define __pyx_n_u_writeStatistics __pyx_string_tab[3203]
#define __pyx_n_u_writeStatisticsJson __pyx_string_tab[3204]
#define __pyx_n_u_writeTransSol __pyx_string_tab[3205]
#define __pyx_n_u_write_zeros __pyx_string_tab[3206]
#define __pyx_n_u_x __pyx_string_tab[3207]
#define __pyx_n_u_zero __pyx_string_tab[3208]
#define __pyx_n_u_zeros __pyx_string_tab[3209]
#define __pyx_n_u_zip __pyx_string_tab[3210]
#define __pyx_kp_b_iso88591_0_6_A_q_3a_q_z_RRTTZZdde_6_2Q_A __pyx_string_tab[3211]
#define __pyx_kp_b_iso88591_0_A_AT_q __pyx_string_tab[3212]
#define __pyx_kp_b_iso88591_0_Jaq __pyx_string_tab[3213]
#define __pyx_kp_b_iso88591_0_fJay_a_j_A_S_Qd_1_aq_Qd_1_j_A __pyx_string_tab[3214]
#define __pyx_kp_b_iso88591_0_q __pyx_string_tab[3215]
#define __pyx_kp_b_iso88591_1 __pyx_string_tab[3216]
#define __pyx_kp_b_iso88591_1D_Cz_FRUUV __pyx_string_tab[3217]
#define __pyx_kp_b_iso88591_1F __pyx_string_tab[3218]
#define __pyx_kp_b_iso88591_1F_2 __pyx_string_tab[3219]
#define __pyx_kp_b_iso88591_1_1D_AT __pyx_string_tab[3220]
#define __pyx_kp_b_iso88591_1_1_L_Q_4q_AT_at1_q_Qe1D_E_aq __pyx_string_tab[3221]
#define __pyx_kp_b_iso88591_1_1_q_A_1D __pyx_string_tab[3222]
#define __pyx_kp_b_iso88591_1_2 __pyx_string_tab[3223]
#define __pyx_kp_b_iso88591_1_3 __pyx_string_tab[3224]
#define __pyx_kp_b_iso88591_1_4 __pyx_string_tab[3225]
#define __pyx_kp_b_iso88591_1_5 __pyx_string_tab[3226]
#define __pyx_kp_b_iso88591_1_AQ_avRq_6_q_b_q_wd_Zt9A_Biy_5 __pyx_string_tab[3227]
#define __pyx_kp_b_iso88591_1_A_AT_1_y __pyx_string_tab[3228]
#define __pyx_kp_b_iso88591_1_Q_4O1_AL_AQ_iq_AQ_A_5_1_3as_W __pyx_string_tab[3229]
#define __pyx_kp_b_iso88591_1_QfA_at1_L_XQ_A_A_havQ_ha_q __pyx_string_tab[3230]
#define __pyx_kp_b_iso88591_1_a_1D_A_Qd_q __pyx_string_tab[3231]
#define __pyx_kp_b_iso88591_1_fJay_a_j_A_4q_0_XQ_Qj_aq_t1_A __pyx_string_tab[3232]
#define __pyx_kp_b_iso88591_1_fJay_a_j_A_9Cq_Qd_a_Qd_a_j_1 __pyx_string_tab[3233]
#define __pyx_kp_b_iso88591_1_fJay_a_j_A_HA_F_1G4q_0_XQ_j_1 __pyx_string_tab[3234]
#define __pyx_kp_b_iso88591_1_k_Wjj_6_q_AT_D_Q_1D_4s_A_L_X __pyx_string_tab[3235]
#define __pyx_kp_b_iso88591_1_oQ_0_V_A_q_HA_awVYY___Zy_UV_5 __pyx_string_tab[3236]
#define __pyx_kp_b_iso88591_2V1D_a_G2XQd_AWD_q __pyx_string_tab[3237]
#define __pyx_kp_b_iso88591_2_4s_ha_q_1_at83a_q_HCq_q __pyx_string_tab[3238]
#define __pyx_kp_b_iso88591_2_6 __pyx_string_tab[3239]
#define __pyx_kp_b_iso88591_2_AZq_HC_AQ_q __pyx_string_tab[3240]
#define __pyx_kp_b_iso88591_2_t1F_1G3b_B_F_A_Q_2V2S_F_U_1_H __pyx_string_tab[3241]
#define __pyx_kp_b_iso88591_31F __pyx_string_tab[3242]
#define __pyx_kp_b_iso88591_31_A_Qd_G1LXYYZ_1 __pyx_string_tab[3243]
#define __pyx_kp_b_iso88591_33Oq_fJay_a_j_A_HA_F_1G4q_Qd_q __pyx_string_tab[3244]
#define __pyx_kp_b_iso88591_3c __pyx_string_tab[3245]
#define __pyx_kp_b_iso88591_44EEXXo_p_B_B_M_M_N_8_1_q_HAXV __pyx_string_tab[3246]
#define __pyx_kp_b_iso88591_4t9Cs_Qe1_s_q_5_A_AT_gUVVW_9Cq __pyx_string_tab[3247]
#define __pyx_kp_b_iso88591_5QfA __pyx_string_tab[3248]
#define __pyx_kp_b_iso88591_6 __pyx_string_tab[3249]
#define __pyx_kp_b_iso88591_66GGZZq_r_D_D_S_S_T_8_1_hhfAZ_Q __pyx_string_tab[3250]
#define __pyx_kp_b_iso88591_77K_Z_fJay_a_j_A_1_nAQ_haq_s_5 __pyx_string_tab[3251]
#define __pyx_kp_b_iso88591_7_A_4t9Cs_Qe1_s_q_5_A_AT_gUVVW __pyx_string_tab[3252]
#define __pyx_kp_b_iso88591_88UUV_fJay_a_j_A_HA_F_1G4q_4xxv __pyx_string_tab[3253]
#define __pyx_kp_b_iso88591_99K_YZ_fJay_a_j_A_gQa_A_AT_A_1 __pyx_string_tab[3254]
#define __pyx_kp_b_iso88591_9_A_1D_d_QRR____1 __pyx_string_tab[3255]
#define __pyx_kp_b_iso88591_9_A_1D_d_QRR____1_2 __pyx_string_tab[3256]
#define __pyx_kp_b_iso88591_9_A_N_a_9J_J_z_UUWW_eef_Qe6_1_i __pyx_string_tab[3257]
#define __pyx_kp_b_iso88591_A __pyx_string_tab[3258]
#define __pyx_kp_b_iso88591_A0_1_A_Qd_Qd_UVV___a_t7_7 __pyx_string_tab[3259]
#define __pyx_kp_b_iso88591_A0_E_AS_T_d_XYaq_N_AWBa_M_q_1G2Q __pyx_string_tab[3260]
#define __pyx_kp_b_iso88591_A0_t1_Qa_HA_t1Cs_N_AWBa_Bhiq_D_v __pyx_string_tab[3261]
#define __pyx_kp_b_iso88591_AAQQR_1_2_4xs_WT_aagghhllmmn34I __pyx_string_tab[3262]
#define __pyx_kp_b_iso88591_AB_A_hay_Qa_QnAQ_QgQd_e5_QjXYY_e __pyx_string_tab[3263]
#define __pyx_kp_b_iso88591_AD_A_q_HC_6QRRVVWWbbccllmmuuvvw __pyx_string_tab[3264]
#define __pyx_kp_b_iso88591_AV1 __pyx_string_tab[3265]
#define __pyx_kp_b_iso88591_AV1_2 __pyx_string_tab[3266]
#define __pyx_kp_b_iso88591_AV4uARq __pyx_string_tab[3267]
#define __pyx_kp_b_iso88591_AZq_HAQ_1_1_7YYZZ_1_7YYZZ_q __pyx_string_tab[3268]
#define __pyx_kp_b_iso88591_A_0_1_AQ_5_1_4q_QoV1 __pyx_string_tab[3269]
#define __pyx_kp_b_iso88591_A_1D __pyx_string_tab[3270]
#define __pyx_kp_b_iso88591_A_1D_1 __pyx_string_tab[3271]
#define __pyx_kp_b_iso88591_A_1D_2 __pyx_string_tab[3272]
#define __pyx_kp_b_iso88591_A_1D_3 __pyx_string_tab[3273]
#define __pyx_kp_b_iso88591_A_1D_4 __pyx_string_tab[3274]
#define __pyx_kp_b_iso88591_A_1D_4q_q __pyx_string_tab[3275]
#define __pyx_kp_b_iso88591_A_1D_AQ_9_q __pyx_string_tab[3276]
#define __pyx_kp_b_iso88591_A_1D_Qd_q_E_aq_y_q_HE_q __pyx_string_tab[3277]
#define __pyx_kp_b_iso88591_A_1D_WAQ_q __pyx_string_tab[3278]
#define __pyx_kp_b_iso88591_A_1D_a __pyx_string_tab[3279]
#define __pyx_kp_b_iso88591_A_1D_a_2 __pyx_string_tab[3280]
#define __pyx_kp_b_iso88591_A_1D_q __pyx_string_tab[3281]
#define __pyx_kp_b_iso88591_A_1M_hj_A __pyx_string_tab[3282]
#define __pyx_kp_b_iso88591_A_1_0_Q __pyx_string_tab[3283]
#define __pyx_kp_b_iso88591_A_1_1A_Qd_Qd __pyx_string_tab[3284]
#define __pyx_kp_b_iso88591_A_1_A_4xwd_4q_1IUVVW_t7_7 __pyx_string_tab[3285]
#define __pyx_kp_b_iso88591_A_1_Q_AT __pyx_string_tab[3286]
#define __pyx_kp_b_iso88591_A_2 __pyx_string_tab[3287]
#define __pyx_kp_b_iso88591_A_2V1D_a_G2XQa_AWD_Ya_q __pyx_string_tab[3288]
#define __pyx_kp_b_iso88591_A_2V1D_a_G2XQa_AWD_q __pyx_string_tab[3289]
#define __pyx_kp_b_iso88591_A_3 __pyx_string_tab[3290]
#define __pyx_kp_b_iso88591_A_31D_vWAV1D_E_at_a __pyx_string_tab[3291]
#define __pyx_kp_b_iso88591_A_3at83a_1_3d __pyx_string_tab[3292]
#define __pyx_kp_b_iso88591_A_3c_AT_A_Qd_l_PQ __pyx_string_tab[3293]
#define __pyx_kp_b_iso88591_A_3c_AT_A_XS_1 __pyx_string_tab[3294]
#define __pyx_kp_b_iso88591_A_3c_AT_A_hc_A __pyx_string_tab[3295]
#define __pyx_kp_b_iso88591_A_3c_AT_A_q_HC __pyx_string_tab[3296]
#define __pyx_kp_b_iso88591_A_3c_Qd_A_Qd_l_PQ __pyx_string_tab[3297]
#define __pyx_kp_b_iso88591_A_3c_Qd_A_XS_1 __pyx_string_tab[3298]
#define __pyx_kp_b_iso88591_A_3c_Qd_A_hc_A __pyx_string_tab[3299]
#define __pyx_kp_b_iso88591_A_3c_Qd_A_q_HC __pyx_string_tab[3300]
#define __pyx_kp_b_iso88591_A_4 __pyx_string_tab[3301]
#define __pyx_kp_b_iso88591_A_4AT_7_Q_1_G1A __pyx_string_tab[3302]
#define __pyx_kp_b_iso88591_A_4A_5Q_q_q_EQ_QfBa_4wc_QgRq_5_s __pyx_string_tab[3303]
#define __pyx_kp_b_iso88591_A_4A_9_9_7q_1_7q_A_9_1_J_4z_1_1 __pyx_string_tab[3304]
#define __pyx_kp_b_iso88591_A_4L_1_L_z_UUWW_eef_Qe6_1_ivQ __pyx_string_tab[3305]
#define __pyx_kp_b_iso88591_A_4_1M_Qa_Kq __pyx_string_tab[3306]
#define __pyx_kp_b_iso88591_A_4_4q_1_F_V1F_A_A_V1_auBa_E_aq __pyx_string_tab[3307]
#define __pyx_kp_b_iso88591_A_4_AQ_WAW_8_q __pyx_string_tab[3308]
#define __pyx_kp_b_iso88591_A_4_AT_Q_D_1A_AT __pyx_string_tab[3309]
#define __pyx_kp_b_iso88591_A_4_D_1A_4xy_4xt1 __pyx_string_tab[3310]
#define __pyx_kp_b_iso88591_A_4_Q_1_F_V1F_A_A_fA_auBa_E_aq_q __pyx_string_tab[3311]
#define __pyx_kp_b_iso88591_A_4q __pyx_string_tab[3312]
#define __pyx_kp_b_iso88591_A_4q_2 __pyx_string_tab[3313]
#define __pyx_kp_b_iso88591_A_4q_3 __pyx_string_tab[3314]
#define __pyx_kp_b_iso88591_A_4q_4 __pyx_string_tab[3315]
#define __pyx_kp_b_iso88591_A_4q_5 __pyx_string_tab[3316]
#define __pyx_kp_b_iso88591_A_4q_6_A_1_3a_1_1 __pyx_string_tab[3317]
#define __pyx_kp_b_iso88591_A_4q_AQ_q_HN_4q __pyx_string_tab[3318]
#define __pyx_kp_b_iso88591_A_4q_aq_1D __pyx_string_tab[3319]
#define __pyx_kp_b_iso88591_A_4q_aq_4q __pyx_string_tab[3320]
#define __pyx_kp_b_iso88591_A_4q_q_z_ha __pyx_string_tab[3321]
#define __pyx_kp_b_iso88591_A_4q_q_z_iq __pyx_string_tab[3322]
#define __pyx_kp_b_iso88591_A_4q_waq __pyx_string_tab[3323]
#define __pyx_kp_b_iso88591_A_4s_Qd_5_A_AT_gUVVW_9Cq_hd_a_c __pyx_string_tab[3324]
#define __pyx_kp_b_iso88591_A_4s_at1_5_A_AT_gUVVW_9Cq_hd_a_c __pyx_string_tab[3325]
#define __pyx_kp_b_iso88591_A_4s_s_U_Q_AQ_Qd_Q __pyx_string_tab[3326]
#define __pyx_kp_b_iso88591_A_4xxq __pyx_string_tab[3327]
#define __pyx_kp_b_iso88591_A_4y_3a_G4xq_1E __pyx_string_tab[3328]
#define __pyx_kp_b_iso88591_A_4y_81_A_4yPQ_1E_T_gT_F_S_VW_E __pyx_string_tab[3329]
#define __pyx_kp_b_iso88591_A_4y_81_A_4yPQ_A_q_A __pyx_string_tab[3330]
#define __pyx_kp_b_iso88591_A_4y_8_7q_7q_A_4yPQ_A_a_q_HN_4q __pyx_string_tab[3331]
#define __pyx_kp_b_iso88591_A_4z_Cq_1D_t1_oQd_A_xt7_fFR__aaj __pyx_string_tab[3332]
#define __pyx_kp_b_iso88591_A_5 __pyx_string_tab[3333]
#define __pyx_kp_b_iso88591_A_5Qd_7_8_1_E_aq __pyx_string_tab[3334]
#define __pyx_kp_b_iso88591_A_5Qd_t_1A __pyx_string_tab[3335]
#define __pyx_kp_b_iso88591_A_5_A_AT_gUVVW_4_A_XT_Qa_1_1_c_a __pyx_string_tab[3336]
#define __pyx_kp_b_iso88591_A_5_A_AT_gUVVW_4y_1_LA_AT_Q_Qd_a __pyx_string_tab[3337]
#define __pyx_kp_b_iso88591_A_5_A_AT_gUVVW_4y_1_QQR_Qd_a __pyx_string_tab[3338]
#define __pyx_kp_b_iso88591_A_5_A_AT_gUVVW_4y_1_QQR_XT_XT_1 __pyx_string_tab[3339]
#define __pyx_kp_b_iso88591_A_5_A_AT_gUVVW_4y_1_YYZ_4_D_1A_1 __pyx_string_tab[3340]
#define __pyx_kp_b_iso88591_A_5_A_AT_gUVVW_4y_1_YYZ_4_D_1A_Q __pyx_string_tab[3341]
#define __pyx_kp_b_iso88591_A_5_A_AT_gUVVW_9Cq_4xt_s_UV_c_AT __pyx_string_tab[3342]
#define __pyx_kp_b_iso88591_A_5_A_AT_gUVVW_q __pyx_string_tab[3343]
#define __pyx_kp_b_iso88591_A_5_A_AT_gUVVW_y_1 __pyx_string_tab[3344]
#define __pyx_kp_b_iso88591_A_5_A_AT_gUVVW_y_1_2 __pyx_string_tab[3345]
#define __pyx_kp_b_iso88591_A_5_A_AT_gUVVW_y_Jl_Kq __pyx_string_tab[3346]
#define __pyx_kp_b_iso88591_A_5_A_AT_gUVVW_y_ZZ_9Cq_l_4q_A_A __pyx_string_tab[3347]
#define __pyx_kp_b_iso88591_A_5_A_AT_gUVVW_y_ZZ_at84q __pyx_string_tab[3348]
#define __pyx_kp_b_iso88591_A_5_A_AX_RYYZZ_y_7_bbc_q_HHA_at8 __pyx_string_tab[3349]
#define __pyx_kp_b_iso88591_A_6_U_q_HC_B_4uA_q_HC_BWWXXY_4uA __pyx_string_tab[3350]
#define __pyx_kp_b_iso88591_A_6_hfA_G2XQa_7_at9A_q __pyx_string_tab[3351]
#define __pyx_kp_b_iso88591_A_6_hfA_G2XQa_7_at_A_q __pyx_string_tab[3352]
#define __pyx_kp_b_iso88591_A_6_hfA_G2XQd_7_at6_q __pyx_string_tab[3353]
#define __pyx_kp_b_iso88591_A_6_hfA_G2XQd_7_at9A_q __pyx_string_tab[3354]
#define __pyx_kp_b_iso88591_A_7_1D __pyx_string_tab[3355]
#define __pyx_kp_b_iso88591_A_7_1D_2 __pyx_string_tab[3356]
#define __pyx_kp_b_iso88591_A_7_4q __pyx_string_tab[3357]
#define __pyx_kp_b_iso88591_A_7_AT __pyx_string_tab[3358]
#define __pyx_kp_b_iso88591_A_7_Q_5_a_vS_wat1D_AS_Qa_s_A_wat __pyx_string_tab[3359]
#define __pyx_kp_b_iso88591_A_7_Qd __pyx_string_tab[3360]
#define __pyx_kp_b_iso88591_A_7_q_A __pyx_string_tab[3361]
#define __pyx_kp_b_iso88591_A_7_q_at7_K1_t_s_e3e4_1D_sRS_gQb __pyx_string_tab[3362]
#define __pyx_kp_b_iso88591_A_7q_A_5_1_1_Q_1_Q_1_Q_1A_1A __pyx_string_tab[3363]
#define __pyx_kp_b_iso88591_A_7q_A_5_1_1_Q_1_Q_1_Q_1_1A __pyx_string_tab[3364]
#define __pyx_kp_b_iso88591_A_7q_A_uA_G1A __pyx_string_tab[3365]
#define __pyx_kp_b_iso88591_A_83a_4xq_7_A_1_G1A __pyx_string_tab[3366]
#define __pyx_kp_b_iso88591_A_8_Q_4q_31D_r_hat4uE __pyx_string_tab[3367]
#define __pyx_kp_b_iso88591_A_8_Q_Q_1_nF_A_Qd_l_81_wc_k_1D_E __pyx_string_tab[3368]
#define __pyx_kp_b_iso88591_A_8_a_uN_7_Q_vS_iq_AV1_7_Q_vT_9B __pyx_string_tab[3369]
#define __pyx_kp_b_iso88591_A_9D_Zq_t5_U_q_d_qPQ __pyx_string_tab[3370]
#define __pyx_kp_b_iso88591_A_A __pyx_string_tab[3371]
#define __pyx_kp_b_iso88591_A_AT __pyx_string_tab[3372]
#define __pyx_kp_b_iso88591_A_AT_2 __pyx_string_tab[3373]
#define __pyx_kp_b_iso88591_A_AT_3 __pyx_string_tab[3374]
#define __pyx_kp_b_iso88591_A_AT_4 __pyx_string_tab[3375]
#define __pyx_kp_b_iso88591_A_AT_5 __pyx_string_tab[3376]
#define __pyx_kp_b_iso88591_A_AT_6 __pyx_string_tab[3377]
#define __pyx_kp_b_iso88591_A_AT_7 __pyx_string_tab[3378]
#define __pyx_kp_b_iso88591_A_AT_83a_1_t_AQ __pyx_string_tab[3379]
#define __pyx_kp_b_iso88591_A_AT_A __pyx_string_tab[3380]
#define __pyx_kp_b_iso88591_A_AT_A_2 __pyx_string_tab[3381]
#define __pyx_kp_b_iso88591_A_AT_F_Q __pyx_string_tab[3382]
#define __pyx_kp_b_iso88591_A_AT_S_1_s_1_s_1_s_1_s_1_s_1_s_1 __pyx_string_tab[3383]
#define __pyx_kp_b_iso88591_A_AYat1 __pyx_string_tab[3384]
#define __pyx_kp_b_iso88591_A_AYat1_q_HN_4q __pyx_string_tab[3385]
#define __pyx_kp_b_iso88591_A_AZq_HAQ_A_q_q __pyx_string_tab[3386]
#define __pyx_kp_b_iso88591_A_AZq_HC_q_AQ_1 __pyx_string_tab[3387]
#define __pyx_kp_b_iso88591_A_A_1D __pyx_string_tab[3388]
#define __pyx_kp_b_iso88591_A_A_1D_1 __pyx_string_tab[3389]
#define __pyx_kp_b_iso88591_A_A_1D_1_2 __pyx_string_tab[3390]
#define __pyx_kp_b_iso88591_A_A_1D_1_3 __pyx_string_tab[3391]
#define __pyx_kp_b_iso88591_A_A_1D_2 __pyx_string_tab[3392]
#define __pyx_kp_b_iso88591_A_A_1D_A __pyx_string_tab[3393]
#define __pyx_kp_b_iso88591_A_A_1D_L_a __pyx_string_tab[3394]
#define __pyx_kp_b_iso88591_A_A_1D_L_t_AQ __pyx_string_tab[3395]
#define __pyx_kp_b_iso88591_A_A_1D_a __pyx_string_tab[3396]
#define __pyx_kp_b_iso88591_A_A_1D_e5 __pyx_string_tab[3397]
#define __pyx_kp_b_iso88591_A_A_1D_j __pyx_string_tab[3398]
#define __pyx_kp_b_iso88591_A_A_1_gV7R_nn_C_C_D_A_q_HA_1_7q __pyx_string_tab[3399]
#define __pyx_kp_b_iso88591_A_A_4q __pyx_string_tab[3400]
#define __pyx_kp_b_iso88591_A_A_4vQ __pyx_string_tab[3401]
#define __pyx_kp_b_iso88591_A_A_4vQhfF_q __pyx_string_tab[3402]
#define __pyx_kp_b_iso88591_A_A_4xq __pyx_string_tab[3403]
#define __pyx_kp_b_iso88591_A_A_4xq_uG1G1D_E_aq __pyx_string_tab[3404]
#define __pyx_kp_b_iso88591_A_A_4xs_Qa_t_1A __pyx_string_tab[3405]
#define __pyx_kp_b_iso88591_A_A_4xt_q __pyx_string_tab[3406]
#define __pyx_kp_b_iso88591_A_A_AT __pyx_string_tab[3407]
#define __pyx_kp_b_iso88591_A_A_AT_2 __pyx_string_tab[3408]
#define __pyx_kp_b_iso88591_A_A_AT_3 __pyx_string_tab[3409]
#define __pyx_kp_b_iso88591_A_A_AT_4 __pyx_string_tab[3410]
#define __pyx_kp_b_iso88591_A_A_AT_5 __pyx_string_tab[3411]
#define __pyx_kp_b_iso88591_A_A_AT_K_1 __pyx_string_tab[3412]
#define __pyx_kp_b_iso88591_A_A_AT_Ks_Q __pyx_string_tab[3413]
#define __pyx_kp_b_iso88591_A_A_AT_KzQ __pyx_string_tab[3414]
#define __pyx_kp_b_iso88591_A_A_AT_Qa_uG1IQd_e5 __pyx_string_tab[3415]
#define __pyx_kp_b_iso88591_A_A_AT_a_7_1 __pyx_string_tab[3416]
#define __pyx_kp_b_iso88591_A_A_AT_q __pyx_string_tab[3417]
#define __pyx_kp_b_iso88591_A_A_AT_q_q __pyx_string_tab[3418]
#define __pyx_kp_b_iso88591_A_A_Q __pyx_string_tab[3419]
#define __pyx_kp_b_iso88591_A_A_Q_2 __pyx_string_tab[3420]
#define __pyx_kp_b_iso88591_A_A_Qd __pyx_string_tab[3421]
#define __pyx_kp_b_iso88591_A_A_Qd_2 __pyx_string_tab[3422]
#define __pyx_kp_b_iso88591_A_A_Qd_L_PQQR_4q_az_aq_1_ZZ_q __pyx_string_tab[3423]
#define __pyx_kp_b_iso88591_A_A_Qd_Q __pyx_string_tab[3424]
#define __pyx_kp_b_iso88591_A_A_Qd_WT __pyx_string_tab[3425]
#define __pyx_kp_b_iso88591_A_A_Qd_WXXY_Qk_d_uAEUUccd __pyx_string_tab[3426]
#define __pyx_kp_b_iso88591_A_A_Qd_a __pyx_string_tab[3427]
#define __pyx_kp_b_iso88591_A_A_Qd_l __pyx_string_tab[3428]
#define __pyx_kp_b_iso88591_A_A_Qd_q __pyx_string_tab[3429]
#define __pyx_kp_b_iso88591_A_A_Qd_q_q __pyx_string_tab[3430]
#define __pyx_kp_b_iso88591_A_A_XQha __pyx_string_tab[3431]
#define __pyx_kp_b_iso88591_A_A_XS_YZ __pyx_string_tab[3432]
#define __pyx_kp_b_iso88591_A_A_XT __pyx_string_tab[3433]
#define __pyx_kp_b_iso88591_A_A_XT_2 __pyx_string_tab[3434]
#define __pyx_kp_b_iso88591_A_A_XT_Q __pyx_string_tab[3435]
#define __pyx_kp_b_iso88591_A_A_XWKq __pyx_string_tab[3436]
#define __pyx_kp_b_iso88591_A_A_a __pyx_string_tab[3437]
#define __pyx_kp_b_iso88591_A_A_at1 __pyx_string_tab[3438]
#define __pyx_kp_b_iso88591_A_A_at6 __pyx_string_tab[3439]
#define __pyx_kp_b_iso88591_A_A_at6_q __pyx_string_tab[3440]
#define __pyx_kp_b_iso88591_A_A_at81A_q __pyx_string_tab[3441]
#define __pyx_kp_b_iso88591_A_A_at81F_1_t7_4q_D_U_1 __pyx_string_tab[3442]
#define __pyx_kp_b_iso88591_A_A_at81F_1_wgQd_4t5_Qa __pyx_string_tab[3443]
#define __pyx_kp_b_iso88591_A_A_at83k __pyx_string_tab[3444]
#define __pyx_kp_b_iso88591_A_A_at83k_2 __pyx_string_tab[3445]
#define __pyx_kp_b_iso88591_A_A_at84_3a __pyx_string_tab[3446]
#define __pyx_kp_b_iso88591_A_A_at89A __pyx_string_tab[3447]
#define __pyx_kp_b_iso88591_A_A_at89A_2 __pyx_string_tab[3448]
#define __pyx_kp_b_iso88591_A_A_fAQ_q __pyx_string_tab[3449]
#define __pyx_kp_b_iso88591_A_A_hay_A_XYYccddppqqr_5_q_q_D_U __pyx_string_tab[3450]
#define __pyx_kp_b_iso88591_A_A_hc __pyx_string_tab[3451]
#define __pyx_kp_b_iso88591_A_A_hc_A __pyx_string_tab[3452]
#define __pyx_kp_b_iso88591_A_A_hd_a __pyx_string_tab[3453]
#define __pyx_kp_b_iso88591_A_A_hfA __pyx_string_tab[3454]
#define __pyx_kp_b_iso88591_A_A_q_A __pyx_string_tab[3455]
#define __pyx_kp_b_iso88591_A_A_q_A_2 __pyx_string_tab[3456]
#define __pyx_kp_b_iso88591_A_A_q_G4q __pyx_string_tab[3457]
#define __pyx_kp_b_iso88591_A_A_q_HD_A __pyx_string_tab[3458]
#define __pyx_kp_b_iso88591_A_A_q_HF __pyx_string_tab[3459]
#define __pyx_kp_b_iso88591_A_A_q_I_S_llqqr_A_AT_uA_q __pyx_string_tab[3460]
#define __pyx_kp_b_iso88591_A_B_0_XU_qP___Q __pyx_string_tab[3461]
#define __pyx_kp_b_iso88591_A_B_1_hd_aq_q __pyx_string_tab[3462]
#define __pyx_kp_b_iso88591_A_B_31D_q __pyx_string_tab[3463]
#define __pyx_kp_b_iso88591_A_B_4x_axqPQ_xq __pyx_string_tab[3464]
#define __pyx_kp_b_iso88591_A_B_4xq __pyx_string_tab[3465]
#define __pyx_kp_b_iso88591_A_B_4xq_q __pyx_string_tab[3466]
#define __pyx_kp_b_iso88591_A_B_4xs_Q __pyx_string_tab[3467]
#define __pyx_kp_b_iso88591_A_B_Q __pyx_string_tab[3468]
#define __pyx_kp_b_iso88591_A_B_at1 __pyx_string_tab[3469]
#define __pyx_kp_b_iso88591_A_B_hd_c_TU __pyx_string_tab[3470]
#define __pyx_kp_b_iso88591_A_B_q_HC __pyx_string_tab[3471]
#define __pyx_kp_b_iso88591_A_B_q_HD_C_RS __pyx_string_tab[3472]
#define __pyx_kp_b_iso88591_A_B_q_HD_C_RS_2 __pyx_string_tab[3473]
#define __pyx_kp_b_iso88591_A_B_q_HD_Cq __pyx_string_tab[3474]
#define __pyx_kp_b_iso88591_A_BfAT_q_G2XQa_QgT_l_q __pyx_string_tab[3475]
#define __pyx_kp_b_iso88591_A_BnAT __pyx_string_tab[3476]
#define __pyx_kp_b_iso88591_A_BnAT_Q __pyx_string_tab[3477]
#define __pyx_kp_b_iso88591_A_BnAT_m1 __pyx_string_tab[3478]
#define __pyx_kp_b_iso88591_A_BoQd_z_a __pyx_string_tab[3479]
#define __pyx_kp_b_iso88591_A_D_1Ct1_AZq_HC_1_q_q __pyx_string_tab[3480]
#define __pyx_kp_b_iso88591_A_D_AT_Q_A_XT_M __pyx_string_tab[3481]
#define __pyx_kp_b_iso88591_A_D_D_G1_Cwa_vS_V2Q_1_q __pyx_string_tab[3482]
#define __pyx_kp_b_iso88591_A_F_4xvQ_G2XQa_1G4q_IQ_q __pyx_string_tab[3483]
#define __pyx_kp_b_iso88591_A_F_4xvQ_G2XQa_1G4q_Ja_q __pyx_string_tab[3484]
#define __pyx_kp_b_iso88591_A_F_4xvQ_G2XQd_1G4q_G1_q __pyx_string_tab[3485]
#define __pyx_kp_b_iso88591_A_F_4xvQ_G2XQd_1G4q_IQ_q __pyx_string_tab[3486]
#define __pyx_kp_b_iso88591_A_F_4xvQ_G2XQd_1G4q_Ja_q __pyx_string_tab[3487]
#define __pyx_kp_b_iso88591_A_F_6_q_iq_a __pyx_string_tab[3488]
#define __pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_0_AWKwa_0_A __pyx_string_tab[3489]
#define __pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_1_Qg_q_1_Qg __pyx_string_tab[3490]
#define __pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_2_awk_PQ_2 __pyx_string_tab[3491]
#define __pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_34q_QR_34q __pyx_string_tab[3492]
#define __pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_4D_7RS_4D_1 __pyx_string_tab[3493]
#define __pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_5T_GST_5T_A __pyx_string_tab[3494]
#define __pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_6d_7_WTU_6d __pyx_string_tab[3495]
#define __pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_8_AWKwVW_8 __pyx_string_tab[3496]
#define __pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_d_7_WA_d_7 __pyx_string_tab[3497]
#define __pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_t1G_gQ_t1G __pyx_string_tab[3498]
#define __pyx_kp_b_iso88591_A_HCq_7_a_z_81 __pyx_string_tab[3499]
#define __pyx_kp_b_iso88591_A_HCq_7_z_81 __pyx_string_tab[3500]
#define __pyx_kp_b_iso88591_A_IQ_j __pyx_string_tab[3501]
#define __pyx_kp_b_iso88591_A_IQ_k __pyx_string_tab[3502]
#define __pyx_kp_b_iso88591_A_IQgQ __pyx_string_tab[3503]
#define __pyx_kp_b_iso88591_A_Jar_5_F_3b_1 __pyx_string_tab[3504]
#define __pyx_kp_b_iso88591_A_Kwat86 __pyx_string_tab[3505]
#define __pyx_kp_b_iso88591_A_L_Cz_B_0_XU_xWXXY_q __pyx_string_tab[3506]
#define __pyx_kp_b_iso88591_A_L_q_0_L_AQ_6_vS_1Ja_5_1_3as_W __pyx_string_tab[3507]
#define __pyx_kp_b_iso88591_A_M_V1F_A_A_AT_wgUVVW_4q_1_q_Qc __pyx_string_tab[3508]
#define __pyx_kp_b_iso88591_A_N_1_AT_6_A_1_Qa_S_1A_s_1_s_aq __pyx_string_tab[3509]
#define __pyx_kp_b_iso88591_A_N_1_AT_6_A_1_Qa_S_hc_Qc_s_XS_1 __pyx_string_tab[3510]
#define __pyx_kp_b_iso88591_A_N_1_AT_6_A_A_Rq_AQ __pyx_string_tab[3511]
#define __pyx_kp_b_iso88591_A_N_1_AT_6_A_A_Rq_QgQ __pyx_string_tab[3512]
#define __pyx_kp_b_iso88591_A_N_1_A_1D __pyx_string_tab[3513]
#define __pyx_kp_b_iso88591_A_N_1_A_AT __pyx_string_tab[3514]
#define __pyx_kp_b_iso88591_A_N_1_A_AT_A __pyx_string_tab[3515]
#define __pyx_kp_b_iso88591_A_N_1_A_Qd_Q __pyx_string_tab[3516]
#define __pyx_kp_b_iso88591_A_N_1_A_Qd_S __pyx_string_tab[3517]
#define __pyx_kp_b_iso88591_A_N_1_A_XS __pyx_string_tab[3518]
#define __pyx_kp_b_iso88591_A_N_1_N_1_A_hc_q_aq __pyx_string_tab[3519]
#define __pyx_kp_b_iso88591_A_N_1_N_1_A_q_HCq __pyx_string_tab[3520]
#define __pyx_kp_b_iso88591_A_N_1_N_1_N_1_A_at83c_N_8_GYYZ_i __pyx_string_tab[3521]
#define __pyx_kp_b_iso88591_A_NhV___8_N_1_N_1_A_AT_A_4F_66Fa __pyx_string_tab[3522]
#define __pyx_kp_b_iso88591_A_Q __pyx_string_tab[3523]
#define __pyx_kp_b_iso88591_A_Q_2 __pyx_string_tab[3524]
#define __pyx_kp_b_iso88591_A_Q_3 __pyx_string_tab[3525]
#define __pyx_kp_b_iso88591_A_Q_4 __pyx_string_tab[3526]
#define __pyx_kp_b_iso88591_A_Q_4O1_AL_AQ_iq_AQ_A_5_1_3as_W __pyx_string_tab[3527]
#define __pyx_kp_b_iso88591_A_Q_4O1_AL_t1HCt1D___ccdde_AQ_1 __pyx_string_tab[3528]
#define __pyx_kp_b_iso88591_A_Q_5 __pyx_string_tab[3529]
#define __pyx_kp_b_iso88591_A_Q_83a_1_S_1_S_1_S_1 __pyx_string_tab[3530]
#define __pyx_kp_b_iso88591_A_Q_E_a_Qd_G1A_Yaq_q __pyx_string_tab[3531]
#define __pyx_kp_b_iso88591_A_Q_WAQ __pyx_string_tab[3532]
#define __pyx_kp_b_iso88591_A_Q_q __pyx_string_tab[3533]
#define __pyx_kp_b_iso88591_A_Q_xuG3c_hhmmttu_A_5Q_N_6_vQ_vV __pyx_string_tab[3534]
#define __pyx_kp_b_iso88591_A_Qd __pyx_string_tab[3535]
#define __pyx_kp_b_iso88591_A_Qd_2 __pyx_string_tab[3536]
#define __pyx_kp_b_iso88591_A_Qd_3 __pyx_string_tab[3537]
#define __pyx_kp_b_iso88591_A_Qd_4 __pyx_string_tab[3538]
#define __pyx_kp_b_iso88591_A_Qd_5 __pyx_string_tab[3539]
#define __pyx_kp_b_iso88591_A_Qd_5_1_1_Q_1_Q_1_Q_1_Q_1_Q_1_Q __pyx_string_tab[3540]
#define __pyx_kp_b_iso88591_A_Qd_6 __pyx_string_tab[3541]
#define __pyx_kp_b_iso88591_A_Qd_E_4uAWCq_Zq_Qd_t6_A_t6_A __pyx_string_tab[3542]
#define __pyx_kp_b_iso88591_A_Qd_Q __pyx_string_tab[3543]
#define __pyx_kp_b_iso88591_A_Qd_Q_q __pyx_string_tab[3544]
#define __pyx_kp_b_iso88591_A_Qd_q_AS_E_at9A __pyx_string_tab[3545]
#define __pyx_kp_b_iso88591_A_Qd_wgQd_4t5_Qd_1 __pyx_string_tab[3546]
#define __pyx_kp_b_iso88591_A_Qk_ay_4xq_A_1D_vQ __pyx_string_tab[3547]
#define __pyx_kp_b_iso88591_A_Qk_ay_4xq_A_4x_gQ __pyx_string_tab[3548]
#define __pyx_kp_b_iso88591_A_Qk_ay_4xq_A_Qd_W __pyx_string_tab[3549]
#define __pyx_kp_b_iso88591_A_Qk_ay_4xq_A_at83k_LX __pyx_string_tab[3550]
#define __pyx_kp_b_iso88591_A_Qm1_Q_3aq_Q_1_9F_1_iq_7_wha_AV __pyx_string_tab[3551]
#define __pyx_kp_b_iso88591_A_QnE_L __pyx_string_tab[3552]
#define __pyx_kp_b_iso88591_A_RvQd_G2XQa_awd_4_A_q __pyx_string_tab[3553]
#define __pyx_kp_b_iso88591_A_V1 __pyx_string_tab[3554]
#define __pyx_kp_b_iso88591_A_V1_G6_A_q_F_E_aq_AQ_q __pyx_string_tab[3555]
#define __pyx_kp_b_iso88591_A_V1_M_q_b_A_4vV6_F_5_E_aq_1E_1 __pyx_string_tab[3556]
#define __pyx_kp_b_iso88591_A_V1_M_q_b_A_4vV6_vQ_5_E_aq_1E_1 __pyx_string_tab[3557]
#define __pyx_kp_b_iso88591_A_V1_m6_A_4vV_fA_AU_A_E_aq_Qe_aq __pyx_string_tab[3558]
#define __pyx_kp_b_iso88591_A_V1_r_A_4vV6_1_1E_1_E_aq_AU_AQ __pyx_string_tab[3559]
#define __pyx_kp_b_iso88591_A_XS __pyx_string_tab[3560]
#define __pyx_kp_b_iso88591_A_XS_1 __pyx_string_tab[3561]
#define __pyx_kp_b_iso88591_A_XS_1_2 __pyx_string_tab[3562]
#define __pyx_kp_b_iso88591_A_XV1_G2XQa_Qd_q __pyx_string_tab[3563]
#define __pyx_kp_b_iso88591_A_XV1_G2XQd_Qd_q __pyx_string_tab[3564]
#define __pyx_kp_b_iso88591_A_XXQ_A_S_4q_Q_q __pyx_string_tab[3565]
#define __pyx_kp_b_iso88591_A_XXQ_t_1A __pyx_string_tab[3566]
#define __pyx_kp_b_iso88591_A_XZ_1G1A_V1F_A_q_HJl_4q_1_q_E_a __pyx_string_tab[3567]
#define __pyx_kp_b_iso88591_A_Yas_AU_T __pyx_string_tab[3568]
#define __pyx_kp_b_iso88591_A__AT __pyx_string_tab[3569]
#define __pyx_kp_b_iso88591_A__AT_waq __pyx_string_tab[3570]
#define __pyx_kp_b_iso88591_A_a __pyx_string_tab[3571]
#define __pyx_kp_b_iso88591_A_a_2 __pyx_string_tab[3572]
#define __pyx_kp_b_iso88591_A_a_3 __pyx_string_tab[3573]
#define __pyx_kp_b_iso88591_A_a_4 __pyx_string_tab[3574]
#define __pyx_kp_b_iso88591_A_a_5 __pyx_string_tab[3575]
#define __pyx_kp_b_iso88591_A_a_6 __pyx_string_tab[3576]
#define __pyx_kp_b_iso88591_A_a_T_WCq_E_aq_IXQc_1A_t3a_q_q __pyx_string_tab[3577]
#define __pyx_kp_b_iso88591_A_a_WCq_A_T_a_E_aq_85_Cy_Jaq_q __pyx_string_tab[3578]
#define __pyx_kp_b_iso88591_A_a_a_A_Qd_1G1F_1 __pyx_string_tab[3579]
#define __pyx_kp_b_iso88591_A_at1 __pyx_string_tab[3580]
#define __pyx_kp_b_iso88591_A_at1_2 __pyx_string_tab[3581]
#define __pyx_kp_b_iso88591_A_at1_3 __pyx_string_tab[3582]
#define __pyx_kp_b_iso88591_A_at1_4 __pyx_string_tab[3583]
#define __pyx_kp_b_iso88591_A_at1_5 __pyx_string_tab[3584]
#define __pyx_kp_b_iso88591_A_at1_6 __pyx_string_tab[3585]
#define __pyx_kp_b_iso88591_A_at1_7 __pyx_string_tab[3586]
#define __pyx_kp_b_iso88591_A_at1_8 __pyx_string_tab[3587]
#define __pyx_kp_b_iso88591_A_at81 __pyx_string_tab[3588]
#define __pyx_kp_b_iso88591_A_at881 __pyx_string_tab[3589]
#define __pyx_kp_b_iso88591_A_at88_kQR __pyx_string_tab[3590]
#define __pyx_kp_b_iso88591_A_at_a __pyx_string_tab[3591]
#define __pyx_kp_b_iso88591_A_b_at86_G2XQa_q_t1D_A_q __pyx_string_tab[3592]
#define __pyx_kp_b_iso88591_A_b_at86_G2XQd_q_t1D_1_q __pyx_string_tab[3593]
#define __pyx_kp_b_iso88591_A_b_at86_G2XQd_q_t1D_A_q __pyx_string_tab[3594]
#define __pyx_kp_b_iso88591_A_b_at86_G2XQd_q_t1D_a_q __pyx_string_tab[3595]
#define __pyx_kp_b_iso88591_A_c_A_WCq_E_aq_D_9Cq_t3a_q_q __pyx_string_tab[3596]
#define __pyx_kp_b_iso88591_A_d_1Cz __pyx_string_tab[3597]
#define __pyx_kp_b_iso88591_A_fJay_a_j_A_1_at86_qPTTUUZZ_Qd __pyx_string_tab[3598]
#define __pyx_kp_b_iso88591_A_fJay_a_j_A_A_1D_j_A __pyx_string_tab[3599]
#define __pyx_kp_b_iso88591_A_fJay_a_j_A_A_AT_j_1 __pyx_string_tab[3600]
#define __pyx_kp_b_iso88591_A_fJay_a_j_A_A_Qd_a_j_1 __pyx_string_tab[3601]
#define __pyx_kp_b_iso88591_A_fJay_a_j_A_A_XQ_j_A __pyx_string_tab[3602]
#define __pyx_kp_b_iso88591_A_fJay_a_j_A_XQ_j_1 __pyx_string_tab[3603]
#define __pyx_kp_b_iso88591_A_fJay_a_j_A_at81_j_1 __pyx_string_tab[3604]
#define __pyx_kp_b_iso88591_A_gQa __pyx_string_tab[3605]
#define __pyx_kp_b_iso88591_A_gQa_4z_fJay_a_j_A_A_AT_qPYYZZ __pyx_string_tab[3606]
#define __pyx_kp_b_iso88591_A_ha __pyx_string_tab[3607]
#define __pyx_kp_b_iso88591_A_hc __pyx_string_tab[3608]
#define __pyx_kp_b_iso88591_A_l_k_hauAYaq_6_9HA_5_j_q __pyx_string_tab[3609]
#define __pyx_kp_b_iso88591_A_nAQ_nAQ_A_4xuA_4Ja_NN_a_TThhi __pyx_string_tab[3610]
#define __pyx_kp_b_iso88591_A_nAQ_nAQ_A_at85_1_88I_iwgV1A __pyx_string_tab[3611]
#define __pyx_kp_b_iso88591_A_nAQ_nAQ_A_q_HE_7q_9_WX_NN___a __pyx_string_tab[3612]
#define __pyx_kp_b_iso88591_A_nAT_1_a_E_aq_5QgQa_U_1_A_7q_A __pyx_string_tab[3613]
#define __pyx_kp_b_iso88591_A_nAT_5_1_1_q_HA_t1 __pyx_string_tab[3614]
#define __pyx_kp_b_iso88591_A_q __pyx_string_tab[3615]
#define __pyx_kp_b_iso88591_A_q_2 __pyx_string_tab[3616]
#define __pyx_kp_b_iso88591_A_q_3 __pyx_string_tab[3617]
#define __pyx_kp_b_iso88591_A_q_4 __pyx_string_tab[3618]
#define __pyx_kp_b_iso88591_A_q_A __pyx_string_tab[3619]
#define __pyx_kp_b_iso88591_A_q_A_2 __pyx_string_tab[3620]
#define __pyx_kp_b_iso88591_A_q_A_3 __pyx_string_tab[3621]
#define __pyx_kp_b_iso88591_A_q_A_4 __pyx_string_tab[3622]
#define __pyx_kp_b_iso88591_A_q_A_4vS __pyx_string_tab[3623]
#define __pyx_kp_b_iso88591_A_q_A_5 __pyx_string_tab[3624]
#define __pyx_kp_b_iso88591_A_q_A_6 __pyx_string_tab[3625]
#define __pyx_kp_b_iso88591_A_q_A_7 __pyx_string_tab[3626]
#define __pyx_kp_b_iso88591_A_q_A_7_1 __pyx_string_tab[3627]
#define __pyx_kp_b_iso88591_A_q_A_V1F_A_A_Qd_wfA_q_4uE_AQ_q __pyx_string_tab[3628]
#define __pyx_kp_b_iso88591_A_q_A_V1F_A_A_at85_gV1_q_4uE_AQ __pyx_string_tab[3629]
#define __pyx_kp_b_iso88591_A_q_A_q_b_A_at81_as_e5_AQ_q __pyx_string_tab[3630]
#define __pyx_kp_b_iso88591_A_q_HCq __pyx_string_tab[3631]
#define __pyx_kp_b_iso88591_A_q_HCq_2 __pyx_string_tab[3632]
#define __pyx_kp_b_iso88591_A_q_HCq_t_S_1_1_DBc_q __pyx_string_tab[3633]
#define __pyx_kp_b_iso88591_A_q_IQ_4q_Qd_a_E_aq_wauA_0_XT_q __pyx_string_tab[3634]
#define __pyx_kp_b_iso88591_A_q_IQ_4xs __pyx_string_tab[3635]
#define __pyx_kp_b_iso88591_A_q_Kq __pyx_string_tab[3636]
#define __pyx_kp_b_iso88591_A_q_q_A_AT_s_7_7_1 __pyx_string_tab[3637]
#define __pyx_kp_b_iso88591_A_q_t881_1_Q_q __pyx_string_tab[3638]
#define __pyx_kp_b_iso88591_A_r_q_HF_G2XQa_AT_1_q __pyx_string_tab[3639]
#define __pyx_kp_b_iso88591_A_r_q_HF_G2XQd_AT_q __pyx_string_tab[3640]
#define __pyx_kp_b_iso88591_A_s_Q_E_AT_G1D_at1 __pyx_string_tab[3641]
#define __pyx_kp_b_iso88591_A_t __pyx_string_tab[3642]
#define __pyx_kp_b_iso88591_A_t1 __pyx_string_tab[3643]
#define __pyx_kp_b_iso88591_A_t1_2 __pyx_string_tab[3644]
#define __pyx_kp_b_iso88591_A_t9Cs_VVXX_eef_t_t1_D_c_A_hd_kQ __pyx_string_tab[3645]
#define __pyx_kp_b_iso88591_A_t_1 __pyx_string_tab[3646]
#define __pyx_kp_b_iso88591_A_t_2 __pyx_string_tab[3647]
#define __pyx_kp_b_iso88591_A_t_8_s_1_Rq_F_r_F_rQR_1D_L_0_a __pyx_string_tab[3648]
#define __pyx_kp_b_iso88591_A_t_aq __pyx_string_tab[3649]
#define __pyx_kp_b_iso88591_A_t_t1_t_1G1_1D_vQj_1A_a_F_Q_Q_K __pyx_string_tab[3650]
#define __pyx_kp_b_iso88591_A_uAQ __pyx_string_tab[3651]
#define __pyx_kp_b_iso88591_A_uA_AT __pyx_string_tab[3652]
#define __pyx_kp_b_iso88591_A_uCvQ_A_4xvS_1 __pyx_string_tab[3653]
#define __pyx_kp_b_iso88591_A_wa_1_a __pyx_string_tab[3654]
#define __pyx_kp_b_iso88591_A_xq_HA __pyx_string_tab[3655]
#define __pyx_kp_b_iso88591_A_xq_HF __pyx_string_tab[3656]
#define __pyx_kp_b_iso88591_A_y_A __pyx_string_tab[3657]
#define __pyx_kp_b_iso88591_A_y_A_2 __pyx_string_tab[3658]
#define __pyx_kp_b_iso88591_A_z_S_fAZr_E_aq_5_Qa_4xs_PQ_AQ_q __pyx_string_tab[3659]
#define __pyx_kp_b_iso88591_A_z_VVXX_eef_A_Qd __pyx_string_tab[3660]
#define __pyx_kp_b_iso88591_A_z_XXZZaakkl_we7_S_ZZ_cchhoop_u __pyx_string_tab[3661]
#define __pyx_kp_b_iso88591_A_z_a __pyx_string_tab[3662]
#define __pyx_kp_b_iso88591_A_z_a_uCvQ __pyx_string_tab[3663]
#define __pyx_kp_b_iso88591_A_z_ha __pyx_string_tab[3664]
#define __pyx_kp_b_iso88591_BSSddqqrH_N_1_N_1_A_AT_Cz_Ubbii __pyx_string_tab[3665]
#define __pyx_kp_b_iso88591_C1_83a_at81_wa_AZq_t_1A __pyx_string_tab[3666]
#define __pyx_kp_b_iso88591_C9L_kkl_2_N_1_N_1_A_q_HCq_6gZ_R __pyx_string_tab[3667]
#define __pyx_kp_b_iso88591_CC_o_p_G_G_H_Qj_xq_q_83a_4xq_7 __pyx_string_tab[3668]
#define __pyx_kp_b_iso88591_C_a_Q_8I_N_z_UUWW_eef_Qe6_1_ivW __pyx_string_tab[3669]
#define __pyx_kp_b_iso88591_DA_t1M_A_83a_at81_wa_E_E_1_C_1 __pyx_string_tab[3670]
#define __pyx_kp_b_iso88591_DLP_TTU_nAQ_nAQ_c_A_AT_e1_4F_4L __pyx_string_tab[3671]
#define __pyx_kp_b_iso88591_E_q_q_q __pyx_string_tab[3672]
#define __pyx_kp_b_iso88591_Fa_S_y_D_1IXQa_AT_q_A_B_hix_T_b __pyx_string_tab[3673]
#define __pyx_kp_b_iso88591_Fa_fJay_a_j_A_HA_F_1G4q_at87_j __pyx_string_tab[3674]
#define __pyx_kp_b_iso88591_HHJoMccrrs_5_1_3as_q_G1A_aq_3c __pyx_string_tab[3675]
#define __pyx_kp_b_iso88591_I_UV_nAQ_nAQ_1_A_he5_J_PPQ_4xq __pyx_string_tab[3676]
#define __pyx_kp_b_iso88591_J_5_q_5_31_5Q_9_R_N_1_N_1_A_XS __pyx_string_tab[3677]
#define __pyx_kp_b_iso88591_Jj_AQ_avRq_6_q_b_q_a_fCs_D_Biy __pyx_string_tab[3678]
#define __pyx_kp_b_iso88591_Kq_oQ_0_z_UUWW_eef_4vWE_T_wa_AQ __pyx_string_tab[3679]
#define __pyx_kp_b_iso88591_L_6a_4q_A_6a __pyx_string_tab[3680]
#define __pyx_kp_b_iso88591_L_q_4L_1_R_5_1_3as_WAQ_Qe6_1_iv __pyx_string_tab[3681]
#define __pyx_kp_b_iso88591_MMggh_Qj_xq_q_83a_4xq_7_A_q_HN __pyx_string_tab[3682]
#define __pyx_kp_b_iso88591_M_QfA_at1_L_XQ_A_4q_at81F_XQfA __pyx_string_tab[3683]
#define __pyx_kp_b_iso88591_N_1_A_XQ __pyx_string_tab[3684]
#define __pyx_kp_b_iso88591_N_1_N_1_A_at83a_6a_Vddu_v_G_G_X __pyx_string_tab[3685]
#define __pyx_kp_b_iso88591_N_UV_oQ_0_h_A_at81K_UVV_ffoouuv __pyx_string_tab[3686]
#define __pyx_kp_b_iso88591_Naattu2_q_AT_D_Q_1D_4s_A_A_Qd_5 __pyx_string_tab[3687]
#define __pyx_kp_b_iso88591_PPQ_83a_at81_wa_d_0_XZs_UVVW_4A __pyx_string_tab[3688]
#define __pyx_kp_b_iso88591_Q __pyx_string_tab[3689]
#define __pyx_kp_b_iso88591_QQeef_BoQd_c_3fTaammzz_E_E_F_F __pyx_string_tab[3690]
#define __pyx_kp_b_iso88591_Q_1_G4xq_A_AS_WAQ_q __pyx_string_tab[3691]
#define __pyx_kp_b_iso88591_Q_1_Qd_l_Qa_Qd_l_Q_q __pyx_string_tab[3692]
#define __pyx_kp_b_iso88591_Q_1_q_HAXV1A_1D_aq_q __pyx_string_tab[3693]
#define __pyx_kp_b_iso88591_Q_4z_Qh___ccmmn_4s_A_4wc_1_AQ_1 __pyx_string_tab[3694]
#define __pyx_kp_b_iso88591_Q_q_31N_z_A_AQ_Qa_A_a_N_7_Qk_Yg __pyx_string_tab[3695]
#define __pyx_kp_b_iso88591_Q_s_XQ_WAU_1D_Q_Cxq_Cq_A_IT_q_q __pyx_string_tab[3696]
#define __pyx_kp_b_iso88591_Qd __pyx_string_tab[3697]
#define __pyx_kp_b_iso88591_QfA __pyx_string_tab[3698]
#define __pyx_kp_b_iso88591_QfA_2 __pyx_string_tab[3699]
#define __pyx_kp_b_iso88591_QfA_A_1 __pyx_string_tab[3700]
#define __pyx_kp_b_iso88591_QfA_at1_L_XQ_A_A_at81F_7_4xq_q __pyx_string_tab[3701]
#define __pyx_kp_b_iso88591_SST_N_1_N_1_A_at83c_hVddrrs_KK __pyx_string_tab[3702]
#define __pyx_kp_b_iso88591_SST_q __pyx_string_tab[3703]
#define __pyx_kp_b_iso88591_TTvvw_DLPiij_BBRRllm_B_Oiij_DMQ __pyx_string_tab[3704]
#define __pyx_kp_b_iso88591_T_1 __pyx_string_tab[3705]
#define __pyx_kp_b_iso88591_T_4_a_G1F_a_vWE_Q_q_t_WE_D_q_T __pyx_string_tab[3706]
#define __pyx_kp_b_iso88591_T_4xt1_G1F_a_vWE_Q_q_t9G5_4wgU __pyx_string_tab[3707]
#define __pyx_kp_b_iso88591_T_Ba_1 __pyx_string_tab[3708]
#define __pyx_kp_b_iso88591_T_G1F_a_vWE_Q_q_t7_q_4q_4q __pyx_string_tab[3709]
#define __pyx_kp_b_iso88591_T_G1F_a_vWE_Q_q_t7_q_AWKwa_AWKq __pyx_string_tab[3710]
#define __pyx_kp_b_iso88591_T_G1F_a_vWE_Q_q_t7_q_T_G1_T_A __pyx_string_tab[3711]
#define __pyx_kp_b_iso88591_T_G1F_a_vWE_Q_q_t7_q_t1G_gQ_t1G __pyx_string_tab[3712]
#define __pyx_kp_b_iso88591_T_G4q_G1F_a_vWE_Q_q_t6_S_F_c_VS __pyx_string_tab[3713]
#define __pyx_kp_b_iso88591_T_Q_G1F_a_vWE_Q_q_t7_c_V7_q_Qg __pyx_string_tab[3714]
#define __pyx_kp_b_iso88591_T_Q_G1F_a_vWE_Q_q_t7_c_V7_q_T_G __pyx_string_tab[3715]
#define __pyx_kp_b_iso88591_T_Q_G1F_a_vWE_Q_q_t7_c_V7_q_awk __pyx_string_tab[3716]
#define __pyx_kp_b_iso88591_T_Q_G1F_a_vWE_Q_q_t7_c_V7_q_d_7 __pyx_string_tab[3717]
#define __pyx_kp_b_iso88591_T_Q_G1F_a_vWE_Q_q_t7_c_V7_q_t1G __pyx_string_tab[3718]
#define __pyx_kp_b_iso88591_T_t1_G1F_a_vWE_Q_q_t5_uCt_WA_q __pyx_string_tab[3719]
#define __pyx_kp_b_iso88591_T_t1_G1F_a_vWE_Q_q_t5_uCt_WA_q_2 __pyx_string_tab[3720]
#define __pyx_kp_b_iso88591_T_t_d_G1F_a_vWE_Q_q_t5_uCt_WE_D __pyx_string_tab[3721]
#define __pyx_kp_b_iso88591_T_t_d_G1F_a_vWE_Q_q_t5_uCt_WE_D_2 __pyx_string_tab[3722]
#define __pyx_kp_b_iso88591_T_t_d_G1F_a_vWE_Q_q_t5_uCt_WE_D_3 __pyx_string_tab[3723]
#define __pyx_kp_b_iso88591_T_t_d_G1F_a_vWE_Q_q_t5_uCt_WE_D_4 __pyx_string_tab[3724]
#define __pyx_kp_b_iso88591_T_t_d_a_G1F_a_vWE_Q_q_t5_uCt_WE __pyx_string_tab[3725]
#define __pyx_kp_b_iso88591_UVb_A_at1_Q_Q_Q_a __pyx_string_tab[3726]
#define __pyx_kp_b_iso88591_W_eef __pyx_string_tab[3727]
#define __pyx_kp_b_iso88591_Wccsst_KKaabJ_N_1_X_1HA_Zq_A_1D __pyx_string_tab[3728]
#define __pyx_kp_b_iso88591_XS_fCr_9Ba_1_2Q_V1F_A_V1F_A_A_Q __pyx_string_tab[3729]
#define __pyx_kp_b_iso88591_YYqqr4MQN_a_q_c_AQ_q_1_Q_S_K__b __pyx_string_tab[3730]
#define __pyx_kp_b_iso88591_Ya __pyx_string_tab[3731]
#define __pyx_kp_b_iso88591_Ye1Ba __pyx_string_tab[3732]
#define __pyx_kp_b_iso88591__30 __pyx_string_tab[3733]
#define __pyx_kp_b_iso88591__31 __pyx_string_tab[3734]
#define __pyx_kp_b_iso88591__32 __pyx_string_tab[3735]
#define __pyx_kp_b_iso88591__33 __pyx_string_tab[3736]
#define __pyx_kp_b_iso88591__34 __pyx_string_tab[3737]
#define __pyx_kp_b_iso88591_a_0_Qaz_c_6_s_6_AQ_haq_fAQfF_5 __pyx_string_tab[3738]
#define __pyx_kp_b_iso88591_a_1_q_A_Q __pyx_string_tab[3739]
#define __pyx_kp_b_iso88591_a_2 __pyx_string_tab[3740]
#define __pyx_kp_b_iso88591_a_3 __pyx_string_tab[3741]
#define __pyx_kp_b_iso88591_a_4 __pyx_string_tab[3742]
#define __pyx_kp_b_iso88591_a_5_A_QgQ_E_z_A_AQ_Qa_QfA_uCq_q __pyx_string_tab[3743]
#define __pyx_kp_b_iso88591_a_83a_at81_wa_Qj_xq_q_B_4xq_l_1 __pyx_string_tab[3744]
#define __pyx_kp_b_iso88591_a_AT_D_1 __pyx_string_tab[3745]
#define __pyx_kp_b_iso88591_a_B_XWAYaq_y __pyx_string_tab[3746]
#define __pyx_kp_b_iso88591_a_L_Cz_B_Qd_HTUUV_q __pyx_string_tab[3747]
#define __pyx_kp_b_iso88591_a_hhd_Zs_PSST __pyx_string_tab[3748]
#define __pyx_kp_b_iso88591_aq_3awb __pyx_string_tab[3749]
#define __pyx_kp_b_iso88591_avQ __pyx_string_tab[3750]
#define __pyx_kp_b_iso88591_avQ_2 __pyx_string_tab[3751]
#define __pyx_kp_b_iso88591_fJay_a_j_A_HA_F_1G4q_hgQ_j_1 __pyx_string_tab[3752]
#define __pyx_kp_b_iso88591_hhi_7_N_1_N_1_A_4xz_CzQR_PPbbc __pyx_string_tab[3753]
#define __pyx_kp_b_iso88591_l_AQ_avRq_avRq_avRq_D_6_1_F_6_1 __pyx_string_tab[3754]
#define __pyx_kp_b_iso88591_nAQ_nAQ_A_Qd_uJfMYffsst_J_Wiij __pyx_string_tab[3755]
#define __pyx_kp_b_iso88591_o_Na_fJay_a_j_A_A_hi_Ya_j_1 __pyx_string_tab[3756]
#define __pyx_kp_b_iso88591_q __pyx_string_tab[3757]
#define __pyx_kp_b_iso88591_q_0_kQR_1_7_1_2DNRS_1 __pyx_string_tab[3758]
#define __pyx_kp_b_iso88591_q_0_kQR_1_7_9_TTbbc_1 __pyx_string_tab[3759]
#define __pyx_kp_b_iso88591_q_0_kQR_4xq_7_awnA_1 __pyx_string_tab[3760]
#define __pyx_kp_b_iso88591_q_0_kQR_5_7_q_a_1 __pyx_string_tab[3761]
#define __pyx_kp_b_iso88591_q_0_kQR_6_7_1 __pyx_string_tab[3762]
#define __pyx_kp_b_iso88591_q_0_kQR_7_0_1B_PQ_1 __pyx_string_tab[3763]
#define __pyx_kp_b_iso88591_q_0_kQR_7_1_7_N_1 __pyx_string_tab[3764]
#define __pyx_kp_b_iso88591_q_0_kQR_7_7q8PP___1 __pyx_string_tab[3765]
#define __pyx_kp_b_iso88591_q_0_kQR_7_q0_a_1 __pyx_string_tab[3766]
#define __pyx_kp_b_iso88591_q_0_kQR_81A_7_2_3FnTU_1 __pyx_string_tab[3767]
#define __pyx_kp_b_iso88591_q_0_kQR_881A_7_nA_1 __pyx_string_tab[3768]
#define __pyx_kp_b_iso88591_q_0_kQR_9HAQ_7_1L_a_1 __pyx_string_tab[3769]
#define __pyx_kp_b_iso88591_q_0_kQR_HAQ_7_314H_VW_1 __pyx_string_tab[3770]
#define __pyx_kp_b_iso88591_q_0_kQR_XQa_7_4A5J_XY_1 __pyx_string_tab[3771]
#define __pyx_kp_b_iso88591_q_0_kQR_XQa_7_A_1 __pyx_string_tab[3772]
#define __pyx_kp_b_iso88591_q_0_kQR_haq_7_5Q6LNZ_1 __pyx_string_tab[3773]
#define __pyx_kp_b_iso88591_q_0_kQR_xq_7_6a7Nn_1 __pyx_string_tab[3774]
#define __pyx_kp_b_iso88591_q_1_Kq_A_L_Q_O1D_AT_E_aq_q_AU_1 __pyx_string_tab[3775]
#define __pyx_kp_b_iso88591_q_1_ha_Qd __pyx_string_tab[3776]
#define __pyx_kp_b_iso88591_q_2 __pyx_string_tab[3777]
#define __pyx_kp_b_iso88591_q_3 __pyx_string_tab[3778]
#define __pyx_kp_b_iso88591_q_AQ_vQfBa_vQfBa_6_q_b_D_vQfBa __pyx_string_tab[3779]
#define __pyx_kp_b_iso88591_q_HA __pyx_string_tab[3780]
#define __pyx_kp_b_iso88591_q_HCq_t9Cs_gQa_4y_S_Ya_t4y_3a_g __pyx_string_tab[3781]
#define __pyx_kp_b_iso88591_q_HD_9_t9A_Q_4z_E_D_c_G1D_4y_S __pyx_string_tab[3782]
#define __pyx_kp_b_iso88591_q_Kq_A_F_3axr_F_3az_1_Q_as_T_gS __pyx_string_tab[3783]
#define __pyx_kp_b_iso88591_q_XS_fCr_9Ba_1_2Q_fAV2Q_fAV2Q_A __pyx_string_tab[3784]
#define __pyx_kp_b_iso88591_q_a __pyx_string_tab[3785]
#define __pyx_kp_b_iso88591_q_a_2 __pyx_string_tab[3786]
#define __pyx_kp_b_iso88591_q_fJay_a_j_A_4q_AT_Qj_aq_t1_A_0 __pyx_string_tab[3787]
#define __pyx_kp_b_iso88591_q_fJay_a_j_A_A_Qd_j_1 __pyx_string_tab[3788]
#define __pyx_kp_b_iso88591_q_fJay_a_j_A_Bk_ha_j_1 __pyx_string_tab[3789]
#define __pyx_kp_b_iso88591_q_fJay_a_j_A_HA_F_1G4q_AT_j_1 __pyx_string_tab[3790]
#define __pyx_kp_b_iso88591_q_s_s_AQe2_5_AQhb_V6_A_y_4vV3a __pyx_string_tab[3791]
#define __pyx_kp_b_iso88591_s_Q_Cq_iq_Cq_k_Cq_gQa_Cq_gQa_Cq __pyx_string_tab[3792]
#define __pyx_kp_b_iso88591_s_Q_QgV3j_E_7_Q_q_81F_e1A_q_r_a __pyx_string_tab[3793]
#define __pyx_kp_b_iso88591_t1A_t_Q_Ct1A_q_T_q_D_q_S_AQ_q_N __pyx_string_tab[3794]
#define __pyx_kp_b_iso88591_z_b_avT_q_G2XQd_q_y_at1A_q_y_aq __pyx_string_tab[3795]
#define __pyx_kp_b_iso88591_z_b_avT_q_G2XQd_q_y_q_AQ_q_y_q __pyx_string_tab[3796]
#define __pyx_kp_b_iso88591_z_q_t1F_6 __pyx_string_tab[3797]
#define __pyx_kp_b_iso88591_z_xq_1F_F_fF_s_6_A_1_AV3a_aq_5 __pyx_string_tab[3798]
#define __pyx_n_b_O __pyx_string_tab[3799]
#define __pyx_float_0_0 __pyx_number_tab[0]
#define __pyx_float_neg_1_0 __pyx_number_tab[1]
#define __pyx_float_1_0 __pyx_number_tab[2]
#define __pyx_float_1e_20 __pyx_number_tab[3]
#define __pyx_int_0 __pyx_number_tab[4]
#define __pyx_int_neg_1 __pyx_number_tab[5]
#define __pyx_int_1 __pyx_number_tab[6]
#define __pyx_int_neg_2 __pyx_number_tab[7]
#define __pyx_int_2 __pyx_number_tab[8]
#define __pyx_int_3 __pyx_number_tab[9]
#define __pyx_int_4 __pyx_number_tab[10]
#define __pyx_int_5 __pyx_number_tab[11]
#define __pyx_int_6 __pyx_number_tab[12]
#define __pyx_int_7 __pyx_number_tab[13]
#define __pyx_int_8 __pyx_number_tab[14]
#define __pyx_int_9 __pyx_number_tab[15]
#define __pyx_int_10 __pyx_number_tab[16]
#define __pyx_int_11 __pyx_number_tab[17]
#define __pyx_int_12 __pyx_number_tab[18]
#define __pyx_int_13 __pyx_number_tab[19]
#define __pyx_int_14 __pyx_number_tab[20]
#define __pyx_int_15 __pyx_number_tab[21]
#define __pyx_int_16 __pyx_number_tab[22]
#define __pyx_int_17 __pyx_number_tab[23]
#define __pyx_int_18 __pyx_number_tab[24]
#define __pyx_int_100 __pyx_number_tab[25]
#define __pyx_int_101 __pyx_number_tab[26]
#define __pyx_int_10000 __pyx_number_tab[27]
#define __pyx_int_63254455 __pyx_number_tab[28]
#define __pyx_int_76513566 __pyx_number_tab[29]
#define __pyx_int_76998962 __pyx_number_tab[30]
#define __pyx_int_80720285 __pyx_number_tab[31]
#define __pyx_int_85795681 __pyx_number_tab[32]
#define __pyx_int_95355963 __pyx_number_tab[33]
#define __pyx_int_132603380 __pyx_number_tab[34]
#define __pyx_int_136983863 __pyx_number_tab[35]
#define __pyx_int_143015212 __pyx_number_tab[36]
#define __pyx_int_154610759 __pyx_number_tab[37]
#define __pyx_int_165363339 __pyx_number_tab[38]
#define __pyx_int_214626690 __pyx_number_tab[39]
#define __pyx_int_238750788 __pyx_number_tab[40]
#define __pyx_int_240430858 __pyx_number_tab[41]
/* #### Code section: module_state_clear ### */
#if CYTHON_USE_MODULE_STATE
static CYTHON_SMALL_CODE int __pyx_m_clear(PyObject *m) {
  __pyx_mstatetype *clear_module_state = __Pyx_PyModule_GetState(m);
  if (!clear_module_state) return 0;
  Py_CLEAR(clear_module_state->__pyx_d);
  Py_CLEAR(clear_module_state->__pyx_b);
  Py_CLEAR(clear_module_state->__pyx_cython_runtime);
  Py_CLEAR(clear_module_state->__pyx_empty_tuple);
  Py_CLEAR(clear_module_state->__pyx_empty_bytes);
  Py_CLEAR(clear_module_state->__pyx_empty_unicode);
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  __Pyx_State_RemoveModule(NULL);
  #endif
  Py_CLEAR(clear_module_state->__pyx_ptype_7cpython_4type_type);
  Py_CLEAR(clear_module_state->__pyx_ptype_7cpython_4bool_bool);
  Py_CLEAR(clear_module_state->__pyx_ptype_7cpython_7complex_complex);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_dtype);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_flatiter);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_broadcast);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_ndarray);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_generic);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_number);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_integer);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_signedinteger);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_unsignedinteger);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_inexact);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_floating);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_complexfloating);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_flexible);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_character);
  Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_ufunc);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Expr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Expr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Event);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Event);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Column);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Column);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_ColumnExact);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_ColumnExact);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Row);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Row);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_RowExact);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_RowExact);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_NLRow);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_NLRow);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Solution);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Solution);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_DomainChanges);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_DomainChanges);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_BoundChange);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_BoundChange);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Node);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Node);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Variable);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Variable);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Constraint);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Constraint);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_IIS);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_IIS);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Model);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Model);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Term);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Term);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_ExprCons);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_ExprCons);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_GenExpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_GenExpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_SumExpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_SumExpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_ProdExpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_ProdExpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_VarExpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_VarExpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PowExpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PowExpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_UnaryExpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_UnaryExpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Constant);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Constant);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_LP);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_LP);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Benders);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Benders);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Benderscut);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Benderscut);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Branchrule);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Branchrule);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Conshdlr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Conshdlr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Cutsel);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Cutsel);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Eventhdlr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Eventhdlr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Heur);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Heur);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_IISfinder);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_IISfinder);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Presol);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Presol);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Pricer);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Pricer);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Prop);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Prop);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Sepa);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Sepa);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Reader);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Reader);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Relax);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Relax);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_Nodesel);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_Nodesel);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_RESULT);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMSETTING);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_LPPARAM);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_STATUS);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_STAGE);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_NODETYPE);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_PROPTIMING);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_HEURTIMING);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_EVENTTYPE);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_LOCKTYPE);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_BRANCHDIR);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_SOLORIGIN);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip__VarArray);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip__VarArray);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct__genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_1_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_2_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_3_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_4_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_5_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_6_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_7_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_9_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_10__core_sum);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_11_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_12_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_13_genexpr);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics);
  Py_CLEAR(clear_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr);
  Py_CLEAR(clear_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_16_genexpr);
  Py_CLEAR(clear_module_state->__pyx_array_type);
  Py_CLEAR(clear_module_state->__pyx_type___pyx_array);
  Py_CLEAR(clear_module_state->__pyx_MemviewEnum_type);
  Py_CLEAR(clear_module_state->__pyx_type___pyx_MemviewEnum);
  Py_CLEAR(clear_module_state->__pyx_memoryview_type);
  Py_CLEAR(clear_module_state->__pyx_type___pyx_memoryview);
  Py_CLEAR(clear_module_state->__pyx_memoryviewslice_type);
  Py_CLEAR(clear_module_state->__pyx_type___pyx_memoryviewslice);
  Py_CLEAR(clear_module_state->__pyx_k__12);
  Py_CLEAR(clear_module_state->__pyx_k__13);
  Py_CLEAR(clear_module_state->__pyx_k__14);
  Py_CLEAR(clear_module_state->__pyx_k__15);
  Py_CLEAR(clear_module_state->__pyx_k__16);
  Py_CLEAR(clear_module_state->__pyx_k__17);
  for (int i=0; i<3; ++i) { Py_CLEAR(clear_module_state->__pyx_slice[i]); }
  for (int i=0; i<72; ++i) { Py_CLEAR(clear_module_state->__pyx_tuple[i]); }
  for (int i=0; i<972; ++i) { Py_CLEAR(clear_module_state->__pyx_codeobj_tab[i]); }
  for (int i=0; i<3800; ++i) { Py_CLEAR(clear_module_state->__pyx_string_tab[i]); }
  for (int i=0; i<42; ++i) { Py_CLEAR(clear_module_state->__pyx_number_tab[i]); }
/* #### Code section: module_state_clear_contents ### */
/* CommonTypesMetaclass.module_state_clear */
Py_CLEAR(clear_module_state->__pyx_CommonTypesMetaclassType);

/* CythonFunctionShared.module_state_clear */
Py_CLEAR(clear_module_state->__pyx_CyFunctionType);

/* Generator.module_state_clear */
Py_CLEAR(clear_module_state->__pyx_GeneratorType);

/* #### Code section: module_state_clear_end ### */
return 0;
}
#endif
/* #### Code section: module_state_traverse ### */
#if CYTHON_USE_MODULE_STATE
static CYTHON_SMALL_CODE int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
  __pyx_mstatetype *traverse_module_state = __Pyx_PyModule_GetState(m);
  if (!traverse_module_state) return 0;
  Py_VISIT(traverse_module_state->__pyx_d);
  Py_VISIT(traverse_module_state->__pyx_b);
  Py_VISIT(traverse_module_state->__pyx_cython_runtime);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_tuple);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_bytes);
  __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_unicode);
  Py_VISIT(traverse_module_state->__pyx_ptype_7cpython_4type_type);
  Py_VISIT(traverse_module_state->__pyx_ptype_7cpython_4bool_bool);
  Py_VISIT(traverse_module_state->__pyx_ptype_7cpython_7complex_complex);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_dtype);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_flatiter);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_broadcast);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_ndarray);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_generic);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_number);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_integer);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_signedinteger);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_unsignedinteger);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_inexact);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_floating);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_complexfloating);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_flexible);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_character);
  Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_ufunc);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Expr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Expr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Event);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Event);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Column);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Column);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_ColumnExact);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_ColumnExact);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Row);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Row);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_RowExact);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_RowExact);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_NLRow);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_NLRow);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Solution);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Solution);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_DomainChanges);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_DomainChanges);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_BoundChange);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_BoundChange);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Node);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Node);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Variable);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Variable);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Constraint);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Constraint);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_IIS);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_IIS);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Model);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Model);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Term);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Term);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_ExprCons);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_ExprCons);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_GenExpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_GenExpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_SumExpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_SumExpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_ProdExpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_ProdExpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_VarExpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_VarExpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PowExpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PowExpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_UnaryExpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_UnaryExpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Constant);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Constant);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_LP);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_LP);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Benders);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Benders);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Benderscut);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Benderscut);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Branchrule);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Branchrule);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Conshdlr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Conshdlr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Cutsel);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Cutsel);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Eventhdlr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Eventhdlr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Heur);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Heur);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_IISfinder);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_IISfinder);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Presol);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Presol);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Pricer);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Pricer);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Prop);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Prop);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Sepa);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Sepa);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Reader);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Reader);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Relax);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Relax);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_Nodesel);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_Nodesel);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_RESULT);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMSETTING);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_LPPARAM);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_STATUS);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_STAGE);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_NODETYPE);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_PROPTIMING);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_HEURTIMING);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_EVENTTYPE);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_LOCKTYPE);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_BRANCHDIR);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip_PY_SCIP_SOLORIGIN);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip__VarArray);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip__VarArray);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct__genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_1_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_2_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_3_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_4_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_5_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_6_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_7_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_9_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_10__core_sum);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_11_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_12_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_13_genexpr);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics);
  Py_VISIT(traverse_module_state->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr);
  Py_VISIT(traverse_module_state->__pyx_type_9pyscipopt_4scip___pyx_scope_struct_16_genexpr);
  Py_VISIT(traverse_module_state->__pyx_array_type);
  Py_VISIT(traverse_module_state->__pyx_type___pyx_array);
  Py_VISIT(traverse_module_state->__pyx_MemviewEnum_type);
  Py_VISIT(traverse_module_state->__pyx_type___pyx_MemviewEnum);
  Py_VISIT(traverse_module_state->__pyx_memoryview_type);
  Py_VISIT(traverse_module_state->__pyx_type___pyx_memoryview);
  Py_VISIT(traverse_module_state->__pyx_memoryviewslice_type);
  Py_VISIT(traverse_module_state->__pyx_type___pyx_memoryviewslice);
  Py_VISIT(traverse_module_state->__pyx_k__12);
  Py_VISIT(traverse_module_state->__pyx_k__13);
  Py_VISIT(traverse_module_state->__pyx_k__14);
  Py_VISIT(traverse_module_state->__pyx_k__15);
  Py_VISIT(traverse_module_state->__pyx_k__16);
  Py_VISIT(traverse_module_state->__pyx_k__17);
  for (int i=0; i<3; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_slice[i]); }
  for (int i=0; i<72; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_tuple[i]); }
  for (int i=0; i<972; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_codeobj_tab[i]); }
  for (int i=0; i<3800; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_string_tab[i]); }
  for (int i=0; i<42; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_number_tab[i]); }
/* #### Code section: module_state_traverse_contents ### */
/* CommonTypesMetaclass.module_state_traverse */
Py_VISIT(traverse_module_state->__pyx_CommonTypesMetaclassType);

/* CythonFunctionShared.module_state_traverse */
Py_VISIT(traverse_module_state->__pyx_CyFunctionType);

/* Generator.module_state_traverse */
Py_VISIT(traverse_module_state->__pyx_GeneratorType);

/* #### Code section: module_state_traverse_end ### */
return 0;
}
#endif
/* #### Code section: module_code ### */

/* "src/pyscipopt/matrix.pxi":107
 * _vec_ge = np.frompyfunc(operator.ge, 2, 1)
 * _vec_eq = np.frompyfunc(operator.eq, 2, 1)
 * _vec_evaluate = np.frompyfunc(lambda expr, sol: expr._evaluate(sol), 2, 1)             # <<<<<<<<<<<<<<
 * 
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_84lambda11(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_84lambda11 = {"lambda11", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_84lambda11, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_84lambda11(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_expr = 0;
  PyObject *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lambda11 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_expr,&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 107, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 107, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 107, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "lambda11", 0) < (0)) __PYX_ERR(1, 107, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("lambda11", 1, 2, 2, i); __PYX_ERR(1, 107, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 107, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 107, __pyx_L3_error)
    }
    __pyx_v_expr = values[0];
    __pyx_v_sol = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("lambda11", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 107, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.lambda11", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_lambda_funcdef_9pyscipopt_4scip_lambda11(__pyx_self, __pyx_v_expr, __pyx_v_sol);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_lambda_funcdef_9pyscipopt_4scip_lambda11(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr, PyObject *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lambda11", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_v_expr;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_sol};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_evaluate, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.lambda11", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":53
 * 
 * if sys.version_info >= (3, 0):
 *     str_conversion = lambda x:bytes(x,'utf-8')             # <<<<<<<<<<<<<<
 * else:
 *     str_conversion = lambda x:x
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_85lambda16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_85lambda16 = {"lambda16", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_85lambda16, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_85lambda16(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lambda16 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 53, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 53, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "lambda16", 0) < (0)) __PYX_ERR(2, 53, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("lambda16", 1, 1, 1, i); __PYX_ERR(2, 53, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 53, __pyx_L3_error)
    }
    __pyx_v_x = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("lambda16", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 53, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.lambda16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_lambda_funcdef_9pyscipopt_4scip_lambda16(__pyx_self, __pyx_v_x);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_lambda_funcdef_9pyscipopt_4scip_lambda16(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lambda16", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_x, __pyx_mstate_global->__pyx_kp_u_utf_8};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 53, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.lambda16", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":55
 *     str_conversion = lambda x:bytes(x,'utf-8')
 * else:
 *     str_conversion = lambda x:x             # <<<<<<<<<<<<<<
 * 
 * _SCIP_BOUNDTYPE_TO_STRING = {SCIP_BOUNDTYPE_UPPER: '<=',
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_86lambda17(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_86lambda17 = {"lambda17", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_86lambda17, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_86lambda17(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lambda17 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 55, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 55, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "lambda17", 0) < (0)) __PYX_ERR(2, 55, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("lambda17", 1, 1, 1, i); __PYX_ERR(2, 55, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 55, __pyx_L3_error)
    }
    __pyx_v_x = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("lambda17", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 55, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.lambda17", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_lambda_funcdef_9pyscipopt_4scip_lambda17(__pyx_self, __pyx_v_x);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_lambda_funcdef_9pyscipopt_4scip_lambda17(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lambda17", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_x);
  __pyx_r = __pyx_v_x;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":129
 *         cdef bint dtype_is_object
 * 
 *     def __cinit__(array self, tuple shape, Py_ssize_t itemsize, format not None,             # <<<<<<<<<<<<<<
 *                   mode="c", bint allocate_buffer=True):
 * 
*/

/* Python wrapper */
static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_shape = 0;
  Py_ssize_t __pyx_v_itemsize;
  PyObject *__pyx_v_format = 0;
  PyObject *__pyx_v_mode = 0;
  int __pyx_v_allocate_buffer;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_shape,&__pyx_mstate_global->__pyx_n_u_itemsize,&__pyx_mstate_global->__pyx_n_u_format,&__pyx_mstate_global->__pyx_n_u_mode,&__pyx_mstate_global->__pyx_n_u_allocate_buffer,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 129, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_VARARGS(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(5, 129, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_VARARGS(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(5, 129, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 129, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 129, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 129, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(5, 129, __pyx_L3_error)
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_c));
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 5, i); __PYX_ERR(5, 129, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_VARARGS(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(5, 129, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_VARARGS(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(5, 129, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 129, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 129, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 129, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_c));
    }
    __pyx_v_shape = ((PyObject*)values[0]);
    __pyx_v_itemsize = __Pyx_PyIndex_AsSsize_t(values[1]); if (unlikely((__pyx_v_itemsize == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(5, 129, __pyx_L3_error)
    __pyx_v_format = values[2];
    __pyx_v_mode = values[3];
    if (values[4]) {
      __pyx_v_allocate_buffer = __Pyx_PyObject_IsTrue(values[4]); if (unlikely((__pyx_v_allocate_buffer == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 130, __pyx_L3_error)
    } else {

      /* "View.MemoryView":130
 * 
 *     def __cinit__(array self, tuple shape, Py_ssize_t itemsize, format not None,
 *                   mode="c", bint allocate_buffer=True):             # <<<<<<<<<<<<<<
 * 
 *         cdef int idx
*/
      __pyx_v_allocate_buffer = ((int)1);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 5, __pyx_nargs); __PYX_ERR(5, 129, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("View.MemoryView.array.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_shape), (&PyTuple_Type), 1, "shape", 1))) __PYX_ERR(5, 129, __pyx_L1_error)
  if (unlikely(((PyObject *)__pyx_v_format) == Py_None)) {
    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "format"); __PYX_ERR(5, 129, __pyx_L1_error)
  }
  __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(((struct __pyx_array_obj *)__pyx_v_self), __pyx_v_shape, __pyx_v_itemsize, __pyx_v_format, __pyx_v_mode, __pyx_v_allocate_buffer);

  /* "View.MemoryView":129
 *         cdef bint dtype_is_object
 * 
 *     def __cinit__(array self, tuple shape, Py_ssize_t itemsize, format not None,             # <<<<<<<<<<<<<<
 *                   mode="c", bint allocate_buffer=True):
 * 
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, PyObject *__pyx_v_format, PyObject *__pyx_v_mode, int __pyx_v_allocate_buffer) {
  int __pyx_v_idx;
  Py_ssize_t __pyx_v_dim;
  char __pyx_v_order;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  char *__pyx_t_7;
  int __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11[5];
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_INCREF(__pyx_v_format);

  /* "View.MemoryView":135
 *         cdef Py_ssize_t dim
 * 
 *         self.ndim = <int> len(shape)             # <<<<<<<<<<<<<<
 *         self.itemsize = itemsize
 * 
*/
  if (unlikely(__pyx_v_shape == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(5, 135, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyTuple_GET_SIZE(__pyx_v_shape); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(5, 135, __pyx_L1_error)
  __pyx_v_self->ndim = ((int)__pyx_t_1);

  /* "View.MemoryView":136
 * 
 *         self.ndim = <int> len(shape)
 *         self.itemsize = itemsize             # <<<<<<<<<<<<<<
 * 
 *         if not self.ndim:
*/
  __pyx_v_self->itemsize = __pyx_v_itemsize;

  /* "View.MemoryView":138
 *         self.itemsize = itemsize
 * 
 *         if not self.ndim:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Empty shape tuple for cython.array"
 * 
*/
  __pyx_t_2 = (!(__pyx_v_self->ndim != 0));
  if (unlikely(__pyx_t_2)) {

    /* "View.MemoryView":139
 * 
 *         if not self.ndim:
 *             raise ValueError, "Empty shape tuple for cython.array"             # <<<<<<<<<<<<<<
 * 
 *         if itemsize <= 0:
*/
    __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_ValueError))), __pyx_mstate_global->__pyx_kp_u_Empty_shape_tuple_for_cython_arr, 0, 0);
    __PYX_ERR(5, 139, __pyx_L1_error)

    /* "View.MemoryView":138
 *         self.itemsize = itemsize
 * 
 *         if not self.ndim:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Empty shape tuple for cython.array"
 * 
*/
  }

  /* "View.MemoryView":141
 *             raise ValueError, "Empty shape tuple for cython.array"
 * 
 *         if itemsize <= 0:             # <<<<<<<<<<<<<<
 *             raise ValueError, "itemsize <= 0 for cython.array"
 * 
*/
  __pyx_t_2 = (__pyx_v_itemsize <= 0);
  if (unlikely(__pyx_t_2)) {

    /* "View.MemoryView":142
 * 
 *         if itemsize <= 0:
 *             raise ValueError, "itemsize <= 0 for cython.array"             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(format, bytes):
*/
    __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_ValueError))), __pyx_mstate_global->__pyx_kp_u_itemsize_0_for_cython_array, 0, 0);
    __PYX_ERR(5, 142, __pyx_L1_error)

    /* "View.MemoryView":141
 *             raise ValueError, "Empty shape tuple for cython.array"
 * 
 *         if itemsize <= 0:             # <<<<<<<<<<<<<<
 *             raise ValueError, "itemsize <= 0 for cython.array"
 * 
*/
  }

  /* "View.MemoryView":144
 *             raise ValueError, "itemsize <= 0 for cython.array"
 * 
 *         if not isinstance(format, bytes):             # <<<<<<<<<<<<<<
 *             format = format.encode('ASCII')
 *         self._format = format  # keep a reference to the byte string
*/
  __pyx_t_2 = PyBytes_Check(__pyx_v_format); 
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "View.MemoryView":145
 * 
 *         if not isinstance(format, bytes):
 *             format = format.encode('ASCII')             # <<<<<<<<<<<<<<
 *         self._format = format  # keep a reference to the byte string
 *         self.format = self._format
*/
    __pyx_t_5 = __pyx_v_format;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ASCII};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_encode, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF_SET(__pyx_v_format, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "View.MemoryView":144
 *             raise ValueError, "itemsize <= 0 for cython.array"
 * 
 *         if not isinstance(format, bytes):             # <<<<<<<<<<<<<<
 *             format = format.encode('ASCII')
 *         self._format = format  # keep a reference to the byte string
*/
  }

  /* "View.MemoryView":146
 *         if not isinstance(format, bytes):
 *             format = format.encode('ASCII')
 *         self._format = format  # keep a reference to the byte string             # <<<<<<<<<<<<<<
 *         self.format = self._format
 * 
*/
  __pyx_t_4 = __pyx_v_format;
  __Pyx_INCREF(__pyx_t_4);
  if (!(likely(PyBytes_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("bytes", __pyx_t_4))) __PYX_ERR(5, 146, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_4);
  __Pyx_GOTREF(__pyx_v_self->_format);
  __Pyx_DECREF(__pyx_v_self->_format);
  __pyx_v_self->_format = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "View.MemoryView":147
 *             format = format.encode('ASCII')
 *         self._format = format  # keep a reference to the byte string
 *         self.format = self._format             # <<<<<<<<<<<<<<
 * 
 * 
*/
  if (unlikely(__pyx_v_self->_format == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found");
    __PYX_ERR(5, 147, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyBytes_AsWritableString(__pyx_v_self->_format); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(5, 147, __pyx_L1_error)
  __pyx_v_self->format = __pyx_t_7;

  /* "View.MemoryView":150
 * 
 * 
 *         self._shape = <Py_ssize_t *> PyObject_Malloc(sizeof(Py_ssize_t)*self.ndim*2)             # <<<<<<<<<<<<<<
 *         self._strides = self._shape + self.ndim
 * 
*/
  __pyx_v_self->_shape = ((Py_ssize_t *)PyObject_Malloc((((sizeof(Py_ssize_t)) * __pyx_v_self->ndim) * 2)));

  /* "View.MemoryView":151
 * 
 *         self._shape = <Py_ssize_t *> PyObject_Malloc(sizeof(Py_ssize_t)*self.ndim*2)
 *         self._strides = self._shape + self.ndim             # <<<<<<<<<<<<<<
 * 
 *         if not self._shape:
*/
  __pyx_v_self->_strides = (__pyx_v_self->_shape + __pyx_v_self->ndim);

  /* "View.MemoryView":153
 *         self._strides = self._shape + self.ndim
 * 
 *         if not self._shape:             # <<<<<<<<<<<<<<
 *             raise MemoryError, "unable to allocate shape and strides."
 * 
*/
  __pyx_t_3 = (!(__pyx_v_self->_shape != 0));
  if (unlikely(__pyx_t_3)) {

    /* "View.MemoryView":154
 * 
 *         if not self._shape:
 *             raise MemoryError, "unable to allocate shape and strides."             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_MemoryError))), __pyx_mstate_global->__pyx_kp_u_unable_to_allocate_shape_and_str, 0, 0);
    __PYX_ERR(5, 154, __pyx_L1_error)

    /* "View.MemoryView":153
 *         self._strides = self._shape + self.ndim
 * 
 *         if not self._shape:             # <<<<<<<<<<<<<<
 *             raise MemoryError, "unable to allocate shape and strides."
 * 
*/
  }

  /* "View.MemoryView":157
 * 
 * 
 *         for idx, dim in enumerate(shape):             # <<<<<<<<<<<<<<
 *             if dim <= 0:
 *                 raise ValueError, f"Invalid shape in axis {idx}: {dim}."
*/
  __pyx_t_8 = 0;
  __pyx_t_4 = __pyx_v_shape; __Pyx_INCREF(__pyx_t_4);
  __pyx_t_1 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(5, 157, __pyx_L1_error)
      #endif
      if (__pyx_t_1 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1));
    #else
    __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_1);
    #endif
    ++__pyx_t_1;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_t_5); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(5, 157, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_v_dim = __pyx_t_9;
    __pyx_v_idx = __pyx_t_8;
    __pyx_t_8 = (__pyx_t_8 + 1);

    /* "View.MemoryView":158
 * 
 *         for idx, dim in enumerate(shape):
 *             if dim <= 0:             # <<<<<<<<<<<<<<
 *                 raise ValueError, f"Invalid shape in axis {idx}: {dim}."
 *             self._shape[idx] = dim
*/
    __pyx_t_3 = (__pyx_v_dim <= 0);
    if (unlikely(__pyx_t_3)) {

      /* "View.MemoryView":159
 *         for idx, dim in enumerate(shape):
 *             if dim <= 0:
 *                 raise ValueError, f"Invalid shape in axis {idx}: {dim}."             # <<<<<<<<<<<<<<
 *             self._shape[idx] = dim
 * 
*/
      __pyx_t_5 = __Pyx_PyUnicode_From_int(__pyx_v_idx, 0, ' ', 'd'); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_10 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_dim, 0, ' ', 'd'); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11[0] = __pyx_mstate_global->__pyx_kp_u_Invalid_shape_in_axis;
      __pyx_t_11[1] = __pyx_t_5;
      __pyx_t_11[2] = __pyx_mstate_global->__pyx_kp_u_;
      __pyx_t_11[3] = __pyx_t_10;
      __pyx_t_11[4] = __pyx_mstate_global->__pyx_kp_u__2;
      __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_11, 5, 22 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10) + 1, 127);
      if (unlikely(!__pyx_t_12)) __PYX_ERR(5, 159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_ValueError))), __pyx_t_12, 0, 0);
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __PYX_ERR(5, 159, __pyx_L1_error)

      /* "View.MemoryView":158
 * 
 *         for idx, dim in enumerate(shape):
 *             if dim <= 0:             # <<<<<<<<<<<<<<
 *                 raise ValueError, f"Invalid shape in axis {idx}: {dim}."
 *             self._shape[idx] = dim
*/
    }

    /* "View.MemoryView":160
 *             if dim <= 0:
 *                 raise ValueError, f"Invalid shape in axis {idx}: {dim}."
 *             self._shape[idx] = dim             # <<<<<<<<<<<<<<
 * 
 *         cdef char order
*/
    (__pyx_v_self->_shape[__pyx_v_idx]) = __pyx_v_dim;

    /* "View.MemoryView":157
 * 
 * 
 *         for idx, dim in enumerate(shape):             # <<<<<<<<<<<<<<
 *             if dim <= 0:
 *                 raise ValueError, f"Invalid shape in axis {idx}: {dim}."
*/
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "View.MemoryView":163
 * 
 *         cdef char order
 *         if mode == 'c':             # <<<<<<<<<<<<<<
 *             order = b'C'
 *             self.mode = u'c'
*/
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_mode, __pyx_mstate_global->__pyx_n_u_c, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 163, __pyx_L1_error)
  if (__pyx_t_3) {

    /* "View.MemoryView":164
 *         cdef char order
 *         if mode == 'c':
 *             order = b'C'             # <<<<<<<<<<<<<<
 *             self.mode = u'c'
 *         elif mode == 'fortran':
*/
    __pyx_v_order = 'C';

    /* "View.MemoryView":165
 *         if mode == 'c':
 *             order = b'C'
 *             self.mode = u'c'             # <<<<<<<<<<<<<<
 *         elif mode == 'fortran':
 *             order = b'F'
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_c);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_c);
    __Pyx_GOTREF(__pyx_v_self->mode);
    __Pyx_DECREF(__pyx_v_self->mode);
    __pyx_v_self->mode = __pyx_mstate_global->__pyx_n_u_c;

    /* "View.MemoryView":163
 * 
 *         cdef char order
 *         if mode == 'c':             # <<<<<<<<<<<<<<
 *             order = b'C'
 *             self.mode = u'c'
*/
    goto __pyx_L11;
  }

  /* "View.MemoryView":166
 *             order = b'C'
 *             self.mode = u'c'
 *         elif mode == 'fortran':             # <<<<<<<<<<<<<<
 *             order = b'F'
 *             self.mode = u'fortran'
*/
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_mode, __pyx_mstate_global->__pyx_n_u_fortran, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 166, __pyx_L1_error)
  if (likely(__pyx_t_3)) {

    /* "View.MemoryView":167
 *             self.mode = u'c'
 *         elif mode == 'fortran':
 *             order = b'F'             # <<<<<<<<<<<<<<
 *             self.mode = u'fortran'
 *         else:
*/
    __pyx_v_order = 'F';

    /* "View.MemoryView":168
 *         elif mode == 'fortran':
 *             order = b'F'
 *             self.mode = u'fortran'             # <<<<<<<<<<<<<<
 *         else:
 *             raise ValueError, f"Invalid mode, expected 'c' or 'fortran', got {mode}"
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_fortran);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_fortran);
    __Pyx_GOTREF(__pyx_v_self->mode);
    __Pyx_DECREF(__pyx_v_self->mode);
    __pyx_v_self->mode = __pyx_mstate_global->__pyx_n_u_fortran;

    /* "View.MemoryView":166
 *             order = b'C'
 *             self.mode = u'c'
 *         elif mode == 'fortran':             # <<<<<<<<<<<<<<
 *             order = b'F'
 *             self.mode = u'fortran'
*/
    goto __pyx_L11;
  }

  /* "View.MemoryView":170
 *             self.mode = u'fortran'
 *         else:
 *             raise ValueError, f"Invalid mode, expected 'c' or 'fortran', got {mode}"             # <<<<<<<<<<<<<<
 * 
 *         self.len = fill_contig_strides_array(self._shape, self._strides, itemsize, self.ndim, order)
*/
  /*else*/ {
    __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_mode, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 170, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_12 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Invalid_mode_expected_c_or_fortr, __pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(5, 170, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_ValueError))), __pyx_t_12, 0, 0);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __PYX_ERR(5, 170, __pyx_L1_error)
  }
  __pyx_L11:;

  /* "View.MemoryView":172
 *             raise ValueError, f"Invalid mode, expected 'c' or 'fortran', got {mode}"
 * 
 *         self.len = fill_contig_strides_array(self._shape, self._strides, itemsize, self.ndim, order)             # <<<<<<<<<<<<<<
 * 
 *         self.free_data = allocate_buffer
*/
  __pyx_v_self->len = __pyx_fill_contig_strides_array(__pyx_v_self->_shape, __pyx_v_self->_strides, __pyx_v_itemsize, __pyx_v_self->ndim, __pyx_v_order);

  /* "View.MemoryView":174
 *         self.len = fill_contig_strides_array(self._shape, self._strides, itemsize, self.ndim, order)
 * 
 *         self.free_data = allocate_buffer             # <<<<<<<<<<<<<<
 *         self.dtype_is_object = format == b'O'
 * 
*/
  __pyx_v_self->free_data = __pyx_v_allocate_buffer;

  /* "View.MemoryView":175
 * 
 *         self.free_data = allocate_buffer
 *         self.dtype_is_object = format == b'O'             # <<<<<<<<<<<<<<
 * 
 *         if allocate_buffer:
*/
  __pyx_t_12 = PyObject_RichCompare(__pyx_v_format, __pyx_mstate_global->__pyx_n_b_O, Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(5, 175, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  __pyx_v_self->dtype_is_object = __pyx_t_3;

  /* "View.MemoryView":177
 *         self.dtype_is_object = format == b'O'
 * 
 *         if allocate_buffer:             # <<<<<<<<<<<<<<
 *             _allocate_buffer(self)
 * 
*/
  if (__pyx_v_allocate_buffer) {

    /* "View.MemoryView":178
 * 
 *         if allocate_buffer:
 *             _allocate_buffer(self)             # <<<<<<<<<<<<<<
 * 
 *     @cname('getbuffer')
*/
    __pyx_t_8 = __pyx_array_allocate_buffer(__pyx_v_self); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(5, 178, __pyx_L1_error)

    /* "View.MemoryView":177
 *         self.dtype_is_object = format == b'O'
 * 
 *         if allocate_buffer:             # <<<<<<<<<<<<<<
 *             _allocate_buffer(self)
 * 
*/
  }

  /* "View.MemoryView":129
 *         cdef bint dtype_is_object
 * 
 *     def __cinit__(array self, tuple shape, Py_ssize_t itemsize, format not None,             # <<<<<<<<<<<<<<
 *                   mode="c", bint allocate_buffer=True):
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("View.MemoryView.array.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_format);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":180
 *             _allocate_buffer(self)
 * 
 *     @cname('getbuffer')             # <<<<<<<<<<<<<<
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         cdef int bufmode = -1
*/

/* Python wrapper */
CYTHON_UNUSED static int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
CYTHON_UNUSED static int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(((struct __pyx_array_obj *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(struct __pyx_array_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
  int __pyx_v_bufmode;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  char *__pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  Py_ssize_t *__pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  if (unlikely(__pyx_v_info == NULL)) {
    PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete");
    return -1;
  }
  __Pyx_RefNannySetupContext("__getbuffer__", 0);
  __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(__pyx_v_info->obj);

  /* "View.MemoryView":182
 *     @cname('getbuffer')
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         cdef int bufmode = -1             # <<<<<<<<<<<<<<
 *         if flags & (PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS):
 *             if self.mode == u"c":
*/
  __pyx_v_bufmode = -1;

  /* "View.MemoryView":183
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         cdef int bufmode = -1
 *         if flags & (PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS):             # <<<<<<<<<<<<<<
 *             if self.mode == u"c":
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
*/
  __pyx_t_1 = ((__pyx_v_flags & ((PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS) | PyBUF_ANY_CONTIGUOUS)) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":184
 *         cdef int bufmode = -1
 *         if flags & (PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS):
 *             if self.mode == u"c":             # <<<<<<<<<<<<<<
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             elif self.mode == u"fortran":
*/
    __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_self->mode, __pyx_mstate_global->__pyx_n_u_c, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(5, 184, __pyx_L1_error)
    if (__pyx_t_1) {

      /* "View.MemoryView":185
 *         if flags & (PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS):
 *             if self.mode == u"c":
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS             # <<<<<<<<<<<<<<
 *             elif self.mode == u"fortran":
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
*/
      __pyx_v_bufmode = (PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS);

      /* "View.MemoryView":184
 *         cdef int bufmode = -1
 *         if flags & (PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS):
 *             if self.mode == u"c":             # <<<<<<<<<<<<<<
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             elif self.mode == u"fortran":
*/
      goto __pyx_L4;
    }

    /* "View.MemoryView":186
 *             if self.mode == u"c":
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             elif self.mode == u"fortran":             # <<<<<<<<<<<<<<
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             if not (flags & bufmode):
*/
    __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_self->mode, __pyx_mstate_global->__pyx_n_u_fortran, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(5, 186, __pyx_L1_error)
    if (__pyx_t_1) {

      /* "View.MemoryView":187
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             elif self.mode == u"fortran":
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS             # <<<<<<<<<<<<<<
 *             if not (flags & bufmode):
 *                 raise ValueError, "Can only create a buffer that is contiguous in memory."
*/
      __pyx_v_bufmode = (PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS);

      /* "View.MemoryView":186
 *             if self.mode == u"c":
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             elif self.mode == u"fortran":             # <<<<<<<<<<<<<<
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             if not (flags & bufmode):
*/
    }
    __pyx_L4:;

    /* "View.MemoryView":188
 *             elif self.mode == u"fortran":
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             if not (flags & bufmode):             # <<<<<<<<<<<<<<
 *                 raise ValueError, "Can only create a buffer that is contiguous in memory."
 *         info.buf = self.data
*/
    __pyx_t_1 = (!((__pyx_v_flags & __pyx_v_bufmode) != 0));
    if (unlikely(__pyx_t_1)) {

      /* "View.MemoryView":189
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             if not (flags & bufmode):
 *                 raise ValueError, "Can only create a buffer that is contiguous in memory."             # <<<<<<<<<<<<<<
 *         info.buf = self.data
 *         info.len = self.len
*/
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_ValueError))), __pyx_mstate_global->__pyx_kp_u_Can_only_create_a_buffer_that_is, 0, 0);
      __PYX_ERR(5, 189, __pyx_L1_error)

      /* "View.MemoryView":188
 *             elif self.mode == u"fortran":
 *                 bufmode = PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
 *             if not (flags & bufmode):             # <<<<<<<<<<<<<<
 *                 raise ValueError, "Can only create a buffer that is contiguous in memory."
 *         info.buf = self.data
*/
    }

    /* "View.MemoryView":183
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         cdef int bufmode = -1
 *         if flags & (PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS):             # <<<<<<<<<<<<<<
 *             if self.mode == u"c":
 *                 bufmode = PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS
*/
  }

  /* "View.MemoryView":190
 *             if not (flags & bufmode):
 *                 raise ValueError, "Can only create a buffer that is contiguous in memory."
 *         info.buf = self.data             # <<<<<<<<<<<<<<
 *         info.len = self.len
 * 
*/
  __pyx_t_2 = __pyx_v_self->data;
  __pyx_v_info->buf = __pyx_t_2;

  /* "View.MemoryView":191
 *                 raise ValueError, "Can only create a buffer that is contiguous in memory."
 *         info.buf = self.data
 *         info.len = self.len             # <<<<<<<<<<<<<<
 * 
 *         if flags & PyBUF_STRIDES:
*/
  __pyx_t_3 = __pyx_v_self->len;
  __pyx_v_info->len = __pyx_t_3;

  /* "View.MemoryView":193
 *         info.len = self.len
 * 
 *         if flags & PyBUF_STRIDES:             # <<<<<<<<<<<<<<
 *             info.ndim = self.ndim
 *             info.shape = self._shape
*/
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_STRIDES) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":194
 * 
 *         if flags & PyBUF_STRIDES:
 *             info.ndim = self.ndim             # <<<<<<<<<<<<<<
 *             info.shape = self._shape
 *             info.strides = self._strides
*/
    __pyx_t_4 = __pyx_v_self->ndim;
    __pyx_v_info->ndim = __pyx_t_4;

    /* "View.MemoryView":195
 *         if flags & PyBUF_STRIDES:
 *             info.ndim = self.ndim
 *             info.shape = self._shape             # <<<<<<<<<<<<<<
 *             info.strides = self._strides
 *         else:
*/
    __pyx_t_5 = __pyx_v_self->_shape;
    __pyx_v_info->shape = __pyx_t_5;

    /* "View.MemoryView":196
 *             info.ndim = self.ndim
 *             info.shape = self._shape
 *             info.strides = self._strides             # <<<<<<<<<<<<<<
 *         else:
 *             info.ndim = 1
*/
    __pyx_t_5 = __pyx_v_self->_strides;
    __pyx_v_info->strides = __pyx_t_5;

    /* "View.MemoryView":193
 *         info.len = self.len
 * 
 *         if flags & PyBUF_STRIDES:             # <<<<<<<<<<<<<<
 *             info.ndim = self.ndim
 *             info.shape = self._shape
*/
    goto __pyx_L6;
  }

  /* "View.MemoryView":198
 *             info.strides = self._strides
 *         else:
 *             info.ndim = 1             # <<<<<<<<<<<<<<
 *             info.shape = &self.len if flags & PyBUF_ND else NULL
 *             info.strides = NULL
*/
  /*else*/ {
    __pyx_v_info->ndim = 1;

    /* "View.MemoryView":199
 *         else:
 *             info.ndim = 1
 *             info.shape = &self.len if flags & PyBUF_ND else NULL             # <<<<<<<<<<<<<<
 *             info.strides = NULL
 * 
*/
    __pyx_t_1 = ((__pyx_v_flags & PyBUF_ND) != 0);
    if (__pyx_t_1) {
      __pyx_t_5 = (&__pyx_v_self->len);
    } else {
      __pyx_t_5 = NULL;
    }
    __pyx_v_info->shape = __pyx_t_5;

    /* "View.MemoryView":200
 *             info.ndim = 1
 *             info.shape = &self.len if flags & PyBUF_ND else NULL
 *             info.strides = NULL             # <<<<<<<<<<<<<<
 * 
 *         info.suboffsets = NULL
*/
    __pyx_v_info->strides = NULL;
  }
  __pyx_L6:;

  /* "View.MemoryView":202
 *             info.strides = NULL
 * 
 *         info.suboffsets = NULL             # <<<<<<<<<<<<<<
 *         info.itemsize = self.itemsize
 *         info.readonly = 0
*/
  __pyx_v_info->suboffsets = NULL;

  /* "View.MemoryView":203
 * 
 *         info.suboffsets = NULL
 *         info.itemsize = self.itemsize             # <<<<<<<<<<<<<<
 *         info.readonly = 0
 *         info.format = self.format if flags & PyBUF_FORMAT else NULL
*/
  __pyx_t_3 = __pyx_v_self->itemsize;
  __pyx_v_info->itemsize = __pyx_t_3;

  /* "View.MemoryView":204
 *         info.suboffsets = NULL
 *         info.itemsize = self.itemsize
 *         info.readonly = 0             # <<<<<<<<<<<<<<
 *         info.format = self.format if flags & PyBUF_FORMAT else NULL
 *         info.obj = self
*/
  __pyx_v_info->readonly = 0;

  /* "View.MemoryView":205
 *         info.itemsize = self.itemsize
 *         info.readonly = 0
 *         info.format = self.format if flags & PyBUF_FORMAT else NULL             # <<<<<<<<<<<<<<
 *         info.obj = self
 * 
*/
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_FORMAT) != 0);
  if (__pyx_t_1) {
    __pyx_t_2 = __pyx_v_self->format;
  } else {
    __pyx_t_2 = NULL;
  }
  __pyx_v_info->format = __pyx_t_2;

  /* "View.MemoryView":206
 *         info.readonly = 0
 *         info.format = self.format if flags & PyBUF_FORMAT else NULL
 *         info.obj = self             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(array self):
*/
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  __Pyx_GOTREF(__pyx_v_info->obj);
  __Pyx_DECREF(__pyx_v_info->obj);
  __pyx_v_info->obj = ((PyObject *)__pyx_v_self);

  /* "View.MemoryView":180
 *             _allocate_buffer(self)
 * 
 *     @cname('getbuffer')             # <<<<<<<<<<<<<<
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         cdef int bufmode = -1
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.array.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  if (__pyx_v_info->obj != NULL) {
    __Pyx_GOTREF(__pyx_v_info->obj);
    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
  }
  goto __pyx_L2;
  __pyx_L0:;
  if (__pyx_v_info->obj == Py_None) {
    __Pyx_GOTREF(__pyx_v_info->obj);
    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
  }
  __pyx_L2:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":208
 *         info.obj = self
 * 
 *     def __dealloc__(array self):             # <<<<<<<<<<<<<<
 *         if self.callback_free_data != NULL:
 *             self.callback_free_data(self.data)
*/

/* Python wrapper */
static void __pyx_array___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_array___dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(((struct __pyx_array_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(struct __pyx_array_obj *__pyx_v_self) {
  int __pyx_t_1;
  int __pyx_t_2;

  /* "View.MemoryView":209
 * 
 *     def __dealloc__(array self):
 *         if self.callback_free_data != NULL:             # <<<<<<<<<<<<<<
 *             self.callback_free_data(self.data)
 *         elif self.free_data and self.data is not NULL:
*/
  __pyx_t_1 = (__pyx_v_self->callback_free_data != NULL);
  if (__pyx_t_1) {

    /* "View.MemoryView":210
 *     def __dealloc__(array self):
 *         if self.callback_free_data != NULL:
 *             self.callback_free_data(self.data)             # <<<<<<<<<<<<<<
 *         elif self.free_data and self.data is not NULL:
 *             if self.dtype_is_object:
*/
    __pyx_v_self->callback_free_data(__pyx_v_self->data);

    /* "View.MemoryView":209
 * 
 *     def __dealloc__(array self):
 *         if self.callback_free_data != NULL:             # <<<<<<<<<<<<<<
 *             self.callback_free_data(self.data)
 *         elif self.free_data and self.data is not NULL:
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":211
 *         if self.callback_free_data != NULL:
 *             self.callback_free_data(self.data)
 *         elif self.free_data and self.data is not NULL:             # <<<<<<<<<<<<<<
 *             if self.dtype_is_object:
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)
*/
  if (__pyx_v_self->free_data) {
  } else {
    __pyx_t_1 = __pyx_v_self->free_data;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_self->data != NULL);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "View.MemoryView":212
 *             self.callback_free_data(self.data)
 *         elif self.free_data and self.data is not NULL:
 *             if self.dtype_is_object:             # <<<<<<<<<<<<<<
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)
 *             free(self.data)
*/
    if (__pyx_v_self->dtype_is_object) {

      /* "View.MemoryView":213
 *         elif self.free_data and self.data is not NULL:
 *             if self.dtype_is_object:
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)             # <<<<<<<<<<<<<<
 *             free(self.data)
 *         PyObject_Free(self._shape)
*/
      __pyx_memoryview_refcount_objects_in_slice(__pyx_v_self->data, __pyx_v_self->_shape, __pyx_v_self->_strides, __pyx_v_self->ndim, 0);

      /* "View.MemoryView":212
 *             self.callback_free_data(self.data)
 *         elif self.free_data and self.data is not NULL:
 *             if self.dtype_is_object:             # <<<<<<<<<<<<<<
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)
 *             free(self.data)
*/
    }

    /* "View.MemoryView":214
 *             if self.dtype_is_object:
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)
 *             free(self.data)             # <<<<<<<<<<<<<<
 *         PyObject_Free(self._shape)
 * 
*/
    free(__pyx_v_self->data);

    /* "View.MemoryView":211
 *         if self.callback_free_data != NULL:
 *             self.callback_free_data(self.data)
 *         elif self.free_data and self.data is not NULL:             # <<<<<<<<<<<<<<
 *             if self.dtype_is_object:
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)
*/
  }
  __pyx_L3:;

  /* "View.MemoryView":215
 *                 refcount_objects_in_slice(self.data, self._shape, self._strides, self.ndim, inc=False)
 *             free(self.data)
 *         PyObject_Free(self._shape)             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  PyObject_Free(__pyx_v_self->_shape);

  /* "View.MemoryView":208
 *         info.obj = self
 * 
 *     def __dealloc__(array self):             # <<<<<<<<<<<<<<
 *         if self.callback_free_data != NULL:
 *             self.callback_free_data(self.data)
*/

  /* function exit code */
}

/* "View.MemoryView":217
 *         PyObject_Free(self._shape)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def memview(self):
 *         return self.get_memview()
*/

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_5array_7memview___get__(((struct __pyx_array_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_5array_7memview___get__(struct __pyx_array_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "View.MemoryView":219
 *     @property
 *     def memview(self):
 *         return self.get_memview()             # <<<<<<<<<<<<<<
 * 
 *     @cname('get_memview')
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_array *)__pyx_v_self->__pyx_vtab)->get_memview(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":217
 *         PyObject_Free(self._shape)
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def memview(self):
 *         return self.get_memview()
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.array.memview.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":221
 *         return self.get_memview()
 * 
 *     @cname('get_memview')             # <<<<<<<<<<<<<<
 *     cdef get_memview(self):
 *         flags =  PyBUF_ANY_CONTIGUOUS|PyBUF_FORMAT|PyBUF_WRITABLE
*/

static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *__pyx_v_self) {
  int __pyx_v_flags;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_memview", 0);

  /* "View.MemoryView":223
 *     @cname('get_memview')
 *     cdef get_memview(self):
 *         flags =  PyBUF_ANY_CONTIGUOUS|PyBUF_FORMAT|PyBUF_WRITABLE             # <<<<<<<<<<<<<<
 *         return  memoryview(self, flags, self.dtype_is_object)
 * 
*/
  __pyx_v_flags = ((PyBUF_ANY_CONTIGUOUS | PyBUF_FORMAT) | PyBUF_WRITABLE);

  /* "View.MemoryView":224
 *     cdef get_memview(self):
 *         flags =  PyBUF_ANY_CONTIGUOUS|PyBUF_FORMAT|PyBUF_WRITABLE
 *         return  memoryview(self, flags, self.dtype_is_object)             # <<<<<<<<<<<<<<
 * 
 *     def __len__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_self->dtype_is_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_t_3, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_memoryview_type, __pyx_callargs+__pyx_t_5, (4-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 224, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_r = ((PyObject *)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":221
 *         return self.get_memview()
 * 
 *     @cname('get_memview')             # <<<<<<<<<<<<<<
 *     cdef get_memview(self):
 *         flags =  PyBUF_ANY_CONTIGUOUS|PyBUF_FORMAT|PyBUF_WRITABLE
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("View.MemoryView.array.get_memview", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":226
 *         return  memoryview(self, flags, self.dtype_is_object)
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return self._shape[0]
 * 
*/

/* Python wrapper */
static Py_ssize_t __pyx_array___len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_array___len__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(((struct __pyx_array_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_ssize_t __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(struct __pyx_array_obj *__pyx_v_self) {
  Py_ssize_t __pyx_r;

  /* "View.MemoryView":227
 * 
 *     def __len__(self):
 *         return self._shape[0]             # <<<<<<<<<<<<<<
 * 
 *     def __getattr__(self, attr):
*/
  __pyx_r = (__pyx_v_self->_shape[0]);
  goto __pyx_L0;

  /* "View.MemoryView":226
 *         return  memoryview(self, flags, self.dtype_is_object)
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return self._shape[0]
 * 
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":229
 *         return self._shape[0]
 * 
 *     def __getattr__(self, attr):             # <<<<<<<<<<<<<<
 *         return getattr(self.memview, attr)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_array___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_attr); /*proto*/
static PyObject *__pyx_array___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_attr) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getattr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(((struct __pyx_array_obj *)__pyx_v_self), ((PyObject *)__pyx_v_attr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_attr) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__getattr__", 0);

  /* "View.MemoryView":230
 * 
 *     def __getattr__(self, attr):
 *         return getattr(self.memview, attr)             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, item):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memview); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetAttr(__pyx_t_1, __pyx_v_attr); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":229
 *         return self._shape[0]
 * 
 *     def __getattr__(self, attr):             # <<<<<<<<<<<<<<
 *         return getattr(self.memview, attr)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.array.__getattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":232
 *         return getattr(self.memview, attr)
 * 
 *     def __getitem__(self, item):             # <<<<<<<<<<<<<<
 *         return self.memview[item]
 * 
*/

/* Python wrapper */
static PyObject *__pyx_array___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item); /*proto*/
static PyObject *__pyx_array___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__(((struct __pyx_array_obj *)__pyx_v_self), ((PyObject *)__pyx_v_item));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__getitem__", 0);

  /* "View.MemoryView":233
 * 
 *     def __getitem__(self, item):
 *         return self.memview[item]             # <<<<<<<<<<<<<<
 * 
 *     def __setitem__(self, item, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memview); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_item); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":232
 *         return getattr(self.memview, attr)
 * 
 *     def __getitem__(self, item):             # <<<<<<<<<<<<<<
 *         return self.memview[item]
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.array.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":235
 *         return self.memview[item]
 * 
 *     def __setitem__(self, item, value):             # <<<<<<<<<<<<<<
 *         self.memview[item] = value
 * 
*/

/* Python wrapper */
static int __pyx_array___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value); /*proto*/
static int __pyx_array___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(((struct __pyx_array_obj *)__pyx_v_self), ((PyObject *)__pyx_v_item), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setitem__", 0);

  /* "View.MemoryView":236
 * 
 *     def __setitem__(self, item, value):
 *         self.memview[item] = value             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memview); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_v_item, __pyx_v_value) < 0))) __PYX_ERR(5, 236, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "View.MemoryView":235
 *         return self.memview[item]
 * 
 *     def __setitem__(self, item, value):             # <<<<<<<<<<<<<<
 *         self.memview[item] = value
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.array.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw___pyx_array_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_array_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf___pyx_array___reduce_cython__(((struct __pyx_array_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_array___reduce_cython__(CYTHON_UNUSED struct __pyx_array_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.array.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw___pyx_array_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_array_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("View.MemoryView.array.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf___pyx_array_2__setstate_cython__(((struct __pyx_array_obj *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_array_2__setstate_cython__(CYTHON_UNUSED struct __pyx_array_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.array.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":245
 *         pass
 * 
 * @cname("__pyx_array_allocate_buffer")             # <<<<<<<<<<<<<<
 * cdef int _allocate_buffer(array self) except -1:
 * 
*/

static int __pyx_array_allocate_buffer(struct __pyx_array_obj *__pyx_v_self) {
  Py_ssize_t __pyx_v_i;
  PyObject **__pyx_v_p;
  int __pyx_r;
  int __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "View.MemoryView":252
 *     cdef PyObject **p
 * 
 *     self.free_data = True             # <<<<<<<<<<<<<<
 *     self.data = <char *>malloc(self.len)
 *     if not self.data:
*/
  __pyx_v_self->free_data = 1;

  /* "View.MemoryView":253
 * 
 *     self.free_data = True
 *     self.data = <char *>malloc(self.len)             # <<<<<<<<<<<<<<
 *     if not self.data:
 *         raise MemoryError, "unable to allocate array data."
*/
  __pyx_v_self->data = ((char *)malloc(__pyx_v_self->len));

  /* "View.MemoryView":254
 *     self.free_data = True
 *     self.data = <char *>malloc(self.len)
 *     if not self.data:             # <<<<<<<<<<<<<<
 *         raise MemoryError, "unable to allocate array data."
 * 
*/
  __pyx_t_1 = (!(__pyx_v_self->data != 0));
  if (unlikely(__pyx_t_1)) {

    /* "View.MemoryView":255
 *     self.data = <char *>malloc(self.len)
 *     if not self.data:
 *         raise MemoryError, "unable to allocate array data."             # <<<<<<<<<<<<<<
 * 
 *     if self.dtype_is_object:
*/
    __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_MemoryError))), __pyx_mstate_global->__pyx_kp_u_unable_to_allocate_array_data, 0, 0);
    __PYX_ERR(5, 255, __pyx_L1_error)

    /* "View.MemoryView":254
 *     self.free_data = True
 *     self.data = <char *>malloc(self.len)
 *     if not self.data:             # <<<<<<<<<<<<<<
 *         raise MemoryError, "unable to allocate array data."
 * 
*/
  }

  /* "View.MemoryView":257
 *         raise MemoryError, "unable to allocate array data."
 * 
 *     if self.dtype_is_object:             # <<<<<<<<<<<<<<
 *         p = <PyObject **> self.data
 *         for i in range(self.len // self.itemsize):
*/
  if (__pyx_v_self->dtype_is_object) {

    /* "View.MemoryView":258
 * 
 *     if self.dtype_is_object:
 *         p = <PyObject **> self.data             # <<<<<<<<<<<<<<
 *         for i in range(self.len // self.itemsize):
 *             p[i] = Py_None
*/
    __pyx_v_p = ((PyObject **)__pyx_v_self->data);

    /* "View.MemoryView":259
 *     if self.dtype_is_object:
 *         p = <PyObject **> self.data
 *         for i in range(self.len // self.itemsize):             # <<<<<<<<<<<<<<
 *             p[i] = Py_None
 *             Py_INCREF(Py_None)
*/
    if (unlikely(__pyx_v_self->itemsize == 0)) {
      PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
      __PYX_ERR(5, 259, __pyx_L1_error)
    }
    else if (sizeof(Py_ssize_t) == sizeof(long) && (!(((Py_ssize_t)-1) > 0)) && unlikely(__pyx_v_self->itemsize == (Py_ssize_t)-1)  && unlikely(__Pyx_UNARY_NEG_WOULD_OVERFLOW(__pyx_v_self->len))) {
      PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
      __PYX_ERR(5, 259, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_div_Py_ssize_t(__pyx_v_self->len, __pyx_v_self->itemsize, 0);
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "View.MemoryView":260
 *         p = <PyObject **> self.data
 *         for i in range(self.len // self.itemsize):
 *             p[i] = Py_None             # <<<<<<<<<<<<<<
 *             Py_INCREF(Py_None)
 *     return 0
*/
      (__pyx_v_p[__pyx_v_i]) = Py_None;

      /* "View.MemoryView":261
 *         for i in range(self.len // self.itemsize):
 *             p[i] = Py_None
 *             Py_INCREF(Py_None)             # <<<<<<<<<<<<<<
 *     return 0
 * 
*/
      Py_INCREF(Py_None);
    }

    /* "View.MemoryView":257
 *         raise MemoryError, "unable to allocate array data."
 * 
 *     if self.dtype_is_object:             # <<<<<<<<<<<<<<
 *         p = <PyObject **> self.data
 *         for i in range(self.len // self.itemsize):
*/
  }

  /* "View.MemoryView":262
 *             p[i] = Py_None
 *             Py_INCREF(Py_None)
 *     return 0             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = 0;
  goto __pyx_L0;

  /* "View.MemoryView":245
 *         pass
 * 
 * @cname("__pyx_array_allocate_buffer")             # <<<<<<<<<<<<<<
 * cdef int _allocate_buffer(array self) except -1:
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView._allocate_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":265
 * 
 * 
 * @cname("__pyx_array_new")             # <<<<<<<<<<<<<<
 * cdef array array_cwrapper(tuple shape, Py_ssize_t itemsize, char *format, const char *c_mode, char *buf):
 *     cdef array result
*/

static struct __pyx_array_obj *__pyx_array_new(PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, char *__pyx_v_format, char const *__pyx_v_c_mode, char *__pyx_v_buf) {
  struct __pyx_array_obj *__pyx_v_result = 0;
  PyObject *__pyx_v_mode = 0;
  struct __pyx_array_obj *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("array_cwrapper", 0);

  /* "View.MemoryView":268
 * cdef array array_cwrapper(tuple shape, Py_ssize_t itemsize, char *format, const char *c_mode, char *buf):
 *     cdef array result
 *     cdef str mode = "fortran" if c_mode[0] == b'f' else "c"  # this often comes from a constant C string.             # <<<<<<<<<<<<<<
 * 
 *     if buf is NULL:
*/
  __pyx_t_2 = ((__pyx_v_c_mode[0]) == 'f');
  if (__pyx_t_2) {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_fortran);
    __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_fortran;
  } else {
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_c);
    __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_c;
  }
  __pyx_v_mode = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "View.MemoryView":270
 *     cdef str mode = "fortran" if c_mode[0] == b'f' else "c"  # this often comes from a constant C string.
 * 
 *     if buf is NULL:             # <<<<<<<<<<<<<<
 *         result = array.__new__(array, shape, itemsize, format, mode)
 *     else:
*/
  __pyx_t_2 = (__pyx_v_buf == NULL);
  if (__pyx_t_2) {

    /* "View.MemoryView":271
 * 
 *     if buf is NULL:
 *         result = array.__new__(array, shape, itemsize, format, mode)             # <<<<<<<<<<<<<<
 *     else:
 *         result = array.__new__(array, shape, itemsize, format, mode, allocate_buffer=False)
*/
    __pyx_t_1 = PyLong_FromSsize_t(__pyx_v_itemsize); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 271, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v_shape);
    __Pyx_GIVEREF(__pyx_v_shape);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape) != (0)) __PYX_ERR(5, 271, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 271, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3) != (0)) __PYX_ERR(5, 271, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_mode);
    __Pyx_GIVEREF(__pyx_v_mode);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_v_mode) != (0)) __PYX_ERR(5, 271, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_t_3 = 0;
    __pyx_t_3 = ((PyObject *)__pyx_tp_new_array(((PyTypeObject *)__pyx_mstate_global->__pyx_array_type), __pyx_t_4, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 271, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_result = ((struct __pyx_array_obj *)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "View.MemoryView":270
 *     cdef str mode = "fortran" if c_mode[0] == b'f' else "c"  # this often comes from a constant C string.
 * 
 *     if buf is NULL:             # <<<<<<<<<<<<<<
 *         result = array.__new__(array, shape, itemsize, format, mode)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":273
 *         result = array.__new__(array, shape, itemsize, format, mode)
 *     else:
 *         result = array.__new__(array, shape, itemsize, format, mode, allocate_buffer=False)             # <<<<<<<<<<<<<<
 *         result.data = buf
 * 
*/
  /*else*/ {
    __pyx_t_3 = PyLong_FromSsize_t(__pyx_v_itemsize); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_format); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v_shape);
    __Pyx_GIVEREF(__pyx_v_shape);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_shape) != (0)) __PYX_ERR(5, 273, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3) != (0)) __PYX_ERR(5, 273, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_4) != (0)) __PYX_ERR(5, 273, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_mode);
    __Pyx_GIVEREF(__pyx_v_mode);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_mode) != (0)) __PYX_ERR(5, 273, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_allocate_buffer, Py_False) < (0)) __PYX_ERR(5, 273, __pyx_L1_error)
    __pyx_t_3 = ((PyObject *)__pyx_tp_new_array(((PyTypeObject *)__pyx_mstate_global->__pyx_array_type), __pyx_t_1, __pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 273, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_result = ((struct __pyx_array_obj *)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "View.MemoryView":274
 *     else:
 *         result = array.__new__(array, shape, itemsize, format, mode, allocate_buffer=False)
 *         result.data = buf             # <<<<<<<<<<<<<<
 * 
 *     return result
*/
    __pyx_v_result->data = __pyx_v_buf;
  }
  __pyx_L3:;

  /* "View.MemoryView":276
 *         result.data = buf
 * 
 *     return result             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF((PyObject *)__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "View.MemoryView":265
 * 
 * 
 * @cname("__pyx_array_new")             # <<<<<<<<<<<<<<
 * cdef array array_cwrapper(tuple shape, Py_ssize_t itemsize, char *format, const char *c_mode, char *buf):
 *     cdef array result
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("View.MemoryView.array_cwrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_result);
  __Pyx_XDECREF(__pyx_v_mode);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":302
 * cdef class Enum(object):
 *     cdef object name
 *     def __init__(self, name):             # <<<<<<<<<<<<<<
 *         self.name = name
 *     def __repr__(self):
*/

/* Python wrapper */
static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_name = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 302, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 302, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(5, 302, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(5, 302, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 302, __pyx_L3_error)
    }
    __pyx_v_name = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 302, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("View.MemoryView.Enum.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(((struct __pyx_MemviewEnum_obj *)__pyx_v_self), __pyx_v_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v_name) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "View.MemoryView":303
 *     cdef object name
 *     def __init__(self, name):
 *         self.name = name             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return self.name
*/
  __Pyx_INCREF(__pyx_v_name);
  __Pyx_GIVEREF(__pyx_v_name);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = __pyx_v_name;

  /* "View.MemoryView":302
 * cdef class Enum(object):
 *     cdef object name
 *     def __init__(self, name):             # <<<<<<<<<<<<<<
 *         self.name = name
 *     def __repr__(self):
*/

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":304
 *     def __init__(self, name):
 *         self.name = name
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self.name
 * 
*/

/* Python wrapper */
static PyObject *__pyx_MemviewEnum___repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_MemviewEnum___repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(((struct __pyx_MemviewEnum_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(struct __pyx_MemviewEnum_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "View.MemoryView":305
 *         self.name = name
 *     def __repr__(self):
 *         return self.name             # <<<<<<<<<<<<<<
 * 
 * cdef generic = Enum("<strided and direct or indirect>")
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->name);
  __pyx_r = __pyx_v_self->name;
  goto __pyx_L0;

  /* "View.MemoryView":304
 *     def __init__(self, name):
 *         self.name = name
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self.name
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw___pyx_MemviewEnum_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_MemviewEnum_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf___pyx_MemviewEnum___reduce_cython__(((struct __pyx_MemviewEnum_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(struct __pyx_MemviewEnum_obj *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.name,)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->name);
  __Pyx_GIVEREF(__pyx_v_self->name);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->name) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.name,)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.name,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.name is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.name,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.name is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, None), state
*/
  /*else*/ {
    __pyx_t_2 = (__pyx_v_self->name != Py_None);
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.name is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Enum); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_136983863);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_136983863);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_136983863) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, None), state
 *     else:
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Enum__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Enum); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_136983863);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_136983863);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_136983863) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("View.MemoryView.Enum.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Enum__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw___pyx_MemviewEnum_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_MemviewEnum_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("View.MemoryView.Enum.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf___pyx_MemviewEnum_2__setstate_cython__(((struct __pyx_MemviewEnum_obj *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_MemviewEnum_2__setstate_cython__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Enum__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_unpickle_Enum__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Enum, (type(self), 0x82a3537, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Enum__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.Enum.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":348
 *     cdef const __Pyx_TypeInfo *typeinfo
 * 
 *     def __cinit__(memoryview self, object obj, int flags, bint dtype_is_object=False):             # <<<<<<<<<<<<<<
 *         self.obj = obj
 *         self.flags = flags
*/

/* Python wrapper */
static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_obj = 0;
  int __pyx_v_flags;
  int __pyx_v_dtype_is_object;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_obj,&__pyx_mstate_global->__pyx_n_u_flags,&__pyx_mstate_global->__pyx_n_u_dtype_is_object,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 348, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 348, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 348, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 348, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(5, 348, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, i); __PYX_ERR(5, 348, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 348, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 348, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 348, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
    }
    __pyx_v_obj = values[0];
    __pyx_v_flags = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 348, __pyx_L3_error)
    if (values[2]) {
      __pyx_v_dtype_is_object = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_dtype_is_object == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 348, __pyx_L3_error)
    } else {
      __pyx_v_dtype_is_object = ((int)0);
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, __pyx_nargs); __PYX_ERR(5, 348, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("View.MemoryView.memoryview.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(((struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v_obj, __pyx_v_flags, __pyx_v_dtype_is_object);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj, int __pyx_v_flags, int __pyx_v_dtype_is_object) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  Py_intptr_t __pyx_t_4;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);

  /* "View.MemoryView":349
 * 
 *     def __cinit__(memoryview self, object obj, int flags, bint dtype_is_object=False):
 *         self.obj = obj             # <<<<<<<<<<<<<<
 *         self.flags = flags
 *         if type(self) is memoryview or obj is not None:
*/
  __Pyx_INCREF(__pyx_v_obj);
  __Pyx_GIVEREF(__pyx_v_obj);
  __Pyx_GOTREF(__pyx_v_self->obj);
  __Pyx_DECREF(__pyx_v_self->obj);
  __pyx_v_self->obj = __pyx_v_obj;

  /* "View.MemoryView":350
 *     def __cinit__(memoryview self, object obj, int flags, bint dtype_is_object=False):
 *         self.obj = obj
 *         self.flags = flags             # <<<<<<<<<<<<<<
 *         if type(self) is memoryview or obj is not None:
 *             PyObject_GetBuffer(obj, &self.view, flags)
*/
  __pyx_v_self->flags = __pyx_v_flags;

  /* "View.MemoryView":351
 *         self.obj = obj
 *         self.flags = flags
 *         if type(self) is memoryview or obj is not None:             # <<<<<<<<<<<<<<
 *             PyObject_GetBuffer(obj, &self.view, flags)
 *             if <PyObject *> self.view.obj == NULL:
*/
  __pyx_t_2 = (((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))) == ((PyObject *)__pyx_mstate_global->__pyx_memoryview_type));
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_obj != Py_None);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "View.MemoryView":352
 *         self.flags = flags
 *         if type(self) is memoryview or obj is not None:
 *             PyObject_GetBuffer(obj, &self.view, flags)             # <<<<<<<<<<<<<<
 *             if <PyObject *> self.view.obj == NULL:
 *                 (<__pyx_buffer *> &self.view).obj = Py_None
*/
    __pyx_t_3 = PyObject_GetBuffer(__pyx_v_obj, (&__pyx_v_self->view), __pyx_v_flags); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(5, 352, __pyx_L1_error)

    /* "View.MemoryView":353
 *         if type(self) is memoryview or obj is not None:
 *             PyObject_GetBuffer(obj, &self.view, flags)
 *             if <PyObject *> self.view.obj == NULL:             # <<<<<<<<<<<<<<
 *                 (<__pyx_buffer *> &self.view).obj = Py_None
 *                 Py_INCREF(Py_None)
*/
    __pyx_t_1 = (((PyObject *)__pyx_v_self->view.obj) == NULL);
    if (__pyx_t_1) {

      /* "View.MemoryView":354
 *             PyObject_GetBuffer(obj, &self.view, flags)
 *             if <PyObject *> self.view.obj == NULL:
 *                 (<__pyx_buffer *> &self.view).obj = Py_None             # <<<<<<<<<<<<<<
 *                 Py_INCREF(Py_None)
 * 
*/
      ((Py_buffer *)(&__pyx_v_self->view))->obj = Py_None;

      /* "View.MemoryView":355
 *             if <PyObject *> self.view.obj == NULL:
 *                 (<__pyx_buffer *> &self.view).obj = Py_None
 *                 Py_INCREF(Py_None)             # <<<<<<<<<<<<<<
 * 
 *         if not __PYX_CYTHON_ATOMICS_ENABLED():
*/
      Py_INCREF(Py_None);

      /* "View.MemoryView":353
 *         if type(self) is memoryview or obj is not None:
 *             PyObject_GetBuffer(obj, &self.view, flags)
 *             if <PyObject *> self.view.obj == NULL:             # <<<<<<<<<<<<<<
 *                 (<__pyx_buffer *> &self.view).obj = Py_None
 *                 Py_INCREF(Py_None)
*/
    }

    /* "View.MemoryView":351
 *         self.obj = obj
 *         self.flags = flags
 *         if type(self) is memoryview or obj is not None:             # <<<<<<<<<<<<<<
 *             PyObject_GetBuffer(obj, &self.view, flags)
 *             if <PyObject *> self.view.obj == NULL:
*/
  }

  /* "View.MemoryView":357
 *                 Py_INCREF(Py_None)
 * 
 *         if not __PYX_CYTHON_ATOMICS_ENABLED():             # <<<<<<<<<<<<<<
 *             global __pyx_memoryview_thread_locks_used
 *             if (__pyx_memoryview_thread_locks_used < 8 and
*/
  __pyx_t_1 = (!__PYX_CYTHON_ATOMICS_ENABLED());
  if (__pyx_t_1) {

    /* "View.MemoryView":359
 *         if not __PYX_CYTHON_ATOMICS_ENABLED():
 *             global __pyx_memoryview_thread_locks_used
 *             if (__pyx_memoryview_thread_locks_used < 8 and             # <<<<<<<<<<<<<<
 * 
 *                     not __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING()):
*/
    __pyx_t_2 = (__pyx_memoryview_thread_locks_used < 8);
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L9_bool_binop_done;
    }

    /* "View.MemoryView":361
 *             if (__pyx_memoryview_thread_locks_used < 8 and
 * 
 *                     not __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING()):             # <<<<<<<<<<<<<<
 *                 self.lock = __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]
 *                 __pyx_memoryview_thread_locks_used += 1
*/
    __pyx_t_2 = (!__PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING());
    __pyx_t_1 = __pyx_t_2;
    __pyx_L9_bool_binop_done:;

    /* "View.MemoryView":359
 *         if not __PYX_CYTHON_ATOMICS_ENABLED():
 *             global __pyx_memoryview_thread_locks_used
 *             if (__pyx_memoryview_thread_locks_used < 8 and             # <<<<<<<<<<<<<<
 * 
 *                     not __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING()):
*/
    if (__pyx_t_1) {

      /* "View.MemoryView":362
 * 
 *                     not __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING()):
 *                 self.lock = __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]             # <<<<<<<<<<<<<<
 *                 __pyx_memoryview_thread_locks_used += 1
 *             if self.lock is NULL:
*/
      __pyx_v_self->lock = (__pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]);

      /* "View.MemoryView":363
 *                     not __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING()):
 *                 self.lock = __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]
 *                 __pyx_memoryview_thread_locks_used += 1             # <<<<<<<<<<<<<<
 *             if self.lock is NULL:
 *                 self.lock = PyThread_allocate_lock()
*/
      __pyx_memoryview_thread_locks_used = (__pyx_memoryview_thread_locks_used + 1);

      /* "View.MemoryView":359
 *         if not __PYX_CYTHON_ATOMICS_ENABLED():
 *             global __pyx_memoryview_thread_locks_used
 *             if (__pyx_memoryview_thread_locks_used < 8 and             # <<<<<<<<<<<<<<
 * 
 *                     not __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING()):
*/
    }

    /* "View.MemoryView":364
 *                 self.lock = __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]
 *                 __pyx_memoryview_thread_locks_used += 1
 *             if self.lock is NULL:             # <<<<<<<<<<<<<<
 *                 self.lock = PyThread_allocate_lock()
 *                 if self.lock is NULL:
*/
    __pyx_t_1 = (__pyx_v_self->lock == NULL);
    if (__pyx_t_1) {

      /* "View.MemoryView":365
 *                 __pyx_memoryview_thread_locks_used += 1
 *             if self.lock is NULL:
 *                 self.lock = PyThread_allocate_lock()             # <<<<<<<<<<<<<<
 *                 if self.lock is NULL:
 *                     raise MemoryError
*/
      __pyx_v_self->lock = PyThread_allocate_lock();

      /* "View.MemoryView":366
 *             if self.lock is NULL:
 *                 self.lock = PyThread_allocate_lock()
 *                 if self.lock is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError
 * 
*/
      __pyx_t_1 = (__pyx_v_self->lock == NULL);
      if (unlikely(__pyx_t_1)) {

        /* "View.MemoryView":367
 *                 self.lock = PyThread_allocate_lock()
 *                 if self.lock is NULL:
 *                     raise MemoryError             # <<<<<<<<<<<<<<
 * 
 *         if flags & PyBUF_FORMAT:
*/
        PyErr_NoMemory(); __PYX_ERR(5, 367, __pyx_L1_error)

        /* "View.MemoryView":366
 *             if self.lock is NULL:
 *                 self.lock = PyThread_allocate_lock()
 *                 if self.lock is NULL:             # <<<<<<<<<<<<<<
 *                     raise MemoryError
 * 
*/
      }

      /* "View.MemoryView":364
 *                 self.lock = __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]
 *                 __pyx_memoryview_thread_locks_used += 1
 *             if self.lock is NULL:             # <<<<<<<<<<<<<<
 *                 self.lock = PyThread_allocate_lock()
 *                 if self.lock is NULL:
*/
    }

    /* "View.MemoryView":357
 *                 Py_INCREF(Py_None)
 * 
 *         if not __PYX_CYTHON_ATOMICS_ENABLED():             # <<<<<<<<<<<<<<
 *             global __pyx_memoryview_thread_locks_used
 *             if (__pyx_memoryview_thread_locks_used < 8 and
*/
  }

  /* "View.MemoryView":369
 *                     raise MemoryError
 * 
 *         if flags & PyBUF_FORMAT:             # <<<<<<<<<<<<<<
 *             self.dtype_is_object = (self.view.format[0] == b'O' and self.view.format[1] == b'\0')
 *         else:
*/
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_FORMAT) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":370
 * 
 *         if flags & PyBUF_FORMAT:
 *             self.dtype_is_object = (self.view.format[0] == b'O' and self.view.format[1] == b'\0')             # <<<<<<<<<<<<<<
 *         else:
 *             self.dtype_is_object = dtype_is_object
*/
    __pyx_t_2 = ((__pyx_v_self->view.format[0]) == 'O');
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L14_bool_binop_done;
    }
    __pyx_t_2 = ((__pyx_v_self->view.format[1]) == '\x00');
    __pyx_t_1 = __pyx_t_2;
    __pyx_L14_bool_binop_done:;
    __pyx_v_self->dtype_is_object = __pyx_t_1;

    /* "View.MemoryView":369
 *                     raise MemoryError
 * 
 *         if flags & PyBUF_FORMAT:             # <<<<<<<<<<<<<<
 *             self.dtype_is_object = (self.view.format[0] == b'O' and self.view.format[1] == b'\0')
 *         else:
*/
    goto __pyx_L13;
  }

  /* "View.MemoryView":372
 *             self.dtype_is_object = (self.view.format[0] == b'O' and self.view.format[1] == b'\0')
 *         else:
 *             self.dtype_is_object = dtype_is_object             # <<<<<<<<<<<<<<
 * 
 *         assert <Py_intptr_t><void*>(&self.acquisition_count) % sizeof(__pyx_atomic_int_type) == 0
*/
  /*else*/ {
    __pyx_v_self->dtype_is_object = __pyx_v_dtype_is_object;
  }
  __pyx_L13:;

  /* "View.MemoryView":374
 *             self.dtype_is_object = dtype_is_object
 * 
 *         assert <Py_intptr_t><void*>(&self.acquisition_count) % sizeof(__pyx_atomic_int_type) == 0             # <<<<<<<<<<<<<<
 *         self.typeinfo = NULL
 * 
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_4 = ((Py_intptr_t)((void *)(&__pyx_v_self->acquisition_count)));
    __pyx_t_5 = (sizeof(__pyx_atomic_int_type));
    if (unlikely(__pyx_t_5 == 0)) {
      PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
      __PYX_ERR(5, 374, __pyx_L1_error)
    }
    __pyx_t_1 = ((__pyx_t_4 % __pyx_t_5) == 0);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(5, 374, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(5, 374, __pyx_L1_error)
  #endif

  /* "View.MemoryView":375
 * 
 *         assert <Py_intptr_t><void*>(&self.acquisition_count) % sizeof(__pyx_atomic_int_type) == 0
 *         self.typeinfo = NULL             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(memoryview self):
*/
  __pyx_v_self->typeinfo = NULL;

  /* "View.MemoryView":348
 *     cdef const __Pyx_TypeInfo *typeinfo
 * 
 *     def __cinit__(memoryview self, object obj, int flags, bint dtype_is_object=False):             # <<<<<<<<<<<<<<
 *         self.obj = obj
 *         self.flags = flags
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.memoryview.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":377
 *         self.typeinfo = NULL
 * 
 *     def __dealloc__(memoryview self):             # <<<<<<<<<<<<<<
 *         if self.obj is not None:
 *             PyBuffer_Release(&self.view)
*/

/* Python wrapper */
static void __pyx_memoryview___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_memoryview___dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(struct __pyx_memoryview_obj *__pyx_v_self) {
  int __pyx_v_i;
  int __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyThread_type_lock __pyx_t_5;
  PyThread_type_lock __pyx_t_6;

  /* "View.MemoryView":378
 * 
 *     def __dealloc__(memoryview self):
 *         if self.obj is not None:             # <<<<<<<<<<<<<<
 *             PyBuffer_Release(&self.view)
 *         elif (<__pyx_buffer *> &self.view).obj == Py_None:
*/
  __pyx_t_1 = (__pyx_v_self->obj != Py_None);
  if (__pyx_t_1) {

    /* "View.MemoryView":379
 *     def __dealloc__(memoryview self):
 *         if self.obj is not None:
 *             PyBuffer_Release(&self.view)             # <<<<<<<<<<<<<<
 *         elif (<__pyx_buffer *> &self.view).obj == Py_None:
 * 
*/
    PyBuffer_Release((&__pyx_v_self->view));

    /* "View.MemoryView":378
 * 
 *     def __dealloc__(memoryview self):
 *         if self.obj is not None:             # <<<<<<<<<<<<<<
 *             PyBuffer_Release(&self.view)
 *         elif (<__pyx_buffer *> &self.view).obj == Py_None:
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":380
 *         if self.obj is not None:
 *             PyBuffer_Release(&self.view)
 *         elif (<__pyx_buffer *> &self.view).obj == Py_None:             # <<<<<<<<<<<<<<
 * 
 *             (<__pyx_buffer *> &self.view).obj = NULL
*/
  __pyx_t_1 = (((Py_buffer *)(&__pyx_v_self->view))->obj == Py_None);
  if (__pyx_t_1) {

    /* "View.MemoryView":382
 *         elif (<__pyx_buffer *> &self.view).obj == Py_None:
 * 
 *             (<__pyx_buffer *> &self.view).obj = NULL             # <<<<<<<<<<<<<<
 *             Py_DECREF(Py_None)
 * 
*/
    ((Py_buffer *)(&__pyx_v_self->view))->obj = NULL;

    /* "View.MemoryView":383
 * 
 *             (<__pyx_buffer *> &self.view).obj = NULL
 *             Py_DECREF(Py_None)             # <<<<<<<<<<<<<<
 * 
 *         cdef int i
*/
    Py_DECREF(Py_None);

    /* "View.MemoryView":380
 *         if self.obj is not None:
 *             PyBuffer_Release(&self.view)
 *         elif (<__pyx_buffer *> &self.view).obj == Py_None:             # <<<<<<<<<<<<<<
 * 
 *             (<__pyx_buffer *> &self.view).obj = NULL
*/
  }
  __pyx_L3:;

  /* "View.MemoryView":387
 *         cdef int i
 *         global __pyx_memoryview_thread_locks_used
 *         if self.lock != NULL:             # <<<<<<<<<<<<<<
 *             for i in range(0 if __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING() else __pyx_memoryview_thread_locks_used):
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:
*/
  __pyx_t_1 = (__pyx_v_self->lock != NULL);
  if (__pyx_t_1) {

    /* "View.MemoryView":388
 *         global __pyx_memoryview_thread_locks_used
 *         if self.lock != NULL:
 *             for i in range(0 if __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING() else __pyx_memoryview_thread_locks_used):             # <<<<<<<<<<<<<<
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:
 *                     __pyx_memoryview_thread_locks_used -= 1
*/
    __pyx_t_1 = __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING();
    if (__pyx_t_1) {
      __pyx_t_2 = 0;
    } else {
      __pyx_t_2 = __pyx_memoryview_thread_locks_used;
    }
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "View.MemoryView":389
 *         if self.lock != NULL:
 *             for i in range(0 if __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING() else __pyx_memoryview_thread_locks_used):
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:             # <<<<<<<<<<<<<<
 *                     __pyx_memoryview_thread_locks_used -= 1
 *                     if i != __pyx_memoryview_thread_locks_used:
*/
      __pyx_t_1 = ((__pyx_memoryview_thread_locks[__pyx_v_i]) == __pyx_v_self->lock);
      if (__pyx_t_1) {

        /* "View.MemoryView":390
 *             for i in range(0 if __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING() else __pyx_memoryview_thread_locks_used):
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:
 *                     __pyx_memoryview_thread_locks_used -= 1             # <<<<<<<<<<<<<<
 *                     if i != __pyx_memoryview_thread_locks_used:
 *                         __pyx_memoryview_thread_locks[i], __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used] = (
*/
        __pyx_memoryview_thread_locks_used = (__pyx_memoryview_thread_locks_used - 1);

        /* "View.MemoryView":391
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:
 *                     __pyx_memoryview_thread_locks_used -= 1
 *                     if i != __pyx_memoryview_thread_locks_used:             # <<<<<<<<<<<<<<
 *                         __pyx_memoryview_thread_locks[i], __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used] = (
 *                             __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used], __pyx_memoryview_thread_locks[i])
*/
        __pyx_t_1 = (__pyx_v_i != __pyx_memoryview_thread_locks_used);
        if (__pyx_t_1) {

          /* "View.MemoryView":393
 *                     if i != __pyx_memoryview_thread_locks_used:
 *                         __pyx_memoryview_thread_locks[i], __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used] = (
 *                             __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used], __pyx_memoryview_thread_locks[i])             # <<<<<<<<<<<<<<
 *                     break
 *             else:
*/
          __pyx_t_5 = (__pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]);
          __pyx_t_6 = (__pyx_memoryview_thread_locks[__pyx_v_i]);

          /* "View.MemoryView":392
 *                     __pyx_memoryview_thread_locks_used -= 1
 *                     if i != __pyx_memoryview_thread_locks_used:
 *                         __pyx_memoryview_thread_locks[i], __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used] = (             # <<<<<<<<<<<<<<
 *                             __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used], __pyx_memoryview_thread_locks[i])
 *                     break
*/
          (__pyx_memoryview_thread_locks[__pyx_v_i]) = __pyx_t_5;
          (__pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]) = __pyx_t_6;

          /* "View.MemoryView":391
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:
 *                     __pyx_memoryview_thread_locks_used -= 1
 *                     if i != __pyx_memoryview_thread_locks_used:             # <<<<<<<<<<<<<<
 *                         __pyx_memoryview_thread_locks[i], __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used] = (
 *                             __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used], __pyx_memoryview_thread_locks[i])
*/
        }

        /* "View.MemoryView":394
 *                         __pyx_memoryview_thread_locks[i], __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used] = (
 *                             __pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used], __pyx_memoryview_thread_locks[i])
 *                     break             # <<<<<<<<<<<<<<
 *             else:
 *                 PyThread_free_lock(self.lock)
*/
        goto __pyx_L6_break;

        /* "View.MemoryView":389
 *         if self.lock != NULL:
 *             for i in range(0 if __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING() else __pyx_memoryview_thread_locks_used):
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:             # <<<<<<<<<<<<<<
 *                     __pyx_memoryview_thread_locks_used -= 1
 *                     if i != __pyx_memoryview_thread_locks_used:
*/
      }
    }
    /*else*/ {

      /* "View.MemoryView":396
 *                     break
 *             else:
 *                 PyThread_free_lock(self.lock)             # <<<<<<<<<<<<<<
 * 
 *     cdef char *get_item_pointer(memoryview self, object index) except NULL:
*/
      PyThread_free_lock(__pyx_v_self->lock);
    }
    __pyx_L6_break:;

    /* "View.MemoryView":387
 *         cdef int i
 *         global __pyx_memoryview_thread_locks_used
 *         if self.lock != NULL:             # <<<<<<<<<<<<<<
 *             for i in range(0 if __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING() else __pyx_memoryview_thread_locks_used):
 *                 if __pyx_memoryview_thread_locks[i] is self.lock:
*/
  }

  /* "View.MemoryView":377
 *         self.typeinfo = NULL
 * 
 *     def __dealloc__(memoryview self):             # <<<<<<<<<<<<<<
 *         if self.obj is not None:
 *             PyBuffer_Release(&self.view)
*/

  /* function exit code */
}

/* "View.MemoryView":398
 *                 PyThread_free_lock(self.lock)
 * 
 *     cdef char *get_item_pointer(memoryview self, object index) except NULL:             # <<<<<<<<<<<<<<
 *         cdef Py_ssize_t dim
 *         cdef char *itemp = <char *> self.view.buf
*/

static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index) {
  Py_ssize_t __pyx_v_dim;
  char *__pyx_v_itemp;
  PyObject *__pyx_v_idx = NULL;
  char *__pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *(*__pyx_t_4)(PyObject *);
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  char *__pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_item_pointer", 0);

  /* "View.MemoryView":400
 *     cdef char *get_item_pointer(memoryview self, object index) except NULL:
 *         cdef Py_ssize_t dim
 *         cdef char *itemp = <char *> self.view.buf             # <<<<<<<<<<<<<<
 * 
 *         for dim, idx in enumerate(index):
*/
  __pyx_v_itemp = ((char *)__pyx_v_self->view.buf);

  /* "View.MemoryView":402
 *         cdef char *itemp = <char *> self.view.buf
 * 
 *         for dim, idx in enumerate(index):             # <<<<<<<<<<<<<<
 *             itemp = pybuffer_index(&self.view, itemp, idx, dim)
 * 
*/
  __pyx_t_1 = 0;
  if (likely(PyList_CheckExact(__pyx_v_index)) || PyTuple_CheckExact(__pyx_v_index)) {
    __pyx_t_2 = __pyx_v_index; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 402, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(5, 402, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        __pyx_t_5 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_3;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(5, 402, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3));
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3);
        #endif
        ++__pyx_t_3;
      }
      if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 402, __pyx_L1_error)
    } else {
      __pyx_t_5 = __pyx_t_4(__pyx_t_2);
      if (unlikely(!__pyx_t_5)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(5, 402, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_5);
    __pyx_t_5 = 0;
    __pyx_v_dim = __pyx_t_1;
    __pyx_t_1 = (__pyx_t_1 + 1);

    /* "View.MemoryView":403
 * 
 *         for dim, idx in enumerate(index):
 *             itemp = pybuffer_index(&self.view, itemp, idx, dim)             # <<<<<<<<<<<<<<
 * 
 *         return itemp
*/
    __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(5, 403, __pyx_L1_error)
    __pyx_t_7 = __pyx_pybuffer_index((&__pyx_v_self->view), __pyx_v_itemp, __pyx_t_6, __pyx_v_dim); if (unlikely(__pyx_t_7 == ((void *)NULL))) __PYX_ERR(5, 403, __pyx_L1_error)
    __pyx_v_itemp = __pyx_t_7;

    /* "View.MemoryView":402
 *         cdef char *itemp = <char *> self.view.buf
 * 
 *         for dim, idx in enumerate(index):             # <<<<<<<<<<<<<<
 *             itemp = pybuffer_index(&self.view, itemp, idx, dim)
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "View.MemoryView":405
 *             itemp = pybuffer_index(&self.view, itemp, idx, dim)
 * 
 *         return itemp             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_itemp;
  goto __pyx_L0;

  /* "View.MemoryView":398
 *                 PyThread_free_lock(self.lock)
 * 
 *     cdef char *get_item_pointer(memoryview self, object index) except NULL:             # <<<<<<<<<<<<<<
 *         cdef Py_ssize_t dim
 *         cdef char *itemp = <char *> self.view.buf
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("View.MemoryView.memoryview.get_item_pointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":408
 * 
 * 
 *     def __getitem__(memoryview self, object index):             # <<<<<<<<<<<<<<
 *         if index is Ellipsis:
 *             return self
*/

/* Python wrapper */
static PyObject *__pyx_memoryview___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index); /*proto*/
static PyObject *__pyx_memoryview___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(((struct __pyx_memoryview_obj *)__pyx_v_self), ((PyObject *)__pyx_v_index));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index) {
  PyObject *__pyx_v_have_slices = NULL;
  PyObject *__pyx_v_indices = NULL;
  char *__pyx_v_itemp;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  char *__pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__getitem__", 0);

  /* "View.MemoryView":409
 * 
 *     def __getitem__(memoryview self, object index):
 *         if index is Ellipsis:             # <<<<<<<<<<<<<<
 *             return self
 * 
*/
  __pyx_t_1 = (__pyx_v_index == __pyx_builtin_Ellipsis);
  if (__pyx_t_1) {

    /* "View.MemoryView":410
 *     def __getitem__(memoryview self, object index):
 *         if index is Ellipsis:
 *             return self             # <<<<<<<<<<<<<<
 * 
 *         have_slices, indices = _unellipsify(index, self.view.ndim)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_self);
    __pyx_r = ((PyObject *)__pyx_v_self);
    goto __pyx_L0;

    /* "View.MemoryView":409
 * 
 *     def __getitem__(memoryview self, object index):
 *         if index is Ellipsis:             # <<<<<<<<<<<<<<
 *             return self
 * 
*/
  }

  /* "View.MemoryView":412
 *             return self
 * 
 *         have_slices, indices = _unellipsify(index, self.view.ndim)             # <<<<<<<<<<<<<<
 * 
 *         cdef char *itemp
*/
  __pyx_t_2 = _unellipsify(__pyx_v_index, __pyx_v_self->view.ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (likely(__pyx_t_2 != Py_None)) {
    PyObject* sequence = __pyx_t_2;
    Py_ssize_t size = __Pyx_PyTuple_GET_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(5, 412, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
    __Pyx_INCREF(__pyx_t_4);
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    #endif
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  } else {
    __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(5, 412, __pyx_L1_error)
  }
  __pyx_v_have_slices = __pyx_t_3;
  __pyx_t_3 = 0;
  __pyx_v_indices = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "View.MemoryView":415
 * 
 *         cdef char *itemp
 *         if have_slices:             # <<<<<<<<<<<<<<
 *             return memview_slice(self, indices)
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_have_slices); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(5, 415, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "View.MemoryView":416
 *         cdef char *itemp
 *         if have_slices:
 *             return memview_slice(self, indices)             # <<<<<<<<<<<<<<
 *         else:
 *             itemp = self.get_item_pointer(indices)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((PyObject *)__pyx_memview_slice(__pyx_v_self, __pyx_v_indices)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "View.MemoryView":415
 * 
 *         cdef char *itemp
 *         if have_slices:             # <<<<<<<<<<<<<<
 *             return memview_slice(self, indices)
 *         else:
*/
  }

  /* "View.MemoryView":418
 *             return memview_slice(self, indices)
 *         else:
 *             itemp = self.get_item_pointer(indices)             # <<<<<<<<<<<<<<
 *             return self.convert_item_to_object(itemp)
 * 
*/
  /*else*/ {
    __pyx_t_5 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->get_item_pointer(__pyx_v_self, __pyx_v_indices); if (unlikely(__pyx_t_5 == ((void *)NULL))) __PYX_ERR(5, 418, __pyx_L1_error)
    __pyx_v_itemp = __pyx_t_5;

    /* "View.MemoryView":419
 *         else:
 *             itemp = self.get_item_pointer(indices)
 *             return self.convert_item_to_object(itemp)             # <<<<<<<<<<<<<<
 * 
 *     def __setitem__(memoryview self, object index, object value):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->convert_item_to_object(__pyx_v_self, __pyx_v_itemp); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }

  /* "View.MemoryView":408
 * 
 * 
 *     def __getitem__(memoryview self, object index):             # <<<<<<<<<<<<<<
 *         if index is Ellipsis:
 *             return self
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("View.MemoryView.memoryview.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_have_slices);
  __Pyx_XDECREF(__pyx_v_indices);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":421
 *             return self.convert_item_to_object(itemp)
 * 
 *     def __setitem__(memoryview self, object index, object value):             # <<<<<<<<<<<<<<
 *         if self.view.readonly:
 *             raise TypeError, "Cannot assign to read-only memoryview"
*/

/* Python wrapper */
static int __pyx_memoryview___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /*proto*/
static int __pyx_memoryview___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(((struct __pyx_memoryview_obj *)__pyx_v_self), ((PyObject *)__pyx_v_index), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
  PyObject *__pyx_v_have_slices = NULL;
  PyObject *__pyx_v_obj = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setitem__", 0);
  __Pyx_INCREF(__pyx_v_index);

  /* "View.MemoryView":422
 * 
 *     def __setitem__(memoryview self, object index, object value):
 *         if self.view.readonly:             # <<<<<<<<<<<<<<
 *             raise TypeError, "Cannot assign to read-only memoryview"
 * 
*/
  if (unlikely(__pyx_v_self->view.readonly)) {

    /* "View.MemoryView":423
 *     def __setitem__(memoryview self, object index, object value):
 *         if self.view.readonly:
 *             raise TypeError, "Cannot assign to read-only memoryview"             # <<<<<<<<<<<<<<
 * 
 *         have_slices, index = _unellipsify(index, self.view.ndim)
*/
    __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_Cannot_assign_to_read_only_memor, 0, 0);
    __PYX_ERR(5, 423, __pyx_L1_error)

    /* "View.MemoryView":422
 * 
 *     def __setitem__(memoryview self, object index, object value):
 *         if self.view.readonly:             # <<<<<<<<<<<<<<
 *             raise TypeError, "Cannot assign to read-only memoryview"
 * 
*/
  }

  /* "View.MemoryView":425
 *             raise TypeError, "Cannot assign to read-only memoryview"
 * 
 *         have_slices, index = _unellipsify(index, self.view.ndim)             # <<<<<<<<<<<<<<
 * 
 *         if have_slices:
*/
  __pyx_t_1 = _unellipsify(__pyx_v_index, __pyx_v_self->view.ndim); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(__pyx_t_1 != Py_None)) {
    PyObject* sequence = __pyx_t_1;
    Py_ssize_t size = __Pyx_PyTuple_GET_SIZE(sequence);
    if (unlikely(size != 2)) {
      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
      __PYX_ERR(5, 425, __pyx_L1_error)
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1);
    __Pyx_INCREF(__pyx_t_3);
    #else
    __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    #endif
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  } else {
    __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(5, 425, __pyx_L1_error)
  }
  __pyx_v_have_slices = __pyx_t_2;
  __pyx_t_2 = 0;
  __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_3);
  __pyx_t_3 = 0;

  /* "View.MemoryView":427
 *         have_slices, index = _unellipsify(index, self.view.ndim)
 * 
 *         if have_slices:             # <<<<<<<<<<<<<<
 *             obj = self.is_slice(value)
 *             if obj is not None:
*/
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_have_slices); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(5, 427, __pyx_L1_error)
  if (__pyx_t_4) {

    /* "View.MemoryView":428
 * 
 *         if have_slices:
 *             obj = self.is_slice(value)             # <<<<<<<<<<<<<<
 *             if obj is not None:
 *                 self.setitem_slice_assignment(self[index], obj)
*/
    __pyx_t_1 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->is_slice(__pyx_v_self, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_obj = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "View.MemoryView":429
 *         if have_slices:
 *             obj = self.is_slice(value)
 *             if obj is not None:             # <<<<<<<<<<<<<<
 *                 self.setitem_slice_assignment(self[index], obj)
 *             else:
*/
    __pyx_t_4 = (__pyx_v_obj != Py_None);
    if (__pyx_t_4) {

      /* "View.MemoryView":430
 *             obj = self.is_slice(value)
 *             if obj is not None:
 *                 self.setitem_slice_assignment(self[index], obj)             # <<<<<<<<<<<<<<
 *             else:
 *                 self.setitem_slice_assign_scalar(self[index], value)
*/
      __pyx_t_1 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_self), __pyx_v_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 430, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_3 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->setitem_slice_assignment(__pyx_v_self, __pyx_t_1, __pyx_v_obj); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 430, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "View.MemoryView":429
 *         if have_slices:
 *             obj = self.is_slice(value)
 *             if obj is not None:             # <<<<<<<<<<<<<<
 *                 self.setitem_slice_assignment(self[index], obj)
 *             else:
*/
      goto __pyx_L5;
    }

    /* "View.MemoryView":432
 *                 self.setitem_slice_assignment(self[index], obj)
 *             else:
 *                 self.setitem_slice_assign_scalar(self[index], value)             # <<<<<<<<<<<<<<
 *         else:
 *             self.setitem_indexed(index, value)
*/
    /*else*/ {
      __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_self), __pyx_v_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 432, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_mstate_global->__pyx_memoryview_type))))) __PYX_ERR(5, 432, __pyx_L1_error)
      __pyx_t_1 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->setitem_slice_assign_scalar(__pyx_v_self, ((struct __pyx_memoryview_obj *)__pyx_t_3), __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 432, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __pyx_L5:;

    /* "View.MemoryView":427
 *         have_slices, index = _unellipsify(index, self.view.ndim)
 * 
 *         if have_slices:             # <<<<<<<<<<<<<<
 *             obj = self.is_slice(value)
 *             if obj is not None:
*/
    goto __pyx_L4;
  }

  /* "View.MemoryView":434
 *                 self.setitem_slice_assign_scalar(self[index], value)
 *         else:
 *             self.setitem_indexed(index, value)             # <<<<<<<<<<<<<<
 * 
 *     cdef is_slice(self, obj):
*/
  /*else*/ {
    __pyx_t_1 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->setitem_indexed(__pyx_v_self, __pyx_v_index, __pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "View.MemoryView":421
 *             return self.convert_item_to_object(itemp)
 * 
 *     def __setitem__(memoryview self, object index, object value):             # <<<<<<<<<<<<<<
 *         if self.view.readonly:
 *             raise TypeError, "Cannot assign to read-only memoryview"
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView.memoryview.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_have_slices);
  __Pyx_XDECREF(__pyx_v_obj);
  __Pyx_XDECREF(__pyx_v_index);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":436
 *             self.setitem_indexed(index, value)
 * 
 *     cdef is_slice(self, obj):             # <<<<<<<<<<<<<<
 *         if not isinstance(obj, memoryview):
 *             try:
*/

static PyObject *__pyx_memoryview_is_slice(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_slice", 0);
  __Pyx_INCREF(__pyx_v_obj);

  /* "View.MemoryView":437
 * 
 *     cdef is_slice(self, obj):
 *         if not isinstance(obj, memoryview):             # <<<<<<<<<<<<<<
 *             try:
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_obj, __pyx_mstate_global->__pyx_memoryview_type); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "View.MemoryView":438
 *     cdef is_slice(self, obj):
 *         if not isinstance(obj, memoryview):
 *             try:             # <<<<<<<<<<<<<<
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
 *                                  self.dtype_is_object)
*/
    {
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_3);
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      /*try:*/ {

        /* "View.MemoryView":439
 *         if not isinstance(obj, memoryview):
 *             try:
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,             # <<<<<<<<<<<<<<
 *                                  self.dtype_is_object)
 *             except TypeError:
*/
        __pyx_t_7 = NULL;
        __pyx_t_8 = __Pyx_PyLong_From_int(((__pyx_v_self->flags & (~PyBUF_WRITABLE)) | PyBUF_ANY_CONTIGUOUS)); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 439, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_8);

        /* "View.MemoryView":440
 *             try:
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
 *                                  self.dtype_is_object)             # <<<<<<<<<<<<<<
 *             except TypeError:
 *                 return None
*/
        __pyx_t_9 = __Pyx_PyBool_FromLong(__pyx_v_self->dtype_is_object); if (unlikely(!__pyx_t_9)) __PYX_ERR(5, 440, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_9);
        __pyx_t_10 = 1;
        {
          PyObject *__pyx_callargs[4] = {__pyx_t_7, __pyx_v_obj, __pyx_t_8, __pyx_t_9};
          __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_memoryview_type, __pyx_callargs+__pyx_t_10, (4-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 439, __pyx_L4_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_6);
        }
        __Pyx_DECREF_SET(__pyx_v_obj, ((PyObject *)__pyx_t_6));
        __pyx_t_6 = 0;

        /* "View.MemoryView":438
 *     cdef is_slice(self, obj):
 *         if not isinstance(obj, memoryview):
 *             try:             # <<<<<<<<<<<<<<
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
 *                                  self.dtype_is_object)
*/
      }
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L9_try_end;
      __pyx_L4_error:;
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

      /* "View.MemoryView":441
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
 *                                  self.dtype_is_object)
 *             except TypeError:             # <<<<<<<<<<<<<<
 *                 return None
 * 
*/
      __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_TypeError))));
      if (__pyx_t_11) {
        __Pyx_ErrRestore(0,0,0);

        /* "View.MemoryView":442
 *                                  self.dtype_is_object)
 *             except TypeError:
 *                 return None             # <<<<<<<<<<<<<<
 * 
 *         return obj
*/
        __Pyx_XDECREF(__pyx_r);
        __pyx_r = Py_None; __Pyx_INCREF(Py_None);
        goto __pyx_L7_except_return;
      }
      goto __pyx_L6_except_error;

      /* "View.MemoryView":438
 *     cdef is_slice(self, obj):
 *         if not isinstance(obj, memoryview):
 *             try:             # <<<<<<<<<<<<<<
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
 *                                  self.dtype_is_object)
*/
      __pyx_L6_except_error:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L1_error;
      __pyx_L7_except_return:;
      __Pyx_XGIVEREF(__pyx_t_3);
      __Pyx_XGIVEREF(__pyx_t_4);
      __Pyx_XGIVEREF(__pyx_t_5);
      __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
      goto __pyx_L0;
      __pyx_L9_try_end:;
    }

    /* "View.MemoryView":437
 * 
 *     cdef is_slice(self, obj):
 *         if not isinstance(obj, memoryview):             # <<<<<<<<<<<<<<
 *             try:
 *                 obj = memoryview(obj, self.flags & ~PyBUF_WRITABLE | PyBUF_ANY_CONTIGUOUS,
*/
  }

  /* "View.MemoryView":444
 *                 return None
 * 
 *         return obj             # <<<<<<<<<<<<<<
 * 
 *     cdef setitem_slice_assignment(self, dst, src):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_obj);
  __pyx_r = __pyx_v_obj;
  goto __pyx_L0;

  /* "View.MemoryView":436
 *             self.setitem_indexed(index, value)
 * 
 *     cdef is_slice(self, obj):             # <<<<<<<<<<<<<<
 *         if not isinstance(obj, memoryview):
 *             try:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("View.MemoryView.memoryview.is_slice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_obj);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":446
 *         return obj
 * 
 *     cdef setitem_slice_assignment(self, dst, src):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice dst_slice
 *         cdef __Pyx_memviewslice src_slice
*/

static PyObject *__pyx_memoryview_setitem_slice_assignment(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src) {
  __Pyx_memviewslice __pyx_v_dst_slice;
  __Pyx_memviewslice __pyx_v_src_slice;
  __Pyx_memviewslice __pyx_v_msrc;
  __Pyx_memviewslice __pyx_v_mdst;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_memviewslice *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setitem_slice_assignment", 0);

  /* "View.MemoryView":449
 *         cdef __Pyx_memviewslice dst_slice
 *         cdef __Pyx_memviewslice src_slice
 *         cdef __Pyx_memviewslice msrc = get_slice_from_memview(src, &src_slice)[0]             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice mdst = get_slice_from_memview(dst, &dst_slice)[0]
 * 
*/
  if (!(likely(((__pyx_v_src) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_src, __pyx_mstate_global->__pyx_memoryview_type))))) __PYX_ERR(5, 449, __pyx_L1_error)
  __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(((struct __pyx_memoryview_obj *)__pyx_v_src), (&__pyx_v_src_slice)); if (unlikely(__pyx_t_1 == ((void *)NULL))) __PYX_ERR(5, 449, __pyx_L1_error)
  __pyx_v_msrc = (__pyx_t_1[0]);

  /* "View.MemoryView":450
 *         cdef __Pyx_memviewslice src_slice
 *         cdef __Pyx_memviewslice msrc = get_slice_from_memview(src, &src_slice)[0]
 *         cdef __Pyx_memviewslice mdst = get_slice_from_memview(dst, &dst_slice)[0]             # <<<<<<<<<<<<<<
 * 
 *         memoryview_copy_contents(msrc, mdst, src.ndim, dst.ndim, self.dtype_is_object)
*/
  if (!(likely(((__pyx_v_dst) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_dst, __pyx_mstate_global->__pyx_memoryview_type))))) __PYX_ERR(5, 450, __pyx_L1_error)
  __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(((struct __pyx_memoryview_obj *)__pyx_v_dst), (&__pyx_v_dst_slice)); if (unlikely(__pyx_t_1 == ((void *)NULL))) __PYX_ERR(5, 450, __pyx_L1_error)
  __pyx_v_mdst = (__pyx_t_1[0]);

  /* "View.MemoryView":452
 *         cdef __Pyx_memviewslice mdst = get_slice_from_memview(dst, &dst_slice)[0]
 * 
 *         memoryview_copy_contents(msrc, mdst, src.ndim, dst.ndim, self.dtype_is_object)             # <<<<<<<<<<<<<<
 * 
 *     cdef setitem_slice_assign_scalar(self, memoryview dst, value):
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_src, __pyx_mstate_global->__pyx_n_u_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_dst, __pyx_mstate_global->__pyx_n_u_ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __pyx_memoryview_copy_contents(__pyx_v_msrc, __pyx_v_mdst, __pyx_t_3, __pyx_t_4, __pyx_v_self->dtype_is_object); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(5, 452, __pyx_L1_error)

  /* "View.MemoryView":446
 *         return obj
 * 
 *     cdef setitem_slice_assignment(self, dst, src):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice dst_slice
 *         cdef __Pyx_memviewslice src_slice
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.setitem_slice_assignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":454
 *         memoryview_copy_contents(msrc, mdst, src.ndim, dst.ndim, self.dtype_is_object)
 * 
 *     cdef setitem_slice_assign_scalar(self, memoryview dst, value):             # <<<<<<<<<<<<<<
 *         cdef int array[128]
 *         cdef void *tmp = NULL
*/

static PyObject *__pyx_memoryview_setitem_slice_assign_scalar(struct __pyx_memoryview_obj *__pyx_v_self, struct __pyx_memoryview_obj *__pyx_v_dst, PyObject *__pyx_v_value) {
  int __pyx_v_array[128];
  void *__pyx_v_tmp;
  void *__pyx_v_item;
  __Pyx_memviewslice *__pyx_v_dst_slice;
  __Pyx_memviewslice __pyx_v_tmp_slice;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_memviewslice *__pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  char const *__pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setitem_slice_assign_scalar", 0);

  /* "View.MemoryView":456
 *     cdef setitem_slice_assign_scalar(self, memoryview dst, value):
 *         cdef int array[128]
 *         cdef void *tmp = NULL             # <<<<<<<<<<<<<<
 *         cdef void *item
 * 
*/
  __pyx_v_tmp = NULL;

  /* "View.MemoryView":461
 *         cdef __Pyx_memviewslice *dst_slice
 *         cdef __Pyx_memviewslice tmp_slice
 *         dst_slice = get_slice_from_memview(dst, &tmp_slice)             # <<<<<<<<<<<<<<
 * 
 *         if <size_t>self.view.itemsize > sizeof(array):
*/
  __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(__pyx_v_dst, (&__pyx_v_tmp_slice)); if (unlikely(__pyx_t_1 == ((void *)NULL))) __PYX_ERR(5, 461, __pyx_L1_error)
  __pyx_v_dst_slice = __pyx_t_1;

  /* "View.MemoryView":463
 *         dst_slice = get_slice_from_memview(dst, &tmp_slice)
 * 
 *         if <size_t>self.view.itemsize > sizeof(array):             # <<<<<<<<<<<<<<
 *             tmp = PyMem_Malloc(self.view.itemsize)
 *             if tmp == NULL:
*/
  __pyx_t_2 = (((size_t)__pyx_v_self->view.itemsize) > (sizeof(__pyx_v_array)));
  if (__pyx_t_2) {

    /* "View.MemoryView":464
 * 
 *         if <size_t>self.view.itemsize > sizeof(array):
 *             tmp = PyMem_Malloc(self.view.itemsize)             # <<<<<<<<<<<<<<
 *             if tmp == NULL:
 *                 raise MemoryError
*/
    __pyx_v_tmp = PyMem_Malloc(__pyx_v_self->view.itemsize);

    /* "View.MemoryView":465
 *         if <size_t>self.view.itemsize > sizeof(array):
 *             tmp = PyMem_Malloc(self.view.itemsize)
 *             if tmp == NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError
 *             item = tmp
*/
    __pyx_t_2 = (__pyx_v_tmp == NULL);
    if (unlikely(__pyx_t_2)) {

      /* "View.MemoryView":466
 *             tmp = PyMem_Malloc(self.view.itemsize)
 *             if tmp == NULL:
 *                 raise MemoryError             # <<<<<<<<<<<<<<
 *             item = tmp
 *         else:
*/
      PyErr_NoMemory(); __PYX_ERR(5, 466, __pyx_L1_error)

      /* "View.MemoryView":465
 *         if <size_t>self.view.itemsize > sizeof(array):
 *             tmp = PyMem_Malloc(self.view.itemsize)
 *             if tmp == NULL:             # <<<<<<<<<<<<<<
 *                 raise MemoryError
 *             item = tmp
*/
    }

    /* "View.MemoryView":467
 *             if tmp == NULL:
 *                 raise MemoryError
 *             item = tmp             # <<<<<<<<<<<<<<
 *         else:
 *             item = <void *> array
*/
    __pyx_v_item = __pyx_v_tmp;

    /* "View.MemoryView":463
 *         dst_slice = get_slice_from_memview(dst, &tmp_slice)
 * 
 *         if <size_t>self.view.itemsize > sizeof(array):             # <<<<<<<<<<<<<<
 *             tmp = PyMem_Malloc(self.view.itemsize)
 *             if tmp == NULL:
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":469
 *             item = tmp
 *         else:
 *             item = <void *> array             # <<<<<<<<<<<<<<
 * 
 *         try:
*/
  /*else*/ {
    __pyx_v_item = ((void *)__pyx_v_array);
  }
  __pyx_L3:;

  /* "View.MemoryView":471
 *             item = <void *> array
 * 
 *         try:             # <<<<<<<<<<<<<<
 *             if self.dtype_is_object:
 *                 (<PyObject **> item)[0] = <PyObject *> value
*/
  /*try:*/ {

    /* "View.MemoryView":472
 * 
 *         try:
 *             if self.dtype_is_object:             # <<<<<<<<<<<<<<
 *                 (<PyObject **> item)[0] = <PyObject *> value
 *             else:
*/
    if (__pyx_v_self->dtype_is_object) {

      /* "View.MemoryView":473
 *         try:
 *             if self.dtype_is_object:
 *                 (<PyObject **> item)[0] = <PyObject *> value             # <<<<<<<<<<<<<<
 *             else:
 *                 self.assign_item_from_object(<char *> item, value)
*/
      (((PyObject **)__pyx_v_item)[0]) = ((PyObject *)__pyx_v_value);

      /* "View.MemoryView":472
 * 
 *         try:
 *             if self.dtype_is_object:             # <<<<<<<<<<<<<<
 *                 (<PyObject **> item)[0] = <PyObject *> value
 *             else:
*/
      goto __pyx_L8;
    }

    /* "View.MemoryView":475
 *                 (<PyObject **> item)[0] = <PyObject *> value
 *             else:
 *                 self.assign_item_from_object(<char *> item, value)             # <<<<<<<<<<<<<<
 * 
 * 
*/
    /*else*/ {
      __pyx_t_3 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->assign_item_from_object(__pyx_v_self, ((char *)__pyx_v_item), __pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 475, __pyx_L6_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
    __pyx_L8:;

    /* "View.MemoryView":479
 * 
 * 
 *             if self.view.suboffsets != NULL:             # <<<<<<<<<<<<<<
 *                 assert_direct_dimensions(self.view.suboffsets, self.view.ndim)
 *             slice_assign_scalar(dst_slice, dst.view.ndim, self.view.itemsize,
*/
    __pyx_t_2 = (__pyx_v_self->view.suboffsets != NULL);
    if (__pyx_t_2) {

      /* "View.MemoryView":480
 * 
 *             if self.view.suboffsets != NULL:
 *                 assert_direct_dimensions(self.view.suboffsets, self.view.ndim)             # <<<<<<<<<<<<<<
 *             slice_assign_scalar(dst_slice, dst.view.ndim, self.view.itemsize,
 *                                 item, self.dtype_is_object)
*/
      __pyx_t_4 = assert_direct_dimensions(__pyx_v_self->view.suboffsets, __pyx_v_self->view.ndim); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(5, 480, __pyx_L6_error)

      /* "View.MemoryView":479
 * 
 * 
 *             if self.view.suboffsets != NULL:             # <<<<<<<<<<<<<<
 *                 assert_direct_dimensions(self.view.suboffsets, self.view.ndim)
 *             slice_assign_scalar(dst_slice, dst.view.ndim, self.view.itemsize,
*/
    }

    /* "View.MemoryView":481
 *             if self.view.suboffsets != NULL:
 *                 assert_direct_dimensions(self.view.suboffsets, self.view.ndim)
 *             slice_assign_scalar(dst_slice, dst.view.ndim, self.view.itemsize,             # <<<<<<<<<<<<<<
 *                                 item, self.dtype_is_object)
 *         finally:
*/
    __pyx_memoryview_slice_assign_scalar(__pyx_v_dst_slice, __pyx_v_dst->view.ndim, __pyx_v_self->view.itemsize, __pyx_v_item, __pyx_v_self->dtype_is_object);
  }

  /* "View.MemoryView":484
 *                                 item, self.dtype_is_object)
 *         finally:
 *             PyMem_Free(tmp)             # <<<<<<<<<<<<<<
 * 
 *     cdef setitem_indexed(self, index, value):
*/
  /*finally:*/ {
    /*normal exit:*/{
      PyMem_Free(__pyx_v_tmp);
      goto __pyx_L7;
    }
    __pyx_L6_error:;
    /*exception exit:*/{
      __Pyx_PyThreadState_declare
      __Pyx_PyThreadState_assign
      __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
       __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
      if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_7);
      __Pyx_XGOTREF(__pyx_t_8);
      __Pyx_XGOTREF(__pyx_t_9);
      __Pyx_XGOTREF(__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_11);
      __Pyx_XGOTREF(__pyx_t_12);
      __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename;
      {
        PyMem_Free(__pyx_v_tmp);
      }
      __Pyx_XGIVEREF(__pyx_t_10);
      __Pyx_XGIVEREF(__pyx_t_11);
      __Pyx_XGIVEREF(__pyx_t_12);
      __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
      __Pyx_XGIVEREF(__pyx_t_7);
      __Pyx_XGIVEREF(__pyx_t_8);
      __Pyx_XGIVEREF(__pyx_t_9);
      __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9);
      __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0;
      __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6;
      goto __pyx_L1_error;
    }
    __pyx_L7:;
  }

  /* "View.MemoryView":454
 *         memoryview_copy_contents(msrc, mdst, src.ndim, dst.ndim, self.dtype_is_object)
 * 
 *     cdef setitem_slice_assign_scalar(self, memoryview dst, value):             # <<<<<<<<<<<<<<
 *         cdef int array[128]
 *         cdef void *tmp = NULL
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView.memoryview.setitem_slice_assign_scalar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":486
 *             PyMem_Free(tmp)
 * 
 *     cdef setitem_indexed(self, index, value):             # <<<<<<<<<<<<<<
 *         cdef char *itemp = self.get_item_pointer(index)
 *         self.assign_item_from_object(itemp, value)
*/

static PyObject *__pyx_memoryview_setitem_indexed(struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
  char *__pyx_v_itemp;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setitem_indexed", 0);

  /* "View.MemoryView":487
 * 
 *     cdef setitem_indexed(self, index, value):
 *         cdef char *itemp = self.get_item_pointer(index)             # <<<<<<<<<<<<<<
 *         self.assign_item_from_object(itemp, value)
 * 
*/
  __pyx_t_1 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->get_item_pointer(__pyx_v_self, __pyx_v_index); if (unlikely(__pyx_t_1 == ((void *)NULL))) __PYX_ERR(5, 487, __pyx_L1_error)
  __pyx_v_itemp = __pyx_t_1;

  /* "View.MemoryView":488
 *     cdef setitem_indexed(self, index, value):
 *         cdef char *itemp = self.get_item_pointer(index)
 *         self.assign_item_from_object(itemp, value)             # <<<<<<<<<<<<<<
 * 
 *     cdef convert_item_to_object(self, char *itemp):
*/
  __pyx_t_2 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->assign_item_from_object(__pyx_v_self, __pyx_v_itemp, __pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "View.MemoryView":486
 *             PyMem_Free(tmp)
 * 
 *     cdef setitem_indexed(self, index, value):             # <<<<<<<<<<<<<<
 *         cdef char *itemp = self.get_item_pointer(index)
 *         self.assign_item_from_object(itemp, value)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.setitem_indexed", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":490
 *         self.assign_item_from_object(itemp, value)
 * 
 *     cdef convert_item_to_object(self, char *itemp):             # <<<<<<<<<<<<<<
 *         """Only used if instantiated manually by the user, or if Cython doesn't
 *         know how to convert the type"""
*/

static PyObject *__pyx_memoryview_convert_item_to_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp) {
  PyObject *__pyx_v_struct = NULL;
  PyObject *__pyx_v_bytesitem = 0;
  PyObject *__pyx_v_result = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("convert_item_to_object", 0);

  /* "View.MemoryView":493
 *         """Only used if instantiated manually by the user, or if Cython doesn't
 *         know how to convert the type"""
 *         import struct             # <<<<<<<<<<<<<<
 *         cdef bytes bytesitem
 * 
*/
  __pyx_t_2 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_struct, 0, 0, NULL, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 493, __pyx_L1_error)
  __pyx_t_1 = __pyx_t_2;
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_struct = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "View.MemoryView":496
 *         cdef bytes bytesitem
 * 
 *         bytesitem = itemp[:self.view.itemsize]             # <<<<<<<<<<<<<<
 *         try:
 *             result = struct.unpack(self.view.format, bytesitem)
*/
  __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_itemp + 0, __pyx_v_self->view.itemsize - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_bytesitem = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "View.MemoryView":497
 * 
 *         bytesitem = itemp[:self.view.itemsize]
 *         try:             # <<<<<<<<<<<<<<
 *             result = struct.unpack(self.view.format, bytesitem)
 *         except struct.error:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_4);
    /*try:*/ {

      /* "View.MemoryView":498
 *         bytesitem = itemp[:self.view.itemsize]
 *         try:
 *             result = struct.unpack(self.view.format, bytesitem)             # <<<<<<<<<<<<<<
 *         except struct.error:
 *             raise ValueError, "Unable to convert item to object"
*/
      __pyx_t_5 = __pyx_v_struct;
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyBytes_FromString(__pyx_v_self->view.format); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 498, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_6, __pyx_v_bytesitem};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_unpack, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 498, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_v_result = __pyx_t_1;
      __pyx_t_1 = 0;

      /* "View.MemoryView":497
 * 
 *         bytesitem = itemp[:self.view.itemsize]
 *         try:             # <<<<<<<<<<<<<<
 *             result = struct.unpack(self.view.format, bytesitem)
 *         except struct.error:
*/
    }

    /* "View.MemoryView":502
 *             raise ValueError, "Unable to convert item to object"
 *         else:
 *             if len(self.view.format) == 1:             # <<<<<<<<<<<<<<
 *                 return result[0]
 *             return result
*/
    /*else:*/ {
      __pyx_t_8 = __Pyx_ssize_strlen(__pyx_v_self->view.format); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(5, 502, __pyx_L5_except_error)
      __pyx_t_9 = (__pyx_t_8 == 1);
      if (__pyx_t_9) {

        /* "View.MemoryView":503
 *         else:
 *             if len(self.view.format) == 1:
 *                 return result[0]             # <<<<<<<<<<<<<<
 *             return result
 * 
*/
        __Pyx_XDECREF(__pyx_r);
        __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_result, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 503, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_r = __pyx_t_1;
        __pyx_t_1 = 0;
        goto __pyx_L6_except_return;

        /* "View.MemoryView":502
 *             raise ValueError, "Unable to convert item to object"
 *         else:
 *             if len(self.view.format) == 1:             # <<<<<<<<<<<<<<
 *                 return result[0]
 *             return result
*/
      }

      /* "View.MemoryView":504
 *             if len(self.view.format) == 1:
 *                 return result[0]
 *             return result             # <<<<<<<<<<<<<<
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):
*/
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_v_result);
      __pyx_r = __pyx_v_result;
      goto __pyx_L6_except_return;
    }
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "View.MemoryView":499
 *         try:
 *             result = struct.unpack(self.view.format, bytesitem)
 *         except struct.error:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Unable to convert item to object"
 *         else:
*/
    __Pyx_ErrFetch(&__pyx_t_1, &__pyx_t_6, &__pyx_t_5);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_struct, __pyx_mstate_global->__pyx_n_u_error); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 499, __pyx_L5_except_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_1, __pyx_t_10);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_ErrRestore(__pyx_t_1, __pyx_t_6, __pyx_t_5);
    __pyx_t_1 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0;
    if (__pyx_t_11) {
      __Pyx_AddTraceback("View.MemoryView.memoryview.convert_item_to_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_1) < 0) __PYX_ERR(5, 499, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_1);

      /* "View.MemoryView":500
 *             result = struct.unpack(self.view.format, bytesitem)
 *         except struct.error:
 *             raise ValueError, "Unable to convert item to object"             # <<<<<<<<<<<<<<
 *         else:
 *             if len(self.view.format) == 1:
*/
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_ValueError))), __pyx_mstate_global->__pyx_kp_u_Unable_to_convert_item_to_object, 0, 0);
      __PYX_ERR(5, 500, __pyx_L5_except_error)
    }
    goto __pyx_L5_except_error;

    /* "View.MemoryView":497
 * 
 *         bytesitem = itemp[:self.view.itemsize]
 *         try:             # <<<<<<<<<<<<<<
 *             result = struct.unpack(self.view.format, bytesitem)
 *         except struct.error:
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L1_error;
    __pyx_L6_except_return:;
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_4);
    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
    goto __pyx_L0;
  }

  /* "View.MemoryView":490
 *         self.assign_item_from_object(itemp, value)
 * 
 *     cdef convert_item_to_object(self, char *itemp):             # <<<<<<<<<<<<<<
 *         """Only used if instantiated manually by the user, or if Cython doesn't
 *         know how to convert the type"""
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("View.MemoryView.memoryview.convert_item_to_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_struct);
  __Pyx_XDECREF(__pyx_v_bytesitem);
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":506
 *             return result
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):             # <<<<<<<<<<<<<<
 *         """Only used if instantiated manually by the user, or if Cython doesn't
 *         know how to convert the type"""
*/

static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryview_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value) {
  PyObject *__pyx_v_struct = NULL;
  char __pyx_v_c;
  PyObject *__pyx_v_bytesvalue = 0;
  Py_ssize_t __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  char *__pyx_t_10;
  char *__pyx_t_11;
  Py_ssize_t __pyx_t_12;
  char *__pyx_t_13;
  char *__pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("assign_item_from_object", 0);

  /* "View.MemoryView":509
 *         """Only used if instantiated manually by the user, or if Cython doesn't
 *         know how to convert the type"""
 *         import struct             # <<<<<<<<<<<<<<
 *         cdef char c
 *         cdef bytes bytesvalue
*/
  __pyx_t_2 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_struct, 0, 0, NULL, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 509, __pyx_L1_error)
  __pyx_t_1 = __pyx_t_2;
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_struct = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "View.MemoryView":514
 *         cdef Py_ssize_t i
 * 
 *         if isinstance(value, tuple):             # <<<<<<<<<<<<<<
 *             bytesvalue = struct.pack(self.view.format, *value)
 *         else:
*/
  __pyx_t_3 = PyTuple_Check(__pyx_v_value); 
  if (__pyx_t_3) {

    /* "View.MemoryView":515
 * 
 *         if isinstance(value, tuple):
 *             bytesvalue = struct.pack(self.view.format, *value)             # <<<<<<<<<<<<<<
 *         else:
 *             bytesvalue = struct.pack(self.view.format, value)
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_struct, __pyx_mstate_global->__pyx_n_u_pack); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_self->view.format); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 515, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PySequence_Tuple(__pyx_v_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = PyNumber_Add(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 515, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (!(likely(PyBytes_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("bytes", __pyx_t_4))) __PYX_ERR(5, 515, __pyx_L1_error)
    __pyx_v_bytesvalue = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "View.MemoryView":514
 *         cdef Py_ssize_t i
 * 
 *         if isinstance(value, tuple):             # <<<<<<<<<<<<<<
 *             bytesvalue = struct.pack(self.view.format, *value)
 *         else:
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":517
 *             bytesvalue = struct.pack(self.view.format, *value)
 *         else:
 *             bytesvalue = struct.pack(self.view.format, value)             # <<<<<<<<<<<<<<
 * 
 *         for i, c in enumerate(bytesvalue):
*/
  /*else*/ {
    __pyx_t_6 = __pyx_v_struct;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->view.format); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_1, __pyx_v_value};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pack, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 517, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    if (!(likely(PyBytes_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("bytes", __pyx_t_4))) __PYX_ERR(5, 517, __pyx_L1_error)
    __pyx_v_bytesvalue = ((PyObject*)__pyx_t_4);
    __pyx_t_4 = 0;
  }
  __pyx_L3:;

  /* "View.MemoryView":519
 *             bytesvalue = struct.pack(self.view.format, value)
 * 
 *         for i, c in enumerate(bytesvalue):             # <<<<<<<<<<<<<<
 *             itemp[i] = c
 * 
*/
  __pyx_t_8 = 0;
  if (unlikely(__pyx_v_bytesvalue == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' is not iterable");
    __PYX_ERR(5, 519, __pyx_L1_error)
  }
  __Pyx_INCREF(__pyx_v_bytesvalue);
  __pyx_t_9 = __pyx_v_bytesvalue;
  __pyx_t_11 = __Pyx_PyBytes_AsWritableString(__pyx_t_9); if (unlikely(__pyx_t_11 == ((char *)NULL))) __PYX_ERR(5, 519, __pyx_L1_error)
  __pyx_t_12 = __Pyx_PyBytes_GET_SIZE(__pyx_t_9); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(5, 519, __pyx_L1_error)
  __pyx_t_13 = (__pyx_t_11 + __pyx_t_12);
  for (__pyx_t_14 = __pyx_t_11; __pyx_t_14 < __pyx_t_13; __pyx_t_14++) {
    __pyx_t_10 = __pyx_t_14;
    __pyx_v_c = (__pyx_t_10[0]);

    /* "View.MemoryView":520
 * 
 *         for i, c in enumerate(bytesvalue):
 *             itemp[i] = c             # <<<<<<<<<<<<<<
 * 
 *     @cname('getbuffer')
*/
    __pyx_v_i = __pyx_t_8;

    /* "View.MemoryView":519
 *             bytesvalue = struct.pack(self.view.format, value)
 * 
 *         for i, c in enumerate(bytesvalue):             # <<<<<<<<<<<<<<
 *             itemp[i] = c
 * 
*/
    __pyx_t_8 = (__pyx_t_8 + 1);

    /* "View.MemoryView":520
 * 
 *         for i, c in enumerate(bytesvalue):
 *             itemp[i] = c             # <<<<<<<<<<<<<<
 * 
 *     @cname('getbuffer')
*/
    (__pyx_v_itemp[__pyx_v_i]) = __pyx_v_c;
  }
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

  /* "View.MemoryView":506
 *             return result
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):             # <<<<<<<<<<<<<<
 *         """Only used if instantiated manually by the user, or if Cython doesn't
 *         know how to convert the type"""
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("View.MemoryView.memoryview.assign_item_from_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_struct);
  __Pyx_XDECREF(__pyx_v_bytesvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":522
 *             itemp[i] = c
 * 
 *     @cname('getbuffer')             # <<<<<<<<<<<<<<
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         if flags & PyBUF_WRITABLE and self.view.readonly:
*/

/* Python wrapper */
CYTHON_UNUSED static int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
CYTHON_UNUSED static int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(((struct __pyx_memoryview_obj *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(struct __pyx_memoryview_obj *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  Py_ssize_t *__pyx_t_3;
  char *__pyx_t_4;
  void *__pyx_t_5;
  int __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  if (unlikely(__pyx_v_info == NULL)) {
    PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete");
    return -1;
  }
  __Pyx_RefNannySetupContext("__getbuffer__", 0);
  __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(__pyx_v_info->obj);

  /* "View.MemoryView":524
 *     @cname('getbuffer')
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         if flags & PyBUF_WRITABLE and self.view.readonly:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Cannot create writable memory view from read-only memoryview"
 * 
*/
  __pyx_t_2 = ((__pyx_v_flags & PyBUF_WRITABLE) != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_1 = __pyx_v_self->view.readonly;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "View.MemoryView":525
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         if flags & PyBUF_WRITABLE and self.view.readonly:
 *             raise ValueError, "Cannot create writable memory view from read-only memoryview"             # <<<<<<<<<<<<<<
 * 
 *         if flags & PyBUF_ND:
*/
    __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_ValueError))), __pyx_mstate_global->__pyx_kp_u_Cannot_create_writable_memory_vi, 0, 0);
    __PYX_ERR(5, 525, __pyx_L1_error)

    /* "View.MemoryView":524
 *     @cname('getbuffer')
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         if flags & PyBUF_WRITABLE and self.view.readonly:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Cannot create writable memory view from read-only memoryview"
 * 
*/
  }

  /* "View.MemoryView":527
 *             raise ValueError, "Cannot create writable memory view from read-only memoryview"
 * 
 *         if flags & PyBUF_ND:             # <<<<<<<<<<<<<<
 *             info.shape = self.view.shape
 *         else:
*/
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_ND) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":528
 * 
 *         if flags & PyBUF_ND:
 *             info.shape = self.view.shape             # <<<<<<<<<<<<<<
 *         else:
 *             info.shape = NULL
*/
    __pyx_t_3 = __pyx_v_self->view.shape;
    __pyx_v_info->shape = __pyx_t_3;

    /* "View.MemoryView":527
 *             raise ValueError, "Cannot create writable memory view from read-only memoryview"
 * 
 *         if flags & PyBUF_ND:             # <<<<<<<<<<<<<<
 *             info.shape = self.view.shape
 *         else:
*/
    goto __pyx_L6;
  }

  /* "View.MemoryView":530
 *             info.shape = self.view.shape
 *         else:
 *             info.shape = NULL             # <<<<<<<<<<<<<<
 * 
 *         if flags & PyBUF_STRIDES:
*/
  /*else*/ {
    __pyx_v_info->shape = NULL;
  }
  __pyx_L6:;

  /* "View.MemoryView":532
 *             info.shape = NULL
 * 
 *         if flags & PyBUF_STRIDES:             # <<<<<<<<<<<<<<
 *             info.strides = self.view.strides
 *         else:
*/
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_STRIDES) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":533
 * 
 *         if flags & PyBUF_STRIDES:
 *             info.strides = self.view.strides             # <<<<<<<<<<<<<<
 *         else:
 *             info.strides = NULL
*/
    __pyx_t_3 = __pyx_v_self->view.strides;
    __pyx_v_info->strides = __pyx_t_3;

    /* "View.MemoryView":532
 *             info.shape = NULL
 * 
 *         if flags & PyBUF_STRIDES:             # <<<<<<<<<<<<<<
 *             info.strides = self.view.strides
 *         else:
*/
    goto __pyx_L7;
  }

  /* "View.MemoryView":535
 *             info.strides = self.view.strides
 *         else:
 *             info.strides = NULL             # <<<<<<<<<<<<<<
 * 
 *         if flags & PyBUF_INDIRECT:
*/
  /*else*/ {
    __pyx_v_info->strides = NULL;
  }
  __pyx_L7:;

  /* "View.MemoryView":537
 *             info.strides = NULL
 * 
 *         if flags & PyBUF_INDIRECT:             # <<<<<<<<<<<<<<
 *             info.suboffsets = self.view.suboffsets
 *         else:
*/
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_INDIRECT) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":538
 * 
 *         if flags & PyBUF_INDIRECT:
 *             info.suboffsets = self.view.suboffsets             # <<<<<<<<<<<<<<
 *         else:
 *             info.suboffsets = NULL
*/
    __pyx_t_3 = __pyx_v_self->view.suboffsets;
    __pyx_v_info->suboffsets = __pyx_t_3;

    /* "View.MemoryView":537
 *             info.strides = NULL
 * 
 *         if flags & PyBUF_INDIRECT:             # <<<<<<<<<<<<<<
 *             info.suboffsets = self.view.suboffsets
 *         else:
*/
    goto __pyx_L8;
  }

  /* "View.MemoryView":540
 *             info.suboffsets = self.view.suboffsets
 *         else:
 *             info.suboffsets = NULL             # <<<<<<<<<<<<<<
 * 
 *         if flags & PyBUF_FORMAT:
*/
  /*else*/ {
    __pyx_v_info->suboffsets = NULL;
  }
  __pyx_L8:;

  /* "View.MemoryView":542
 *             info.suboffsets = NULL
 * 
 *         if flags & PyBUF_FORMAT:             # <<<<<<<<<<<<<<
 *             info.format = self.view.format
 *         else:
*/
  __pyx_t_1 = ((__pyx_v_flags & PyBUF_FORMAT) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":543
 * 
 *         if flags & PyBUF_FORMAT:
 *             info.format = self.view.format             # <<<<<<<<<<<<<<
 *         else:
 *             info.format = NULL
*/
    __pyx_t_4 = __pyx_v_self->view.format;
    __pyx_v_info->format = __pyx_t_4;

    /* "View.MemoryView":542
 *             info.suboffsets = NULL
 * 
 *         if flags & PyBUF_FORMAT:             # <<<<<<<<<<<<<<
 *             info.format = self.view.format
 *         else:
*/
    goto __pyx_L9;
  }

  /* "View.MemoryView":545
 *             info.format = self.view.format
 *         else:
 *             info.format = NULL             # <<<<<<<<<<<<<<
 * 
 *         info.buf = self.view.buf
*/
  /*else*/ {
    __pyx_v_info->format = NULL;
  }
  __pyx_L9:;

  /* "View.MemoryView":547
 *             info.format = NULL
 * 
 *         info.buf = self.view.buf             # <<<<<<<<<<<<<<
 *         info.ndim = self.view.ndim
 *         info.itemsize = self.view.itemsize
*/
  __pyx_t_5 = __pyx_v_self->view.buf;
  __pyx_v_info->buf = __pyx_t_5;

  /* "View.MemoryView":548
 * 
 *         info.buf = self.view.buf
 *         info.ndim = self.view.ndim             # <<<<<<<<<<<<<<
 *         info.itemsize = self.view.itemsize
 *         info.len = self.view.len
*/
  __pyx_t_6 = __pyx_v_self->view.ndim;
  __pyx_v_info->ndim = __pyx_t_6;

  /* "View.MemoryView":549
 *         info.buf = self.view.buf
 *         info.ndim = self.view.ndim
 *         info.itemsize = self.view.itemsize             # <<<<<<<<<<<<<<
 *         info.len = self.view.len
 *         info.readonly = self.view.readonly
*/
  __pyx_t_7 = __pyx_v_self->view.itemsize;
  __pyx_v_info->itemsize = __pyx_t_7;

  /* "View.MemoryView":550
 *         info.ndim = self.view.ndim
 *         info.itemsize = self.view.itemsize
 *         info.len = self.view.len             # <<<<<<<<<<<<<<
 *         info.readonly = self.view.readonly
 *         info.obj = self
*/
  __pyx_t_7 = __pyx_v_self->view.len;
  __pyx_v_info->len = __pyx_t_7;

  /* "View.MemoryView":551
 *         info.itemsize = self.view.itemsize
 *         info.len = self.view.len
 *         info.readonly = self.view.readonly             # <<<<<<<<<<<<<<
 *         info.obj = self
 * 
*/
  __pyx_t_1 = __pyx_v_self->view.readonly;
  __pyx_v_info->readonly = __pyx_t_1;

  /* "View.MemoryView":552
 *         info.len = self.view.len
 *         info.readonly = self.view.readonly
 *         info.obj = self             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  __Pyx_GOTREF(__pyx_v_info->obj);
  __Pyx_DECREF(__pyx_v_info->obj);
  __pyx_v_info->obj = ((PyObject *)__pyx_v_self);

  /* "View.MemoryView":522
 *             itemp[i] = c
 * 
 *     @cname('getbuffer')             # <<<<<<<<<<<<<<
 *     def __getbuffer__(self, Py_buffer *info, int flags):
 *         if flags & PyBUF_WRITABLE and self.view.readonly:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.memoryview.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  if (__pyx_v_info->obj != NULL) {
    __Pyx_GOTREF(__pyx_v_info->obj);
    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
  }
  goto __pyx_L2;
  __pyx_L0:;
  if (__pyx_v_info->obj == Py_None) {
    __Pyx_GOTREF(__pyx_v_info->obj);
    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
  }
  __pyx_L2:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":555
 * 
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def T(self):
 *         cdef _memoryviewslice result = memoryview_copy(self)
*/

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  struct __pyx_memoryviewslice_obj *__pyx_v_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "View.MemoryView":557
 *     @property
 *     def T(self):
 *         cdef _memoryviewslice result = memoryview_copy(self)             # <<<<<<<<<<<<<<
 *         transpose_memslice(&result.from_slice)
 *         return result
*/
  __pyx_t_1 = __pyx_memoryview_copy_object(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_memoryviewslice_type))))) __PYX_ERR(5, 557, __pyx_L1_error)
  __pyx_v_result = ((struct __pyx_memoryviewslice_obj *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "View.MemoryView":558
 *     def T(self):
 *         cdef _memoryviewslice result = memoryview_copy(self)
 *         transpose_memslice(&result.from_slice)             # <<<<<<<<<<<<<<
 *         return result
 * 
*/
  __pyx_t_2 = __pyx_memslice_transpose((&__pyx_v_result->from_slice)); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 558, __pyx_L1_error)

  /* "View.MemoryView":559
 *         cdef _memoryviewslice result = memoryview_copy(self)
 *         transpose_memslice(&result.from_slice)
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_result);
  __pyx_r = ((PyObject *)__pyx_v_result);
  goto __pyx_L0;

  /* "View.MemoryView":555
 * 
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def T(self):
 *         cdef _memoryviewslice result = memoryview_copy(self)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.memoryview.T.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":561
 *         return result
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def base(self):
 *         return self._get_base()
*/

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "View.MemoryView":563
 *     @property
 *     def base(self):
 *         return self._get_base()             # <<<<<<<<<<<<<<
 * 
 *     cdef _get_base(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->_get_base(__pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":561
 *         return result
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def base(self):
 *         return self._get_base()
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.memoryview.base.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":565
 *         return self._get_base()
 * 
 *     cdef _get_base(self):             # <<<<<<<<<<<<<<
 *         return self.obj
 * 
*/

static PyObject *__pyx_memoryview__get_base(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_get_base", 0);

  /* "View.MemoryView":566
 * 
 *     cdef _get_base(self):
 *         return self.obj             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->obj);
  __pyx_r = __pyx_v_self->obj;
  goto __pyx_L0;

  /* "View.MemoryView":565
 *         return self._get_base()
 * 
 *     cdef _get_base(self):             # <<<<<<<<<<<<<<
 *         return self.obj
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":568
 *         return self.obj
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shape(self):
 *         return tuple([length for length in self.view.shape[:self.view.ndim]])
*/

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  Py_ssize_t __pyx_7genexpr__pyx_v_length;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t *__pyx_t_2;
  Py_ssize_t *__pyx_t_3;
  Py_ssize_t *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "View.MemoryView":570
 *     @property
 *     def shape(self):
 *         return tuple([length for length in self.view.shape[:self.view.ndim]])             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 570, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (__pyx_v_self->view.shape + __pyx_v_self->view.ndim);
    for (__pyx_t_4 = __pyx_v_self->view.shape; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_7genexpr__pyx_v_length = (__pyx_t_2[0]);
      __pyx_t_5 = PyLong_FromSsize_t(__pyx_7genexpr__pyx_v_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 570, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(5, 570, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_t_5 = PyList_AsTuple(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 570, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":568
 *         return self.obj
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def shape(self):
 *         return tuple([length for length in self.view.shape[:self.view.ndim]])
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("View.MemoryView.memoryview.shape.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":572
 *         return tuple([length for length in self.view.shape[:self.view.ndim]])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def strides(self):
 *         if self.view.strides == NULL:
*/

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  Py_ssize_t __pyx_8genexpr1__pyx_v_stride;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t *__pyx_t_3;
  Py_ssize_t *__pyx_t_4;
  Py_ssize_t *__pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "View.MemoryView":574
 *     @property
 *     def strides(self):
 *         if self.view.strides == NULL:             # <<<<<<<<<<<<<<
 * 
 *             raise ValueError, "Buffer view does not expose strides"
*/
  __pyx_t_1 = (__pyx_v_self->view.strides == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "View.MemoryView":576
 *         if self.view.strides == NULL:
 * 
 *             raise ValueError, "Buffer view does not expose strides"             # <<<<<<<<<<<<<<
 * 
 *         return tuple([stride for stride in self.view.strides[:self.view.ndim]])
*/
    __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_ValueError))), __pyx_mstate_global->__pyx_kp_u_Buffer_view_does_not_expose_stri, 0, 0);
    __PYX_ERR(5, 576, __pyx_L1_error)

    /* "View.MemoryView":574
 *     @property
 *     def strides(self):
 *         if self.view.strides == NULL:             # <<<<<<<<<<<<<<
 * 
 *             raise ValueError, "Buffer view does not expose strides"
*/
  }

  /* "View.MemoryView":578
 *             raise ValueError, "Buffer view does not expose strides"
 * 
 *         return tuple([stride for stride in self.view.strides[:self.view.ndim]])             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = (__pyx_v_self->view.strides + __pyx_v_self->view.ndim);
    for (__pyx_t_5 = __pyx_v_self->view.strides; __pyx_t_5 < __pyx_t_4; __pyx_t_5++) {
      __pyx_t_3 = __pyx_t_5;
      __pyx_8genexpr1__pyx_v_stride = (__pyx_t_3[0]);
      __pyx_t_6 = PyLong_FromSsize_t(__pyx_8genexpr1__pyx_v_stride); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 578, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(5, 578, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  } /* exit inner scope */
  __pyx_t_6 = PyList_AsTuple(((PyObject*)__pyx_t_2)); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":572
 *         return tuple([length for length in self.view.shape[:self.view.ndim]])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def strides(self):
 *         if self.view.strides == NULL:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("View.MemoryView.memoryview.strides.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":580
 *         return tuple([stride for stride in self.view.strides[:self.view.ndim]])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def suboffsets(self):
 *         if self.view.suboffsets == NULL:
*/

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  Py_ssize_t __pyx_8genexpr2__pyx_v_suboffset;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t *__pyx_t_3;
  Py_ssize_t *__pyx_t_4;
  Py_ssize_t *__pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "View.MemoryView":582
 *     @property
 *     def suboffsets(self):
 *         if self.view.suboffsets == NULL:             # <<<<<<<<<<<<<<
 *             return (-1,) * self.view.ndim
 * 
*/
  __pyx_t_1 = (__pyx_v_self->view.suboffsets == NULL);
  if (__pyx_t_1) {

    /* "View.MemoryView":583
 *     def suboffsets(self):
 *         if self.view.suboffsets == NULL:
 *             return (-1,) * self.view.ndim             # <<<<<<<<<<<<<<
 * 
 *         return tuple([suboffset for suboffset in self.view.suboffsets[:self.view.ndim]])
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PySequence_Multiply(__pyx_mstate_global->__pyx_tuple[0], __pyx_v_self->view.ndim); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "View.MemoryView":582
 *     @property
 *     def suboffsets(self):
 *         if self.view.suboffsets == NULL:             # <<<<<<<<<<<<<<
 *             return (-1,) * self.view.ndim
 * 
*/
  }

  /* "View.MemoryView":585
 *             return (-1,) * self.view.ndim
 * 
 *         return tuple([suboffset for suboffset in self.view.suboffsets[:self.view.ndim]])             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = (__pyx_v_self->view.suboffsets + __pyx_v_self->view.ndim);
    for (__pyx_t_5 = __pyx_v_self->view.suboffsets; __pyx_t_5 < __pyx_t_4; __pyx_t_5++) {
      __pyx_t_3 = __pyx_t_5;
      __pyx_8genexpr2__pyx_v_suboffset = (__pyx_t_3[0]);
      __pyx_t_6 = PyLong_FromSsize_t(__pyx_8genexpr2__pyx_v_suboffset); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 585, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(5, 585, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  } /* exit inner scope */
  __pyx_t_6 = PyList_AsTuple(((PyObject*)__pyx_t_2)); if (unlikely(!__pyx_t_6)) __PYX_ERR(5, 585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":580
 *         return tuple([stride for stride in self.view.strides[:self.view.ndim]])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def suboffsets(self):
 *         if self.view.suboffsets == NULL:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("View.MemoryView.memoryview.suboffsets.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":587
 *         return tuple([suboffset for suboffset in self.view.suboffsets[:self.view.ndim]])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def ndim(self):
 *         return self.view.ndim
*/

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "View.MemoryView":589
 *     @property
 *     def ndim(self):
 *         return self.view.ndim             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->view.ndim); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":587
 *         return tuple([suboffset for suboffset in self.view.suboffsets[:self.view.ndim]])
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def ndim(self):
 *         return self.view.ndim
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.memoryview.ndim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":591
 *         return self.view.ndim
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def itemsize(self):
 *         return self.view.itemsize
*/

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "View.MemoryView":593
 *     @property
 *     def itemsize(self):
 *         return self.view.itemsize             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyLong_FromSsize_t(__pyx_v_self->view.itemsize); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":591
 *         return self.view.ndim
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def itemsize(self):
 *         return self.view.itemsize
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.memoryview.itemsize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":595
 *         return self.view.itemsize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def nbytes(self):
 *         return self.size * self.view.itemsize
*/

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "View.MemoryView":597
 *     @property
 *     def nbytes(self):
 *         return self.size * self.view.itemsize             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyLong_FromSsize_t(__pyx_v_self->view.itemsize); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyNumber_Multiply(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":595
 *         return self.view.itemsize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def nbytes(self):
 *         return self.size * self.view.itemsize
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView.memoryview.nbytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":599
 *         return self.size * self.view.itemsize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         if self._size is None:
*/

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_v_result = NULL;
  PyObject *__pyx_v_length = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t *__pyx_t_2;
  Py_ssize_t *__pyx_t_3;
  Py_ssize_t *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "View.MemoryView":601
 *     @property
 *     def size(self):
 *         if self._size is None:             # <<<<<<<<<<<<<<
 *             result = 1
 * 
*/
  __pyx_t_1 = (__pyx_v_self->_size == Py_None);
  if (__pyx_t_1) {

    /* "View.MemoryView":602
 *     def size(self):
 *         if self._size is None:
 *             result = 1             # <<<<<<<<<<<<<<
 * 
 *             for length in self.view.shape[:self.view.ndim]:
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_1);
    __pyx_v_result = __pyx_mstate_global->__pyx_int_1;

    /* "View.MemoryView":604
 *             result = 1
 * 
 *             for length in self.view.shape[:self.view.ndim]:             # <<<<<<<<<<<<<<
 *                 result *= length
 * 
*/
    __pyx_t_3 = (__pyx_v_self->view.shape + __pyx_v_self->view.ndim);
    for (__pyx_t_4 = __pyx_v_self->view.shape; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
      __pyx_t_2 = __pyx_t_4;
      __pyx_t_5 = PyLong_FromSsize_t((__pyx_t_2[0])); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 604, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_v_length, __pyx_t_5);
      __pyx_t_5 = 0;

      /* "View.MemoryView":605
 * 
 *             for length in self.view.shape[:self.view.ndim]:
 *                 result *= length             # <<<<<<<<<<<<<<
 * 
 *             self._size = result
*/
      __pyx_t_5 = PyNumber_InPlaceMultiply(__pyx_v_result, __pyx_v_length); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 605, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_5);
      __pyx_t_5 = 0;
    }

    /* "View.MemoryView":607
 *                 result *= length
 * 
 *             self._size = result             # <<<<<<<<<<<<<<
 * 
 *         return self._size
*/
    __Pyx_INCREF(__pyx_v_result);
    __Pyx_GIVEREF(__pyx_v_result);
    __Pyx_GOTREF(__pyx_v_self->_size);
    __Pyx_DECREF(__pyx_v_self->_size);
    __pyx_v_self->_size = __pyx_v_result;

    /* "View.MemoryView":601
 *     @property
 *     def size(self):
 *         if self._size is None:             # <<<<<<<<<<<<<<
 *             result = 1
 * 
*/
  }

  /* "View.MemoryView":609
 *             self._size = result
 * 
 *         return self._size             # <<<<<<<<<<<<<<
 * 
 *     def __len__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->_size);
  __pyx_r = __pyx_v_self->_size;
  goto __pyx_L0;

  /* "View.MemoryView":599
 *         return self.size * self.view.itemsize
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def size(self):
 *         if self._size is None:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("View.MemoryView.memoryview.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF(__pyx_v_length);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":611
 *         return self._size
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         if self.view.ndim >= 1:
 *             return self.view.shape[0]
*/

/* Python wrapper */
static Py_ssize_t __pyx_memoryview___len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_memoryview___len__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(struct __pyx_memoryview_obj *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  int __pyx_t_1;

  /* "View.MemoryView":612
 * 
 *     def __len__(self):
 *         if self.view.ndim >= 1:             # <<<<<<<<<<<<<<
 *             return self.view.shape[0]
 * 
*/
  __pyx_t_1 = (__pyx_v_self->view.ndim >= 1);
  if (__pyx_t_1) {

    /* "View.MemoryView":613
 *     def __len__(self):
 *         if self.view.ndim >= 1:
 *             return self.view.shape[0]             # <<<<<<<<<<<<<<
 * 
 *         return 0
*/
    __pyx_r = (__pyx_v_self->view.shape[0]);
    goto __pyx_L0;

    /* "View.MemoryView":612
 * 
 *     def __len__(self):
 *         if self.view.ndim >= 1:             # <<<<<<<<<<<<<<
 *             return self.view.shape[0]
 * 
*/
  }

  /* "View.MemoryView":615
 *             return self.view.shape[0]
 * 
 *         return 0             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  __pyx_r = 0;
  goto __pyx_L0;

  /* "View.MemoryView":611
 *         return self._size
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         if self.view.ndim >= 1:
 *             return self.view.shape[0]
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":617
 *         return 0
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<MemoryView of %r at 0x%x>" % (self.base.__class__.__name__,
 *                                                id(self))
*/

/* Python wrapper */
static PyObject *__pyx_memoryview___repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_memoryview___repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4[5];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "View.MemoryView":618
 * 
 *     def __repr__(self):
 *         return "<MemoryView of %r at 0x%x>" % (self.base.__class__.__name__,             # <<<<<<<<<<<<<<
 *                                                id(self))
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_t_1), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "View.MemoryView":619
 *     def __repr__(self):
 *         return "<MemoryView of %r at 0x%x>" % (self.base.__class__.__name__,
 *                                                id(self))             # <<<<<<<<<<<<<<
 * 
 *     def __str__(self):
*/
  __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_Format(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 619, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_MemoryView_of;
  __pyx_t_4[1] = __pyx_t_2;
  __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u_at_0x;
  __pyx_t_4[3] = __pyx_t_3;
  __pyx_t_4[4] = __pyx_mstate_global->__pyx_kp_u__3;

  /* "View.MemoryView":618
 * 
 *     def __repr__(self):
 *         return "<MemoryView of %r at 0x%x>" % (self.base.__class__.__name__,             # <<<<<<<<<<<<<<
 *                                                id(self))
 * 
*/
  __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_4, 5, 15 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 6 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
  if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":617
 *         return 0
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "<MemoryView of %r at 0x%x>" % (self.base.__class__.__name__,
 *                                                id(self))
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView.memoryview.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":621
 *                                                id(self))
 * 
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "<MemoryView of %r object>" % (self.base.__class__.__name__,)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_memoryview___str__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_memoryview___str__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__str__", 0);

  /* "View.MemoryView":622
 * 
 *     def __str__(self):
 *         return "<MemoryView of %r object>" % (self.base.__class__.__name__,)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_base); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_t_1), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3[0] = __pyx_mstate_global->__pyx_kp_u_MemoryView_of;
  __pyx_t_3[1] = __pyx_t_2;
  __pyx_t_3[2] = __pyx_mstate_global->__pyx_kp_u_object_2;
  __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, 15 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 8, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2));
  if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":621
 *                                                id(self))
 * 
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return "<MemoryView of %r object>" % (self.base.__class__.__name__,)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":625
 * 
 * 
 *     def is_c_contig(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice *mslice
 *         cdef __Pyx_memviewslice tmp
*/

/* Python wrapper */
static PyObject *__pyx_memoryview_is_c_contig(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_memoryview_is_c_contig(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_c_contig (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("is_c_contig", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("is_c_contig", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(struct __pyx_memoryview_obj *__pyx_v_self) {
  __Pyx_memviewslice *__pyx_v_mslice;
  __Pyx_memviewslice __pyx_v_tmp;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_memviewslice *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_c_contig", 0);

  /* "View.MemoryView":628
 *         cdef __Pyx_memviewslice *mslice
 *         cdef __Pyx_memviewslice tmp
 *         mslice = get_slice_from_memview(self, &tmp)             # <<<<<<<<<<<<<<
 *         return slice_is_contig(mslice[0], 'C', self.view.ndim)
 * 
*/
  __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(__pyx_v_self, (&__pyx_v_tmp)); if (unlikely(__pyx_t_1 == ((void *)NULL))) __PYX_ERR(5, 628, __pyx_L1_error)
  __pyx_v_mslice = __pyx_t_1;

  /* "View.MemoryView":629
 *         cdef __Pyx_memviewslice tmp
 *         mslice = get_slice_from_memview(self, &tmp)
 *         return slice_is_contig(mslice[0], 'C', self.view.ndim)             # <<<<<<<<<<<<<<
 * 
 *     def is_f_contig(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_memviewslice_is_contig((__pyx_v_mslice[0]), 'C', __pyx_v_self->view.ndim)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 629, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":625
 * 
 * 
 *     def is_c_contig(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice *mslice
 *         cdef __Pyx_memviewslice tmp
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.is_c_contig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":631
 *         return slice_is_contig(mslice[0], 'C', self.view.ndim)
 * 
 *     def is_f_contig(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice *mslice
 *         cdef __Pyx_memviewslice tmp
*/

/* Python wrapper */
static PyObject *__pyx_memoryview_is_f_contig(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_memoryview_is_f_contig(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_f_contig (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("is_f_contig", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("is_f_contig", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(struct __pyx_memoryview_obj *__pyx_v_self) {
  __Pyx_memviewslice *__pyx_v_mslice;
  __Pyx_memviewslice __pyx_v_tmp;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_memviewslice *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_f_contig", 0);

  /* "View.MemoryView":634
 *         cdef __Pyx_memviewslice *mslice
 *         cdef __Pyx_memviewslice tmp
 *         mslice = get_slice_from_memview(self, &tmp)             # <<<<<<<<<<<<<<
 *         return slice_is_contig(mslice[0], 'F', self.view.ndim)
 * 
*/
  __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(__pyx_v_self, (&__pyx_v_tmp)); if (unlikely(__pyx_t_1 == ((void *)NULL))) __PYX_ERR(5, 634, __pyx_L1_error)
  __pyx_v_mslice = __pyx_t_1;

  /* "View.MemoryView":635
 *         cdef __Pyx_memviewslice tmp
 *         mslice = get_slice_from_memview(self, &tmp)
 *         return slice_is_contig(mslice[0], 'F', self.view.ndim)             # <<<<<<<<<<<<<<
 * 
 *     def copy(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_memviewslice_is_contig((__pyx_v_mslice[0]), 'F', __pyx_v_self->view.ndim)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":631
 *         return slice_is_contig(mslice[0], 'C', self.view.ndim)
 * 
 *     def is_f_contig(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice *mslice
 *         cdef __Pyx_memviewslice tmp
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.is_f_contig", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":637
 *         return slice_is_contig(mslice[0], 'F', self.view.ndim)
 * 
 *     def copy(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice mslice
 *         cdef int flags = self.flags & ~PyBUF_F_CONTIGUOUS
*/

/* Python wrapper */
static PyObject *__pyx_memoryview_copy(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_memoryview_copy(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("copy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(struct __pyx_memoryview_obj *__pyx_v_self) {
  __Pyx_memviewslice __pyx_v_mslice;
  int __pyx_v_flags;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_memviewslice __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("copy", 0);

  /* "View.MemoryView":639
 *     def copy(self):
 *         cdef __Pyx_memviewslice mslice
 *         cdef int flags = self.flags & ~PyBUF_F_CONTIGUOUS             # <<<<<<<<<<<<<<
 * 
 *         slice_copy(self, &mslice)
*/
  __pyx_v_flags = (__pyx_v_self->flags & (~PyBUF_F_CONTIGUOUS));

  /* "View.MemoryView":641
 *         cdef int flags = self.flags & ~PyBUF_F_CONTIGUOUS
 * 
 *         slice_copy(self, &mslice)             # <<<<<<<<<<<<<<
 *         mslice = slice_copy_contig(&mslice, "c", self.view.ndim,
 *                                    self.view.itemsize,
*/
  __pyx_memoryview_slice_copy(__pyx_v_self, (&__pyx_v_mslice));

  /* "View.MemoryView":642
 * 
 *         slice_copy(self, &mslice)
 *         mslice = slice_copy_contig(&mslice, "c", self.view.ndim,             # <<<<<<<<<<<<<<
 *                                    self.view.itemsize,
 *                                    flags|PyBUF_C_CONTIGUOUS,
*/
  __pyx_t_1 = __pyx_memoryview_copy_new_contig((&__pyx_v_mslice), __pyx_k_c, __pyx_v_self->view.ndim, __pyx_v_self->view.itemsize, (__pyx_v_flags | PyBUF_C_CONTIGUOUS), __pyx_v_self->dtype_is_object); if (unlikely(PyErr_Occurred())) __PYX_ERR(5, 642, __pyx_L1_error)
  __pyx_v_mslice = __pyx_t_1;

  /* "View.MemoryView":647
 *                                    self.dtype_is_object)
 * 
 *         return memoryview_copy_from_slice(self, &mslice)             # <<<<<<<<<<<<<<
 * 
 *     def copy_fortran(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_memoryview_copy_object_from_slice(__pyx_v_self, (&__pyx_v_mslice)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 647, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":637
 *         return slice_is_contig(mslice[0], 'F', self.view.ndim)
 * 
 *     def copy(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice mslice
 *         cdef int flags = self.flags & ~PyBUF_F_CONTIGUOUS
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":649
 *         return memoryview_copy_from_slice(self, &mslice)
 * 
 *     def copy_fortran(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice src, dst
 *         cdef int flags = self.flags & ~PyBUF_C_CONTIGUOUS
*/

/* Python wrapper */
static PyObject *__pyx_memoryview_copy_fortran(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_memoryview_copy_fortran(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("copy_fortran (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("copy_fortran", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("copy_fortran", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(struct __pyx_memoryview_obj *__pyx_v_self) {
  __Pyx_memviewslice __pyx_v_src;
  __Pyx_memviewslice __pyx_v_dst;
  int __pyx_v_flags;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_memviewslice __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("copy_fortran", 0);

  /* "View.MemoryView":651
 *     def copy_fortran(self):
 *         cdef __Pyx_memviewslice src, dst
 *         cdef int flags = self.flags & ~PyBUF_C_CONTIGUOUS             # <<<<<<<<<<<<<<
 * 
 *         slice_copy(self, &src)
*/
  __pyx_v_flags = (__pyx_v_self->flags & (~PyBUF_C_CONTIGUOUS));

  /* "View.MemoryView":653
 *         cdef int flags = self.flags & ~PyBUF_C_CONTIGUOUS
 * 
 *         slice_copy(self, &src)             # <<<<<<<<<<<<<<
 *         dst = slice_copy_contig(&src, "fortran", self.view.ndim,
 *                                 self.view.itemsize,
*/
  __pyx_memoryview_slice_copy(__pyx_v_self, (&__pyx_v_src));

  /* "View.MemoryView":654
 * 
 *         slice_copy(self, &src)
 *         dst = slice_copy_contig(&src, "fortran", self.view.ndim,             # <<<<<<<<<<<<<<
 *                                 self.view.itemsize,
 *                                 flags|PyBUF_F_CONTIGUOUS,
*/
  __pyx_t_1 = __pyx_memoryview_copy_new_contig((&__pyx_v_src), __pyx_k_fortran, __pyx_v_self->view.ndim, __pyx_v_self->view.itemsize, (__pyx_v_flags | PyBUF_F_CONTIGUOUS), __pyx_v_self->dtype_is_object); if (unlikely(PyErr_Occurred())) __PYX_ERR(5, 654, __pyx_L1_error)
  __pyx_v_dst = __pyx_t_1;

  /* "View.MemoryView":659
 *                                 self.dtype_is_object)
 * 
 *         return memoryview_copy_from_slice(self, &dst)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_memoryview_copy_object_from_slice(__pyx_v_self, (&__pyx_v_dst)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":649
 *         return memoryview_copy_from_slice(self, &mslice)
 * 
 *     def copy_fortran(self):             # <<<<<<<<<<<<<<
 *         cdef __Pyx_memviewslice src, dst
 *         cdef int flags = self.flags & ~PyBUF_C_CONTIGUOUS
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.memoryview.copy_fortran", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw___pyx_memoryview_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_memoryview_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf___pyx_memoryview___reduce_cython__(((struct __pyx_memoryview_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_memoryview___reduce_cython__(CYTHON_UNUSED struct __pyx_memoryview_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.memoryview.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw___pyx_memoryview_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_memoryview_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("View.MemoryView.memoryview.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf___pyx_memoryview_2__setstate_cython__(((struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_memoryview_2__setstate_cython__(CYTHON_UNUSED struct __pyx_memoryview_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.memoryview.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":662
 * 
 * 
 * @cname('__pyx_memoryview_new')             # <<<<<<<<<<<<<<
 * cdef memoryview_cwrapper(object o, int flags, bint dtype_is_object, const __Pyx_TypeInfo *typeinfo):
 *     cdef memoryview result = memoryview(o, flags, dtype_is_object)
*/

static PyObject *__pyx_memoryview_new(PyObject *__pyx_v_o, int __pyx_v_flags, int __pyx_v_dtype_is_object, __Pyx_TypeInfo const *__pyx_v_typeinfo) {
  struct __pyx_memoryview_obj *__pyx_v_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("memoryview_cwrapper", 0);

  /* "View.MemoryView":664
 * @cname('__pyx_memoryview_new')
 * cdef memoryview_cwrapper(object o, int flags, bint dtype_is_object, const __Pyx_TypeInfo *typeinfo):
 *     cdef memoryview result = memoryview(o, flags, dtype_is_object)             # <<<<<<<<<<<<<<
 *     result.typeinfo = typeinfo
 *     return result
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_flags); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_dtype_is_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_2, __pyx_v_o, __pyx_t_3, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_memoryview_type, __pyx_callargs+__pyx_t_5, (4-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 664, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_result = ((struct __pyx_memoryview_obj *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "View.MemoryView":665
 * cdef memoryview_cwrapper(object o, int flags, bint dtype_is_object, const __Pyx_TypeInfo *typeinfo):
 *     cdef memoryview result = memoryview(o, flags, dtype_is_object)
 *     result.typeinfo = typeinfo             # <<<<<<<<<<<<<<
 *     return result
 * 
*/
  __pyx_v_result->typeinfo = __pyx_v_typeinfo;

  /* "View.MemoryView":666
 *     cdef memoryview result = memoryview(o, flags, dtype_is_object)
 *     result.typeinfo = typeinfo
 *     return result             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_check')
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_result);
  __pyx_r = ((PyObject *)__pyx_v_result);
  goto __pyx_L0;

  /* "View.MemoryView":662
 * 
 * 
 * @cname('__pyx_memoryview_new')             # <<<<<<<<<<<<<<
 * cdef memoryview_cwrapper(object o, int flags, bint dtype_is_object, const __Pyx_TypeInfo *typeinfo):
 *     cdef memoryview result = memoryview(o, flags, dtype_is_object)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("View.MemoryView.memoryview_cwrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":668
 *     return result
 * 
 * @cname('__pyx_memoryview_check')             # <<<<<<<<<<<<<<
 * cdef inline bint memoryview_check(object o) noexcept:
 *     return isinstance(o, memoryview)
*/

static CYTHON_INLINE int __pyx_memoryview_check(PyObject *__pyx_v_o) {
  int __pyx_r;
  int __pyx_t_1;

  /* "View.MemoryView":670
 * @cname('__pyx_memoryview_check')
 * cdef inline bint memoryview_check(object o) noexcept:
 *     return isinstance(o, memoryview)             # <<<<<<<<<<<<<<
 * 
 * cdef tuple _unellipsify(object index, int ndim):
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_o, __pyx_mstate_global->__pyx_memoryview_type); 
  __pyx_r = __pyx_t_1;
  goto __pyx_L0;

  /* "View.MemoryView":668
 *     return result
 * 
 * @cname('__pyx_memoryview_check')             # <<<<<<<<<<<<<<
 * cdef inline bint memoryview_check(object o) noexcept:
 *     return isinstance(o, memoryview)
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":672
 *     return isinstance(o, memoryview)
 * 
 * cdef tuple _unellipsify(object index, int ndim):             # <<<<<<<<<<<<<<
 *     """
 *     Replace all ellipses with full slices and fill incomplete indices with
*/

static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {
  Py_ssize_t __pyx_v_idx;
  PyObject *__pyx_v_tup = NULL;
  PyObject *__pyx_v_result = NULL;
  int __pyx_v_have_slices;
  int __pyx_v_seen_ellipsis;
  PyObject *__pyx_v_item = NULL;
  Py_ssize_t __pyx_v_nslices;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  PyObject *__pyx_t_6[3];
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_unellipsify", 0);

  /* "View.MemoryView":678
 *     """
 *     cdef Py_ssize_t idx
 *     tup = <tuple>index if isinstance(index, tuple) else (index,)             # <<<<<<<<<<<<<<
 * 
 *     result = [slice(None)] * ndim
*/
  __pyx_t_2 = PyTuple_Check(__pyx_v_index); 
  if (__pyx_t_2) {
    __Pyx_INCREF(((PyObject*)__pyx_v_index));
    __pyx_t_1 = __pyx_v_index;
  } else {
    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(__pyx_v_index);
    __Pyx_GIVEREF(__pyx_v_index);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_index) != (0)) __PYX_ERR(5, 678, __pyx_L1_error);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  }
  __pyx_v_tup = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "View.MemoryView":680
 *     tup = <tuple>index if isinstance(index, tuple) else (index,)
 * 
 *     result = [slice(None)] * ndim             # <<<<<<<<<<<<<<
 *     have_slices = False
 *     seen_ellipsis = False
*/
  __pyx_t_1 = PyList_New(1 * ((__pyx_v_ndim<0) ? 0:__pyx_v_ndim)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  { Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < __pyx_v_ndim; __pyx_temp++) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_slice[0]);
      __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[0]);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_1, __pyx_temp, __pyx_mstate_global->__pyx_slice[0]) != (0)) __PYX_ERR(5, 680, __pyx_L1_error);
    }
  }
  __pyx_v_result = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "View.MemoryView":681
 * 
 *     result = [slice(None)] * ndim
 *     have_slices = False             # <<<<<<<<<<<<<<
 *     seen_ellipsis = False
 *     idx = 0
*/
  __pyx_v_have_slices = 0;

  /* "View.MemoryView":682
 *     result = [slice(None)] * ndim
 *     have_slices = False
 *     seen_ellipsis = False             # <<<<<<<<<<<<<<
 *     idx = 0
 *     for item in tup:
*/
  __pyx_v_seen_ellipsis = 0;

  /* "View.MemoryView":683
 *     have_slices = False
 *     seen_ellipsis = False
 *     idx = 0             # <<<<<<<<<<<<<<
 *     for item in tup:
 *         if item is Ellipsis:
*/
  __pyx_v_idx = 0;

  /* "View.MemoryView":684
 *     seen_ellipsis = False
 *     idx = 0
 *     for item in tup:             # <<<<<<<<<<<<<<
 *         if item is Ellipsis:
 *             if not seen_ellipsis:
*/
  if (unlikely(__pyx_v_tup == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(5, 684, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_v_tup; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(5, 684, __pyx_L1_error)
      #endif
      if (__pyx_t_4 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4));
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_4);
    #endif
    ++__pyx_t_4;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "View.MemoryView":685
 *     idx = 0
 *     for item in tup:
 *         if item is Ellipsis:             # <<<<<<<<<<<<<<
 *             if not seen_ellipsis:
 *                 idx += ndim - len(tup)
*/
    __pyx_t_2 = (__pyx_v_item == __pyx_builtin_Ellipsis);
    if (__pyx_t_2) {

      /* "View.MemoryView":686
 *     for item in tup:
 *         if item is Ellipsis:
 *             if not seen_ellipsis:             # <<<<<<<<<<<<<<
 *                 idx += ndim - len(tup)
 *                 seen_ellipsis = True
*/
      __pyx_t_2 = (!__pyx_v_seen_ellipsis);
      if (__pyx_t_2) {

        /* "View.MemoryView":687
 *         if item is Ellipsis:
 *             if not seen_ellipsis:
 *                 idx += ndim - len(tup)             # <<<<<<<<<<<<<<
 *                 seen_ellipsis = True
 *             have_slices = True
*/
        if (unlikely(__pyx_v_tup == Py_None)) {
          PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
          __PYX_ERR(5, 687, __pyx_L1_error)
        }
        __pyx_t_5 = __Pyx_PyTuple_GET_SIZE(__pyx_v_tup); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(5, 687, __pyx_L1_error)
        __pyx_v_idx = (__pyx_v_idx + (__pyx_v_ndim - __pyx_t_5));

        /* "View.MemoryView":688
 *             if not seen_ellipsis:
 *                 idx += ndim - len(tup)
 *                 seen_ellipsis = True             # <<<<<<<<<<<<<<
 *             have_slices = True
 *         else:
*/
        __pyx_v_seen_ellipsis = 1;

        /* "View.MemoryView":686
 *     for item in tup:
 *         if item is Ellipsis:
 *             if not seen_ellipsis:             # <<<<<<<<<<<<<<
 *                 idx += ndim - len(tup)
 *                 seen_ellipsis = True
*/
      }

      /* "View.MemoryView":689
 *                 idx += ndim - len(tup)
 *                 seen_ellipsis = True
 *             have_slices = True             # <<<<<<<<<<<<<<
 *         else:
 *             if isinstance(item, slice):
*/
      __pyx_v_have_slices = 1;

      /* "View.MemoryView":685
 *     idx = 0
 *     for item in tup:
 *         if item is Ellipsis:             # <<<<<<<<<<<<<<
 *             if not seen_ellipsis:
 *                 idx += ndim - len(tup)
*/
      goto __pyx_L5;
    }

    /* "View.MemoryView":691
 *             have_slices = True
 *         else:
 *             if isinstance(item, slice):             # <<<<<<<<<<<<<<
 *                 have_slices = True
 *             elif not PyIndex_Check(item):
*/
    /*else*/ {
      __pyx_t_2 = PySlice_Check(__pyx_v_item); 
      if (__pyx_t_2) {

        /* "View.MemoryView":692
 *         else:
 *             if isinstance(item, slice):
 *                 have_slices = True             # <<<<<<<<<<<<<<
 *             elif not PyIndex_Check(item):
 *                 raise TypeError, f"Cannot index with type '{type(item)}'"
*/
        __pyx_v_have_slices = 1;

        /* "View.MemoryView":691
 *             have_slices = True
 *         else:
 *             if isinstance(item, slice):             # <<<<<<<<<<<<<<
 *                 have_slices = True
 *             elif not PyIndex_Check(item):
*/
        goto __pyx_L7;
      }

      /* "View.MemoryView":693
 *             if isinstance(item, slice):
 *                 have_slices = True
 *             elif not PyIndex_Check(item):             # <<<<<<<<<<<<<<
 *                 raise TypeError, f"Cannot index with type '{type(item)}'"
 *             result[idx] = item
*/
      __pyx_t_2 = (!(PyIndex_Check(__pyx_v_item) != 0));
      if (unlikely(__pyx_t_2)) {

        /* "View.MemoryView":694
 *                 have_slices = True
 *             elif not PyIndex_Check(item):
 *                 raise TypeError, f"Cannot index with type '{type(item)}'"             # <<<<<<<<<<<<<<
 *             result[idx] = item
 *         idx += 1
*/
        __pyx_t_3 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_item)), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 694, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_6[0] = __pyx_mstate_global->__pyx_kp_u_Cannot_index_with_type;
        __pyx_t_6[1] = __pyx_t_3;
        __pyx_t_6[2] = __pyx_mstate_global->__pyx_kp_u__4;
        __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, 24 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
        if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 694, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_t_7, 0, 0);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __PYX_ERR(5, 694, __pyx_L1_error)

        /* "View.MemoryView":693
 *             if isinstance(item, slice):
 *                 have_slices = True
 *             elif not PyIndex_Check(item):             # <<<<<<<<<<<<<<
 *                 raise TypeError, f"Cannot index with type '{type(item)}'"
 *             result[idx] = item
*/
      }
      __pyx_L7:;

      /* "View.MemoryView":695
 *             elif not PyIndex_Check(item):
 *                 raise TypeError, f"Cannot index with type '{type(item)}'"
 *             result[idx] = item             # <<<<<<<<<<<<<<
 *         idx += 1
 * 
*/
      if (unlikely((__Pyx_SetItemInt(__pyx_v_result, __pyx_v_idx, __pyx_v_item, Py_ssize_t, 1, PyLong_FromSsize_t, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(5, 695, __pyx_L1_error)
    }
    __pyx_L5:;

    /* "View.MemoryView":696
 *                 raise TypeError, f"Cannot index with type '{type(item)}'"
 *             result[idx] = item
 *         idx += 1             # <<<<<<<<<<<<<<
 * 
 *     nslices = ndim - idx
*/
    __pyx_v_idx = (__pyx_v_idx + 1);

    /* "View.MemoryView":684
 *     seen_ellipsis = False
 *     idx = 0
 *     for item in tup:             # <<<<<<<<<<<<<<
 *         if item is Ellipsis:
 *             if not seen_ellipsis:
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "View.MemoryView":698
 *         idx += 1
 * 
 *     nslices = ndim - idx             # <<<<<<<<<<<<<<
 *     return have_slices or nslices, tuple(result)
 * 
*/
  __pyx_v_nslices = (__pyx_v_ndim - __pyx_v_idx);

  /* "View.MemoryView":699
 * 
 *     nslices = ndim - idx
 *     return have_slices or nslices, tuple(result)             # <<<<<<<<<<<<<<
 * 
 * cdef int assert_direct_dimensions(Py_ssize_t *suboffsets, int ndim) except -1:
*/
  __Pyx_XDECREF(__pyx_r);
  if (!__pyx_v_have_slices) {
  } else {
    __pyx_t_7 = __Pyx_PyBool_FromLong(__pyx_v_have_slices); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 699, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = __pyx_t_7;
    __pyx_t_7 = 0;
    goto __pyx_L9_bool_binop_done;
  }
  __pyx_t_7 = PyLong_FromSsize_t(__pyx_v_nslices); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_1 = __pyx_t_7;
  __pyx_t_7 = 0;
  __pyx_L9_bool_binop_done:;
  __pyx_t_7 = PyList_AsTuple(__pyx_v_result); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 699, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(5, 699, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7) != (0)) __PYX_ERR(5, 699, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_7 = 0;
  __pyx_r = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":672
 *     return isinstance(o, memoryview)
 * 
 * cdef tuple _unellipsify(object index, int ndim):             # <<<<<<<<<<<<<<
 *     """
 *     Replace all ellipses with full slices and fill incomplete indices with
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("View.MemoryView._unellipsify", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_tup);
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF(__pyx_v_item);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":701
 *     return have_slices or nslices, tuple(result)
 * 
 * cdef int assert_direct_dimensions(Py_ssize_t *suboffsets, int ndim) except -1:             # <<<<<<<<<<<<<<
 *     for suboffset in suboffsets[:ndim]:
 *         if suboffset >= 0:
*/

static int assert_direct_dimensions(Py_ssize_t *__pyx_v_suboffsets, int __pyx_v_ndim) {
  Py_ssize_t __pyx_v_suboffset;
  int __pyx_r;
  Py_ssize_t *__pyx_t_1;
  Py_ssize_t *__pyx_t_2;
  Py_ssize_t *__pyx_t_3;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "View.MemoryView":702
 * 
 * cdef int assert_direct_dimensions(Py_ssize_t *suboffsets, int ndim) except -1:
 *     for suboffset in suboffsets[:ndim]:             # <<<<<<<<<<<<<<
 *         if suboffset >= 0:
 *             raise ValueError, "Indirect dimensions not supported"
*/
  __pyx_t_2 = (__pyx_v_suboffsets + __pyx_v_ndim);
  for (__pyx_t_3 = __pyx_v_suboffsets; __pyx_t_3 < __pyx_t_2; __pyx_t_3++) {
    __pyx_t_1 = __pyx_t_3;
    __pyx_v_suboffset = (__pyx_t_1[0]);

    /* "View.MemoryView":703
 * cdef int assert_direct_dimensions(Py_ssize_t *suboffsets, int ndim) except -1:
 *     for suboffset in suboffsets[:ndim]:
 *         if suboffset >= 0:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Indirect dimensions not supported"
 *     return 0  # return type just used as an error flag
*/
    __pyx_t_4 = (__pyx_v_suboffset >= 0);
    if (unlikely(__pyx_t_4)) {

      /* "View.MemoryView":704
 *     for suboffset in suboffsets[:ndim]:
 *         if suboffset >= 0:
 *             raise ValueError, "Indirect dimensions not supported"             # <<<<<<<<<<<<<<
 *     return 0  # return type just used as an error flag
 * 
*/
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_ValueError))), __pyx_mstate_global->__pyx_kp_u_Indirect_dimensions_not_supporte, 0, 0);
      __PYX_ERR(5, 704, __pyx_L1_error)

      /* "View.MemoryView":703
 * cdef int assert_direct_dimensions(Py_ssize_t *suboffsets, int ndim) except -1:
 *     for suboffset in suboffsets[:ndim]:
 *         if suboffset >= 0:             # <<<<<<<<<<<<<<
 *             raise ValueError, "Indirect dimensions not supported"
 *     return 0  # return type just used as an error flag
*/
    }
  }

  /* "View.MemoryView":705
 *         if suboffset >= 0:
 *             raise ValueError, "Indirect dimensions not supported"
 *     return 0  # return type just used as an error flag             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = 0;
  goto __pyx_L0;

  /* "View.MemoryView":701
 *     return have_slices or nslices, tuple(result)
 * 
 * cdef int assert_direct_dimensions(Py_ssize_t *suboffsets, int ndim) except -1:             # <<<<<<<<<<<<<<
 *     for suboffset in suboffsets[:ndim]:
 *         if suboffset >= 0:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView.assert_direct_dimensions", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":711
 * 
 * 
 * @cname('__pyx_memview_slice')             # <<<<<<<<<<<<<<
 * cdef memoryview memview_slice(memoryview memview, object indices):
 *     cdef int new_ndim = 0, suboffset_dim = -1, dim
*/

static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_obj *__pyx_v_memview, PyObject *__pyx_v_indices) {
  int __pyx_v_new_ndim;
  int __pyx_v_suboffset_dim;
  int __pyx_v_dim;
  __Pyx_memviewslice __pyx_v_src;
  __Pyx_memviewslice __pyx_v_dst;
  __Pyx_memviewslice *__pyx_v_p_src;
  struct __pyx_memoryviewslice_obj *__pyx_v_memviewsliceobj = 0;
  __Pyx_memviewslice *__pyx_v_p_dst;
  int *__pyx_v_p_suboffset_dim;
  Py_ssize_t __pyx_v_start;
  Py_ssize_t __pyx_v_stop;
  Py_ssize_t __pyx_v_step;
  Py_ssize_t __pyx_v_cindex;
  int __pyx_v_have_start;
  int __pyx_v_have_stop;
  int __pyx_v_have_step;
  PyObject *__pyx_v_index = NULL;
  struct __pyx_memoryview_obj *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  struct __pyx_memoryview_obj *__pyx_t_3;
  char *__pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *(*__pyx_t_7)(PyObject *);
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  int __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("memview_slice", 0);

  /* "View.MemoryView":713
 * @cname('__pyx_memview_slice')
 * cdef memoryview memview_slice(memoryview memview, object indices):
 *     cdef int new_ndim = 0, suboffset_dim = -1, dim             # <<<<<<<<<<<<<<
 *     cdef bint negative_step
 *     cdef __Pyx_memviewslice src, dst
*/
  __pyx_v_new_ndim = 0;
  __pyx_v_suboffset_dim = -1;

  /* "View.MemoryView":720
 * 
 * 
 *     memset(&dst, 0, sizeof(dst))             # <<<<<<<<<<<<<<
 * 
 *     cdef _memoryviewslice memviewsliceobj
*/
  (void)(memset((&__pyx_v_dst), 0, (sizeof(__pyx_v_dst))));

  /* "View.MemoryView":724
 *     cdef _memoryviewslice memviewsliceobj
 * 
 *     assert memview.view.ndim > 0             # <<<<<<<<<<<<<<
 * 
 *     if isinstance(memview, _memoryviewslice):
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (__pyx_v_memview->view.ndim > 0);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(5, 724, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(5, 724, __pyx_L1_error)
  #endif

  /* "View.MemoryView":726
 *     assert memview.view.ndim > 0
 * 
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         memviewsliceobj = memview
 *         p_src = &memviewsliceobj.from_slice
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_memview), __pyx_mstate_global->__pyx_memoryviewslice_type); 
  if (__pyx_t_1) {

    /* "View.MemoryView":727
 * 
 *     if isinstance(memview, _memoryviewslice):
 *         memviewsliceobj = memview             # <<<<<<<<<<<<<<
 *         p_src = &memviewsliceobj.from_slice
 *     else:
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_memview);
    __Pyx_INCREF(__pyx_t_2);
    if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_memoryviewslice_type))))) __PYX_ERR(5, 727, __pyx_L1_error)
    __pyx_v_memviewsliceobj = ((struct __pyx_memoryviewslice_obj *)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "View.MemoryView":728
 *     if isinstance(memview, _memoryviewslice):
 *         memviewsliceobj = memview
 *         p_src = &memviewsliceobj.from_slice             # <<<<<<<<<<<<<<
 *     else:
 *         slice_copy(memview, &src)
*/
    __pyx_v_p_src = (&__pyx_v_memviewsliceobj->from_slice);

    /* "View.MemoryView":726
 *     assert memview.view.ndim > 0
 * 
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         memviewsliceobj = memview
 *         p_src = &memviewsliceobj.from_slice
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":730
 *         p_src = &memviewsliceobj.from_slice
 *     else:
 *         slice_copy(memview, &src)             # <<<<<<<<<<<<<<
 *         p_src = &src
 * 
*/
  /*else*/ {
    __pyx_memoryview_slice_copy(__pyx_v_memview, (&__pyx_v_src));

    /* "View.MemoryView":731
 *     else:
 *         slice_copy(memview, &src)
 *         p_src = &src             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __pyx_v_p_src = (&__pyx_v_src);
  }
  __pyx_L3:;

  /* "View.MemoryView":737
 * 
 * 
 *     dst.memview = p_src.memview             # <<<<<<<<<<<<<<
 *     dst.data = p_src.data
 * 
*/
  __pyx_t_3 = __pyx_v_p_src->memview;
  __pyx_v_dst.memview = __pyx_t_3;

  /* "View.MemoryView":738
 * 
 *     dst.memview = p_src.memview
 *     dst.data = p_src.data             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_4 = __pyx_v_p_src->data;
  __pyx_v_dst.data = __pyx_t_4;

  /* "View.MemoryView":743
 * 
 * 
 *     cdef __Pyx_memviewslice *p_dst = &dst             # <<<<<<<<<<<<<<
 *     cdef int *p_suboffset_dim = &suboffset_dim
 *     cdef Py_ssize_t start, stop, step, cindex
*/
  __pyx_v_p_dst = (&__pyx_v_dst);

  /* "View.MemoryView":744
 * 
 *     cdef __Pyx_memviewslice *p_dst = &dst
 *     cdef int *p_suboffset_dim = &suboffset_dim             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t start, stop, step, cindex
 *     cdef bint have_start, have_stop, have_step
*/
  __pyx_v_p_suboffset_dim = (&__pyx_v_suboffset_dim);

  /* "View.MemoryView":748
 *     cdef bint have_start, have_stop, have_step
 * 
 *     for dim, index in enumerate(indices):             # <<<<<<<<<<<<<<
 *         if PyIndex_Check(index):
 *             cindex = index
*/
  __pyx_t_5 = 0;
  if (likely(PyList_CheckExact(__pyx_v_indices)) || PyTuple_CheckExact(__pyx_v_indices)) {
    __pyx_t_2 = __pyx_v_indices; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_6 = 0;
    __pyx_t_7 = NULL;
  } else {
    __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_indices); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 748, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 748, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_7)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(5, 748, __pyx_L1_error)
          #endif
          if (__pyx_t_6 >= __pyx_temp) break;
        }
        __pyx_t_8 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_6;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(5, 748, __pyx_L1_error)
          #endif
          if (__pyx_t_6 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_8 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6));
        #else
        __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_6);
        #endif
        ++__pyx_t_6;
      }
      if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 748, __pyx_L1_error)
    } else {
      __pyx_t_8 = __pyx_t_7(__pyx_t_2);
      if (unlikely(!__pyx_t_8)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(5, 748, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_XDECREF_SET(__pyx_v_index, __pyx_t_8);
    __pyx_t_8 = 0;
    __pyx_v_dim = __pyx_t_5;
    __pyx_t_5 = (__pyx_t_5 + 1);

    /* "View.MemoryView":749
 * 
 *     for dim, index in enumerate(indices):
 *         if PyIndex_Check(index):             # <<<<<<<<<<<<<<
 *             cindex = index
 *             slice_memviewslice(
*/
    __pyx_t_1 = (PyIndex_Check(__pyx_v_index) != 0);
    if (__pyx_t_1) {

      /* "View.MemoryView":750
 *     for dim, index in enumerate(indices):
 *         if PyIndex_Check(index):
 *             cindex = index             # <<<<<<<<<<<<<<
 *             slice_memviewslice(
 *                 p_dst, p_src.shape[dim], p_src.strides[dim], p_src.suboffsets[dim],
*/
      __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_index); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(5, 750, __pyx_L1_error)
      __pyx_v_cindex = __pyx_t_9;

      /* "View.MemoryView":751
 *         if PyIndex_Check(index):
 *             cindex = index
 *             slice_memviewslice(             # <<<<<<<<<<<<<<
 *                 p_dst, p_src.shape[dim], p_src.strides[dim], p_src.suboffsets[dim],
 *                 dim, new_ndim, p_suboffset_dim,
*/
      __pyx_t_10 = __pyx_memoryview_slice_memviewslice(__pyx_v_p_dst, (__pyx_v_p_src->shape[__pyx_v_dim]), (__pyx_v_p_src->strides[__pyx_v_dim]), (__pyx_v_p_src->suboffsets[__pyx_v_dim]), __pyx_v_dim, __pyx_v_new_ndim, __pyx_v_p_suboffset_dim, __pyx_v_cindex, 0, 0, 0, 0, 0, 0); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(5, 751, __pyx_L1_error)

      /* "View.MemoryView":749
 * 
 *     for dim, index in enumerate(indices):
 *         if PyIndex_Check(index):             # <<<<<<<<<<<<<<
 *             cindex = index
 *             slice_memviewslice(
*/
      goto __pyx_L6;
    }

    /* "View.MemoryView":757
 *                 0, 0, 0, # have_{start,stop,step}
 *                 False)
 *         elif index is None:             # <<<<<<<<<<<<<<
 *             p_dst.shape[new_ndim] = 1
 *             p_dst.strides[new_ndim] = 0
*/
    __pyx_t_1 = (__pyx_v_index == Py_None);
    if (__pyx_t_1) {

      /* "View.MemoryView":758
 *                 False)
 *         elif index is None:
 *             p_dst.shape[new_ndim] = 1             # <<<<<<<<<<<<<<
 *             p_dst.strides[new_ndim] = 0
 *             p_dst.suboffsets[new_ndim] = -1
*/
      (__pyx_v_p_dst->shape[__pyx_v_new_ndim]) = 1;

      /* "View.MemoryView":759
 *         elif index is None:
 *             p_dst.shape[new_ndim] = 1
 *             p_dst.strides[new_ndim] = 0             # <<<<<<<<<<<<<<
 *             p_dst.suboffsets[new_ndim] = -1
 *             new_ndim += 1
*/
      (__pyx_v_p_dst->strides[__pyx_v_new_ndim]) = 0;

      /* "View.MemoryView":760
 *             p_dst.shape[new_ndim] = 1
 *             p_dst.strides[new_ndim] = 0
 *             p_dst.suboffsets[new_ndim] = -1             # <<<<<<<<<<<<<<
 *             new_ndim += 1
 *         else:
*/
      (__pyx_v_p_dst->suboffsets[__pyx_v_new_ndim]) = -1L;

      /* "View.MemoryView":761
 *             p_dst.strides[new_ndim] = 0
 *             p_dst.suboffsets[new_ndim] = -1
 *             new_ndim += 1             # <<<<<<<<<<<<<<
 *         else:
 *             start = index.start or 0
*/
      __pyx_v_new_ndim = (__pyx_v_new_ndim + 1);

      /* "View.MemoryView":757
 *                 0, 0, 0, # have_{start,stop,step}
 *                 False)
 *         elif index is None:             # <<<<<<<<<<<<<<
 *             p_dst.shape[new_ndim] = 1
 *             p_dst.strides[new_ndim] = 0
*/
      goto __pyx_L6;
    }

    /* "View.MemoryView":763
 *             new_ndim += 1
 *         else:
 *             start = index.start or 0             # <<<<<<<<<<<<<<
 *             stop = index.stop or 0
 *             step = index.step or 0
*/
    /*else*/ {
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_mstate_global->__pyx_n_u_start); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 763, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(5, 763, __pyx_L1_error)
      if (!__pyx_t_1) {
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else {
        __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_t_8); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(5, 763, __pyx_L1_error)
        __pyx_t_9 = __pyx_t_11;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L7_bool_binop_done;
      }
      __pyx_t_9 = 0;
      __pyx_L7_bool_binop_done:;
      __pyx_v_start = __pyx_t_9;

      /* "View.MemoryView":764
 *         else:
 *             start = index.start or 0
 *             stop = index.stop or 0             # <<<<<<<<<<<<<<
 *             step = index.step or 0
 * 
*/
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_mstate_global->__pyx_n_u_stop); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 764, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(5, 764, __pyx_L1_error)
      if (!__pyx_t_1) {
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else {
        __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_t_8); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(5, 764, __pyx_L1_error)
        __pyx_t_9 = __pyx_t_11;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L9_bool_binop_done;
      }
      __pyx_t_9 = 0;
      __pyx_L9_bool_binop_done:;
      __pyx_v_stop = __pyx_t_9;

      /* "View.MemoryView":765
 *             start = index.start or 0
 *             stop = index.stop or 0
 *             step = index.step or 0             # <<<<<<<<<<<<<<
 * 
 *             have_start = index.start is not None
*/
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_mstate_global->__pyx_n_u_step); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 765, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(5, 765, __pyx_L1_error)
      if (!__pyx_t_1) {
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      } else {
        __pyx_t_11 = __Pyx_PyIndex_AsSsize_t(__pyx_t_8); if (unlikely((__pyx_t_11 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(5, 765, __pyx_L1_error)
        __pyx_t_9 = __pyx_t_11;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        goto __pyx_L11_bool_binop_done;
      }
      __pyx_t_9 = 0;
      __pyx_L11_bool_binop_done:;
      __pyx_v_step = __pyx_t_9;

      /* "View.MemoryView":767
 *             step = index.step or 0
 * 
 *             have_start = index.start is not None             # <<<<<<<<<<<<<<
 *             have_stop = index.stop is not None
 *             have_step = index.step is not None
*/
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_mstate_global->__pyx_n_u_start); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 767, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = (__pyx_t_8 != Py_None);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_v_have_start = __pyx_t_1;

      /* "View.MemoryView":768
 * 
 *             have_start = index.start is not None
 *             have_stop = index.stop is not None             # <<<<<<<<<<<<<<
 *             have_step = index.step is not None
 * 
*/
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_mstate_global->__pyx_n_u_stop); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 768, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = (__pyx_t_8 != Py_None);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_v_have_stop = __pyx_t_1;

      /* "View.MemoryView":769
 *             have_start = index.start is not None
 *             have_stop = index.stop is not None
 *             have_step = index.step is not None             # <<<<<<<<<<<<<<
 * 
 *             slice_memviewslice(
*/
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_mstate_global->__pyx_n_u_step); if (unlikely(!__pyx_t_8)) __PYX_ERR(5, 769, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_1 = (__pyx_t_8 != Py_None);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_v_have_step = __pyx_t_1;

      /* "View.MemoryView":771
 *             have_step = index.step is not None
 * 
 *             slice_memviewslice(             # <<<<<<<<<<<<<<
 *                 p_dst, p_src.shape[dim], p_src.strides[dim], p_src.suboffsets[dim],
 *                 dim, new_ndim, p_suboffset_dim,
*/
      __pyx_t_10 = __pyx_memoryview_slice_memviewslice(__pyx_v_p_dst, (__pyx_v_p_src->shape[__pyx_v_dim]), (__pyx_v_p_src->strides[__pyx_v_dim]), (__pyx_v_p_src->suboffsets[__pyx_v_dim]), __pyx_v_dim, __pyx_v_new_ndim, __pyx_v_p_suboffset_dim, __pyx_v_start, __pyx_v_stop, __pyx_v_step, __pyx_v_have_start, __pyx_v_have_stop, __pyx_v_have_step, 1); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(5, 771, __pyx_L1_error)

      /* "View.MemoryView":777
 *                 have_start, have_stop, have_step,
 *                 True)
 *             new_ndim += 1             # <<<<<<<<<<<<<<
 * 
 *     if isinstance(memview, _memoryviewslice):
*/
      __pyx_v_new_ndim = (__pyx_v_new_ndim + 1);
    }
    __pyx_L6:;

    /* "View.MemoryView":748
 *     cdef bint have_start, have_stop, have_step
 * 
 *     for dim, index in enumerate(indices):             # <<<<<<<<<<<<<<
 *         if PyIndex_Check(index):
 *             cindex = index
*/
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "View.MemoryView":779
 *             new_ndim += 1
 * 
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         return memoryview_fromslice(dst, new_ndim,
 *                                     memviewsliceobj.to_object_func,
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_memview), __pyx_mstate_global->__pyx_memoryviewslice_type); 
  if (__pyx_t_1) {

    /* "View.MemoryView":780
 * 
 *     if isinstance(memview, _memoryviewslice):
 *         return memoryview_fromslice(dst, new_ndim,             # <<<<<<<<<<<<<<
 *                                     memviewsliceobj.to_object_func,
 *                                     memviewsliceobj.to_dtype_func,
*/
    __Pyx_XDECREF((PyObject *)__pyx_r);

    /* "View.MemoryView":781
 *     if isinstance(memview, _memoryviewslice):
 *         return memoryview_fromslice(dst, new_ndim,
 *                                     memviewsliceobj.to_object_func,             # <<<<<<<<<<<<<<
 *                                     memviewsliceobj.to_dtype_func,
 *                                     memview.dtype_is_object)
*/
    if (unlikely(!__pyx_v_memviewsliceobj)) { __Pyx_RaiseUnboundLocalError("memviewsliceobj"); __PYX_ERR(5, 781, __pyx_L1_error) }

    /* "View.MemoryView":782
 *         return memoryview_fromslice(dst, new_ndim,
 *                                     memviewsliceobj.to_object_func,
 *                                     memviewsliceobj.to_dtype_func,             # <<<<<<<<<<<<<<
 *                                     memview.dtype_is_object)
 *     else:
*/
    if (unlikely(!__pyx_v_memviewsliceobj)) { __Pyx_RaiseUnboundLocalError("memviewsliceobj"); __PYX_ERR(5, 782, __pyx_L1_error) }

    /* "View.MemoryView":780
 * 
 *     if isinstance(memview, _memoryviewslice):
 *         return memoryview_fromslice(dst, new_ndim,             # <<<<<<<<<<<<<<
 *                                     memviewsliceobj.to_object_func,
 *                                     memviewsliceobj.to_dtype_func,
*/
    __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_dst, __pyx_v_new_ndim, __pyx_v_memviewsliceobj->to_object_func, __pyx_v_memviewsliceobj->to_dtype_func, __pyx_v_memview->dtype_is_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_memoryview_type))))) __PYX_ERR(5, 780, __pyx_L1_error)
    __pyx_r = ((struct __pyx_memoryview_obj *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "View.MemoryView":779
 *             new_ndim += 1
 * 
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         return memoryview_fromslice(dst, new_ndim,
 *                                     memviewsliceobj.to_object_func,
*/
  }

  /* "View.MemoryView":785
 *                                     memview.dtype_is_object)
 *     else:
 *         return memoryview_fromslice(dst, new_ndim, NULL, NULL,             # <<<<<<<<<<<<<<
 *                                     memview.dtype_is_object)
 * 
*/
  /*else*/ {
    __Pyx_XDECREF((PyObject *)__pyx_r);

    /* "View.MemoryView":786
 *     else:
 *         return memoryview_fromslice(dst, new_ndim, NULL, NULL,
 *                                     memview.dtype_is_object)             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_dst, __pyx_v_new_ndim, NULL, NULL, __pyx_v_memview->dtype_is_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 785, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);

    /* "View.MemoryView":785
 *                                     memview.dtype_is_object)
 *     else:
 *         return memoryview_fromslice(dst, new_ndim, NULL, NULL,             # <<<<<<<<<<<<<<
 *                                     memview.dtype_is_object)
 * 
*/
    if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_memoryview_type))))) __PYX_ERR(5, 785, __pyx_L1_error)
    __pyx_r = ((struct __pyx_memoryview_obj *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }

  /* "View.MemoryView":711
 * 
 * 
 * @cname('__pyx_memview_slice')             # <<<<<<<<<<<<<<
 * cdef memoryview memview_slice(memoryview memview, object indices):
 *     cdef int new_ndim = 0, suboffset_dim = -1, dim
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("View.MemoryView.memview_slice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_memviewsliceobj);
  __Pyx_XDECREF(__pyx_v_index);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":793
 * 
 * 
 * @cname('__pyx_memoryview_slice_memviewslice')             # <<<<<<<<<<<<<<
 * cdef int slice_memviewslice(
 *         __Pyx_memviewslice *dst,
*/

static int __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice *__pyx_v_dst, Py_ssize_t __pyx_v_shape, Py_ssize_t __pyx_v_stride, Py_ssize_t __pyx_v_suboffset, int __pyx_v_dim, int __pyx_v_new_ndim, int *__pyx_v_suboffset_dim, Py_ssize_t __pyx_v_start, Py_ssize_t __pyx_v_stop, Py_ssize_t __pyx_v_step, int __pyx_v_have_start, int __pyx_v_have_stop, int __pyx_v_have_step, int __pyx_v_is_slice) {
  Py_ssize_t __pyx_v_new_shape;
  int __pyx_v_negative_step;
  int __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save;

  /* "View.MemoryView":814
 *     cdef bint negative_step
 * 
 *     if not is_slice:             # <<<<<<<<<<<<<<
 * 
 *         if start < 0:
*/
  __pyx_t_1 = (!__pyx_v_is_slice);
  if (__pyx_t_1) {

    /* "View.MemoryView":816
 *     if not is_slice:
 * 
 *         if start < 0:             # <<<<<<<<<<<<<<
 *             start += shape
 *         if not 0 <= start < shape:
*/
    __pyx_t_1 = (__pyx_v_start < 0);
    if (__pyx_t_1) {

      /* "View.MemoryView":817
 * 
 *         if start < 0:
 *             start += shape             # <<<<<<<<<<<<<<
 *         if not 0 <= start < shape:
 *             _err_dim(PyExc_IndexError, "Index out of bounds (axis %d)", dim)
*/
      __pyx_v_start = (__pyx_v_start + __pyx_v_shape);

      /* "View.MemoryView":816
 *     if not is_slice:
 * 
 *         if start < 0:             # <<<<<<<<<<<<<<
 *             start += shape
 *         if not 0 <= start < shape:
*/
    }

    /* "View.MemoryView":818
 *         if start < 0:
 *             start += shape
 *         if not 0 <= start < shape:             # <<<<<<<<<<<<<<
 *             _err_dim(PyExc_IndexError, "Index out of bounds (axis %d)", dim)
 *     else:
*/
    __pyx_t_1 = (0 <= __pyx_v_start);
    if (__pyx_t_1) {
      __pyx_t_1 = (__pyx_v_start < __pyx_v_shape);
    }
    __pyx_t_2 = (!__pyx_t_1);
    if (__pyx_t_2) {

      /* "View.MemoryView":819
 *             start += shape
 *         if not 0 <= start < shape:
 *             _err_dim(PyExc_IndexError, "Index out of bounds (axis %d)", dim)             # <<<<<<<<<<<<<<
 *     else:
 * 
*/
      __pyx_t_3 = __pyx_memoryview_err_dim(PyExc_IndexError, __pyx_mstate_global->__pyx_kp_u_Index_out_of_bounds_axis_d, __pyx_v_dim); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(5, 819, __pyx_L1_error)

      /* "View.MemoryView":818
 *         if start < 0:
 *             start += shape
 *         if not 0 <= start < shape:             # <<<<<<<<<<<<<<
 *             _err_dim(PyExc_IndexError, "Index out of bounds (axis %d)", dim)
 *     else:
*/
    }

    /* "View.MemoryView":814
 *     cdef bint negative_step
 * 
 *     if not is_slice:             # <<<<<<<<<<<<<<
 * 
 *         if start < 0:
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":822
 *     else:
 * 
 *         if have_step:             # <<<<<<<<<<<<<<
 *             negative_step = step < 0
 *             if step == 0:
*/
  /*else*/ {
    __pyx_t_2 = (__pyx_v_have_step != 0);
    if (__pyx_t_2) {

      /* "View.MemoryView":823
 * 
 *         if have_step:
 *             negative_step = step < 0             # <<<<<<<<<<<<<<
 *             if step == 0:
 *                 _err_dim(PyExc_ValueError, "Step may not be zero (axis %d)", dim)
*/
      __pyx_v_negative_step = (__pyx_v_step < 0);

      /* "View.MemoryView":824
 *         if have_step:
 *             negative_step = step < 0
 *             if step == 0:             # <<<<<<<<<<<<<<
 *                 _err_dim(PyExc_ValueError, "Step may not be zero (axis %d)", dim)
 *         else:
*/
      __pyx_t_2 = (__pyx_v_step == 0);
      if (__pyx_t_2) {

        /* "View.MemoryView":825
 *             negative_step = step < 0
 *             if step == 0:
 *                 _err_dim(PyExc_ValueError, "Step may not be zero (axis %d)", dim)             # <<<<<<<<<<<<<<
 *         else:
 *             negative_step = False
*/
        __pyx_t_3 = __pyx_memoryview_err_dim(PyExc_ValueError, __pyx_mstate_global->__pyx_kp_u_Step_may_not_be_zero_axis_d, __pyx_v_dim); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(5, 825, __pyx_L1_error)

        /* "View.MemoryView":824
 *         if have_step:
 *             negative_step = step < 0
 *             if step == 0:             # <<<<<<<<<<<<<<
 *                 _err_dim(PyExc_ValueError, "Step may not be zero (axis %d)", dim)
 *         else:
*/
      }

      /* "View.MemoryView":822
 *     else:
 * 
 *         if have_step:             # <<<<<<<<<<<<<<
 *             negative_step = step < 0
 *             if step == 0:
*/
      goto __pyx_L6;
    }

    /* "View.MemoryView":827
 *                 _err_dim(PyExc_ValueError, "Step may not be zero (axis %d)", dim)
 *         else:
 *             negative_step = False             # <<<<<<<<<<<<<<
 *             step = 1
 * 
*/
    /*else*/ {
      __pyx_v_negative_step = 0;

      /* "View.MemoryView":828
 *         else:
 *             negative_step = False
 *             step = 1             # <<<<<<<<<<<<<<
 * 
 * 
*/
      __pyx_v_step = 1;
    }
    __pyx_L6:;

    /* "View.MemoryView":831
 * 
 * 
 *         if have_start:             # <<<<<<<<<<<<<<
 *             if start < 0:
 *                 start += shape
*/
    __pyx_t_2 = (__pyx_v_have_start != 0);
    if (__pyx_t_2) {

      /* "View.MemoryView":832
 * 
 *         if have_start:
 *             if start < 0:             # <<<<<<<<<<<<<<
 *                 start += shape
 *                 if start < 0:
*/
      __pyx_t_2 = (__pyx_v_start < 0);
      if (__pyx_t_2) {

        /* "View.MemoryView":833
 *         if have_start:
 *             if start < 0:
 *                 start += shape             # <<<<<<<<<<<<<<
 *                 if start < 0:
 *                     start = 0
*/
        __pyx_v_start = (__pyx_v_start + __pyx_v_shape);

        /* "View.MemoryView":834
 *             if start < 0:
 *                 start += shape
 *                 if start < 0:             # <<<<<<<<<<<<<<
 *                     start = 0
 *             elif start >= shape:
*/
        __pyx_t_2 = (__pyx_v_start < 0);
        if (__pyx_t_2) {

          /* "View.MemoryView":835
 *                 start += shape
 *                 if start < 0:
 *                     start = 0             # <<<<<<<<<<<<<<
 *             elif start >= shape:
 *                 if negative_step:
*/
          __pyx_v_start = 0;

          /* "View.MemoryView":834
 *             if start < 0:
 *                 start += shape
 *                 if start < 0:             # <<<<<<<<<<<<<<
 *                     start = 0
 *             elif start >= shape:
*/
        }

        /* "View.MemoryView":832
 * 
 *         if have_start:
 *             if start < 0:             # <<<<<<<<<<<<<<
 *                 start += shape
 *                 if start < 0:
*/
        goto __pyx_L9;
      }

      /* "View.MemoryView":836
 *                 if start < 0:
 *                     start = 0
 *             elif start >= shape:             # <<<<<<<<<<<<<<
 *                 if negative_step:
 *                     start = shape - 1
*/
      __pyx_t_2 = (__pyx_v_start >= __pyx_v_shape);
      if (__pyx_t_2) {

        /* "View.MemoryView":837
 *                     start = 0
 *             elif start >= shape:
 *                 if negative_step:             # <<<<<<<<<<<<<<
 *                     start = shape - 1
 *                 else:
*/
        if (__pyx_v_negative_step) {

          /* "View.MemoryView":838
 *             elif start >= shape:
 *                 if negative_step:
 *                     start = shape - 1             # <<<<<<<<<<<<<<
 *                 else:
 *                     start = shape
*/
          __pyx_v_start = (__pyx_v_shape - 1);

          /* "View.MemoryView":837
 *                     start = 0
 *             elif start >= shape:
 *                 if negative_step:             # <<<<<<<<<<<<<<
 *                     start = shape - 1
 *                 else:
*/
          goto __pyx_L11;
        }

        /* "View.MemoryView":840
 *                     start = shape - 1
 *                 else:
 *                     start = shape             # <<<<<<<<<<<<<<
 *         else:
 *             if negative_step:
*/
        /*else*/ {
          __pyx_v_start = __pyx_v_shape;
        }
        __pyx_L11:;

        /* "View.MemoryView":836
 *                 if start < 0:
 *                     start = 0
 *             elif start >= shape:             # <<<<<<<<<<<<<<
 *                 if negative_step:
 *                     start = shape - 1
*/
      }
      __pyx_L9:;

      /* "View.MemoryView":831
 * 
 * 
 *         if have_start:             # <<<<<<<<<<<<<<
 *             if start < 0:
 *                 start += shape
*/
      goto __pyx_L8;
    }

    /* "View.MemoryView":842
 *                     start = shape
 *         else:
 *             if negative_step:             # <<<<<<<<<<<<<<
 *                 start = shape - 1
 *             else:
*/
    /*else*/ {
      if (__pyx_v_negative_step) {

        /* "View.MemoryView":843
 *         else:
 *             if negative_step:
 *                 start = shape - 1             # <<<<<<<<<<<<<<
 *             else:
 *                 start = 0
*/
        __pyx_v_start = (__pyx_v_shape - 1);

        /* "View.MemoryView":842
 *                     start = shape
 *         else:
 *             if negative_step:             # <<<<<<<<<<<<<<
 *                 start = shape - 1
 *             else:
*/
        goto __pyx_L12;
      }

      /* "View.MemoryView":845
 *                 start = shape - 1
 *             else:
 *                 start = 0             # <<<<<<<<<<<<<<
 * 
 *         if have_stop:
*/
      /*else*/ {
        __pyx_v_start = 0;
      }
      __pyx_L12:;
    }
    __pyx_L8:;

    /* "View.MemoryView":847
 *                 start = 0
 * 
 *         if have_stop:             # <<<<<<<<<<<<<<
 *             if stop < 0:
 *                 stop += shape
*/
    __pyx_t_2 = (__pyx_v_have_stop != 0);
    if (__pyx_t_2) {

      /* "View.MemoryView":848
 * 
 *         if have_stop:
 *             if stop < 0:             # <<<<<<<<<<<<<<
 *                 stop += shape
 *                 if stop < 0:
*/
      __pyx_t_2 = (__pyx_v_stop < 0);
      if (__pyx_t_2) {

        /* "View.MemoryView":849
 *         if have_stop:
 *             if stop < 0:
 *                 stop += shape             # <<<<<<<<<<<<<<
 *                 if stop < 0:
 *                     stop = 0
*/
        __pyx_v_stop = (__pyx_v_stop + __pyx_v_shape);

        /* "View.MemoryView":850
 *             if stop < 0:
 *                 stop += shape
 *                 if stop < 0:             # <<<<<<<<<<<<<<
 *                     stop = 0
 *             elif stop > shape:
*/
        __pyx_t_2 = (__pyx_v_stop < 0);
        if (__pyx_t_2) {

          /* "View.MemoryView":851
 *                 stop += shape
 *                 if stop < 0:
 *                     stop = 0             # <<<<<<<<<<<<<<
 *             elif stop > shape:
 *                 stop = shape
*/
          __pyx_v_stop = 0;

          /* "View.MemoryView":850
 *             if stop < 0:
 *                 stop += shape
 *                 if stop < 0:             # <<<<<<<<<<<<<<
 *                     stop = 0
 *             elif stop > shape:
*/
        }

        /* "View.MemoryView":848
 * 
 *         if have_stop:
 *             if stop < 0:             # <<<<<<<<<<<<<<
 *                 stop += shape
 *                 if stop < 0:
*/
        goto __pyx_L14;
      }

      /* "View.MemoryView":852
 *                 if stop < 0:
 *                     stop = 0
 *             elif stop > shape:             # <<<<<<<<<<<<<<
 *                 stop = shape
 *         else:
*/
      __pyx_t_2 = (__pyx_v_stop > __pyx_v_shape);
      if (__pyx_t_2) {

        /* "View.MemoryView":853
 *                     stop = 0
 *             elif stop > shape:
 *                 stop = shape             # <<<<<<<<<<<<<<
 *         else:
 *             if negative_step:
*/
        __pyx_v_stop = __pyx_v_shape;

        /* "View.MemoryView":852
 *                 if stop < 0:
 *                     stop = 0
 *             elif stop > shape:             # <<<<<<<<<<<<<<
 *                 stop = shape
 *         else:
*/
      }
      __pyx_L14:;

      /* "View.MemoryView":847
 *                 start = 0
 * 
 *         if have_stop:             # <<<<<<<<<<<<<<
 *             if stop < 0:
 *                 stop += shape
*/
      goto __pyx_L13;
    }

    /* "View.MemoryView":855
 *                 stop = shape
 *         else:
 *             if negative_step:             # <<<<<<<<<<<<<<
 *                 stop = -1
 *             else:
*/
    /*else*/ {
      if (__pyx_v_negative_step) {

        /* "View.MemoryView":856
 *         else:
 *             if negative_step:
 *                 stop = -1             # <<<<<<<<<<<<<<
 *             else:
 *                 stop = shape
*/
        __pyx_v_stop = -1L;

        /* "View.MemoryView":855
 *                 stop = shape
 *         else:
 *             if negative_step:             # <<<<<<<<<<<<<<
 *                 stop = -1
 *             else:
*/
        goto __pyx_L16;
      }

      /* "View.MemoryView":858
 *                 stop = -1
 *             else:
 *                 stop = shape             # <<<<<<<<<<<<<<
 * 
 * 
*/
      /*else*/ {
        __pyx_v_stop = __pyx_v_shape;
      }
      __pyx_L16:;
    }
    __pyx_L13:;

    /* "View.MemoryView":862
 * 
 *         with cython.cdivision(True):
 *             new_shape = (stop - start) // step             # <<<<<<<<<<<<<<
 * 
 *             if (stop - start) - step * new_shape:
*/
    __pyx_v_new_shape = ((__pyx_v_stop - __pyx_v_start) / __pyx_v_step);

    /* "View.MemoryView":864
 *             new_shape = (stop - start) // step
 * 
 *             if (stop - start) - step * new_shape:             # <<<<<<<<<<<<<<
 *                 new_shape += 1
 * 
*/
    __pyx_t_2 = (((__pyx_v_stop - __pyx_v_start) - (__pyx_v_step * __pyx_v_new_shape)) != 0);
    if (__pyx_t_2) {

      /* "View.MemoryView":865
 * 
 *             if (stop - start) - step * new_shape:
 *                 new_shape += 1             # <<<<<<<<<<<<<<
 * 
 *         if new_shape < 0:
*/
      __pyx_v_new_shape = (__pyx_v_new_shape + 1);

      /* "View.MemoryView":864
 *             new_shape = (stop - start) // step
 * 
 *             if (stop - start) - step * new_shape:             # <<<<<<<<<<<<<<
 *                 new_shape += 1
 * 
*/
    }

    /* "View.MemoryView":867
 *                 new_shape += 1
 * 
 *         if new_shape < 0:             # <<<<<<<<<<<<<<
 *             new_shape = 0
 * 
*/
    __pyx_t_2 = (__pyx_v_new_shape < 0);
    if (__pyx_t_2) {

      /* "View.MemoryView":868
 * 
 *         if new_shape < 0:
 *             new_shape = 0             # <<<<<<<<<<<<<<
 * 
 * 
*/
      __pyx_v_new_shape = 0;

      /* "View.MemoryView":867
 *                 new_shape += 1
 * 
 *         if new_shape < 0:             # <<<<<<<<<<<<<<
 *             new_shape = 0
 * 
*/
    }

    /* "View.MemoryView":871
 * 
 * 
 *         dst.strides[new_ndim] = stride * step             # <<<<<<<<<<<<<<
 *         dst.shape[new_ndim] = new_shape
 *         dst.suboffsets[new_ndim] = suboffset
*/
    (__pyx_v_dst->strides[__pyx_v_new_ndim]) = (__pyx_v_stride * __pyx_v_step);

    /* "View.MemoryView":872
 * 
 *         dst.strides[new_ndim] = stride * step
 *         dst.shape[new_ndim] = new_shape             # <<<<<<<<<<<<<<
 *         dst.suboffsets[new_ndim] = suboffset
 * 
*/
    (__pyx_v_dst->shape[__pyx_v_new_ndim]) = __pyx_v_new_shape;

    /* "View.MemoryView":873
 *         dst.strides[new_ndim] = stride * step
 *         dst.shape[new_ndim] = new_shape
 *         dst.suboffsets[new_ndim] = suboffset             # <<<<<<<<<<<<<<
 * 
 * 
*/
    (__pyx_v_dst->suboffsets[__pyx_v_new_ndim]) = __pyx_v_suboffset;
  }
  __pyx_L3:;

  /* "View.MemoryView":876
 * 
 * 
 *     if suboffset_dim[0] < 0:             # <<<<<<<<<<<<<<
 *         dst.data += start * stride
 *     else:
*/
  __pyx_t_2 = ((__pyx_v_suboffset_dim[0]) < 0);
  if (__pyx_t_2) {

    /* "View.MemoryView":877
 * 
 *     if suboffset_dim[0] < 0:
 *         dst.data += start * stride             # <<<<<<<<<<<<<<
 *     else:
 *         dst.suboffsets[suboffset_dim[0]] += start * stride
*/
    __pyx_v_dst->data = (__pyx_v_dst->data + (__pyx_v_start * __pyx_v_stride));

    /* "View.MemoryView":876
 * 
 * 
 *     if suboffset_dim[0] < 0:             # <<<<<<<<<<<<<<
 *         dst.data += start * stride
 *     else:
*/
    goto __pyx_L19;
  }

  /* "View.MemoryView":879
 *         dst.data += start * stride
 *     else:
 *         dst.suboffsets[suboffset_dim[0]] += start * stride             # <<<<<<<<<<<<<<
 * 
 *     if suboffset >= 0:
*/
  /*else*/ {
    __pyx_t_3 = (__pyx_v_suboffset_dim[0]);
    (__pyx_v_dst->suboffsets[__pyx_t_3]) = ((__pyx_v_dst->suboffsets[__pyx_t_3]) + (__pyx_v_start * __pyx_v_stride));
  }
  __pyx_L19:;

  /* "View.MemoryView":881
 *         dst.suboffsets[suboffset_dim[0]] += start * stride
 * 
 *     if suboffset >= 0:             # <<<<<<<<<<<<<<
 *         if not is_slice:
 *             if new_ndim == 0:
*/
  __pyx_t_2 = (__pyx_v_suboffset >= 0);
  if (__pyx_t_2) {

    /* "View.MemoryView":882
 * 
 *     if suboffset >= 0:
 *         if not is_slice:             # <<<<<<<<<<<<<<
 *             if new_ndim == 0:
 *                 dst.data = (<char **> dst.data)[0] + suboffset
*/
    __pyx_t_2 = (!__pyx_v_is_slice);
    if (__pyx_t_2) {

      /* "View.MemoryView":883
 *     if suboffset >= 0:
 *         if not is_slice:
 *             if new_ndim == 0:             # <<<<<<<<<<<<<<
 *                 dst.data = (<char **> dst.data)[0] + suboffset
 *             else:
*/
      __pyx_t_2 = (__pyx_v_new_ndim == 0);
      if (__pyx_t_2) {

        /* "View.MemoryView":884
 *         if not is_slice:
 *             if new_ndim == 0:
 *                 dst.data = (<char **> dst.data)[0] + suboffset             # <<<<<<<<<<<<<<
 *             else:
 *                 _err_dim(PyExc_IndexError, "All dimensions preceding dimension %d "
*/
        __pyx_v_dst->data = ((((char **)__pyx_v_dst->data)[0]) + __pyx_v_suboffset);

        /* "View.MemoryView":883
 *     if suboffset >= 0:
 *         if not is_slice:
 *             if new_ndim == 0:             # <<<<<<<<<<<<<<
 *                 dst.data = (<char **> dst.data)[0] + suboffset
 *             else:
*/
        goto __pyx_L22;
      }

      /* "View.MemoryView":886
 *                 dst.data = (<char **> dst.data)[0] + suboffset
 *             else:
 *                 _err_dim(PyExc_IndexError, "All dimensions preceding dimension %d "             # <<<<<<<<<<<<<<
 *                                      "must be indexed and not sliced", dim)
 *         else:
*/
      /*else*/ {

        /* "View.MemoryView":887
 *             else:
 *                 _err_dim(PyExc_IndexError, "All dimensions preceding dimension %d "
 *                                      "must be indexed and not sliced", dim)             # <<<<<<<<<<<<<<
 *         else:
 *             suboffset_dim[0] = new_ndim
*/
        __pyx_t_3 = __pyx_memoryview_err_dim(PyExc_IndexError, __pyx_mstate_global->__pyx_kp_u_All_dimensions_preceding_dimensi, __pyx_v_dim); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(5, 886, __pyx_L1_error)
      }
      __pyx_L22:;

      /* "View.MemoryView":882
 * 
 *     if suboffset >= 0:
 *         if not is_slice:             # <<<<<<<<<<<<<<
 *             if new_ndim == 0:
 *                 dst.data = (<char **> dst.data)[0] + suboffset
*/
      goto __pyx_L21;
    }

    /* "View.MemoryView":889
 *                                      "must be indexed and not sliced", dim)
 *         else:
 *             suboffset_dim[0] = new_ndim             # <<<<<<<<<<<<<<
 * 
 *     return 0
*/
    /*else*/ {
      (__pyx_v_suboffset_dim[0]) = __pyx_v_new_ndim;
    }
    __pyx_L21:;

    /* "View.MemoryView":881
 *         dst.suboffsets[suboffset_dim[0]] += start * stride
 * 
 *     if suboffset >= 0:             # <<<<<<<<<<<<<<
 *         if not is_slice:
 *             if new_ndim == 0:
*/
  }

  /* "View.MemoryView":891
 *             suboffset_dim[0] = new_ndim
 * 
 *     return 0             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = 0;
  goto __pyx_L0;

  /* "View.MemoryView":793
 * 
 * 
 * @cname('__pyx_memoryview_slice_memviewslice')             # <<<<<<<<<<<<<<
 * cdef int slice_memviewslice(
 *         __Pyx_memviewslice *dst,
*/

  /* function exit code */
  __pyx_L1_error:;
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_AddTraceback("View.MemoryView.slice_memviewslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":896
 * 
 * 
 * @cname('__pyx_pybuffer_index')             # <<<<<<<<<<<<<<
 * cdef char *pybuffer_index(Py_buffer *view, char *bufp, Py_ssize_t index,
 *                           Py_ssize_t dim) except NULL:
*/

static char *__pyx_pybuffer_index(Py_buffer *__pyx_v_view, char *__pyx_v_bufp, Py_ssize_t __pyx_v_index, Py_ssize_t __pyx_v_dim) {
  Py_ssize_t __pyx_v_shape;
  Py_ssize_t __pyx_v_stride;
  Py_ssize_t __pyx_v_suboffset;
  Py_ssize_t __pyx_v_itemsize;
  char *__pyx_v_resultp;
  char *__pyx_r;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4[3];
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pybuffer_index", 0);

  /* "View.MemoryView":899
 * cdef char *pybuffer_index(Py_buffer *view, char *bufp, Py_ssize_t index,
 *                           Py_ssize_t dim) except NULL:
 *     cdef Py_ssize_t shape, stride, suboffset = -1             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t itemsize = view.itemsize
 *     cdef char *resultp
*/
  __pyx_v_suboffset = -1L;

  /* "View.MemoryView":900
 *                           Py_ssize_t dim) except NULL:
 *     cdef Py_ssize_t shape, stride, suboffset = -1
 *     cdef Py_ssize_t itemsize = view.itemsize             # <<<<<<<<<<<<<<
 *     cdef char *resultp
 * 
*/
  __pyx_t_1 = __pyx_v_view->itemsize;
  __pyx_v_itemsize = __pyx_t_1;

  /* "View.MemoryView":903
 *     cdef char *resultp
 * 
 *     if view.ndim == 0:             # <<<<<<<<<<<<<<
 *         shape = view.len // itemsize
 *         stride = itemsize
*/
  __pyx_t_2 = (__pyx_v_view->ndim == 0);
  if (__pyx_t_2) {

    /* "View.MemoryView":904
 * 
 *     if view.ndim == 0:
 *         shape = view.len // itemsize             # <<<<<<<<<<<<<<
 *         stride = itemsize
 *     else:
*/
    if (unlikely(__pyx_v_itemsize == 0)) {
      PyErr_SetString(PyExc_ZeroDivisionError, "integer division or modulo by zero");
      __PYX_ERR(5, 904, __pyx_L1_error)
    }
    else if (sizeof(Py_ssize_t) == sizeof(long) && (!(((Py_ssize_t)-1) > 0)) && unlikely(__pyx_v_itemsize == (Py_ssize_t)-1)  && unlikely(__Pyx_UNARY_NEG_WOULD_OVERFLOW(__pyx_v_view->len))) {
      PyErr_SetString(PyExc_OverflowError, "value too large to perform division");
      __PYX_ERR(5, 904, __pyx_L1_error)
    }
    __pyx_v_shape = __Pyx_div_Py_ssize_t(__pyx_v_view->len, __pyx_v_itemsize, 0);

    /* "View.MemoryView":905
 *     if view.ndim == 0:
 *         shape = view.len // itemsize
 *         stride = itemsize             # <<<<<<<<<<<<<<
 *     else:
 *         shape = view.shape[dim]
*/
    __pyx_v_stride = __pyx_v_itemsize;

    /* "View.MemoryView":903
 *     cdef char *resultp
 * 
 *     if view.ndim == 0:             # <<<<<<<<<<<<<<
 *         shape = view.len // itemsize
 *         stride = itemsize
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":907
 *         stride = itemsize
 *     else:
 *         shape = view.shape[dim]             # <<<<<<<<<<<<<<
 *         stride = view.strides[dim]
 *         if view.suboffsets != NULL:
*/
  /*else*/ {
    __pyx_v_shape = (__pyx_v_view->shape[__pyx_v_dim]);

    /* "View.MemoryView":908
 *     else:
 *         shape = view.shape[dim]
 *         stride = view.strides[dim]             # <<<<<<<<<<<<<<
 *         if view.suboffsets != NULL:
 *             suboffset = view.suboffsets[dim]
*/
    __pyx_v_stride = (__pyx_v_view->strides[__pyx_v_dim]);

    /* "View.MemoryView":909
 *         shape = view.shape[dim]
 *         stride = view.strides[dim]
 *         if view.suboffsets != NULL:             # <<<<<<<<<<<<<<
 *             suboffset = view.suboffsets[dim]
 * 
*/
    __pyx_t_2 = (__pyx_v_view->suboffsets != NULL);
    if (__pyx_t_2) {

      /* "View.MemoryView":910
 *         stride = view.strides[dim]
 *         if view.suboffsets != NULL:
 *             suboffset = view.suboffsets[dim]             # <<<<<<<<<<<<<<
 * 
 *     if index < 0:
*/
      __pyx_v_suboffset = (__pyx_v_view->suboffsets[__pyx_v_dim]);

      /* "View.MemoryView":909
 *         shape = view.shape[dim]
 *         stride = view.strides[dim]
 *         if view.suboffsets != NULL:             # <<<<<<<<<<<<<<
 *             suboffset = view.suboffsets[dim]
 * 
*/
    }
  }
  __pyx_L3:;

  /* "View.MemoryView":912
 *             suboffset = view.suboffsets[dim]
 * 
 *     if index < 0:             # <<<<<<<<<<<<<<
 *         index += view.shape[dim]
 *         if index < 0:
*/
  __pyx_t_2 = (__pyx_v_index < 0);
  if (__pyx_t_2) {

    /* "View.MemoryView":913
 * 
 *     if index < 0:
 *         index += view.shape[dim]             # <<<<<<<<<<<<<<
 *         if index < 0:
 *             raise IndexError, f"Out of bounds on buffer access (axis {dim})"
*/
    __pyx_v_index = (__pyx_v_index + (__pyx_v_view->shape[__pyx_v_dim]));

    /* "View.MemoryView":914
 *     if index < 0:
 *         index += view.shape[dim]
 *         if index < 0:             # <<<<<<<<<<<<<<
 *             raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
*/
    __pyx_t_2 = (__pyx_v_index < 0);
    if (unlikely(__pyx_t_2)) {

      /* "View.MemoryView":915
 *         index += view.shape[dim]
 *         if index < 0:
 *             raise IndexError, f"Out of bounds on buffer access (axis {dim})"             # <<<<<<<<<<<<<<
 * 
 *     if index >= shape:
*/
      __pyx_t_3 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_dim, 0, ' ', 'd'); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 915, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_Out_of_bounds_on_buffer_access_a;
      __pyx_t_4[1] = __pyx_t_3;
      __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u__5;
      __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, 37 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 1, 127);
      if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 915, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_IndexError))), __pyx_t_5, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(5, 915, __pyx_L1_error)

      /* "View.MemoryView":914
 *     if index < 0:
 *         index += view.shape[dim]
 *         if index < 0:             # <<<<<<<<<<<<<<
 *             raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
*/
    }

    /* "View.MemoryView":912
 *             suboffset = view.suboffsets[dim]
 * 
 *     if index < 0:             # <<<<<<<<<<<<<<
 *         index += view.shape[dim]
 *         if index < 0:
*/
  }

  /* "View.MemoryView":917
 *             raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
 *     if index >= shape:             # <<<<<<<<<<<<<<
 *         raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
*/
  __pyx_t_2 = (__pyx_v_index >= __pyx_v_shape);
  if (unlikely(__pyx_t_2)) {

    /* "View.MemoryView":918
 * 
 *     if index >= shape:
 *         raise IndexError, f"Out of bounds on buffer access (axis {dim})"             # <<<<<<<<<<<<<<
 * 
 *     resultp = bufp + index * stride
*/
    __pyx_t_5 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_dim, 0, ' ', 'd'); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_Out_of_bounds_on_buffer_access_a;
    __pyx_t_4[1] = __pyx_t_5;
    __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u__5;
    __pyx_t_3 = __Pyx_PyUnicode_Join(__pyx_t_4, 3, 37 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 1, 127);
    if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_IndexError))), __pyx_t_3, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(5, 918, __pyx_L1_error)

    /* "View.MemoryView":917
 *             raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
 *     if index >= shape:             # <<<<<<<<<<<<<<
 *         raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
*/
  }

  /* "View.MemoryView":920
 *         raise IndexError, f"Out of bounds on buffer access (axis {dim})"
 * 
 *     resultp = bufp + index * stride             # <<<<<<<<<<<<<<
 *     if suboffset >= 0:
 *         resultp = (<char **> resultp)[0] + suboffset
*/
  __pyx_v_resultp = (__pyx_v_bufp + (__pyx_v_index * __pyx_v_stride));

  /* "View.MemoryView":921
 * 
 *     resultp = bufp + index * stride
 *     if suboffset >= 0:             # <<<<<<<<<<<<<<
 *         resultp = (<char **> resultp)[0] + suboffset
 * 
*/
  __pyx_t_2 = (__pyx_v_suboffset >= 0);
  if (__pyx_t_2) {

    /* "View.MemoryView":922
 *     resultp = bufp + index * stride
 *     if suboffset >= 0:
 *         resultp = (<char **> resultp)[0] + suboffset             # <<<<<<<<<<<<<<
 * 
 *     return resultp
*/
    __pyx_v_resultp = ((((char **)__pyx_v_resultp)[0]) + __pyx_v_suboffset);

    /* "View.MemoryView":921
 * 
 *     resultp = bufp + index * stride
 *     if suboffset >= 0:             # <<<<<<<<<<<<<<
 *         resultp = (<char **> resultp)[0] + suboffset
 * 
*/
  }

  /* "View.MemoryView":924
 *         resultp = (<char **> resultp)[0] + suboffset
 * 
 *     return resultp             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_resultp;
  goto __pyx_L0;

  /* "View.MemoryView":896
 * 
 * 
 * @cname('__pyx_pybuffer_index')             # <<<<<<<<<<<<<<
 * cdef char *pybuffer_index(Py_buffer *view, char *bufp, Py_ssize_t index,
 *                           Py_ssize_t dim) except NULL:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("View.MemoryView.pybuffer_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":929
 * 
 * 
 * @cname('__pyx_memslice_transpose')             # <<<<<<<<<<<<<<
 * cdef int transpose_memslice(__Pyx_memviewslice *memslice) except -1 nogil:
 *     cdef int ndim = memslice.memview.view.ndim
*/

static int __pyx_memslice_transpose(__Pyx_memviewslice *__pyx_v_memslice) {
  int __pyx_v_ndim;
  Py_ssize_t *__pyx_v_shape;
  Py_ssize_t *__pyx_v_strides;
  int __pyx_v_i;
  int __pyx_v_j;
  int __pyx_r;
  int __pyx_t_1;
  Py_ssize_t *__pyx_t_2;
  long __pyx_t_3;
  long __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save;

  /* "View.MemoryView":931
 * @cname('__pyx_memslice_transpose')
 * cdef int transpose_memslice(__Pyx_memviewslice *memslice) except -1 nogil:
 *     cdef int ndim = memslice.memview.view.ndim             # <<<<<<<<<<<<<<
 * 
 *     cdef Py_ssize_t *shape = memslice.shape
*/
  __pyx_t_1 = __pyx_v_memslice->memview->view.ndim;
  __pyx_v_ndim = __pyx_t_1;

  /* "View.MemoryView":933
 *     cdef int ndim = memslice.memview.view.ndim
 * 
 *     cdef Py_ssize_t *shape = memslice.shape             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t *strides = memslice.strides
 * 
*/
  __pyx_t_2 = __pyx_v_memslice->shape;
  __pyx_v_shape = __pyx_t_2;

  /* "View.MemoryView":934
 * 
 *     cdef Py_ssize_t *shape = memslice.shape
 *     cdef Py_ssize_t *strides = memslice.strides             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = __pyx_v_memslice->strides;
  __pyx_v_strides = __pyx_t_2;

  /* "View.MemoryView":938
 * 
 *     cdef int i, j
 *     for i in range(ndim // 2):             # <<<<<<<<<<<<<<
 *         j = ndim - 1 - i
 *         strides[i], strides[j] = strides[j], strides[i]
*/
  __pyx_t_3 = __Pyx_div_long(__pyx_v_ndim, 2, 1);
  __pyx_t_4 = __pyx_t_3;
  for (__pyx_t_1 = 0; __pyx_t_1 < __pyx_t_4; __pyx_t_1+=1) {
    __pyx_v_i = __pyx_t_1;

    /* "View.MemoryView":939
 *     cdef int i, j
 *     for i in range(ndim // 2):
 *         j = ndim - 1 - i             # <<<<<<<<<<<<<<
 *         strides[i], strides[j] = strides[j], strides[i]
 *         shape[i], shape[j] = shape[j], shape[i]
*/
    __pyx_v_j = ((__pyx_v_ndim - 1) - __pyx_v_i);

    /* "View.MemoryView":940
 *     for i in range(ndim // 2):
 *         j = ndim - 1 - i
 *         strides[i], strides[j] = strides[j], strides[i]             # <<<<<<<<<<<<<<
 *         shape[i], shape[j] = shape[j], shape[i]
 * 
*/
    __pyx_t_5 = (__pyx_v_strides[__pyx_v_j]);
    __pyx_t_6 = (__pyx_v_strides[__pyx_v_i]);
    (__pyx_v_strides[__pyx_v_i]) = __pyx_t_5;
    (__pyx_v_strides[__pyx_v_j]) = __pyx_t_6;

    /* "View.MemoryView":941
 *         j = ndim - 1 - i
 *         strides[i], strides[j] = strides[j], strides[i]
 *         shape[i], shape[j] = shape[j], shape[i]             # <<<<<<<<<<<<<<
 * 
 *         if memslice.suboffsets[i] >= 0 or memslice.suboffsets[j] >= 0:
*/
    __pyx_t_6 = (__pyx_v_shape[__pyx_v_j]);
    __pyx_t_5 = (__pyx_v_shape[__pyx_v_i]);
    (__pyx_v_shape[__pyx_v_i]) = __pyx_t_6;
    (__pyx_v_shape[__pyx_v_j]) = __pyx_t_5;

    /* "View.MemoryView":943
 *         shape[i], shape[j] = shape[j], shape[i]
 * 
 *         if memslice.suboffsets[i] >= 0 or memslice.suboffsets[j] >= 0:             # <<<<<<<<<<<<<<
 *             _err(PyExc_ValueError, "Cannot transpose memoryview with indirect dimensions")
 * 
*/
    __pyx_t_8 = ((__pyx_v_memslice->suboffsets[__pyx_v_i]) >= 0);
    if (!__pyx_t_8) {
    } else {
      __pyx_t_7 = __pyx_t_8;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_8 = ((__pyx_v_memslice->suboffsets[__pyx_v_j]) >= 0);
    __pyx_t_7 = __pyx_t_8;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_7) {

      /* "View.MemoryView":944
 * 
 *         if memslice.suboffsets[i] >= 0 or memslice.suboffsets[j] >= 0:
 *             _err(PyExc_ValueError, "Cannot transpose memoryview with indirect dimensions")             # <<<<<<<<<<<<<<
 * 
 *     return 0
*/
      __pyx_t_9 = __pyx_memoryview_err(PyExc_ValueError, __pyx_mstate_global->__pyx_kp_u_Cannot_transpose_memoryview_with); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(5, 944, __pyx_L1_error)

      /* "View.MemoryView":943
 *         shape[i], shape[j] = shape[j], shape[i]
 * 
 *         if memslice.suboffsets[i] >= 0 or memslice.suboffsets[j] >= 0:             # <<<<<<<<<<<<<<
 *             _err(PyExc_ValueError, "Cannot transpose memoryview with indirect dimensions")
 * 
*/
    }
  }

  /* "View.MemoryView":946
 *             _err(PyExc_ValueError, "Cannot transpose memoryview with indirect dimensions")
 * 
 *     return 0             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = 0;
  goto __pyx_L0;

  /* "View.MemoryView":929
 * 
 * 
 * @cname('__pyx_memslice_transpose')             # <<<<<<<<<<<<<<
 * cdef int transpose_memslice(__Pyx_memviewslice *memslice) except -1 nogil:
 *     cdef int ndim = memslice.memview.view.ndim
*/

  /* function exit code */
  __pyx_L1_error:;
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_AddTraceback("View.MemoryView.transpose_memslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":964
 *     cdef int (*to_dtype_func)(char *, object) except 0
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         __PYX_XCLEAR_MEMVIEW(&self.from_slice, 1)
 * 
*/

/* Python wrapper */
static void __pyx_memoryviewslice___dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_memoryviewslice___dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(((struct __pyx_memoryviewslice_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(struct __pyx_memoryviewslice_obj *__pyx_v_self) {

  /* "View.MemoryView":965
 * 
 *     def __dealloc__(self):
 *         __PYX_XCLEAR_MEMVIEW(&self.from_slice, 1)             # <<<<<<<<<<<<<<
 * 
 *     cdef convert_item_to_object(self, char *itemp):
*/
  __PYX_XCLEAR_MEMVIEW((&__pyx_v_self->from_slice), 1);

  /* "View.MemoryView":964
 *     cdef int (*to_dtype_func)(char *, object) except 0
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         __PYX_XCLEAR_MEMVIEW(&self.from_slice, 1)
 * 
*/

  /* function exit code */
}

/* "View.MemoryView":967
 *         __PYX_XCLEAR_MEMVIEW(&self.from_slice, 1)
 * 
 *     cdef convert_item_to_object(self, char *itemp):             # <<<<<<<<<<<<<<
 *         if self.to_object_func != NULL:
 *             return self.to_object_func(itemp)
*/

static PyObject *__pyx_memoryviewslice_convert_item_to_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("convert_item_to_object", 0);

  /* "View.MemoryView":968
 * 
 *     cdef convert_item_to_object(self, char *itemp):
 *         if self.to_object_func != NULL:             # <<<<<<<<<<<<<<
 *             return self.to_object_func(itemp)
 *         else:
*/
  __pyx_t_1 = (__pyx_v_self->to_object_func != NULL);
  if (__pyx_t_1) {

    /* "View.MemoryView":969
 *     cdef convert_item_to_object(self, char *itemp):
 *         if self.to_object_func != NULL:
 *             return self.to_object_func(itemp)             # <<<<<<<<<<<<<<
 *         else:
 *             return memoryview.convert_item_to_object(self, itemp)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_v_self->to_object_func(__pyx_v_itemp); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 969, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "View.MemoryView":968
 * 
 *     cdef convert_item_to_object(self, char *itemp):
 *         if self.to_object_func != NULL:             # <<<<<<<<<<<<<<
 *             return self.to_object_func(itemp)
 *         else:
*/
  }

  /* "View.MemoryView":971
 *             return self.to_object_func(itemp)
 *         else:
 *             return memoryview.convert_item_to_object(self, itemp)             # <<<<<<<<<<<<<<
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_memoryview_convert_item_to_object(((struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v_itemp); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 971, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }

  /* "View.MemoryView":967
 *         __PYX_XCLEAR_MEMVIEW(&self.from_slice, 1)
 * 
 *     cdef convert_item_to_object(self, char *itemp):             # <<<<<<<<<<<<<<
 *         if self.to_object_func != NULL:
 *             return self.to_object_func(itemp)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView._memoryviewslice.convert_item_to_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":973
 *             return memoryview.convert_item_to_object(self, itemp)
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):             # <<<<<<<<<<<<<<
 *         if self.to_dtype_func != NULL:
 *             self.to_dtype_func(itemp, value)
*/

static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memoryviewslice_obj *__pyx_v_self, char *__pyx_v_itemp, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("assign_item_from_object", 0);

  /* "View.MemoryView":974
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):
 *         if self.to_dtype_func != NULL:             # <<<<<<<<<<<<<<
 *             self.to_dtype_func(itemp, value)
 *         else:
*/
  __pyx_t_1 = (__pyx_v_self->to_dtype_func != NULL);
  if (__pyx_t_1) {

    /* "View.MemoryView":975
 *     cdef assign_item_from_object(self, char *itemp, object value):
 *         if self.to_dtype_func != NULL:
 *             self.to_dtype_func(itemp, value)             # <<<<<<<<<<<<<<
 *         else:
 *             memoryview.assign_item_from_object(self, itemp, value)
*/
    __pyx_t_2 = __pyx_v_self->to_dtype_func(__pyx_v_itemp, __pyx_v_value); if (unlikely(__pyx_t_2 == ((int)0))) __PYX_ERR(5, 975, __pyx_L1_error)

    /* "View.MemoryView":974
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):
 *         if self.to_dtype_func != NULL:             # <<<<<<<<<<<<<<
 *             self.to_dtype_func(itemp, value)
 *         else:
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":977
 *             self.to_dtype_func(itemp, value)
 *         else:
 *             memoryview.assign_item_from_object(self, itemp, value)             # <<<<<<<<<<<<<<
 * 
 *     cdef _get_base(self):
*/
  /*else*/ {
    __pyx_t_3 = __pyx_memoryview_assign_item_from_object(((struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v_itemp, __pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 977, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_L3:;

  /* "View.MemoryView":973
 *             return memoryview.convert_item_to_object(self, itemp)
 * 
 *     cdef assign_item_from_object(self, char *itemp, object value):             # <<<<<<<<<<<<<<
 *         if self.to_dtype_func != NULL:
 *             self.to_dtype_func(itemp, value)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView._memoryviewslice.assign_item_from_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":979
 *             memoryview.assign_item_from_object(self, itemp, value)
 * 
 *     cdef _get_base(self):             # <<<<<<<<<<<<<<
 *         return self.from_object
 * 
*/

static PyObject *__pyx_memoryviewslice__get_base(struct __pyx_memoryviewslice_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_get_base", 0);

  /* "View.MemoryView":980
 * 
 *     cdef _get_base(self):
 *         return self.from_object             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->from_object);
  __pyx_r = __pyx_v_self->from_object;
  goto __pyx_L0;

  /* "View.MemoryView":979
 *             memoryview.assign_item_from_object(self, itemp, value)
 * 
 *     cdef _get_base(self):             # <<<<<<<<<<<<<<
 *         return self.from_object
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw___pyx_memoryviewslice_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_memoryviewslice_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf___pyx_memoryviewslice___reduce_cython__(((struct __pyx_memoryviewslice_obj *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_memoryviewslice___reduce_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView._memoryviewslice.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw___pyx_memoryviewslice_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyObject *__pyx_pw___pyx_memoryviewslice_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("View.MemoryView._memoryviewslice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf___pyx_memoryviewslice_2__setstate_cython__(((struct __pyx_memoryviewslice_obj *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf___pyx_memoryviewslice_2__setstate_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView._memoryviewslice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":999
 *     pass  # ignore failure, it's a minor issue
 * 
 * @cname('__pyx_memoryview_fromslice')             # <<<<<<<<<<<<<<
 * cdef memoryview_fromslice(__Pyx_memviewslice memviewslice,
 *                           int ndim,
*/

static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice __pyx_v_memviewslice, int __pyx_v_ndim, PyObject *(*__pyx_v_to_object_func)(char *), int (*__pyx_v_to_dtype_func)(char *, PyObject *), int __pyx_v_dtype_is_object) {
  struct __pyx_memoryviewslice_obj *__pyx_v_result = 0;
  Py_ssize_t __pyx_v_suboffset;
  PyObject *__pyx_v_length = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __Pyx_TypeInfo const *__pyx_t_4;
  Py_buffer __pyx_t_5;
  Py_ssize_t *__pyx_t_6;
  Py_ssize_t *__pyx_t_7;
  Py_ssize_t *__pyx_t_8;
  Py_ssize_t __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("memoryview_fromslice", 0);

  /* "View.MemoryView":1008
 *     cdef _memoryviewslice result
 * 
 *     if <PyObject *> memviewslice.memview == Py_None:             # <<<<<<<<<<<<<<
 *         return None
 * 
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_memviewslice.memview) == Py_None);
  if (__pyx_t_1) {

    /* "View.MemoryView":1009
 * 
 *     if <PyObject *> memviewslice.memview == Py_None:
 *         return None             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "View.MemoryView":1008
 *     cdef _memoryviewslice result
 * 
 *     if <PyObject *> memviewslice.memview == Py_None:             # <<<<<<<<<<<<<<
 *         return None
 * 
*/
  }

  /* "View.MemoryView":1014
 * 
 * 
 *     result = _memoryviewslice.__new__(_memoryviewslice, None, 0, dtype_is_object)             # <<<<<<<<<<<<<<
 * 
 *     result.from_slice = memviewslice
*/
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_dtype_is_object); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 1014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, Py_None) != (0)) __PYX_ERR(5, 1014, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_0);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_mstate_global->__pyx_int_0) != (0)) __PYX_ERR(5, 1014, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2) != (0)) __PYX_ERR(5, 1014, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_2 = ((PyObject *)__pyx_tp_new__memoryviewslice(((PyTypeObject *)__pyx_mstate_global->__pyx_memoryviewslice_type), __pyx_t_3, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 1014, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_result = ((struct __pyx_memoryviewslice_obj *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "View.MemoryView":1016
 *     result = _memoryviewslice.__new__(_memoryviewslice, None, 0, dtype_is_object)
 * 
 *     result.from_slice = memviewslice             # <<<<<<<<<<<<<<
 *     __PYX_INC_MEMVIEW(&memviewslice, 1)
 * 
*/
  __pyx_v_result->from_slice = __pyx_v_memviewslice;

  /* "View.MemoryView":1017
 * 
 *     result.from_slice = memviewslice
 *     __PYX_INC_MEMVIEW(&memviewslice, 1)             # <<<<<<<<<<<<<<
 * 
 *     result.from_object = (<memoryview> memviewslice.memview)._get_base()
*/
  __PYX_INC_MEMVIEW((&__pyx_v_memviewslice), 1);

  /* "View.MemoryView":1019
 *     __PYX_INC_MEMVIEW(&memviewslice, 1)
 * 
 *     result.from_object = (<memoryview> memviewslice.memview)._get_base()             # <<<<<<<<<<<<<<
 *     result.typeinfo = memviewslice.memview.typeinfo
 * 
*/
  __pyx_t_2 = ((struct __pyx_vtabstruct_memoryview *)((struct __pyx_memoryview_obj *)__pyx_v_memviewslice.memview)->__pyx_vtab)->_get_base(((struct __pyx_memoryview_obj *)__pyx_v_memviewslice.memview)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 1019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_result->from_object);
  __Pyx_DECREF(__pyx_v_result->from_object);
  __pyx_v_result->from_object = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "View.MemoryView":1020
 * 
 *     result.from_object = (<memoryview> memviewslice.memview)._get_base()
 *     result.typeinfo = memviewslice.memview.typeinfo             # <<<<<<<<<<<<<<
 * 
 *     result.view = memviewslice.memview.view
*/
  __pyx_t_4 = __pyx_v_memviewslice.memview->typeinfo;
  __pyx_v_result->__pyx_base.typeinfo = __pyx_t_4;

  /* "View.MemoryView":1022
 *     result.typeinfo = memviewslice.memview.typeinfo
 * 
 *     result.view = memviewslice.memview.view             # <<<<<<<<<<<<<<
 *     result.view.buf = <void *> memviewslice.data
 *     result.view.ndim = ndim
*/
  __pyx_t_5 = __pyx_v_memviewslice.memview->view;
  __pyx_v_result->__pyx_base.view = __pyx_t_5;

  /* "View.MemoryView":1023
 * 
 *     result.view = memviewslice.memview.view
 *     result.view.buf = <void *> memviewslice.data             # <<<<<<<<<<<<<<
 *     result.view.ndim = ndim
 *     (<__pyx_buffer *> &result.view).obj = Py_None
*/
  __pyx_v_result->__pyx_base.view.buf = ((void *)__pyx_v_memviewslice.data);

  /* "View.MemoryView":1024
 *     result.view = memviewslice.memview.view
 *     result.view.buf = <void *> memviewslice.data
 *     result.view.ndim = ndim             # <<<<<<<<<<<<<<
 *     (<__pyx_buffer *> &result.view).obj = Py_None
 *     Py_INCREF(Py_None)
*/
  __pyx_v_result->__pyx_base.view.ndim = __pyx_v_ndim;

  /* "View.MemoryView":1025
 *     result.view.buf = <void *> memviewslice.data
 *     result.view.ndim = ndim
 *     (<__pyx_buffer *> &result.view).obj = Py_None             # <<<<<<<<<<<<<<
 *     Py_INCREF(Py_None)
 * 
*/
  ((Py_buffer *)(&__pyx_v_result->__pyx_base.view))->obj = Py_None;

  /* "View.MemoryView":1026
 *     result.view.ndim = ndim
 *     (<__pyx_buffer *> &result.view).obj = Py_None
 *     Py_INCREF(Py_None)             # <<<<<<<<<<<<<<
 * 
 *     if (<memoryview>memviewslice.memview).flags & PyBUF_WRITABLE:
*/
  Py_INCREF(Py_None);

  /* "View.MemoryView":1028
 *     Py_INCREF(Py_None)
 * 
 *     if (<memoryview>memviewslice.memview).flags & PyBUF_WRITABLE:             # <<<<<<<<<<<<<<
 *         result.flags = PyBUF_RECORDS
 *     else:
*/
  __pyx_t_1 = ((((struct __pyx_memoryview_obj *)__pyx_v_memviewslice.memview)->flags & PyBUF_WRITABLE) != 0);
  if (__pyx_t_1) {

    /* "View.MemoryView":1029
 * 
 *     if (<memoryview>memviewslice.memview).flags & PyBUF_WRITABLE:
 *         result.flags = PyBUF_RECORDS             # <<<<<<<<<<<<<<
 *     else:
 *         result.flags = PyBUF_RECORDS_RO
*/
    __pyx_v_result->__pyx_base.flags = PyBUF_RECORDS;

    /* "View.MemoryView":1028
 *     Py_INCREF(Py_None)
 * 
 *     if (<memoryview>memviewslice.memview).flags & PyBUF_WRITABLE:             # <<<<<<<<<<<<<<
 *         result.flags = PyBUF_RECORDS
 *     else:
*/
    goto __pyx_L4;
  }

  /* "View.MemoryView":1031
 *         result.flags = PyBUF_RECORDS
 *     else:
 *         result.flags = PyBUF_RECORDS_RO             # <<<<<<<<<<<<<<
 * 
 *     result.view.shape = <Py_ssize_t *> result.from_slice.shape
*/
  /*else*/ {
    __pyx_v_result->__pyx_base.flags = PyBUF_RECORDS_RO;
  }
  __pyx_L4:;

  /* "View.MemoryView":1033
 *         result.flags = PyBUF_RECORDS_RO
 * 
 *     result.view.shape = <Py_ssize_t *> result.from_slice.shape             # <<<<<<<<<<<<<<
 *     result.view.strides = <Py_ssize_t *> result.from_slice.strides
 * 
*/
  __pyx_v_result->__pyx_base.view.shape = ((Py_ssize_t *)__pyx_v_result->from_slice.shape);

  /* "View.MemoryView":1034
 * 
 *     result.view.shape = <Py_ssize_t *> result.from_slice.shape
 *     result.view.strides = <Py_ssize_t *> result.from_slice.strides             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_v_result->__pyx_base.view.strides = ((Py_ssize_t *)__pyx_v_result->from_slice.strides);

  /* "View.MemoryView":1037
 * 
 * 
 *     result.view.suboffsets = NULL             # <<<<<<<<<<<<<<
 *     for suboffset in result.from_slice.suboffsets[:ndim]:
 *         if suboffset >= 0:
*/
  __pyx_v_result->__pyx_base.view.suboffsets = NULL;

  /* "View.MemoryView":1038
 * 
 *     result.view.suboffsets = NULL
 *     for suboffset in result.from_slice.suboffsets[:ndim]:             # <<<<<<<<<<<<<<
 *         if suboffset >= 0:
 *             result.view.suboffsets = <Py_ssize_t *> result.from_slice.suboffsets
*/
  __pyx_t_7 = (__pyx_v_result->from_slice.suboffsets + __pyx_v_ndim);
  for (__pyx_t_8 = __pyx_v_result->from_slice.suboffsets; __pyx_t_8 < __pyx_t_7; __pyx_t_8++) {
    __pyx_t_6 = __pyx_t_8;
    __pyx_v_suboffset = (__pyx_t_6[0]);

    /* "View.MemoryView":1039
 *     result.view.suboffsets = NULL
 *     for suboffset in result.from_slice.suboffsets[:ndim]:
 *         if suboffset >= 0:             # <<<<<<<<<<<<<<
 *             result.view.suboffsets = <Py_ssize_t *> result.from_slice.suboffsets
 *             break
*/
    __pyx_t_1 = (__pyx_v_suboffset >= 0);
    if (__pyx_t_1) {

      /* "View.MemoryView":1040
 *     for suboffset in result.from_slice.suboffsets[:ndim]:
 *         if suboffset >= 0:
 *             result.view.suboffsets = <Py_ssize_t *> result.from_slice.suboffsets             # <<<<<<<<<<<<<<
 *             break
 * 
*/
      __pyx_v_result->__pyx_base.view.suboffsets = ((Py_ssize_t *)__pyx_v_result->from_slice.suboffsets);

      /* "View.MemoryView":1041
 *         if suboffset >= 0:
 *             result.view.suboffsets = <Py_ssize_t *> result.from_slice.suboffsets
 *             break             # <<<<<<<<<<<<<<
 * 
 *     result.view.len = result.view.itemsize
*/
      goto __pyx_L6_break;

      /* "View.MemoryView":1039
 *     result.view.suboffsets = NULL
 *     for suboffset in result.from_slice.suboffsets[:ndim]:
 *         if suboffset >= 0:             # <<<<<<<<<<<<<<
 *             result.view.suboffsets = <Py_ssize_t *> result.from_slice.suboffsets
 *             break
*/
    }
  }
  __pyx_L6_break:;

  /* "View.MemoryView":1043
 *             break
 * 
 *     result.view.len = result.view.itemsize             # <<<<<<<<<<<<<<
 *     for length in result.view.shape[:ndim]:
 *         result.view.len *= length
*/
  __pyx_t_9 = __pyx_v_result->__pyx_base.view.itemsize;
  __pyx_v_result->__pyx_base.view.len = __pyx_t_9;

  /* "View.MemoryView":1044
 * 
 *     result.view.len = result.view.itemsize
 *     for length in result.view.shape[:ndim]:             # <<<<<<<<<<<<<<
 *         result.view.len *= length
 * 
*/
  __pyx_t_7 = (__pyx_v_result->__pyx_base.view.shape + __pyx_v_ndim);
  for (__pyx_t_8 = __pyx_v_result->__pyx_base.view.shape; __pyx_t_8 < __pyx_t_7; __pyx_t_8++) {
    __pyx_t_6 = __pyx_t_8;
    __pyx_t_2 = PyLong_FromSsize_t((__pyx_t_6[0])); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 1044, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_length, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "View.MemoryView":1045
 *     result.view.len = result.view.itemsize
 *     for length in result.view.shape[:ndim]:
 *         result.view.len *= length             # <<<<<<<<<<<<<<
 * 
 *     result.to_object_func = to_object_func
*/
    __pyx_t_2 = PyLong_FromSsize_t(__pyx_v_result->__pyx_base.view.len); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 1045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = PyNumber_InPlaceMultiply(__pyx_t_2, __pyx_v_length); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(5, 1045, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_result->__pyx_base.view.len = __pyx_t_9;
  }

  /* "View.MemoryView":1047
 *         result.view.len *= length
 * 
 *     result.to_object_func = to_object_func             # <<<<<<<<<<<<<<
 *     result.to_dtype_func = to_dtype_func
 * 
*/
  __pyx_v_result->to_object_func = __pyx_v_to_object_func;

  /* "View.MemoryView":1048
 * 
 *     result.to_object_func = to_object_func
 *     result.to_dtype_func = to_dtype_func             # <<<<<<<<<<<<<<
 * 
 *     return result
*/
  __pyx_v_result->to_dtype_func = __pyx_v_to_dtype_func;

  /* "View.MemoryView":1050
 *     result.to_dtype_func = to_dtype_func
 * 
 *     return result             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_get_slice_from_memoryview')
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_result);
  __pyx_r = ((PyObject *)__pyx_v_result);
  goto __pyx_L0;

  /* "View.MemoryView":999
 *     pass  # ignore failure, it's a minor issue
 * 
 * @cname('__pyx_memoryview_fromslice')             # <<<<<<<<<<<<<<
 * cdef memoryview_fromslice(__Pyx_memviewslice memviewslice,
 *                           int ndim,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView.memoryview_fromslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_result);
  __Pyx_XDECREF(__pyx_v_length);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":1052
 *     return result
 * 
 * @cname('__pyx_memoryview_get_slice_from_memoryview')             # <<<<<<<<<<<<<<
 * cdef __Pyx_memviewslice *get_slice_from_memview(memoryview memview,
 *                                                    __Pyx_memviewslice *mslice) except NULL:
*/

static __Pyx_memviewslice *__pyx_memoryview_get_slice_from_memoryview(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_mslice) {
  struct __pyx_memoryviewslice_obj *__pyx_v_obj = 0;
  __Pyx_memviewslice *__pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_slice_from_memview", 0);

  /* "View.MemoryView":1056
 *                                                    __Pyx_memviewslice *mslice) except NULL:
 *     cdef _memoryviewslice obj
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         obj = memview
 *         return &obj.from_slice
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_memview), __pyx_mstate_global->__pyx_memoryviewslice_type); 
  if (__pyx_t_1) {

    /* "View.MemoryView":1057
 *     cdef _memoryviewslice obj
 *     if isinstance(memview, _memoryviewslice):
 *         obj = memview             # <<<<<<<<<<<<<<
 *         return &obj.from_slice
 *     else:
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_memview);
    __Pyx_INCREF(__pyx_t_2);
    if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_memoryviewslice_type))))) __PYX_ERR(5, 1057, __pyx_L1_error)
    __pyx_v_obj = ((struct __pyx_memoryviewslice_obj *)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "View.MemoryView":1058
 *     if isinstance(memview, _memoryviewslice):
 *         obj = memview
 *         return &obj.from_slice             # <<<<<<<<<<<<<<
 *     else:
 *         slice_copy(memview, mslice)
*/
    __pyx_r = (&__pyx_v_obj->from_slice);
    goto __pyx_L0;

    /* "View.MemoryView":1056
 *                                                    __Pyx_memviewslice *mslice) except NULL:
 *     cdef _memoryviewslice obj
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         obj = memview
 *         return &obj.from_slice
*/
  }

  /* "View.MemoryView":1060
 *         return &obj.from_slice
 *     else:
 *         slice_copy(memview, mslice)             # <<<<<<<<<<<<<<
 *         return mslice
 * 
*/
  /*else*/ {
    __pyx_memoryview_slice_copy(__pyx_v_memview, __pyx_v_mslice);

    /* "View.MemoryView":1061
 *     else:
 *         slice_copy(memview, mslice)
 *         return mslice             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_slice_copy')
*/
    __pyx_r = __pyx_v_mslice;
    goto __pyx_L0;
  }

  /* "View.MemoryView":1052
 *     return result
 * 
 * @cname('__pyx_memoryview_get_slice_from_memoryview')             # <<<<<<<<<<<<<<
 * cdef __Pyx_memviewslice *get_slice_from_memview(memoryview memview,
 *                                                    __Pyx_memviewslice *mslice) except NULL:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView.get_slice_from_memview", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_obj);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":1063
 *         return mslice
 * 
 * @cname('__pyx_memoryview_slice_copy')             # <<<<<<<<<<<<<<
 * cdef void slice_copy(memoryview memview, __Pyx_memviewslice *dst) noexcept:
 *     cdef int dim
*/

static void __pyx_memoryview_slice_copy(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_dst) {
  int __pyx_v_dim;
  Py_ssize_t *__pyx_v_shape;
  Py_ssize_t *__pyx_v_strides;
  Py_ssize_t *__pyx_v_suboffsets;
  Py_ssize_t *__pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  int __pyx_t_6;

  /* "View.MemoryView":1068
 *     cdef (Py_ssize_t*) shape, strides, suboffsets
 * 
 *     shape = memview.view.shape             # <<<<<<<<<<<<<<
 *     strides = memview.view.strides
 *     suboffsets = memview.view.suboffsets
*/
  __pyx_t_1 = __pyx_v_memview->view.shape;
  __pyx_v_shape = __pyx_t_1;

  /* "View.MemoryView":1069
 * 
 *     shape = memview.view.shape
 *     strides = memview.view.strides             # <<<<<<<<<<<<<<
 *     suboffsets = memview.view.suboffsets
 * 
*/
  __pyx_t_1 = __pyx_v_memview->view.strides;
  __pyx_v_strides = __pyx_t_1;

  /* "View.MemoryView":1070
 *     shape = memview.view.shape
 *     strides = memview.view.strides
 *     suboffsets = memview.view.suboffsets             # <<<<<<<<<<<<<<
 * 
 *     dst.memview = <__pyx_memoryview *> memview
*/
  __pyx_t_1 = __pyx_v_memview->view.suboffsets;
  __pyx_v_suboffsets = __pyx_t_1;

  /* "View.MemoryView":1072
 *     suboffsets = memview.view.suboffsets
 * 
 *     dst.memview = <__pyx_memoryview *> memview             # <<<<<<<<<<<<<<
 *     dst.data = <char *> memview.view.buf
 * 
*/
  __pyx_v_dst->memview = ((struct __pyx_memoryview_obj *)__pyx_v_memview);

  /* "View.MemoryView":1073
 * 
 *     dst.memview = <__pyx_memoryview *> memview
 *     dst.data = <char *> memview.view.buf             # <<<<<<<<<<<<<<
 * 
 *     for dim in range(memview.view.ndim):
*/
  __pyx_v_dst->data = ((char *)__pyx_v_memview->view.buf);

  /* "View.MemoryView":1075
 *     dst.data = <char *> memview.view.buf
 * 
 *     for dim in range(memview.view.ndim):             # <<<<<<<<<<<<<<
 *         dst.shape[dim] = shape[dim]
 *         dst.strides[dim] = strides[dim]
*/
  __pyx_t_2 = __pyx_v_memview->view.ndim;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_dim = __pyx_t_4;

    /* "View.MemoryView":1076
 * 
 *     for dim in range(memview.view.ndim):
 *         dst.shape[dim] = shape[dim]             # <<<<<<<<<<<<<<
 *         dst.strides[dim] = strides[dim]
 *         dst.suboffsets[dim] = suboffsets[dim] if suboffsets else -1
*/
    (__pyx_v_dst->shape[__pyx_v_dim]) = (__pyx_v_shape[__pyx_v_dim]);

    /* "View.MemoryView":1077
 *     for dim in range(memview.view.ndim):
 *         dst.shape[dim] = shape[dim]
 *         dst.strides[dim] = strides[dim]             # <<<<<<<<<<<<<<
 *         dst.suboffsets[dim] = suboffsets[dim] if suboffsets else -1
 * 
*/
    (__pyx_v_dst->strides[__pyx_v_dim]) = (__pyx_v_strides[__pyx_v_dim]);

    /* "View.MemoryView":1078
 *         dst.shape[dim] = shape[dim]
 *         dst.strides[dim] = strides[dim]
 *         dst.suboffsets[dim] = suboffsets[dim] if suboffsets else -1             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_copy_object')
*/
    __pyx_t_6 = (__pyx_v_suboffsets != 0);
    if (__pyx_t_6) {
      __pyx_t_5 = (__pyx_v_suboffsets[__pyx_v_dim]);
    } else {
      __pyx_t_5 = -1L;
    }
    (__pyx_v_dst->suboffsets[__pyx_v_dim]) = __pyx_t_5;
  }

  /* "View.MemoryView":1063
 *         return mslice
 * 
 * @cname('__pyx_memoryview_slice_copy')             # <<<<<<<<<<<<<<
 * cdef void slice_copy(memoryview memview, __Pyx_memviewslice *dst) noexcept:
 *     cdef int dim
*/

  /* function exit code */
}

/* "View.MemoryView":1080
 *         dst.suboffsets[dim] = suboffsets[dim] if suboffsets else -1
 * 
 * @cname('__pyx_memoryview_copy_object')             # <<<<<<<<<<<<<<
 * cdef memoryview_copy(memoryview memview):
 *     "Create a new memoryview object"
*/

static PyObject *__pyx_memoryview_copy_object(struct __pyx_memoryview_obj *__pyx_v_memview) {
  __Pyx_memviewslice __pyx_v_memviewslice;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("memoryview_copy", 0);

  /* "View.MemoryView":1084
 *     "Create a new memoryview object"
 *     cdef __Pyx_memviewslice memviewslice
 *     slice_copy(memview, &memviewslice)             # <<<<<<<<<<<<<<
 *     return memoryview_copy_from_slice(memview, &memviewslice)
 * 
*/
  __pyx_memoryview_slice_copy(__pyx_v_memview, (&__pyx_v_memviewslice));

  /* "View.MemoryView":1085
 *     cdef __Pyx_memviewslice memviewslice
 *     slice_copy(memview, &memviewslice)
 *     return memoryview_copy_from_slice(memview, &memviewslice)             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_copy_object_from_slice')
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_memoryview_copy_object_from_slice(__pyx_v_memview, (&__pyx_v_memviewslice)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 1085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":1080
 *         dst.suboffsets[dim] = suboffsets[dim] if suboffsets else -1
 * 
 * @cname('__pyx_memoryview_copy_object')             # <<<<<<<<<<<<<<
 * cdef memoryview_copy(memoryview memview):
 *     "Create a new memoryview object"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.memoryview_copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":1087
 *     return memoryview_copy_from_slice(memview, &memviewslice)
 * 
 * @cname('__pyx_memoryview_copy_object_from_slice')             # <<<<<<<<<<<<<<
 * cdef memoryview_copy_from_slice(memoryview memview, __Pyx_memviewslice *memviewslice):
 *     """
*/

static PyObject *__pyx_memoryview_copy_object_from_slice(struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_memviewslice) {
  PyObject *(*__pyx_v_to_object_func)(char *);
  int (*__pyx_v_to_dtype_func)(char *, PyObject *);
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *(*__pyx_t_2)(char *);
  int (*__pyx_t_3)(char *, PyObject *);
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("memoryview_copy_from_slice", 0);

  /* "View.MemoryView":1095
 *     cdef int (*to_dtype_func)(char *, object) except 0
 * 
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         to_object_func = (<_memoryviewslice> memview).to_object_func
 *         to_dtype_func = (<_memoryviewslice> memview).to_dtype_func
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_memview), __pyx_mstate_global->__pyx_memoryviewslice_type); 
  if (__pyx_t_1) {

    /* "View.MemoryView":1096
 * 
 *     if isinstance(memview, _memoryviewslice):
 *         to_object_func = (<_memoryviewslice> memview).to_object_func             # <<<<<<<<<<<<<<
 *         to_dtype_func = (<_memoryviewslice> memview).to_dtype_func
 *     else:
*/
    __pyx_t_2 = ((struct __pyx_memoryviewslice_obj *)__pyx_v_memview)->to_object_func;
    __pyx_v_to_object_func = __pyx_t_2;

    /* "View.MemoryView":1097
 *     if isinstance(memview, _memoryviewslice):
 *         to_object_func = (<_memoryviewslice> memview).to_object_func
 *         to_dtype_func = (<_memoryviewslice> memview).to_dtype_func             # <<<<<<<<<<<<<<
 *     else:
 *         to_object_func = NULL
*/
    __pyx_t_3 = ((struct __pyx_memoryviewslice_obj *)__pyx_v_memview)->to_dtype_func;
    __pyx_v_to_dtype_func = __pyx_t_3;

    /* "View.MemoryView":1095
 *     cdef int (*to_dtype_func)(char *, object) except 0
 * 
 *     if isinstance(memview, _memoryviewslice):             # <<<<<<<<<<<<<<
 *         to_object_func = (<_memoryviewslice> memview).to_object_func
 *         to_dtype_func = (<_memoryviewslice> memview).to_dtype_func
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":1099
 *         to_dtype_func = (<_memoryviewslice> memview).to_dtype_func
 *     else:
 *         to_object_func = NULL             # <<<<<<<<<<<<<<
 *         to_dtype_func = NULL
 * 
*/
  /*else*/ {
    __pyx_v_to_object_func = NULL;

    /* "View.MemoryView":1100
 *     else:
 *         to_object_func = NULL
 *         to_dtype_func = NULL             # <<<<<<<<<<<<<<
 * 
 *     return memoryview_fromslice(memviewslice[0], memview.view.ndim,
*/
    __pyx_v_to_dtype_func = NULL;
  }
  __pyx_L3:;

  /* "View.MemoryView":1102
 *         to_dtype_func = NULL
 * 
 *     return memoryview_fromslice(memviewslice[0], memview.view.ndim,             # <<<<<<<<<<<<<<
 *                                 to_object_func, to_dtype_func,
 *                                 memview.dtype_is_object)
*/
  __Pyx_XDECREF(__pyx_r);

  /* "View.MemoryView":1104
 *     return memoryview_fromslice(memviewslice[0], memview.view.ndim,
 *                                 to_object_func, to_dtype_func,
 *                                 memview.dtype_is_object)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_4 = __pyx_memoryview_fromslice((__pyx_v_memviewslice[0]), __pyx_v_memview->view.ndim, __pyx_v_to_object_func, __pyx_v_to_dtype_func, __pyx_v_memview->dtype_is_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "View.MemoryView":1087
 *     return memoryview_copy_from_slice(memview, &memviewslice)
 * 
 * @cname('__pyx_memoryview_copy_object_from_slice')             # <<<<<<<<<<<<<<
 * cdef memoryview_copy_from_slice(memoryview memview, __Pyx_memviewslice *memviewslice):
 *     """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("View.MemoryView.memoryview_copy_from_slice", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "View.MemoryView":1110
 * 
 * 
 * cdef Py_ssize_t abs_py_ssize_t(Py_ssize_t arg) noexcept nogil:             # <<<<<<<<<<<<<<
 *     return -arg if arg < 0 else arg
 * 
*/

static Py_ssize_t abs_py_ssize_t(Py_ssize_t __pyx_v_arg) {
  Py_ssize_t __pyx_r;
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;

  /* "View.MemoryView":1111
 * 
 * cdef Py_ssize_t abs_py_ssize_t(Py_ssize_t arg) noexcept nogil:
 *     return -arg if arg < 0 else arg             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_get_best_slice_order')
*/
  __pyx_t_2 = (__pyx_v_arg < 0);
  if (__pyx_t_2) {
    __pyx_t_1 = (-__pyx_v_arg);
  } else {
    __pyx_t_1 = __pyx_v_arg;
  }
  __pyx_r = __pyx_t_1;
  goto __pyx_L0;

  /* "View.MemoryView":1110
 * 
 * 
 * cdef Py_ssize_t abs_py_ssize_t(Py_ssize_t arg) noexcept nogil:             # <<<<<<<<<<<<<<
 *     return -arg if arg < 0 else arg
 * 
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":1113
 *     return -arg if arg < 0 else arg
 * 
 * @cname('__pyx_get_best_slice_order')             # <<<<<<<<<<<<<<
 * cdef char get_best_order(__Pyx_memviewslice *mslice, int ndim) noexcept nogil:
 *     """
*/

static char __pyx_get_best_slice_order(__Pyx_memviewslice *__pyx_v_mslice, int __pyx_v_ndim) {
  int __pyx_v_i;
  Py_ssize_t __pyx_v_c_stride;
  Py_ssize_t __pyx_v_f_stride;
  char __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;

  /* "View.MemoryView":1119
 *     """
 *     cdef int i
 *     cdef Py_ssize_t c_stride = 0             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t f_stride = 0
 * 
*/
  __pyx_v_c_stride = 0;

  /* "View.MemoryView":1120
 *     cdef int i
 *     cdef Py_ssize_t c_stride = 0
 *     cdef Py_ssize_t f_stride = 0             # <<<<<<<<<<<<<<
 * 
 *     for i in range(ndim - 1, -1, -1):
*/
  __pyx_v_f_stride = 0;

  /* "View.MemoryView":1122
 *     cdef Py_ssize_t f_stride = 0
 * 
 *     for i in range(ndim - 1, -1, -1):             # <<<<<<<<<<<<<<
 *         if mslice.shape[i] > 1:
 *             c_stride = mslice.strides[i]
*/
  for (__pyx_t_1 = (__pyx_v_ndim - 1); __pyx_t_1 > -1; __pyx_t_1-=1) {
    __pyx_v_i = __pyx_t_1;

    /* "View.MemoryView":1123
 * 
 *     for i in range(ndim - 1, -1, -1):
 *         if mslice.shape[i] > 1:             # <<<<<<<<<<<<<<
 *             c_stride = mslice.strides[i]
 *             break
*/
    __pyx_t_2 = ((__pyx_v_mslice->shape[__pyx_v_i]) > 1);
    if (__pyx_t_2) {

      /* "View.MemoryView":1124
 *     for i in range(ndim - 1, -1, -1):
 *         if mslice.shape[i] > 1:
 *             c_stride = mslice.strides[i]             # <<<<<<<<<<<<<<
 *             break
 * 
*/
      __pyx_v_c_stride = (__pyx_v_mslice->strides[__pyx_v_i]);

      /* "View.MemoryView":1125
 *         if mslice.shape[i] > 1:
 *             c_stride = mslice.strides[i]
 *             break             # <<<<<<<<<<<<<<
 * 
 *     for i in range(ndim):
*/
      goto __pyx_L4_break;

      /* "View.MemoryView":1123
 * 
 *     for i in range(ndim - 1, -1, -1):
 *         if mslice.shape[i] > 1:             # <<<<<<<<<<<<<<
 *             c_stride = mslice.strides[i]
 *             break
*/
    }
  }
  __pyx_L4_break:;

  /* "View.MemoryView":1127
 *             break
 * 
 *     for i in range(ndim):             # <<<<<<<<<<<<<<
 *         if mslice.shape[i] > 1:
 *             f_stride = mslice.strides[i]
*/
  __pyx_t_1 = __pyx_v_ndim;
  __pyx_t_3 = __pyx_t_1;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "View.MemoryView":1128
 * 
 *     for i in range(ndim):
 *         if mslice.shape[i] > 1:             # <<<<<<<<<<<<<<
 *             f_stride = mslice.strides[i]
 *             break
*/
    __pyx_t_2 = ((__pyx_v_mslice->shape[__pyx_v_i]) > 1);
    if (__pyx_t_2) {

      /* "View.MemoryView":1129
 *     for i in range(ndim):
 *         if mslice.shape[i] > 1:
 *             f_stride = mslice.strides[i]             # <<<<<<<<<<<<<<
 *             break
 * 
*/
      __pyx_v_f_stride = (__pyx_v_mslice->strides[__pyx_v_i]);

      /* "View.MemoryView":1130
 *         if mslice.shape[i] > 1:
 *             f_stride = mslice.strides[i]
 *             break             # <<<<<<<<<<<<<<
 * 
 *     if abs_py_ssize_t(c_stride) <= abs_py_ssize_t(f_stride):
*/
      goto __pyx_L7_break;

      /* "View.MemoryView":1128
 * 
 *     for i in range(ndim):
 *         if mslice.shape[i] > 1:             # <<<<<<<<<<<<<<
 *             f_stride = mslice.strides[i]
 *             break
*/
    }
  }
  __pyx_L7_break:;

  /* "View.MemoryView":1132
 *             break
 * 
 *     if abs_py_ssize_t(c_stride) <= abs_py_ssize_t(f_stride):             # <<<<<<<<<<<<<<
 *         return 'C'
 *     else:
*/
  __pyx_t_2 = (abs_py_ssize_t(__pyx_v_c_stride) <= abs_py_ssize_t(__pyx_v_f_stride));
  if (__pyx_t_2) {

    /* "View.MemoryView":1133
 * 
 *     if abs_py_ssize_t(c_stride) <= abs_py_ssize_t(f_stride):
 *         return 'C'             # <<<<<<<<<<<<<<
 *     else:
 *         return 'F'
*/
    __pyx_r = 'C';
    goto __pyx_L0;

    /* "View.MemoryView":1132
 *             break
 * 
 *     if abs_py_ssize_t(c_stride) <= abs_py_ssize_t(f_stride):             # <<<<<<<<<<<<<<
 *         return 'C'
 *     else:
*/
  }

  /* "View.MemoryView":1135
 *         return 'C'
 *     else:
 *         return 'F'             # <<<<<<<<<<<<<<
 * 
 * @cython.cdivision(True)
*/
  /*else*/ {
    __pyx_r = 'F';
    goto __pyx_L0;
  }

  /* "View.MemoryView":1113
 *     return -arg if arg < 0 else arg
 * 
 * @cname('__pyx_get_best_slice_order')             # <<<<<<<<<<<<<<
 * cdef char get_best_order(__Pyx_memviewslice *mslice, int ndim) noexcept nogil:
 *     """
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":1137
 *         return 'F'
 * 
 * @cython.cdivision(True)             # <<<<<<<<<<<<<<
 * cdef void _copy_strided_to_strided(char *src_data, Py_ssize_t *src_strides,
 *                                    char *dst_data, Py_ssize_t *dst_strides,
*/

static void _copy_strided_to_strided(char *__pyx_v_src_data, Py_ssize_t *__pyx_v_src_strides, char *__pyx_v_dst_data, Py_ssize_t *__pyx_v_dst_strides, Py_ssize_t *__pyx_v_src_shape, Py_ssize_t *__pyx_v_dst_shape, int __pyx_v_ndim, size_t __pyx_v_itemsize) {
  CYTHON_UNUSED Py_ssize_t __pyx_v_i;
  CYTHON_UNUSED Py_ssize_t __pyx_v_src_extent;
  Py_ssize_t __pyx_v_dst_extent;
  Py_ssize_t __pyx_v_src_stride;
  Py_ssize_t __pyx_v_dst_stride;
  int __pyx_t_1;
  int __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;

  /* "View.MemoryView":1145
 * 
 *     cdef Py_ssize_t i
 *     cdef Py_ssize_t src_extent = src_shape[0]             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t dst_extent = dst_shape[0]
 *     cdef Py_ssize_t src_stride = src_strides[0]
*/
  __pyx_v_src_extent = (__pyx_v_src_shape[0]);

  /* "View.MemoryView":1146
 *     cdef Py_ssize_t i
 *     cdef Py_ssize_t src_extent = src_shape[0]
 *     cdef Py_ssize_t dst_extent = dst_shape[0]             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t src_stride = src_strides[0]
 *     cdef Py_ssize_t dst_stride = dst_strides[0]
*/
  __pyx_v_dst_extent = (__pyx_v_dst_shape[0]);

  /* "View.MemoryView":1147
 *     cdef Py_ssize_t src_extent = src_shape[0]
 *     cdef Py_ssize_t dst_extent = dst_shape[0]
 *     cdef Py_ssize_t src_stride = src_strides[0]             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t dst_stride = dst_strides[0]
 * 
*/
  __pyx_v_src_stride = (__pyx_v_src_strides[0]);

  /* "View.MemoryView":1148
 *     cdef Py_ssize_t dst_extent = dst_shape[0]
 *     cdef Py_ssize_t src_stride = src_strides[0]
 *     cdef Py_ssize_t dst_stride = dst_strides[0]             # <<<<<<<<<<<<<<
 * 
 *     if ndim == 1:
*/
  __pyx_v_dst_stride = (__pyx_v_dst_strides[0]);

  /* "View.MemoryView":1150
 *     cdef Py_ssize_t dst_stride = dst_strides[0]
 * 
 *     if ndim == 1:             # <<<<<<<<<<<<<<
 *         if (src_stride > 0 and dst_stride > 0 and
 *                 <size_t> src_stride == itemsize == <size_t> dst_stride):
*/
  __pyx_t_1 = (__pyx_v_ndim == 1);
  if (__pyx_t_1) {

    /* "View.MemoryView":1151
 * 
 *     if ndim == 1:
 *         if (src_stride > 0 and dst_stride > 0 and             # <<<<<<<<<<<<<<
 *                 <size_t> src_stride == itemsize == <size_t> dst_stride):
 *             memcpy(dst_data, src_data, itemsize * dst_extent)
*/
    __pyx_t_2 = (__pyx_v_src_stride > 0);
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L5_bool_binop_done;
    }
    __pyx_t_2 = (__pyx_v_dst_stride > 0);
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L5_bool_binop_done;
    }

    /* "View.MemoryView":1152
 *     if ndim == 1:
 *         if (src_stride > 0 and dst_stride > 0 and
 *                 <size_t> src_stride == itemsize == <size_t> dst_stride):             # <<<<<<<<<<<<<<
 *             memcpy(dst_data, src_data, itemsize * dst_extent)
 *         else:
*/
    __pyx_t_2 = (((size_t)__pyx_v_src_stride) == __pyx_v_itemsize);
    if (__pyx_t_2) {
      __pyx_t_2 = (__pyx_v_itemsize == ((size_t)__pyx_v_dst_stride));
    }
    __pyx_t_1 = __pyx_t_2;
    __pyx_L5_bool_binop_done:;

    /* "View.MemoryView":1151
 * 
 *     if ndim == 1:
 *         if (src_stride > 0 and dst_stride > 0 and             # <<<<<<<<<<<<<<
 *                 <size_t> src_stride == itemsize == <size_t> dst_stride):
 *             memcpy(dst_data, src_data, itemsize * dst_extent)
*/
    if (__pyx_t_1) {

      /* "View.MemoryView":1153
 *         if (src_stride > 0 and dst_stride > 0 and
 *                 <size_t> src_stride == itemsize == <size_t> dst_stride):
 *             memcpy(dst_data, src_data, itemsize * dst_extent)             # <<<<<<<<<<<<<<
 *         else:
 *             for i in range(dst_extent):
*/
      (void)(memcpy(__pyx_v_dst_data, __pyx_v_src_data, (__pyx_v_itemsize * __pyx_v_dst_extent)));

      /* "View.MemoryView":1151
 * 
 *     if ndim == 1:
 *         if (src_stride > 0 and dst_stride > 0 and             # <<<<<<<<<<<<<<
 *                 <size_t> src_stride == itemsize == <size_t> dst_stride):
 *             memcpy(dst_data, src_data, itemsize * dst_extent)
*/
      goto __pyx_L4;
    }

    /* "View.MemoryView":1155
 *             memcpy(dst_data, src_data, itemsize * dst_extent)
 *         else:
 *             for i in range(dst_extent):             # <<<<<<<<<<<<<<
 *                 memcpy(dst_data, src_data, itemsize)
 *                 src_data += src_stride
*/
    /*else*/ {
      __pyx_t_3 = __pyx_v_dst_extent;
      __pyx_t_4 = __pyx_t_3;
      for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
        __pyx_v_i = __pyx_t_5;

        /* "View.MemoryView":1156
 *         else:
 *             for i in range(dst_extent):
 *                 memcpy(dst_data, src_data, itemsize)             # <<<<<<<<<<<<<<
 *                 src_data += src_stride
 *                 dst_data += dst_stride
*/
        (void)(memcpy(__pyx_v_dst_data, __pyx_v_src_data, __pyx_v_itemsize));

        /* "View.MemoryView":1157
 *             for i in range(dst_extent):
 *                 memcpy(dst_data, src_data, itemsize)
 *                 src_data += src_stride             # <<<<<<<<<<<<<<
 *                 dst_data += dst_stride
 *     else:
*/
        __pyx_v_src_data = (__pyx_v_src_data + __pyx_v_src_stride);

        /* "View.MemoryView":1158
 *                 memcpy(dst_data, src_data, itemsize)
 *                 src_data += src_stride
 *                 dst_data += dst_stride             # <<<<<<<<<<<<<<
 *     else:
 *         for i in range(dst_extent):
*/
        __pyx_v_dst_data = (__pyx_v_dst_data + __pyx_v_dst_stride);
      }
    }
    __pyx_L4:;

    /* "View.MemoryView":1150
 *     cdef Py_ssize_t dst_stride = dst_strides[0]
 * 
 *     if ndim == 1:             # <<<<<<<<<<<<<<
 *         if (src_stride > 0 and dst_stride > 0 and
 *                 <size_t> src_stride == itemsize == <size_t> dst_stride):
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":1160
 *                 dst_data += dst_stride
 *     else:
 *         for i in range(dst_extent):             # <<<<<<<<<<<<<<
 *             _copy_strided_to_strided(src_data, src_strides + 1,
 *                                      dst_data, dst_strides + 1,
*/
  /*else*/ {
    __pyx_t_3 = __pyx_v_dst_extent;
    __pyx_t_4 = __pyx_t_3;
    for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
      __pyx_v_i = __pyx_t_5;

      /* "View.MemoryView":1161
 *     else:
 *         for i in range(dst_extent):
 *             _copy_strided_to_strided(src_data, src_strides + 1,             # <<<<<<<<<<<<<<
 *                                      dst_data, dst_strides + 1,
 *                                      src_shape + 1, dst_shape + 1,
*/
      _copy_strided_to_strided(__pyx_v_src_data, (__pyx_v_src_strides + 1), __pyx_v_dst_data, (__pyx_v_dst_strides + 1), (__pyx_v_src_shape + 1), (__pyx_v_dst_shape + 1), (__pyx_v_ndim - 1), __pyx_v_itemsize);

      /* "View.MemoryView":1165
 *                                      src_shape + 1, dst_shape + 1,
 *                                      ndim - 1, itemsize)
 *             src_data += src_stride             # <<<<<<<<<<<<<<
 *             dst_data += dst_stride
 * 
*/
      __pyx_v_src_data = (__pyx_v_src_data + __pyx_v_src_stride);

      /* "View.MemoryView":1166
 *                                      ndim - 1, itemsize)
 *             src_data += src_stride
 *             dst_data += dst_stride             # <<<<<<<<<<<<<<
 * 
 * cdef void copy_strided_to_strided(__Pyx_memviewslice *src,
*/
      __pyx_v_dst_data = (__pyx_v_dst_data + __pyx_v_dst_stride);
    }
  }
  __pyx_L3:;

  /* "View.MemoryView":1137
 *         return 'F'
 * 
 * @cython.cdivision(True)             # <<<<<<<<<<<<<<
 * cdef void _copy_strided_to_strided(char *src_data, Py_ssize_t *src_strides,
 *                                    char *dst_data, Py_ssize_t *dst_strides,
*/

  /* function exit code */
}

/* "View.MemoryView":1168
 *             dst_data += dst_stride
 * 
 * cdef void copy_strided_to_strided(__Pyx_memviewslice *src,             # <<<<<<<<<<<<<<
 *                                   __Pyx_memviewslice *dst,
 *                                   int ndim, size_t itemsize) noexcept nogil:
*/

static void copy_strided_to_strided(__Pyx_memviewslice *__pyx_v_src, __Pyx_memviewslice *__pyx_v_dst, int __pyx_v_ndim, size_t __pyx_v_itemsize) {

  /* "View.MemoryView":1171
 *                                   __Pyx_memviewslice *dst,
 *                                   int ndim, size_t itemsize) noexcept nogil:
 *     _copy_strided_to_strided(src.data, src.strides, dst.data, dst.strides,             # <<<<<<<<<<<<<<
 *                              src.shape, dst.shape, ndim, itemsize)
 * 
*/
  _copy_strided_to_strided(__pyx_v_src->data, __pyx_v_src->strides, __pyx_v_dst->data, __pyx_v_dst->strides, __pyx_v_src->shape, __pyx_v_dst->shape, __pyx_v_ndim, __pyx_v_itemsize);

  /* "View.MemoryView":1168
 *             dst_data += dst_stride
 * 
 * cdef void copy_strided_to_strided(__Pyx_memviewslice *src,             # <<<<<<<<<<<<<<
 *                                   __Pyx_memviewslice *dst,
 *                                   int ndim, size_t itemsize) noexcept nogil:
*/

  /* function exit code */
}

/* "View.MemoryView":1174
 *                              src.shape, dst.shape, ndim, itemsize)
 * 
 * @cname('__pyx_memoryview_slice_get_size')             # <<<<<<<<<<<<<<
 * cdef Py_ssize_t slice_get_size(__Pyx_memviewslice *src, int ndim) noexcept nogil:
 *     "Return the size of the memory occupied by the slice in number of bytes"
*/

static Py_ssize_t __pyx_memoryview_slice_get_size(__Pyx_memviewslice *__pyx_v_src, int __pyx_v_ndim) {
  Py_ssize_t __pyx_v_shape;
  Py_ssize_t __pyx_v_size;
  Py_ssize_t __pyx_r;
  Py_ssize_t __pyx_t_1;
  Py_ssize_t *__pyx_t_2;
  Py_ssize_t *__pyx_t_3;
  Py_ssize_t *__pyx_t_4;

  /* "View.MemoryView":1177
 * cdef Py_ssize_t slice_get_size(__Pyx_memviewslice *src, int ndim) noexcept nogil:
 *     "Return the size of the memory occupied by the slice in number of bytes"
 *     cdef Py_ssize_t shape, size = src.memview.view.itemsize             # <<<<<<<<<<<<<<
 * 
 *     for shape in src.shape[:ndim]:
*/
  __pyx_t_1 = __pyx_v_src->memview->view.itemsize;
  __pyx_v_size = __pyx_t_1;

  /* "View.MemoryView":1179
 *     cdef Py_ssize_t shape, size = src.memview.view.itemsize
 * 
 *     for shape in src.shape[:ndim]:             # <<<<<<<<<<<<<<
 *         size *= shape
 * 
*/
  __pyx_t_3 = (__pyx_v_src->shape + __pyx_v_ndim);
  for (__pyx_t_4 = __pyx_v_src->shape; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
    __pyx_t_2 = __pyx_t_4;
    __pyx_v_shape = (__pyx_t_2[0]);

    /* "View.MemoryView":1180
 * 
 *     for shape in src.shape[:ndim]:
 *         size *= shape             # <<<<<<<<<<<<<<
 * 
 *     return size
*/
    __pyx_v_size = (__pyx_v_size * __pyx_v_shape);
  }

  /* "View.MemoryView":1182
 *         size *= shape
 * 
 *     return size             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_fill_contig_strides_array')
*/
  __pyx_r = __pyx_v_size;
  goto __pyx_L0;

  /* "View.MemoryView":1174
 *                              src.shape, dst.shape, ndim, itemsize)
 * 
 * @cname('__pyx_memoryview_slice_get_size')             # <<<<<<<<<<<<<<
 * cdef Py_ssize_t slice_get_size(__Pyx_memviewslice *src, int ndim) noexcept nogil:
 *     "Return the size of the memory occupied by the slice in number of bytes"
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":1184
 *     return size
 * 
 * @cname('__pyx_fill_contig_strides_array')             # <<<<<<<<<<<<<<
 * cdef Py_ssize_t fill_contig_strides_array(
 *                 Py_ssize_t *shape, Py_ssize_t *strides, Py_ssize_t stride,
*/

static Py_ssize_t __pyx_fill_contig_strides_array(Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, Py_ssize_t __pyx_v_stride, int __pyx_v_ndim, char __pyx_v_order) {
  int __pyx_v_idx;
  Py_ssize_t __pyx_r;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;

  /* "View.MemoryView":1194
 *     cdef int idx
 * 
 *     if order == 'F':             # <<<<<<<<<<<<<<
 *         for idx in range(ndim):
 *             strides[idx] = stride
*/
  __pyx_t_1 = (__pyx_v_order == 'F');
  if (__pyx_t_1) {

    /* "View.MemoryView":1195
 * 
 *     if order == 'F':
 *         for idx in range(ndim):             # <<<<<<<<<<<<<<
 *             strides[idx] = stride
 *             stride *= shape[idx]
*/
    __pyx_t_2 = __pyx_v_ndim;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_idx = __pyx_t_4;

      /* "View.MemoryView":1196
 *     if order == 'F':
 *         for idx in range(ndim):
 *             strides[idx] = stride             # <<<<<<<<<<<<<<
 *             stride *= shape[idx]
 *     else:
*/
      (__pyx_v_strides[__pyx_v_idx]) = __pyx_v_stride;

      /* "View.MemoryView":1197
 *         for idx in range(ndim):
 *             strides[idx] = stride
 *             stride *= shape[idx]             # <<<<<<<<<<<<<<
 *     else:
 *         for idx in range(ndim - 1, -1, -1):
*/
      __pyx_v_stride = (__pyx_v_stride * (__pyx_v_shape[__pyx_v_idx]));
    }

    /* "View.MemoryView":1194
 *     cdef int idx
 * 
 *     if order == 'F':             # <<<<<<<<<<<<<<
 *         for idx in range(ndim):
 *             strides[idx] = stride
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":1199
 *             stride *= shape[idx]
 *     else:
 *         for idx in range(ndim - 1, -1, -1):             # <<<<<<<<<<<<<<
 *             strides[idx] = stride
 *             stride *= shape[idx]
*/
  /*else*/ {
    for (__pyx_t_2 = (__pyx_v_ndim - 1); __pyx_t_2 > -1; __pyx_t_2-=1) {
      __pyx_v_idx = __pyx_t_2;

      /* "View.MemoryView":1200
 *     else:
 *         for idx in range(ndim - 1, -1, -1):
 *             strides[idx] = stride             # <<<<<<<<<<<<<<
 *             stride *= shape[idx]
 * 
*/
      (__pyx_v_strides[__pyx_v_idx]) = __pyx_v_stride;

      /* "View.MemoryView":1201
 *         for idx in range(ndim - 1, -1, -1):
 *             strides[idx] = stride
 *             stride *= shape[idx]             # <<<<<<<<<<<<<<
 * 
 *     return stride
*/
      __pyx_v_stride = (__pyx_v_stride * (__pyx_v_shape[__pyx_v_idx]));
    }
  }
  __pyx_L3:;

  /* "View.MemoryView":1203
 *             stride *= shape[idx]
 * 
 *     return stride             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_copy_data_to_temp')
*/
  __pyx_r = __pyx_v_stride;
  goto __pyx_L0;

  /* "View.MemoryView":1184
 *     return size
 * 
 * @cname('__pyx_fill_contig_strides_array')             # <<<<<<<<<<<<<<
 * cdef Py_ssize_t fill_contig_strides_array(
 *                 Py_ssize_t *shape, Py_ssize_t *strides, Py_ssize_t stride,
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":1205
 *     return stride
 * 
 * @cname('__pyx_memoryview_copy_data_to_temp')             # <<<<<<<<<<<<<<
 * cdef void *copy_data_to_temp(__Pyx_memviewslice *src,
 *                              __Pyx_memviewslice *tmpslice,
*/

static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *__pyx_v_src, __Pyx_memviewslice *__pyx_v_tmpslice, char __pyx_v_order, int __pyx_v_ndim) {
  int __pyx_v_i;
  void *__pyx_v_result;
  size_t __pyx_v_itemsize;
  size_t __pyx_v_size;
  void *__pyx_r;
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  struct __pyx_memoryview_obj *__pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save;

  /* "View.MemoryView":1217
 *     cdef void *result
 * 
 *     cdef size_t itemsize = src.memview.view.itemsize             # <<<<<<<<<<<<<<
 *     cdef size_t size = slice_get_size(src, ndim)
 * 
*/
  __pyx_t_1 = __pyx_v_src->memview->view.itemsize;
  __pyx_v_itemsize = __pyx_t_1;

  /* "View.MemoryView":1218
 * 
 *     cdef size_t itemsize = src.memview.view.itemsize
 *     cdef size_t size = slice_get_size(src, ndim)             # <<<<<<<<<<<<<<
 * 
 *     result = malloc(size)
*/
  __pyx_v_size = __pyx_memoryview_slice_get_size(__pyx_v_src, __pyx_v_ndim);

  /* "View.MemoryView":1220
 *     cdef size_t size = slice_get_size(src, ndim)
 * 
 *     result = malloc(size)             # <<<<<<<<<<<<<<
 *     if not result:
 *         _err_no_memory()
*/
  __pyx_v_result = malloc(__pyx_v_size);

  /* "View.MemoryView":1221
 * 
 *     result = malloc(size)
 *     if not result:             # <<<<<<<<<<<<<<
 *         _err_no_memory()
 * 
*/
  __pyx_t_2 = (!(__pyx_v_result != 0));
  if (__pyx_t_2) {

    /* "View.MemoryView":1222
 *     result = malloc(size)
 *     if not result:
 *         _err_no_memory()             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __pyx_t_3 = __pyx_memoryview_err_no_memory(); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(5, 1222, __pyx_L1_error)

    /* "View.MemoryView":1221
 * 
 *     result = malloc(size)
 *     if not result:             # <<<<<<<<<<<<<<
 *         _err_no_memory()
 * 
*/
  }

  /* "View.MemoryView":1225
 * 
 * 
 *     tmpslice.data = <char *> result             # <<<<<<<<<<<<<<
 *     tmpslice.memview = src.memview
 *     for i in range(ndim):
*/
  __pyx_v_tmpslice->data = ((char *)__pyx_v_result);

  /* "View.MemoryView":1226
 * 
 *     tmpslice.data = <char *> result
 *     tmpslice.memview = src.memview             # <<<<<<<<<<<<<<
 *     for i in range(ndim):
 *         tmpslice.shape[i] = src.shape[i]
*/
  __pyx_t_4 = __pyx_v_src->memview;
  __pyx_v_tmpslice->memview = __pyx_t_4;

  /* "View.MemoryView":1227
 *     tmpslice.data = <char *> result
 *     tmpslice.memview = src.memview
 *     for i in range(ndim):             # <<<<<<<<<<<<<<
 *         tmpslice.shape[i] = src.shape[i]
 *         tmpslice.suboffsets[i] = -1
*/
  __pyx_t_3 = __pyx_v_ndim;
  __pyx_t_5 = __pyx_t_3;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "View.MemoryView":1228
 *     tmpslice.memview = src.memview
 *     for i in range(ndim):
 *         tmpslice.shape[i] = src.shape[i]             # <<<<<<<<<<<<<<
 *         tmpslice.suboffsets[i] = -1
 * 
*/
    (__pyx_v_tmpslice->shape[__pyx_v_i]) = (__pyx_v_src->shape[__pyx_v_i]);

    /* "View.MemoryView":1229
 *     for i in range(ndim):
 *         tmpslice.shape[i] = src.shape[i]
 *         tmpslice.suboffsets[i] = -1             # <<<<<<<<<<<<<<
 * 
 *     fill_contig_strides_array(&tmpslice.shape[0], &tmpslice.strides[0], itemsize, ndim, order)
*/
    (__pyx_v_tmpslice->suboffsets[__pyx_v_i]) = -1L;
  }

  /* "View.MemoryView":1231
 *         tmpslice.suboffsets[i] = -1
 * 
 *     fill_contig_strides_array(&tmpslice.shape[0], &tmpslice.strides[0], itemsize, ndim, order)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  (void)(__pyx_fill_contig_strides_array((&(__pyx_v_tmpslice->shape[0])), (&(__pyx_v_tmpslice->strides[0])), __pyx_v_itemsize, __pyx_v_ndim, __pyx_v_order));

  /* "View.MemoryView":1234
 * 
 * 
 *     for i in range(ndim):             # <<<<<<<<<<<<<<
 *         if tmpslice.shape[i] == 1:
 *             tmpslice.strides[i] = 0
*/
  __pyx_t_3 = __pyx_v_ndim;
  __pyx_t_5 = __pyx_t_3;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "View.MemoryView":1235
 * 
 *     for i in range(ndim):
 *         if tmpslice.shape[i] == 1:             # <<<<<<<<<<<<<<
 *             tmpslice.strides[i] = 0
 * 
*/
    __pyx_t_2 = ((__pyx_v_tmpslice->shape[__pyx_v_i]) == 1);
    if (__pyx_t_2) {

      /* "View.MemoryView":1236
 *     for i in range(ndim):
 *         if tmpslice.shape[i] == 1:
 *             tmpslice.strides[i] = 0             # <<<<<<<<<<<<<<
 * 
 *     if slice_is_contig(src[0], order, ndim):
*/
      (__pyx_v_tmpslice->strides[__pyx_v_i]) = 0;

      /* "View.MemoryView":1235
 * 
 *     for i in range(ndim):
 *         if tmpslice.shape[i] == 1:             # <<<<<<<<<<<<<<
 *             tmpslice.strides[i] = 0
 * 
*/
    }
  }

  /* "View.MemoryView":1238
 *             tmpslice.strides[i] = 0
 * 
 *     if slice_is_contig(src[0], order, ndim):             # <<<<<<<<<<<<<<
 *         memcpy(result, src.data, size)
 *     else:
*/
  __pyx_t_2 = __pyx_memviewslice_is_contig((__pyx_v_src[0]), __pyx_v_order, __pyx_v_ndim);
  if (__pyx_t_2) {

    /* "View.MemoryView":1239
 * 
 *     if slice_is_contig(src[0], order, ndim):
 *         memcpy(result, src.data, size)             # <<<<<<<<<<<<<<
 *     else:
 *         copy_strided_to_strided(src, tmpslice, ndim, itemsize)
*/
    (void)(memcpy(__pyx_v_result, __pyx_v_src->data, __pyx_v_size));

    /* "View.MemoryView":1238
 *             tmpslice.strides[i] = 0
 * 
 *     if slice_is_contig(src[0], order, ndim):             # <<<<<<<<<<<<<<
 *         memcpy(result, src.data, size)
 *     else:
*/
    goto __pyx_L9;
  }

  /* "View.MemoryView":1241
 *         memcpy(result, src.data, size)
 *     else:
 *         copy_strided_to_strided(src, tmpslice, ndim, itemsize)             # <<<<<<<<<<<<<<
 * 
 *     return result
*/
  /*else*/ {
    copy_strided_to_strided(__pyx_v_src, __pyx_v_tmpslice, __pyx_v_ndim, __pyx_v_itemsize);
  }
  __pyx_L9:;

  /* "View.MemoryView":1243
 *         copy_strided_to_strided(src, tmpslice, ndim, itemsize)
 * 
 *     return result             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "View.MemoryView":1205
 *     return stride
 * 
 * @cname('__pyx_memoryview_copy_data_to_temp')             # <<<<<<<<<<<<<<
 * cdef void *copy_data_to_temp(__Pyx_memviewslice *src,
 *                              __Pyx_memviewslice *tmpslice,
*/

  /* function exit code */
  __pyx_L1_error:;
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_AddTraceback("View.MemoryView.copy_data_to_temp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":1247
 * 
 * 
 * @cname('__pyx_memoryview_err_extents')             # <<<<<<<<<<<<<<
 * cdef int _err_extents(int i, Py_ssize_t extent1,
 *                              Py_ssize_t extent2) except -1 with gil:
*/

static int __pyx_memoryview_err_extents(int __pyx_v_i, Py_ssize_t __pyx_v_extent1, Py_ssize_t __pyx_v_extent2) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4[7];
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("_err_extents", 0);

  /* "View.MemoryView":1250
 * cdef int _err_extents(int i, Py_ssize_t extent1,
 *                              Py_ssize_t extent2) except -1 with gil:
 *     raise ValueError, f"got differing extents in dimension {i} (got {extent1} and {extent2})"             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_err_dim')
*/
  __pyx_t_1 = __Pyx_PyUnicode_From_int(__pyx_v_i, 0, ' ', 'd'); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 1250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_extent1, 0, ' ', 'd'); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 1250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_extent2, 0, ' ', 'd'); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 1250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_got_differing_extents_in_dimensi;
  __pyx_t_4[1] = __pyx_t_1;
  __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u_got;
  __pyx_t_4[3] = __pyx_t_2;
  __pyx_t_4[4] = __pyx_mstate_global->__pyx_kp_u_and;
  __pyx_t_4[5] = __pyx_t_3;
  __pyx_t_4[6] = __pyx_mstate_global->__pyx_kp_u__5;
  __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 7, 35 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 6 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + 5 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 1, 127);
  if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 1250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_ValueError))), __pyx_t_5, 0, 0);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __PYX_ERR(5, 1250, __pyx_L1_error)

  /* "View.MemoryView":1247
 * 
 * 
 * @cname('__pyx_memoryview_err_extents')             # <<<<<<<<<<<<<<
 * cdef int _err_extents(int i, Py_ssize_t extent1,
 *                              Py_ssize_t extent2) except -1 with gil:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("View.MemoryView._err_extents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "View.MemoryView":1252
 *     raise ValueError, f"got differing extents in dimension {i} (got {extent1} and {extent2})"
 * 
 * @cname('__pyx_memoryview_err_dim')             # <<<<<<<<<<<<<<
 * cdef int _err_dim(PyObject *error, str msg, int dim) except -1 with gil:
 *     raise <object>error, msg % dim
*/

static int __pyx_memoryview_err_dim(PyObject *__pyx_v_error, PyObject *__pyx_v_msg, int __pyx_v_dim) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("_err_dim", 0);
  __Pyx_INCREF(__pyx_v_msg);

  /* "View.MemoryView":1254
 * @cname('__pyx_memoryview_err_dim')
 * cdef int _err_dim(PyObject *error, str msg, int dim) except -1 with gil:
 *     raise <object>error, msg % dim             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_err')
*/
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_dim); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 1254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_v_msg, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 1254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_Raise(((PyObject *)__pyx_v_error), __pyx_t_2, 0, 0);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __PYX_ERR(5, 1254, __pyx_L1_error)

  /* "View.MemoryView":1252
 *     raise ValueError, f"got differing extents in dimension {i} (got {extent1} and {extent2})"
 * 
 * @cname('__pyx_memoryview_err_dim')             # <<<<<<<<<<<<<<
 * cdef int _err_dim(PyObject *error, str msg, int dim) except -1 with gil:
 *     raise <object>error, msg % dim
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("View.MemoryView._err_dim", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __Pyx_XDECREF(__pyx_v_msg);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "View.MemoryView":1256
 *     raise <object>error, msg % dim
 * 
 * @cname('__pyx_memoryview_err')             # <<<<<<<<<<<<<<
 * cdef int _err(PyObject *error, str msg) except -1 with gil:
 *     raise <object>error, msg
*/

static int __pyx_memoryview_err(PyObject *__pyx_v_error, PyObject *__pyx_v_msg) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("_err", 0);
  __Pyx_INCREF(__pyx_v_msg);

  /* "View.MemoryView":1258
 * @cname('__pyx_memoryview_err')
 * cdef int _err(PyObject *error, str msg) except -1 with gil:
 *     raise <object>error, msg             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_err_no_memory')
*/
  __Pyx_Raise(((PyObject *)__pyx_v_error), __pyx_v_msg, 0, 0);
  __PYX_ERR(5, 1258, __pyx_L1_error)

  /* "View.MemoryView":1256
 *     raise <object>error, msg % dim
 * 
 * @cname('__pyx_memoryview_err')             # <<<<<<<<<<<<<<
 * cdef int _err(PyObject *error, str msg) except -1 with gil:
 *     raise <object>error, msg
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView._err", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __Pyx_XDECREF(__pyx_v_msg);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "View.MemoryView":1260
 *     raise <object>error, msg
 * 
 * @cname('__pyx_memoryview_err_no_memory')             # <<<<<<<<<<<<<<
 * cdef int _err_no_memory() except -1 with gil:
 *     raise MemoryError
*/

static int __pyx_memoryview_err_no_memory(void) {
  int __pyx_r;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "View.MemoryView":1262
 * @cname('__pyx_memoryview_err_no_memory')
 * cdef int _err_no_memory() except -1 with gil:
 *     raise MemoryError             # <<<<<<<<<<<<<<
 * 
 * 
*/
  PyErr_NoMemory(); __PYX_ERR(5, 1262, __pyx_L1_error)

  /* "View.MemoryView":1260
 *     raise <object>error, msg
 * 
 * @cname('__pyx_memoryview_err_no_memory')             # <<<<<<<<<<<<<<
 * cdef int _err_no_memory() except -1 with gil:
 *     raise MemoryError
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("View.MemoryView._err_no_memory", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "View.MemoryView":1265
 * 
 * 
 * @cname('__pyx_memoryview_copy_contents')             # <<<<<<<<<<<<<<
 * cdef int memoryview_copy_contents(__Pyx_memviewslice src,
 *                                   __Pyx_memviewslice dst,
*/

static int __pyx_memoryview_copy_contents(__Pyx_memviewslice __pyx_v_src, __Pyx_memviewslice __pyx_v_dst, int __pyx_v_src_ndim, int __pyx_v_dst_ndim, int __pyx_v_dtype_is_object) {
  void *__pyx_v_tmpdata;
  size_t __pyx_v_itemsize;
  int __pyx_v_i;
  char __pyx_v_order;
  int __pyx_v_broadcasting;
  int __pyx_v_direct_copy;
  __Pyx_memviewslice __pyx_v_tmp;
  int __pyx_v_ndim;
  int __pyx_r;
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  void *__pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save;

  /* "View.MemoryView":1274
 *     Check for overlapping memory and verify the shapes.
 *     """
 *     cdef void *tmpdata = NULL             # <<<<<<<<<<<<<<
 *     cdef size_t itemsize = src.memview.view.itemsize
 *     cdef int i
*/
  __pyx_v_tmpdata = NULL;

  /* "View.MemoryView":1275
 *     """
 *     cdef void *tmpdata = NULL
 *     cdef size_t itemsize = src.memview.view.itemsize             # <<<<<<<<<<<<<<
 *     cdef int i
 *     cdef char order = get_best_order(&src, src_ndim)
*/
  __pyx_t_1 = __pyx_v_src.memview->view.itemsize;
  __pyx_v_itemsize = __pyx_t_1;

  /* "View.MemoryView":1277
 *     cdef size_t itemsize = src.memview.view.itemsize
 *     cdef int i
 *     cdef char order = get_best_order(&src, src_ndim)             # <<<<<<<<<<<<<<
 *     cdef bint broadcasting = False
 *     cdef bint direct_copy = False
*/
  __pyx_v_order = __pyx_get_best_slice_order((&__pyx_v_src), __pyx_v_src_ndim);

  /* "View.MemoryView":1278
 *     cdef int i
 *     cdef char order = get_best_order(&src, src_ndim)
 *     cdef bint broadcasting = False             # <<<<<<<<<<<<<<
 *     cdef bint direct_copy = False
 *     cdef __Pyx_memviewslice tmp
*/
  __pyx_v_broadcasting = 0;

  /* "View.MemoryView":1279
 *     cdef char order = get_best_order(&src, src_ndim)
 *     cdef bint broadcasting = False
 *     cdef bint direct_copy = False             # <<<<<<<<<<<<<<
 *     cdef __Pyx_memviewslice tmp
 * 
*/
  __pyx_v_direct_copy = 0;

  /* "View.MemoryView":1282
 *     cdef __Pyx_memviewslice tmp
 * 
 *     if src_ndim < dst_ndim:             # <<<<<<<<<<<<<<
 *         broadcast_leading(&src, src_ndim, dst_ndim)
 *     elif dst_ndim < src_ndim:
*/
  __pyx_t_2 = (__pyx_v_src_ndim < __pyx_v_dst_ndim);
  if (__pyx_t_2) {

    /* "View.MemoryView":1283
 * 
 *     if src_ndim < dst_ndim:
 *         broadcast_leading(&src, src_ndim, dst_ndim)             # <<<<<<<<<<<<<<
 *     elif dst_ndim < src_ndim:
 *         broadcast_leading(&dst, dst_ndim, src_ndim)
*/
    __pyx_memoryview_broadcast_leading((&__pyx_v_src), __pyx_v_src_ndim, __pyx_v_dst_ndim);

    /* "View.MemoryView":1282
 *     cdef __Pyx_memviewslice tmp
 * 
 *     if src_ndim < dst_ndim:             # <<<<<<<<<<<<<<
 *         broadcast_leading(&src, src_ndim, dst_ndim)
 *     elif dst_ndim < src_ndim:
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":1284
 *     if src_ndim < dst_ndim:
 *         broadcast_leading(&src, src_ndim, dst_ndim)
 *     elif dst_ndim < src_ndim:             # <<<<<<<<<<<<<<
 *         broadcast_leading(&dst, dst_ndim, src_ndim)
 * 
*/
  __pyx_t_2 = (__pyx_v_dst_ndim < __pyx_v_src_ndim);
  if (__pyx_t_2) {

    /* "View.MemoryView":1285
 *         broadcast_leading(&src, src_ndim, dst_ndim)
 *     elif dst_ndim < src_ndim:
 *         broadcast_leading(&dst, dst_ndim, src_ndim)             # <<<<<<<<<<<<<<
 * 
 *     cdef int ndim = max(src_ndim, dst_ndim)
*/
    __pyx_memoryview_broadcast_leading((&__pyx_v_dst), __pyx_v_dst_ndim, __pyx_v_src_ndim);

    /* "View.MemoryView":1284
 *     if src_ndim < dst_ndim:
 *         broadcast_leading(&src, src_ndim, dst_ndim)
 *     elif dst_ndim < src_ndim:             # <<<<<<<<<<<<<<
 *         broadcast_leading(&dst, dst_ndim, src_ndim)
 * 
*/
  }
  __pyx_L3:;

  /* "View.MemoryView":1287
 *         broadcast_leading(&dst, dst_ndim, src_ndim)
 * 
 *     cdef int ndim = max(src_ndim, dst_ndim)             # <<<<<<<<<<<<<<
 * 
 *     for i in range(ndim):
*/
  __pyx_t_3 = __pyx_v_dst_ndim;
  __pyx_t_4 = __pyx_v_src_ndim;
  __pyx_t_2 = (__pyx_t_3 > __pyx_t_4);
  if (__pyx_t_2) {
    __pyx_t_5 = __pyx_t_3;
  } else {
    __pyx_t_5 = __pyx_t_4;
  }
  __pyx_v_ndim = __pyx_t_5;

  /* "View.MemoryView":1289
 *     cdef int ndim = max(src_ndim, dst_ndim)
 * 
 *     for i in range(ndim):             # <<<<<<<<<<<<<<
 *         if src.shape[i] != dst.shape[i]:
 *             if src.shape[i] == 1:
*/
  __pyx_t_5 = __pyx_v_ndim;
  __pyx_t_3 = __pyx_t_5;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "View.MemoryView":1290
 * 
 *     for i in range(ndim):
 *         if src.shape[i] != dst.shape[i]:             # <<<<<<<<<<<<<<
 *             if src.shape[i] == 1:
 *                 broadcasting = True
*/
    __pyx_t_2 = ((__pyx_v_src.shape[__pyx_v_i]) != (__pyx_v_dst.shape[__pyx_v_i]));
    if (__pyx_t_2) {

      /* "View.MemoryView":1291
 *     for i in range(ndim):
 *         if src.shape[i] != dst.shape[i]:
 *             if src.shape[i] == 1:             # <<<<<<<<<<<<<<
 *                 broadcasting = True
 *                 src.strides[i] = 0
*/
      __pyx_t_2 = ((__pyx_v_src.shape[__pyx_v_i]) == 1);
      if (__pyx_t_2) {

        /* "View.MemoryView":1292
 *         if src.shape[i] != dst.shape[i]:
 *             if src.shape[i] == 1:
 *                 broadcasting = True             # <<<<<<<<<<<<<<
 *                 src.strides[i] = 0
 *             else:
*/
        __pyx_v_broadcasting = 1;

        /* "View.MemoryView":1293
 *             if src.shape[i] == 1:
 *                 broadcasting = True
 *                 src.strides[i] = 0             # <<<<<<<<<<<<<<
 *             else:
 *                 _err_extents(i, dst.shape[i], src.shape[i])
*/
        (__pyx_v_src.strides[__pyx_v_i]) = 0;

        /* "View.MemoryView":1291
 *     for i in range(ndim):
 *         if src.shape[i] != dst.shape[i]:
 *             if src.shape[i] == 1:             # <<<<<<<<<<<<<<
 *                 broadcasting = True
 *                 src.strides[i] = 0
*/
        goto __pyx_L7;
      }

      /* "View.MemoryView":1295
 *                 src.strides[i] = 0
 *             else:
 *                 _err_extents(i, dst.shape[i], src.shape[i])             # <<<<<<<<<<<<<<
 * 
 *         if src.suboffsets[i] >= 0:
*/
      /*else*/ {
        __pyx_t_6 = __pyx_memoryview_err_extents(__pyx_v_i, (__pyx_v_dst.shape[__pyx_v_i]), (__pyx_v_src.shape[__pyx_v_i])); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(5, 1295, __pyx_L1_error)
      }
      __pyx_L7:;

      /* "View.MemoryView":1290
 * 
 *     for i in range(ndim):
 *         if src.shape[i] != dst.shape[i]:             # <<<<<<<<<<<<<<
 *             if src.shape[i] == 1:
 *                 broadcasting = True
*/
    }

    /* "View.MemoryView":1297
 *                 _err_extents(i, dst.shape[i], src.shape[i])
 * 
 *         if src.suboffsets[i] >= 0:             # <<<<<<<<<<<<<<
 *             _err_dim(PyExc_ValueError, "Dimension %d is not direct", i)
 * 
*/
    __pyx_t_2 = ((__pyx_v_src.suboffsets[__pyx_v_i]) >= 0);
    if (__pyx_t_2) {

      /* "View.MemoryView":1298
 * 
 *         if src.suboffsets[i] >= 0:
 *             _err_dim(PyExc_ValueError, "Dimension %d is not direct", i)             # <<<<<<<<<<<<<<
 * 
 *     if slices_overlap(&src, &dst, ndim, itemsize):
*/
      __pyx_t_6 = __pyx_memoryview_err_dim(PyExc_ValueError, __pyx_mstate_global->__pyx_kp_u_Dimension_d_is_not_direct, __pyx_v_i); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(5, 1298, __pyx_L1_error)

      /* "View.MemoryView":1297
 *                 _err_extents(i, dst.shape[i], src.shape[i])
 * 
 *         if src.suboffsets[i] >= 0:             # <<<<<<<<<<<<<<
 *             _err_dim(PyExc_ValueError, "Dimension %d is not direct", i)
 * 
*/
    }
  }

  /* "View.MemoryView":1300
 *             _err_dim(PyExc_ValueError, "Dimension %d is not direct", i)
 * 
 *     if slices_overlap(&src, &dst, ndim, itemsize):             # <<<<<<<<<<<<<<
 * 
 *         if not slice_is_contig(src, order, ndim):
*/
  __pyx_t_2 = __pyx_slices_overlap((&__pyx_v_src), (&__pyx_v_dst), __pyx_v_ndim, __pyx_v_itemsize);
  if (__pyx_t_2) {

    /* "View.MemoryView":1302
 *     if slices_overlap(&src, &dst, ndim, itemsize):
 * 
 *         if not slice_is_contig(src, order, ndim):             # <<<<<<<<<<<<<<
 *             order = get_best_order(&dst, ndim)
 * 
*/
    __pyx_t_2 = (!__pyx_memviewslice_is_contig(__pyx_v_src, __pyx_v_order, __pyx_v_ndim));
    if (__pyx_t_2) {

      /* "View.MemoryView":1303
 * 
 *         if not slice_is_contig(src, order, ndim):
 *             order = get_best_order(&dst, ndim)             # <<<<<<<<<<<<<<
 * 
 *         tmpdata = copy_data_to_temp(&src, &tmp, order, ndim)
*/
      __pyx_v_order = __pyx_get_best_slice_order((&__pyx_v_dst), __pyx_v_ndim);

      /* "View.MemoryView":1302
 *     if slices_overlap(&src, &dst, ndim, itemsize):
 * 
 *         if not slice_is_contig(src, order, ndim):             # <<<<<<<<<<<<<<
 *             order = get_best_order(&dst, ndim)
 * 
*/
    }

    /* "View.MemoryView":1305
 *             order = get_best_order(&dst, ndim)
 * 
 *         tmpdata = copy_data_to_temp(&src, &tmp, order, ndim)             # <<<<<<<<<<<<<<
 *         src = tmp
 * 
*/
    __pyx_t_7 = __pyx_memoryview_copy_data_to_temp((&__pyx_v_src), (&__pyx_v_tmp), __pyx_v_order, __pyx_v_ndim); if (unlikely(__pyx_t_7 == ((void *)NULL))) __PYX_ERR(5, 1305, __pyx_L1_error)
    __pyx_v_tmpdata = __pyx_t_7;

    /* "View.MemoryView":1306
 * 
 *         tmpdata = copy_data_to_temp(&src, &tmp, order, ndim)
 *         src = tmp             # <<<<<<<<<<<<<<
 * 
 *     if not broadcasting:
*/
    __pyx_v_src = __pyx_v_tmp;

    /* "View.MemoryView":1300
 *             _err_dim(PyExc_ValueError, "Dimension %d is not direct", i)
 * 
 *     if slices_overlap(&src, &dst, ndim, itemsize):             # <<<<<<<<<<<<<<
 * 
 *         if not slice_is_contig(src, order, ndim):
*/
  }

  /* "View.MemoryView":1308
 *         src = tmp
 * 
 *     if not broadcasting:             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = (!__pyx_v_broadcasting);
  if (__pyx_t_2) {

    /* "View.MemoryView":1311
 * 
 * 
 *         if slice_is_contig(src, 'C', ndim):             # <<<<<<<<<<<<<<
 *             direct_copy = slice_is_contig(dst, 'C', ndim)
 *         elif slice_is_contig(src, 'F', ndim):
*/
    __pyx_t_2 = __pyx_memviewslice_is_contig(__pyx_v_src, 'C', __pyx_v_ndim);
    if (__pyx_t_2) {

      /* "View.MemoryView":1312
 * 
 *         if slice_is_contig(src, 'C', ndim):
 *             direct_copy = slice_is_contig(dst, 'C', ndim)             # <<<<<<<<<<<<<<
 *         elif slice_is_contig(src, 'F', ndim):
 *             direct_copy = slice_is_contig(dst, 'F', ndim)
*/
      __pyx_v_direct_copy = __pyx_memviewslice_is_contig(__pyx_v_dst, 'C', __pyx_v_ndim);

      /* "View.MemoryView":1311
 * 
 * 
 *         if slice_is_contig(src, 'C', ndim):             # <<<<<<<<<<<<<<
 *             direct_copy = slice_is_contig(dst, 'C', ndim)
 *         elif slice_is_contig(src, 'F', ndim):
*/
      goto __pyx_L12;
    }

    /* "View.MemoryView":1313
 *         if slice_is_contig(src, 'C', ndim):
 *             direct_copy = slice_is_contig(dst, 'C', ndim)
 *         elif slice_is_contig(src, 'F', ndim):             # <<<<<<<<<<<<<<
 *             direct_copy = slice_is_contig(dst, 'F', ndim)
 * 
*/
    __pyx_t_2 = __pyx_memviewslice_is_contig(__pyx_v_src, 'F', __pyx_v_ndim);
    if (__pyx_t_2) {

      /* "View.MemoryView":1314
 *             direct_copy = slice_is_contig(dst, 'C', ndim)
 *         elif slice_is_contig(src, 'F', ndim):
 *             direct_copy = slice_is_contig(dst, 'F', ndim)             # <<<<<<<<<<<<<<
 * 
 *         if direct_copy:
*/
      __pyx_v_direct_copy = __pyx_memviewslice_is_contig(__pyx_v_dst, 'F', __pyx_v_ndim);

      /* "View.MemoryView":1313
 *         if slice_is_contig(src, 'C', ndim):
 *             direct_copy = slice_is_contig(dst, 'C', ndim)
 *         elif slice_is_contig(src, 'F', ndim):             # <<<<<<<<<<<<<<
 *             direct_copy = slice_is_contig(dst, 'F', ndim)
 * 
*/
    }
    __pyx_L12:;

    /* "View.MemoryView":1316
 *             direct_copy = slice_is_contig(dst, 'F', ndim)
 * 
 *         if direct_copy:             # <<<<<<<<<<<<<<
 * 
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=False)
*/
    if (__pyx_v_direct_copy) {

      /* "View.MemoryView":1318
 *         if direct_copy:
 * 
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=False)             # <<<<<<<<<<<<<<
 *             memcpy(dst.data, src.data, slice_get_size(&src, ndim))
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=True)
*/
      __pyx_memoryview_refcount_copying((&__pyx_v_dst), __pyx_v_dtype_is_object, __pyx_v_ndim, 0);

      /* "View.MemoryView":1319
 * 
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=False)
 *             memcpy(dst.data, src.data, slice_get_size(&src, ndim))             # <<<<<<<<<<<<<<
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=True)
 *             free(tmpdata)
*/
      (void)(memcpy(__pyx_v_dst.data, __pyx_v_src.data, __pyx_memoryview_slice_get_size((&__pyx_v_src), __pyx_v_ndim)));

      /* "View.MemoryView":1320
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=False)
 *             memcpy(dst.data, src.data, slice_get_size(&src, ndim))
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=True)             # <<<<<<<<<<<<<<
 *             free(tmpdata)
 *             return 0
*/
      __pyx_memoryview_refcount_copying((&__pyx_v_dst), __pyx_v_dtype_is_object, __pyx_v_ndim, 1);

      /* "View.MemoryView":1321
 *             memcpy(dst.data, src.data, slice_get_size(&src, ndim))
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=True)
 *             free(tmpdata)             # <<<<<<<<<<<<<<
 *             return 0
 * 
*/
      free(__pyx_v_tmpdata);

      /* "View.MemoryView":1322
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=True)
 *             free(tmpdata)
 *             return 0             # <<<<<<<<<<<<<<
 * 
 *     if order == 'F' == get_best_order(&dst, ndim):
*/
      __pyx_r = 0;
      goto __pyx_L0;

      /* "View.MemoryView":1316
 *             direct_copy = slice_is_contig(dst, 'F', ndim)
 * 
 *         if direct_copy:             # <<<<<<<<<<<<<<
 * 
 *             refcount_copying(&dst, dtype_is_object, ndim, inc=False)
*/
    }

    /* "View.MemoryView":1308
 *         src = tmp
 * 
 *     if not broadcasting:             # <<<<<<<<<<<<<<
 * 
 * 
*/
  }

  /* "View.MemoryView":1324
 *             return 0
 * 
 *     if order == 'F' == get_best_order(&dst, ndim):             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = (__pyx_v_order == 'F');
  if (__pyx_t_2) {
    __pyx_t_2 = ('F' == __pyx_get_best_slice_order((&__pyx_v_dst), __pyx_v_ndim));
  }
  if (__pyx_t_2) {

    /* "View.MemoryView":1327
 * 
 * 
 *         transpose_memslice(&src)             # <<<<<<<<<<<<<<
 *         transpose_memslice(&dst)
 * 
*/
    __pyx_t_5 = __pyx_memslice_transpose((&__pyx_v_src)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(5, 1327, __pyx_L1_error)

    /* "View.MemoryView":1328
 * 
 *         transpose_memslice(&src)
 *         transpose_memslice(&dst)             # <<<<<<<<<<<<<<
 * 
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=False)
*/
    __pyx_t_5 = __pyx_memslice_transpose((&__pyx_v_dst)); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(5, 1328, __pyx_L1_error)

    /* "View.MemoryView":1324
 *             return 0
 * 
 *     if order == 'F' == get_best_order(&dst, ndim):             # <<<<<<<<<<<<<<
 * 
 * 
*/
  }

  /* "View.MemoryView":1330
 *         transpose_memslice(&dst)
 * 
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=False)             # <<<<<<<<<<<<<<
 *     copy_strided_to_strided(&src, &dst, ndim, itemsize)
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=True)
*/
  __pyx_memoryview_refcount_copying((&__pyx_v_dst), __pyx_v_dtype_is_object, __pyx_v_ndim, 0);

  /* "View.MemoryView":1331
 * 
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=False)
 *     copy_strided_to_strided(&src, &dst, ndim, itemsize)             # <<<<<<<<<<<<<<
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=True)
 * 
*/
  copy_strided_to_strided((&__pyx_v_src), (&__pyx_v_dst), __pyx_v_ndim, __pyx_v_itemsize);

  /* "View.MemoryView":1332
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=False)
 *     copy_strided_to_strided(&src, &dst, ndim, itemsize)
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=True)             # <<<<<<<<<<<<<<
 * 
 *     free(tmpdata)
*/
  __pyx_memoryview_refcount_copying((&__pyx_v_dst), __pyx_v_dtype_is_object, __pyx_v_ndim, 1);

  /* "View.MemoryView":1334
 *     refcount_copying(&dst, dtype_is_object, ndim, inc=True)
 * 
 *     free(tmpdata)             # <<<<<<<<<<<<<<
 *     return 0
 * 
*/
  free(__pyx_v_tmpdata);

  /* "View.MemoryView":1335
 * 
 *     free(tmpdata)
 *     return 0             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_broadcast_leading')
*/
  __pyx_r = 0;
  goto __pyx_L0;

  /* "View.MemoryView":1265
 * 
 * 
 * @cname('__pyx_memoryview_copy_contents')             # <<<<<<<<<<<<<<
 * cdef int memoryview_copy_contents(__Pyx_memviewslice src,
 *                                   __Pyx_memviewslice dst,
*/

  /* function exit code */
  __pyx_L1_error:;
  __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_AddTraceback("View.MemoryView.memoryview_copy_contents", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  __pyx_L0:;
  return __pyx_r;
}

/* "View.MemoryView":1337
 *     return 0
 * 
 * @cname('__pyx_memoryview_broadcast_leading')             # <<<<<<<<<<<<<<
 * cdef void broadcast_leading(__Pyx_memviewslice *mslice,
 *                             int ndim,
*/

static void __pyx_memoryview_broadcast_leading(__Pyx_memviewslice *__pyx_v_mslice, int __pyx_v_ndim, int __pyx_v_ndim_other) {
  int __pyx_v_i;
  int __pyx_v_offset;
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;

  /* "View.MemoryView":1342
 *                             int ndim_other) noexcept nogil:
 *     cdef int i
 *     cdef int offset = ndim_other - ndim             # <<<<<<<<<<<<<<
 * 
 *     for i in range(ndim - 1, -1, -1):
*/
  __pyx_v_offset = (__pyx_v_ndim_other - __pyx_v_ndim);

  /* "View.MemoryView":1344
 *     cdef int offset = ndim_other - ndim
 * 
 *     for i in range(ndim - 1, -1, -1):             # <<<<<<<<<<<<<<
 *         mslice.shape[i + offset] = mslice.shape[i]
 *         mslice.strides[i + offset] = mslice.strides[i]
*/
  for (__pyx_t_1 = (__pyx_v_ndim - 1); __pyx_t_1 > -1; __pyx_t_1-=1) {
    __pyx_v_i = __pyx_t_1;

    /* "View.MemoryView":1345
 * 
 *     for i in range(ndim - 1, -1, -1):
 *         mslice.shape[i + offset] = mslice.shape[i]             # <<<<<<<<<<<<<<
 *         mslice.strides[i + offset] = mslice.strides[i]
 *         mslice.suboffsets[i + offset] = mslice.suboffsets[i]
*/
    (__pyx_v_mslice->shape[(__pyx_v_i + __pyx_v_offset)]) = (__pyx_v_mslice->shape[__pyx_v_i]);

    /* "View.MemoryView":1346
 *     for i in range(ndim - 1, -1, -1):
 *         mslice.shape[i + offset] = mslice.shape[i]
 *         mslice.strides[i + offset] = mslice.strides[i]             # <<<<<<<<<<<<<<
 *         mslice.suboffsets[i + offset] = mslice.suboffsets[i]
 * 
*/
    (__pyx_v_mslice->strides[(__pyx_v_i + __pyx_v_offset)]) = (__pyx_v_mslice->strides[__pyx_v_i]);

    /* "View.MemoryView":1347
 *         mslice.shape[i + offset] = mslice.shape[i]
 *         mslice.strides[i + offset] = mslice.strides[i]
 *         mslice.suboffsets[i + offset] = mslice.suboffsets[i]             # <<<<<<<<<<<<<<
 * 
 *     for i in range(offset):
*/
    (__pyx_v_mslice->suboffsets[(__pyx_v_i + __pyx_v_offset)]) = (__pyx_v_mslice->suboffsets[__pyx_v_i]);
  }

  /* "View.MemoryView":1349
 *         mslice.suboffsets[i + offset] = mslice.suboffsets[i]
 * 
 *     for i in range(offset):             # <<<<<<<<<<<<<<
 *         mslice.shape[i] = 1
 *         mslice.strides[i] = mslice.strides[0]
*/
  __pyx_t_1 = __pyx_v_offset;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "View.MemoryView":1350
 * 
 *     for i in range(offset):
 *         mslice.shape[i] = 1             # <<<<<<<<<<<<<<
 *         mslice.strides[i] = mslice.strides[0]
 *         mslice.suboffsets[i] = -1
*/
    (__pyx_v_mslice->shape[__pyx_v_i]) = 1;

    /* "View.MemoryView":1351
 *     for i in range(offset):
 *         mslice.shape[i] = 1
 *         mslice.strides[i] = mslice.strides[0]             # <<<<<<<<<<<<<<
 *         mslice.suboffsets[i] = -1
 * 
*/
    (__pyx_v_mslice->strides[__pyx_v_i]) = (__pyx_v_mslice->strides[0]);

    /* "View.MemoryView":1352
 *         mslice.shape[i] = 1
 *         mslice.strides[i] = mslice.strides[0]
 *         mslice.suboffsets[i] = -1             # <<<<<<<<<<<<<<
 * 
 * 
*/
    (__pyx_v_mslice->suboffsets[__pyx_v_i]) = -1L;
  }

  /* "View.MemoryView":1337
 *     return 0
 * 
 * @cname('__pyx_memoryview_broadcast_leading')             # <<<<<<<<<<<<<<
 * cdef void broadcast_leading(__Pyx_memviewslice *mslice,
 *                             int ndim,
*/

  /* function exit code */
}

/* "View.MemoryView":1359
 * 
 * 
 * @cname('__pyx_memoryview_refcount_copying')             # <<<<<<<<<<<<<<
 * cdef void refcount_copying(__Pyx_memviewslice *dst, bint dtype_is_object, int ndim, bint inc) noexcept nogil:
 * 
*/

static void __pyx_memoryview_refcount_copying(__Pyx_memviewslice *__pyx_v_dst, int __pyx_v_dtype_is_object, int __pyx_v_ndim, int __pyx_v_inc) {

  /* "View.MemoryView":1362
 * cdef void refcount_copying(__Pyx_memviewslice *dst, bint dtype_is_object, int ndim, bint inc) noexcept nogil:
 * 
 *     if dtype_is_object:             # <<<<<<<<<<<<<<
 *         refcount_objects_in_slice_with_gil(dst.data, dst.shape, dst.strides, ndim, inc)
 * 
*/
  if (__pyx_v_dtype_is_object) {

    /* "View.MemoryView":1363
 * 
 *     if dtype_is_object:
 *         refcount_objects_in_slice_with_gil(dst.data, dst.shape, dst.strides, ndim, inc)             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_refcount_objects_in_slice_with_gil')
*/
    __pyx_memoryview_refcount_objects_in_slice_with_gil(__pyx_v_dst->data, __pyx_v_dst->shape, __pyx_v_dst->strides, __pyx_v_ndim, __pyx_v_inc);

    /* "View.MemoryView":1362
 * cdef void refcount_copying(__Pyx_memviewslice *dst, bint dtype_is_object, int ndim, bint inc) noexcept nogil:
 * 
 *     if dtype_is_object:             # <<<<<<<<<<<<<<
 *         refcount_objects_in_slice_with_gil(dst.data, dst.shape, dst.strides, ndim, inc)
 * 
*/
  }

  /* "View.MemoryView":1359
 * 
 * 
 * @cname('__pyx_memoryview_refcount_copying')             # <<<<<<<<<<<<<<
 * cdef void refcount_copying(__Pyx_memviewslice *dst, bint dtype_is_object, int ndim, bint inc) noexcept nogil:
 * 
*/

  /* function exit code */
}

/* "View.MemoryView":1365
 *         refcount_objects_in_slice_with_gil(dst.data, dst.shape, dst.strides, ndim, inc)
 * 
 * @cname('__pyx_memoryview_refcount_objects_in_slice_with_gil')             # <<<<<<<<<<<<<<
 * cdef void refcount_objects_in_slice_with_gil(char *data, Py_ssize_t *shape,
 *                                              Py_ssize_t *strides, int ndim,
*/

static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "View.MemoryView":1369
 *                                              Py_ssize_t *strides, int ndim,
 *                                              bint inc) noexcept with gil:
 *     refcount_objects_in_slice(data, shape, strides, ndim, inc)             # <<<<<<<<<<<<<<
 * 
 * @cname('__pyx_memoryview_refcount_objects_in_slice')
*/
  __pyx_memoryview_refcount_objects_in_slice(__pyx_v_data, __pyx_v_shape, __pyx_v_strides, __pyx_v_ndim, __pyx_v_inc);

  /* "View.MemoryView":1365
 *         refcount_objects_in_slice_with_gil(dst.data, dst.shape, dst.strides, ndim, inc)
 * 
 * @cname('__pyx_memoryview_refcount_objects_in_slice_with_gil')             # <<<<<<<<<<<<<<
 * cdef void refcount_objects_in_slice_with_gil(char *data, Py_ssize_t *shape,
 *                                              Py_ssize_t *strides, int ndim,
*/

  /* function exit code */
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
}

/* "View.MemoryView":1371
 *     refcount_objects_in_slice(data, shape, strides, ndim, inc)
 * 
 * @cname('__pyx_memoryview_refcount_objects_in_slice')             # <<<<<<<<<<<<<<
 * cdef void refcount_objects_in_slice(char *data, Py_ssize_t *shape,
 *                                     Py_ssize_t *strides, int ndim, bint inc) noexcept:
*/

static void __pyx_memoryview_refcount_objects_in_slice(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {
  CYTHON_UNUSED Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_stride;
  Py_ssize_t __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;

  /* "View.MemoryView":1375
 *                                     Py_ssize_t *strides, int ndim, bint inc) noexcept:
 *     cdef Py_ssize_t i
 *     cdef Py_ssize_t stride = strides[0]             # <<<<<<<<<<<<<<
 * 
 *     for i in range(shape[0]):
*/
  __pyx_v_stride = (__pyx_v_strides[0]);

  /* "View.MemoryView":1377
 *     cdef Py_ssize_t stride = strides[0]
 * 
 *     for i in range(shape[0]):             # <<<<<<<<<<<<<<
 *         if ndim == 1:
 *             if inc:
*/
  __pyx_t_1 = (__pyx_v_shape[0]);
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "View.MemoryView":1378
 * 
 *     for i in range(shape[0]):
 *         if ndim == 1:             # <<<<<<<<<<<<<<
 *             if inc:
 *                 Py_INCREF((<PyObject **> data)[0])
*/
    __pyx_t_4 = (__pyx_v_ndim == 1);
    if (__pyx_t_4) {

      /* "View.MemoryView":1379
 *     for i in range(shape[0]):
 *         if ndim == 1:
 *             if inc:             # <<<<<<<<<<<<<<
 *                 Py_INCREF((<PyObject **> data)[0])
 *             else:
*/
      if (__pyx_v_inc) {

        /* "View.MemoryView":1380
 *         if ndim == 1:
 *             if inc:
 *                 Py_INCREF((<PyObject **> data)[0])             # <<<<<<<<<<<<<<
 *             else:
 *                 Py_DECREF((<PyObject **> data)[0])
*/
        Py_INCREF((((PyObject **)__pyx_v_data)[0]));

        /* "View.MemoryView":1379
 *     for i in range(shape[0]):
 *         if ndim == 1:
 *             if inc:             # <<<<<<<<<<<<<<
 *                 Py_INCREF((<PyObject **> data)[0])
 *             else:
*/
        goto __pyx_L6;
      }

      /* "View.MemoryView":1382
 *                 Py_INCREF((<PyObject **> data)[0])
 *             else:
 *                 Py_DECREF((<PyObject **> data)[0])             # <<<<<<<<<<<<<<
 *         else:
 *             refcount_objects_in_slice(data, shape + 1, strides + 1, ndim - 1, inc)
*/
      /*else*/ {
        Py_DECREF((((PyObject **)__pyx_v_data)[0]));
      }
      __pyx_L6:;

      /* "View.MemoryView":1378
 * 
 *     for i in range(shape[0]):
 *         if ndim == 1:             # <<<<<<<<<<<<<<
 *             if inc:
 *                 Py_INCREF((<PyObject **> data)[0])
*/
      goto __pyx_L5;
    }

    /* "View.MemoryView":1384
 *                 Py_DECREF((<PyObject **> data)[0])
 *         else:
 *             refcount_objects_in_slice(data, shape + 1, strides + 1, ndim - 1, inc)             # <<<<<<<<<<<<<<
 * 
 *         data += stride
*/
    /*else*/ {
      __pyx_memoryview_refcount_objects_in_slice(__pyx_v_data, (__pyx_v_shape + 1), (__pyx_v_strides + 1), (__pyx_v_ndim - 1), __pyx_v_inc);
    }
    __pyx_L5:;

    /* "View.MemoryView":1386
 *             refcount_objects_in_slice(data, shape + 1, strides + 1, ndim - 1, inc)
 * 
 *         data += stride             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __pyx_v_data = (__pyx_v_data + __pyx_v_stride);
  }

  /* "View.MemoryView":1371
 *     refcount_objects_in_slice(data, shape, strides, ndim, inc)
 * 
 * @cname('__pyx_memoryview_refcount_objects_in_slice')             # <<<<<<<<<<<<<<
 * cdef void refcount_objects_in_slice(char *data, Py_ssize_t *shape,
 *                                     Py_ssize_t *strides, int ndim, bint inc) noexcept:
*/

  /* function exit code */
}

/* "View.MemoryView":1391
 * 
 * 
 * @cname('__pyx_memoryview_slice_assign_scalar')             # <<<<<<<<<<<<<<
 * cdef void slice_assign_scalar(__Pyx_memviewslice *dst, int ndim,
 *                               size_t itemsize, void *item,
*/

static void __pyx_memoryview_slice_assign_scalar(__Pyx_memviewslice *__pyx_v_dst, int __pyx_v_ndim, size_t __pyx_v_itemsize, void *__pyx_v_item, int __pyx_v_dtype_is_object) {

  /* "View.MemoryView":1395
 *                               size_t itemsize, void *item,
 *                               bint dtype_is_object) noexcept nogil:
 *     refcount_copying(dst, dtype_is_object, ndim, inc=False)             # <<<<<<<<<<<<<<
 *     _slice_assign_scalar(dst.data, dst.shape, dst.strides, ndim, itemsize, item)
 *     refcount_copying(dst, dtype_is_object, ndim, inc=True)
*/
  __pyx_memoryview_refcount_copying(__pyx_v_dst, __pyx_v_dtype_is_object, __pyx_v_ndim, 0);

  /* "View.MemoryView":1396
 *                               bint dtype_is_object) noexcept nogil:
 *     refcount_copying(dst, dtype_is_object, ndim, inc=False)
 *     _slice_assign_scalar(dst.data, dst.shape, dst.strides, ndim, itemsize, item)             # <<<<<<<<<<<<<<
 *     refcount_copying(dst, dtype_is_object, ndim, inc=True)
 * 
*/
  __pyx_memoryview__slice_assign_scalar(__pyx_v_dst->data, __pyx_v_dst->shape, __pyx_v_dst->strides, __pyx_v_ndim, __pyx_v_itemsize, __pyx_v_item);

  /* "View.MemoryView":1397
 *     refcount_copying(dst, dtype_is_object, ndim, inc=False)
 *     _slice_assign_scalar(dst.data, dst.shape, dst.strides, ndim, itemsize, item)
 *     refcount_copying(dst, dtype_is_object, ndim, inc=True)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_memoryview_refcount_copying(__pyx_v_dst, __pyx_v_dtype_is_object, __pyx_v_ndim, 1);

  /* "View.MemoryView":1391
 * 
 * 
 * @cname('__pyx_memoryview_slice_assign_scalar')             # <<<<<<<<<<<<<<
 * cdef void slice_assign_scalar(__Pyx_memviewslice *dst, int ndim,
 *                               size_t itemsize, void *item,
*/

  /* function exit code */
}

/* "View.MemoryView":1400
 * 
 * 
 * @cname('__pyx_memoryview__slice_assign_scalar')             # <<<<<<<<<<<<<<
 * cdef void _slice_assign_scalar(char *data, Py_ssize_t *shape,
 *                               Py_ssize_t *strides, int ndim,
*/

static void __pyx_memoryview__slice_assign_scalar(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, size_t __pyx_v_itemsize, void *__pyx_v_item) {
  CYTHON_UNUSED Py_ssize_t __pyx_v_i;
  Py_ssize_t __pyx_v_stride;
  Py_ssize_t __pyx_v_extent;
  int __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;

  /* "View.MemoryView":1405
 *                               size_t itemsize, void *item) noexcept nogil:
 *     cdef Py_ssize_t i
 *     cdef Py_ssize_t stride = strides[0]             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t extent = shape[0]
 * 
*/
  __pyx_v_stride = (__pyx_v_strides[0]);

  /* "View.MemoryView":1406
 *     cdef Py_ssize_t i
 *     cdef Py_ssize_t stride = strides[0]
 *     cdef Py_ssize_t extent = shape[0]             # <<<<<<<<<<<<<<
 * 
 *     if ndim == 1:
*/
  __pyx_v_extent = (__pyx_v_shape[0]);

  /* "View.MemoryView":1408
 *     cdef Py_ssize_t extent = shape[0]
 * 
 *     if ndim == 1:             # <<<<<<<<<<<<<<
 *         for i in range(extent):
 *             memcpy(data, item, itemsize)
*/
  __pyx_t_1 = (__pyx_v_ndim == 1);
  if (__pyx_t_1) {

    /* "View.MemoryView":1409
 * 
 *     if ndim == 1:
 *         for i in range(extent):             # <<<<<<<<<<<<<<
 *             memcpy(data, item, itemsize)
 *             data += stride
*/
    __pyx_t_2 = __pyx_v_extent;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "View.MemoryView":1410
 *     if ndim == 1:
 *         for i in range(extent):
 *             memcpy(data, item, itemsize)             # <<<<<<<<<<<<<<
 *             data += stride
 *     else:
*/
      (void)(memcpy(__pyx_v_data, __pyx_v_item, __pyx_v_itemsize));

      /* "View.MemoryView":1411
 *         for i in range(extent):
 *             memcpy(data, item, itemsize)
 *             data += stride             # <<<<<<<<<<<<<<
 *     else:
 *         for i in range(extent):
*/
      __pyx_v_data = (__pyx_v_data + __pyx_v_stride);
    }

    /* "View.MemoryView":1408
 *     cdef Py_ssize_t extent = shape[0]
 * 
 *     if ndim == 1:             # <<<<<<<<<<<<<<
 *         for i in range(extent):
 *             memcpy(data, item, itemsize)
*/
    goto __pyx_L3;
  }

  /* "View.MemoryView":1413
 *             data += stride
 *     else:
 *         for i in range(extent):             # <<<<<<<<<<<<<<
 *             _slice_assign_scalar(data, shape + 1, strides + 1, ndim - 1, itemsize, item)
 *             data += stride
*/
  /*else*/ {
    __pyx_t_2 = __pyx_v_extent;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_v_i = __pyx_t_4;

      /* "View.MemoryView":1414
 *     else:
 *         for i in range(extent):
 *             _slice_assign_scalar(data, shape + 1, strides + 1, ndim - 1, itemsize, item)             # <<<<<<<<<<<<<<
 *             data += stride
 * 
*/
      __pyx_memoryview__slice_assign_scalar(__pyx_v_data, (__pyx_v_shape + 1), (__pyx_v_strides + 1), (__pyx_v_ndim - 1), __pyx_v_itemsize, __pyx_v_item);

      /* "View.MemoryView":1415
 *         for i in range(extent):
 *             _slice_assign_scalar(data, shape + 1, strides + 1, ndim - 1, itemsize, item)
 *             data += stride             # <<<<<<<<<<<<<<
 * 
*/
      __pyx_v_data = (__pyx_v_data + __pyx_v_stride);
    }
  }
  __pyx_L3:;

  /* "View.MemoryView":1400
 * 
 * 
 * @cname('__pyx_memoryview__slice_assign_scalar')             # <<<<<<<<<<<<<<
 * cdef void _slice_assign_scalar(char *data, Py_ssize_t *shape,
 *                               Py_ssize_t *strides, int ndim,
*/

  /* function exit code */
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Enum(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x82a3537, 0x6ae9995, 0xb068931, b'name')
*/

/* Python wrapper */
static PyObject *__pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_15View_dot_MemoryView_1__pyx_unpickle_Enum = {"__pyx_unpickle_Enum", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Enum (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Enum", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Enum", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Enum", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("View.MemoryView.__pyx_unpickle_Enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Enum", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Enum(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x82a3537, 0x6ae9995, 0xb068931, b'name')             # <<<<<<<<<<<<<<
 *     __pyx_result = Enum.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x82a3537, 0x6ae9995, 0xb068931, __pyx_k_name); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x82a3537, 0x6ae9995, 0xb068931, b'name')
 *     __pyx_result = Enum.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_MemviewEnum_type);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x82a3537, 0x6ae9995, 0xb068931, b'name')
 *     __pyx_result = Enum.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Enum.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_unpickle_Enum__set_state(((struct __pyx_MemviewEnum_obj *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x82a3537, 0x6ae9995, 0xb068931, b'name')
 *     __pyx_result = Enum.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, __pyx_state: tuple):
 *     __pyx_result.name = __pyx_state[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Enum(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x82a3537, 0x6ae9995, 0xb068931, b'name')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("View.MemoryView.__pyx_unpickle_Enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.name = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Enum__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, __pyx_state: tuple):
 *     __pyx_result.name = __pyx_state[0]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->name);
  __Pyx_DECREF(__pyx_v___pyx_result->name);
  __pyx_v___pyx_result->name = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, __pyx_state: tuple):
 *     __pyx_result.name = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Enum__set_state(<Enum> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Enum__set_state(Enum __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.name = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("View.MemoryView.__pyx_unpickle_Enum__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "cpython/complex.pxd":20
 * 
 *         # unavailable in limited API
 *         @property             # <<<<<<<<<<<<<<
 *         @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")
 *         cdef inline double real(self) noexcept:
*/

#if !CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE double __pyx_f_7cpython_7complex_7complex_4real_real(PyComplexObject *__pyx_v_self) {
  double __pyx_r;

  /* "cpython/complex.pxd":23
 *         @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")
 *         cdef inline double real(self) noexcept:
 *             return self.cval.real             # <<<<<<<<<<<<<<
 * 
 *         # unavailable in limited API
*/
  __pyx_r = __pyx_v_self->cval.real;
  goto __pyx_L0;

  /* "cpython/complex.pxd":20
 * 
 *         # unavailable in limited API
 *         @property             # <<<<<<<<<<<<<<
 *         @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")
 *         cdef inline double real(self) noexcept:
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}
#endif /*!(#if !CYTHON_COMPILING_IN_LIMITED_API)*/

/* "cpython/complex.pxd":26
 * 
 *         # unavailable in limited API
 *         @property             # <<<<<<<<<<<<<<
 *         @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")
 *         cdef inline double imag(self) noexcept:
*/

#if !CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE double __pyx_f_7cpython_7complex_7complex_4imag_imag(PyComplexObject *__pyx_v_self) {
  double __pyx_r;

  /* "cpython/complex.pxd":29
 *         @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")
 *         cdef inline double imag(self) noexcept:
 *             return self.cval.imag             # <<<<<<<<<<<<<<
 * 
 *     # PyTypeObject PyComplex_Type
*/
  __pyx_r = __pyx_v_self->cval.imag;
  goto __pyx_L0;

  /* "cpython/complex.pxd":26
 * 
 *         # unavailable in limited API
 *         @property             # <<<<<<<<<<<<<<
 *         @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")
 *         cdef inline double imag(self) noexcept:
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}
#endif /*!(#if !CYTHON_COMPILING_IN_LIMITED_API)*/

/* "cpython/contextvars.pxd":115
 * 
 * 
 * @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")             # <<<<<<<<<<<<<<
 * cdef inline object get_value(var, default_value=None):
 *     """Return a new reference to the value of the context variable,
*/

#if !CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE PyObject *__pyx_f_7cpython_11contextvars_get_value(PyObject *__pyx_v_var, struct __pyx_opt_args_7cpython_11contextvars_get_value *__pyx_optional_args) {

  /* "cpython/contextvars.pxd":116
 * 
 * @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")
 * cdef inline object get_value(var, default_value=None):             # <<<<<<<<<<<<<<
 *     """Return a new reference to the value of the context variable,
 *     or the default value of the context variable,
*/
  PyObject *__pyx_v_default_value = ((PyObject *)Py_None);
  PyObject *__pyx_v_value;
  PyObject *__pyx_v_pyvalue = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_value", 0);
  if (__pyx_optional_args) {
    if (__pyx_optional_args->__pyx_n > 0) {
      __pyx_v_default_value = __pyx_optional_args->default_value;
    }
  }

  /* "cpython/contextvars.pxd":121
 *     or None if no such value or default was found.
 *     """
 *     cdef PyObject *value = NULL             # <<<<<<<<<<<<<<
 *     PyContextVar_Get(var, NULL, &value)
 *     if value is NULL:
*/
  __pyx_v_value = NULL;

  /* "cpython/contextvars.pxd":122
 *     """
 *     cdef PyObject *value = NULL
 *     PyContextVar_Get(var, NULL, &value)             # <<<<<<<<<<<<<<
 *     if value is NULL:
 *         # context variable does not have a default
*/
  __pyx_t_1 = PyContextVar_Get(__pyx_v_var, NULL, (&__pyx_v_value)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 122, __pyx_L1_error)

  /* "cpython/contextvars.pxd":123
 *     cdef PyObject *value = NULL
 *     PyContextVar_Get(var, NULL, &value)
 *     if value is NULL:             # <<<<<<<<<<<<<<
 *         # context variable does not have a default
 *         pyvalue = default_value
*/
  __pyx_t_2 = (__pyx_v_value == NULL);
  if (__pyx_t_2) {

    /* "cpython/contextvars.pxd":125
 *     if value is NULL:
 *         # context variable does not have a default
 *         pyvalue = default_value             # <<<<<<<<<<<<<<
 *     else:
 *         # value or default value of context variable
*/
    __Pyx_INCREF(__pyx_v_default_value);
    __pyx_v_pyvalue = __pyx_v_default_value;

    /* "cpython/contextvars.pxd":123
 *     cdef PyObject *value = NULL
 *     PyContextVar_Get(var, NULL, &value)
 *     if value is NULL:             # <<<<<<<<<<<<<<
 *         # context variable does not have a default
 *         pyvalue = default_value
*/
    goto __pyx_L3;
  }

  /* "cpython/contextvars.pxd":128
 *     else:
 *         # value or default value of context variable
 *         pyvalue = <object>value             # <<<<<<<<<<<<<<
 *         Py_XDECREF(value)  # PyContextVar_Get() returned an owned reference as 'PyObject*'
 *     return pyvalue
*/
  /*else*/ {
    __pyx_t_3 = ((PyObject *)__pyx_v_value);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_v_pyvalue = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "cpython/contextvars.pxd":129
 *         # value or default value of context variable
 *         pyvalue = <object>value
 *         Py_XDECREF(value)  # PyContextVar_Get() returned an owned reference as 'PyObject*'             # <<<<<<<<<<<<<<
 *     return pyvalue
 * 
*/
    Py_XDECREF(__pyx_v_value);
  }
  __pyx_L3:;

  /* "cpython/contextvars.pxd":130
 *         pyvalue = <object>value
 *         Py_XDECREF(value)  # PyContextVar_Get() returned an owned reference as 'PyObject*'
 *     return pyvalue             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pyvalue);
  __pyx_r = __pyx_v_pyvalue;
  goto __pyx_L0;

  /* "cpython/contextvars.pxd":115
 * 
 * 
 * @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")             # <<<<<<<<<<<<<<
 * cdef inline object get_value(var, default_value=None):
 *     """Return a new reference to the value of the context variable,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("cpython.contextvars.get_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pyvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
#endif /*!(#if !CYTHON_COMPILING_IN_LIMITED_API)*/

/* "cpython/contextvars.pxd":133
 * 
 * 
 * @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")             # <<<<<<<<<<<<<<
 * cdef inline object get_value_no_default(var, default_value=None):
 *     """Return a new reference to the value of the context variable,
*/

#if !CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE PyObject *__pyx_f_7cpython_11contextvars_get_value_no_default(PyObject *__pyx_v_var, struct __pyx_opt_args_7cpython_11contextvars_get_value_no_default *__pyx_optional_args) {

  /* "cpython/contextvars.pxd":134
 * 
 * @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")
 * cdef inline object get_value_no_default(var, default_value=None):             # <<<<<<<<<<<<<<
 *     """Return a new reference to the value of the context variable,
 *     or the provided default value if no such value was found.
*/
  PyObject *__pyx_v_default_value = ((PyObject *)Py_None);
  PyObject *__pyx_v_value;
  PyObject *__pyx_v_pyvalue = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("get_value_no_default", 0);
  if (__pyx_optional_args) {
    if (__pyx_optional_args->__pyx_n > 0) {
      __pyx_v_default_value = __pyx_optional_args->default_value;
    }
  }

  /* "cpython/contextvars.pxd":140
 *     Ignores the default value of the context variable, if any.
 *     """
 *     cdef PyObject *value = NULL             # <<<<<<<<<<<<<<
 *     PyContextVar_Get(var, <PyObject*>default_value, &value)
 *     # value of context variable or 'default_value'
*/
  __pyx_v_value = NULL;

  /* "cpython/contextvars.pxd":141
 *     """
 *     cdef PyObject *value = NULL
 *     PyContextVar_Get(var, <PyObject*>default_value, &value)             # <<<<<<<<<<<<<<
 *     # value of context variable or 'default_value'
 *     pyvalue = <object>value
*/
  __pyx_t_1 = PyContextVar_Get(__pyx_v_var, ((PyObject *)__pyx_v_default_value), (&__pyx_v_value)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(6, 141, __pyx_L1_error)

  /* "cpython/contextvars.pxd":143
 *     PyContextVar_Get(var, <PyObject*>default_value, &value)
 *     # value of context variable or 'default_value'
 *     pyvalue = <object>value             # <<<<<<<<<<<<<<
 *     Py_XDECREF(value)  # PyContextVar_Get() returned an owned reference as 'PyObject*'
 *     return pyvalue
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_value);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_v_pyvalue = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "cpython/contextvars.pxd":144
 *     # value of context variable or 'default_value'
 *     pyvalue = <object>value
 *     Py_XDECREF(value)  # PyContextVar_Get() returned an owned reference as 'PyObject*'             # <<<<<<<<<<<<<<
 *     return pyvalue
*/
  Py_XDECREF(__pyx_v_value);

  /* "cpython/contextvars.pxd":145
 *     pyvalue = <object>value
 *     Py_XDECREF(value)  # PyContextVar_Get() returned an owned reference as 'PyObject*'
 *     return pyvalue             # <<<<<<<<<<<<<<
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pyvalue);
  __pyx_r = __pyx_v_pyvalue;
  goto __pyx_L0;

  /* "cpython/contextvars.pxd":133
 * 
 * 
 * @_cython.c_compile_guard("!CYTHON_COMPILING_IN_LIMITED_API")             # <<<<<<<<<<<<<<
 * cdef inline object get_value_no_default(var, default_value=None):
 *     """Return a new reference to the value of the context variable,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("cpython.contextvars.get_value_no_default", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pyvalue);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
#endif /*!(#if !CYTHON_COMPILING_IN_LIMITED_API)*/

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":243
 *         cdef int type_num
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp itemsize(self) noexcept nogil:
 *             return PyDataType_ELSIZE(self)
*/

static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize_itemsize(PyArray_Descr *__pyx_v_self) {
  npy_intp __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":245
 *         @property
 *         cdef inline npy_intp itemsize(self) noexcept nogil:
 *             return PyDataType_ELSIZE(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __pyx_r = PyDataType_ELSIZE(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":243
 *         cdef int type_num
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp itemsize(self) noexcept nogil:
 *             return PyDataType_ELSIZE(self)
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":247
 *             return PyDataType_ELSIZE(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp alignment(self) noexcept nogil:
 *             return PyDataType_ALIGNMENT(self)
*/

static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment_alignment(PyArray_Descr *__pyx_v_self) {
  npy_intp __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":249
 *         @property
 *         cdef inline npy_intp alignment(self) noexcept nogil:
 *             return PyDataType_ALIGNMENT(self)             # <<<<<<<<<<<<<<
 * 
 *         # Use fields/names with care as they may be NULL.  You must check
*/
  __pyx_r = PyDataType_ALIGNMENT(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":247
 *             return PyDataType_ELSIZE(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp alignment(self) noexcept nogil:
 *             return PyDataType_ALIGNMENT(self)
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":253
 *         # Use fields/names with care as they may be NULL.  You must check
 *         # for this using PyDataType_HASFIELDS.
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline object fields(self):
 *             return <object>PyDataType_FIELDS(self)
*/

static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields_fields(PyArray_Descr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1;
  __Pyx_RefNannySetupContext("fields", 0);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":255
 *         @property
 *         cdef inline object fields(self):
 *             return <object>PyDataType_FIELDS(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyDataType_FIELDS(__pyx_v_self);
  __Pyx_INCREF(((PyObject *)__pyx_t_1));
  __pyx_r = ((PyObject *)__pyx_t_1);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":253
 *         # Use fields/names with care as they may be NULL.  You must check
 *         # for this using PyDataType_HASFIELDS.
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline object fields(self):
 *             return <object>PyDataType_FIELDS(self)
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":257
 *             return <object>PyDataType_FIELDS(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline tuple names(self):
 *             return <tuple>PyDataType_NAMES(self)
*/

static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names_names(PyArray_Descr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1;
  __Pyx_RefNannySetupContext("names", 0);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":259
 *         @property
 *         cdef inline tuple names(self):
 *             return <tuple>PyDataType_NAMES(self)             # <<<<<<<<<<<<<<
 * 
 *         # Use PyDataType_HASSUBARRAY to test whether this field is
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyDataType_NAMES(__pyx_v_self);
  __Pyx_INCREF(((PyObject*)__pyx_t_1));
  __pyx_r = ((PyObject*)__pyx_t_1);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":257
 *             return <object>PyDataType_FIELDS(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline tuple names(self):
 *             return <tuple>PyDataType_NAMES(self)
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":264
 *         # valid (the pointer can be NULL). Most users should access
 *         # this field via the inline helper method PyDataType_SHAPE.
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline PyArray_ArrayDescr* subarray(self) noexcept nogil:
 *             return PyDataType_SUBARRAY(self)
*/

static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray_subarray(PyArray_Descr *__pyx_v_self) {
  PyArray_ArrayDescr *__pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":266
 *         @property
 *         cdef inline PyArray_ArrayDescr* subarray(self) noexcept nogil:
 *             return PyDataType_SUBARRAY(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __pyx_r = PyDataType_SUBARRAY(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":264
 *         # valid (the pointer can be NULL). Most users should access
 *         # this field via the inline helper method PyDataType_SHAPE.
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline PyArray_ArrayDescr* subarray(self) noexcept nogil:
 *             return PyDataType_SUBARRAY(self)
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":268
 *             return PyDataType_SUBARRAY(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_uint64 flags(self) noexcept nogil:
 *             """The data types flags."""
*/

static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags_flags(PyArray_Descr *__pyx_v_self) {
  npy_uint64 __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":271
 *         cdef inline npy_uint64 flags(self) noexcept nogil:
 *             """The data types flags."""
 *             return PyDataType_FLAGS(self)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = PyDataType_FLAGS(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":268
 *             return PyDataType_SUBARRAY(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_uint64 flags(self) noexcept nogil:
 *             """The data types flags."""
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":280
 *     ctypedef class numpy.broadcast [object PyArrayMultiIterObject, check_size ignore]:
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline int numiter(self) noexcept nogil:
 *             """The number of arrays that need to be broadcast to the same shape."""
*/

static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_7numiter_numiter(PyArrayMultiIterObject *__pyx_v_self) {
  int __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":283
 *         cdef inline int numiter(self) noexcept nogil:
 *             """The number of arrays that need to be broadcast to the same shape."""
 *             return PyArray_MultiIter_NUMITER(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __pyx_r = PyArray_MultiIter_NUMITER(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":280
 *     ctypedef class numpy.broadcast [object PyArrayMultiIterObject, check_size ignore]:
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline int numiter(self) noexcept nogil:
 *             """The number of arrays that need to be broadcast to the same shape."""
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":285
 *             return PyArray_MultiIter_NUMITER(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp size(self) noexcept nogil:
 *             """The total broadcasted size."""
*/

static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size_size(PyArrayMultiIterObject *__pyx_v_self) {
  npy_intp __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":288
 *         cdef inline npy_intp size(self) noexcept nogil:
 *             """The total broadcasted size."""
 *             return PyArray_MultiIter_SIZE(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __pyx_r = PyArray_MultiIter_SIZE(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":285
 *             return PyArray_MultiIter_NUMITER(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp size(self) noexcept nogil:
 *             """The total broadcasted size."""
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":290
 *             return PyArray_MultiIter_SIZE(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp index(self) noexcept nogil:
 *             """The current (1-d) index into the broadcasted result."""
*/

static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index_index(PyArrayMultiIterObject *__pyx_v_self) {
  npy_intp __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":293
 *         cdef inline npy_intp index(self) noexcept nogil:
 *             """The current (1-d) index into the broadcasted result."""
 *             return PyArray_MultiIter_INDEX(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __pyx_r = PyArray_MultiIter_INDEX(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":290
 *             return PyArray_MultiIter_SIZE(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp index(self) noexcept nogil:
 *             """The current (1-d) index into the broadcasted result."""
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":295
 *             return PyArray_MultiIter_INDEX(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline int nd(self) noexcept nogil:
 *             """The number of dimensions in the broadcasted result."""
*/

static CYTHON_INLINE int __pyx_f_5numpy_9broadcast_2nd_nd(PyArrayMultiIterObject *__pyx_v_self) {
  int __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":298
 *         cdef inline int nd(self) noexcept nogil:
 *             """The number of dimensions in the broadcasted result."""
 *             return PyArray_MultiIter_NDIM(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __pyx_r = PyArray_MultiIter_NDIM(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":295
 *             return PyArray_MultiIter_INDEX(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline int nd(self) noexcept nogil:
 *             """The number of dimensions in the broadcasted result."""
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":300
 *             return PyArray_MultiIter_NDIM(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp* dimensions(self) noexcept nogil:
 *             """The shape of the broadcasted result."""
*/

static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions_dimensions(PyArrayMultiIterObject *__pyx_v_self) {
  npy_intp *__pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":303
 *         cdef inline npy_intp* dimensions(self) noexcept nogil:
 *             """The shape of the broadcasted result."""
 *             return PyArray_MultiIter_DIMS(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __pyx_r = PyArray_MultiIter_DIMS(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":300
 *             return PyArray_MultiIter_NDIM(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp* dimensions(self) noexcept nogil:
 *             """The shape of the broadcasted result."""
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":305
 *             return PyArray_MultiIter_DIMS(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline void** iters(self) noexcept nogil:
 *             """An array of iterator objects that holds the iterators for the arrays to be broadcast together.
*/

static CYTHON_INLINE void **__pyx_f_5numpy_9broadcast_5iters_iters(PyArrayMultiIterObject *__pyx_v_self) {
  void **__pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":309
 *             """An array of iterator objects that holds the iterators for the arrays to be broadcast together.
 *             On return, the iterators are adjusted for broadcasting."""
 *             return PyArray_MultiIter_ITERS(self)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = PyArray_MultiIter_ITERS(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":305
 *             return PyArray_MultiIter_DIMS(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline void** iters(self) noexcept nogil:
 *             """An array of iterator objects that holds the iterators for the arrays to be broadcast together.
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":323
 *         # Instead, we use properties that map to the corresponding C-API functions.
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline PyObject* base(self) noexcept nogil:
 *             """Returns a borrowed reference to the object owning the data/memory.
*/

static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base_base(PyArrayObject *__pyx_v_self) {
  PyObject *__pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":327
 *             """Returns a borrowed reference to the object owning the data/memory.
 *             """
 *             return PyArray_BASE(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __pyx_r = PyArray_BASE(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":323
 *         # Instead, we use properties that map to the corresponding C-API functions.
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline PyObject* base(self) noexcept nogil:
 *             """Returns a borrowed reference to the object owning the data/memory.
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":329
 *             return PyArray_BASE(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline dtype descr(self):
 *             """Returns an owned reference to the dtype of the array.
*/

static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr_descr(PyArrayObject *__pyx_v_self) {
  PyArray_Descr *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyArray_Descr *__pyx_t_1;
  __Pyx_RefNannySetupContext("descr", 0);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":333
 *             """Returns an owned reference to the dtype of the array.
 *             """
 *             return <dtype>PyArray_DESCR(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __Pyx_XDECREF((PyObject *)__pyx_r);
  __pyx_t_1 = PyArray_DESCR(__pyx_v_self);
  __Pyx_INCREF((PyObject *)((PyArray_Descr *)__pyx_t_1));
  __pyx_r = ((PyArray_Descr *)__pyx_t_1);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":329
 *             return PyArray_BASE(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline dtype descr(self):
 *             """Returns an owned reference to the dtype of the array.
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":335
 *             return <dtype>PyArray_DESCR(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline int ndim(self) noexcept nogil:
 *             """Returns the number of dimensions in the array.
*/

static CYTHON_INLINE int __pyx_f_5numpy_7ndarray_4ndim_ndim(PyArrayObject *__pyx_v_self) {
  int __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":339
 *             """Returns the number of dimensions in the array.
 *             """
 *             return PyArray_NDIM(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __pyx_r = PyArray_NDIM(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":335
 *             return <dtype>PyArray_DESCR(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline int ndim(self) noexcept nogil:
 *             """Returns the number of dimensions in the array.
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":341
 *             return PyArray_NDIM(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp *shape(self) noexcept nogil:
 *             """Returns a pointer to the dimensions/shape of the array.
*/

static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape_shape(PyArrayObject *__pyx_v_self) {
  npy_intp *__pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":347
 *             Can return NULL for 0-dimensional arrays.
 *             """
 *             return PyArray_DIMS(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __pyx_r = PyArray_DIMS(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":341
 *             return PyArray_NDIM(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp *shape(self) noexcept nogil:
 *             """Returns a pointer to the dimensions/shape of the array.
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":349
 *             return PyArray_DIMS(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp *strides(self) noexcept nogil:
 *             """Returns a pointer to the strides of the array.
*/

static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides_strides(PyArrayObject *__pyx_v_self) {
  npy_intp *__pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":354
 *             The number of elements matches the number of dimensions of the array (ndim).
 *             """
 *             return PyArray_STRIDES(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __pyx_r = PyArray_STRIDES(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":349
 *             return PyArray_DIMS(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp *strides(self) noexcept nogil:
 *             """Returns a pointer to the strides of the array.
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":356
 *             return PyArray_STRIDES(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp size(self) noexcept nogil:
 *             """Returns the total size (in number of elements) of the array.
*/

static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size_size(PyArrayObject *__pyx_v_self) {
  npy_intp __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":360
 *             """Returns the total size (in number of elements) of the array.
 *             """
 *             return PyArray_SIZE(self)             # <<<<<<<<<<<<<<
 * 
 *         @property
*/
  __pyx_r = PyArray_SIZE(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":356
 *             return PyArray_STRIDES(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline npy_intp size(self) noexcept nogil:
 *             """Returns the total size (in number of elements) of the array.
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":362
 *             return PyArray_SIZE(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline char* data(self) noexcept nogil:
 *             """The pointer to the data buffer as a char*.
*/

static CYTHON_INLINE char *__pyx_f_5numpy_7ndarray_4data_data(PyArrayObject *__pyx_v_self) {
  char *__pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":369
 *             of `PyArray_DATA()` instead, which returns a 'void*'.
 *             """
 *             return PyArray_BYTES(self)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = PyArray_BYTES(__pyx_v_self);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":362
 *             return PyArray_SIZE(self)
 * 
 *         @property             # <<<<<<<<<<<<<<
 *         cdef inline char* data(self) noexcept nogil:
 *             """The pointer to the data buffer as a char*.
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":777
 * ctypedef long double complex clongdouble_t
 * 
 * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(1, <void*>a)
 * 
*/

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":778
 * 
 * cdef inline object PyArray_MultiIterNew1(a):
 *     return PyArray_MultiIterNew(1, <void*>a)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object PyArray_MultiIterNew2(a, b):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 778, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":777
 * ctypedef long double complex clongdouble_t
 * 
 * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(1, <void*>a)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":780
 *     return PyArray_MultiIterNew(1, <void*>a)
 * 
 * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
 * 
*/

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":781
 * 
 * cdef inline object PyArray_MultiIterNew2(a, b):
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object PyArray_MultiIterNew3(a, b, c):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":780
 *     return PyArray_MultiIterNew(1, <void*>a)
 * 
 * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":783
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
 * 
 * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
 * 
*/

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":784
 * 
 * cdef inline object PyArray_MultiIterNew3(a, b, c):
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":783
 *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
 * 
 * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":786
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
 * 
 * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
 * 
*/

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":787
 * 
 * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":786
 *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
 * 
 * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":789
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
 * 
 * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
 * 
*/

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":790
 * 
 * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)             # <<<<<<<<<<<<<<
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":789
 *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
 * 
 * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":792
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):             # <<<<<<<<<<<<<<
 *     if PyDataType_HASSUBARRAY(d):
 *         return <tuple>d.subarray.shape
*/

static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2;
  __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":793
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):
 *     if PyDataType_HASSUBARRAY(d):             # <<<<<<<<<<<<<<
 *         return <tuple>d.subarray.shape
 *     else:
*/
  __pyx_t_1 = PyDataType_HASSUBARRAY(__pyx_v_d);
  if (__pyx_t_1) {

    /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":794
 * cdef inline tuple PyDataType_SHAPE(dtype d):
 *     if PyDataType_HASSUBARRAY(d):
 *         return <tuple>d.subarray.shape             # <<<<<<<<<<<<<<
 *     else:
 *         return ()
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __pyx_f_5numpy_5dtype_8subarray_subarray(__pyx_v_d)->shape;
    __Pyx_INCREF(((PyObject*)__pyx_t_2));
    __pyx_r = ((PyObject*)__pyx_t_2);
    goto __pyx_L0;

    /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":793
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):
 *     if PyDataType_HASSUBARRAY(d):             # <<<<<<<<<<<<<<
 *         return <tuple>d.subarray.shape
 *     else:
*/
  }

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":796
 *         return <tuple>d.subarray.shape
 *     else:
 *         return ()             # <<<<<<<<<<<<<<
 * 
 * 
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
    __pyx_r = __pyx_mstate_global->__pyx_empty_tuple;
    goto __pyx_L0;
  }

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":792
 *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
 * 
 * cdef inline tuple PyDataType_SHAPE(dtype d):             # <<<<<<<<<<<<<<
 *     if PyDataType_HASSUBARRAY(d):
 *         return <tuple>d.subarray.shape
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":995
 *     int _import_umath() except -1
 * 
 * cdef inline void set_array_base(ndarray arr, object base) except *:             # <<<<<<<<<<<<<<
 *     Py_INCREF(base) # important to do this before stealing the reference below!
 *     PyArray_SetBaseObject(arr, base)
*/

static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":996
 * 
 * cdef inline void set_array_base(ndarray arr, object base) except *:
 *     Py_INCREF(base) # important to do this before stealing the reference below!             # <<<<<<<<<<<<<<
 *     PyArray_SetBaseObject(arr, base)
 * 
*/
  Py_INCREF(__pyx_v_base);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":997
 * cdef inline void set_array_base(ndarray arr, object base) except *:
 *     Py_INCREF(base) # important to do this before stealing the reference below!
 *     PyArray_SetBaseObject(arr, base)             # <<<<<<<<<<<<<<
 * 
 * cdef inline object get_array_base(ndarray arr):
*/
  __pyx_t_1 = PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(7, 997, __pyx_L1_error)

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":995
 *     int _import_umath() except -1
 * 
 * cdef inline void set_array_base(ndarray arr, object base) except *:             # <<<<<<<<<<<<<<
 *     Py_INCREF(base) # important to do this before stealing the reference below!
 *     PyArray_SetBaseObject(arr, base)
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("numpy.set_array_base", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_L0:;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":999
 *     PyArray_SetBaseObject(arr, base)
 * 
 * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
 *     base = PyArray_BASE(arr)
 *     if base is NULL:
*/

static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
  PyObject *__pyx_v_base;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("get_array_base", 0);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1000
 * 
 * cdef inline object get_array_base(ndarray arr):
 *     base = PyArray_BASE(arr)             # <<<<<<<<<<<<<<
 *     if base is NULL:
 *         return None
*/
  __pyx_v_base = PyArray_BASE(__pyx_v_arr);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1001
 * cdef inline object get_array_base(ndarray arr):
 *     base = PyArray_BASE(arr)
 *     if base is NULL:             # <<<<<<<<<<<<<<
 *         return None
 *     return <object>base
*/
  __pyx_t_1 = (__pyx_v_base == NULL);
  if (__pyx_t_1) {

    /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1002
 *     base = PyArray_BASE(arr)
 *     if base is NULL:
 *         return None             # <<<<<<<<<<<<<<
 *     return <object>base
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1001
 * cdef inline object get_array_base(ndarray arr):
 *     base = PyArray_BASE(arr)
 *     if base is NULL:             # <<<<<<<<<<<<<<
 *         return None
 *     return <object>base
*/
  }

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1003
 *     if base is NULL:
 *         return None
 *     return <object>base             # <<<<<<<<<<<<<<
 * 
 * # Versions of the import_* functions which are more suitable for
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_base));
  __pyx_r = ((PyObject *)__pyx_v_base);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":999
 *     PyArray_SetBaseObject(arr, base)
 * 
 * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
 *     base = PyArray_BASE(arr)
 *     if base is NULL:
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1007
 * # Versions of the import_* functions which are more suitable for
 * # Cython code.
 * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         __pyx_import_array()
*/

static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("import_array", 0);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1008
 * # Cython code.
 * cdef inline int import_array() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         __pyx_import_array()
 *     except Exception:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1009
 * cdef inline int import_array() except -1:
 *     try:
 *         __pyx_import_array()             # <<<<<<<<<<<<<<
 *     except Exception:
 *         raise ImportError("numpy._core.multiarray failed to import")
*/
      __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(7, 1009, __pyx_L3_error)

      /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1008
 * # Cython code.
 * cdef inline int import_array() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         __pyx_import_array()
 *     except Exception:
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1010
 *     try:
 *         __pyx_import_array()
 *     except Exception:             # <<<<<<<<<<<<<<
 *         raise ImportError("numpy._core.multiarray failed to import")
 * 
*/
    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_Exception))));
    if (__pyx_t_4) {
      __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(7, 1010, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);

      /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1011
 *         __pyx_import_array()
 *     except Exception:
 *         raise ImportError("numpy._core.multiarray failed to import")             # <<<<<<<<<<<<<<
 * 
 * cdef inline int import_umath() except -1:
*/
      __pyx_t_9 = NULL;
      __pyx_t_10 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_numpy__core_multiarray_failed_to};
        __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ImportError)), __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(7, 1011, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(7, 1011, __pyx_L5_except_error)
    }
    goto __pyx_L5_except_error;

    /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1008
 * # Cython code.
 * cdef inline int import_array() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         __pyx_import_array()
 *     except Exception:
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L8_try_end:;
  }

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1007
 * # Versions of the import_* functions which are more suitable for
 * # Cython code.
 * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         __pyx_import_array()
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1013
 *         raise ImportError("numpy._core.multiarray failed to import")
 * 
 * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         _import_umath()
*/

static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("import_umath", 0);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1014
 * 
 * cdef inline int import_umath() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1015
 * cdef inline int import_umath() except -1:
 *     try:
 *         _import_umath()             # <<<<<<<<<<<<<<
 *     except Exception:
 *         raise ImportError("numpy._core.umath failed to import")
*/
      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(7, 1015, __pyx_L3_error)

      /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1014
 * 
 * cdef inline int import_umath() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1016
 *     try:
 *         _import_umath()
 *     except Exception:             # <<<<<<<<<<<<<<
 *         raise ImportError("numpy._core.umath failed to import")
 * 
*/
    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_Exception))));
    if (__pyx_t_4) {
      __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(7, 1016, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);

      /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1017
 *         _import_umath()
 *     except Exception:
 *         raise ImportError("numpy._core.umath failed to import")             # <<<<<<<<<<<<<<
 * 
 * cdef inline int import_ufunc() except -1:
*/
      __pyx_t_9 = NULL;
      __pyx_t_10 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_numpy__core_umath_failed_to_impo};
        __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ImportError)), __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(7, 1017, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(7, 1017, __pyx_L5_except_error)
    }
    goto __pyx_L5_except_error;

    /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1014
 * 
 * cdef inline int import_umath() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L8_try_end:;
  }

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1013
 *         raise ImportError("numpy._core.multiarray failed to import")
 * 
 * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         _import_umath()
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1019
 *         raise ImportError("numpy._core.umath failed to import")
 * 
 * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         _import_umath()
*/

static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("import_ufunc", 0);

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1020
 * 
 * cdef inline int import_ufunc() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1021
 * cdef inline int import_ufunc() except -1:
 *     try:
 *         _import_umath()             # <<<<<<<<<<<<<<
 *     except Exception:
 *         raise ImportError("numpy._core.umath failed to import")
*/
      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(7, 1021, __pyx_L3_error)

      /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1020
 * 
 * cdef inline int import_ufunc() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;

    /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1022
 *     try:
 *         _import_umath()
 *     except Exception:             # <<<<<<<<<<<<<<
 *         raise ImportError("numpy._core.umath failed to import")
 * 
*/
    __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_Exception))));
    if (__pyx_t_4) {
      __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(7, 1022, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_6);
      __Pyx_XGOTREF(__pyx_t_7);

      /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1023
 *         _import_umath()
 *     except Exception:
 *         raise ImportError("numpy._core.umath failed to import")             # <<<<<<<<<<<<<<
 * 
 * 
*/
      __pyx_t_9 = NULL;
      __pyx_t_10 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_numpy__core_umath_failed_to_impo};
        __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ImportError)), __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(7, 1023, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(7, 1023, __pyx_L5_except_error)
    }
    goto __pyx_L5_except_error;

    /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1020
 * 
 * cdef inline int import_ufunc() except -1:
 *     try:             # <<<<<<<<<<<<<<
 *         _import_umath()
 *     except Exception:
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L8_try_end:;
  }

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1019
 *         raise ImportError("numpy._core.umath failed to import")
 * 
 * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
 *     try:
 *         _import_umath()
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1026
 * 
 * 
 * cdef inline bint is_timedelta64_object(object obj) noexcept:             # <<<<<<<<<<<<<<
 *     """
 *     Cython equivalent of `isinstance(obj, np.timedelta64)`
*/

static CYTHON_INLINE int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_obj) {
  int __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1038
 *     bool
 *     """
 *     return PyObject_TypeCheck(obj, &PyTimedeltaArrType_Type)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyTimedeltaArrType_Type));
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1026
 * 
 * 
 * cdef inline bint is_timedelta64_object(object obj) noexcept:             # <<<<<<<<<<<<<<
 *     """
 *     Cython equivalent of `isinstance(obj, np.timedelta64)`
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1041
 * 
 * 
 * cdef inline bint is_datetime64_object(object obj) noexcept:             # <<<<<<<<<<<<<<
 *     """
 *     Cython equivalent of `isinstance(obj, np.datetime64)`
*/

static CYTHON_INLINE int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_obj) {
  int __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1053
 *     bool
 *     """
 *     return PyObject_TypeCheck(obj, &PyDatetimeArrType_Type)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyDatetimeArrType_Type));
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1041
 * 
 * 
 * cdef inline bint is_datetime64_object(object obj) noexcept:             # <<<<<<<<<<<<<<
 *     """
 *     Cython equivalent of `isinstance(obj, np.datetime64)`
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1056
 * 
 * 
 * cdef inline npy_datetime get_datetime64_value(object obj) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the int64 value underlying scalar numpy datetime64 object
*/

static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *__pyx_v_obj) {
  npy_datetime __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1063
 *     also needed.  That can be found using `get_datetime64_unit`.
 *     """
 *     return (<PyDatetimeScalarObject*>obj).obval             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = ((PyDatetimeScalarObject *)__pyx_v_obj)->obval;
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1056
 * 
 * 
 * cdef inline npy_datetime get_datetime64_value(object obj) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the int64 value underlying scalar numpy datetime64 object
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1066
 * 
 * 
 * cdef inline npy_timedelta get_timedelta64_value(object obj) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the int64 value underlying scalar numpy timedelta64 object
*/

static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject *__pyx_v_obj) {
  npy_timedelta __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1070
 *     returns the int64 value underlying scalar numpy timedelta64 object
 *     """
 *     return (<PyTimedeltaScalarObject*>obj).obval             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = ((PyTimedeltaScalarObject *)__pyx_v_obj)->obval;
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1066
 * 
 * 
 * cdef inline npy_timedelta get_timedelta64_value(object obj) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the int64 value underlying scalar numpy timedelta64 object
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1073
 * 
 * 
 * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the unit part of the dtype for a numpy datetime64 object.
*/

static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObject *__pyx_v_obj) {
  NPY_DATETIMEUNIT __pyx_r;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1077
 *     returns the unit part of the dtype for a numpy datetime64 object.
 *     """
 *     return <NPY_DATETIMEUNIT>(<PyDatetimeScalarObject*>obj).obmeta.base             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = ((NPY_DATETIMEUNIT)((PyDatetimeScalarObject *)__pyx_v_obj)->obmeta.base);
  goto __pyx_L0;

  /* "../../../../usr/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd":1073
 * 
 * 
 * cdef inline NPY_DATETIMEUNIT get_datetime64_unit(object obj) noexcept nogil:             # <<<<<<<<<<<<<<
 *     """
 *     returns the unit part of the dtype for a numpy datetime64 object.
*/

  /* function exit code */
  __pyx_L0:;
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":61
 * 
 * 
 * def _is_number(e):             # <<<<<<<<<<<<<<
 *     try:
 *         f = float(e)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_1_is_number(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_1_is_number = {"_is_number", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_1_is_number, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_1_is_number(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_e = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_is_number (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_e,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 61, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 61, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_is_number", 0) < (0)) __PYX_ERR(3, 61, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_is_number", 1, 1, 1, i); __PYX_ERR(3, 61, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 61, __pyx_L3_error)
    }
    __pyx_v_e = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_is_number", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 61, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip._is_number", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip__is_number(__pyx_self, __pyx_v_e);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip__is_number(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_e) {
  CYTHON_UNUSED double __pyx_v_f;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  double __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_is_number", 0);

  /* "src/pyscipopt/expr.pxi":62
 * 
 * def _is_number(e):
 *     try:             # <<<<<<<<<<<<<<
 *         f = float(e)
 *         return True
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "src/pyscipopt/expr.pxi":63
 * def _is_number(e):
 *     try:
 *         f = float(e)             # <<<<<<<<<<<<<<
 *         return True
 *     except ValueError: # for malformed strings
*/
      __pyx_t_4 = __Pyx_PyObject_AsDouble(__pyx_v_e); if (unlikely(__PYX_CHECK_FLOAT_EXCEPTION(__pyx_t_4, ((double)((double)-1))) && PyErr_Occurred())) __PYX_ERR(3, 63, __pyx_L3_error)
      __pyx_v_f = __pyx_t_4;

      /* "src/pyscipopt/expr.pxi":64
 *     try:
 *         f = float(e)
 *         return True             # <<<<<<<<<<<<<<
 *     except ValueError: # for malformed strings
 *         return False
*/
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_True);
      __pyx_r = Py_True;
      goto __pyx_L7_try_return;

      /* "src/pyscipopt/expr.pxi":62
 * 
 * def _is_number(e):
 *     try:             # <<<<<<<<<<<<<<
 *         f = float(e)
 *         return True
*/
    }
    __pyx_L3_error:;

    /* "src/pyscipopt/expr.pxi":65
 *         f = float(e)
 *         return True
 *     except ValueError: # for malformed strings             # <<<<<<<<<<<<<<
 *         return False
 *     except TypeError: # for other types (Variable, Expr)
*/
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ValueError))));
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);

      /* "src/pyscipopt/expr.pxi":66
 *         return True
 *     except ValueError: # for malformed strings
 *         return False             # <<<<<<<<<<<<<<
 *     except TypeError: # for other types (Variable, Expr)
 *         return False
*/
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      goto __pyx_L6_except_return;
    }

    /* "src/pyscipopt/expr.pxi":67
 *     except ValueError: # for malformed strings
 *         return False
 *     except TypeError: # for other types (Variable, Expr)             # <<<<<<<<<<<<<<
 *         return False
 * 
*/
    __pyx_t_5 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_TypeError))));
    if (__pyx_t_5) {
      __Pyx_ErrRestore(0,0,0);

      /* "src/pyscipopt/expr.pxi":68
 *         return False
 *     except TypeError: # for other types (Variable, Expr)
 *         return False             # <<<<<<<<<<<<<<
 * 
 * 
*/
      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(Py_False);
      __pyx_r = Py_False;
      goto __pyx_L6_except_return;
    }
    goto __pyx_L5_except_error;

    /* "src/pyscipopt/expr.pxi":62
 * 
 * def _is_number(e):
 *     try:             # <<<<<<<<<<<<<<
 *         f = float(e)
 *         return True
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L7_try_return:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L0;
    __pyx_L6_except_return:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L0;
  }

  /* "src/pyscipopt/expr.pxi":61
 * 
 * 
 * def _is_number(e):             # <<<<<<<<<<<<<<
 *     try:
 *         f = float(e)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip._is_number", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":71
 * 
 * 
 * def _expr_richcmp(self, other, op):             # <<<<<<<<<<<<<<
 *     if op == 1: # <=
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3_expr_richcmp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3_expr_richcmp = {"_expr_richcmp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3_expr_richcmp, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_3_expr_richcmp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_other = 0;
  PyObject *__pyx_v_op = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_expr_richcmp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_other,&__pyx_mstate_global->__pyx_n_u_op,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 71, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 71, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 71, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 71, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_expr_richcmp", 0) < (0)) __PYX_ERR(3, 71, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_expr_richcmp", 1, 3, 3, i); __PYX_ERR(3, 71, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 71, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 71, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 71, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_other = values[1];
    __pyx_v_op = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_expr_richcmp", 1, 3, 3, __pyx_nargs); __PYX_ERR(3, 71, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip._expr_richcmp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2_expr_richcmp(__pyx_self, __pyx_v_self, __pyx_v_other, __pyx_v_op);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2_expr_richcmp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_op) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_expr_richcmp", 0);

  /* "src/pyscipopt/expr.pxi":72
 * 
 * def _expr_richcmp(self, other, op):
 *     if op == 1: # <=             # <<<<<<<<<<<<<<
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) <= 0.0
*/
  __pyx_t_1 = (__Pyx_PyLong_BoolEqObjC(__pyx_v_op, __pyx_mstate_global->__pyx_int_1, 1, 0)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(3, 72, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/expr.pxi":73
 * def _expr_richcmp(self, other, op):
 *     if op == 1: # <=
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):             # <<<<<<<<<<<<<<
 *             return (self - other) <= 0.0
 *         elif _is_number(other):
*/
    __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr); 
    if (!__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L5_bool_binop_done;
    }
    __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); 
    __pyx_t_1 = __pyx_t_2;
    __pyx_L5_bool_binop_done:;
    if (__pyx_t_1) {

      /* "src/pyscipopt/expr.pxi":74
 *     if op == 1: # <=
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) <= 0.0             # <<<<<<<<<<<<<<
 *         elif _is_number(other):
 *             return ExprCons(self, rhs=float(other))
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = PyNumber_Subtract(__pyx_v_self, __pyx_v_other); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 74, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_mstate_global->__pyx_float_0_0, Py_LE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 74, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_r = __pyx_t_4;
      __pyx_t_4 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/expr.pxi":73
 * def _expr_richcmp(self, other, op):
 *     if op == 1: # <=
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):             # <<<<<<<<<<<<<<
 *             return (self - other) <= 0.0
 *         elif _is_number(other):
*/
    }

    /* "src/pyscipopt/expr.pxi":75
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) <= 0.0
 *         elif _is_number(other):             # <<<<<<<<<<<<<<
 *             return ExprCons(self, rhs=float(other))
 *         elif isinstance(other, np.ndarray):
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 75, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_other};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 75, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(3, 75, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (__pyx_t_1) {

      /* "src/pyscipopt/expr.pxi":76
 *             return (self - other) <= 0.0
 *         elif _is_number(other):
 *             return ExprCons(self, rhs=float(other))             # <<<<<<<<<<<<<<
 *         elif isinstance(other, np.ndarray):
 *             return _expr_richcmp(other, self, 5)
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_5 = NULL;
      __pyx_t_3 = __Pyx_PyNumber_Float(__pyx_v_other); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 76, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, __pyx_v_self};
        __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 76, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_rhs, __pyx_t_3, __pyx_t_7, __pyx_callargs+2, 0) < (0)) __PYX_ERR(3, 76, __pyx_L1_error)
        __pyx_t_4 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 76, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_4);
      }
      __pyx_r = ((PyObject *)__pyx_t_4);
      __pyx_t_4 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/expr.pxi":75
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) <= 0.0
 *         elif _is_number(other):             # <<<<<<<<<<<<<<
 *             return ExprCons(self, rhs=float(other))
 *         elif isinstance(other, np.ndarray):
*/
    }

    /* "src/pyscipopt/expr.pxi":77
 *         elif _is_number(other):
 *             return ExprCons(self, rhs=float(other))
 *         elif isinstance(other, np.ndarray):             # <<<<<<<<<<<<<<
 *             return _expr_richcmp(other, self, 5)
 *         else:
*/
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_1 = PyObject_IsInstance(__pyx_v_other, __pyx_t_7); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(3, 77, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (likely(__pyx_t_1)) {

      /* "src/pyscipopt/expr.pxi":78
 *             return ExprCons(self, rhs=float(other))
 *         elif isinstance(other, np.ndarray):
 *             return _expr_richcmp(other, self, 5)             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError(f"Unsupported type {type(other)}")
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_4 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_expr_richcmp); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 78, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
        assert(__pyx_t_4);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_v_other, __pyx_v_self, __pyx_mstate_global->__pyx_int_5};
        __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 78, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
      }
      __pyx_r = __pyx_t_7;
      __pyx_t_7 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/expr.pxi":77
 *         elif _is_number(other):
 *             return ExprCons(self, rhs=float(other))
 *         elif isinstance(other, np.ndarray):             # <<<<<<<<<<<<<<
 *             return _expr_richcmp(other, self, 5)
 *         else:
*/
    }

    /* "src/pyscipopt/expr.pxi":80
 *             return _expr_richcmp(other, self, 5)
 *         else:
 *             raise TypeError(f"Unsupported type {type(other)}")             # <<<<<<<<<<<<<<
 *     elif op == 5: # >=
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
*/
    /*else*/ {
      __pyx_t_3 = NULL;
      __pyx_t_4 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_other)), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 80, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Unsupported_type, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 80, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
        __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 80, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
      }
      __Pyx_Raise(__pyx_t_7, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __PYX_ERR(3, 80, __pyx_L1_error)
    }

    /* "src/pyscipopt/expr.pxi":72
 * 
 * def _expr_richcmp(self, other, op):
 *     if op == 1: # <=             # <<<<<<<<<<<<<<
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) <= 0.0
*/
  }

  /* "src/pyscipopt/expr.pxi":81
 *         else:
 *             raise TypeError(f"Unsupported type {type(other)}")
 *     elif op == 5: # >=             # <<<<<<<<<<<<<<
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) >= 0.0
*/
  __pyx_t_1 = (__Pyx_PyLong_BoolEqObjC(__pyx_v_op, __pyx_mstate_global->__pyx_int_5, 5, 0)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(3, 81, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/expr.pxi":82
 *             raise TypeError(f"Unsupported type {type(other)}")
 *     elif op == 5: # >=
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):             # <<<<<<<<<<<<<<
 *             return (self - other) >= 0.0
 *         elif _is_number(other):
*/
    __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr); 
    if (!__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L8_bool_binop_done;
    }
    __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); 
    __pyx_t_1 = __pyx_t_2;
    __pyx_L8_bool_binop_done:;
    if (__pyx_t_1) {

      /* "src/pyscipopt/expr.pxi":83
 *     elif op == 5: # >=
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) >= 0.0             # <<<<<<<<<<<<<<
 *         elif _is_number(other):
 *             return ExprCons(self, lhs=float(other))
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_7 = PyNumber_Subtract(__pyx_v_self, __pyx_v_other); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 83, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_5 = PyObject_RichCompare(__pyx_t_7, __pyx_mstate_global->__pyx_float_0_0, Py_GE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 83, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_r = __pyx_t_5;
      __pyx_t_5 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/expr.pxi":82
 *             raise TypeError(f"Unsupported type {type(other)}")
 *     elif op == 5: # >=
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):             # <<<<<<<<<<<<<<
 *             return (self - other) >= 0.0
 *         elif _is_number(other):
*/
    }

    /* "src/pyscipopt/expr.pxi":84
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) >= 0.0
 *         elif _is_number(other):             # <<<<<<<<<<<<<<
 *             return ExprCons(self, lhs=float(other))
 *         elif isinstance(other, np.ndarray):
*/
    __pyx_t_7 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_7);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_other};
      __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 84, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(3, 84, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (__pyx_t_1) {

      /* "src/pyscipopt/expr.pxi":85
 *             return (self - other) >= 0.0
 *         elif _is_number(other):
 *             return ExprCons(self, lhs=float(other))             # <<<<<<<<<<<<<<
 *         elif isinstance(other, np.ndarray):
 *             return _expr_richcmp(other, self, 1)
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = NULL;
      __pyx_t_7 = __Pyx_PyNumber_Float(__pyx_v_other); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 85, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, __pyx_v_self};
        __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 85, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_lhs, __pyx_t_7, __pyx_t_4, __pyx_callargs+2, 0) < (0)) __PYX_ERR(3, 85, __pyx_L1_error)
        __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 85, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      __pyx_r = ((PyObject *)__pyx_t_5);
      __pyx_t_5 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/expr.pxi":84
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) >= 0.0
 *         elif _is_number(other):             # <<<<<<<<<<<<<<
 *             return ExprCons(self, lhs=float(other))
 *         elif isinstance(other, np.ndarray):
*/
    }

    /* "src/pyscipopt/expr.pxi":86
 *         elif _is_number(other):
 *             return ExprCons(self, lhs=float(other))
 *         elif isinstance(other, np.ndarray):             # <<<<<<<<<<<<<<
 *             return _expr_richcmp(other, self, 1)
 *         else:
*/
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_1 = PyObject_IsInstance(__pyx_v_other, __pyx_t_4); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(3, 86, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (likely(__pyx_t_1)) {

      /* "src/pyscipopt/expr.pxi":87
 *             return ExprCons(self, lhs=float(other))
 *         elif isinstance(other, np.ndarray):
 *             return _expr_richcmp(other, self, 1)             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError(f"Unsupported type {type(other)}")
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_5 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_expr_richcmp); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 87, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_7))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7);
        assert(__pyx_t_5);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[4] = {__pyx_t_5, __pyx_v_other, __pyx_v_self, __pyx_mstate_global->__pyx_int_1};
        __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 87, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __pyx_r = __pyx_t_4;
      __pyx_t_4 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/expr.pxi":86
 *         elif _is_number(other):
 *             return ExprCons(self, lhs=float(other))
 *         elif isinstance(other, np.ndarray):             # <<<<<<<<<<<<<<
 *             return _expr_richcmp(other, self, 1)
 *         else:
*/
    }

    /* "src/pyscipopt/expr.pxi":89
 *             return _expr_richcmp(other, self, 1)
 *         else:
 *             raise TypeError(f"Unsupported type {type(other)}")             # <<<<<<<<<<<<<<
 *     elif op == 2: # ==
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
*/
    /*else*/ {
      __pyx_t_7 = NULL;
      __pyx_t_5 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_other)), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 89, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Unsupported_type, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 89, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_3};
        __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 89, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(3, 89, __pyx_L1_error)
    }

    /* "src/pyscipopt/expr.pxi":81
 *         else:
 *             raise TypeError(f"Unsupported type {type(other)}")
 *     elif op == 5: # >=             # <<<<<<<<<<<<<<
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) >= 0.0
*/
  }

  /* "src/pyscipopt/expr.pxi":90
 *         else:
 *             raise TypeError(f"Unsupported type {type(other)}")
 *     elif op == 2: # ==             # <<<<<<<<<<<<<<
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) == 0.0
*/
  __pyx_t_1 = (__Pyx_PyLong_BoolEqObjC(__pyx_v_op, __pyx_mstate_global->__pyx_int_2, 2, 0)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(3, 90, __pyx_L1_error)
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/expr.pxi":91
 *             raise TypeError(f"Unsupported type {type(other)}")
 *     elif op == 2: # ==
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):             # <<<<<<<<<<<<<<
 *             return (self - other) == 0.0
 *         elif _is_number(other):
*/
    __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr); 
    if (!__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L11_bool_binop_done;
    }
    __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); 
    __pyx_t_1 = __pyx_t_2;
    __pyx_L11_bool_binop_done:;
    if (__pyx_t_1) {

      /* "src/pyscipopt/expr.pxi":92
 *     elif op == 2: # ==
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) == 0.0             # <<<<<<<<<<<<<<
 *         elif _is_number(other):
 *             return ExprCons(self, lhs=float(other), rhs=float(other))
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_4 = PyNumber_Subtract(__pyx_v_self, __pyx_v_other); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 92, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = __Pyx_PyFloat_EqObjC(__pyx_t_4, __pyx_mstate_global->__pyx_float_0_0, 0.0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 92, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_r = __pyx_t_3;
      __pyx_t_3 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/expr.pxi":91
 *             raise TypeError(f"Unsupported type {type(other)}")
 *     elif op == 2: # ==
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):             # <<<<<<<<<<<<<<
 *             return (self - other) == 0.0
 *         elif _is_number(other):
*/
    }

    /* "src/pyscipopt/expr.pxi":93
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) == 0.0
 *         elif _is_number(other):             # <<<<<<<<<<<<<<
 *             return ExprCons(self, lhs=float(other), rhs=float(other))
 *         elif isinstance(other, np.ndarray):
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 93, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_other};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(3, 93, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (__pyx_t_1) {

      /* "src/pyscipopt/expr.pxi":94
 *             return (self - other) == 0.0
 *         elif _is_number(other):
 *             return ExprCons(self, lhs=float(other), rhs=float(other))             # <<<<<<<<<<<<<<
 *         elif isinstance(other, np.ndarray):
 *             return _expr_richcmp(other, self, 2)
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_7 = NULL;
      __pyx_t_4 = __Pyx_PyNumber_Float(__pyx_v_other); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 94, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyNumber_Float(__pyx_v_other); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 94, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_7, __pyx_v_self};
        __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 94, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_lhs, __pyx_t_4, __pyx_t_8, __pyx_callargs+2, 0) < (0)) __PYX_ERR(3, 94, __pyx_L1_error)
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_rhs, __pyx_t_5, __pyx_t_8, __pyx_callargs+2, 1) < (0)) __PYX_ERR(3, 94, __pyx_L1_error)
        __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 94, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_3);
      }
      __pyx_r = ((PyObject *)__pyx_t_3);
      __pyx_t_3 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/expr.pxi":93
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) == 0.0
 *         elif _is_number(other):             # <<<<<<<<<<<<<<
 *             return ExprCons(self, lhs=float(other), rhs=float(other))
 *         elif isinstance(other, np.ndarray):
*/
    }

    /* "src/pyscipopt/expr.pxi":95
 *         elif _is_number(other):
 *             return ExprCons(self, lhs=float(other), rhs=float(other))
 *         elif isinstance(other, np.ndarray):             # <<<<<<<<<<<<<<
 *             return _expr_richcmp(other, self, 2)
 *         else:
*/
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 95, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 95, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_1 = PyObject_IsInstance(__pyx_v_other, __pyx_t_8); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(3, 95, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (likely(__pyx_t_1)) {

      /* "src/pyscipopt/expr.pxi":96
 *             return ExprCons(self, lhs=float(other), rhs=float(other))
 *         elif isinstance(other, np.ndarray):
 *             return _expr_richcmp(other, self, 2)             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError(f"Unsupported type {type(other)}")
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_expr_richcmp); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 96, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
        assert(__pyx_t_3);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_v_other, __pyx_v_self, __pyx_mstate_global->__pyx_int_2};
        __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 96, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      __pyx_r = __pyx_t_8;
      __pyx_t_8 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/expr.pxi":95
 *         elif _is_number(other):
 *             return ExprCons(self, lhs=float(other), rhs=float(other))
 *         elif isinstance(other, np.ndarray):             # <<<<<<<<<<<<<<
 *             return _expr_richcmp(other, self, 2)
 *         else:
*/
    }

    /* "src/pyscipopt/expr.pxi":98
 *             return _expr_richcmp(other, self, 2)
 *         else:
 *             raise TypeError(f"Unsupported type {type(other)}")             # <<<<<<<<<<<<<<
 *     else:
 *         raise NotImplementedError("Can only support constraints with '<=', '>=', or '=='.")
*/
    /*else*/ {
      __pyx_t_5 = NULL;
      __pyx_t_3 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_other)), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 98, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Unsupported_type, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 98, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
        __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 98, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __PYX_ERR(3, 98, __pyx_L1_error)
    }

    /* "src/pyscipopt/expr.pxi":90
 *         else:
 *             raise TypeError(f"Unsupported type {type(other)}")
 *     elif op == 2: # ==             # <<<<<<<<<<<<<<
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
 *             return (self - other) == 0.0
*/
  }

  /* "src/pyscipopt/expr.pxi":100
 *             raise TypeError(f"Unsupported type {type(other)}")
 *     else:
 *         raise NotImplementedError("Can only support constraints with '<=', '>=', or '=='.")             # <<<<<<<<<<<<<<
 * 
 * 
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Can_only_support_constraints_wit};
      __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 100, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __Pyx_Raise(__pyx_t_8, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __PYX_ERR(3, 100, __pyx_L1_error)
  }

  /* "src/pyscipopt/expr.pxi":71
 * 
 * 
 * def _expr_richcmp(self, other, op):             # <<<<<<<<<<<<<<
 *     if op == 1: # <=
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip._expr_richcmp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":110
 *     cdef Py_ssize_t hashval
 * 
 *     def __init__(self, *vartuple: Variable):             # <<<<<<<<<<<<<<
 *         self.vartuple = tuple(sorted(vartuple, key=lambda v: v.ptr()))
 *         self.ptrtuple = tuple(v.ptr() for v in self.vartuple)
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Term_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Term_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_vartuple = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__init__", __pyx_kwds); return -1;}
  __Pyx_INCREF(__pyx_args);
  __pyx_v_vartuple = __pyx_args;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Term___init__(((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_self), __pyx_v_vartuple);

  /* function exit code */
  __Pyx_DECREF(__pyx_v_vartuple);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":111
 * 
 *     def __init__(self, *vartuple: Variable):
 *         self.vartuple = tuple(sorted(vartuple, key=lambda v: v.ptr()))             # <<<<<<<<<<<<<<
 *         self.ptrtuple = tuple(v.ptr() for v in self.vartuple)
 *         self.hashval = <Py_ssize_t>hash(self.ptrtuple)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_8__init___lambda(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Term_8__init___lambda = {"lambda", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Term_8__init___lambda, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_8__init___lambda(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_v = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lambda (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_v,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 111, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 111, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "lambda", 0) < (0)) __PYX_ERR(3, 111, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("lambda", 1, 1, 1, i); __PYX_ERR(3, 111, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 111, __pyx_L3_error)
    }
    __pyx_v_v = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("lambda", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 111, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Term.__init__.lambda", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_lambda_funcdef_lambda(__pyx_self, __pyx_v_v);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_lambda_funcdef_lambda(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_v) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lambda", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_v_v;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_ptr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Term.__init__.lambda", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9pyscipopt_4scip_4Term_8__init___3generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "src/pyscipopt/expr.pxi":112
 *     def __init__(self, *vartuple: Variable):
 *         self.vartuple = tuple(sorted(vartuple, key=lambda v: v.ptr()))
 *         self.ptrtuple = tuple(v.ptr() for v in self.vartuple)             # <<<<<<<<<<<<<<
 *         self.hashval = <Py_ssize_t>hash(self.ptrtuple)
 * 
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_8__init___1genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct__genexpr(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(3, 112, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9pyscipopt_4scip_4Term_8__init___3generator, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[0]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_init___locals_genexpr, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip); if (unlikely(!gen)) __PYX_ERR(3, 112, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Term.__init__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_9pyscipopt_4scip_4Term_8__init___3generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr *__pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L6_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(3, 112, __pyx_L1_error)
  }
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(3, 112, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(3, 112, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 112, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
    #endif
    ++__pyx_t_2;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __pyx_cur_scope->__pyx_v_v;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_ptr, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 112, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    __Pyx_XGIVEREF(__pyx_t_1);
    __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
    __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L6_resume_from_yield:;
    __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
    __pyx_cur_scope->__pyx_t_0 = 0;
    __Pyx_XGOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(3, 112, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":110
 *     cdef Py_ssize_t hashval
 * 
 *     def __init__(self, *vartuple: Variable):             # <<<<<<<<<<<<<<
 *         self.vartuple = tuple(sorted(vartuple, key=lambda v: v.ptr()))
 *         self.ptrtuple = tuple(v.ptr() for v in self.vartuple)
*/

static int __pyx_pf_9pyscipopt_4scip_4Term___init__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, PyObject *__pyx_v_vartuple) {
  PyObject *__pyx_gb_9pyscipopt_4scip_4Term_8__init___3generator = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  Py_hash_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "src/pyscipopt/expr.pxi":111
 * 
 *     def __init__(self, *vartuple: Variable):
 *         self.vartuple = tuple(sorted(vartuple, key=lambda v: v.ptr()))             # <<<<<<<<<<<<<<
 *         self.ptrtuple = tuple(v.ptr() for v in self.vartuple)
 *         self.hashval = <Py_ssize_t>hash(self.ptrtuple)
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Term_8__init___lambda, 0, __pyx_mstate_global->__pyx_n_u_init___locals_lambda, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1])); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_vartuple};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_key, __pyx_t_3, __pyx_t_5, __pyx_callargs+2, 0) < (0)) __PYX_ERR(3, 111, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_builtin_sorted, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_5);
  __Pyx_GOTREF(__pyx_v_self->vartuple);
  __Pyx_DECREF(__pyx_v_self->vartuple);
  __pyx_v_self->vartuple = ((PyObject*)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "src/pyscipopt/expr.pxi":112
 *     def __init__(self, *vartuple: Variable):
 *         self.vartuple = tuple(sorted(vartuple, key=lambda v: v.ptr()))
 *         self.ptrtuple = tuple(v.ptr() for v in self.vartuple)             # <<<<<<<<<<<<<<
 *         self.hashval = <Py_ssize_t>hash(self.ptrtuple)
 * 
*/
  __pyx_t_5 = __pyx_pf_9pyscipopt_4scip_4Term_8__init___1genexpr(NULL, __pyx_v_self->vartuple); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->ptrtuple);
  __Pyx_DECREF(__pyx_v_self->ptrtuple);
  __pyx_v_self->ptrtuple = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":113
 *         self.vartuple = tuple(sorted(vartuple, key=lambda v: v.ptr()))
 *         self.ptrtuple = tuple(v.ptr() for v in self.vartuple)
 *         self.hashval = <Py_ssize_t>hash(self.ptrtuple)             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, idx):
*/
  __pyx_t_1 = __pyx_v_self->ptrtuple;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_6 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_6 == ((Py_hash_t)-1))) __PYX_ERR(3, 113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_self->hashval = ((Py_ssize_t)__pyx_t_6);

  /* "src/pyscipopt/expr.pxi":110
 *     cdef Py_ssize_t hashval
 * 
 *     def __init__(self, *vartuple: Variable):             # <<<<<<<<<<<<<<
 *         self.vartuple = tuple(sorted(vartuple, key=lambda v: v.ptr()))
 *         self.ptrtuple = tuple(v.ptr() for v in self.vartuple)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Term.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_gb_9pyscipopt_4scip_4Term_8__init___3generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":115
 *         self.hashval = <Py_ssize_t>hash(self.ptrtuple)
 * 
 *     def __getitem__(self, idx):             # <<<<<<<<<<<<<<
 *         return self.vartuple[idx]
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_3__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_idx); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_3__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_idx) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Term_2__getitem__(((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_self), ((PyObject *)__pyx_v_idx));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_2__getitem__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, PyObject *__pyx_v_idx) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__getitem__", 0);

  /* "src/pyscipopt/expr.pxi":116
 * 
 *     def __getitem__(self, idx):
 *         return self.vartuple[idx]             # <<<<<<<<<<<<<<
 * 
 *     def __hash__(self) -> Py_ssize_t:
*/
  __Pyx_XDECREF(__pyx_r);
  if (unlikely(__pyx_v_self->vartuple == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
    __PYX_ERR(3, 116, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_self->vartuple, __pyx_v_idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":115
 *         self.hashval = <Py_ssize_t>hash(self.ptrtuple)
 * 
 *     def __getitem__(self, idx):             # <<<<<<<<<<<<<<
 *         return self.vartuple[idx]
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Term.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":118
 *         return self.vartuple[idx]
 * 
 *     def __hash__(self) -> Py_ssize_t:             # <<<<<<<<<<<<<<
 *         return self.hashval
 * 
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_9pyscipopt_4scip_4Term_5__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_9pyscipopt_4scip_4Term_5__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Term_4__hash__(((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_9pyscipopt_4scip_4Term_4__hash__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self) {
  Py_hash_t __pyx_r;

  /* "src/pyscipopt/expr.pxi":119
 * 
 *     def __hash__(self) -> Py_ssize_t:
 *         return self.hashval             # <<<<<<<<<<<<<<
 * 
 *     def __eq__(self, other: Term):
*/
  __pyx_r = __pyx_v_self->hashval;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":118
 *         return self.vartuple[idx]
 * 
 *     def __hash__(self) -> Py_ssize_t:             # <<<<<<<<<<<<<<
 *         return self.hashval
 * 
*/

  /* function exit code */
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":121
 *         return self.hashval
 * 
 *     def __eq__(self, other: Term):             # <<<<<<<<<<<<<<
 *         return self.ptrtuple == other.ptrtuple
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_7__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_7__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_other), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term, 0, "other", 0))) __PYX_ERR(3, 121, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Term_6__eq__(((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_self), ((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_other));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_6__eq__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "src/pyscipopt/expr.pxi":122
 * 
 *     def __eq__(self, other: Term):
 *         return self.ptrtuple == other.ptrtuple             # <<<<<<<<<<<<<<
 * 
 *     def __len__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_self->ptrtuple, __pyx_v_other->ptrtuple, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 122, __pyx_L1_error)
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":121
 *         return self.hashval
 * 
 *     def __eq__(self, other: Term):             # <<<<<<<<<<<<<<
 *         return self.ptrtuple == other.ptrtuple
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Term.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":124
 *         return self.ptrtuple == other.ptrtuple
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return len(self.vartuple)
 * 
*/

/* Python wrapper */
static Py_ssize_t __pyx_pw_9pyscipopt_4scip_4Term_9__len__(PyObject *__pyx_v_self); /*proto*/
static Py_ssize_t __pyx_pw_9pyscipopt_4scip_4Term_9__len__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Term_8__len__(((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_ssize_t __pyx_pf_9pyscipopt_4scip_4Term_8__len__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self) {
  Py_ssize_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__len__", 0);

  /* "src/pyscipopt/expr.pxi":125
 * 
 *     def __len__(self):
 *         return len(self.vartuple)             # <<<<<<<<<<<<<<
 * 
 *     def __mul__(self, Term other):
*/
  __pyx_t_1 = __pyx_v_self->vartuple;
  __Pyx_INCREF(__pyx_t_1);
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(3, 125, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_PyTuple_GET_SIZE(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(3, 125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":124
 *         return self.ptrtuple == other.ptrtuple
 * 
 *     def __len__(self):             # <<<<<<<<<<<<<<
 *         return len(self.vartuple)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Term.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":127
 *         return len(self.vartuple)
 * 
 *     def __mul__(self, Term other):             # <<<<<<<<<<<<<<
 *         # NOTE: This merge algorithm requires a sorted `Term.vartuple`.
 *         # This should be ensured in the constructor of Term.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_11__mul__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_11__mul__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__mul__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_other), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term, 1, "other", 0))) __PYX_ERR(3, 127, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Term_10__mul__(((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_self), ((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_other));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9pyscipopt_4scip_4Term_7__mul___2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "src/pyscipopt/expr.pxi":159
 *         cdef Term res = Term.__new__(Term)
 *         res.vartuple = tuple(vartuple)
 *         res.ptrtuple = tuple(v.ptr() for v in res.vartuple)             # <<<<<<<<<<<<<<
 *         res.hashval = <Py_ssize_t>hash(res.ptrtuple)
 *         return res
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_7__mul___genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_1_genexpr(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(3, 159, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9pyscipopt_4scip_4Term_7__mul___2generator1, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[2]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_mul___locals_genexpr, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip); if (unlikely(!gen)) __PYX_ERR(3, 159, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Term.__mul__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_9pyscipopt_4scip_4Term_7__mul___2generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L6_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(3, 159, __pyx_L1_error)
  }
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(3, 159, __pyx_L1_error) }
  if (unlikely(__pyx_cur_scope->__pyx_genexpr_arg_0 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
    __PYX_ERR(3, 159, __pyx_L1_error)
  }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 159, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
    #endif
    ++__pyx_t_2;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_4 = __pyx_cur_scope->__pyx_v_v;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_ptr, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 159, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    __Pyx_XGIVEREF(__pyx_t_1);
    __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
    __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L6_resume_from_yield:;
    __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
    __pyx_cur_scope->__pyx_t_0 = 0;
    __Pyx_XGOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(3, 159, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":127
 *         return len(self.vartuple)
 * 
 *     def __mul__(self, Term other):             # <<<<<<<<<<<<<<
 *         # NOTE: This merge algorithm requires a sorted `Term.vartuple`.
 *         # This should be ensured in the constructor of Term.
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_10__mul__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_other) {
  int __pyx_v_n1;
  int __pyx_v_n2;
  PyObject *__pyx_v_vartuple = 0;
  int __pyx_v_i;
  int __pyx_v_j;
  int __pyx_v_k;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var1 = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var2 = 0;
  struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_res = 0;
  PyObject *__pyx_gb_9pyscipopt_4scip_4Term_7__mul___2generator1 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  Py_hash_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__mul__", 0);

  /* "src/pyscipopt/expr.pxi":130
 *         # NOTE: This merge algorithm requires a sorted `Term.vartuple`.
 *         # This should be ensured in the constructor of Term.
 *         cdef int n1 = len(self)             # <<<<<<<<<<<<<<
 *         cdef int n2 = len(other)
 *         if n1 == 0: return other
*/
  __pyx_t_1 = PyObject_Length(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(3, 130, __pyx_L1_error)
  __pyx_v_n1 = __pyx_t_1;

  /* "src/pyscipopt/expr.pxi":131
 *         # This should be ensured in the constructor of Term.
 *         cdef int n1 = len(self)
 *         cdef int n2 = len(other)             # <<<<<<<<<<<<<<
 *         if n1 == 0: return other
 *         if n2 == 0: return self
*/
  __pyx_t_1 = PyObject_Length(((PyObject *)__pyx_v_other)); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(3, 131, __pyx_L1_error)
  __pyx_v_n2 = __pyx_t_1;

  /* "src/pyscipopt/expr.pxi":132
 *         cdef int n1 = len(self)
 *         cdef int n2 = len(other)
 *         if n1 == 0: return other             # <<<<<<<<<<<<<<
 *         if n2 == 0: return self
 * 
*/
  __pyx_t_2 = (__pyx_v_n1 == 0);
  if (__pyx_t_2) {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_other);
    __pyx_r = ((PyObject *)__pyx_v_other);
    goto __pyx_L0;
  }

  /* "src/pyscipopt/expr.pxi":133
 *         cdef int n2 = len(other)
 *         if n1 == 0: return other
 *         if n2 == 0: return self             # <<<<<<<<<<<<<<
 * 
 *         cdef list vartuple = [None] * (n1 + n2)
*/
  __pyx_t_2 = (__pyx_v_n2 == 0);
  if (__pyx_t_2) {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF((PyObject *)__pyx_v_self);
    __pyx_r = ((PyObject *)__pyx_v_self);
    goto __pyx_L0;
  }

  /* "src/pyscipopt/expr.pxi":135
 *         if n2 == 0: return self
 * 
 *         cdef list vartuple = [None] * (n1 + n2)             # <<<<<<<<<<<<<<
 *         cdef int i = 0, j = 0, k = 0
 *         cdef Variable var1, var2
*/
  __pyx_t_3 = (__pyx_v_n1 + __pyx_v_n2);
  __pyx_t_4 = PyList_New(1 * ((__pyx_t_3<0) ? 0:__pyx_t_3)); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  { Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < __pyx_t_3; __pyx_temp++) {
      __Pyx_INCREF(Py_None);
      __Pyx_GIVEREF(Py_None);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_4, __pyx_temp, Py_None) != (0)) __PYX_ERR(3, 135, __pyx_L1_error);
    }
  }
  __pyx_v_vartuple = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":136
 * 
 *         cdef list vartuple = [None] * (n1 + n2)
 *         cdef int i = 0, j = 0, k = 0             # <<<<<<<<<<<<<<
 *         cdef Variable var1, var2
 *         while i < n1 and j < n2:
*/
  __pyx_v_i = 0;
  __pyx_v_j = 0;
  __pyx_v_k = 0;

  /* "src/pyscipopt/expr.pxi":138
 *         cdef int i = 0, j = 0, k = 0
 *         cdef Variable var1, var2
 *         while i < n1 and j < n2:             # <<<<<<<<<<<<<<
 *             var1 = <Variable>PyTuple_GET_ITEM(self.vartuple, i)
 *             var2 = <Variable>PyTuple_GET_ITEM(other.vartuple, j)
*/
  while (1) {
    __pyx_t_5 = (__pyx_v_i < __pyx_v_n1);
    if (__pyx_t_5) {
    } else {
      __pyx_t_2 = __pyx_t_5;
      goto __pyx_L7_bool_binop_done;
    }
    __pyx_t_5 = (__pyx_v_j < __pyx_v_n2);
    __pyx_t_2 = __pyx_t_5;
    __pyx_L7_bool_binop_done:;
    if (!__pyx_t_2) break;

    /* "src/pyscipopt/expr.pxi":139
 *         cdef Variable var1, var2
 *         while i < n1 and j < n2:
 *             var1 = <Variable>PyTuple_GET_ITEM(self.vartuple, i)             # <<<<<<<<<<<<<<
 *             var2 = <Variable>PyTuple_GET_ITEM(other.vartuple, j)
 *             if var1.ptr() <= var2.ptr():
*/
    __pyx_t_4 = __pyx_v_self->vartuple;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_v_i);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = ((PyObject *)__pyx_t_6);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_var1, ((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "src/pyscipopt/expr.pxi":140
 *         while i < n1 and j < n2:
 *             var1 = <Variable>PyTuple_GET_ITEM(self.vartuple, i)
 *             var2 = <Variable>PyTuple_GET_ITEM(other.vartuple, j)             # <<<<<<<<<<<<<<
 *             if var1.ptr() <= var2.ptr():
 *                 vartuple[k] = var1
*/
    __pyx_t_4 = __pyx_v_other->vartuple;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_v_j);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = ((PyObject *)__pyx_t_6);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_var2, ((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "src/pyscipopt/expr.pxi":141
 *             var1 = <Variable>PyTuple_GET_ITEM(self.vartuple, i)
 *             var2 = <Variable>PyTuple_GET_ITEM(other.vartuple, j)
 *             if var1.ptr() <= var2.ptr():             # <<<<<<<<<<<<<<
 *                 vartuple[k] = var1
 *                 i += 1
*/
    __pyx_t_7 = ((PyObject *)__pyx_v_var1);
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_ptr, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 141, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_9 = ((PyObject *)__pyx_v_var2);
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
      __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_ptr, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 141, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __pyx_t_9 = PyObject_RichCompare(__pyx_t_4, __pyx_t_7, Py_LE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 141, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(3, 141, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (__pyx_t_2) {

      /* "src/pyscipopt/expr.pxi":142
 *             var2 = <Variable>PyTuple_GET_ITEM(other.vartuple, j)
 *             if var1.ptr() <= var2.ptr():
 *                 vartuple[k] = var1             # <<<<<<<<<<<<<<
 *                 i += 1
 *             else:
*/
      if (unlikely((__Pyx_SetItemInt(__pyx_v_vartuple, __pyx_v_k, ((PyObject *)__pyx_v_var1), int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(3, 142, __pyx_L1_error)

      /* "src/pyscipopt/expr.pxi":143
 *             if var1.ptr() <= var2.ptr():
 *                 vartuple[k] = var1
 *                 i += 1             # <<<<<<<<<<<<<<
 *             else:
 *                 vartuple[k] = var2
*/
      __pyx_v_i = (__pyx_v_i + 1);

      /* "src/pyscipopt/expr.pxi":141
 *             var1 = <Variable>PyTuple_GET_ITEM(self.vartuple, i)
 *             var2 = <Variable>PyTuple_GET_ITEM(other.vartuple, j)
 *             if var1.ptr() <= var2.ptr():             # <<<<<<<<<<<<<<
 *                 vartuple[k] = var1
 *                 i += 1
*/
      goto __pyx_L9;
    }

    /* "src/pyscipopt/expr.pxi":145
 *                 i += 1
 *             else:
 *                 vartuple[k] = var2             # <<<<<<<<<<<<<<
 *                 j += 1
 *             k += 1
*/
    /*else*/ {
      if (unlikely((__Pyx_SetItemInt(__pyx_v_vartuple, __pyx_v_k, ((PyObject *)__pyx_v_var2), int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(3, 145, __pyx_L1_error)

      /* "src/pyscipopt/expr.pxi":146
 *             else:
 *                 vartuple[k] = var2
 *                 j += 1             # <<<<<<<<<<<<<<
 *             k += 1
 *         while i < n1:
*/
      __pyx_v_j = (__pyx_v_j + 1);
    }
    __pyx_L9:;

    /* "src/pyscipopt/expr.pxi":147
 *                 vartuple[k] = var2
 *                 j += 1
 *             k += 1             # <<<<<<<<<<<<<<
 *         while i < n1:
 *             vartuple[k] = <Variable>PyTuple_GET_ITEM(self.vartuple, i)
*/
    __pyx_v_k = (__pyx_v_k + 1);
  }

  /* "src/pyscipopt/expr.pxi":148
 *                 j += 1
 *             k += 1
 *         while i < n1:             # <<<<<<<<<<<<<<
 *             vartuple[k] = <Variable>PyTuple_GET_ITEM(self.vartuple, i)
 *             i += 1
*/
  while (1) {
    __pyx_t_2 = (__pyx_v_i < __pyx_v_n1);
    if (!__pyx_t_2) break;

    /* "src/pyscipopt/expr.pxi":149
 *             k += 1
 *         while i < n1:
 *             vartuple[k] = <Variable>PyTuple_GET_ITEM(self.vartuple, i)             # <<<<<<<<<<<<<<
 *             i += 1
 *             k += 1
*/
    __pyx_t_9 = __pyx_v_self->vartuple;
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_v_i);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = ((PyObject *)__pyx_t_6);
    __Pyx_INCREF(__pyx_t_9);
    if (unlikely((__Pyx_SetItemInt(__pyx_v_vartuple, __pyx_v_k, __pyx_t_9, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(3, 149, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "src/pyscipopt/expr.pxi":150
 *         while i < n1:
 *             vartuple[k] = <Variable>PyTuple_GET_ITEM(self.vartuple, i)
 *             i += 1             # <<<<<<<<<<<<<<
 *             k += 1
 *         while j < n2:
*/
    __pyx_v_i = (__pyx_v_i + 1);

    /* "src/pyscipopt/expr.pxi":151
 *             vartuple[k] = <Variable>PyTuple_GET_ITEM(self.vartuple, i)
 *             i += 1
 *             k += 1             # <<<<<<<<<<<<<<
 *         while j < n2:
 *             vartuple[k] = <Variable>PyTuple_GET_ITEM(other.vartuple, j)
*/
    __pyx_v_k = (__pyx_v_k + 1);
  }

  /* "src/pyscipopt/expr.pxi":152
 *             i += 1
 *             k += 1
 *         while j < n2:             # <<<<<<<<<<<<<<
 *             vartuple[k] = <Variable>PyTuple_GET_ITEM(other.vartuple, j)
 *             j += 1
*/
  while (1) {
    __pyx_t_2 = (__pyx_v_j < __pyx_v_n2);
    if (!__pyx_t_2) break;

    /* "src/pyscipopt/expr.pxi":153
 *             k += 1
 *         while j < n2:
 *             vartuple[k] = <Variable>PyTuple_GET_ITEM(other.vartuple, j)             # <<<<<<<<<<<<<<
 *             j += 1
 *             k += 1
*/
    __pyx_t_9 = __pyx_v_other->vartuple;
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_v_j);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_9 = ((PyObject *)__pyx_t_6);
    __Pyx_INCREF(__pyx_t_9);
    if (unlikely((__Pyx_SetItemInt(__pyx_v_vartuple, __pyx_v_k, __pyx_t_9, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(3, 153, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "src/pyscipopt/expr.pxi":154
 *         while j < n2:
 *             vartuple[k] = <Variable>PyTuple_GET_ITEM(other.vartuple, j)
 *             j += 1             # <<<<<<<<<<<<<<
 *             k += 1
 * 
*/
    __pyx_v_j = (__pyx_v_j + 1);

    /* "src/pyscipopt/expr.pxi":155
 *             vartuple[k] = <Variable>PyTuple_GET_ITEM(other.vartuple, j)
 *             j += 1
 *             k += 1             # <<<<<<<<<<<<<<
 * 
 *         cdef Term res = Term.__new__(Term)
*/
    __pyx_v_k = (__pyx_v_k + 1);
  }

  /* "src/pyscipopt/expr.pxi":157
 *             k += 1
 * 
 *         cdef Term res = Term.__new__(Term)             # <<<<<<<<<<<<<<
 *         res.vartuple = tuple(vartuple)
 *         res.ptrtuple = tuple(v.ptr() for v in res.vartuple)
*/
  __pyx_t_9 = ((PyObject *)__pyx_tp_new_9pyscipopt_4scip_Term(((PyTypeObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term), __pyx_mstate_global->__pyx_empty_tuple, NULL)); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 157, __pyx_L1_error)
  __Pyx_GOTREF((PyObject *)__pyx_t_9);
  __pyx_v_res = ((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_t_9);
  __pyx_t_9 = 0;

  /* "src/pyscipopt/expr.pxi":158
 * 
 *         cdef Term res = Term.__new__(Term)
 *         res.vartuple = tuple(vartuple)             # <<<<<<<<<<<<<<
 *         res.ptrtuple = tuple(v.ptr() for v in res.vartuple)
 *         res.hashval = <Py_ssize_t>hash(res.ptrtuple)
*/
  __pyx_t_9 = PyList_AsTuple(__pyx_v_vartuple); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_9);
  __Pyx_GOTREF(__pyx_v_res->vartuple);
  __Pyx_DECREF(__pyx_v_res->vartuple);
  __pyx_v_res->vartuple = ((PyObject*)__pyx_t_9);
  __pyx_t_9 = 0;

  /* "src/pyscipopt/expr.pxi":159
 *         cdef Term res = Term.__new__(Term)
 *         res.vartuple = tuple(vartuple)
 *         res.ptrtuple = tuple(v.ptr() for v in res.vartuple)             # <<<<<<<<<<<<<<
 *         res.hashval = <Py_ssize_t>hash(res.ptrtuple)
 *         return res
*/
  __pyx_t_9 = __pyx_pf_9pyscipopt_4scip_4Term_7__mul___genexpr(NULL, __pyx_v_res->vartuple); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_7 = __Pyx_PySequence_Tuple(__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __Pyx_GIVEREF(__pyx_t_7);
  __Pyx_GOTREF(__pyx_v_res->ptrtuple);
  __Pyx_DECREF(__pyx_v_res->ptrtuple);
  __pyx_v_res->ptrtuple = ((PyObject*)__pyx_t_7);
  __pyx_t_7 = 0;

  /* "src/pyscipopt/expr.pxi":160
 *         res.vartuple = tuple(vartuple)
 *         res.ptrtuple = tuple(v.ptr() for v in res.vartuple)
 *         res.hashval = <Py_ssize_t>hash(res.ptrtuple)             # <<<<<<<<<<<<<<
 *         return res
 * 
*/
  __pyx_t_7 = __pyx_v_res->ptrtuple;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_10 = PyObject_Hash(__pyx_t_7); if (unlikely(__pyx_t_10 == ((Py_hash_t)-1))) __PYX_ERR(3, 160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_v_res->hashval = ((Py_ssize_t)__pyx_t_10);

  /* "src/pyscipopt/expr.pxi":161
 *         res.ptrtuple = tuple(v.ptr() for v in res.vartuple)
 *         res.hashval = <Py_ssize_t>hash(res.ptrtuple)
 *         return res             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_res);
  __pyx_r = ((PyObject *)__pyx_v_res);
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":127
 *         return len(self.vartuple)
 * 
 *     def __mul__(self, Term other):             # <<<<<<<<<<<<<<
 *         # NOTE: This merge algorithm requires a sorted `Term.vartuple`.
 *         # This should be ensured in the constructor of Term.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.Term.__mul__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_vartuple);
  __Pyx_XDECREF((PyObject *)__pyx_v_var1);
  __Pyx_XDECREF((PyObject *)__pyx_v_var2);
  __Pyx_XDECREF((PyObject *)__pyx_v_res);
  __Pyx_XDECREF(__pyx_gb_9pyscipopt_4scip_4Term_7__mul___2generator1);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":163
 *         return res
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return 'Term(%s)' % ', '.join([str(v) for v in self.vartuple])
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_13__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_13__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Term_12__repr__(((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_12__repr__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self) {
  PyObject *__pyx_8genexpr2__pyx_v_v = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/expr.pxi":164
 * 
 *     def __repr__(self):
 *         return 'Term(%s)' % ', '.join([str(v) for v in self.vartuple])             # <<<<<<<<<<<<<<
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 164, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely(__pyx_v_self->vartuple == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
      __PYX_ERR(3, 164, __pyx_L5_error)
    }
    __pyx_t_2 = __pyx_v_self->vartuple; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    for (;;) {
      {
        Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 164, __pyx_L5_error)
        #endif
        if (__pyx_t_3 >= __pyx_temp) break;
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3));
      #else
      __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3);
      #endif
      ++__pyx_t_3;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 164, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_8genexpr2__pyx_v_v, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_Unicode(__pyx_8genexpr2__pyx_v_v); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 164, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(3, 164, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_v); __pyx_8genexpr2__pyx_v_v = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_v); __pyx_8genexpr2__pyx_v_v = 0;
    goto __pyx_L1_error;
    __pyx_L9_exit_scope:;
  } /* exit inner scope */
  __pyx_t_2 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__6, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_Term_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":163
 *         return res
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return 'Term(%s)' % ', '.join([str(v) for v in self.vartuple])
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Term.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_v);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":166
 *         return 'Term(%s)' % ', '.join([str(v) for v in self.vartuple])
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = 1.0
 *         cdef SCIP* scip_ptr = sol.scip
*/

static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_15_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_9pyscipopt_4scip_4Term__evaluate(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch) {
  double __pyx_v_res;
  SCIP *__pyx_v_scip_ptr;
  SCIP_SOL *__pyx_v_sol_ptr;
  int __pyx_v_i;
  int __pyx_v_n;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  double __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  double __pyx_t_6;
  SCIP *__pyx_t_7;
  SCIP_SOL *__pyx_t_8;
  Py_ssize_t __pyx_t_9;
  int __pyx_t_10;
  int __pyx_t_11;
  int __pyx_t_12;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (
  #if !CYTHON_USE_TYPE_SLOTS
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term &&
  __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
  #else
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
  #endif
  ) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 166, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_9pyscipopt_4scip_4Term_15_evaluate)) {
        __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_4 = __pyx_t_1; 
        __pyx_t_5 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
          assert(__pyx_t_3);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
          __pyx_t_5 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_sol)};
          __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 166, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 166, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_r = __pyx_t_6;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "src/pyscipopt/expr.pxi":167
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
 *         cdef double res = 1.0             # <<<<<<<<<<<<<<
 *         cdef SCIP* scip_ptr = sol.scip
 *         cdef SCIP_SOL* sol_ptr = sol.sol
*/
  __pyx_v_res = 1.0;

  /* "src/pyscipopt/expr.pxi":168
 *     cpdef double _evaluate(self, Solution sol) except *:
 *         cdef double res = 1.0
 *         cdef SCIP* scip_ptr = sol.scip             # <<<<<<<<<<<<<<
 *         cdef SCIP_SOL* sol_ptr = sol.sol
 *         cdef int i = 0, n = len(self)
*/
  __pyx_t_7 = __pyx_v_sol->scip;
  __pyx_v_scip_ptr = __pyx_t_7;

  /* "src/pyscipopt/expr.pxi":169
 *         cdef double res = 1.0
 *         cdef SCIP* scip_ptr = sol.scip
 *         cdef SCIP_SOL* sol_ptr = sol.sol             # <<<<<<<<<<<<<<
 *         cdef int i = 0, n = len(self)
 *         cdef Variable var
*/
  __pyx_t_8 = __pyx_v_sol->sol;
  __pyx_v_sol_ptr = __pyx_t_8;

  /* "src/pyscipopt/expr.pxi":170
 *         cdef SCIP* scip_ptr = sol.scip
 *         cdef SCIP_SOL* sol_ptr = sol.sol
 *         cdef int i = 0, n = len(self)             # <<<<<<<<<<<<<<
 *         cdef Variable var
 * 
*/
  __pyx_v_i = 0;
  __pyx_t_9 = PyObject_Length(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(3, 170, __pyx_L1_error)
  __pyx_v_n = __pyx_t_9;

  /* "src/pyscipopt/expr.pxi":173
 *         cdef Variable var
 * 
 *         for i in range(n):             # <<<<<<<<<<<<<<
 *             var = <Variable>self.vartuple[i]
 *             res *= SCIPgetSolVal(scip_ptr, sol_ptr, var.scip_var)
*/
  __pyx_t_10 = __pyx_v_n;
  __pyx_t_11 = __pyx_t_10;
  for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
    __pyx_v_i = __pyx_t_12;

    /* "src/pyscipopt/expr.pxi":174
 * 
 *         for i in range(n):
 *             var = <Variable>self.vartuple[i]             # <<<<<<<<<<<<<<
 *             res *= SCIPgetSolVal(scip_ptr, sol_ptr, var.scip_var)
 *             if res == 0:  # early stop
*/
    if (unlikely(__pyx_v_self->vartuple == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(3, 174, __pyx_L1_error)
    }
    __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_self->vartuple, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_t_1;
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF_SET(__pyx_v_var, ((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":175
 *         for i in range(n):
 *             var = <Variable>self.vartuple[i]
 *             res *= SCIPgetSolVal(scip_ptr, sol_ptr, var.scip_var)             # <<<<<<<<<<<<<<
 *             if res == 0:  # early stop
 *                 return 0.0
*/
    __pyx_v_res = (__pyx_v_res * SCIPgetSolVal(__pyx_v_scip_ptr, __pyx_v_sol_ptr, __pyx_v_var->scip_var));

    /* "src/pyscipopt/expr.pxi":176
 *             var = <Variable>self.vartuple[i]
 *             res *= SCIPgetSolVal(scip_ptr, sol_ptr, var.scip_var)
 *             if res == 0:  # early stop             # <<<<<<<<<<<<<<
 *                 return 0.0
 *         return res
*/
    __pyx_t_13 = (__pyx_v_res == 0.0);
    if (__pyx_t_13) {

      /* "src/pyscipopt/expr.pxi":177
 *             res *= SCIPgetSolVal(scip_ptr, sol_ptr, var.scip_var)
 *             if res == 0:  # early stop
 *                 return 0.0             # <<<<<<<<<<<<<<
 *         return res
 * 
*/
      __pyx_r = 0.0;
      goto __pyx_L0;

      /* "src/pyscipopt/expr.pxi":176
 *             var = <Variable>self.vartuple[i]
 *             res *= SCIPgetSolVal(scip_ptr, sol_ptr, var.scip_var)
 *             if res == 0:  # early stop             # <<<<<<<<<<<<<<
 *                 return 0.0
 *         return res
*/
    }
  }

  /* "src/pyscipopt/expr.pxi":178
 *             if res == 0:  # early stop
 *                 return 0.0
 *         return res             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_res;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":166
 *         return 'Term(%s)' % ', '.join([str(v) for v in self.vartuple])
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = 1.0
 *         cdef SCIP* scip_ptr = sol.scip
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Term._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_var);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_15_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Term_15_evaluate = {"_evaluate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Term_15_evaluate, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_15_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_evaluate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 166, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 166, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_evaluate", 0) < (0)) __PYX_ERR(3, 166, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, i); __PYX_ERR(3, 166, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 166, __pyx_L3_error)
    }
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 166, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Term._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(3, 166, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Term_14_evaluate(((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_self), __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_14_evaluate(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Term__evaluate(__pyx_v_self, __pyx_v_sol, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 166, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Term._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":106
 *     '''This is a monomial term'''
 * 
 *     cdef readonly tuple vartuple             # <<<<<<<<<<<<<<
 *     cdef readonly tuple ptrtuple
 *     cdef Py_ssize_t hashval
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_8vartuple_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_8vartuple_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Term_8vartuple___get__(((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_8vartuple___get__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->vartuple);
  __pyx_r = __pyx_v_self->vartuple;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":107
 * 
 *     cdef readonly tuple vartuple
 *     cdef readonly tuple ptrtuple             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t hashval
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_8ptrtuple_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_8ptrtuple_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Term_8ptrtuple___get__(((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_8ptrtuple___get__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->ptrtuple);
  __pyx_r = __pyx_v_self->ptrtuple;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Term_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Term_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Term_16__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_16__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.hashval, self.ptrtuple, self.vartuple)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyLong_FromSsize_t(__pyx_v_self->hashval); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->ptrtuple);
  __Pyx_GIVEREF(__pyx_v_self->ptrtuple);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_self->ptrtuple) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->vartuple);
  __Pyx_GIVEREF(__pyx_v_self->vartuple);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_self->vartuple) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_v_state = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.hashval, self.ptrtuple, self.vartuple)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_2 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v__dict = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":7
 *     state = (self.hashval, self.ptrtuple, self.vartuple)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_4 = (__pyx_v__dict != Py_None);
  if (__pyx_t_4) {
  } else {
    __pyx_t_3 = __pyx_t_4;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_3 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_3) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_1));
    __pyx_t_1 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.ptrtuple is not None or self.vartuple is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.hashval, self.ptrtuple, self.vartuple)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.ptrtuple is not None or self.vartuple is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Term, (type(self), 0x9db3e8b, None), state
*/
  /*else*/ {
    __pyx_t_4 = (__pyx_v_self->ptrtuple != ((PyObject*)Py_None));
    if (!__pyx_t_4) {
    } else {
      __pyx_t_3 = __pyx_t_4;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_4 = (__pyx_v_self->vartuple != ((PyObject*)Py_None));
    __pyx_t_3 = __pyx_t_4;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_3;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.ptrtuple is not None or self.vartuple is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Term, (type(self), 0x9db3e8b, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.ptrtuple is not None or self.vartuple is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Term, (type(self), 0x9db3e8b, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Term, (type(self), 0x9db3e8b, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Term); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_165363339);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_165363339);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_mstate_global->__pyx_int_165363339) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.ptrtuple is not None or self.vartuple is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Term, (type(self), 0x9db3e8b, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Term, (type(self), 0x9db3e8b, None), state
 *     else:
 *         return __pyx_unpickle_Term, (type(self), 0x9db3e8b, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Term__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Term); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_165363339);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_165363339);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_mstate_global->__pyx_int_165363339) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_2 = 0;
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Term.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Term, (type(self), 0x9db3e8b, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Term__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Term_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Term_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Term_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Term.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Term_18__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Term_18__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Term, (type(self), 0x9db3e8b, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Term__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Term__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Term, (type(self), 0x9db3e8b, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Term__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Term.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":184
 * 
 * # helper function
 * def buildGenExprObj(expr):             # <<<<<<<<<<<<<<
 *     """helper function to generate an object of type GenExpr"""
 *     if _is_number(expr):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5buildGenExprObj(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4buildGenExprObj, "helper function to generate an object of type GenExpr");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5buildGenExprObj = {"buildGenExprObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5buildGenExprObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4buildGenExprObj};
static PyObject *__pyx_pw_9pyscipopt_4scip_5buildGenExprObj(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_expr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("buildGenExprObj (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_expr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 184, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 184, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "buildGenExprObj", 0) < (0)) __PYX_ERR(3, 184, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("buildGenExprObj", 1, 1, 1, i); __PYX_ERR(3, 184, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 184, __pyx_L3_error)
    }
    __pyx_v_expr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("buildGenExprObj", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 184, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.buildGenExprObj", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4buildGenExprObj(__pyx_self, __pyx_v_expr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4buildGenExprObj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr) {
  PyObject *__pyx_v_sumexpr = NULL;
  PyObject *__pyx_v_vars = NULL;
  PyObject *__pyx_v_coef = NULL;
  struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_varexpr = NULL;
  PyObject *__pyx_v_prodexpr = NULL;
  PyObject *__pyx_v_v = NULL;
  PyObject *__pyx_v_GenExprs = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *(*__pyx_t_12)(PyObject *);
  PyObject *__pyx_t_13 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("buildGenExprObj", 0);

  /* "src/pyscipopt/expr.pxi":186
 * def buildGenExprObj(expr):
 *     """helper function to generate an object of type GenExpr"""
 *     if _is_number(expr):             # <<<<<<<<<<<<<<
 *         return Constant(expr)
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_expr};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(3, 186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_5) {

    /* "src/pyscipopt/expr.pxi":187
 *     """helper function to generate an object of type GenExpr"""
 *     if _is_number(expr):
 *         return Constant(expr)             # <<<<<<<<<<<<<<
 * 
 *     elif isinstance(expr, Expr):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_expr};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constant, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 187, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __pyx_r = ((PyObject *)__pyx_t_1);
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":186
 * def buildGenExprObj(expr):
 *     """helper function to generate an object of type GenExpr"""
 *     if _is_number(expr):             # <<<<<<<<<<<<<<
 *         return Constant(expr)
 * 
*/
  }

  /* "src/pyscipopt/expr.pxi":189
 *         return Constant(expr)
 * 
 *     elif isinstance(expr, Expr):             # <<<<<<<<<<<<<<
 *         # loop over terms and create a sumexpr with the sum of each term
 *         # each term is either a variable (which gets transformed into varexpr)
*/
  __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_expr, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr); 
  if (__pyx_t_5) {

    /* "src/pyscipopt/expr.pxi":193
 *         # each term is either a variable (which gets transformed into varexpr)
 *         # or a product of variables (which gets tranformed into a prod)
 *         sumexpr = SumExpr()             # <<<<<<<<<<<<<<
 *         for vars, coef in expr.terms.items():
 *             if len(vars) == 0:
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_SumExpr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 193, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_1);
    }
    __pyx_v_sumexpr = ((PyObject *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":194
 *         # or a product of variables (which gets tranformed into a prod)
 *         sumexpr = SumExpr()
 *         for vars, coef in expr.terms.items():             # <<<<<<<<<<<<<<
 *             if len(vars) == 0:
 *                 sumexpr += coef
*/
    __pyx_t_6 = 0;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_terms); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (unlikely(__pyx_t_3 == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
      __PYX_ERR(3, 194, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_dict_iterator(__pyx_t_3, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_7), (&__pyx_t_8)); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_1);
    __pyx_t_1 = __pyx_t_2;
    __pyx_t_2 = 0;
    while (1) {
      __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_7, &__pyx_t_6, &__pyx_t_2, &__pyx_t_3, NULL, __pyx_t_8);
      if (unlikely(__pyx_t_9 == 0)) break;
      if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(3, 194, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_vars, __pyx_t_2);
      __pyx_t_2 = 0;
      __Pyx_XDECREF_SET(__pyx_v_coef, __pyx_t_3);
      __pyx_t_3 = 0;

      /* "src/pyscipopt/expr.pxi":195
 *         sumexpr = SumExpr()
 *         for vars, coef in expr.terms.items():
 *             if len(vars) == 0:             # <<<<<<<<<<<<<<
 *                 sumexpr += coef
 *             elif len(vars) == 1:
*/
      __pyx_t_10 = PyObject_Length(__pyx_v_vars); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(3, 195, __pyx_L1_error)
      __pyx_t_5 = (__pyx_t_10 == 0);
      if (__pyx_t_5) {

        /* "src/pyscipopt/expr.pxi":196
 *         for vars, coef in expr.terms.items():
 *             if len(vars) == 0:
 *                 sumexpr += coef             # <<<<<<<<<<<<<<
 *             elif len(vars) == 1:
 *                 varexpr = VarExpr(vars[0])
*/
        __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_sumexpr, __pyx_v_coef); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 196, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF_SET(__pyx_v_sumexpr, __pyx_t_3);
        __pyx_t_3 = 0;

        /* "src/pyscipopt/expr.pxi":195
 *         sumexpr = SumExpr()
 *         for vars, coef in expr.terms.items():
 *             if len(vars) == 0:             # <<<<<<<<<<<<<<
 *                 sumexpr += coef
 *             elif len(vars) == 1:
*/
        goto __pyx_L6;
      }

      /* "src/pyscipopt/expr.pxi":197
 *             if len(vars) == 0:
 *                 sumexpr += coef
 *             elif len(vars) == 1:             # <<<<<<<<<<<<<<
 *                 varexpr = VarExpr(vars[0])
 *                 sumexpr += coef * varexpr
*/
      __pyx_t_10 = PyObject_Length(__pyx_v_vars); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(3, 197, __pyx_L1_error)
      __pyx_t_5 = (__pyx_t_10 == 1);
      if (__pyx_t_5) {

        /* "src/pyscipopt/expr.pxi":198
 *                 sumexpr += coef
 *             elif len(vars) == 1:
 *                 varexpr = VarExpr(vars[0])             # <<<<<<<<<<<<<<
 *                 sumexpr += coef * varexpr
 *             else:
*/
        __pyx_t_2 = NULL;
        __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_vars, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 198, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_4 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_11};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_VarExpr, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 198, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_3);
        }
        __Pyx_XDECREF_SET(__pyx_v_varexpr, ((struct __pyx_obj_9pyscipopt_4scip_VarExpr *)__pyx_t_3));
        __pyx_t_3 = 0;

        /* "src/pyscipopt/expr.pxi":199
 *             elif len(vars) == 1:
 *                 varexpr = VarExpr(vars[0])
 *                 sumexpr += coef * varexpr             # <<<<<<<<<<<<<<
 *             else:
 *                 prodexpr = ProdExpr()
*/
        __pyx_t_3 = PyNumber_Multiply(__pyx_v_coef, ((PyObject *)__pyx_v_varexpr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 199, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_v_sumexpr, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 199, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF_SET(__pyx_v_sumexpr, __pyx_t_11);
        __pyx_t_11 = 0;

        /* "src/pyscipopt/expr.pxi":197
 *             if len(vars) == 0:
 *                 sumexpr += coef
 *             elif len(vars) == 1:             # <<<<<<<<<<<<<<
 *                 varexpr = VarExpr(vars[0])
 *                 sumexpr += coef * varexpr
*/
        goto __pyx_L6;
      }

      /* "src/pyscipopt/expr.pxi":201
 *                 sumexpr += coef * varexpr
 *             else:
 *                 prodexpr = ProdExpr()             # <<<<<<<<<<<<<<
 *                 for v in vars:
 *                     varexpr = VarExpr(v)
*/
      /*else*/ {
        __pyx_t_3 = NULL;
        __pyx_t_4 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
          __pyx_t_11 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ProdExpr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 201, __pyx_L1_error)
          __Pyx_GOTREF((PyObject *)__pyx_t_11);
        }
        __Pyx_XDECREF_SET(__pyx_v_prodexpr, ((PyObject *)__pyx_t_11));
        __pyx_t_11 = 0;

        /* "src/pyscipopt/expr.pxi":202
 *             else:
 *                 prodexpr = ProdExpr()
 *                 for v in vars:             # <<<<<<<<<<<<<<
 *                     varexpr = VarExpr(v)
 *                     prodexpr *= varexpr
*/
        if (likely(PyList_CheckExact(__pyx_v_vars)) || PyTuple_CheckExact(__pyx_v_vars)) {
          __pyx_t_11 = __pyx_v_vars; __Pyx_INCREF(__pyx_t_11);
          __pyx_t_10 = 0;
          __pyx_t_12 = NULL;
        } else {
          __pyx_t_10 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_v_vars); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 202, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_11);
          __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(3, 202, __pyx_L1_error)
        }
        for (;;) {
          if (likely(!__pyx_t_12)) {
            if (likely(PyList_CheckExact(__pyx_t_11))) {
              {
                Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_11);
                #if !CYTHON_ASSUME_SAFE_SIZE
                if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 202, __pyx_L1_error)
                #endif
                if (__pyx_t_10 >= __pyx_temp) break;
              }
              __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_11, __pyx_t_10, __Pyx_ReferenceSharing_OwnStrongReference);
              ++__pyx_t_10;
            } else {
              {
                Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_11);
                #if !CYTHON_ASSUME_SAFE_SIZE
                if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 202, __pyx_L1_error)
                #endif
                if (__pyx_t_10 >= __pyx_temp) break;
              }
              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
              __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_10));
              #else
              __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_11, __pyx_t_10);
              #endif
              ++__pyx_t_10;
            }
            if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 202, __pyx_L1_error)
          } else {
            __pyx_t_3 = __pyx_t_12(__pyx_t_11);
            if (unlikely(!__pyx_t_3)) {
              PyObject* exc_type = PyErr_Occurred();
              if (exc_type) {
                if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(3, 202, __pyx_L1_error)
                PyErr_Clear();
              }
              break;
            }
          }
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_3);
          __pyx_t_3 = 0;

          /* "src/pyscipopt/expr.pxi":203
 *                 prodexpr = ProdExpr()
 *                 for v in vars:
 *                     varexpr = VarExpr(v)             # <<<<<<<<<<<<<<
 *                     prodexpr *= varexpr
 *                 sumexpr += coef * prodexpr
*/
          __pyx_t_2 = NULL;
          __pyx_t_4 = 1;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_v};
            __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_VarExpr, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 203, __pyx_L1_error)
            __Pyx_GOTREF((PyObject *)__pyx_t_3);
          }
          __Pyx_XDECREF_SET(__pyx_v_varexpr, ((struct __pyx_obj_9pyscipopt_4scip_VarExpr *)__pyx_t_3));
          __pyx_t_3 = 0;

          /* "src/pyscipopt/expr.pxi":204
 *                 for v in vars:
 *                     varexpr = VarExpr(v)
 *                     prodexpr *= varexpr             # <<<<<<<<<<<<<<
 *                 sumexpr += coef * prodexpr
 *         return sumexpr
*/
          __pyx_t_3 = PyNumber_InPlaceMultiply(__pyx_v_prodexpr, ((PyObject *)__pyx_v_varexpr)); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 204, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF_SET(__pyx_v_prodexpr, __pyx_t_3);
          __pyx_t_3 = 0;

          /* "src/pyscipopt/expr.pxi":202
 *             else:
 *                 prodexpr = ProdExpr()
 *                 for v in vars:             # <<<<<<<<<<<<<<
 *                     varexpr = VarExpr(v)
 *                     prodexpr *= varexpr
*/
        }
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

        /* "src/pyscipopt/expr.pxi":205
 *                     varexpr = VarExpr(v)
 *                     prodexpr *= varexpr
 *                 sumexpr += coef * prodexpr             # <<<<<<<<<<<<<<
 *         return sumexpr
 * 
*/
        __pyx_t_11 = PyNumber_Multiply(__pyx_v_coef, __pyx_v_prodexpr); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 205, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_sumexpr, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 205, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF_SET(__pyx_v_sumexpr, __pyx_t_3);
        __pyx_t_3 = 0;
      }
      __pyx_L6:;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":206
 *                     prodexpr *= varexpr
 *                 sumexpr += coef * prodexpr
 *         return sumexpr             # <<<<<<<<<<<<<<
 * 
 *     elif isinstance(expr, np.ndarray):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_sumexpr);
    __pyx_r = __pyx_v_sumexpr;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":189
 *         return Constant(expr)
 * 
 *     elif isinstance(expr, Expr):             # <<<<<<<<<<<<<<
 *         # loop over terms and create a sumexpr with the sum of each term
 *         # each term is either a variable (which gets transformed into varexpr)
*/
  }

  /* "src/pyscipopt/expr.pxi":208
 *         return sumexpr
 * 
 *     elif isinstance(expr, np.ndarray):             # <<<<<<<<<<<<<<
 *         GenExprs = np.empty(expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = PyObject_IsInstance(__pyx_v_expr, __pyx_t_3); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(3, 208, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_5) {

    /* "src/pyscipopt/expr.pxi":209
 * 
 *     elif isinstance(expr, np.ndarray):
 *         GenExprs = np.empty(expr.shape, dtype=object)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(expr.shape):
 *             GenExprs[idx] = buildGenExprObj(expr[idx])
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, __pyx_t_11};
      __pyx_t_13 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 209, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_13, __pyx_callargs+2, 0) < (0)) __PYX_ERR(3, 209, __pyx_L1_error)
      __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_13);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 209, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_v_GenExprs = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "src/pyscipopt/expr.pxi":210
 *     elif isinstance(expr, np.ndarray):
 *         GenExprs = np.empty(expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):             # <<<<<<<<<<<<<<
 *             GenExprs[idx] = buildGenExprObj(expr[idx])
 *         return GenExprs.view(MatrixExpr)
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_13)) __PYX_ERR(3, 210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_11);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_13};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 210, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_11 = __pyx_t_3; __Pyx_INCREF(__pyx_t_11);
      __pyx_t_7 = 0;
      __pyx_t_12 = NULL;
    } else {
      __pyx_t_7 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 210, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(3, 210, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    for (;;) {
      if (likely(!__pyx_t_12)) {
        if (likely(PyList_CheckExact(__pyx_t_11))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_11);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 210, __pyx_L1_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_11, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_7;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_11);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 210, __pyx_L1_error)
            #endif
            if (__pyx_t_7 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_7));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_11, __pyx_t_7);
          #endif
          ++__pyx_t_7;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 210, __pyx_L1_error)
      } else {
        __pyx_t_3 = __pyx_t_12(__pyx_t_11);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(3, 210, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_3);
      __pyx_t_3 = 0;

      /* "src/pyscipopt/expr.pxi":211
 *         GenExprs = np.empty(expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
 *             GenExprs[idx] = buildGenExprObj(expr[idx])             # <<<<<<<<<<<<<<
 *         return GenExprs.view(MatrixExpr)
 * 
*/
      __pyx_t_13 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 211, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_expr, __pyx_v_idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 211, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
        assert(__pyx_t_13);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_13);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_1};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 211, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      if (unlikely((PyObject_SetItem(__pyx_v_GenExprs, __pyx_v_idx, __pyx_t_3) < 0))) __PYX_ERR(3, 211, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/expr.pxi":210
 *     elif isinstance(expr, np.ndarray):
 *         GenExprs = np.empty(expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):             # <<<<<<<<<<<<<<
 *             GenExprs[idx] = buildGenExprObj(expr[idx])
 *         return GenExprs.view(MatrixExpr)
*/
    }
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "src/pyscipopt/expr.pxi":212
 *         for idx in np.ndindex(expr.shape):
 *             GenExprs[idx] = buildGenExprObj(expr[idx])
 *         return GenExprs.view(MatrixExpr)             # <<<<<<<<<<<<<<
 * 
 *     else:
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = __pyx_v_GenExprs;
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_MatrixExpr); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 212, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
      __pyx_t_11 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 212, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
    }
    __pyx_r = __pyx_t_11;
    __pyx_t_11 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":208
 *         return sumexpr
 * 
 *     elif isinstance(expr, np.ndarray):             # <<<<<<<<<<<<<<
 *         GenExprs = np.empty(expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
*/
  }

  /* "src/pyscipopt/expr.pxi":215
 * 
 *     else:
 *         assert isinstance(expr, GenExpr)             # <<<<<<<<<<<<<<
 *         return expr
 * 
*/
  /*else*/ {
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_expr, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); 
      if (unlikely(!__pyx_t_5)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(3, 215, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(3, 215, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/expr.pxi":216
 *     else:
 *         assert isinstance(expr, GenExpr)
 *         return expr             # <<<<<<<<<<<<<<
 * 
 * ##@details Polynomial expressions of variables with operator overloading. \n
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_expr);
    __pyx_r = __pyx_v_expr;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/expr.pxi":184
 * 
 * # helper function
 * def buildGenExprObj(expr):             # <<<<<<<<<<<<<<
 *     """helper function to generate an object of type GenExpr"""
 *     if _is_number(expr):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("pyscipopt.scip.buildGenExprObj", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_sumexpr);
  __Pyx_XDECREF(__pyx_v_vars);
  __Pyx_XDECREF(__pyx_v_coef);
  __Pyx_XDECREF((PyObject *)__pyx_v_varexpr);
  __Pyx_XDECREF(__pyx_v_prodexpr);
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_XDECREF(__pyx_v_GenExprs);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":222
 * cdef class Expr:
 * 
 *     def __init__(self, terms=None):             # <<<<<<<<<<<<<<
 *         '''terms is a dict of variables to coefficients.
 * 
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Expr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Expr___init__, "terms is a dict of variables to coefficients.\n\n        CONST is used as key for the constant term.");
#if CYTHON_UPDATE_DESCRIPTOR_DOC
struct wrapperbase __pyx_wrapperbase_9pyscipopt_4scip_4Expr___init__;
#endif
static int __pyx_pw_9pyscipopt_4scip_4Expr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_terms = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_terms,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 222, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 222, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 222, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 222, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_terms = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(3, 222, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr___init__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), __pyx_v_terms);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Expr___init__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_terms) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "src/pyscipopt/expr.pxi":226
 * 
 *         CONST is used as key for the constant term.'''
 *         self.terms = {} if terms is None else terms             # <<<<<<<<<<<<<<
 * 
 *         if len(self.terms) == 0:
*/
  __pyx_t_2 = (__pyx_v_terms == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_terms);
    __pyx_t_1 = __pyx_v_terms;
  }
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->terms);
  __Pyx_DECREF(__pyx_v_self->terms);
  __pyx_v_self->terms = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":228
 *         self.terms = {} if terms is None else terms
 * 
 *         if len(self.terms) == 0:             # <<<<<<<<<<<<<<
 *             self.terms[CONST] = 0.0
 * 
*/
  __pyx_t_1 = __pyx_v_self->terms;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(3, 228, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (__pyx_t_4 == 0);
  if (__pyx_t_2) {

    /* "src/pyscipopt/expr.pxi":229
 * 
 *         if len(self.terms) == 0:
 *             self.terms[CONST] = 0.0             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(self, key):
*/
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_CONST); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely((PyObject_SetItem(__pyx_v_self->terms, __pyx_t_1, __pyx_mstate_global->__pyx_float_0_0) < 0))) __PYX_ERR(3, 229, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":228
 *         self.terms = {} if terms is None else terms
 * 
 *         if len(self.terms) == 0:             # <<<<<<<<<<<<<<
 *             self.terms[CONST] = 0.0
 * 
*/
  }

  /* "src/pyscipopt/expr.pxi":222
 * cdef class Expr:
 * 
 *     def __init__(self, terms=None):             # <<<<<<<<<<<<<<
 *         '''terms is a dict of variables to coefficients.
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":231
 *             self.terms[CONST] = 0.0
 * 
 *     def __getitem__(self, key):             # <<<<<<<<<<<<<<
 *         if not isinstance(key, Term):
 *             key = Term(key)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_3__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_3__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_2__getitem__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_key));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_2__getitem__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_key) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__getitem__", 0);
  __Pyx_INCREF(__pyx_v_key);

  /* "src/pyscipopt/expr.pxi":232
 * 
 *     def __getitem__(self, key):
 *         if not isinstance(key, Term):             # <<<<<<<<<<<<<<
 *             key = Term(key)
 *         return self.terms.get(key, 0.0)
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_key, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "src/pyscipopt/expr.pxi":233
 *     def __getitem__(self, key):
 *         if not isinstance(key, Term):
 *             key = Term(key)             # <<<<<<<<<<<<<<
 *         return self.terms.get(key, 0.0)
 * 
*/
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_key};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 233, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __Pyx_DECREF_SET(__pyx_v_key, ((PyObject *)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "src/pyscipopt/expr.pxi":232
 * 
 *     def __getitem__(self, key):
 *         if not isinstance(key, Term):             # <<<<<<<<<<<<<<
 *             key = Term(key)
 *         return self.terms.get(key, 0.0)
*/
  }

  /* "src/pyscipopt/expr.pxi":234
 *         if not isinstance(key, Term):
 *             key = Term(key)
 *         return self.terms.get(key, 0.0)             # <<<<<<<<<<<<<<
 * 
 *     def __iter__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __pyx_v_self->terms;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_key, __pyx_mstate_global->__pyx_float_0_0};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":231
 *             self.terms[CONST] = 0.0
 * 
 *     def __getitem__(self, key):             # <<<<<<<<<<<<<<
 *         if not isinstance(key, Term):
 *             key = Term(key)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":236
 *         return self.terms.get(key, 0.0)
 * 
 *     def __iter__(self):             # <<<<<<<<<<<<<<
 *         return iter(self.terms)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_5__iter__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_5__iter__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_4__iter__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_4__iter__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__iter__", 0);

  /* "src/pyscipopt/expr.pxi":237
 * 
 *     def __iter__(self):
 *         return iter(self.terms)             # <<<<<<<<<<<<<<
 * 
 *     def __abs__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_v_self->terms;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":236
 *         return self.terms.get(key, 0.0)
 * 
 *     def __iter__(self):             # <<<<<<<<<<<<<<
 *         return iter(self.terms)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__iter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":239
 *         return iter(self.terms)
 * 
 *     def __abs__(self):             # <<<<<<<<<<<<<<
 *         return abs(buildGenExprObj(self))
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_7__abs__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_7__abs__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__abs__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_6__abs__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_6__abs__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__abs__", 0);

  /* "src/pyscipopt/expr.pxi":240
 * 
 *     def __abs__(self):
 *         return abs(buildGenExprObj(self))             # <<<<<<<<<<<<<<
 * 
 *     def __add__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyNumber_Absolute(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":239
 *         return iter(self.terms)
 * 
 *     def __abs__(self):             # <<<<<<<<<<<<<<
 *         return abs(buildGenExprObj(self))
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__abs__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":242
 *         return abs(buildGenExprObj(self))
 * 
 *     def __add__(self, other):             # <<<<<<<<<<<<<<
 *         left = self
 *         right = other
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_9__add__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_9__add__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__add__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_8__add__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_8__add__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other) {
  struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_left = NULL;
  PyObject *__pyx_v_right = NULL;
  PyObject *__pyx_v_terms = NULL;
  PyObject *__pyx_v_v = NULL;
  PyObject *__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__add__", 0);

  /* "src/pyscipopt/expr.pxi":243
 * 
 *     def __add__(self, other):
 *         left = self             # <<<<<<<<<<<<<<
 *         right = other
 *         terms = left.terms.copy()
*/
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __pyx_v_left = __pyx_v_self;

  /* "src/pyscipopt/expr.pxi":244
 *     def __add__(self, other):
 *         left = self
 *         right = other             # <<<<<<<<<<<<<<
 *         terms = left.terms.copy()
 * 
*/
  __Pyx_INCREF(__pyx_v_other);
  __pyx_v_right = __pyx_v_other;

  /* "src/pyscipopt/expr.pxi":245
 *         left = self
 *         right = other
 *         terms = left.terms.copy()             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(right, Expr):
*/
  __pyx_t_2 = __pyx_v_left->terms;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_copy, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 245, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_terms = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":247
 *         terms = left.terms.copy()
 * 
 *         if isinstance(right, Expr):             # <<<<<<<<<<<<<<
 *             # merge the terms by component-wise addition
 *             for v,c in right.terms.items():
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_right, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr); 
  if (__pyx_t_4) {

    /* "src/pyscipopt/expr.pxi":249
 *         if isinstance(right, Expr):
 *             # merge the terms by component-wise addition
 *             for v,c in right.terms.items():             # <<<<<<<<<<<<<<
 *                 terms[v] = terms.get(v, 0.0) + c
 *         elif _is_number(right):
*/
    __pyx_t_5 = 0;
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_right, __pyx_mstate_global->__pyx_n_u_terms); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(__pyx_t_2 == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
      __PYX_ERR(3, 249, __pyx_L1_error)
    }
    __pyx_t_8 = __Pyx_dict_iterator(__pyx_t_2, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_6), (&__pyx_t_7)); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_1);
    __pyx_t_1 = __pyx_t_8;
    __pyx_t_8 = 0;
    while (1) {
      __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_6, &__pyx_t_5, &__pyx_t_8, &__pyx_t_2, NULL, __pyx_t_7);
      if (unlikely(__pyx_t_9 == 0)) break;
      if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(3, 249, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_8);
      __pyx_t_8 = 0;
      __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "src/pyscipopt/expr.pxi":250
 *             # merge the terms by component-wise addition
 *             for v,c in right.terms.items():
 *                 terms[v] = terms.get(v, 0.0) + c             # <<<<<<<<<<<<<<
 *         elif _is_number(right):
 *             c = float(right)
*/
      __pyx_t_8 = __pyx_v_terms;
      __Pyx_INCREF(__pyx_t_8);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_v_v, __pyx_mstate_global->__pyx_float_0_0};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 250, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_8 = PyNumber_Add(__pyx_t_2, __pyx_v_c); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 250, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely((PyObject_SetItem(__pyx_v_terms, __pyx_v_v, __pyx_t_8) < 0))) __PYX_ERR(3, 250, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":247
 *         terms = left.terms.copy()
 * 
 *         if isinstance(right, Expr):             # <<<<<<<<<<<<<<
 *             # merge the terms by component-wise addition
 *             for v,c in right.terms.items():
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/expr.pxi":251
 *             for v,c in right.terms.items():
 *                 terms[v] = terms.get(v, 0.0) + c
 *         elif _is_number(right):             # <<<<<<<<<<<<<<
 *             c = float(right)
 *             terms[CONST] = terms.get(CONST, 0.0) + c
*/
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_right};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 251, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(3, 251, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_4) {

    /* "src/pyscipopt/expr.pxi":252
 *                 terms[v] = terms.get(v, 0.0) + c
 *         elif _is_number(right):
 *             c = float(right)             # <<<<<<<<<<<<<<
 *             terms[CONST] = terms.get(CONST, 0.0) + c
 *         elif isinstance(right, GenExpr):
*/
    __pyx_t_1 = __Pyx_PyNumber_Float(__pyx_v_right); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 252, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_c = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":253
 *         elif _is_number(right):
 *             c = float(right)
 *             terms[CONST] = terms.get(CONST, 0.0) + c             # <<<<<<<<<<<<<<
 *         elif isinstance(right, GenExpr):
 *             return buildGenExprObj(left) + right
*/
    __pyx_t_2 = __pyx_v_terms;
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_CONST); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_8, __pyx_mstate_global->__pyx_float_0_0};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 253, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_8 = PyNumber_Add(__pyx_t_1, __pyx_v_c); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_CONST); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely((PyObject_SetItem(__pyx_v_terms, __pyx_t_1, __pyx_t_8) < 0))) __PYX_ERR(3, 253, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

    /* "src/pyscipopt/expr.pxi":251
 *             for v,c in right.terms.items():
 *                 terms[v] = terms.get(v, 0.0) + c
 *         elif _is_number(right):             # <<<<<<<<<<<<<<
 *             c = float(right)
 *             terms[CONST] = terms.get(CONST, 0.0) + c
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/expr.pxi":254
 *             c = float(right)
 *             terms[CONST] = terms.get(CONST, 0.0) + c
 *         elif isinstance(right, GenExpr):             # <<<<<<<<<<<<<<
 *             return buildGenExprObj(left) + right
 *         elif isinstance(right, np.ndarray):
*/
  __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_right, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); 
  if (__pyx_t_4) {

    /* "src/pyscipopt/expr.pxi":255
 *             terms[CONST] = terms.get(CONST, 0.0) + c
 *         elif isinstance(right, GenExpr):
 *             return buildGenExprObj(left) + right             # <<<<<<<<<<<<<<
 *         elif isinstance(right, np.ndarray):
 *             return right + left
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_3 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_left)};
      __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 255, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __pyx_t_2 = PyNumber_Add(__pyx_t_8, __pyx_v_right); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 255, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":254
 *             c = float(right)
 *             terms[CONST] = terms.get(CONST, 0.0) + c
 *         elif isinstance(right, GenExpr):             # <<<<<<<<<<<<<<
 *             return buildGenExprObj(left) + right
 *         elif isinstance(right, np.ndarray):
*/
  }

  /* "src/pyscipopt/expr.pxi":256
 *         elif isinstance(right, GenExpr):
 *             return buildGenExprObj(left) + right
 *         elif isinstance(right, np.ndarray):             # <<<<<<<<<<<<<<
 *             return right + left
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 256, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 256, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = PyObject_IsInstance(__pyx_v_right, __pyx_t_8); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(3, 256, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  if (likely(__pyx_t_4)) {

    /* "src/pyscipopt/expr.pxi":257
 *             return buildGenExprObj(left) + right
 *         elif isinstance(right, np.ndarray):
 *             return right + left             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError(f"Unsupported type {type(right)}")
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_8 = PyNumber_Add(__pyx_v_right, ((PyObject *)__pyx_v_left)); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 257, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_r = __pyx_t_8;
    __pyx_t_8 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":256
 *         elif isinstance(right, GenExpr):
 *             return buildGenExprObj(left) + right
 *         elif isinstance(right, np.ndarray):             # <<<<<<<<<<<<<<
 *             return right + left
 *         else:
*/
  }

  /* "src/pyscipopt/expr.pxi":259
 *             return right + left
 *         else:
 *             raise TypeError(f"Unsupported type {type(right)}")             # <<<<<<<<<<<<<<
 * 
 *         return Expr(terms)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __pyx_t_1 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_right)), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Unsupported_type, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(3, 259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_3 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_10};
      __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 259, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
    }
    __Pyx_Raise(__pyx_t_8, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __PYX_ERR(3, 259, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/expr.pxi":261
 *             raise TypeError(f"Unsupported type {type(right)}")
 * 
 *         return Expr(terms)             # <<<<<<<<<<<<<<
 * 
 *     def __iadd__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_10 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_v_terms};
    __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 261, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_8);
  }
  __pyx_r = ((PyObject *)__pyx_t_8);
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":242
 *         return abs(buildGenExprObj(self))
 * 
 *     def __add__(self, other):             # <<<<<<<<<<<<<<
 *         left = self
 *         right = other
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__add__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_left);
  __Pyx_XDECREF(__pyx_v_right);
  __Pyx_XDECREF(__pyx_v_terms);
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":263
 *         return Expr(terms)
 * 
 *     def __iadd__(self, other):             # <<<<<<<<<<<<<<
 *         if isinstance(other, Expr):
 *             for v,c in other.terms.items():
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_11__iadd__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_11__iadd__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__iadd__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_10__iadd__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_10__iadd__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_v_v = NULL;
  PyObject *__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  size_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__iadd__", 0);

  /* "src/pyscipopt/expr.pxi":264
 * 
 *     def __iadd__(self, other):
 *         if isinstance(other, Expr):             # <<<<<<<<<<<<<<
 *             for v,c in other.terms.items():
 *                 self.terms[v] = self.terms.get(v, 0.0) + c
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr); 
  if (__pyx_t_1) {

    /* "src/pyscipopt/expr.pxi":265
 *     def __iadd__(self, other):
 *         if isinstance(other, Expr):
 *             for v,c in other.terms.items():             # <<<<<<<<<<<<<<
 *                 self.terms[v] = self.terms.get(v, 0.0) + c
 *         elif _is_number(other):
*/
    __pyx_t_3 = 0;
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_terms); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 265, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(__pyx_t_6 == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
      __PYX_ERR(3, 265, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_dict_iterator(__pyx_t_6, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_4), (&__pyx_t_5)); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 265, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_XDECREF(__pyx_t_2);
    __pyx_t_2 = __pyx_t_7;
    __pyx_t_7 = 0;
    while (1) {
      __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_4, &__pyx_t_3, &__pyx_t_7, &__pyx_t_6, NULL, __pyx_t_5);
      if (unlikely(__pyx_t_8 == 0)) break;
      if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(3, 265, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_7);
      __pyx_t_7 = 0;
      __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "src/pyscipopt/expr.pxi":266
 *         if isinstance(other, Expr):
 *             for v,c in other.terms.items():
 *                 self.terms[v] = self.terms.get(v, 0.0) + c             # <<<<<<<<<<<<<<
 *         elif _is_number(other):
 *             c = float(other)
*/
      __pyx_t_7 = __pyx_v_self->terms;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_9 = 0;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_v_v, __pyx_mstate_global->__pyx_float_0_0};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 266, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __pyx_t_7 = PyNumber_Add(__pyx_t_6, __pyx_v_c); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 266, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely((PyObject_SetItem(__pyx_v_self->terms, __pyx_v_v, __pyx_t_7) < 0))) __PYX_ERR(3, 266, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":264
 * 
 *     def __iadd__(self, other):
 *         if isinstance(other, Expr):             # <<<<<<<<<<<<<<
 *             for v,c in other.terms.items():
 *                 self.terms[v] = self.terms.get(v, 0.0) + c
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/expr.pxi":267
 *             for v,c in other.terms.items():
 *                 self.terms[v] = self.terms.get(v, 0.0) + c
 *         elif _is_number(other):             # <<<<<<<<<<<<<<
 *             c = float(other)
 *             self.terms[CONST] = self.terms.get(CONST, 0.0) + c
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_9 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_other};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(3, 267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "src/pyscipopt/expr.pxi":268
 *                 self.terms[v] = self.terms.get(v, 0.0) + c
 *         elif _is_number(other):
 *             c = float(other)             # <<<<<<<<<<<<<<
 *             self.terms[CONST] = self.terms.get(CONST, 0.0) + c
 *         elif isinstance(other, GenExpr):
*/
    __pyx_t_2 = __Pyx_PyNumber_Float(__pyx_v_other); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_c = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":269
 *         elif _is_number(other):
 *             c = float(other)
 *             self.terms[CONST] = self.terms.get(CONST, 0.0) + c             # <<<<<<<<<<<<<<
 *         elif isinstance(other, GenExpr):
 *             # is no longer in place, might affect performance?
*/
    __pyx_t_6 = __pyx_v_self->terms;
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CONST); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_9 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_7, __pyx_mstate_global->__pyx_float_0_0};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 269, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_7 = PyNumber_Add(__pyx_t_2, __pyx_v_c); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CONST); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely((PyObject_SetItem(__pyx_v_self->terms, __pyx_t_2, __pyx_t_7) < 0))) __PYX_ERR(3, 269, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "src/pyscipopt/expr.pxi":267
 *             for v,c in other.terms.items():
 *                 self.terms[v] = self.terms.get(v, 0.0) + c
 *         elif _is_number(other):             # <<<<<<<<<<<<<<
 *             c = float(other)
 *             self.terms[CONST] = self.terms.get(CONST, 0.0) + c
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/expr.pxi":270
 *             c = float(other)
 *             self.terms[CONST] = self.terms.get(CONST, 0.0) + c
 *         elif isinstance(other, GenExpr):             # <<<<<<<<<<<<<<
 *             # is no longer in place, might affect performance?
 *             # can't do `self = buildGenExprObj(self) + other` since I get
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); 
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/expr.pxi":274
 *             # can't do `self = buildGenExprObj(self) + other` since I get
 *             # TypeError: Cannot convert pyscipopt.scip.SumExpr to pyscipopt.scip.Expr
 *             return buildGenExprObj(self) + other             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError(f"Unsupported type {type(other)}")
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_9 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_9 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_self)};
      __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 274, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __pyx_t_6 = PyNumber_Add(__pyx_t_7, __pyx_v_other); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":270
 *             c = float(other)
 *             self.terms[CONST] = self.terms.get(CONST, 0.0) + c
 *         elif isinstance(other, GenExpr):             # <<<<<<<<<<<<<<
 *             # is no longer in place, might affect performance?
 *             # can't do `self = buildGenExprObj(self) + other` since I get
*/
  }

  /* "src/pyscipopt/expr.pxi":276
 *             return buildGenExprObj(self) + other
 *         else:
 *             raise TypeError(f"Unsupported type {type(other)}")             # <<<<<<<<<<<<<<
 * 
 *         return self
*/
  /*else*/ {
    __pyx_t_7 = NULL;
    __pyx_t_2 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_other)), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_10 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Unsupported_type, __pyx_t_2); if (unlikely(!__pyx_t_10)) __PYX_ERR(3, 276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_9 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_10};
      __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 276, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(3, 276, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/expr.pxi":278
 *             raise TypeError(f"Unsupported type {type(other)}")
 * 
 *         return self             # <<<<<<<<<<<<<<
 * 
 *     def __mul__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __pyx_r = ((PyObject *)__pyx_v_self);
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":263
 *         return Expr(terms)
 * 
 *     def __iadd__(self, other):             # <<<<<<<<<<<<<<
 *         if isinstance(other, Expr):
 *             for v,c in other.terms.items():
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__iadd__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":280
 *         return self
 * 
 *     def __mul__(self, other):             # <<<<<<<<<<<<<<
 *         if isinstance(other, np.ndarray):
 *             return other * self
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_13__mul__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_13__mul__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__mul__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_12__mul__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_12__mul__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_v_res = 0;
  Py_ssize_t __pyx_v_pos1;
  Py_ssize_t __pyx_v_pos2;
  PyObject *__pyx_v_k1_ptr;
  PyObject *__pyx_v_v1_ptr;
  PyObject *__pyx_v_k2_ptr;
  PyObject *__pyx_v_v2_ptr;
  PyObject *__pyx_v_old_v_ptr;
  struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_child = 0;
  double __pyx_v_prod_v;
  double __pyx_v_f;
  PyObject *__pyx_8genexpr3__pyx_v_v = NULL;
  PyObject *__pyx_8genexpr3__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  double __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  double __pyx_t_14;
  PyObject *__pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__mul__", 0);

  /* "src/pyscipopt/expr.pxi":281
 * 
 *     def __mul__(self, other):
 *         if isinstance(other, np.ndarray):             # <<<<<<<<<<<<<<
 *             return other * self
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_other, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":282
 *     def __mul__(self, other):
 *         if isinstance(other, np.ndarray):
 *             return other * self             # <<<<<<<<<<<<<<
 * 
 *         cdef dict res = {}
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyNumber_Multiply(__pyx_v_other, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":281
 * 
 *     def __mul__(self, other):
 *         if isinstance(other, np.ndarray):             # <<<<<<<<<<<<<<
 *             return other * self
 * 
*/
  }

  /* "src/pyscipopt/expr.pxi":284
 *             return other * self
 * 
 *         cdef dict res = {}             # <<<<<<<<<<<<<<
 *         cdef Py_ssize_t pos1 = <Py_ssize_t>0, pos2 = <Py_ssize_t>0
 *         cdef PyObject *k1_ptr = NULL
*/
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_res = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":285
 * 
 *         cdef dict res = {}
 *         cdef Py_ssize_t pos1 = <Py_ssize_t>0, pos2 = <Py_ssize_t>0             # <<<<<<<<<<<<<<
 *         cdef PyObject *k1_ptr = NULL
 *         cdef PyObject *v1_ptr = NULL
*/
  __pyx_v_pos1 = ((Py_ssize_t)0);
  __pyx_v_pos2 = ((Py_ssize_t)0);

  /* "src/pyscipopt/expr.pxi":286
 *         cdef dict res = {}
 *         cdef Py_ssize_t pos1 = <Py_ssize_t>0, pos2 = <Py_ssize_t>0
 *         cdef PyObject *k1_ptr = NULL             # <<<<<<<<<<<<<<
 *         cdef PyObject *v1_ptr = NULL
 *         cdef PyObject *k2_ptr = NULL
*/
  __pyx_v_k1_ptr = NULL;

  /* "src/pyscipopt/expr.pxi":287
 *         cdef Py_ssize_t pos1 = <Py_ssize_t>0, pos2 = <Py_ssize_t>0
 *         cdef PyObject *k1_ptr = NULL
 *         cdef PyObject *v1_ptr = NULL             # <<<<<<<<<<<<<<
 *         cdef PyObject *k2_ptr = NULL
 *         cdef PyObject *v2_ptr = NULL
*/
  __pyx_v_v1_ptr = NULL;

  /* "src/pyscipopt/expr.pxi":288
 *         cdef PyObject *k1_ptr = NULL
 *         cdef PyObject *v1_ptr = NULL
 *         cdef PyObject *k2_ptr = NULL             # <<<<<<<<<<<<<<
 *         cdef PyObject *v2_ptr = NULL
 *         cdef PyObject *old_v_ptr = NULL
*/
  __pyx_v_k2_ptr = NULL;

  /* "src/pyscipopt/expr.pxi":289
 *         cdef PyObject *v1_ptr = NULL
 *         cdef PyObject *k2_ptr = NULL
 *         cdef PyObject *v2_ptr = NULL             # <<<<<<<<<<<<<<
 *         cdef PyObject *old_v_ptr = NULL
 *         cdef Term child
*/
  __pyx_v_v2_ptr = NULL;

  /* "src/pyscipopt/expr.pxi":290
 *         cdef PyObject *k2_ptr = NULL
 *         cdef PyObject *v2_ptr = NULL
 *         cdef PyObject *old_v_ptr = NULL             # <<<<<<<<<<<<<<
 *         cdef Term child
 *         cdef double prod_v
*/
  __pyx_v_old_v_ptr = NULL;

  /* "src/pyscipopt/expr.pxi":294
 *         cdef double prod_v
 * 
 *         if _is_number(other):             # <<<<<<<<<<<<<<
 *             f = float(other)
 *             return Expr({v:f*c for v,c in self.terms.items()})
*/
  __pyx_t_1 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_other};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(3, 294, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":295
 * 
 *         if _is_number(other):
 *             f = float(other)             # <<<<<<<<<<<<<<
 *             return Expr({v:f*c for v,c in self.terms.items()})
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_AsDouble(__pyx_v_other); if (unlikely(__PYX_CHECK_FLOAT_EXCEPTION(__pyx_t_6, ((double)((double)-1))) && PyErr_Occurred())) __PYX_ERR(3, 295, __pyx_L1_error)
    __pyx_v_f = __pyx_t_6;

    /* "src/pyscipopt/expr.pxi":296
 *         if _is_number(other):
 *             f = float(other)
 *             return Expr({v:f*c for v,c in self.terms.items()})             # <<<<<<<<<<<<<<
 * 
 *         elif isinstance(other, Expr):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = NULL;
    { /* enter inner scope */
      __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 296, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_8 = 0;
      if (unlikely(__pyx_v_self->terms == Py_None)) {
        PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
        __PYX_ERR(3, 296, __pyx_L7_error)
      }
      __pyx_t_11 = __Pyx_dict_iterator(__pyx_v_self->terms, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_9), (&__pyx_t_10)); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 296, __pyx_L7_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_XDECREF(__pyx_t_7);
      __pyx_t_7 = __pyx_t_11;
      __pyx_t_11 = 0;
      while (1) {
        __pyx_t_13 = __Pyx_dict_iter_next(__pyx_t_7, __pyx_t_9, &__pyx_t_8, &__pyx_t_11, &__pyx_t_12, NULL, __pyx_t_10);
        if (unlikely(__pyx_t_13 == 0)) break;
        if (unlikely(__pyx_t_13 == -1)) __PYX_ERR(3, 296, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_XDECREF_SET(__pyx_8genexpr3__pyx_v_v, __pyx_t_11);
        __pyx_t_11 = 0;
        __Pyx_XDECREF_SET(__pyx_8genexpr3__pyx_v_c, __pyx_t_12);
        __pyx_t_12 = 0;
        __pyx_t_12 = PyFloat_FromDouble(__pyx_v_f); if (unlikely(!__pyx_t_12)) __PYX_ERR(3, 296, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_12);
        __pyx_t_11 = PyNumber_Multiply(__pyx_t_12, __pyx_8genexpr3__pyx_v_c); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 296, __pyx_L7_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_8genexpr3__pyx_v_v, (PyObject*)__pyx_t_11))) __PYX_ERR(3, 296, __pyx_L7_error)
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      }
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_c); __pyx_8genexpr3__pyx_v_c = 0;
      __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_v); __pyx_8genexpr3__pyx_v_v = 0;
      goto __pyx_L10_exit_scope;
      __pyx_L7_error:;
      __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_c); __pyx_8genexpr3__pyx_v_c = 0;
      __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_v); __pyx_8genexpr3__pyx_v_v = 0;
      goto __pyx_L1_error;
      __pyx_L10_exit_scope:;
    } /* exit inner scope */
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_1};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 296, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_r = ((PyObject *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":294
 *         cdef double prod_v
 * 
 *         if _is_number(other):             # <<<<<<<<<<<<<<
 *             f = float(other)
 *             return Expr({v:f*c for v,c in self.terms.items()})
*/
  }

  /* "src/pyscipopt/expr.pxi":298
 *             return Expr({v:f*c for v,c in self.terms.items()})
 * 
 *         elif isinstance(other, Expr):             # <<<<<<<<<<<<<<
 *             while PyDict_Next(self.terms, &pos1, &k1_ptr, &v1_ptr):
 *                 pos2 = <Py_ssize_t>0
*/
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr); 
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":299
 * 
 *         elif isinstance(other, Expr):
 *             while PyDict_Next(self.terms, &pos1, &k1_ptr, &v1_ptr):             # <<<<<<<<<<<<<<
 *                 pos2 = <Py_ssize_t>0
 *                 while PyDict_Next(other.terms, &pos2, &k2_ptr, &v2_ptr):
*/
    while (1) {
      __pyx_t_2 = __pyx_v_self->terms;
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = (PyDict_Next(__pyx_t_2, (&__pyx_v_pos1), (&__pyx_v_k1_ptr), (&__pyx_v_v1_ptr)) != 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (!__pyx_t_3) break;

      /* "src/pyscipopt/expr.pxi":300
 *         elif isinstance(other, Expr):
 *             while PyDict_Next(self.terms, &pos1, &k1_ptr, &v1_ptr):
 *                 pos2 = <Py_ssize_t>0             # <<<<<<<<<<<<<<
 *                 while PyDict_Next(other.terms, &pos2, &k2_ptr, &v2_ptr):
 *                     child = (<Term>k1_ptr) * (<Term>k2_ptr)
*/
      __pyx_v_pos2 = ((Py_ssize_t)0);

      /* "src/pyscipopt/expr.pxi":301
 *             while PyDict_Next(self.terms, &pos1, &k1_ptr, &v1_ptr):
 *                 pos2 = <Py_ssize_t>0
 *                 while PyDict_Next(other.terms, &pos2, &k2_ptr, &v2_ptr):             # <<<<<<<<<<<<<<
 *                     child = (<Term>k1_ptr) * (<Term>k2_ptr)
 *                     prod_v = (<double>(<object>v1_ptr)) * (<double>(<object>v2_ptr))
*/
      while (1) {
        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_terms); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 301, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_3 = (PyDict_Next(__pyx_t_2, (&__pyx_v_pos2), (&__pyx_v_k2_ptr), (&__pyx_v_v2_ptr)) != 0);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (!__pyx_t_3) break;

        /* "src/pyscipopt/expr.pxi":302
 *                 pos2 = <Py_ssize_t>0
 *                 while PyDict_Next(other.terms, &pos2, &k2_ptr, &v2_ptr):
 *                     child = (<Term>k1_ptr) * (<Term>k2_ptr)             # <<<<<<<<<<<<<<
 *                     prod_v = (<double>(<object>v1_ptr)) * (<double>(<object>v2_ptr))
 *                     if (old_v_ptr := PyDict_GetItem(res, child)) != NULL:
*/
        __pyx_t_2 = PyNumber_Multiply(((PyObject *)__pyx_v_k1_ptr), ((PyObject *)__pyx_v_k2_ptr)); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 302, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term))))) __PYX_ERR(3, 302, __pyx_L1_error)
        __Pyx_XDECREF_SET(__pyx_v_child, ((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "src/pyscipopt/expr.pxi":303
 *                 while PyDict_Next(other.terms, &pos2, &k2_ptr, &v2_ptr):
 *                     child = (<Term>k1_ptr) * (<Term>k2_ptr)
 *                     prod_v = (<double>(<object>v1_ptr)) * (<double>(<object>v2_ptr))             # <<<<<<<<<<<<<<
 *                     if (old_v_ptr := PyDict_GetItem(res, child)) != NULL:
 *                         res[child] = <double>(<object>old_v_ptr) + prod_v
*/
        __pyx_t_6 = __Pyx_PyFloat_AsDouble(((PyObject *)__pyx_v_v1_ptr)); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 303, __pyx_L1_error)
        __pyx_t_14 = __Pyx_PyFloat_AsDouble(((PyObject *)__pyx_v_v2_ptr)); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 303, __pyx_L1_error)
        __pyx_v_prod_v = (((double)__pyx_t_6) * ((double)__pyx_t_14));

        /* "src/pyscipopt/expr.pxi":304
 *                     child = (<Term>k1_ptr) * (<Term>k2_ptr)
 *                     prod_v = (<double>(<object>v1_ptr)) * (<double>(<object>v2_ptr))
 *                     if (old_v_ptr := PyDict_GetItem(res, child)) != NULL:             # <<<<<<<<<<<<<<
 *                         res[child] = <double>(<object>old_v_ptr) + prod_v
 *                     else:
*/
        __pyx_t_15 = PyDict_GetItem(__pyx_v_res, ((PyObject *)__pyx_v_child));
        __pyx_v_old_v_ptr = __pyx_t_15;
        __pyx_t_3 = (__pyx_t_15 != NULL);
        if (__pyx_t_3) {

          /* "src/pyscipopt/expr.pxi":305
 *                     prod_v = (<double>(<object>v1_ptr)) * (<double>(<object>v2_ptr))
 *                     if (old_v_ptr := PyDict_GetItem(res, child)) != NULL:
 *                         res[child] = <double>(<object>old_v_ptr) + prod_v             # <<<<<<<<<<<<<<
 *                     else:
 *                         res[child] = prod_v
*/
          __pyx_t_14 = __Pyx_PyFloat_AsDouble(((PyObject *)__pyx_v_old_v_ptr)); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 305, __pyx_L1_error)
          __pyx_t_2 = PyFloat_FromDouble((((double)__pyx_t_14) + __pyx_v_prod_v)); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 305, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          if (unlikely((PyDict_SetItem(__pyx_v_res, ((PyObject *)__pyx_v_child), __pyx_t_2) < 0))) __PYX_ERR(3, 305, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

          /* "src/pyscipopt/expr.pxi":304
 *                     child = (<Term>k1_ptr) * (<Term>k2_ptr)
 *                     prod_v = (<double>(<object>v1_ptr)) * (<double>(<object>v2_ptr))
 *                     if (old_v_ptr := PyDict_GetItem(res, child)) != NULL:             # <<<<<<<<<<<<<<
 *                         res[child] = <double>(<object>old_v_ptr) + prod_v
 *                     else:
*/
          goto __pyx_L15;
        }

        /* "src/pyscipopt/expr.pxi":307
 *                         res[child] = <double>(<object>old_v_ptr) + prod_v
 *                     else:
 *                         res[child] = prod_v             # <<<<<<<<<<<<<<
 *             return Expr(res)
 * 
*/
        /*else*/ {
          __pyx_t_2 = PyFloat_FromDouble(__pyx_v_prod_v); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 307, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          if (unlikely((PyDict_SetItem(__pyx_v_res, ((PyObject *)__pyx_v_child), __pyx_t_2) < 0))) __PYX_ERR(3, 307, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        }
        __pyx_L15:;
      }
    }

    /* "src/pyscipopt/expr.pxi":308
 *                     else:
 *                         res[child] = prod_v
 *             return Expr(res)             # <<<<<<<<<<<<<<
 * 
 *         elif isinstance(other, GenExpr):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_res};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 308, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_r = ((PyObject *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":298
 *             return Expr({v:f*c for v,c in self.terms.items()})
 * 
 *         elif isinstance(other, Expr):             # <<<<<<<<<<<<<<
 *             while PyDict_Next(self.terms, &pos1, &k1_ptr, &v1_ptr):
 *                 pos2 = <Py_ssize_t>0
*/
  }

  /* "src/pyscipopt/expr.pxi":310
 *             return Expr(res)
 * 
 *         elif isinstance(other, GenExpr):             # <<<<<<<<<<<<<<
 *             return buildGenExprObj(self) * other
 *         else:
*/
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_other, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); 
  if (likely(__pyx_t_3)) {

    /* "src/pyscipopt/expr.pxi":311
 * 
 *         elif isinstance(other, GenExpr):
 *             return buildGenExprObj(self) * other             # <<<<<<<<<<<<<<
 *         else:
 *             raise NotImplementedError
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_self)};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 311, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_4 = PyNumber_Multiply(__pyx_t_2, __pyx_v_other); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":310
 *             return Expr(res)
 * 
 *         elif isinstance(other, GenExpr):             # <<<<<<<<<<<<<<
 *             return buildGenExprObj(self) * other
 *         else:
*/
  }

  /* "src/pyscipopt/expr.pxi":313
 *             return buildGenExprObj(self) * other
 *         else:
 *             raise NotImplementedError             # <<<<<<<<<<<<<<
 * 
 *     def __truediv__(self,other):
*/
  /*else*/ {
    __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_NotImplementedError))), 0, 0, 0);
    __PYX_ERR(3, 313, __pyx_L1_error)
  }

  /* "src/pyscipopt/expr.pxi":280
 *         return self
 * 
 *     def __mul__(self, other):             # <<<<<<<<<<<<<<
 *         if isinstance(other, np.ndarray):
 *             return other * self
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__mul__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_res);
  __Pyx_XDECREF((PyObject *)__pyx_v_child);
  __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_v);
  __Pyx_XDECREF(__pyx_8genexpr3__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":315
 *             raise NotImplementedError
 * 
 *     def __truediv__(self,other):             # <<<<<<<<<<<<<<
 *         if _is_number(other):
 *             f = 1.0/float(other)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_15__truediv__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_15__truediv__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__truediv__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_14__truediv__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_14__truediv__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other) {
  double __pyx_v_f;
  PyObject *__pyx_v_selfexpr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  double __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__truediv__", 0);

  /* "src/pyscipopt/expr.pxi":316
 * 
 *     def __truediv__(self,other):
 *         if _is_number(other):             # <<<<<<<<<<<<<<
 *             f = 1.0/float(other)
 *             return f * self
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_other};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(3, 316, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_5) {

    /* "src/pyscipopt/expr.pxi":317
 *     def __truediv__(self,other):
 *         if _is_number(other):
 *             f = 1.0/float(other)             # <<<<<<<<<<<<<<
 *             return f * self
 *         selfexpr = buildGenExprObj(self)
*/
    __pyx_t_6 = __Pyx_PyObject_AsDouble(__pyx_v_other); if (unlikely(__PYX_CHECK_FLOAT_EXCEPTION(__pyx_t_6, ((double)((double)-1))) && PyErr_Occurred())) __PYX_ERR(3, 317, __pyx_L1_error)
    if (unlikely(__pyx_t_6 == 0)) {
      PyErr_SetString(PyExc_ZeroDivisionError, "float division");
      __PYX_ERR(3, 317, __pyx_L1_error)
    }
    __pyx_v_f = (1.0 / __pyx_t_6);

    /* "src/pyscipopt/expr.pxi":318
 *         if _is_number(other):
 *             f = 1.0/float(other)
 *             return f * self             # <<<<<<<<<<<<<<
 *         selfexpr = buildGenExprObj(self)
 *         return selfexpr.__truediv__(other)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = PyFloat_FromDouble(__pyx_v_f); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = PyNumber_Multiply(__pyx_t_1, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":316
 * 
 *     def __truediv__(self,other):
 *         if _is_number(other):             # <<<<<<<<<<<<<<
 *             f = 1.0/float(other)
 *             return f * self
*/
  }

  /* "src/pyscipopt/expr.pxi":319
 *             f = 1.0/float(other)
 *             return f * self
 *         selfexpr = buildGenExprObj(self)             # <<<<<<<<<<<<<<
 *         return selfexpr.__truediv__(other)
 * 
*/
  __pyx_t_1 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_self)};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 319, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_v_selfexpr = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "src/pyscipopt/expr.pxi":320
 *             return f * self
 *         selfexpr = buildGenExprObj(self)
 *         return selfexpr.__truediv__(other)             # <<<<<<<<<<<<<<
 * 
 *     def __rtruediv__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_v_selfexpr;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_other};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_truediv, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":315
 *             raise NotImplementedError
 * 
 *     def __truediv__(self,other):             # <<<<<<<<<<<<<<
 *         if _is_number(other):
 *             f = 1.0/float(other)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__truediv__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_selfexpr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":322
 *         return selfexpr.__truediv__(other)
 * 
 *     def __rtruediv__(self, other):             # <<<<<<<<<<<<<<
 *         ''' other / self '''
 *         return buildGenExprObj(other) / self
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_17__rtruediv__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Expr_16__rtruediv__, " other / self ");
#if CYTHON_UPDATE_DESCRIPTOR_DOC
struct wrapperbase __pyx_wrapperbase_9pyscipopt_4scip_4Expr_16__rtruediv__;
#endif
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_17__rtruediv__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__rtruediv__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_16__rtruediv__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_16__rtruediv__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__rtruediv__", 0);

  /* "src/pyscipopt/expr.pxi":324
 *     def __rtruediv__(self, other):
 *         ''' other / self '''
 *         return buildGenExprObj(other) / self             # <<<<<<<<<<<<<<
 * 
 *     def __pow__(self, other, modulo):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_other};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_1, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":322
 *         return selfexpr.__truediv__(other)
 * 
 *     def __rtruediv__(self, other):             # <<<<<<<<<<<<<<
 *         ''' other / self '''
 *         return buildGenExprObj(other) / self
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__rtruediv__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":326
 *         return buildGenExprObj(other) / self
 * 
 *     def __pow__(self, other, modulo):             # <<<<<<<<<<<<<<
 *         if float(other).is_integer() and other >= 0:
 *             exp = int(other)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_19__pow__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_modulo); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_19__pow__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_modulo) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pow__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_18__pow__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((PyObject *)__pyx_v_modulo));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_18__pow__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other, CYTHON_UNUSED PyObject *__pyx_v_modulo) {
  PyObject *__pyx_v_exp = NULL;
  PyObject *__pyx_v_res = NULL;
  CYTHON_UNUSED PyObject *__pyx_v__ = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  PyObject *(*__pyx_t_7)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pow__", 0);

  /* "src/pyscipopt/expr.pxi":327
 * 
 *     def __pow__(self, other, modulo):
 *         if float(other).is_integer() and other >= 0:             # <<<<<<<<<<<<<<
 *             exp = int(other)
 *         else: # need to transform to GenExpr
*/
  __pyx_t_4 = __Pyx_PyNumber_Float(__pyx_v_other); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __pyx_t_4;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_is_integer, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 327, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(3, 327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_1 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_other, __pyx_mstate_global->__pyx_int_0, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 327, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(3, 327, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __pyx_t_6;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "src/pyscipopt/expr.pxi":328
 *     def __pow__(self, other, modulo):
 *         if float(other).is_integer() and other >= 0:
 *             exp = int(other)             # <<<<<<<<<<<<<<
 *         else: # need to transform to GenExpr
 *             return buildGenExprObj(self)**other
*/
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_other); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_exp = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":327
 * 
 *     def __pow__(self, other, modulo):
 *         if float(other).is_integer() and other >= 0:             # <<<<<<<<<<<<<<
 *             exp = int(other)
 *         else: # need to transform to GenExpr
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/expr.pxi":330
 *             exp = int(other)
 *         else: # need to transform to GenExpr
 *             return buildGenExprObj(self)**other             # <<<<<<<<<<<<<<
 * 
 *         res = 1
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)__pyx_v_self)};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 330, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_3 = PyNumber_Power(__pyx_t_2, __pyx_v_other, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/expr.pxi":332
 *             return buildGenExprObj(self)**other
 * 
 *         res = 1             # <<<<<<<<<<<<<<
 *         for _ in range(exp):
 *             res *= self
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_1);
  __pyx_v_res = __pyx_mstate_global->__pyx_int_1;

  /* "src/pyscipopt/expr.pxi":333
 * 
 *         res = 1
 *         for _ in range(exp):             # <<<<<<<<<<<<<<
 *             res *= self
 *         return res
*/
  __pyx_t_2 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_exp};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(&PyRange_Type), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 333, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 333, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  for (;;) {
    {
      __pyx_t_3 = __pyx_t_7(__pyx_t_2);
      if (unlikely(!__pyx_t_3)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(3, 333, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_PyInt_FromNumber(&__pyx_t_3, NULL, 1) < (0)) __PYX_ERR(3, 333, __pyx_L1_error)
    __Pyx_XDECREF_SET(__pyx_v__, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "src/pyscipopt/expr.pxi":334
 *         res = 1
 *         for _ in range(exp):
 *             res *= self             # <<<<<<<<<<<<<<
 *         return res
 * 
*/
    __pyx_t_3 = PyNumber_InPlaceMultiply(__pyx_v_res, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF_SET(__pyx_v_res, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/pyscipopt/expr.pxi":333
 * 
 *         res = 1
 *         for _ in range(exp):             # <<<<<<<<<<<<<<
 *             res *= self
 *         return res
*/
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":335
 *         for _ in range(exp):
 *             res *= self
 *         return res             # <<<<<<<<<<<<<<
 * 
 *     def __rpow__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_res);
  __pyx_r = __pyx_v_res;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":326
 *         return buildGenExprObj(other) / self
 * 
 *     def __pow__(self, other, modulo):             # <<<<<<<<<<<<<<
 *         if float(other).is_integer() and other >= 0:
 *             exp = int(other)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__pow__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_exp);
  __Pyx_XDECREF(__pyx_v_res);
  __Pyx_XDECREF(__pyx_v__);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":337
 *         return res
 * 
 *     def __rpow__(self, other):             # <<<<<<<<<<<<<<
 *         """
 *         Implements base**x as scip.exp(x * scip.log(base)).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_21__rpow__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, CYTHON_UNUSED PyObject *unused_arg_2); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Expr_20__rpow__, "\n        Implements base**x as scip.exp(x * scip.log(base)).\n        Note: base must be positive.\n        ");
#if CYTHON_UPDATE_DESCRIPTOR_DOC
struct wrapperbase __pyx_wrapperbase_9pyscipopt_4scip_4Expr_20__rpow__;
#endif
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_21__rpow__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, CYTHON_UNUSED PyObject *unused_arg_2) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__rpow__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(unused_arg_2 != Py_None)) {
    PyErr_Format(PyExc_TypeError, "%.200s() takes %zd arguments but %zd were given", (const char*) "pyscipopt.scip.Expr.__rpow__", (Py_ssize_t) 3, (Py_ssize_t) 2); __PYX_ERR(3, 337, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_20__rpow__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_20__rpow__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other) {
  double __pyx_v_base;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  double __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__rpow__", 0);

  /* "src/pyscipopt/expr.pxi":342
 *         Note: base must be positive.
 *         """
 *         if _is_number(other):             # <<<<<<<<<<<<<<
 *             base = float(other)
 *             if base <= 0.0:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_other};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 342, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(3, 342, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (likely(__pyx_t_5)) {

    /* "src/pyscipopt/expr.pxi":343
 *         """
 *         if _is_number(other):
 *             base = float(other)             # <<<<<<<<<<<<<<
 *             if base <= 0.0:
 *                 raise ValueError("Base of a**x must be positive, as expression is reformulated to scip.exp(x * scip.log(a)); got %g" % base)
*/
    __pyx_t_6 = __Pyx_PyObject_AsDouble(__pyx_v_other); if (unlikely(__PYX_CHECK_FLOAT_EXCEPTION(__pyx_t_6, ((double)((double)-1))) && PyErr_Occurred())) __PYX_ERR(3, 343, __pyx_L1_error)
    __pyx_v_base = __pyx_t_6;

    /* "src/pyscipopt/expr.pxi":344
 *         if _is_number(other):
 *             base = float(other)
 *             if base <= 0.0:             # <<<<<<<<<<<<<<
 *                 raise ValueError("Base of a**x must be positive, as expression is reformulated to scip.exp(x * scip.log(a)); got %g" % base)
 *             return exp(self * log(base))
*/
    __pyx_t_5 = (__pyx_v_base <= 0.0);
    if (unlikely(__pyx_t_5)) {

      /* "src/pyscipopt/expr.pxi":345
 *             base = float(other)
 *             if base <= 0.0:
 *                 raise ValueError("Base of a**x must be positive, as expression is reformulated to scip.exp(x * scip.log(a)); got %g" % base)             # <<<<<<<<<<<<<<
 *             return exp(self * log(base))
 *         else:
*/
      __pyx_t_3 = NULL;
      __pyx_t_2 = PyFloat_FromDouble(__pyx_v_base); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_Base_of_a_x_must_be_positive_as, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 345, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(3, 345, __pyx_L1_error)

      /* "src/pyscipopt/expr.pxi":344
 *         if _is_number(other):
 *             base = float(other)
 *             if base <= 0.0:             # <<<<<<<<<<<<<<
 *                 raise ValueError("Base of a**x must be positive, as expression is reformulated to scip.exp(x * scip.log(a)); got %g" % base)
 *             return exp(self * log(base))
*/
    }

    /* "src/pyscipopt/expr.pxi":346
 *             if base <= 0.0:
 *                 raise ValueError("Base of a**x must be positive, as expression is reformulated to scip.exp(x * scip.log(a)); got %g" % base)
 *             return exp(self * log(base))             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError(f"Unsupported base type {type(other)} for exponentiation.")
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_exp); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_log); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = PyFloat_FromDouble(__pyx_v_base); if (unlikely(!__pyx_t_10)) __PYX_ERR(3, 346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_9))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
      assert(__pyx_t_8);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_10};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 346, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_9 = PyNumber_Multiply(((PyObject *)__pyx_v_self), __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 346, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_7);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_9};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 346, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":342
 *         Note: base must be positive.
 *         """
 *         if _is_number(other):             # <<<<<<<<<<<<<<
 *             base = float(other)
 *             if base <= 0.0:
*/
  }

  /* "src/pyscipopt/expr.pxi":348
 *             return exp(self * log(base))
 *         else:
 *             raise TypeError(f"Unsupported base type {type(other)} for exponentiation.")             # <<<<<<<<<<<<<<
 * 
 *     def __neg__(self):
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_9 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_other)), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11[0] = __pyx_mstate_global->__pyx_kp_u_Unsupported_base_type;
    __pyx_t_11[1] = __pyx_t_9;
    __pyx_t_11[2] = __pyx_mstate_global->__pyx_kp_u_for_exponentiation;
    __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_11, 3, 22 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9) + 20, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9));
    if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 348, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(3, 348, __pyx_L1_error)
  }

  /* "src/pyscipopt/expr.pxi":337
 *         return res
 * 
 *     def __rpow__(self, other):             # <<<<<<<<<<<<<<
 *         """
 *         Implements base**x as scip.exp(x * scip.log(base)).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__rpow__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":350
 *             raise TypeError(f"Unsupported base type {type(other)} for exponentiation.")
 * 
 *     def __neg__(self):             # <<<<<<<<<<<<<<
 *         return Expr({v:-c for v,c in self.terms.items()})
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_23__neg__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_23__neg__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__neg__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_22__neg__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_22__neg__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self) {
  PyObject *__pyx_8genexpr4__pyx_v_v = NULL;
  PyObject *__pyx_8genexpr4__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  Py_ssize_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__neg__", 0);

  /* "src/pyscipopt/expr.pxi":351
 * 
 *     def __neg__(self):
 *         return Expr({v:-c for v,c in self.terms.items()})             # <<<<<<<<<<<<<<
 * 
 *     def __sub__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  { /* enter inner scope */
    __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 351, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = 0;
    if (unlikely(__pyx_v_self->terms == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
      __PYX_ERR(3, 351, __pyx_L5_error)
    }
    __pyx_t_8 = __Pyx_dict_iterator(__pyx_v_self->terms, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_6), (&__pyx_t_7)); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 351, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_XDECREF(__pyx_t_4);
    __pyx_t_4 = __pyx_t_8;
    __pyx_t_8 = 0;
    while (1) {
      __pyx_t_10 = __Pyx_dict_iter_next(__pyx_t_4, __pyx_t_6, &__pyx_t_5, &__pyx_t_8, &__pyx_t_9, NULL, __pyx_t_7);
      if (unlikely(__pyx_t_10 == 0)) break;
      if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(3, 351, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_XDECREF_SET(__pyx_8genexpr4__pyx_v_v, __pyx_t_8);
      __pyx_t_8 = 0;
      __Pyx_XDECREF_SET(__pyx_8genexpr4__pyx_v_c, __pyx_t_9);
      __pyx_t_9 = 0;
      __pyx_t_9 = PyNumber_Negative(__pyx_8genexpr4__pyx_v_c); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 351, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_9);
      if (unlikely(PyDict_SetItem(__pyx_t_3, (PyObject*)__pyx_8genexpr4__pyx_v_v, (PyObject*)__pyx_t_9))) __PYX_ERR(3, 351, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_8genexpr4__pyx_v_c); __pyx_8genexpr4__pyx_v_c = 0;
    __Pyx_XDECREF(__pyx_8genexpr4__pyx_v_v); __pyx_8genexpr4__pyx_v_v = 0;
    goto __pyx_L8_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_8genexpr4__pyx_v_c); __pyx_8genexpr4__pyx_v_c = 0;
    __Pyx_XDECREF(__pyx_8genexpr4__pyx_v_v); __pyx_8genexpr4__pyx_v_v = 0;
    goto __pyx_L1_error;
    __pyx_L8_exit_scope:;
  } /* exit inner scope */
  __pyx_t_11 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 351, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_r = ((PyObject *)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":350
 *             raise TypeError(f"Unsupported base type {type(other)} for exponentiation.")
 * 
 *     def __neg__(self):             # <<<<<<<<<<<<<<
 *         return Expr({v:-c for v,c in self.terms.items()})
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__neg__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_8genexpr4__pyx_v_v);
  __Pyx_XDECREF(__pyx_8genexpr4__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":353
 *         return Expr({v:-c for v,c in self.terms.items()})
 * 
 *     def __sub__(self, other):             # <<<<<<<<<<<<<<
 *         return self + (-other)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_25__sub__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_25__sub__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__sub__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_24__sub__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_24__sub__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__sub__", 0);

  /* "src/pyscipopt/expr.pxi":354
 * 
 *     def __sub__(self, other):
 *         return self + (-other)             # <<<<<<<<<<<<<<
 * 
 *     def __radd__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyNumber_Negative(__pyx_v_other); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyNumber_Add(((PyObject *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":353
 *         return Expr({v:-c for v,c in self.terms.items()})
 * 
 *     def __sub__(self, other):             # <<<<<<<<<<<<<<
 *         return self + (-other)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__sub__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":356
 *         return self + (-other)
 * 
 *     def __radd__(self, other):             # <<<<<<<<<<<<<<
 *         return self.__add__(other)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_27__radd__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_27__radd__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__radd__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_26__radd__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_26__radd__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__radd__", 0);

  /* "src/pyscipopt/expr.pxi":357
 * 
 *     def __radd__(self, other):
 *         return self.__add__(other)             # <<<<<<<<<<<<<<
 * 
 *     def __rmul__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_other};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_add, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":356
 *         return self + (-other)
 * 
 *     def __radd__(self, other):             # <<<<<<<<<<<<<<
 *         return self.__add__(other)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__radd__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":359
 *         return self.__add__(other)
 * 
 *     def __rmul__(self, other):             # <<<<<<<<<<<<<<
 *         return self.__mul__(other)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_29__rmul__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_29__rmul__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__rmul__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_28__rmul__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_28__rmul__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__rmul__", 0);

  /* "src/pyscipopt/expr.pxi":360
 * 
 *     def __rmul__(self, other):
 *         return self.__mul__(other)             # <<<<<<<<<<<<<<
 * 
 *     def __rsub__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_other};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_mul, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 360, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":359
 *         return self.__add__(other)
 * 
 *     def __rmul__(self, other):             # <<<<<<<<<<<<<<
 *         return self.__mul__(other)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__rmul__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":362
 *         return self.__mul__(other)
 * 
 *     def __rsub__(self, other):             # <<<<<<<<<<<<<<
 *         return -1.0 * self + other
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_31__rsub__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_31__rsub__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__rsub__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_30__rsub__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_30__rsub__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__rsub__", 0);

  /* "src/pyscipopt/expr.pxi":363
 * 
 *     def __rsub__(self, other):
 *         return -1.0 * self + other             # <<<<<<<<<<<<<<
 * 
 *     def __richcmp__(self, other, op):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyNumber_Multiply(__pyx_mstate_global->__pyx_float_neg_1_0, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_other); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":362
 *         return self.__mul__(other)
 * 
 *     def __rsub__(self, other):             # <<<<<<<<<<<<<<
 *         return -1.0 * self + other
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__rsub__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":365
 *         return -1.0 * self + other
 * 
 *     def __richcmp__(self, other, op):             # <<<<<<<<<<<<<<
 *         '''turn it into a constraint'''
 *         return _expr_richcmp(self, other, op)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_33__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_arg_op); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_33__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_arg_op) {
  PyObject *__pyx_v_op = 0;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_v_op = __Pyx_PyLong_From_int(__pyx_arg_op); if (unlikely(!__pyx_v_op)) __PYX_ERR(3, 365, __pyx_L3_error)
  __Pyx_GOTREF(__pyx_v_op);
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_32__richcmp__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((PyObject *)__pyx_v_op));

  /* function exit code */
  __Pyx_DECREF(__pyx_v_op);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_32__richcmp__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_op) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__richcmp__", 0);

  /* "src/pyscipopt/expr.pxi":367
 *     def __richcmp__(self, other, op):
 *         '''turn it into a constraint'''
 *         return _expr_richcmp(self, other, op)             # <<<<<<<<<<<<<<
 * 
 *     def normalize(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_expr_richcmp); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_other, __pyx_v_op};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (4-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 367, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":365
 *         return -1.0 * self + other
 * 
 *     def __richcmp__(self, other, op):             # <<<<<<<<<<<<<<
 *         '''turn it into a constraint'''
 *         return _expr_richcmp(self, other, op)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":369
 *         return _expr_richcmp(self, other, op)
 * 
 *     def normalize(self):             # <<<<<<<<<<<<<<
 *         '''remove terms with coefficient of 0'''
 *         self.terms =  {t:c for (t,c) in self.terms.items() if c != 0.0}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_35normalize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Expr_34normalize, "remove terms with coefficient of 0");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Expr_35normalize = {"normalize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Expr_35normalize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Expr_34normalize};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_35normalize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("normalize (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("normalize", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("normalize", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_34normalize(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_34normalize(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self) {
  PyObject *__pyx_8genexpr5__pyx_v_t = NULL;
  PyObject *__pyx_8genexpr5__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("normalize", 0);

  /* "src/pyscipopt/expr.pxi":371
 *     def normalize(self):
 *         '''remove terms with coefficient of 0'''
 *         self.terms =  {t:c for (t,c) in self.terms.items() if c != 0.0}             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  { /* enter inner scope */
    __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 371, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = 0;
    if (unlikely(__pyx_v_self->terms == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
      __PYX_ERR(3, 371, __pyx_L5_error)
    }
    __pyx_t_6 = __Pyx_dict_iterator(__pyx_v_self->terms, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_4), (&__pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 371, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2);
    __pyx_t_2 = __pyx_t_6;
    __pyx_t_6 = 0;
    while (1) {
      __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_4, &__pyx_t_3, &__pyx_t_6, &__pyx_t_7, NULL, __pyx_t_5);
      if (unlikely(__pyx_t_8 == 0)) break;
      if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(3, 371, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_8genexpr5__pyx_v_t, __pyx_t_6);
      __pyx_t_6 = 0;
      __Pyx_XDECREF_SET(__pyx_8genexpr5__pyx_v_c, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_t_9 = (__Pyx_PyFloat_BoolNeObjC(__pyx_8genexpr5__pyx_v_c, __pyx_mstate_global->__pyx_float_0_0, 0.0, 0, 0)); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(3, 371, __pyx_L5_error)
      if (__pyx_t_9) {
        if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_8genexpr5__pyx_v_t, (PyObject*)__pyx_8genexpr5__pyx_v_c))) __PYX_ERR(3, 371, __pyx_L5_error)
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_c); __pyx_8genexpr5__pyx_v_c = 0;
    __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_t); __pyx_8genexpr5__pyx_v_t = 0;
    goto __pyx_L9_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_c); __pyx_8genexpr5__pyx_v_c = 0;
    __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_t); __pyx_8genexpr5__pyx_v_t = 0;
    goto __pyx_L1_error;
    __pyx_L9_exit_scope:;
  } /* exit inner scope */
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->terms);
  __Pyx_DECREF(__pyx_v_self->terms);
  __pyx_v_self->terms = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":369
 *         return _expr_richcmp(self, other, op)
 * 
 *     def normalize(self):             # <<<<<<<<<<<<<<
 *         '''remove terms with coefficient of 0'''
 *         self.terms =  {t:c for (t,c) in self.terms.items() if c != 0.0}
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.normalize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_t);
  __Pyx_XDECREF(__pyx_8genexpr5__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":373
 *         self.terms =  {t:c for (t,c) in self.terms.items() if c != 0.0}
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return 'Expr(%s)' % repr(self.terms)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_37__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_37__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_36__repr__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_36__repr__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/expr.pxi":374
 * 
 *     def __repr__(self):
 *         return 'Expr(%s)' % repr(self.terms)             # <<<<<<<<<<<<<<
 * 
 *     def degree(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_v_self->terms;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Repr(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_Expr_s, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":373
 *         self.terms =  {t:c for (t,c) in self.terms.items() if c != 0.0}
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return 'Expr(%s)' % repr(self.terms)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":376
 *         return 'Expr(%s)' % repr(self.terms)
 * 
 *     def degree(self):             # <<<<<<<<<<<<<<
 *         '''computes highest degree of terms'''
 *         if len(self.terms) == 0:
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_39degree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Expr_38degree, "computes highest degree of terms");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Expr_39degree = {"degree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Expr_39degree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Expr_38degree};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_39degree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("degree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("degree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("degree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_38degree(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9pyscipopt_4scip_4Expr_6degree_2generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "src/pyscipopt/expr.pxi":381
 *             return 0
 *         else:
 *             return max(len(v) for v in self.terms)             # <<<<<<<<<<<<<<
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_6degree_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_2_genexpr(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(3, 381, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9pyscipopt_4scip_4Expr_6degree_2generator2, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[3]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_degree_locals_genexpr, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip); if (unlikely(!gen)) __PYX_ERR(3, 381, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Expr.degree.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_9pyscipopt_4scip_4Expr_6degree_2generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L6_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(3, 381, __pyx_L1_error)
  }
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(3, 381, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 381, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 381, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 381, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 381, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(3, 381, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = PyObject_Length(__pyx_cur_scope->__pyx_v_v); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(3, 381, __pyx_L1_error)
    __pyx_t_4 = PyLong_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    __Pyx_XGIVEREF(__pyx_t_1);
    __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
    __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
    __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L6_resume_from_yield:;
    __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
    __pyx_cur_scope->__pyx_t_0 = 0;
    __Pyx_XGOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
    __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(3, 381, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":376
 *         return 'Expr(%s)' % repr(self.terms)
 * 
 *     def degree(self):             # <<<<<<<<<<<<<<
 *         '''computes highest degree of terms'''
 *         if len(self.terms) == 0:
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_38degree(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self) {
  PyObject *__pyx_gb_9pyscipopt_4scip_4Expr_6degree_2generator2 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("degree", 0);

  /* "src/pyscipopt/expr.pxi":378
 *     def degree(self):
 *         '''computes highest degree of terms'''
 *         if len(self.terms) == 0:             # <<<<<<<<<<<<<<
 *             return 0
 *         else:
*/
  __pyx_t_1 = __pyx_v_self->terms;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(3, 378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (__pyx_t_2 == 0);
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":379
 *         '''computes highest degree of terms'''
 *         if len(self.terms) == 0:
 *             return 0             # <<<<<<<<<<<<<<
 *         else:
 *             return max(len(v) for v in self.terms)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_r = __pyx_mstate_global->__pyx_int_0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":378
 *     def degree(self):
 *         '''computes highest degree of terms'''
 *         if len(self.terms) == 0:             # <<<<<<<<<<<<<<
 *             return 0
 *         else:
*/
  }

  /* "src/pyscipopt/expr.pxi":381
 *             return 0
 *         else:
 *             return max(len(v) for v in self.terms)             # <<<<<<<<<<<<<<
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = NULL;
    __pyx_t_5 = __pyx_pf_9pyscipopt_4scip_4Expr_6degree_genexpr(NULL, __pyx_v_self->terms); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_max, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 381, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/expr.pxi":376
 *         return 'Expr(%s)' % repr(self.terms)
 * 
 *     def degree(self):             # <<<<<<<<<<<<<<
 *         '''computes highest degree of terms'''
 *         if len(self.terms) == 0:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.degree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_gb_9pyscipopt_4scip_4Expr_6degree_2generator2);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":383
 *             return max(len(v) for v in self.terms)
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = 0
 *         cdef Py_ssize_t pos = <Py_ssize_t>0
*/

static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_41_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_9pyscipopt_4scip_4Expr__evaluate(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch) {
  double __pyx_v_res;
  Py_ssize_t __pyx_v_pos;
  PyObject *__pyx_v_key_ptr;
  PyObject *__pyx_v_val_ptr;
  struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v_term = 0;
  double __pyx_v_coef;
  double __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  double __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (
  #if !CYTHON_USE_TYPE_SLOTS
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr &&
  __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
  #else
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
  #endif
  ) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_9pyscipopt_4scip_4Expr_41_evaluate)) {
        __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_4 = __pyx_t_1; 
        __pyx_t_5 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
          assert(__pyx_t_3);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
          __pyx_t_5 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_sol)};
          __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 383, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 383, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_r = __pyx_t_6;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "src/pyscipopt/expr.pxi":384
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
 *         cdef double res = 0             # <<<<<<<<<<<<<<
 *         cdef Py_ssize_t pos = <Py_ssize_t>0
 *         cdef PyObject* key_ptr
*/
  __pyx_v_res = 0.0;

  /* "src/pyscipopt/expr.pxi":385
 *     cpdef double _evaluate(self, Solution sol) except *:
 *         cdef double res = 0
 *         cdef Py_ssize_t pos = <Py_ssize_t>0             # <<<<<<<<<<<<<<
 *         cdef PyObject* key_ptr
 *         cdef PyObject* val_ptr
*/
  __pyx_v_pos = ((Py_ssize_t)0);

  /* "src/pyscipopt/expr.pxi":391
 *         cdef double coef
 * 
 *         while PyDict_Next(self.terms, &pos, &key_ptr, &val_ptr):             # <<<<<<<<<<<<<<
 *             term = <Term>key_ptr
 *             coef = <double>(<object>val_ptr)
*/
  while (1) {
    __pyx_t_1 = __pyx_v_self->terms;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_7 = (PyDict_Next(__pyx_t_1, (&__pyx_v_pos), (&__pyx_v_key_ptr), (&__pyx_v_val_ptr)) != 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (!__pyx_t_7) break;

    /* "src/pyscipopt/expr.pxi":392
 * 
 *         while PyDict_Next(self.terms, &pos, &key_ptr, &val_ptr):
 *             term = <Term>key_ptr             # <<<<<<<<<<<<<<
 *             coef = <double>(<object>val_ptr)
 *             res += coef * term._evaluate(sol)
*/
    __pyx_t_1 = ((PyObject *)__pyx_v_key_ptr);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_term, ((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_t_1));
    __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":393
 *         while PyDict_Next(self.terms, &pos, &key_ptr, &val_ptr):
 *             term = <Term>key_ptr
 *             coef = <double>(<object>val_ptr)             # <<<<<<<<<<<<<<
 *             res += coef * term._evaluate(sol)
 *         return res
*/
    __pyx_t_6 = __Pyx_PyFloat_AsDouble(((PyObject *)__pyx_v_val_ptr)); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 393, __pyx_L1_error)
    __pyx_v_coef = ((double)__pyx_t_6);

    /* "src/pyscipopt/expr.pxi":394
 *             term = <Term>key_ptr
 *             coef = <double>(<object>val_ptr)
 *             res += coef * term._evaluate(sol)             # <<<<<<<<<<<<<<
 *         return res
 * 
*/
    __pyx_t_6 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Term *)__pyx_v_term->__pyx_vtab)->_evaluate(__pyx_v_term, __pyx_v_sol, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 394, __pyx_L1_error)
    __pyx_v_res = (__pyx_v_res + (__pyx_v_coef * __pyx_t_6));
  }

  /* "src/pyscipopt/expr.pxi":395
 *             coef = <double>(<object>val_ptr)
 *             res += coef * term._evaluate(sol)
 *         return res             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_res;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":383
 *             return max(len(v) for v in self.terms)
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = 0
 *         cdef Py_ssize_t pos = <Py_ssize_t>0
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Expr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_term);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_41_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Expr_41_evaluate = {"_evaluate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Expr_41_evaluate, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_41_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_evaluate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 383, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_evaluate", 0) < (0)) __PYX_ERR(3, 383, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, i); __PYX_ERR(3, 383, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 383, __pyx_L3_error)
    }
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 383, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Expr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(3, 383, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_40_evaluate(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_40_evaluate(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Expr__evaluate(__pyx_v_self, __pyx_v_sol, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 383, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Expr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pyscipopt/scip.pxd":2125
 * 
 * cdef class Expr:
 *     cdef public terms             # <<<<<<<<<<<<<<
 * 
 *     cpdef double _evaluate(self, Solution sol)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_5terms_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_5terms_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_5terms___get__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_5terms___get__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->terms);
  __pyx_r = __pyx_v_self->terms;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Expr_5terms_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Expr_5terms_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_5terms_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Expr_5terms_2__set__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->terms);
  __Pyx_DECREF(__pyx_v_self->terms);
  __pyx_v_self->terms = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Expr_5terms_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Expr_5terms_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_5terms_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Expr_5terms_4__del__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->terms);
  __Pyx_DECREF(__pyx_v_self->terms);
  __pyx_v_self->terms = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_43__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Expr_43__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Expr_43__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_43__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_42__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_42__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.terms,)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->terms);
  __Pyx_GIVEREF(__pyx_v_self->terms);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->terms) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.terms,)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.terms,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.terms is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.terms,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.terms is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Expr, (type(self), 0x51d2361, None), state
*/
  /*else*/ {
    __pyx_t_2 = (__pyx_v_self->terms != Py_None);
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.terms is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Expr, (type(self), 0x51d2361, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.terms is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Expr, (type(self), 0x51d2361, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Expr, (type(self), 0x51d2361, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Expr); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_85795681);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_85795681);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_85795681) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.terms is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Expr, (type(self), 0x51d2361, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Expr, (type(self), 0x51d2361, None), state
 *     else:
 *         return __pyx_unpickle_Expr, (type(self), 0x51d2361, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Expr__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Expr); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_85795681);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_85795681);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_85795681) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Expr, (type(self), 0x51d2361, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Expr__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_45__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Expr_45__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Expr_45__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Expr_45__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Expr_44__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Expr_44__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Expr, (type(self), 0x51d2361, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Expr__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Expr__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Expr, (type(self), 0x51d2361, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Expr__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Expr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":404
 *     cdef public _rhs
 * 
 *     def __init__(self, expr, lhs=None, rhs=None):             # <<<<<<<<<<<<<<
 *         self.expr = expr
 *         self._lhs = lhs
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_expr = 0;
  PyObject *__pyx_v_lhs = 0;
  PyObject *__pyx_v_rhs = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_expr,&__pyx_mstate_global->__pyx_n_u_lhs,&__pyx_mstate_global->__pyx_n_u_rhs,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 404, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 404, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 404, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 404, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 404, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, i); __PYX_ERR(3, 404, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(3, 404, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 404, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 404, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_expr = values[0];
    __pyx_v_lhs = values[1];
    __pyx_v_rhs = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 3, __pyx_nargs); __PYX_ERR(3, 404, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.ExprCons.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons___init__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self), __pyx_v_expr, __pyx_v_lhs, __pyx_v_rhs);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8ExprCons___init__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self, PyObject *__pyx_v_expr, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "src/pyscipopt/expr.pxi":405
 * 
 *     def __init__(self, expr, lhs=None, rhs=None):
 *         self.expr = expr             # <<<<<<<<<<<<<<
 *         self._lhs = lhs
 *         self._rhs = rhs
*/
  __Pyx_INCREF(__pyx_v_expr);
  __Pyx_GIVEREF(__pyx_v_expr);
  __Pyx_GOTREF(__pyx_v_self->expr);
  __Pyx_DECREF(__pyx_v_self->expr);
  __pyx_v_self->expr = __pyx_v_expr;

  /* "src/pyscipopt/expr.pxi":406
 *     def __init__(self, expr, lhs=None, rhs=None):
 *         self.expr = expr
 *         self._lhs = lhs             # <<<<<<<<<<<<<<
 *         self._rhs = rhs
 *         assert not (lhs is None and rhs is None)
*/
  __Pyx_INCREF(__pyx_v_lhs);
  __Pyx_GIVEREF(__pyx_v_lhs);
  __Pyx_GOTREF(__pyx_v_self->_lhs);
  __Pyx_DECREF(__pyx_v_self->_lhs);
  __pyx_v_self->_lhs = __pyx_v_lhs;

  /* "src/pyscipopt/expr.pxi":407
 *         self.expr = expr
 *         self._lhs = lhs
 *         self._rhs = rhs             # <<<<<<<<<<<<<<
 *         assert not (lhs is None and rhs is None)
 *         self.normalize()
*/
  __Pyx_INCREF(__pyx_v_rhs);
  __Pyx_GIVEREF(__pyx_v_rhs);
  __Pyx_GOTREF(__pyx_v_self->_rhs);
  __Pyx_DECREF(__pyx_v_self->_rhs);
  __pyx_v_self->_rhs = __pyx_v_rhs;

  /* "src/pyscipopt/expr.pxi":408
 *         self._lhs = lhs
 *         self._rhs = rhs
 *         assert not (lhs is None and rhs is None)             # <<<<<<<<<<<<<<
 *         self.normalize()
 * 
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_2 = (__pyx_v_lhs == Py_None);
    if (__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L3_bool_binop_done;
    }
    __pyx_t_2 = (__pyx_v_rhs == Py_None);
    __pyx_t_1 = __pyx_t_2;
    __pyx_L3_bool_binop_done:;
    __pyx_t_2 = (!__pyx_t_1);
    if (unlikely(!__pyx_t_2)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(3, 408, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(3, 408, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/expr.pxi":409
 *         self._rhs = rhs
 *         assert not (lhs is None and rhs is None)
 *         self.normalize()             # <<<<<<<<<<<<<<
 * 
 *     def normalize(self):
*/
  __pyx_t_4 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_normalize, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/expr.pxi":404
 *     cdef public _rhs
 * 
 *     def __init__(self, expr, lhs=None, rhs=None):             # <<<<<<<<<<<<<<
 *         self.expr = expr
 *         self._lhs = lhs
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.ExprCons.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":411
 *         self.normalize()
 * 
 *     def normalize(self):             # <<<<<<<<<<<<<<
 *         '''move constant terms in expression to bounds'''
 *         if isinstance(self.expr, Expr):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_3normalize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8ExprCons_2normalize, "move constant terms in expression to bounds");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8ExprCons_3normalize = {"normalize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8ExprCons_3normalize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8ExprCons_2normalize};
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_3normalize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("normalize (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("normalize", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("normalize", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_2normalize(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_2normalize(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self) {
  PyObject *__pyx_v_c = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("normalize", 0);

  /* "src/pyscipopt/expr.pxi":413
 *     def normalize(self):
 *         '''move constant terms in expression to bounds'''
 *         if isinstance(self.expr, Expr):             # <<<<<<<<<<<<<<
 *             c = self.expr[CONST]
 *             self.expr -= c
*/
  __pyx_t_1 = __pyx_v_self->expr;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_TypeCheck(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr); 
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "src/pyscipopt/expr.pxi":414
 *         '''move constant terms in expression to bounds'''
 *         if isinstance(self.expr, Expr):
 *             c = self.expr[CONST]             # <<<<<<<<<<<<<<
 *             self.expr -= c
 *             assert self.expr[CONST] == 0.0
*/
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_CONST); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_self->expr, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_c = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "src/pyscipopt/expr.pxi":415
 *         if isinstance(self.expr, Expr):
 *             c = self.expr[CONST]
 *             self.expr -= c             # <<<<<<<<<<<<<<
 *             assert self.expr[CONST] == 0.0
 *             self.expr.normalize()
*/
    __pyx_t_3 = PyNumber_InPlaceSubtract(__pyx_v_self->expr, __pyx_v_c); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __Pyx_GOTREF(__pyx_v_self->expr);
    __Pyx_DECREF(__pyx_v_self->expr);
    __pyx_v_self->expr = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "src/pyscipopt/expr.pxi":416
 *             c = self.expr[CONST]
 *             self.expr -= c
 *             assert self.expr[CONST] == 0.0             # <<<<<<<<<<<<<<
 *             self.expr.normalize()
 *         else:
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CONST); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 416, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_self->expr, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 416, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_2 = (__Pyx_PyFloat_BoolEqObjC(__pyx_t_1, __pyx_mstate_global->__pyx_float_0_0, 0.0, 0, 0)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(3, 416, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(3, 416, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(3, 416, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/expr.pxi":417
 *             self.expr -= c
 *             assert self.expr[CONST] == 0.0
 *             self.expr.normalize()             # <<<<<<<<<<<<<<
 *         else:
 *             assert isinstance(self.expr, GenExpr)
*/
    __pyx_t_3 = __pyx_v_self->expr;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_normalize, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 417, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":413
 *     def normalize(self):
 *         '''move constant terms in expression to bounds'''
 *         if isinstance(self.expr, Expr):             # <<<<<<<<<<<<<<
 *             c = self.expr[CONST]
 *             self.expr -= c
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/expr.pxi":419
 *             self.expr.normalize()
 *         else:
 *             assert isinstance(self.expr, GenExpr)             # <<<<<<<<<<<<<<
 *             return
 * 
*/
  /*else*/ {
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __pyx_v_self->expr;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_2 = __Pyx_TypeCheck(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); 
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(3, 419, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(3, 419, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/expr.pxi":420
 *         else:
 *             assert isinstance(self.expr, GenExpr)
 *             return             # <<<<<<<<<<<<<<
 * 
 *         if not self._lhs is None:
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/expr.pxi":422
 *             return
 * 
 *         if not self._lhs is None:             # <<<<<<<<<<<<<<
 *             self._lhs -= c
 *         if not self._rhs is None:
*/
  __pyx_t_2 = (__pyx_v_self->_lhs != Py_None);
  if (__pyx_t_2) {

    /* "src/pyscipopt/expr.pxi":423
 * 
 *         if not self._lhs is None:
 *             self._lhs -= c             # <<<<<<<<<<<<<<
 *         if not self._rhs is None:
 *             self._rhs -= c
*/
    __pyx_t_1 = PyNumber_InPlaceSubtract(__pyx_v_self->_lhs, __pyx_v_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 423, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_1);
    __Pyx_GOTREF(__pyx_v_self->_lhs);
    __Pyx_DECREF(__pyx_v_self->_lhs);
    __pyx_v_self->_lhs = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":422
 *             return
 * 
 *         if not self._lhs is None:             # <<<<<<<<<<<<<<
 *             self._lhs -= c
 *         if not self._rhs is None:
*/
  }

  /* "src/pyscipopt/expr.pxi":424
 *         if not self._lhs is None:
 *             self._lhs -= c
 *         if not self._rhs is None:             # <<<<<<<<<<<<<<
 *             self._rhs -= c
 * 
*/
  __pyx_t_2 = (__pyx_v_self->_rhs != Py_None);
  if (__pyx_t_2) {

    /* "src/pyscipopt/expr.pxi":425
 *             self._lhs -= c
 *         if not self._rhs is None:
 *             self._rhs -= c             # <<<<<<<<<<<<<<
 * 
 * 
*/
    __pyx_t_1 = PyNumber_InPlaceSubtract(__pyx_v_self->_rhs, __pyx_v_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GIVEREF(__pyx_t_1);
    __Pyx_GOTREF(__pyx_v_self->_rhs);
    __Pyx_DECREF(__pyx_v_self->_rhs);
    __pyx_v_self->_rhs = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":424
 *         if not self._lhs is None:
 *             self._lhs -= c
 *         if not self._rhs is None:             # <<<<<<<<<<<<<<
 *             self._rhs -= c
 * 
*/
  }

  /* "src/pyscipopt/expr.pxi":411
 *         self.normalize()
 * 
 *     def normalize(self):             # <<<<<<<<<<<<<<
 *         '''move constant terms in expression to bounds'''
 *         if isinstance(self.expr, Expr):
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.ExprCons.normalize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":428
 * 
 * 
 *     def __richcmp__(self, other, op):             # <<<<<<<<<<<<<<
 *         '''turn it into a constraint'''
 *         if op == 1: # <=
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_arg_op); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_5__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_arg_op) {
  PyObject *__pyx_v_op = 0;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_v_op = __Pyx_PyLong_From_int(__pyx_arg_op); if (unlikely(!__pyx_v_op)) __PYX_ERR(3, 428, __pyx_L3_error)
  __Pyx_GOTREF(__pyx_v_op);
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("pyscipopt.scip.ExprCons.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_4__richcmp__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((PyObject *)__pyx_v_op));

  /* function exit code */
  __Pyx_DECREF(__pyx_v_op);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_4__richcmp__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_op) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__richcmp__", 0);

  /* "src/pyscipopt/expr.pxi":430
 *     def __richcmp__(self, other, op):
 *         '''turn it into a constraint'''
 *         if op == 1: # <=             # <<<<<<<<<<<<<<
 *             if not self._rhs is None:
 *                 raise TypeError('ExprCons already has upper bound')
*/
  __pyx_t_1 = (__Pyx_PyLong_BoolEqObjC(__pyx_v_op, __pyx_mstate_global->__pyx_int_1, 1, 0)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(3, 430, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/expr.pxi":431
 *         '''turn it into a constraint'''
 *         if op == 1: # <=
 *             if not self._rhs is None:             # <<<<<<<<<<<<<<
 *                 raise TypeError('ExprCons already has upper bound')
 *             assert not self._lhs is None
*/
    __pyx_t_1 = (__pyx_v_self->_rhs != Py_None);
    if (unlikely(__pyx_t_1)) {

      /* "src/pyscipopt/expr.pxi":432
 *         if op == 1: # <=
 *             if not self._rhs is None:
 *                 raise TypeError('ExprCons already has upper bound')             # <<<<<<<<<<<<<<
 *             assert not self._lhs is None
 * 
*/
      __pyx_t_3 = NULL;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_ExprCons_already_has_upper_bound};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 432, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(3, 432, __pyx_L1_error)

      /* "src/pyscipopt/expr.pxi":431
 *         '''turn it into a constraint'''
 *         if op == 1: # <=
 *             if not self._rhs is None:             # <<<<<<<<<<<<<<
 *                 raise TypeError('ExprCons already has upper bound')
 *             assert not self._lhs is None
*/
    }

    /* "src/pyscipopt/expr.pxi":433
 *             if not self._rhs is None:
 *                 raise TypeError('ExprCons already has upper bound')
 *             assert not self._lhs is None             # <<<<<<<<<<<<<<
 * 
 *             if not _is_number(other):
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = (__pyx_v_self->_lhs != Py_None);
      if (unlikely(!__pyx_t_1)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(3, 433, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(3, 433, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/expr.pxi":435
 *             assert not self._lhs is None
 * 
 *             if not _is_number(other):             # <<<<<<<<<<<<<<
 *                 raise TypeError('Ranged ExprCons is not well defined!')
 * 
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_other};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 435, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(3, 435, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_6 = (!__pyx_t_1);
    if (unlikely(__pyx_t_6)) {

      /* "src/pyscipopt/expr.pxi":436
 * 
 *             if not _is_number(other):
 *                 raise TypeError('Ranged ExprCons is not well defined!')             # <<<<<<<<<<<<<<
 * 
 *             return ExprCons(self.expr, lhs=self._lhs, rhs=float(other))
*/
      __pyx_t_5 = NULL;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Ranged_ExprCons_is_not_well_defi};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 436, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(3, 436, __pyx_L1_error)

      /* "src/pyscipopt/expr.pxi":435
 *             assert not self._lhs is None
 * 
 *             if not _is_number(other):             # <<<<<<<<<<<<<<
 *                 raise TypeError('Ranged ExprCons is not well defined!')
 * 
*/
    }

    /* "src/pyscipopt/expr.pxi":438
 *                 raise TypeError('Ranged ExprCons is not well defined!')
 * 
 *             return ExprCons(self.expr, lhs=self._lhs, rhs=float(other))             # <<<<<<<<<<<<<<
 *         elif op == 5: # >=
 *             if not self._lhs is None:
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_5 = NULL;
    __pyx_t_3 = __Pyx_PyNumber_Float(__pyx_v_other); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_5, __pyx_v_self->expr};
      __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 438, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_lhs, __pyx_v_self->_lhs, __pyx_t_7, __pyx_callargs+2, 0) < (0)) __PYX_ERR(3, 438, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_rhs, __pyx_t_3, __pyx_t_7, __pyx_callargs+2, 1) < (0)) __PYX_ERR(3, 438, __pyx_L1_error)
      __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 438, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_r = ((PyObject *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":430
 *     def __richcmp__(self, other, op):
 *         '''turn it into a constraint'''
 *         if op == 1: # <=             # <<<<<<<<<<<<<<
 *             if not self._rhs is None:
 *                 raise TypeError('ExprCons already has upper bound')
*/
  }

  /* "src/pyscipopt/expr.pxi":439
 * 
 *             return ExprCons(self.expr, lhs=self._lhs, rhs=float(other))
 *         elif op == 5: # >=             # <<<<<<<<<<<<<<
 *             if not self._lhs is None:
 *                 raise TypeError('ExprCons already has lower bound')
*/
  __pyx_t_6 = (__Pyx_PyLong_BoolEqObjC(__pyx_v_op, __pyx_mstate_global->__pyx_int_5, 5, 0)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(3, 439, __pyx_L1_error)
  if (likely(__pyx_t_6)) {

    /* "src/pyscipopt/expr.pxi":440
 *             return ExprCons(self.expr, lhs=self._lhs, rhs=float(other))
 *         elif op == 5: # >=
 *             if not self._lhs is None:             # <<<<<<<<<<<<<<
 *                 raise TypeError('ExprCons already has lower bound')
 *             assert self._lhs is None
*/
    __pyx_t_6 = (__pyx_v_self->_lhs != Py_None);
    if (unlikely(__pyx_t_6)) {

      /* "src/pyscipopt/expr.pxi":441
 *         elif op == 5: # >=
 *             if not self._lhs is None:
 *                 raise TypeError('ExprCons already has lower bound')             # <<<<<<<<<<<<<<
 *             assert self._lhs is None
 *             assert not self._rhs is None
*/
      __pyx_t_7 = NULL;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u_ExprCons_already_has_lower_bound};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 441, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(3, 441, __pyx_L1_error)

      /* "src/pyscipopt/expr.pxi":440
 *             return ExprCons(self.expr, lhs=self._lhs, rhs=float(other))
 *         elif op == 5: # >=
 *             if not self._lhs is None:             # <<<<<<<<<<<<<<
 *                 raise TypeError('ExprCons already has lower bound')
 *             assert self._lhs is None
*/
    }

    /* "src/pyscipopt/expr.pxi":442
 *             if not self._lhs is None:
 *                 raise TypeError('ExprCons already has lower bound')
 *             assert self._lhs is None             # <<<<<<<<<<<<<<
 *             assert not self._rhs is None
 * 
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_6 = (__pyx_v_self->_lhs == Py_None);
      if (unlikely(!__pyx_t_6)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(3, 442, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(3, 442, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/expr.pxi":443
 *                 raise TypeError('ExprCons already has lower bound')
 *             assert self._lhs is None
 *             assert not self._rhs is None             # <<<<<<<<<<<<<<
 * 
 *             if not _is_number(other):
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_6 = (__pyx_v_self->_rhs != Py_None);
      if (unlikely(!__pyx_t_6)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(3, 443, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(3, 443, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/expr.pxi":445
 *             assert not self._rhs is None
 * 
 *             if not _is_number(other):             # <<<<<<<<<<<<<<
 *                 raise TypeError('Ranged ExprCons is not well defined!')
 * 
*/
    __pyx_t_7 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_7);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_other};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 445, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(3, 445, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_1 = (!__pyx_t_6);
    if (unlikely(__pyx_t_1)) {

      /* "src/pyscipopt/expr.pxi":446
 * 
 *             if not _is_number(other):
 *                 raise TypeError('Ranged ExprCons is not well defined!')             # <<<<<<<<<<<<<<
 * 
 *             return ExprCons(self.expr, lhs=float(other), rhs=self._rhs)
*/
      __pyx_t_3 = NULL;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Ranged_ExprCons_is_not_well_defi};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 446, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(3, 446, __pyx_L1_error)

      /* "src/pyscipopt/expr.pxi":445
 *             assert not self._rhs is None
 * 
 *             if not _is_number(other):             # <<<<<<<<<<<<<<
 *                 raise TypeError('Ranged ExprCons is not well defined!')
 * 
*/
    }

    /* "src/pyscipopt/expr.pxi":448
 *                 raise TypeError('Ranged ExprCons is not well defined!')
 * 
 *             return ExprCons(self.expr, lhs=float(other), rhs=self._rhs)             # <<<<<<<<<<<<<<
 *         else:
 *             raise NotImplementedError("Ranged ExprCons can only support with '<=' or '>='.")
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = NULL;
    __pyx_t_7 = __Pyx_PyNumber_Float(__pyx_v_other); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 448, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_3, __pyx_v_self->expr};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 448, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_lhs, __pyx_t_7, __pyx_t_5, __pyx_callargs+2, 0) < (0)) __PYX_ERR(3, 448, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_rhs, __pyx_v_self->_rhs, __pyx_t_5, __pyx_callargs+2, 1) < (0)) __PYX_ERR(3, 448, __pyx_L1_error)
      __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 448, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_r = ((PyObject *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":439
 * 
 *             return ExprCons(self.expr, lhs=self._lhs, rhs=float(other))
 *         elif op == 5: # >=             # <<<<<<<<<<<<<<
 *             if not self._lhs is None:
 *                 raise TypeError('ExprCons already has lower bound')
*/
  }

  /* "src/pyscipopt/expr.pxi":450
 *             return ExprCons(self.expr, lhs=float(other), rhs=self._rhs)
 *         else:
 *             raise NotImplementedError("Ranged ExprCons can only support with '<=' or '>='.")             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Ranged_ExprCons_can_only_support};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 450, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(3, 450, __pyx_L1_error)
  }

  /* "src/pyscipopt/expr.pxi":428
 * 
 * 
 *     def __richcmp__(self, other, op):             # <<<<<<<<<<<<<<
 *         '''turn it into a constraint'''
 *         if op == 1: # <=
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.ExprCons.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":452
 *             raise NotImplementedError("Ranged ExprCons can only support with '<=' or '>='.")
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return 'ExprCons(%s, %s, %s)' % (self.expr, self._lhs, self._rhs)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_7__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_6__repr__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_6__repr__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4[7];
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/expr.pxi":453
 * 
 *     def __repr__(self):
 *         return 'ExprCons(%s, %s, %s)' % (self.expr, self._lhs, self._rhs)             # <<<<<<<<<<<<<<
 * 
 *     def __bool__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_self->expr), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_self->_lhs), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_self->_rhs), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_ExprCons;
  __pyx_t_4[1] = __pyx_t_1;
  __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u__6;
  __pyx_t_4[3] = __pyx_t_2;
  __pyx_t_4[4] = __pyx_mstate_global->__pyx_kp_u__6;
  __pyx_t_4[5] = __pyx_t_3;
  __pyx_t_4[6] = __pyx_mstate_global->__pyx_kp_u__5;
  __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_4, 7, 9 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 2 * 2 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_2) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_2) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
  if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":452
 *             raise NotImplementedError("Ranged ExprCons can only support with '<=' or '>='.")
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return 'ExprCons(%s, %s, %s)' % (self.expr, self._lhs, self._rhs)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.ExprCons.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":455
 *         return 'ExprCons(%s, %s, %s)' % (self.expr, self._lhs, self._rhs)
 * 
 *     def __bool__(self):             # <<<<<<<<<<<<<<
 *         '''Make sure that equality of expressions is not asserted with =='''
 * 
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_9__bool__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_9__bool__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_8__bool__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8ExprCons_8__bool__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self) {
  PyObject *__pyx_v_msg = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__bool__", 0);

  /* "src/pyscipopt/expr.pxi":458
 *         '''Make sure that equality of expressions is not asserted with =='''
 * 
 *         msg = """Can't evaluate constraints as booleans.             # <<<<<<<<<<<<<<
 * 
 * If you want to add a ranged constraint of the form
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Can_t_evaluate_constraints_as_bo);
  __pyx_v_msg = __pyx_mstate_global->__pyx_kp_u_Can_t_evaluate_constraints_as_bo;

  /* "src/pyscipopt/expr.pxi":465
 *    lhs <= (expression <= rhs)
 * """
 *         raise TypeError(msg)             # <<<<<<<<<<<<<<
 * 
 * def quicksum(termlist):
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_msg};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(3, 465, __pyx_L1_error)

  /* "src/pyscipopt/expr.pxi":455
 *         return 'ExprCons(%s, %s, %s)' % (self.expr, self._lhs, self._rhs)
 * 
 *     def __bool__(self):             # <<<<<<<<<<<<<<
 *         '''Make sure that equality of expressions is not asserted with =='''
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.ExprCons.__bool__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __Pyx_XDECREF(__pyx_v_msg);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":400
 * cdef class ExprCons:
 *     '''Constraints with a polynomial expressions and lower/upper bounds.'''
 *     cdef public expr             # <<<<<<<<<<<<<<
 *     cdef public _lhs
 *     cdef public _rhs
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_4expr_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_4expr_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_4expr___get__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_4expr___get__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->expr);
  __pyx_r = __pyx_v_self->expr;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_4expr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_4expr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_4expr_2__set__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8ExprCons_4expr_2__set__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->expr);
  __Pyx_DECREF(__pyx_v_self->expr);
  __pyx_v_self->expr = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_4expr_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_4expr_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_4expr_4__del__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8ExprCons_4expr_4__del__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->expr);
  __Pyx_DECREF(__pyx_v_self->expr);
  __pyx_v_self->expr = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":401
 *     '''Constraints with a polynomial expressions and lower/upper bounds.'''
 *     cdef public expr
 *     cdef public _lhs             # <<<<<<<<<<<<<<
 *     cdef public _rhs
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_4_lhs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_4_lhs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_4_lhs___get__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_4_lhs___get__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->_lhs);
  __pyx_r = __pyx_v_self->_lhs;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_4_lhs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_4_lhs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_4_lhs_2__set__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8ExprCons_4_lhs_2__set__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->_lhs);
  __Pyx_DECREF(__pyx_v_self->_lhs);
  __pyx_v_self->_lhs = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_4_lhs_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_4_lhs_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_4_lhs_4__del__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8ExprCons_4_lhs_4__del__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->_lhs);
  __Pyx_DECREF(__pyx_v_self->_lhs);
  __pyx_v_self->_lhs = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":402
 *     cdef public expr
 *     cdef public _lhs
 *     cdef public _rhs             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, expr, lhs=None, rhs=None):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_4_rhs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_4_rhs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_4_rhs___get__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_4_rhs___get__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->_rhs);
  __pyx_r = __pyx_v_self->_rhs;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_4_rhs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_4_rhs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_4_rhs_2__set__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8ExprCons_4_rhs_2__set__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->_rhs);
  __Pyx_DECREF(__pyx_v_self->_rhs);
  __pyx_v_self->_rhs = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_4_rhs_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8ExprCons_4_rhs_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_4_rhs_4__del__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8ExprCons_4_rhs_4__del__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->_rhs);
  __Pyx_DECREF(__pyx_v_self->_rhs);
  __pyx_v_self->_rhs = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8ExprCons_11__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8ExprCons_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_11__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_10__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_10__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._lhs, self._rhs, self.expr)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->_lhs);
  __Pyx_GIVEREF(__pyx_v_self->_lhs);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->_lhs) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->_rhs);
  __Pyx_GIVEREF(__pyx_v_self->_rhs);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->_rhs) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->expr);
  __Pyx_GIVEREF(__pyx_v_self->expr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->expr) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._lhs, self._rhs, self.expr)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self._lhs, self._rhs, self.expr)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._lhs is not None or self._rhs is not None or self.expr is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._lhs, self._rhs, self.expr)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._lhs is not None or self._rhs is not None or self.expr is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_ExprCons, (type(self), 0x8863d2c, None), state
*/
  /*else*/ {
    __pyx_t_3 = (__pyx_v_self->_lhs != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->_rhs != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->expr != Py_None);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._lhs is not None or self._rhs is not None or self.expr is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_ExprCons, (type(self), 0x8863d2c, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self._lhs is not None or self._rhs is not None or self.expr is not None
 *     if use_setstate:
 *         return __pyx_unpickle_ExprCons, (type(self), 0x8863d2c, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_ExprCons, (type(self), 0x8863d2c, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_ExprCons); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_143015212);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_143015212);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_143015212) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._lhs is not None or self._rhs is not None or self.expr is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_ExprCons, (type(self), 0x8863d2c, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_ExprCons, (type(self), 0x8863d2c, None), state
 *     else:
 *         return __pyx_unpickle_ExprCons, (type(self), 0x8863d2c, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_ExprCons__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_ExprCons); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_143015212);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_143015212);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_143015212) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.ExprCons.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_ExprCons, (type(self), 0x8863d2c, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_ExprCons__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8ExprCons_13__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8ExprCons_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8ExprCons_13__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.ExprCons.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ExprCons_12__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8ExprCons_12__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_ExprCons, (type(self), 0x8863d2c, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_ExprCons__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_ExprCons__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_ExprCons, (type(self), 0x8863d2c, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_ExprCons__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.ExprCons.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":467
 *         raise TypeError(msg)
 * 
 * def quicksum(termlist):             # <<<<<<<<<<<<<<
 *     '''add linear expressions and constants much faster than Python's sum
 *     by avoiding intermediate data structures and adding terms inplace
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7quicksum(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6quicksum, "add linear expressions and constants much faster than Python's sum\n    by avoiding intermediate data structures and adding terms inplace\n    ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7quicksum = {"quicksum", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7quicksum, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6quicksum};
static PyObject *__pyx_pw_9pyscipopt_4scip_7quicksum(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_termlist = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("quicksum (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_termlist,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 467, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 467, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "quicksum", 0) < (0)) __PYX_ERR(3, 467, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("quicksum", 1, 1, 1, i); __PYX_ERR(3, 467, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 467, __pyx_L3_error)
    }
    __pyx_v_termlist = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("quicksum", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 467, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.quicksum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6quicksum(__pyx_self, __pyx_v_termlist);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6quicksum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_termlist) {
  PyObject *__pyx_v_result = NULL;
  PyObject *__pyx_v_term = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("quicksum", 0);

  /* "src/pyscipopt/expr.pxi":471
 *     by avoiding intermediate data structures and adding terms inplace
 *     '''
 *     result = Expr()             # <<<<<<<<<<<<<<
 *     for term in termlist:
 *         result += term
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 471, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_result = ((PyObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":472
 *     '''
 *     result = Expr()
 *     for term in termlist:             # <<<<<<<<<<<<<<
 *         result += term
 *     return result
*/
  if (likely(PyList_CheckExact(__pyx_v_termlist)) || PyTuple_CheckExact(__pyx_v_termlist)) {
    __pyx_t_1 = __pyx_v_termlist; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_termlist); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 472, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 472, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_4;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 472, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4));
        #else
        __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_4);
        #endif
        ++__pyx_t_4;
      }
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 472, __pyx_L1_error)
    } else {
      __pyx_t_2 = __pyx_t_5(__pyx_t_1);
      if (unlikely(!__pyx_t_2)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(3, 472, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_term, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":473
 *     result = Expr()
 *     for term in termlist:
 *         result += term             # <<<<<<<<<<<<<<
 *     return result
 * 
*/
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_result, __pyx_v_term); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 473, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":472
 *     '''
 *     result = Expr()
 *     for term in termlist:             # <<<<<<<<<<<<<<
 *         result += term
 *     return result
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":474
 *     for term in termlist:
 *         result += term
 *     return result             # <<<<<<<<<<<<<<
 * 
 * def quickprod(termlist):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":467
 *         raise TypeError(msg)
 * 
 * def quicksum(termlist):             # <<<<<<<<<<<<<<
 *     '''add linear expressions and constants much faster than Python's sum
 *     by avoiding intermediate data structures and adding terms inplace
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.quicksum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF(__pyx_v_term);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":476
 *     return result
 * 
 * def quickprod(termlist):             # <<<<<<<<<<<<<<
 *     '''multiply linear expressions and constants by avoiding intermediate
 *     data structures and multiplying terms inplace
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9quickprod(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8quickprod, "multiply linear expressions and constants by avoiding intermediate \n    data structures and multiplying terms inplace\n    ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9quickprod = {"quickprod", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9quickprod, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8quickprod};
static PyObject *__pyx_pw_9pyscipopt_4scip_9quickprod(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_termlist = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("quickprod (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_termlist,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 476, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 476, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "quickprod", 0) < (0)) __PYX_ERR(3, 476, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("quickprod", 1, 1, 1, i); __PYX_ERR(3, 476, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 476, __pyx_L3_error)
    }
    __pyx_v_termlist = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("quickprod", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 476, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.quickprod", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8quickprod(__pyx_self, __pyx_v_termlist);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8quickprod(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_termlist) {
  PyObject *__pyx_v_result = NULL;
  PyObject *__pyx_v_term = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("quickprod", 0);

  /* "src/pyscipopt/expr.pxi":480
 *     data structures and multiplying terms inplace
 *     '''
 *     result = Expr() + 1             # <<<<<<<<<<<<<<
 *     for term in termlist:
 *         result *= term
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 480, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_t_2 = PyNumber_Add(((PyObject *)__pyx_t_1), __pyx_mstate_global->__pyx_int_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":481
 *     '''
 *     result = Expr() + 1
 *     for term in termlist:             # <<<<<<<<<<<<<<
 *         result *= term
 *     return result
*/
  if (likely(PyList_CheckExact(__pyx_v_termlist)) || PyTuple_CheckExact(__pyx_v_termlist)) {
    __pyx_t_2 = __pyx_v_termlist; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_termlist); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 481, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 481, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_4;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 481, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_4);
        #endif
        ++__pyx_t_4;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 481, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_5(__pyx_t_2);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(3, 481, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_term, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":482
 *     result = Expr() + 1
 *     for term in termlist:
 *         result *= term             # <<<<<<<<<<<<<<
 *     return result
 * 
*/
    __pyx_t_1 = PyNumber_InPlaceMultiply(__pyx_v_result, __pyx_v_term); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_result, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":481
 *     '''
 *     result = Expr() + 1
 *     for term in termlist:             # <<<<<<<<<<<<<<
 *         result *= term
 *     return result
*/
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":483
 *     for term in termlist:
 *         result *= term
 *     return result             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":476
 *     return result
 * 
 * def quickprod(termlist):             # <<<<<<<<<<<<<<
 *     '''multiply linear expressions and constants by avoiding intermediate
 *     data structures and multiplying terms inplace
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.quickprod", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF(__pyx_v_term);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":510
 *     cdef public children
 * 
 *     def __init__(self): # do we need it             # <<<<<<<<<<<<<<
 *         ''' '''
 * 
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7GenExpr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7GenExpr___init__, " ");
#if CYTHON_UPDATE_DESCRIPTOR_DOC
struct wrapperbase __pyx_wrapperbase_9pyscipopt_4scip_7GenExpr___init__;
#endif
static int __pyx_pw_9pyscipopt_4scip_7GenExpr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, __pyx_nargs); return -1; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__init__", __pyx_kwds); return -1;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr___init__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7GenExpr___init__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self) {
  int __pyx_r;

  /* function exit code */
  __pyx_r = 0;
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":513
 *         ''' '''
 * 
 *     def __abs__(self):             # <<<<<<<<<<<<<<
 *         return UnaryExpr(Operator.fabs, self)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_3__abs__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_3__abs__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__abs__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_2__abs__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_2__abs__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__abs__", 0);

  /* "src/pyscipopt/expr.pxi":514
 * 
 *     def __abs__(self):
 *         return UnaryExpr(Operator.fabs, self)             # <<<<<<<<<<<<<<
 * 
 *     def __add__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_fabs); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 514, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_4, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 514, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_r = ((PyObject *)__pyx_t_1);
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":513
 *         ''' '''
 * 
 *     def __abs__(self):             # <<<<<<<<<<<<<<
 *         return UnaryExpr(Operator.fabs, self)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__abs__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":516
 *         return UnaryExpr(Operator.fabs, self)
 * 
 *     def __add__(self, other):             # <<<<<<<<<<<<<<
 *         if isinstance(other, np.ndarray):
 *             return other + self
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_5__add__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_5__add__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__add__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_4__add__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_4__add__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_v_left = NULL;
  PyObject *__pyx_v_right = NULL;
  struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_ans = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__add__", 0);

  /* "src/pyscipopt/expr.pxi":517
 * 
 *     def __add__(self, other):
 *         if isinstance(other, np.ndarray):             # <<<<<<<<<<<<<<
 *             return other + self
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_other, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 517, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":518
 *     def __add__(self, other):
 *         if isinstance(other, np.ndarray):
 *             return other + self             # <<<<<<<<<<<<<<
 * 
 *         left = buildGenExprObj(self)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyNumber_Add(__pyx_v_other, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":517
 * 
 *     def __add__(self, other):
 *         if isinstance(other, np.ndarray):             # <<<<<<<<<<<<<<
 *             return other + self
 * 
*/
  }

  /* "src/pyscipopt/expr.pxi":520
 *             return other + self
 * 
 *         left = buildGenExprObj(self)             # <<<<<<<<<<<<<<
 *         right = buildGenExprObj(other)
 *         ans = SumExpr()
*/
  __pyx_t_1 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_self)};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 520, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_left = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":521
 * 
 *         left = buildGenExprObj(self)
 *         right = buildGenExprObj(other)             # <<<<<<<<<<<<<<
 *         ans = SumExpr()
 * 
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_other};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_right = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":522
 *         left = buildGenExprObj(self)
 *         right = buildGenExprObj(other)
 *         ans = SumExpr()             # <<<<<<<<<<<<<<
 * 
 *         # add left term
*/
  __pyx_t_1 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_SumExpr, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 522, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_ans = ((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":525
 * 
 *         # add left term
 *         if left.getOp() == Operator.add:             # <<<<<<<<<<<<<<
 *             ans.coefs.extend(left.coefs)
 *             ans.children.extend(left.children)
*/
  __pyx_t_1 = __pyx_v_left;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getOp, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_add_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 525, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(3, 525, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":526
 *         # add left term
 *         if left.getOp() == Operator.add:
 *             ans.coefs.extend(left.coefs)             # <<<<<<<<<<<<<<
 *             ans.children.extend(left.children)
 *             ans.constant += left.constant
*/
    __pyx_t_4 = __pyx_v_ans->coefs;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_left, __pyx_mstate_global->__pyx_n_u_coefs); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 526, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_extend, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 526, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":527
 *         if left.getOp() == Operator.add:
 *             ans.coefs.extend(left.coefs)
 *             ans.children.extend(left.children)             # <<<<<<<<<<<<<<
 *             ans.constant += left.constant
 *         elif left.getOp() == Operator.const:
*/
    __pyx_t_2 = __pyx_v_ans->__pyx_base.children;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_left, __pyx_mstate_global->__pyx_n_u_children); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 527, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_extend, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 527, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":528
 *             ans.coefs.extend(left.coefs)
 *             ans.children.extend(left.children)
 *             ans.constant += left.constant             # <<<<<<<<<<<<<<
 *         elif left.getOp() == Operator.const:
 *             ans.constant += left.number
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_left, __pyx_mstate_global->__pyx_n_u_constant); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_ans->constant, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_GIVEREF(__pyx_t_4);
    __Pyx_GOTREF(__pyx_v_ans->constant);
    __Pyx_DECREF(__pyx_v_ans->constant);
    __pyx_v_ans->constant = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "src/pyscipopt/expr.pxi":525
 * 
 *         # add left term
 *         if left.getOp() == Operator.add:             # <<<<<<<<<<<<<<
 *             ans.coefs.extend(left.coefs)
 *             ans.children.extend(left.children)
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/expr.pxi":529
 *             ans.children.extend(left.children)
 *             ans.constant += left.constant
 *         elif left.getOp() == Operator.const:             # <<<<<<<<<<<<<<
 *             ans.constant += left.number
 *         else:
*/
  __pyx_t_1 = __pyx_v_left;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getOp, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_const); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 529, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(3, 529, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":530
 *             ans.constant += left.constant
 *         elif left.getOp() == Operator.const:
 *             ans.constant += left.number             # <<<<<<<<<<<<<<
 *         else:
 *             ans.coefs.append(1.0)
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_left, __pyx_mstate_global->__pyx_n_u_number); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_ans->constant, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 530, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_GIVEREF(__pyx_t_2);
    __Pyx_GOTREF(__pyx_v_ans->constant);
    __Pyx_DECREF(__pyx_v_ans->constant);
    __pyx_v_ans->constant = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":529
 *             ans.children.extend(left.children)
 *             ans.constant += left.constant
 *         elif left.getOp() == Operator.const:             # <<<<<<<<<<<<<<
 *             ans.constant += left.number
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/expr.pxi":532
 *             ans.constant += left.number
 *         else:
 *             ans.coefs.append(1.0)             # <<<<<<<<<<<<<<
 *             ans.children.append(left)
 * 
*/
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_Append(__pyx_v_ans->coefs, __pyx_mstate_global->__pyx_float_1_0); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(3, 532, __pyx_L1_error)

    /* "src/pyscipopt/expr.pxi":533
 *         else:
 *             ans.coefs.append(1.0)
 *             ans.children.append(left)             # <<<<<<<<<<<<<<
 * 
 *         # add right term
*/
    __pyx_t_6 = __Pyx_PyObject_Append(__pyx_v_ans->__pyx_base.children, __pyx_v_left); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(3, 533, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "src/pyscipopt/expr.pxi":536
 * 
 *         # add right term
 *         if right.getOp() == Operator.add:             # <<<<<<<<<<<<<<
 *             ans.coefs.extend(right.coefs)
 *             ans.children.extend(right.children)
*/
  __pyx_t_1 = __pyx_v_right;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getOp, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_add_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 536, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(3, 536, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":537
 *         # add right term
 *         if right.getOp() == Operator.add:
 *             ans.coefs.extend(right.coefs)             # <<<<<<<<<<<<<<
 *             ans.children.extend(right.children)
 *             ans.constant += right.constant
*/
    __pyx_t_4 = __pyx_v_ans->coefs;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_right, __pyx_mstate_global->__pyx_n_u_coefs); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_extend, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 537, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":538
 *         if right.getOp() == Operator.add:
 *             ans.coefs.extend(right.coefs)
 *             ans.children.extend(right.children)             # <<<<<<<<<<<<<<
 *             ans.constant += right.constant
 *         elif right.getOp() == Operator.const:
*/
    __pyx_t_2 = __pyx_v_ans->__pyx_base.children;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_right, __pyx_mstate_global->__pyx_n_u_children); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_extend, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 538, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":539
 *             ans.coefs.extend(right.coefs)
 *             ans.children.extend(right.children)
 *             ans.constant += right.constant             # <<<<<<<<<<<<<<
 *         elif right.getOp() == Operator.const:
 *             ans.constant += right.number
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_right, __pyx_mstate_global->__pyx_n_u_constant); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_ans->constant, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_GIVEREF(__pyx_t_4);
    __Pyx_GOTREF(__pyx_v_ans->constant);
    __Pyx_DECREF(__pyx_v_ans->constant);
    __pyx_v_ans->constant = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "src/pyscipopt/expr.pxi":536
 * 
 *         # add right term
 *         if right.getOp() == Operator.add:             # <<<<<<<<<<<<<<
 *             ans.coefs.extend(right.coefs)
 *             ans.children.extend(right.children)
*/
    goto __pyx_L5;
  }

  /* "src/pyscipopt/expr.pxi":540
 *             ans.children.extend(right.children)
 *             ans.constant += right.constant
 *         elif right.getOp() == Operator.const:             # <<<<<<<<<<<<<<
 *             ans.constant += right.number
 *         else:
*/
  __pyx_t_1 = __pyx_v_right;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getOp, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_const); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 540, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(3, 540, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":541
 *             ans.constant += right.constant
 *         elif right.getOp() == Operator.const:
 *             ans.constant += right.number             # <<<<<<<<<<<<<<
 *         else:
 *             ans.coefs.append(1.0)
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_right, __pyx_mstate_global->__pyx_n_u_number); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_ans->constant, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_GIVEREF(__pyx_t_2);
    __Pyx_GOTREF(__pyx_v_ans->constant);
    __Pyx_DECREF(__pyx_v_ans->constant);
    __pyx_v_ans->constant = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":540
 *             ans.children.extend(right.children)
 *             ans.constant += right.constant
 *         elif right.getOp() == Operator.const:             # <<<<<<<<<<<<<<
 *             ans.constant += right.number
 *         else:
*/
    goto __pyx_L5;
  }

  /* "src/pyscipopt/expr.pxi":543
 *             ans.constant += right.number
 *         else:
 *             ans.coefs.append(1.0)             # <<<<<<<<<<<<<<
 *             ans.children.append(right)
 * 
*/
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_Append(__pyx_v_ans->coefs, __pyx_mstate_global->__pyx_float_1_0); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(3, 543, __pyx_L1_error)

    /* "src/pyscipopt/expr.pxi":544
 *         else:
 *             ans.coefs.append(1.0)
 *             ans.children.append(right)             # <<<<<<<<<<<<<<
 * 
 *         return ans
*/
    __pyx_t_6 = __Pyx_PyObject_Append(__pyx_v_ans->__pyx_base.children, __pyx_v_right); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(3, 544, __pyx_L1_error)
  }
  __pyx_L5:;

  /* "src/pyscipopt/expr.pxi":546
 *             ans.children.append(right)
 * 
 *         return ans             # <<<<<<<<<<<<<<
 * 
 *     #def __iadd__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_ans);
  __pyx_r = ((PyObject *)__pyx_v_ans);
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":516
 *         return UnaryExpr(Operator.fabs, self)
 * 
 *     def __add__(self, other):             # <<<<<<<<<<<<<<
 *         if isinstance(other, np.ndarray):
 *             return other + self
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__add__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_left);
  __Pyx_XDECREF(__pyx_v_right);
  __Pyx_XDECREF((PyObject *)__pyx_v_ans);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":574
 *     #    return self
 * 
 *     def __mul__(self, other):             # <<<<<<<<<<<<<<
 *         if isinstance(other, np.ndarray):
 *             return other * self
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_7__mul__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_7__mul__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__mul__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_6__mul__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_6__mul__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_v_left = NULL;
  PyObject *__pyx_v_right = NULL;
  struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_ans = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__mul__", 0);

  /* "src/pyscipopt/expr.pxi":575
 * 
 *     def __mul__(self, other):
 *         if isinstance(other, np.ndarray):             # <<<<<<<<<<<<<<
 *             return other * self
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_other, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 575, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":576
 *     def __mul__(self, other):
 *         if isinstance(other, np.ndarray):
 *             return other * self             # <<<<<<<<<<<<<<
 * 
 *         left = buildGenExprObj(self)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyNumber_Multiply(__pyx_v_other, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":575
 * 
 *     def __mul__(self, other):
 *         if isinstance(other, np.ndarray):             # <<<<<<<<<<<<<<
 *             return other * self
 * 
*/
  }

  /* "src/pyscipopt/expr.pxi":578
 *             return other * self
 * 
 *         left = buildGenExprObj(self)             # <<<<<<<<<<<<<<
 *         right = buildGenExprObj(other)
 *         ans = ProdExpr()
*/
  __pyx_t_1 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_self)};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_left = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":579
 * 
 *         left = buildGenExprObj(self)
 *         right = buildGenExprObj(other)             # <<<<<<<<<<<<<<
 *         ans = ProdExpr()
 * 
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_other};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_right = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":580
 *         left = buildGenExprObj(self)
 *         right = buildGenExprObj(other)
 *         ans = ProdExpr()             # <<<<<<<<<<<<<<
 * 
 *         # multiply left factor
*/
  __pyx_t_1 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ProdExpr, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 580, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_ans = ((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":583
 * 
 *         # multiply left factor
 *         if left.getOp() == Operator.prod:             # <<<<<<<<<<<<<<
 *             ans.children.extend(left.children)
 *             ans.constant *= left.constant
*/
  __pyx_t_1 = __pyx_v_left;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getOp, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_prod); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(3, 583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":584
 *         # multiply left factor
 *         if left.getOp() == Operator.prod:
 *             ans.children.extend(left.children)             # <<<<<<<<<<<<<<
 *             ans.constant *= left.constant
 *         elif left.getOp() == Operator.const:
*/
    __pyx_t_4 = __pyx_v_ans->__pyx_base.children;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_left, __pyx_mstate_global->__pyx_n_u_children); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_extend, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 584, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":585
 *         if left.getOp() == Operator.prod:
 *             ans.children.extend(left.children)
 *             ans.constant *= left.constant             # <<<<<<<<<<<<<<
 *         elif left.getOp() == Operator.const:
 *             ans.constant *= left.number
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_left, __pyx_mstate_global->__pyx_n_u_constant); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyNumber_InPlaceMultiply(__pyx_v_ans->constant, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_GIVEREF(__pyx_t_2);
    __Pyx_GOTREF(__pyx_v_ans->constant);
    __Pyx_DECREF(__pyx_v_ans->constant);
    __pyx_v_ans->constant = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":583
 * 
 *         # multiply left factor
 *         if left.getOp() == Operator.prod:             # <<<<<<<<<<<<<<
 *             ans.children.extend(left.children)
 *             ans.constant *= left.constant
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/expr.pxi":586
 *             ans.children.extend(left.children)
 *             ans.constant *= left.constant
 *         elif left.getOp() == Operator.const:             # <<<<<<<<<<<<<<
 *             ans.constant *= left.number
 *         else:
*/
  __pyx_t_1 = __pyx_v_left;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getOp, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 586, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_const); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 586, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 586, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(3, 586, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":587
 *             ans.constant *= left.constant
 *         elif left.getOp() == Operator.const:
 *             ans.constant *= left.number             # <<<<<<<<<<<<<<
 *         else:
 *             ans.children.append(left)
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_left, __pyx_mstate_global->__pyx_n_u_number); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 587, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = PyNumber_InPlaceMultiply(__pyx_v_ans->constant, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 587, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_GIVEREF(__pyx_t_4);
    __Pyx_GOTREF(__pyx_v_ans->constant);
    __Pyx_DECREF(__pyx_v_ans->constant);
    __pyx_v_ans->constant = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "src/pyscipopt/expr.pxi":586
 *             ans.children.extend(left.children)
 *             ans.constant *= left.constant
 *         elif left.getOp() == Operator.const:             # <<<<<<<<<<<<<<
 *             ans.constant *= left.number
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/expr.pxi":589
 *             ans.constant *= left.number
 *         else:
 *             ans.children.append(left)             # <<<<<<<<<<<<<<
 * 
 *         # multiply right factor
*/
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_Append(__pyx_v_ans->__pyx_base.children, __pyx_v_left); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(3, 589, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "src/pyscipopt/expr.pxi":592
 * 
 *         # multiply right factor
 *         if right.getOp() == Operator.prod:             # <<<<<<<<<<<<<<
 *             ans.children.extend(right.children)
 *             ans.constant *= right.constant
*/
  __pyx_t_1 = __pyx_v_right;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getOp, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_prod); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 592, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(3, 592, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":593
 *         # multiply right factor
 *         if right.getOp() == Operator.prod:
 *             ans.children.extend(right.children)             # <<<<<<<<<<<<<<
 *             ans.constant *= right.constant
 *         elif right.getOp() == Operator.const:
*/
    __pyx_t_2 = __pyx_v_ans->__pyx_base.children;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_right, __pyx_mstate_global->__pyx_n_u_children); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_extend, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 593, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":594
 *         if right.getOp() == Operator.prod:
 *             ans.children.extend(right.children)
 *             ans.constant *= right.constant             # <<<<<<<<<<<<<<
 *         elif right.getOp() == Operator.const:
 *             ans.constant *= right.number
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_right, __pyx_mstate_global->__pyx_n_u_constant); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = PyNumber_InPlaceMultiply(__pyx_v_ans->constant, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_GIVEREF(__pyx_t_4);
    __Pyx_GOTREF(__pyx_v_ans->constant);
    __Pyx_DECREF(__pyx_v_ans->constant);
    __pyx_v_ans->constant = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "src/pyscipopt/expr.pxi":592
 * 
 *         # multiply right factor
 *         if right.getOp() == Operator.prod:             # <<<<<<<<<<<<<<
 *             ans.children.extend(right.children)
 *             ans.constant *= right.constant
*/
    goto __pyx_L5;
  }

  /* "src/pyscipopt/expr.pxi":595
 *             ans.children.extend(right.children)
 *             ans.constant *= right.constant
 *         elif right.getOp() == Operator.const:             # <<<<<<<<<<<<<<
 *             ans.constant *= right.number
 *         else:
*/
  __pyx_t_1 = __pyx_v_right;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getOp, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 595, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_const); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 595, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(3, 595, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":596
 *             ans.constant *= right.constant
 *         elif right.getOp() == Operator.const:
 *             ans.constant *= right.number             # <<<<<<<<<<<<<<
 *         else:
 *             ans.children.append(right)
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_right, __pyx_mstate_global->__pyx_n_u_number); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyNumber_InPlaceMultiply(__pyx_v_ans->constant, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_GIVEREF(__pyx_t_2);
    __Pyx_GOTREF(__pyx_v_ans->constant);
    __Pyx_DECREF(__pyx_v_ans->constant);
    __pyx_v_ans->constant = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":595
 *             ans.children.extend(right.children)
 *             ans.constant *= right.constant
 *         elif right.getOp() == Operator.const:             # <<<<<<<<<<<<<<
 *             ans.constant *= right.number
 *         else:
*/
    goto __pyx_L5;
  }

  /* "src/pyscipopt/expr.pxi":598
 *             ans.constant *= right.number
 *         else:
 *             ans.children.append(right)             # <<<<<<<<<<<<<<
 * 
 *         return ans
*/
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_Append(__pyx_v_ans->__pyx_base.children, __pyx_v_right); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(3, 598, __pyx_L1_error)
  }
  __pyx_L5:;

  /* "src/pyscipopt/expr.pxi":600
 *             ans.children.append(right)
 * 
 *         return ans             # <<<<<<<<<<<<<<
 * 
 *     #def __imul__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_ans);
  __pyx_r = ((PyObject *)__pyx_v_ans);
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":574
 *     #    return self
 * 
 *     def __mul__(self, other):             # <<<<<<<<<<<<<<
 *         if isinstance(other, np.ndarray):
 *             return other * self
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__mul__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_left);
  __Pyx_XDECREF(__pyx_v_right);
  __Pyx_XDECREF((PyObject *)__pyx_v_ans);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":624
 *     #    return self
 * 
 *     def __pow__(self, other, modulo):             # <<<<<<<<<<<<<<
 *         expo = buildGenExprObj(other)
 *         if expo.getOp() != Operator.const:
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_9__pow__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_modulo); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_9__pow__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_modulo) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pow__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_8__pow__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((PyObject *)__pyx_v_modulo));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_8__pow__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other, CYTHON_UNUSED PyObject *__pyx_v_modulo) {
  PyObject *__pyx_v_expo = NULL;
  struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_ans = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pow__", 0);

  /* "src/pyscipopt/expr.pxi":625
 * 
 *     def __pow__(self, other, modulo):
 *         expo = buildGenExprObj(other)             # <<<<<<<<<<<<<<
 *         if expo.getOp() != Operator.const:
 *             raise NotImplementedError("exponents must be numbers")
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_other};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 625, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_expo = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":626
 *     def __pow__(self, other, modulo):
 *         expo = buildGenExprObj(other)
 *         if expo.getOp() != Operator.const:             # <<<<<<<<<<<<<<
 *             raise NotImplementedError("exponents must be numbers")
 *         if self.getOp() == Operator.const:
*/
  __pyx_t_3 = __pyx_v_expo;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getOp, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_const); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(3, 626, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(__pyx_t_5)) {

    /* "src/pyscipopt/expr.pxi":627
 *         expo = buildGenExprObj(other)
 *         if expo.getOp() != Operator.const:
 *             raise NotImplementedError("exponents must be numbers")             # <<<<<<<<<<<<<<
 *         if self.getOp() == Operator.const:
 *             return Constant(self.number**expo.number)
*/
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_exponents_must_be_numbers};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 627, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(3, 627, __pyx_L1_error)

    /* "src/pyscipopt/expr.pxi":626
 *     def __pow__(self, other, modulo):
 *         expo = buildGenExprObj(other)
 *         if expo.getOp() != Operator.const:             # <<<<<<<<<<<<<<
 *             raise NotImplementedError("exponents must be numbers")
 *         if self.getOp() == Operator.const:
*/
  }

  /* "src/pyscipopt/expr.pxi":628
 *         if expo.getOp() != Operator.const:
 *             raise NotImplementedError("exponents must be numbers")
 *         if self.getOp() == Operator.const:             # <<<<<<<<<<<<<<
 *             return Constant(self.number**expo.number)
 *         ans = PowExpr()
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getOp, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_const); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(3, 628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_5) {

    /* "src/pyscipopt/expr.pxi":629
 *             raise NotImplementedError("exponents must be numbers")
 *         if self.getOp() == Operator.const:
 *             return Constant(self.number**expo.number)             # <<<<<<<<<<<<<<
 *         ans = PowExpr()
 *         ans.children.append(self)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = NULL;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_number); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_expo, __pyx_mstate_global->__pyx_n_u_number); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = PyNumber_Power(__pyx_t_3, __pyx_t_6, Py_None); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constant, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 629, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_2);
    }
    __pyx_r = ((PyObject *)__pyx_t_2);
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":628
 *         if expo.getOp() != Operator.const:
 *             raise NotImplementedError("exponents must be numbers")
 *         if self.getOp() == Operator.const:             # <<<<<<<<<<<<<<
 *             return Constant(self.number**expo.number)
 *         ans = PowExpr()
*/
  }

  /* "src/pyscipopt/expr.pxi":630
 *         if self.getOp() == Operator.const:
 *             return Constant(self.number**expo.number)
 *         ans = PowExpr()             # <<<<<<<<<<<<<<
 *         ans.children.append(self)
 *         ans.expo = expo.number
*/
  __pyx_t_7 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PowExpr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 630, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_ans = ((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":631
 *             return Constant(self.number**expo.number)
 *         ans = PowExpr()
 *         ans.children.append(self)             # <<<<<<<<<<<<<<
 *         ans.expo = expo.number
 * 
*/
  __pyx_t_8 = __Pyx_PyObject_Append(__pyx_v_ans->__pyx_base.children, ((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(3, 631, __pyx_L1_error)

  /* "src/pyscipopt/expr.pxi":632
 *         ans = PowExpr()
 *         ans.children.append(self)
 *         ans.expo = expo.number             # <<<<<<<<<<<<<<
 * 
 *         return ans
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_expo, __pyx_mstate_global->__pyx_n_u_number); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_ans->expo);
  __Pyx_DECREF(__pyx_v_ans->expo);
  __pyx_v_ans->expo = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":634
 *         ans.expo = expo.number
 * 
 *         return ans             # <<<<<<<<<<<<<<
 * 
 *     def __rpow__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_ans);
  __pyx_r = ((PyObject *)__pyx_v_ans);
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":624
 *     #    return self
 * 
 *     def __pow__(self, other, modulo):             # <<<<<<<<<<<<<<
 *         expo = buildGenExprObj(other)
 *         if expo.getOp() != Operator.const:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__pow__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_expo);
  __Pyx_XDECREF((PyObject *)__pyx_v_ans);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":636
 *         return ans
 * 
 *     def __rpow__(self, other):             # <<<<<<<<<<<<<<
 *         """
 *         Implements base**x as scip.exp(x * scip.log(base)).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_11__rpow__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, CYTHON_UNUSED PyObject *unused_arg_2); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7GenExpr_10__rpow__, "\n        Implements base**x as scip.exp(x * scip.log(base)). \n        Note: base must be positive.\n        ");
#if CYTHON_UPDATE_DESCRIPTOR_DOC
struct wrapperbase __pyx_wrapperbase_9pyscipopt_4scip_7GenExpr_10__rpow__;
#endif
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_11__rpow__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, CYTHON_UNUSED PyObject *unused_arg_2) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__rpow__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(unused_arg_2 != Py_None)) {
    PyErr_Format(PyExc_TypeError, "%.200s() takes %zd arguments but %zd were given", (const char*) "pyscipopt.scip.GenExpr.__rpow__", (Py_ssize_t) 3, (Py_ssize_t) 2); __PYX_ERR(3, 636, __pyx_L1_error)
  }
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_10__rpow__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_10__rpow__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other) {
  double __pyx_v_base;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  double __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__rpow__", 0);

  /* "src/pyscipopt/expr.pxi":641
 *         Note: base must be positive.
 *         """
 *         if _is_number(other):             # <<<<<<<<<<<<<<
 *             base = float(other)
 *             if base <= 0.0:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_other};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 641, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(3, 641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (likely(__pyx_t_5)) {

    /* "src/pyscipopt/expr.pxi":642
 *         """
 *         if _is_number(other):
 *             base = float(other)             # <<<<<<<<<<<<<<
 *             if base <= 0.0:
 *                 raise ValueError("Base of a**x must be positive, as expression is reformulated to scip.exp(x * scip.log(a)); got %g" % base)
*/
    __pyx_t_6 = __Pyx_PyObject_AsDouble(__pyx_v_other); if (unlikely(__PYX_CHECK_FLOAT_EXCEPTION(__pyx_t_6, ((double)((double)-1))) && PyErr_Occurred())) __PYX_ERR(3, 642, __pyx_L1_error)
    __pyx_v_base = __pyx_t_6;

    /* "src/pyscipopt/expr.pxi":643
 *         if _is_number(other):
 *             base = float(other)
 *             if base <= 0.0:             # <<<<<<<<<<<<<<
 *                 raise ValueError("Base of a**x must be positive, as expression is reformulated to scip.exp(x * scip.log(a)); got %g" % base)
 *             return exp(self * log(base))
*/
    __pyx_t_5 = (__pyx_v_base <= 0.0);
    if (unlikely(__pyx_t_5)) {

      /* "src/pyscipopt/expr.pxi":644
 *             base = float(other)
 *             if base <= 0.0:
 *                 raise ValueError("Base of a**x must be positive, as expression is reformulated to scip.exp(x * scip.log(a)); got %g" % base)             # <<<<<<<<<<<<<<
 *             return exp(self * log(base))
 *         else:
*/
      __pyx_t_3 = NULL;
      __pyx_t_2 = PyFloat_FromDouble(__pyx_v_base); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 644, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_Base_of_a_x_must_be_positive_as, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 644, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 644, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(3, 644, __pyx_L1_error)

      /* "src/pyscipopt/expr.pxi":643
 *         if _is_number(other):
 *             base = float(other)
 *             if base <= 0.0:             # <<<<<<<<<<<<<<
 *                 raise ValueError("Base of a**x must be positive, as expression is reformulated to scip.exp(x * scip.log(a)); got %g" % base)
 *             return exp(self * log(base))
*/
    }

    /* "src/pyscipopt/expr.pxi":645
 *             if base <= 0.0:
 *                 raise ValueError("Base of a**x must be positive, as expression is reformulated to scip.exp(x * scip.log(a)); got %g" % base)
 *             return exp(self * log(base))             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError(f"Unsupported base type {type(other)} for exponentiation.")
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_exp); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_log); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = PyFloat_FromDouble(__pyx_v_base); if (unlikely(!__pyx_t_10)) __PYX_ERR(3, 645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_9))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
      assert(__pyx_t_8);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_10};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 645, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_9 = PyNumber_Multiply(((PyObject *)__pyx_v_self), __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_7);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_9};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 645, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":641
 *         Note: base must be positive.
 *         """
 *         if _is_number(other):             # <<<<<<<<<<<<<<
 *             base = float(other)
 *             if base <= 0.0:
*/
  }

  /* "src/pyscipopt/expr.pxi":647
 *             return exp(self * log(base))
 *         else:
 *             raise TypeError(f"Unsupported base type {type(other)} for exponentiation.")             # <<<<<<<<<<<<<<
 * 
 *     #TODO: ipow, idiv, etc
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_9 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_other)), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 647, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11[0] = __pyx_mstate_global->__pyx_kp_u_Unsupported_base_type;
    __pyx_t_11[1] = __pyx_t_9;
    __pyx_t_11[2] = __pyx_mstate_global->__pyx_kp_u_for_exponentiation;
    __pyx_t_7 = __Pyx_PyUnicode_Join(__pyx_t_11, 3, 22 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9) + 20, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9));
    if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 647, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 647, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(3, 647, __pyx_L1_error)
  }

  /* "src/pyscipopt/expr.pxi":636
 *         return ans
 * 
 *     def __rpow__(self, other):             # <<<<<<<<<<<<<<
 *         """
 *         Implements base**x as scip.exp(x * scip.log(base)).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__rpow__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":650
 * 
 *     #TODO: ipow, idiv, etc
 *     def __truediv__(self,other):             # <<<<<<<<<<<<<<
 *         divisor = buildGenExprObj(other)
 *         # we can't divide by 0
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_13__truediv__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_13__truediv__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__truediv__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_12__truediv__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_12__truediv__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_v_divisor = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__truediv__", 0);

  /* "src/pyscipopt/expr.pxi":651
 *     #TODO: ipow, idiv, etc
 *     def __truediv__(self,other):
 *         divisor = buildGenExprObj(other)             # <<<<<<<<<<<<<<
 *         # we can't divide by 0
 *         if isinstance(divisor, GenExpr) and divisor.getOp() == Operator.const and divisor.number == 0.0:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_other};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 651, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_divisor = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":653
 *         divisor = buildGenExprObj(other)
 *         # we can't divide by 0
 *         if isinstance(divisor, GenExpr) and divisor.getOp() == Operator.const and divisor.number == 0.0:             # <<<<<<<<<<<<<<
 *             raise ZeroDivisionError("cannot divide by 0")
 *         return self * divisor**(-1)
*/
  __pyx_t_6 = __Pyx_TypeCheck(__pyx_v_divisor, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); 
  if (__pyx_t_6) {
  } else {
    __pyx_t_5 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __pyx_v_divisor;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getOp, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_const); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(3, 653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_5 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_divisor, __pyx_mstate_global->__pyx_n_u_number); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = (__Pyx_PyFloat_BoolEqObjC(__pyx_t_3, __pyx_mstate_global->__pyx_float_0_0, 0.0, 0, 0)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(3, 653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __pyx_t_6;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_5)) {

    /* "src/pyscipopt/expr.pxi":654
 *         # we can't divide by 0
 *         if isinstance(divisor, GenExpr) and divisor.getOp() == Operator.const and divisor.number == 0.0:
 *             raise ZeroDivisionError("cannot divide by 0")             # <<<<<<<<<<<<<<
 *         return self * divisor**(-1)
 * 
*/
    __pyx_t_2 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_cannot_divide_by_0};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ZeroDivisionError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 654, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(3, 654, __pyx_L1_error)

    /* "src/pyscipopt/expr.pxi":653
 *         divisor = buildGenExprObj(other)
 *         # we can't divide by 0
 *         if isinstance(divisor, GenExpr) and divisor.getOp() == Operator.const and divisor.number == 0.0:             # <<<<<<<<<<<<<<
 *             raise ZeroDivisionError("cannot divide by 0")
 *         return self * divisor**(-1)
*/
  }

  /* "src/pyscipopt/expr.pxi":655
 *         if isinstance(divisor, GenExpr) and divisor.getOp() == Operator.const and divisor.number == 0.0:
 *             raise ZeroDivisionError("cannot divide by 0")
 *         return self * divisor**(-1)             # <<<<<<<<<<<<<<
 * 
 *     def __rtruediv__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = PyNumber_Power(__pyx_v_divisor, __pyx_mstate_global->__pyx_int_neg_1, Py_None); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyNumber_Multiply(((PyObject *)__pyx_v_self), __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 655, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":650
 * 
 *     #TODO: ipow, idiv, etc
 *     def __truediv__(self,other):             # <<<<<<<<<<<<<<
 *         divisor = buildGenExprObj(other)
 *         # we can't divide by 0
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__truediv__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_divisor);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":657
 *         return self * divisor**(-1)
 * 
 *     def __rtruediv__(self, other):             # <<<<<<<<<<<<<<
 *         ''' other / self '''
 *         otherexpr = buildGenExprObj(other)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_15__rtruediv__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7GenExpr_14__rtruediv__, " other / self ");
#if CYTHON_UPDATE_DESCRIPTOR_DOC
struct wrapperbase __pyx_wrapperbase_9pyscipopt_4scip_7GenExpr_14__rtruediv__;
#endif
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_15__rtruediv__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__rtruediv__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_14__rtruediv__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_14__rtruediv__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_v_otherexpr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__rtruediv__", 0);

  /* "src/pyscipopt/expr.pxi":659
 *     def __rtruediv__(self, other):
 *         ''' other / self '''
 *         otherexpr = buildGenExprObj(other)             # <<<<<<<<<<<<<<
 *         return otherexpr.__truediv__(self)
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_other};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_otherexpr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":660
 *         ''' other / self '''
 *         otherexpr = buildGenExprObj(other)
 *         return otherexpr.__truediv__(self)             # <<<<<<<<<<<<<<
 * 
 *     def __neg__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_v_otherexpr;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_truediv, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 660, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":657
 *         return self * divisor**(-1)
 * 
 *     def __rtruediv__(self, other):             # <<<<<<<<<<<<<<
 *         ''' other / self '''
 *         otherexpr = buildGenExprObj(other)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__rtruediv__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_otherexpr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":662
 *         return otherexpr.__truediv__(self)
 * 
 *     def __neg__(self):             # <<<<<<<<<<<<<<
 *         return -1.0 * self
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_17__neg__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_17__neg__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__neg__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_16__neg__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_16__neg__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__neg__", 0);

  /* "src/pyscipopt/expr.pxi":663
 * 
 *     def __neg__(self):
 *         return -1.0 * self             # <<<<<<<<<<<<<<
 * 
 *     def __sub__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyNumber_Multiply(__pyx_mstate_global->__pyx_float_neg_1_0, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":662
 *         return otherexpr.__truediv__(self)
 * 
 *     def __neg__(self):             # <<<<<<<<<<<<<<
 *         return -1.0 * self
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__neg__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":665
 *         return -1.0 * self
 * 
 *     def __sub__(self, other):             # <<<<<<<<<<<<<<
 *         return self + (-other)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_19__sub__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_19__sub__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__sub__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_18__sub__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_18__sub__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__sub__", 0);

  /* "src/pyscipopt/expr.pxi":666
 * 
 *     def __sub__(self, other):
 *         return self + (-other)             # <<<<<<<<<<<<<<
 * 
 *     def __radd__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyNumber_Negative(__pyx_v_other); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyNumber_Add(((PyObject *)__pyx_v_self), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":665
 *         return -1.0 * self
 * 
 *     def __sub__(self, other):             # <<<<<<<<<<<<<<
 *         return self + (-other)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__sub__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":668
 *         return self + (-other)
 * 
 *     def __radd__(self, other):             # <<<<<<<<<<<<<<
 *         return self.__add__(other)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_21__radd__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_21__radd__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__radd__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_20__radd__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_20__radd__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__radd__", 0);

  /* "src/pyscipopt/expr.pxi":669
 * 
 *     def __radd__(self, other):
 *         return self.__add__(other)             # <<<<<<<<<<<<<<
 * 
 *     def __rmul__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_other};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_add, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":668
 *         return self + (-other)
 * 
 *     def __radd__(self, other):             # <<<<<<<<<<<<<<
 *         return self.__add__(other)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__radd__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":671
 *         return self.__add__(other)
 * 
 *     def __rmul__(self, other):             # <<<<<<<<<<<<<<
 *         return self.__mul__(other)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_23__rmul__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_23__rmul__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__rmul__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_22__rmul__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_22__rmul__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__rmul__", 0);

  /* "src/pyscipopt/expr.pxi":672
 * 
 *     def __rmul__(self, other):
 *         return self.__mul__(other)             # <<<<<<<<<<<<<<
 * 
 *     def __rsub__(self, other):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_other};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_mul, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":671
 *         return self.__add__(other)
 * 
 *     def __rmul__(self, other):             # <<<<<<<<<<<<<<
 *         return self.__mul__(other)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__rmul__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":674
 *         return self.__mul__(other)
 * 
 *     def __rsub__(self, other):             # <<<<<<<<<<<<<<
 *         return -1.0 * self + other
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_25__rsub__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_25__rsub__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__rsub__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_24__rsub__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_24__rsub__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__rsub__", 0);

  /* "src/pyscipopt/expr.pxi":675
 * 
 *     def __rsub__(self, other):
 *         return -1.0 * self + other             # <<<<<<<<<<<<<<
 * 
 *     def __richcmp__(self, other, op):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyNumber_Multiply(__pyx_mstate_global->__pyx_float_neg_1_0, ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_other); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":674
 *         return self.__mul__(other)
 * 
 *     def __rsub__(self, other):             # <<<<<<<<<<<<<<
 *         return -1.0 * self + other
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__rsub__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":677
 *         return -1.0 * self + other
 * 
 *     def __richcmp__(self, other, op):             # <<<<<<<<<<<<<<
 *         '''turn it into a constraint'''
 *         return _expr_richcmp(self, other, op)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_27__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_arg_op); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_27__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_arg_op) {
  PyObject *__pyx_v_op = 0;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_v_op = __Pyx_PyLong_From_int(__pyx_arg_op); if (unlikely(!__pyx_v_op)) __PYX_ERR(3, 677, __pyx_L3_error)
  __Pyx_GOTREF(__pyx_v_op);
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_26__richcmp__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((PyObject *)__pyx_v_op));

  /* function exit code */
  __Pyx_DECREF(__pyx_v_op);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_26__richcmp__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_op) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__richcmp__", 0);

  /* "src/pyscipopt/expr.pxi":679
 *     def __richcmp__(self, other, op):
 *         '''turn it into a constraint'''
 *         return _expr_richcmp(self, other, op)             # <<<<<<<<<<<<<<
 * 
 *     def degree(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_expr_richcmp); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_v_other, __pyx_v_op};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (4-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 679, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":677
 *         return -1.0 * self + other
 * 
 *     def __richcmp__(self, other, op):             # <<<<<<<<<<<<<<
 *         '''turn it into a constraint'''
 *         return _expr_richcmp(self, other, op)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":681
 *         return _expr_richcmp(self, other, op)
 * 
 *     def degree(self):             # <<<<<<<<<<<<<<
 *         '''Note: none of these expressions should be polynomial'''
 *         return float('inf')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_29degree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7GenExpr_28degree, "Note: none of these expressions should be polynomial");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7GenExpr_29degree = {"degree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7GenExpr_29degree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7GenExpr_28degree};
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_29degree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("degree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("degree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("degree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_28degree(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_28degree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("degree", 0);

  /* "src/pyscipopt/expr.pxi":683
 *     def degree(self):
 *         '''Note: none of these expressions should be polynomial'''
 *         return float('inf')             # <<<<<<<<<<<<<<
 * 
 *     def getOp(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyUnicode_AsDouble(__pyx_mstate_global->__pyx_n_u_inf); if (unlikely(__PYX_CHECK_FLOAT_EXCEPTION(__pyx_t_1, ((double)((double)-1))) && PyErr_Occurred())) __PYX_ERR(3, 683, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":681
 *         return _expr_richcmp(self, other, op)
 * 
 *     def degree(self):             # <<<<<<<<<<<<<<
 *         '''Note: none of these expressions should be polynomial'''
 *         return float('inf')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.degree", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":685
 *         return float('inf')
 * 
 *     def getOp(self):             # <<<<<<<<<<<<<<
 *         '''returns operator of GenExpr'''
 *         return self._op
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_31getOp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7GenExpr_30getOp, "returns operator of GenExpr");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7GenExpr_31getOp = {"getOp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7GenExpr_31getOp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7GenExpr_30getOp};
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_31getOp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getOp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getOp", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getOp", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_30getOp(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_30getOp(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getOp", 0);

  /* "src/pyscipopt/expr.pxi":687
 *     def getOp(self):
 *         '''returns operator of GenExpr'''
 *         return self._op             # <<<<<<<<<<<<<<
 * 
 *     cdef GenExpr copy(self, bool copy = True):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->_op);
  __pyx_r = __pyx_v_self->_op;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":685
 *         return float('inf')
 * 
 *     def getOp(self):             # <<<<<<<<<<<<<<
 *         '''returns operator of GenExpr'''
 *         return self._op
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":689
 *         return self._op
 * 
 *     cdef GenExpr copy(self, bool copy = True):             # <<<<<<<<<<<<<<
 *         cdef object cls = <type>Py_TYPE(self)
 *         cdef GenExpr res = cls.__new__(cls)
*/

static struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_f_9pyscipopt_4scip_7GenExpr_copy(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, struct __pyx_opt_args_9pyscipopt_4scip_7GenExpr_copy *__pyx_optional_args) {
  PyObject *__pyx_v_copy = ((PyObject*)Py_True);
  PyObject *__pyx_v_cls = 0;
  struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_res = 0;
  struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyTypeObject *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("copy", 0);
  if (__pyx_optional_args) {
    if (__pyx_optional_args->__pyx_n > 0) {
      __pyx_v_copy = __pyx_optional_args->copy;
    }
  }

  /* "src/pyscipopt/expr.pxi":690
 * 
 *     cdef GenExpr copy(self, bool copy = True):
 *         cdef object cls = <type>Py_TYPE(self)             # <<<<<<<<<<<<<<
 *         cdef GenExpr res = cls.__new__(cls)
 *         res._op = self._op
*/
  __pyx_t_1 = Py_TYPE(((PyObject *)__pyx_v_self));
  __pyx_t_2 = ((PyObject *)__pyx_t_1);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_v_cls = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":691
 *     cdef GenExpr copy(self, bool copy = True):
 *         cdef object cls = <type>Py_TYPE(self)
 *         cdef GenExpr res = cls.__new__(cls)             # <<<<<<<<<<<<<<
 *         res._op = self._op
 *         res.children = self.children.copy() if copy else self.children
*/
  __pyx_t_3 = __pyx_v_cls;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_cls};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr))))) __PYX_ERR(3, 691, __pyx_L1_error)
  __pyx_v_res = ((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":692
 *         cdef object cls = <type>Py_TYPE(self)
 *         cdef GenExpr res = cls.__new__(cls)
 *         res._op = self._op             # <<<<<<<<<<<<<<
 *         res.children = self.children.copy() if copy else self.children
 *         if cls is SumExpr:
*/
  __pyx_t_2 = __pyx_v_self->_op;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_res->_op);
  __Pyx_DECREF(__pyx_v_res->_op);
  __pyx_v_res->_op = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":693
 *         cdef GenExpr res = cls.__new__(cls)
 *         res._op = self._op
 *         res.children = self.children.copy() if copy else self.children             # <<<<<<<<<<<<<<
 *         if cls is SumExpr:
 *             (<SumExpr>res).constant = (<SumExpr>self).constant
*/
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_copy); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(3, 693, __pyx_L1_error)
  if (__pyx_t_5) {
    __pyx_t_6 = __pyx_v_self->children;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_copy, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 693, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_self->children);
    __pyx_t_2 = __pyx_v_self->children;
  }
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_res->children);
  __Pyx_DECREF(__pyx_v_res->children);
  __pyx_v_res->children = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":694
 *         res._op = self._op
 *         res.children = self.children.copy() if copy else self.children
 *         if cls is SumExpr:             # <<<<<<<<<<<<<<
 *             (<SumExpr>res).constant = (<SumExpr>self).constant
 *             (<SumExpr>res).coefs = (<SumExpr>self).coefs.copy() if copy else (<SumExpr>self).coefs
*/
  __pyx_t_5 = (__pyx_v_cls == ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_SumExpr));
  if (__pyx_t_5) {

    /* "src/pyscipopt/expr.pxi":695
 *         res.children = self.children.copy() if copy else self.children
 *         if cls is SumExpr:
 *             (<SumExpr>res).constant = (<SumExpr>self).constant             # <<<<<<<<<<<<<<
 *             (<SumExpr>res).coefs = (<SumExpr>self).coefs.copy() if copy else (<SumExpr>self).coefs
 *         if cls is ProdExpr:
*/
    __pyx_t_2 = ((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self)->constant;
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_2);
    __Pyx_GOTREF(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_res)->constant);
    __Pyx_DECREF(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_res)->constant);
    ((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_res)->constant = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":696
 *         if cls is SumExpr:
 *             (<SumExpr>res).constant = (<SumExpr>self).constant
 *             (<SumExpr>res).coefs = (<SumExpr>self).coefs.copy() if copy else (<SumExpr>self).coefs             # <<<<<<<<<<<<<<
 *         if cls is ProdExpr:
 *             (<ProdExpr>res).constant = (<ProdExpr>self).constant
*/
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_copy); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(3, 696, __pyx_L1_error)
    if (__pyx_t_5) {
      __pyx_t_6 = ((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self)->coefs;
      __Pyx_INCREF(__pyx_t_6);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
        __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_copy, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 696, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __pyx_t_2 = __pyx_t_3;
      __pyx_t_3 = 0;
    } else {
      __Pyx_INCREF(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self)->coefs);
      __pyx_t_2 = ((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self)->coefs;
    }
    __Pyx_GIVEREF(__pyx_t_2);
    __Pyx_GOTREF(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_res)->coefs);
    __Pyx_DECREF(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_res)->coefs);
    ((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_res)->coefs = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":694
 *         res._op = self._op
 *         res.children = self.children.copy() if copy else self.children
 *         if cls is SumExpr:             # <<<<<<<<<<<<<<
 *             (<SumExpr>res).constant = (<SumExpr>self).constant
 *             (<SumExpr>res).coefs = (<SumExpr>self).coefs.copy() if copy else (<SumExpr>self).coefs
*/
  }

  /* "src/pyscipopt/expr.pxi":697
 *             (<SumExpr>res).constant = (<SumExpr>self).constant
 *             (<SumExpr>res).coefs = (<SumExpr>self).coefs.copy() if copy else (<SumExpr>self).coefs
 *         if cls is ProdExpr:             # <<<<<<<<<<<<<<
 *             (<ProdExpr>res).constant = (<ProdExpr>self).constant
 *         elif cls is PowExpr:
*/
  __pyx_t_5 = (__pyx_v_cls == ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ProdExpr));
  if (__pyx_t_5) {

    /* "src/pyscipopt/expr.pxi":698
 *             (<SumExpr>res).coefs = (<SumExpr>self).coefs.copy() if copy else (<SumExpr>self).coefs
 *         if cls is ProdExpr:
 *             (<ProdExpr>res).constant = (<ProdExpr>self).constant             # <<<<<<<<<<<<<<
 *         elif cls is PowExpr:
 *             (<PowExpr>res).expo = (<PowExpr>self).expo
*/
    __pyx_t_2 = ((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_v_self)->constant;
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_2);
    __Pyx_GOTREF(((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_v_res)->constant);
    __Pyx_DECREF(((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_v_res)->constant);
    ((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_v_res)->constant = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":697
 *             (<SumExpr>res).constant = (<SumExpr>self).constant
 *             (<SumExpr>res).coefs = (<SumExpr>self).coefs.copy() if copy else (<SumExpr>self).coefs
 *         if cls is ProdExpr:             # <<<<<<<<<<<<<<
 *             (<ProdExpr>res).constant = (<ProdExpr>self).constant
 *         elif cls is PowExpr:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/expr.pxi":699
 *         if cls is ProdExpr:
 *             (<ProdExpr>res).constant = (<ProdExpr>self).constant
 *         elif cls is PowExpr:             # <<<<<<<<<<<<<<
 *             (<PowExpr>res).expo = (<PowExpr>self).expo
 *         return res
*/
  __pyx_t_5 = (__pyx_v_cls == ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PowExpr));
  if (__pyx_t_5) {

    /* "src/pyscipopt/expr.pxi":700
 *             (<ProdExpr>res).constant = (<ProdExpr>self).constant
 *         elif cls is PowExpr:
 *             (<PowExpr>res).expo = (<PowExpr>self).expo             # <<<<<<<<<<<<<<
 *         return res
 * 
*/
    __pyx_t_2 = ((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_v_self)->expo;
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_2);
    __Pyx_GOTREF(((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_v_res)->expo);
    __Pyx_DECREF(((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_v_res)->expo);
    ((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_v_res)->expo = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":699
 *         if cls is ProdExpr:
 *             (<ProdExpr>res).constant = (<ProdExpr>self).constant
 *         elif cls is PowExpr:             # <<<<<<<<<<<<<<
 *             (<PowExpr>res).expo = (<PowExpr>self).expo
 *         return res
*/
  }
  __pyx_L4:;

  /* "src/pyscipopt/expr.pxi":701
 *         elif cls is PowExpr:
 *             (<PowExpr>res).expo = (<PowExpr>self).expo
 *         return res             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF((PyObject *)__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_res);
  __pyx_r = __pyx_v_res;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":689
 *         return self._op
 * 
 *     cdef GenExpr copy(self, bool copy = True):             # <<<<<<<<<<<<<<
 *         cdef object cls = <type>Py_TYPE(self)
 *         cdef GenExpr res = cls.__new__(cls)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cls);
  __Pyx_XDECREF((PyObject *)__pyx_v_res);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":507
 * cdef class GenExpr:
 * 
 *     cdef public _op             # <<<<<<<<<<<<<<
 *     cdef public children
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_3_op_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_3_op_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_3_op___get__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_3_op___get__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->_op);
  __pyx_r = __pyx_v_self->_op;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7GenExpr_3_op_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7GenExpr_3_op_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_3_op_2__set__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7GenExpr_3_op_2__set__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->_op);
  __Pyx_DECREF(__pyx_v_self->_op);
  __pyx_v_self->_op = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7GenExpr_3_op_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7GenExpr_3_op_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_3_op_4__del__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7GenExpr_3_op_4__del__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->_op);
  __Pyx_DECREF(__pyx_v_self->_op);
  __pyx_v_self->_op = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":508
 * 
 *     cdef public _op
 *     cdef public children             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self): # do we need it
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_8children_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_8children_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_8children___get__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_8children___get__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->children);
  __pyx_r = __pyx_v_self->children;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7GenExpr_8children_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7GenExpr_8children_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_8children_2__set__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7GenExpr_8children_2__set__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->children);
  __Pyx_DECREF(__pyx_v_self->children);
  __pyx_v_self->children = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7GenExpr_8children_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7GenExpr_8children_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_8children_4__del__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7GenExpr_8children_4__del__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->children);
  __Pyx_DECREF(__pyx_v_self->children);
  __pyx_v_self->children = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_33__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7GenExpr_33__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7GenExpr_33__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_33__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_32__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_32__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._op, self.children)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->_op);
  __Pyx_GIVEREF(__pyx_v_self->_op);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->_op) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->children);
  __Pyx_GIVEREF(__pyx_v_self->children);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->children) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._op, self.children)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self._op, self.children)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._op is not None or self.children is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._op, self.children)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._op is not None or self.children is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_GenExpr, (type(self), 0xccaf182, None), state
*/
  /*else*/ {
    __pyx_t_3 = (__pyx_v_self->_op != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->children != Py_None);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_GenExpr, (type(self), 0xccaf182, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self._op is not None or self.children is not None
 *     if use_setstate:
 *         return __pyx_unpickle_GenExpr, (type(self), 0xccaf182, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_GenExpr, (type(self), 0xccaf182, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_GenExpr); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_214626690);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_214626690);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_214626690) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_GenExpr, (type(self), 0xccaf182, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_GenExpr, (type(self), 0xccaf182, None), state
 *     else:
 *         return __pyx_unpickle_GenExpr, (type(self), 0xccaf182, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_GenExpr__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_GenExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_214626690);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_214626690);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_214626690) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_GenExpr, (type(self), 0xccaf182, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_GenExpr__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_35__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7GenExpr_35__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7GenExpr_35__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7GenExpr_35__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7GenExpr_34__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7GenExpr_34__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_GenExpr, (type(self), 0xccaf182, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_GenExpr__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_GenExpr__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_GenExpr, (type(self), 0xccaf182, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_GenExpr__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.GenExpr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":710
 *     cdef public coefs
 * 
 *     def __init__(self):             # <<<<<<<<<<<<<<
 *         self.constant = 0.0
 *         self.coefs = []
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7SumExpr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7SumExpr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, __pyx_nargs); return -1; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__init__", __pyx_kwds); return -1;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7SumExpr___init__(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7SumExpr___init__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "src/pyscipopt/expr.pxi":711
 * 
 *     def __init__(self):
 *         self.constant = 0.0             # <<<<<<<<<<<<<<
 *         self.coefs = []
 *         self.children = []
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_float_0_0);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_float_0_0);
  __Pyx_GOTREF(__pyx_v_self->constant);
  __Pyx_DECREF(__pyx_v_self->constant);
  __pyx_v_self->constant = __pyx_mstate_global->__pyx_float_0_0;

  /* "src/pyscipopt/expr.pxi":712
 *     def __init__(self):
 *         self.constant = 0.0
 *         self.coefs = []             # <<<<<<<<<<<<<<
 *         self.children = []
 *         self._op = Operator.add
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->coefs);
  __Pyx_DECREF(__pyx_v_self->coefs);
  __pyx_v_self->coefs = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":713
 *         self.constant = 0.0
 *         self.coefs = []
 *         self.children = []             # <<<<<<<<<<<<<<
 *         self._op = Operator.add
 *     def __repr__(self):
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->__pyx_base.children);
  __Pyx_DECREF(__pyx_v_self->__pyx_base.children);
  __pyx_v_self->__pyx_base.children = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":714
 *         self.coefs = []
 *         self.children = []
 *         self._op = Operator.add             # <<<<<<<<<<<<<<
 *     def __repr__(self):
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_add_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._op);
  __Pyx_DECREF(__pyx_v_self->__pyx_base._op);
  __pyx_v_self->__pyx_base._op = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":710
 *     cdef public coefs
 * 
 *     def __init__(self):             # <<<<<<<<<<<<<<
 *         self.constant = 0.0
 *         self.coefs = []
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.SumExpr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":715
 *         self.children = []
 *         self._op = Operator.add
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_3__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_3__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7SumExpr_2__repr__(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":716
 *         self._op = Operator.add
 *     def __repr__(self):
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"             # <<<<<<<<<<<<<<
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_8__repr___lambda4(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7SumExpr_8__repr___lambda4 = {"lambda4", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7SumExpr_8__repr___lambda4, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_8__repr___lambda4(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_child = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lambda4 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_child,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 716, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 716, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "lambda4", 0) < (0)) __PYX_ERR(3, 716, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("lambda4", 1, 1, 1, i); __PYX_ERR(3, 716, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 716, __pyx_L3_error)
    }
    __pyx_v_child = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("lambda4", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 716, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.SumExpr.__repr__.lambda4", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_lambda_funcdef_lambda4(__pyx_self, __pyx_v_child);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_lambda_funcdef_lambda4(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_child) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lambda4", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_v_child;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_repr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.SumExpr.__repr__.lambda4", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":715
 *         self.children = []
 *         self._op = Operator.add
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"
 * 
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_7SumExpr_2__repr__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/expr.pxi":716
 *         self._op = Operator.add
 *     def __repr__(self):
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"             # <<<<<<<<<<<<<<
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyNumber_Add(__pyx_v_self->__pyx_base._op, __pyx_mstate_global->__pyx_kp_u__7); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_v_self->constant); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__8); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = NULL;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7SumExpr_8__repr___lambda4, 0, __pyx_mstate_global->__pyx_n_u_repr___locals_lambda, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[4])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_t_4, __pyx_v_self->__pyx_base.children};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_map, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 716, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_4 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__8, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__5); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":715
 *         self.children = []
 *         self._op = Operator.add
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.SumExpr.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":718
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = self.constant
 *         cdef int i = 0, n = len(self.children)
*/

static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_9pyscipopt_4scip_7SumExpr__evaluate(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch) {
  double __pyx_v_res;
  int __pyx_v_i;
  int __pyx_v_n;
  PyObject *__pyx_v_children = 0;
  PyObject *__pyx_v_coefs = 0;
  double __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  double __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (
  #if !CYTHON_USE_TYPE_SLOTS
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_SumExpr &&
  __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
  #else
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
  #endif
  ) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 718, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_9pyscipopt_4scip_7SumExpr_5_evaluate)) {
        __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_4 = __pyx_t_1; 
        __pyx_t_5 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
          assert(__pyx_t_3);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
          __pyx_t_5 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_sol)};
          __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 718, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 718, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_r = __pyx_t_6;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "src/pyscipopt/expr.pxi":719
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
 *         cdef double res = self.constant             # <<<<<<<<<<<<<<
 *         cdef int i = 0, n = len(self.children)
 *         cdef list children = self.children
*/
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_self->constant); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 719, __pyx_L1_error)
  __pyx_v_res = __pyx_t_6;

  /* "src/pyscipopt/expr.pxi":720
 *     cpdef double _evaluate(self, Solution sol) except *:
 *         cdef double res = self.constant
 *         cdef int i = 0, n = len(self.children)             # <<<<<<<<<<<<<<
 *         cdef list children = self.children
 *         cdef list coefs = self.coefs
*/
  __pyx_v_i = 0;
  __pyx_t_1 = __pyx_v_self->__pyx_base.children;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(3, 720, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_n = __pyx_t_7;

  /* "src/pyscipopt/expr.pxi":721
 *         cdef double res = self.constant
 *         cdef int i = 0, n = len(self.children)
 *         cdef list children = self.children             # <<<<<<<<<<<<<<
 *         cdef list coefs = self.coefs
 *         for i in range(n):
*/
  __pyx_t_1 = __pyx_v_self->__pyx_base.children;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(3, 721, __pyx_L1_error)
  __pyx_v_children = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":722
 *         cdef int i = 0, n = len(self.children)
 *         cdef list children = self.children
 *         cdef list coefs = self.coefs             # <<<<<<<<<<<<<<
 *         for i in range(n):
 *             res += <double>coefs[i] * (<GenExpr>children[i])._evaluate(sol)
*/
  __pyx_t_1 = __pyx_v_self->coefs;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(3, 722, __pyx_L1_error)
  __pyx_v_coefs = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":723
 *         cdef list children = self.children
 *         cdef list coefs = self.coefs
 *         for i in range(n):             # <<<<<<<<<<<<<<
 *             res += <double>coefs[i] * (<GenExpr>children[i])._evaluate(sol)
 *         return res
*/
  __pyx_t_8 = __pyx_v_n;
  __pyx_t_9 = __pyx_t_8;
  for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
    __pyx_v_i = __pyx_t_10;

    /* "src/pyscipopt/expr.pxi":724
 *         cdef list coefs = self.coefs
 *         for i in range(n):
 *             res += <double>coefs[i] * (<GenExpr>children[i])._evaluate(sol)             # <<<<<<<<<<<<<<
 *         return res
 * 
*/
    __pyx_t_1 = PyFloat_FromDouble(__pyx_v_res); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely(__pyx_v_coefs == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(3, 724, __pyx_L1_error)
    }
    __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_coefs, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 724, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyFloat_FromDouble(((double)__pyx_t_6)); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(__pyx_v_children == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(3, 724, __pyx_L1_error)
    }
    __pyx_t_11 = __Pyx_GetItemInt_List(__pyx_v_children, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_3 = __pyx_t_11;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_sol)};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_evaluate, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 724, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_11 = PyNumber_Multiply(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 724, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_v_res = __pyx_t_6;
  }

  /* "src/pyscipopt/expr.pxi":725
 *         for i in range(n):
 *             res += <double>coefs[i] * (<GenExpr>children[i])._evaluate(sol)
 *         return res             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_res;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":718
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = self.constant
 *         cdef int i = 0, n = len(self.children)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("pyscipopt.scip.SumExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_children);
  __Pyx_XDECREF(__pyx_v_coefs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7SumExpr_5_evaluate = {"_evaluate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7SumExpr_5_evaluate, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_evaluate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 718, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 718, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_evaluate", 0) < (0)) __PYX_ERR(3, 718, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, i); __PYX_ERR(3, 718, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 718, __pyx_L3_error)
    }
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 718, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.SumExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(3, 718, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7SumExpr_4_evaluate(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self), __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7SumExpr_4_evaluate(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_7SumExpr__evaluate(__pyx_v_self, __pyx_v_sol, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 718, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.SumExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":707
 * cdef class SumExpr(GenExpr):
 * 
 *     cdef public constant             # <<<<<<<<<<<<<<
 *     cdef public coefs
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_8constant_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_8constant_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7SumExpr_8constant___get__(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7SumExpr_8constant___get__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->constant);
  __pyx_r = __pyx_v_self->constant;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7SumExpr_8constant_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7SumExpr_8constant_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7SumExpr_8constant_2__set__(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7SumExpr_8constant_2__set__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->constant);
  __Pyx_DECREF(__pyx_v_self->constant);
  __pyx_v_self->constant = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7SumExpr_8constant_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7SumExpr_8constant_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7SumExpr_8constant_4__del__(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7SumExpr_8constant_4__del__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->constant);
  __Pyx_DECREF(__pyx_v_self->constant);
  __pyx_v_self->constant = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":708
 * 
 *     cdef public constant
 *     cdef public coefs             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_5coefs_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_5coefs_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7SumExpr_5coefs___get__(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7SumExpr_5coefs___get__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->coefs);
  __pyx_r = __pyx_v_self->coefs;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7SumExpr_5coefs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7SumExpr_5coefs_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7SumExpr_5coefs_2__set__(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7SumExpr_5coefs_2__set__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->coefs);
  __Pyx_DECREF(__pyx_v_self->coefs);
  __pyx_v_self->coefs = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7SumExpr_5coefs_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7SumExpr_5coefs_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7SumExpr_5coefs_4__del__(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7SumExpr_5coefs_4__del__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->coefs);
  __Pyx_DECREF(__pyx_v_self->coefs);
  __pyx_v_self->coefs = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7SumExpr_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7SumExpr_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7SumExpr_6__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7SumExpr_6__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._op, self.children, self.coefs, self.constant)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->__pyx_base._op);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base._op);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->__pyx_base._op) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.children);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.children);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->__pyx_base.children) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->coefs);
  __Pyx_GIVEREF(__pyx_v_self->coefs);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->coefs) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->constant);
  __Pyx_GIVEREF(__pyx_v_self->constant);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_self->constant) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._op, self.children, self.coefs, self.constant)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self._op, self.children, self.coefs, self.constant)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.coefs is not None or self.constant is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._op, self.children, self.coefs, self.constant)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.coefs is not None or self.constant is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_SumExpr, (type(self), 0x3c52fb7, None), state
*/
  /*else*/ {
    __pyx_t_3 = (__pyx_v_self->__pyx_base._op != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->__pyx_base.children != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->coefs != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->constant != Py_None);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.coefs is not None or self.constant is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_SumExpr, (type(self), 0x3c52fb7, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self._op is not None or self.children is not None or self.coefs is not None or self.constant is not None
 *     if use_setstate:
 *         return __pyx_unpickle_SumExpr, (type(self), 0x3c52fb7, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_SumExpr, (type(self), 0x3c52fb7, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_SumExpr); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_63254455);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_63254455);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_63254455) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.coefs is not None or self.constant is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_SumExpr, (type(self), 0x3c52fb7, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_SumExpr, (type(self), 0x3c52fb7, None), state
 *     else:
 *         return __pyx_unpickle_SumExpr, (type(self), 0x3c52fb7, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_SumExpr__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_SumExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_63254455);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_63254455);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_63254455) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.SumExpr.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_SumExpr, (type(self), 0x3c52fb7, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_SumExpr__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7SumExpr_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7SumExpr_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7SumExpr_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.SumExpr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7SumExpr_8__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7SumExpr_8__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_SumExpr, (type(self), 0x3c52fb7, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_SumExpr__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_SumExpr__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_SumExpr, (type(self), 0x3c52fb7, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_SumExpr__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.SumExpr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":733
 *     cdef public constant
 * 
 *     def __init__(self):             # <<<<<<<<<<<<<<
 *         self.constant = 1.0
 *         self.children = []
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8ProdExpr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8ProdExpr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, __pyx_nargs); return -1; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__init__", __pyx_kwds); return -1;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ProdExpr___init__(((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8ProdExpr___init__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "src/pyscipopt/expr.pxi":734
 * 
 *     def __init__(self):
 *         self.constant = 1.0             # <<<<<<<<<<<<<<
 *         self.children = []
 *         self._op = Operator.prod
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_float_1_0);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_float_1_0);
  __Pyx_GOTREF(__pyx_v_self->constant);
  __Pyx_DECREF(__pyx_v_self->constant);
  __pyx_v_self->constant = __pyx_mstate_global->__pyx_float_1_0;

  /* "src/pyscipopt/expr.pxi":735
 *     def __init__(self):
 *         self.constant = 1.0
 *         self.children = []             # <<<<<<<<<<<<<<
 *         self._op = Operator.prod
 * 
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->__pyx_base.children);
  __Pyx_DECREF(__pyx_v_self->__pyx_base.children);
  __pyx_v_self->__pyx_base.children = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":736
 *         self.constant = 1.0
 *         self.children = []
 *         self._op = Operator.prod             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_prod); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._op);
  __Pyx_DECREF(__pyx_v_self->__pyx_base._op);
  __pyx_v_self->__pyx_base._op = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":733
 *     cdef public constant
 * 
 *     def __init__(self):             # <<<<<<<<<<<<<<
 *         self.constant = 1.0
 *         self.children = []
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.ProdExpr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":738
 *         self._op = Operator.prod
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ProdExpr_3__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8ProdExpr_3__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ProdExpr_2__repr__(((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":739
 * 
 *     def __repr__(self):
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"             # <<<<<<<<<<<<<<
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ProdExpr_8__repr___lambda5(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8ProdExpr_8__repr___lambda5 = {"lambda5", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8ProdExpr_8__repr___lambda5, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8ProdExpr_8__repr___lambda5(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_child = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lambda5 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_child,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 739, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 739, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "lambda5", 0) < (0)) __PYX_ERR(3, 739, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("lambda5", 1, 1, 1, i); __PYX_ERR(3, 739, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 739, __pyx_L3_error)
    }
    __pyx_v_child = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("lambda5", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 739, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.ProdExpr.__repr__.lambda5", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_lambda_funcdef_lambda5(__pyx_self, __pyx_v_child);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_lambda_funcdef_lambda5(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_child) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lambda5", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_v_child;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_repr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.ProdExpr.__repr__.lambda5", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":738
 *         self._op = Operator.prod
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"
 * 
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_8ProdExpr_2__repr__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/expr.pxi":739
 * 
 *     def __repr__(self):
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"             # <<<<<<<<<<<<<<
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyNumber_Add(__pyx_v_self->__pyx_base._op, __pyx_mstate_global->__pyx_kp_u__7); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_v_self->constant); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__8); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = NULL;
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8ProdExpr_8__repr___lambda5, 0, __pyx_mstate_global->__pyx_n_u_repr___locals_lambda, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[5])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_t_4, __pyx_v_self->__pyx_base.children};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_map, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_4 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__8, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u__5); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":738
 *         self._op = Operator.prod
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.ProdExpr.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":741
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = self.constant
 *         cdef list children = self.children
*/

static PyObject *__pyx_pw_9pyscipopt_4scip_8ProdExpr_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_9pyscipopt_4scip_8ProdExpr__evaluate(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch) {
  double __pyx_v_res;
  PyObject *__pyx_v_children = 0;
  int __pyx_v_i;
  int __pyx_v_n;
  double __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  double __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (
  #if !CYTHON_USE_TYPE_SLOTS
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ProdExpr &&
  __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
  #else
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
  #endif
  ) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 741, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_9pyscipopt_4scip_8ProdExpr_5_evaluate)) {
        __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_4 = __pyx_t_1; 
        __pyx_t_5 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
          assert(__pyx_t_3);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
          __pyx_t_5 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_sol)};
          __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 741, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 741, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_r = __pyx_t_6;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "src/pyscipopt/expr.pxi":742
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
 *         cdef double res = self.constant             # <<<<<<<<<<<<<<
 *         cdef list children = self.children
 *         cdef int i = 0, n = len(children)
*/
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_self->constant); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 742, __pyx_L1_error)
  __pyx_v_res = __pyx_t_6;

  /* "src/pyscipopt/expr.pxi":743
 *     cpdef double _evaluate(self, Solution sol) except *:
 *         cdef double res = self.constant
 *         cdef list children = self.children             # <<<<<<<<<<<<<<
 *         cdef int i = 0, n = len(children)
 *         for i in range(n):
*/
  __pyx_t_1 = __pyx_v_self->__pyx_base.children;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyList_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("list", __pyx_t_1))) __PYX_ERR(3, 743, __pyx_L1_error)
  __pyx_v_children = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":744
 *         cdef double res = self.constant
 *         cdef list children = self.children
 *         cdef int i = 0, n = len(children)             # <<<<<<<<<<<<<<
 *         for i in range(n):
 *             res *= (<GenExpr>children[i])._evaluate(sol)
*/
  __pyx_v_i = 0;
  if (unlikely(__pyx_v_children == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
    __PYX_ERR(3, 744, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_PyList_GET_SIZE(__pyx_v_children); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(3, 744, __pyx_L1_error)
  __pyx_v_n = __pyx_t_7;

  /* "src/pyscipopt/expr.pxi":745
 *         cdef list children = self.children
 *         cdef int i = 0, n = len(children)
 *         for i in range(n):             # <<<<<<<<<<<<<<
 *             res *= (<GenExpr>children[i])._evaluate(sol)
 *             if res == 0:  # early stop
*/
  __pyx_t_8 = __pyx_v_n;
  __pyx_t_9 = __pyx_t_8;
  for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
    __pyx_v_i = __pyx_t_10;

    /* "src/pyscipopt/expr.pxi":746
 *         cdef int i = 0, n = len(children)
 *         for i in range(n):
 *             res *= (<GenExpr>children[i])._evaluate(sol)             # <<<<<<<<<<<<<<
 *             if res == 0:  # early stop
 *                 return 0.0
*/
    __pyx_t_1 = PyFloat_FromDouble(__pyx_v_res); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely(__pyx_v_children == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(3, 746, __pyx_L1_error)
    }
    __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_children, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __pyx_t_3;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)__pyx_v_sol)};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_evaluate, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 746, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_3 = PyNumber_InPlaceMultiply(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 746, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 746, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_res = __pyx_t_6;

    /* "src/pyscipopt/expr.pxi":747
 *         for i in range(n):
 *             res *= (<GenExpr>children[i])._evaluate(sol)
 *             if res == 0:  # early stop             # <<<<<<<<<<<<<<
 *                 return 0.0
 *         return res
*/
    __pyx_t_11 = (__pyx_v_res == 0.0);
    if (__pyx_t_11) {

      /* "src/pyscipopt/expr.pxi":748
 *             res *= (<GenExpr>children[i])._evaluate(sol)
 *             if res == 0:  # early stop
 *                 return 0.0             # <<<<<<<<<<<<<<
 *         return res
 * 
*/
      __pyx_r = 0.0;
      goto __pyx_L0;

      /* "src/pyscipopt/expr.pxi":747
 *         for i in range(n):
 *             res *= (<GenExpr>children[i])._evaluate(sol)
 *             if res == 0:  # early stop             # <<<<<<<<<<<<<<
 *                 return 0.0
 *         return res
*/
    }
  }

  /* "src/pyscipopt/expr.pxi":749
 *             if res == 0:  # early stop
 *                 return 0.0
 *         return res             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = __pyx_v_res;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":741
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = self.constant
 *         cdef list children = self.children
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.ProdExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_children);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ProdExpr_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8ProdExpr_5_evaluate = {"_evaluate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8ProdExpr_5_evaluate, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8ProdExpr_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_evaluate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 741, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_evaluate", 0) < (0)) __PYX_ERR(3, 741, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, i); __PYX_ERR(3, 741, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 741, __pyx_L3_error)
    }
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 741, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.ProdExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(3, 741, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ProdExpr_4_evaluate(((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_v_self), __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8ProdExpr_4_evaluate(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8ProdExpr__evaluate(__pyx_v_self, __pyx_v_sol, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 741, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.ProdExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":731
 * cdef class ProdExpr(GenExpr):
 * 
 *     cdef public constant             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ProdExpr_8constant_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8ProdExpr_8constant_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ProdExpr_8constant___get__(((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8ProdExpr_8constant___get__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->constant);
  __pyx_r = __pyx_v_self->constant;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8ProdExpr_8constant_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8ProdExpr_8constant_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ProdExpr_8constant_2__set__(((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8ProdExpr_8constant_2__set__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->constant);
  __Pyx_DECREF(__pyx_v_self->constant);
  __pyx_v_self->constant = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8ProdExpr_8constant_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8ProdExpr_8constant_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ProdExpr_8constant_4__del__(((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8ProdExpr_8constant_4__del__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->constant);
  __Pyx_DECREF(__pyx_v_self->constant);
  __pyx_v_self->constant = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ProdExpr_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8ProdExpr_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8ProdExpr_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8ProdExpr_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ProdExpr_6__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8ProdExpr_6__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._op, self.children, self.constant)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->__pyx_base._op);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base._op);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->__pyx_base._op) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.children);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.children);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->__pyx_base.children) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->constant);
  __Pyx_GIVEREF(__pyx_v_self->constant);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->constant) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._op, self.children, self.constant)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self._op, self.children, self.constant)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.constant is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._op, self.children, self.constant)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.constant is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_ProdExpr, (type(self), 0xe54af0a, None), state
*/
  /*else*/ {
    __pyx_t_3 = (__pyx_v_self->__pyx_base._op != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->__pyx_base.children != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->constant != Py_None);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.constant is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_ProdExpr, (type(self), 0xe54af0a, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self._op is not None or self.children is not None or self.constant is not None
 *     if use_setstate:
 *         return __pyx_unpickle_ProdExpr, (type(self), 0xe54af0a, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_ProdExpr, (type(self), 0xe54af0a, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_ProdExpr); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_240430858);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_240430858);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_240430858) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.constant is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_ProdExpr, (type(self), 0xe54af0a, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_ProdExpr, (type(self), 0xe54af0a, None), state
 *     else:
 *         return __pyx_unpickle_ProdExpr, (type(self), 0xe54af0a, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_ProdExpr__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_ProdExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_240430858);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_240430858);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_240430858) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.ProdExpr.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_ProdExpr, (type(self), 0xe54af0a, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_ProdExpr__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8ProdExpr_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8ProdExpr_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8ProdExpr_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8ProdExpr_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.ProdExpr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8ProdExpr_8__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8ProdExpr_8__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_ProdExpr, (type(self), 0xe54af0a, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_ProdExpr__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_ProdExpr__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_ProdExpr, (type(self), 0xe54af0a, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_ProdExpr__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.ProdExpr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":757
 *     cdef public var
 * 
 *     def __init__(self, var):             # <<<<<<<<<<<<<<
 *         self.children = [var]
 *         self._op = Operator.varidx
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7VarExpr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7VarExpr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_var = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 757, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 757, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 757, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 757, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 757, __pyx_L3_error)
    }
    __pyx_v_var = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 757, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.VarExpr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7VarExpr___init__(((struct __pyx_obj_9pyscipopt_4scip_VarExpr *)__pyx_v_self), __pyx_v_var);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7VarExpr___init__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self, PyObject *__pyx_v_var) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "src/pyscipopt/expr.pxi":758
 * 
 *     def __init__(self, var):
 *         self.children = [var]             # <<<<<<<<<<<<<<
 *         self._op = Operator.varidx
 * 
*/
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_var);
  __Pyx_GIVEREF(__pyx_v_var);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_var) != (0)) __PYX_ERR(3, 758, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->__pyx_base.children);
  __Pyx_DECREF(__pyx_v_self->__pyx_base.children);
  __pyx_v_self->__pyx_base.children = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":759
 *     def __init__(self, var):
 *         self.children = [var]
 *         self._op = Operator.varidx             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_varidx); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._op);
  __Pyx_DECREF(__pyx_v_self->__pyx_base._op);
  __pyx_v_self->__pyx_base._op = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":757
 *     cdef public var
 * 
 *     def __init__(self, var):             # <<<<<<<<<<<<<<
 *         self.children = [var]
 *         self._op = Operator.varidx
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.VarExpr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":761
 *         self._op = Operator.varidx
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self.children[0].__repr__()
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7VarExpr_3__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7VarExpr_3__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7VarExpr_2__repr__(((struct __pyx_obj_9pyscipopt_4scip_VarExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7VarExpr_2__repr__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/expr.pxi":762
 * 
 *     def __repr__(self):
 *         return self.children[0].__repr__()             # <<<<<<<<<<<<<<
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base.children, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __pyx_t_3;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_repr, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":761
 *         self._op = Operator.varidx
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self.children[0].__repr__()
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.VarExpr.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":764
 *         return self.children[0].__repr__()
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         return (<Expr>self.children[0])._evaluate(sol)
 * 
*/

static PyObject *__pyx_pw_9pyscipopt_4scip_7VarExpr_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_9pyscipopt_4scip_7VarExpr__evaluate(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch) {
  double __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  double __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (
  #if !CYTHON_USE_TYPE_SLOTS
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_VarExpr &&
  __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
  #else
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
  #endif
  ) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 764, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_9pyscipopt_4scip_7VarExpr_5_evaluate)) {
        __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_4 = __pyx_t_1; 
        __pyx_t_5 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
          assert(__pyx_t_3);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
          __pyx_t_5 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_sol)};
          __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 764, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 764, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_r = __pyx_t_6;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "src/pyscipopt/expr.pxi":765
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
 *         return (<Expr>self.children[0])._evaluate(sol)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base.children, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Expr *)((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_t_1)->__pyx_vtab)->_evaluate(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_t_1), __pyx_v_sol, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 765, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_6;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":764
 *         return self.children[0].__repr__()
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         return (<Expr>self.children[0])._evaluate(sol)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.VarExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7VarExpr_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7VarExpr_5_evaluate = {"_evaluate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7VarExpr_5_evaluate, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7VarExpr_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_evaluate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 764, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 764, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_evaluate", 0) < (0)) __PYX_ERR(3, 764, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, i); __PYX_ERR(3, 764, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 764, __pyx_L3_error)
    }
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 764, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.VarExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(3, 764, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7VarExpr_4_evaluate(((struct __pyx_obj_9pyscipopt_4scip_VarExpr *)__pyx_v_self), __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7VarExpr_4_evaluate(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_7VarExpr__evaluate(__pyx_v_self, __pyx_v_sol, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 764, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.VarExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":755
 * cdef class VarExpr(GenExpr):
 * 
 *     cdef public var             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, var):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7VarExpr_3var_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7VarExpr_3var_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7VarExpr_3var___get__(((struct __pyx_obj_9pyscipopt_4scip_VarExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7VarExpr_3var___get__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->var);
  __pyx_r = __pyx_v_self->var;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7VarExpr_3var_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7VarExpr_3var_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7VarExpr_3var_2__set__(((struct __pyx_obj_9pyscipopt_4scip_VarExpr *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7VarExpr_3var_2__set__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->var);
  __Pyx_DECREF(__pyx_v_self->var);
  __pyx_v_self->var = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7VarExpr_3var_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7VarExpr_3var_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7VarExpr_3var_4__del__(((struct __pyx_obj_9pyscipopt_4scip_VarExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7VarExpr_3var_4__del__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->var);
  __Pyx_DECREF(__pyx_v_self->var);
  __pyx_v_self->var = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7VarExpr_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7VarExpr_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7VarExpr_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7VarExpr_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7VarExpr_6__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_VarExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7VarExpr_6__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._op, self.children, self.var)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->__pyx_base._op);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base._op);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->__pyx_base._op) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.children);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.children);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->__pyx_base.children) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->var);
  __Pyx_GIVEREF(__pyx_v_self->var);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->var) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._op, self.children, self.var)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self._op, self.children, self.var)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.var is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._op, self.children, self.var)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.var is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_VarExpr, (type(self), 0x496e932, None), state
*/
  /*else*/ {
    __pyx_t_3 = (__pyx_v_self->__pyx_base._op != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->__pyx_base.children != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->var != Py_None);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.var is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_VarExpr, (type(self), 0x496e932, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self._op is not None or self.children is not None or self.var is not None
 *     if use_setstate:
 *         return __pyx_unpickle_VarExpr, (type(self), 0x496e932, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_VarExpr, (type(self), 0x496e932, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_VarExpr); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76998962);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76998962);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76998962) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.var is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_VarExpr, (type(self), 0x496e932, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_VarExpr, (type(self), 0x496e932, None), state
 *     else:
 *         return __pyx_unpickle_VarExpr, (type(self), 0x496e932, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_VarExpr__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_VarExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76998962);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76998962);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76998962) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.VarExpr.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_VarExpr, (type(self), 0x496e932, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_VarExpr__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7VarExpr_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7VarExpr_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7VarExpr_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7VarExpr_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.VarExpr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7VarExpr_8__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_VarExpr *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7VarExpr_8__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_VarExpr, (type(self), 0x496e932, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_VarExpr__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_VarExpr__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_VarExpr, (type(self), 0x496e932, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_VarExpr__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.VarExpr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":773
 *     cdef public expo
 * 
 *     def __init__(self):             # <<<<<<<<<<<<<<
 *         self.expo = 1.0
 *         self.children = []
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7PowExpr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7PowExpr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, __pyx_nargs); return -1; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return -1;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__init__", __pyx_kwds); return -1;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7PowExpr___init__(((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7PowExpr___init__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "src/pyscipopt/expr.pxi":774
 * 
 *     def __init__(self):
 *         self.expo = 1.0             # <<<<<<<<<<<<<<
 *         self.children = []
 *         self._op = Operator.power
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_float_1_0);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_float_1_0);
  __Pyx_GOTREF(__pyx_v_self->expo);
  __Pyx_DECREF(__pyx_v_self->expo);
  __pyx_v_self->expo = __pyx_mstate_global->__pyx_float_1_0;

  /* "src/pyscipopt/expr.pxi":775
 *     def __init__(self):
 *         self.expo = 1.0
 *         self.children = []             # <<<<<<<<<<<<<<
 *         self._op = Operator.power
 * 
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->__pyx_base.children);
  __Pyx_DECREF(__pyx_v_self->__pyx_base.children);
  __pyx_v_self->__pyx_base.children = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":776
 *         self.expo = 1.0
 *         self.children = []
 *         self._op = Operator.power             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_power); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._op);
  __Pyx_DECREF(__pyx_v_self->__pyx_base._op);
  __pyx_v_self->__pyx_base._op = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":773
 *     cdef public expo
 * 
 *     def __init__(self):             # <<<<<<<<<<<<<<
 *         self.expo = 1.0
 *         self.children = []
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PowExpr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":778
 *         self._op = Operator.power
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self._op + "(" + self.children[0].__repr__() + "," + str(self.expo) + ")"
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7PowExpr_3__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7PowExpr_3__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7PowExpr_2__repr__(((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7PowExpr_2__repr__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/expr.pxi":779
 * 
 *     def __repr__(self):
 *         return self._op + "(" + self.children[0].__repr__() + "," + str(self.expo) + ")"             # <<<<<<<<<<<<<<
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyNumber_Add(__pyx_v_self->__pyx_base._op, __pyx_mstate_global->__pyx_kp_u__7); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base.children, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __pyx_t_4;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_repr, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_4 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__8); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_Unicode(__pyx_v_self->expo); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyNumber_Add(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u__5); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":778
 *         self._op = Operator.power
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self._op + "(" + self.children[0].__repr__() + "," + str(self.expo) + ")"
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.PowExpr.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":781
 *         return self._op + "(" + self.children[0].__repr__() + "," + str(self.expo) + ")"
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         return (<GenExpr>self.children[0])._evaluate(sol) ** self.expo
 * 
*/

static PyObject *__pyx_pw_9pyscipopt_4scip_7PowExpr_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_9pyscipopt_4scip_7PowExpr__evaluate(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch) {
  double __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  double __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (
  #if !CYTHON_USE_TYPE_SLOTS
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PowExpr &&
  __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
  #else
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
  #endif
  ) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 781, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_9pyscipopt_4scip_7PowExpr_5_evaluate)) {
        __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_4 = __pyx_t_1; 
        __pyx_t_5 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
          assert(__pyx_t_3);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
          __pyx_t_5 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_sol)};
          __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 781, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 781, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_r = __pyx_t_6;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "src/pyscipopt/expr.pxi":782
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
 *         return (<GenExpr>self.children[0])._evaluate(sol) ** self.expo             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base.children, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __pyx_t_4;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_sol)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_evaluate, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = PyNumber_Power(__pyx_t_1, __pyx_v_self->expo, Py_None); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 782, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":781
 *         return self._op + "(" + self.children[0].__repr__() + "," + str(self.expo) + ")"
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         return (<GenExpr>self.children[0])._evaluate(sol) ** self.expo
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.PowExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7PowExpr_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7PowExpr_5_evaluate = {"_evaluate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7PowExpr_5_evaluate, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7PowExpr_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_evaluate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 781, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 781, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_evaluate", 0) < (0)) __PYX_ERR(3, 781, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, i); __PYX_ERR(3, 781, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 781, __pyx_L3_error)
    }
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 781, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PowExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(3, 781, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7PowExpr_4_evaluate(((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_v_self), __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7PowExpr_4_evaluate(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_7PowExpr__evaluate(__pyx_v_self, __pyx_v_sol, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 781, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PowExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":771
 * cdef class PowExpr(GenExpr):
 * 
 *     cdef public expo             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7PowExpr_4expo_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7PowExpr_4expo_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7PowExpr_4expo___get__(((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7PowExpr_4expo___get__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->expo);
  __pyx_r = __pyx_v_self->expo;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7PowExpr_4expo_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7PowExpr_4expo_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7PowExpr_4expo_2__set__(((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7PowExpr_4expo_2__set__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->expo);
  __Pyx_DECREF(__pyx_v_self->expo);
  __pyx_v_self->expo = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7PowExpr_4expo_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7PowExpr_4expo_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7PowExpr_4expo_4__del__(((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7PowExpr_4expo_4__del__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->expo);
  __Pyx_DECREF(__pyx_v_self->expo);
  __pyx_v_self->expo = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7PowExpr_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7PowExpr_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7PowExpr_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7PowExpr_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7PowExpr_6__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7PowExpr_6__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._op, self.children, self.expo)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->__pyx_base._op);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base._op);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->__pyx_base._op) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.children);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.children);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->__pyx_base.children) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->expo);
  __Pyx_GIVEREF(__pyx_v_self->expo);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->expo) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._op, self.children, self.expo)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self._op, self.children, self.expo)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.expo is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._op, self.children, self.expo)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.expo is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PowExpr, (type(self), 0x4cfb19d, None), state
*/
  /*else*/ {
    __pyx_t_3 = (__pyx_v_self->__pyx_base._op != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->__pyx_base.children != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->expo != Py_None);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.expo is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PowExpr, (type(self), 0x4cfb19d, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self._op is not None or self.children is not None or self.expo is not None
 *     if use_setstate:
 *         return __pyx_unpickle_PowExpr, (type(self), 0x4cfb19d, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PowExpr, (type(self), 0x4cfb19d, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PowExpr); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_80720285);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_80720285);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_80720285) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.expo is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PowExpr, (type(self), 0x4cfb19d, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PowExpr, (type(self), 0x4cfb19d, None), state
 *     else:
 *         return __pyx_unpickle_PowExpr, (type(self), 0x4cfb19d, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PowExpr__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PowExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_80720285);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_80720285);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_80720285) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PowExpr.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PowExpr, (type(self), 0x4cfb19d, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PowExpr__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7PowExpr_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7PowExpr_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7PowExpr_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7PowExpr_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PowExpr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7PowExpr_8__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7PowExpr_8__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PowExpr, (type(self), 0x4cfb19d, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PowExpr__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PowExpr__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PowExpr, (type(self), 0x4cfb19d, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PowExpr__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PowExpr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":787
 * # Exp, Log, Sqrt, Sin, Cos Expressions
 * cdef class UnaryExpr(GenExpr):
 *     def __init__(self, op, expr):             # <<<<<<<<<<<<<<
 *         self.children = []
 *         self.children.append(expr)
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_9UnaryExpr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_9UnaryExpr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_op = 0;
  PyObject *__pyx_v_expr = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_op,&__pyx_mstate_global->__pyx_n_u_expr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 787, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 787, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 787, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 787, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(3, 787, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 787, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 787, __pyx_L3_error)
    }
    __pyx_v_op = values[0];
    __pyx_v_expr = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 787, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.UnaryExpr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9UnaryExpr___init__(((struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *)__pyx_v_self), __pyx_v_op, __pyx_v_expr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_9UnaryExpr___init__(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self, PyObject *__pyx_v_op, PyObject *__pyx_v_expr) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "src/pyscipopt/expr.pxi":788
 * cdef class UnaryExpr(GenExpr):
 *     def __init__(self, op, expr):
 *         self.children = []             # <<<<<<<<<<<<<<
 *         self.children.append(expr)
 *         self._op = op
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->__pyx_base.children);
  __Pyx_DECREF(__pyx_v_self->__pyx_base.children);
  __pyx_v_self->__pyx_base.children = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":789
 *     def __init__(self, op, expr):
 *         self.children = []
 *         self.children.append(expr)             # <<<<<<<<<<<<<<
 *         self._op = op
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_Append(__pyx_v_self->__pyx_base.children, __pyx_v_expr); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(3, 789, __pyx_L1_error)

  /* "src/pyscipopt/expr.pxi":790
 *         self.children = []
 *         self.children.append(expr)
 *         self._op = op             # <<<<<<<<<<<<<<
 * 
 *     def __abs__(self) -> UnaryExpr:
*/
  __Pyx_INCREF(__pyx_v_op);
  __Pyx_GIVEREF(__pyx_v_op);
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._op);
  __Pyx_DECREF(__pyx_v_self->__pyx_base._op);
  __pyx_v_self->__pyx_base._op = __pyx_v_op;

  /* "src/pyscipopt/expr.pxi":787
 * # Exp, Log, Sqrt, Sin, Cos Expressions
 * cdef class UnaryExpr(GenExpr):
 *     def __init__(self, op, expr):             # <<<<<<<<<<<<<<
 *         self.children = []
 *         self.children.append(expr)
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.UnaryExpr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":792
 *         self._op = op
 * 
 *     def __abs__(self) -> UnaryExpr:             # <<<<<<<<<<<<<<
 *         if self._op == "abs":
 *             return <UnaryExpr>self.copy()
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9UnaryExpr_3__abs__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_9UnaryExpr_3__abs__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__abs__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9UnaryExpr_2__abs__(((struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9UnaryExpr_2__abs__(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__abs__", 0);

  /* "src/pyscipopt/expr.pxi":793
 * 
 *     def __abs__(self) -> UnaryExpr:
 *         if self._op == "abs":             # <<<<<<<<<<<<<<
 *             return <UnaryExpr>self.copy()
 *         return UnaryExpr(Operator.fabs, self)
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_self->__pyx_base._op, __pyx_mstate_global->__pyx_n_u_abs, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(3, 793, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/expr.pxi":794
 *     def __abs__(self) -> UnaryExpr:
 *         if self._op == "abs":
 *             return <UnaryExpr>self.copy()             # <<<<<<<<<<<<<<
 *         return UnaryExpr(Operator.fabs, self)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = ((PyObject *)((struct __pyx_vtabstruct_9pyscipopt_4scip_UnaryExpr *)__pyx_v_self->__pyx_base.__pyx_vtab)->__pyx_base.copy(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v_self), NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 794, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *)__pyx_t_2));
    __pyx_r = __pyx_t_2;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":793
 * 
 *     def __abs__(self) -> UnaryExpr:
 *         if self._op == "abs":             # <<<<<<<<<<<<<<
 *             return <UnaryExpr>self.copy()
 *         return UnaryExpr(Operator.fabs, self)
*/
  }

  /* "src/pyscipopt/expr.pxi":795
 *         if self._op == "abs":
 *             return <UnaryExpr>self.copy()
 *         return UnaryExpr(Operator.fabs, self)             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_fabs); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_t_5, ((PyObject *)__pyx_v_self)};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 795, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_r = ((PyObject *)__pyx_t_2);
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":792
 *         self._op = op
 * 
 *     def __abs__(self) -> UnaryExpr:             # <<<<<<<<<<<<<<
 *         if self._op == "abs":
 *             return <UnaryExpr>self.copy()
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.UnaryExpr.__abs__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":797
 *         return UnaryExpr(Operator.fabs, self)
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self._op + "(" + self.children[0].__repr__() + ")"
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9UnaryExpr_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_9UnaryExpr_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9UnaryExpr_4__repr__(((struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9UnaryExpr_4__repr__(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/expr.pxi":798
 * 
 *     def __repr__(self):
 *         return self._op + "(" + self.children[0].__repr__() + ")"             # <<<<<<<<<<<<<<
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyNumber_Add(__pyx_v_self->__pyx_base._op, __pyx_mstate_global->__pyx_kp_u__7); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base.children, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __pyx_t_4;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_repr, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_4 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_mstate_global->__pyx_kp_u__5); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":797
 *         return UnaryExpr(Operator.fabs, self)
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self._op + "(" + self.children[0].__repr__() + ")"
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.UnaryExpr.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":800
 *         return self._op + "(" + self.children[0].__repr__() + ")"
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = (<GenExpr>self.children[0])._evaluate(sol)
 *         return math.fabs(res) if self._op == "abs" else getattr(math, self._op)(res)
*/

static PyObject *__pyx_pw_9pyscipopt_4scip_9UnaryExpr_7_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_9pyscipopt_4scip_9UnaryExpr__evaluate(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch) {
  double __pyx_v_res;
  double __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  double __pyx_t_6;
  int __pyx_t_7;
  double __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (
  #if !CYTHON_USE_TYPE_SLOTS
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr &&
  __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
  #else
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
  #endif
  ) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 800, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_9pyscipopt_4scip_9UnaryExpr_7_evaluate)) {
        __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_4 = __pyx_t_1; 
        __pyx_t_5 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
          assert(__pyx_t_3);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
          __pyx_t_5 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_sol)};
          __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 800, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 800, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_r = __pyx_t_6;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "src/pyscipopt/expr.pxi":801
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
 *         cdef double res = (<GenExpr>self.children[0])._evaluate(sol)             # <<<<<<<<<<<<<<
 *         return math.fabs(res) if self._op == "abs" else getattr(math, self._op)(res)
 * 
*/
  __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_self->__pyx_base.children, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __pyx_t_4;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_sol)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_evaluate, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 801, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 801, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_res = __pyx_t_6;

  /* "src/pyscipopt/expr.pxi":802
 *     cpdef double _evaluate(self, Solution sol) except *:
 *         cdef double res = (<GenExpr>self.children[0])._evaluate(sol)
 *         return math.fabs(res) if self._op == "abs" else getattr(math, self._op)(res)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_v_self->__pyx_base._op, __pyx_mstate_global->__pyx_n_u_abs, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(3, 802, __pyx_L1_error)
  if (__pyx_t_7) {
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_math); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_fabs); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyFloat_FromDouble(__pyx_v_res); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 802, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_8 = __Pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 802, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_6 = __pyx_t_8;
  } else {
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_math); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __pyx_v_self->__pyx_base._op;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_9 = __Pyx_GetAttr(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyFloat_FromDouble(__pyx_v_res); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 802, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_9))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 802, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_8 = __Pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 802, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_6 = __pyx_t_8;
  }
  __pyx_r = __pyx_t_6;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":800
 *         return self._op + "(" + self.children[0].__repr__() + ")"
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = (<GenExpr>self.children[0])._evaluate(sol)
 *         return math.fabs(res) if self._op == "abs" else getattr(math, self._op)(res)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.UnaryExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9UnaryExpr_7_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9UnaryExpr_7_evaluate = {"_evaluate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9UnaryExpr_7_evaluate, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_9UnaryExpr_7_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_evaluate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 800, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 800, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_evaluate", 0) < (0)) __PYX_ERR(3, 800, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, i); __PYX_ERR(3, 800, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 800, __pyx_L3_error)
    }
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 800, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.UnaryExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(3, 800, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9UnaryExpr_6_evaluate(((struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *)__pyx_v_self), __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9UnaryExpr_6_evaluate(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_9UnaryExpr__evaluate(__pyx_v_self, __pyx_v_sol, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 800, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.UnaryExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9UnaryExpr_9__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9UnaryExpr_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9UnaryExpr_9__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_9UnaryExpr_9__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9UnaryExpr_8__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9UnaryExpr_8__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._op, self.children)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->__pyx_base._op);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base._op);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->__pyx_base._op) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.children);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.children);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->__pyx_base.children) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._op, self.children)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self._op, self.children)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._op is not None or self.children is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._op, self.children)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._op is not None or self.children is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_UnaryExpr, (type(self), 0xccaf182, None), state
*/
  /*else*/ {
    __pyx_t_3 = (__pyx_v_self->__pyx_base._op != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->__pyx_base.children != Py_None);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_UnaryExpr, (type(self), 0xccaf182, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self._op is not None or self.children is not None
 *     if use_setstate:
 *         return __pyx_unpickle_UnaryExpr, (type(self), 0xccaf182, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_UnaryExpr, (type(self), 0xccaf182, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_UnaryExpr); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_214626690);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_214626690);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_214626690) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_UnaryExpr, (type(self), 0xccaf182, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_UnaryExpr, (type(self), 0xccaf182, None), state
 *     else:
 *         return __pyx_unpickle_UnaryExpr, (type(self), 0xccaf182, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_UnaryExpr__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_UnaryExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_214626690);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_214626690);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_214626690) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.UnaryExpr.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_UnaryExpr, (type(self), 0xccaf182, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_UnaryExpr__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9UnaryExpr_11__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9UnaryExpr_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9UnaryExpr_11__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_9UnaryExpr_11__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.UnaryExpr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9UnaryExpr_10__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9UnaryExpr_10__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_UnaryExpr, (type(self), 0xccaf182, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_UnaryExpr__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_UnaryExpr__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_UnaryExpr, (type(self), 0xccaf182, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_UnaryExpr__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.UnaryExpr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":808
 * cdef class Constant(GenExpr):
 *     cdef public number
 *     def __init__(self,number):             # <<<<<<<<<<<<<<
 *         self.number = number
 *         self._op = Operator.const
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8Constant_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8Constant_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_number = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_number,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 808, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 808, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(3, 808, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, i); __PYX_ERR(3, 808, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 808, __pyx_L3_error)
    }
    __pyx_v_number = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 808, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Constant.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Constant___init__(((struct __pyx_obj_9pyscipopt_4scip_Constant *)__pyx_v_self), __pyx_v_number);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8Constant___init__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self, PyObject *__pyx_v_number) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "src/pyscipopt/expr.pxi":809
 *     cdef public number
 *     def __init__(self,number):
 *         self.number = number             # <<<<<<<<<<<<<<
 *         self._op = Operator.const
 * 
*/
  __Pyx_INCREF(__pyx_v_number);
  __Pyx_GIVEREF(__pyx_v_number);
  __Pyx_GOTREF(__pyx_v_self->number);
  __Pyx_DECREF(__pyx_v_self->number);
  __pyx_v_self->number = __pyx_v_number;

  /* "src/pyscipopt/expr.pxi":810
 *     def __init__(self,number):
 *         self.number = number
 *         self._op = Operator.const             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_const); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 810, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_self->__pyx_base._op);
  __Pyx_DECREF(__pyx_v_self->__pyx_base._op);
  __pyx_v_self->__pyx_base._op = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":808
 * cdef class Constant(GenExpr):
 *     cdef public number
 *     def __init__(self,number):             # <<<<<<<<<<<<<<
 *         self.number = number
 *         self._op = Operator.const
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Constant.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":812
 *         self._op = Operator.const
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return str(self.number)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Constant_3__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8Constant_3__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Constant_2__repr__(((struct __pyx_obj_9pyscipopt_4scip_Constant *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Constant_2__repr__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/expr.pxi":813
 * 
 *     def __repr__(self):
 *         return str(self.number)             # <<<<<<<<<<<<<<
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_Unicode(__pyx_v_self->number); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":812
 *         self._op = Operator.const
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return str(self.number)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constant.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":815
 *         return str(self.number)
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         return self.number
 * 
*/

static PyObject *__pyx_pw_9pyscipopt_4scip_8Constant_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static double __pyx_f_9pyscipopt_4scip_8Constant__evaluate(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, int __pyx_skip_dispatch) {
  double __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  double __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  /* Check if called by wrapper */
  if (unlikely(__pyx_skip_dispatch)) ;
  /* Check if overridden in Python */
  else if (
  #if !CYTHON_USE_TYPE_SLOTS
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self)) != __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constant &&
  __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), Py_TPFLAGS_HAVE_GC))
  #else
  unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0 || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))
  #endif
  ) {
    #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
    if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
      PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      #endif
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 815, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (!__Pyx_IsSameCFunction(__pyx_t_1, (void(*)(void)) __pyx_pw_9pyscipopt_4scip_8Constant_5_evaluate)) {
        __pyx_t_3 = NULL;
        __Pyx_INCREF(__pyx_t_1);
        __pyx_t_4 = __pyx_t_1; 
        __pyx_t_5 = 1;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
          assert(__pyx_t_3);
          PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(__pyx__function);
          __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
          __pyx_t_5 = 0;
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_sol)};
          __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 815, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 815, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_r = __pyx_t_6;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        goto __pyx_L0;
      }
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
      __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
      __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
      if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
        __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
      }
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
    }
    #endif
  }

  /* "src/pyscipopt/expr.pxi":816
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:
 *         return self.number             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_self->number); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) __PYX_ERR(3, 816, __pyx_L1_error)
  __pyx_r = __pyx_t_6;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":815
 *         return str(self.number)
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         return self.number
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Constant._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Constant_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Constant_5_evaluate = {"_evaluate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Constant_5_evaluate, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Constant_5_evaluate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_evaluate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 815, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 815, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_evaluate", 0) < (0)) __PYX_ERR(3, 815, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, i); __PYX_ERR(3, 815, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 815, __pyx_L3_error)
    }
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 815, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Constant._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(3, 815, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Constant_4_evaluate(((struct __pyx_obj_9pyscipopt_4scip_Constant *)__pyx_v_self), __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Constant_4_evaluate(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  double __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Constant__evaluate(__pyx_v_self, __pyx_v_sol, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(3, 815, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Constant._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":807
 * # class for constant expressions
 * cdef class Constant(GenExpr):
 *     cdef public number             # <<<<<<<<<<<<<<
 *     def __init__(self,number):
 *         self.number = number
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Constant_6number_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8Constant_6number_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Constant_6number___get__(((struct __pyx_obj_9pyscipopt_4scip_Constant *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Constant_6number___get__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->number);
  __pyx_r = __pyx_v_self->number;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8Constant_6number_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8Constant_6number_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Constant_6number_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Constant *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8Constant_6number_2__set__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->number);
  __Pyx_DECREF(__pyx_v_self->number);
  __pyx_v_self->number = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8Constant_6number_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8Constant_6number_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Constant_6number_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Constant *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8Constant_6number_4__del__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->number);
  __Pyx_DECREF(__pyx_v_self->number);
  __pyx_v_self->number = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Constant_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Constant_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Constant_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Constant_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Constant_6__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Constant *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Constant_6__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self._op, self.children, self.number)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_self->__pyx_base._op);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base._op);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->__pyx_base._op) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->__pyx_base.children);
  __Pyx_GIVEREF(__pyx_v_self->__pyx_base.children);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->__pyx_base.children) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->number);
  __Pyx_GIVEREF(__pyx_v_self->number);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->number) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self._op, self.children, self.number)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self._op, self.children, self.number)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.number is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self._op, self.children, self.number)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.number is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Constant, (type(self), 0x7e75df4, None), state
*/
  /*else*/ {
    __pyx_t_3 = (__pyx_v_self->__pyx_base._op != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->__pyx_base.children != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->number != Py_None);
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.number is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Constant, (type(self), 0x7e75df4, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self._op is not None or self.children is not None or self.number is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Constant, (type(self), 0x7e75df4, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Constant, (type(self), 0x7e75df4, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Constant); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_132603380);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_132603380);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_132603380) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self._op is not None or self.children is not None or self.number is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Constant, (type(self), 0x7e75df4, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Constant, (type(self), 0x7e75df4, None), state
 *     else:
 *         return __pyx_unpickle_Constant, (type(self), 0x7e75df4, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Constant__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Constant); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_132603380);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_132603380);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_132603380) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Constant.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Constant, (type(self), 0x7e75df4, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Constant__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Constant_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Constant_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Constant_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Constant_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Constant.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Constant_8__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Constant *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Constant_8__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Constant, (type(self), 0x7e75df4, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Constant__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Constant__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Constant, (type(self), 0x7e75df4, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Constant__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Constant.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":819
 * 
 * 
 * def exp(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with exp-function"""
 *     if isinstance(expr, MatrixExpr):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_11exp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10exp, "returns expression with exp-function");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_11exp = {"exp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11exp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10exp};
static PyObject *__pyx_pw_9pyscipopt_4scip_11exp(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_expr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("exp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_expr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 819, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 819, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "exp", 0) < (0)) __PYX_ERR(3, 819, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("exp", 1, 1, 1, i); __PYX_ERR(3, 819, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 819, __pyx_L3_error)
    }
    __pyx_v_expr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("exp", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 819, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.exp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10exp(__pyx_self, __pyx_v_expr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10exp(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr) {
  PyObject *__pyx_v_unary_exprs = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("exp", 0);

  /* "src/pyscipopt/expr.pxi":821
 * def exp(expr):
 *     """returns expression with exp-function"""
 *     if isinstance(expr, MatrixExpr):             # <<<<<<<<<<<<<<
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_MatrixExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_expr, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(3, 821, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "src/pyscipopt/expr.pxi":822
 *     """returns expression with exp-function"""
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.exp, buildGenExprObj(expr[idx]))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_3, NULL};
      __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 822, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_shape, __pyx_t_4, __pyx_t_7, __pyx_callargs+1, 0) < (0)) __PYX_ERR(3, 822, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_7, __pyx_callargs+1, 1) < (0)) __PYX_ERR(3, 822, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 822, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_unary_exprs = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":823
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):             # <<<<<<<<<<<<<<
 *             unary_exprs[idx] = UnaryExpr(Operator.exp, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 823, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
      __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 823, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 823, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 823, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 823, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8));
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 823, __pyx_L1_error)
      } else {
        __pyx_t_1 = __pyx_t_9(__pyx_t_4);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(3, 823, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "src/pyscipopt/expr.pxi":824
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.exp, buildGenExprObj(expr[idx]))             # <<<<<<<<<<<<<<
 *         return unary_exprs.view(MatrixGenExpr)
 *     else:
*/
      __pyx_t_7 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 824, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_exp); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 824, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_10 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 824, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_expr, __pyx_v_idx); if (unlikely(!__pyx_t_12)) __PYX_ERR(3, 824, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_11))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
        assert(__pyx_t_10);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_12};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 824, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_3, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 824, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_1);
      }
      if (unlikely((PyObject_SetItem(__pyx_v_unary_exprs, __pyx_v_idx, ((PyObject *)__pyx_t_1)) < 0))) __PYX_ERR(3, 824, __pyx_L1_error)
      __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;

      /* "src/pyscipopt/expr.pxi":823
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):             # <<<<<<<<<<<<<<
 *             unary_exprs[idx] = UnaryExpr(Operator.exp, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)
*/
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/expr.pxi":825
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.exp, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)             # <<<<<<<<<<<<<<
 *     else:
 *         return UnaryExpr(Operator.exp, buildGenExprObj(expr))
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __pyx_v_unary_exprs;
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_MatrixGenExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 825, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":821
 * def exp(expr):
 *     """returns expression with exp-function"""
 *     if isinstance(expr, MatrixExpr):             # <<<<<<<<<<<<<<
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
*/
  }

  /* "src/pyscipopt/expr.pxi":827
 *         return unary_exprs.view(MatrixGenExpr)
 *     else:
 *         return UnaryExpr(Operator.exp, buildGenExprObj(expr))             # <<<<<<<<<<<<<<
 * 
 * def log(expr):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exp); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_7 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_11);
      assert(__pyx_t_7);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_expr};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 827, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_t_1};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 827, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_r = ((PyObject *)__pyx_t_4);
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/expr.pxi":819
 * 
 * 
 * def exp(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with exp-function"""
 *     if isinstance(expr, MatrixExpr):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("pyscipopt.scip.exp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_unary_exprs);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":829
 *         return UnaryExpr(Operator.exp, buildGenExprObj(expr))
 * 
 * def log(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with log-function"""
 *     if isinstance(expr, MatrixExpr):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_13log(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_12log, "returns expression with log-function");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_13log = {"log", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_13log, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_12log};
static PyObject *__pyx_pw_9pyscipopt_4scip_13log(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_expr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("log (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_expr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 829, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 829, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "log", 0) < (0)) __PYX_ERR(3, 829, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("log", 1, 1, 1, i); __PYX_ERR(3, 829, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 829, __pyx_L3_error)
    }
    __pyx_v_expr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("log", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 829, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.log", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_12log(__pyx_self, __pyx_v_expr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_12log(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr) {
  PyObject *__pyx_v_unary_exprs = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("log", 0);

  /* "src/pyscipopt/expr.pxi":831
 * def log(expr):
 *     """returns expression with log-function"""
 *     if isinstance(expr, MatrixExpr):             # <<<<<<<<<<<<<<
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_MatrixExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_expr, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(3, 831, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "src/pyscipopt/expr.pxi":832
 *     """returns expression with log-function"""
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.log, buildGenExprObj(expr[idx]))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_3, NULL};
      __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_shape, __pyx_t_4, __pyx_t_7, __pyx_callargs+1, 0) < (0)) __PYX_ERR(3, 832, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_7, __pyx_callargs+1, 1) < (0)) __PYX_ERR(3, 832, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_unary_exprs = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":833
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):             # <<<<<<<<<<<<<<
 *             unary_exprs[idx] = UnaryExpr(Operator.log, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 833, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
      __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 833, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 833, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 833, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 833, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8));
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 833, __pyx_L1_error)
      } else {
        __pyx_t_1 = __pyx_t_9(__pyx_t_4);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(3, 833, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "src/pyscipopt/expr.pxi":834
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.log, buildGenExprObj(expr[idx]))             # <<<<<<<<<<<<<<
 *         return unary_exprs.view(MatrixGenExpr)
 *     else:
*/
      __pyx_t_7 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 834, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_log); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 834, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_10 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 834, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_expr, __pyx_v_idx); if (unlikely(!__pyx_t_12)) __PYX_ERR(3, 834, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_11))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
        assert(__pyx_t_10);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_12};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 834, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_3, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 834, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_1);
      }
      if (unlikely((PyObject_SetItem(__pyx_v_unary_exprs, __pyx_v_idx, ((PyObject *)__pyx_t_1)) < 0))) __PYX_ERR(3, 834, __pyx_L1_error)
      __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;

      /* "src/pyscipopt/expr.pxi":833
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):             # <<<<<<<<<<<<<<
 *             unary_exprs[idx] = UnaryExpr(Operator.log, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)
*/
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/expr.pxi":835
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.log, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)             # <<<<<<<<<<<<<<
 *     else:
 *         return UnaryExpr(Operator.log, buildGenExprObj(expr))
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __pyx_v_unary_exprs;
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_MatrixGenExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 835, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 835, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":831
 * def log(expr):
 *     """returns expression with log-function"""
 *     if isinstance(expr, MatrixExpr):             # <<<<<<<<<<<<<<
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
*/
  }

  /* "src/pyscipopt/expr.pxi":837
 *         return unary_exprs.view(MatrixGenExpr)
 *     else:
 *         return UnaryExpr(Operator.log, buildGenExprObj(expr))             # <<<<<<<<<<<<<<
 * 
 * def sqrt(expr):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_log); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_7 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_11);
      assert(__pyx_t_7);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_expr};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 837, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_t_1};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 837, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_r = ((PyObject *)__pyx_t_4);
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/expr.pxi":829
 *         return UnaryExpr(Operator.exp, buildGenExprObj(expr))
 * 
 * def log(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with log-function"""
 *     if isinstance(expr, MatrixExpr):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("pyscipopt.scip.log", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_unary_exprs);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":839
 *         return UnaryExpr(Operator.log, buildGenExprObj(expr))
 * 
 * def sqrt(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with sqrt-function"""
 *     if isinstance(expr, MatrixExpr):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_15sqrt(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14sqrt, "returns expression with sqrt-function");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_15sqrt = {"sqrt", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_15sqrt, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14sqrt};
static PyObject *__pyx_pw_9pyscipopt_4scip_15sqrt(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_expr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sqrt (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_expr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 839, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 839, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "sqrt", 0) < (0)) __PYX_ERR(3, 839, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("sqrt", 1, 1, 1, i); __PYX_ERR(3, 839, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 839, __pyx_L3_error)
    }
    __pyx_v_expr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("sqrt", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 839, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.sqrt", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14sqrt(__pyx_self, __pyx_v_expr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14sqrt(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr) {
  PyObject *__pyx_v_unary_exprs = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("sqrt", 0);

  /* "src/pyscipopt/expr.pxi":841
 * def sqrt(expr):
 *     """returns expression with sqrt-function"""
 *     if isinstance(expr, MatrixExpr):             # <<<<<<<<<<<<<<
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_MatrixExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_expr, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(3, 841, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "src/pyscipopt/expr.pxi":842
 *     """returns expression with sqrt-function"""
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.sqrt, buildGenExprObj(expr[idx]))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 842, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_3, NULL};
      __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 842, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_shape, __pyx_t_4, __pyx_t_7, __pyx_callargs+1, 0) < (0)) __PYX_ERR(3, 842, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_7, __pyx_callargs+1, 1) < (0)) __PYX_ERR(3, 842, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 842, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_unary_exprs = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":843
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):             # <<<<<<<<<<<<<<
 *             unary_exprs[idx] = UnaryExpr(Operator.sqrt, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
      __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 843, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 843, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 843, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 843, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8));
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 843, __pyx_L1_error)
      } else {
        __pyx_t_1 = __pyx_t_9(__pyx_t_4);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(3, 843, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "src/pyscipopt/expr.pxi":844
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.sqrt, buildGenExprObj(expr[idx]))             # <<<<<<<<<<<<<<
 *         return unary_exprs.view(MatrixGenExpr)
 *     else:
*/
      __pyx_t_7 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 844, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_sqrt); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 844, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_10 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 844, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_expr, __pyx_v_idx); if (unlikely(!__pyx_t_12)) __PYX_ERR(3, 844, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_11))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
        assert(__pyx_t_10);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_12};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 844, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_3, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 844, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_1);
      }
      if (unlikely((PyObject_SetItem(__pyx_v_unary_exprs, __pyx_v_idx, ((PyObject *)__pyx_t_1)) < 0))) __PYX_ERR(3, 844, __pyx_L1_error)
      __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;

      /* "src/pyscipopt/expr.pxi":843
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):             # <<<<<<<<<<<<<<
 *             unary_exprs[idx] = UnaryExpr(Operator.sqrt, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)
*/
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/expr.pxi":845
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.sqrt, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)             # <<<<<<<<<<<<<<
 *     else:
 *         return UnaryExpr(Operator.sqrt, buildGenExprObj(expr))
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __pyx_v_unary_exprs;
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_MatrixGenExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 845, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 845, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":841
 * def sqrt(expr):
 *     """returns expression with sqrt-function"""
 *     if isinstance(expr, MatrixExpr):             # <<<<<<<<<<<<<<
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
*/
  }

  /* "src/pyscipopt/expr.pxi":847
 *         return unary_exprs.view(MatrixGenExpr)
 *     else:
 *         return UnaryExpr(Operator.sqrt, buildGenExprObj(expr))             # <<<<<<<<<<<<<<
 * 
 * def sin(expr):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_sqrt); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_7 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_11);
      assert(__pyx_t_7);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_expr};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 847, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_t_1};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 847, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_r = ((PyObject *)__pyx_t_4);
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/expr.pxi":839
 *         return UnaryExpr(Operator.log, buildGenExprObj(expr))
 * 
 * def sqrt(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with sqrt-function"""
 *     if isinstance(expr, MatrixExpr):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("pyscipopt.scip.sqrt", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_unary_exprs);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":849
 *         return UnaryExpr(Operator.sqrt, buildGenExprObj(expr))
 * 
 * def sin(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with sin-function"""
 *     if isinstance(expr, MatrixExpr):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_17sin(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16sin, "returns expression with sin-function");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_17sin = {"sin", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17sin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16sin};
static PyObject *__pyx_pw_9pyscipopt_4scip_17sin(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_expr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sin (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_expr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 849, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 849, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "sin", 0) < (0)) __PYX_ERR(3, 849, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("sin", 1, 1, 1, i); __PYX_ERR(3, 849, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 849, __pyx_L3_error)
    }
    __pyx_v_expr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("sin", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 849, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.sin", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16sin(__pyx_self, __pyx_v_expr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16sin(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr) {
  PyObject *__pyx_v_unary_exprs = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("sin", 0);

  /* "src/pyscipopt/expr.pxi":851
 * def sin(expr):
 *     """returns expression with sin-function"""
 *     if isinstance(expr, MatrixExpr):             # <<<<<<<<<<<<<<
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_MatrixExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_expr, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(3, 851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "src/pyscipopt/expr.pxi":852
 *     """returns expression with sin-function"""
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.sin, buildGenExprObj(expr[idx]))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 852, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 852, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 852, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_3, NULL};
      __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 852, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_shape, __pyx_t_4, __pyx_t_7, __pyx_callargs+1, 0) < (0)) __PYX_ERR(3, 852, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_7, __pyx_callargs+1, 1) < (0)) __PYX_ERR(3, 852, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 852, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_unary_exprs = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":853
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):             # <<<<<<<<<<<<<<
 *             unary_exprs[idx] = UnaryExpr(Operator.sin, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
      __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 853, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 853, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 853, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8));
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 853, __pyx_L1_error)
      } else {
        __pyx_t_1 = __pyx_t_9(__pyx_t_4);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(3, 853, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "src/pyscipopt/expr.pxi":854
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.sin, buildGenExprObj(expr[idx]))             # <<<<<<<<<<<<<<
 *         return unary_exprs.view(MatrixGenExpr)
 *     else:
*/
      __pyx_t_7 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 854, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_sin); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 854, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_10 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 854, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_expr, __pyx_v_idx); if (unlikely(!__pyx_t_12)) __PYX_ERR(3, 854, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_11))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
        assert(__pyx_t_10);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_12};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 854, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_3, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 854, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_1);
      }
      if (unlikely((PyObject_SetItem(__pyx_v_unary_exprs, __pyx_v_idx, ((PyObject *)__pyx_t_1)) < 0))) __PYX_ERR(3, 854, __pyx_L1_error)
      __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;

      /* "src/pyscipopt/expr.pxi":853
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):             # <<<<<<<<<<<<<<
 *             unary_exprs[idx] = UnaryExpr(Operator.sin, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)
*/
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/expr.pxi":855
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.sin, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)             # <<<<<<<<<<<<<<
 *     else:
 *         return UnaryExpr(Operator.sin, buildGenExprObj(expr))
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __pyx_v_unary_exprs;
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_MatrixGenExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 855, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 855, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":851
 * def sin(expr):
 *     """returns expression with sin-function"""
 *     if isinstance(expr, MatrixExpr):             # <<<<<<<<<<<<<<
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
*/
  }

  /* "src/pyscipopt/expr.pxi":857
 *         return unary_exprs.view(MatrixGenExpr)
 *     else:
 *         return UnaryExpr(Operator.sin, buildGenExprObj(expr))             # <<<<<<<<<<<<<<
 * 
 * def cos(expr):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_sin); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_7 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_11);
      assert(__pyx_t_7);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_expr};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 857, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_t_1};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 857, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_r = ((PyObject *)__pyx_t_4);
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/expr.pxi":849
 *         return UnaryExpr(Operator.sqrt, buildGenExprObj(expr))
 * 
 * def sin(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with sin-function"""
 *     if isinstance(expr, MatrixExpr):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("pyscipopt.scip.sin", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_unary_exprs);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":859
 *         return UnaryExpr(Operator.sin, buildGenExprObj(expr))
 * 
 * def cos(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with cos-function"""
 *     if isinstance(expr, MatrixExpr):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_19cos(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_18cos, "returns expression with cos-function");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_19cos = {"cos", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_19cos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_18cos};
static PyObject *__pyx_pw_9pyscipopt_4scip_19cos(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_expr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cos (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_expr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 859, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 859, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cos", 0) < (0)) __PYX_ERR(3, 859, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cos", 1, 1, 1, i); __PYX_ERR(3, 859, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 859, __pyx_L3_error)
    }
    __pyx_v_expr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cos", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 859, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.cos", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_18cos(__pyx_self, __pyx_v_expr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_18cos(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr) {
  PyObject *__pyx_v_unary_exprs = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cos", 0);

  /* "src/pyscipopt/expr.pxi":861
 * def cos(expr):
 *     """returns expression with cos-function"""
 *     if isinstance(expr, MatrixExpr):             # <<<<<<<<<<<<<<
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_MatrixExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_expr, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(3, 861, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "src/pyscipopt/expr.pxi":862
 *     """returns expression with cos-function"""
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.cos, buildGenExprObj(expr[idx]))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 862, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_3, NULL};
      __pyx_t_7 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 862, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_shape, __pyx_t_4, __pyx_t_7, __pyx_callargs+1, 0) < (0)) __PYX_ERR(3, 862, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_7, __pyx_callargs+1, 1) < (0)) __PYX_ERR(3, 862, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_7);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 862, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_unary_exprs = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":863
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):             # <<<<<<<<<<<<<<
 *             unary_exprs[idx] = UnaryExpr(Operator.cos, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 863, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 863, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
      __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_8 = 0;
      __pyx_t_9 = NULL;
    } else {
      __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 863, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 863, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    for (;;) {
      if (likely(!__pyx_t_9)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 863, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_8;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 863, __pyx_L1_error)
            #endif
            if (__pyx_t_8 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8));
          #else
          __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_8);
          #endif
          ++__pyx_t_8;
        }
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 863, __pyx_L1_error)
      } else {
        __pyx_t_1 = __pyx_t_9(__pyx_t_4);
        if (unlikely(!__pyx_t_1)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(3, 863, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "src/pyscipopt/expr.pxi":864
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.cos, buildGenExprObj(expr[idx]))             # <<<<<<<<<<<<<<
 *         return unary_exprs.view(MatrixGenExpr)
 *     else:
*/
      __pyx_t_7 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_cos); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_10 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_expr, __pyx_v_idx); if (unlikely(!__pyx_t_12)) __PYX_ERR(3, 864, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_12);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_11))) {
        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
        assert(__pyx_t_10);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_10);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_12};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 864, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_t_3, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 864, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_1);
      }
      if (unlikely((PyObject_SetItem(__pyx_v_unary_exprs, __pyx_v_idx, ((PyObject *)__pyx_t_1)) < 0))) __PYX_ERR(3, 864, __pyx_L1_error)
      __Pyx_DECREF((PyObject *)__pyx_t_1); __pyx_t_1 = 0;

      /* "src/pyscipopt/expr.pxi":863
 *     if isinstance(expr, MatrixExpr):
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):             # <<<<<<<<<<<<<<
 *             unary_exprs[idx] = UnaryExpr(Operator.cos, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)
*/
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/expr.pxi":865
 *         for idx in np.ndindex(expr.shape):
 *             unary_exprs[idx] = UnaryExpr(Operator.cos, buildGenExprObj(expr[idx]))
 *         return unary_exprs.view(MatrixGenExpr)             # <<<<<<<<<<<<<<
 *     else:
 *         return UnaryExpr(Operator.cos, buildGenExprObj(expr))
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __pyx_v_unary_exprs;
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_MatrixGenExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 865, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/expr.pxi":861
 * def cos(expr):
 *     """returns expression with cos-function"""
 *     if isinstance(expr, MatrixExpr):             # <<<<<<<<<<<<<<
 *         unary_exprs = np.empty(shape=expr.shape, dtype=object)
 *         for idx in np.ndindex(expr.shape):
*/
  }

  /* "src/pyscipopt/expr.pxi":867
 *         return unary_exprs.view(MatrixGenExpr)
 *     else:
 *         return UnaryExpr(Operator.cos, buildGenExprObj(expr))             # <<<<<<<<<<<<<<
 * 
 * def expr_to_nodes(expr):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_cos); if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_7 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_buildGenExprObj); if (unlikely(!__pyx_t_11)) __PYX_ERR(3, 867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_11);
      assert(__pyx_t_7);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_expr};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 867, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_t_1};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 867, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_4);
    }
    __pyx_r = ((PyObject *)__pyx_t_4);
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/expr.pxi":859
 *         return UnaryExpr(Operator.sin, buildGenExprObj(expr))
 * 
 * def cos(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with cos-function"""
 *     if isinstance(expr, MatrixExpr):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("pyscipopt.scip.cos", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_unary_exprs);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":869
 *         return UnaryExpr(Operator.cos, buildGenExprObj(expr))
 * 
 * def expr_to_nodes(expr):             # <<<<<<<<<<<<<<
 *     '''transforms tree to an array of nodes. each node is an operator and the position of the
 *     children of that operator (i.e. the other nodes) in the array'''
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_21expr_to_nodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_20expr_to_nodes, "transforms tree to an array of nodes. each node is an operator and the position of the \n    children of that operator (i.e. the other nodes) in the array");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_21expr_to_nodes = {"expr_to_nodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_21expr_to_nodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_20expr_to_nodes};
static PyObject *__pyx_pw_9pyscipopt_4scip_21expr_to_nodes(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_expr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("expr_to_nodes (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_expr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 869, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 869, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "expr_to_nodes", 0) < (0)) __PYX_ERR(3, 869, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("expr_to_nodes", 1, 1, 1, i); __PYX_ERR(3, 869, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 869, __pyx_L3_error)
    }
    __pyx_v_expr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("expr_to_nodes", 1, 1, 1, __pyx_nargs); __PYX_ERR(3, 869, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.expr_to_nodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_20expr_to_nodes(__pyx_self, __pyx_v_expr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_20expr_to_nodes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr) {
  PyObject *__pyx_v_nodes = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("expr_to_nodes", 0);

  /* "src/pyscipopt/expr.pxi":872
 *     '''transforms tree to an array of nodes. each node is an operator and the position of the
 *     children of that operator (i.e. the other nodes) in the array'''
 *     assert isinstance(expr, GenExpr)             # <<<<<<<<<<<<<<
 *     nodes = []
 *     expr_to_array(expr, nodes)
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_expr, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); 
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(3, 872, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(3, 872, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/expr.pxi":873
 *     children of that operator (i.e. the other nodes) in the array'''
 *     assert isinstance(expr, GenExpr)
 *     nodes = []             # <<<<<<<<<<<<<<
 *     expr_to_array(expr, nodes)
 *     return nodes
*/
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_nodes = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":874
 *     assert isinstance(expr, GenExpr)
 *     nodes = []
 *     expr_to_array(expr, nodes)             # <<<<<<<<<<<<<<
 *     return nodes
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_expr_to_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_expr, __pyx_v_nodes};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/expr.pxi":875
 *     nodes = []
 *     expr_to_array(expr, nodes)
 *     return nodes             # <<<<<<<<<<<<<<
 * 
 * def value_to_array(val, nodes):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_nodes);
  __pyx_r = __pyx_v_nodes;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":869
 *         return UnaryExpr(Operator.cos, buildGenExprObj(expr))
 * 
 * def expr_to_nodes(expr):             # <<<<<<<<<<<<<<
 *     '''transforms tree to an array of nodes. each node is an operator and the position of the
 *     children of that operator (i.e. the other nodes) in the array'''
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.expr_to_nodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_nodes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":877
 *     return nodes
 * 
 * def value_to_array(val, nodes):             # <<<<<<<<<<<<<<
 *     """adds a given value to an array"""
 *     nodes.append(tuple(['const', [val]]))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_23value_to_array(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_22value_to_array, "adds a given value to an array");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_23value_to_array = {"value_to_array", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_23value_to_array, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_22value_to_array};
static PyObject *__pyx_pw_9pyscipopt_4scip_23value_to_array(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val = 0;
  PyObject *__pyx_v_nodes = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("value_to_array (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val,&__pyx_mstate_global->__pyx_n_u_nodes,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 877, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 877, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 877, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "value_to_array", 0) < (0)) __PYX_ERR(3, 877, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("value_to_array", 1, 2, 2, i); __PYX_ERR(3, 877, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 877, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 877, __pyx_L3_error)
    }
    __pyx_v_val = values[0];
    __pyx_v_nodes = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("value_to_array", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 877, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.value_to_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_22value_to_array(__pyx_self, __pyx_v_val, __pyx_v_nodes);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_22value_to_array(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val, PyObject *__pyx_v_nodes) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("value_to_array", 0);

  /* "src/pyscipopt/expr.pxi":879
 * def value_to_array(val, nodes):
 *     """adds a given value to an array"""
 *     nodes.append(tuple(['const', [val]]))             # <<<<<<<<<<<<<<
 *     return len(nodes) - 1
 * 
*/
  __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_val);
  __Pyx_GIVEREF(__pyx_v_val);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_val) != (0)) __PYX_ERR(3, 879, __pyx_L1_error);
  __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_const);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_const);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_mstate_global->__pyx_n_u_const) != (0)) __PYX_ERR(3, 879, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_1) != (0)) __PYX_ERR(3, 879, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_1 = PyList_AsTuple(((PyObject*)__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = __Pyx_PyObject_Append(__pyx_v_nodes, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(3, 879, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":880
 *     """adds a given value to an array"""
 *     nodes.append(tuple(['const', [val]]))
 *     return len(nodes) - 1             # <<<<<<<<<<<<<<
 * 
 * # there many hacky things here: value_to_array is trying to mimick
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = PyObject_Length(__pyx_v_nodes); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(3, 880, __pyx_L1_error)
  __pyx_t_1 = PyLong_FromSsize_t((__pyx_t_4 - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":877
 *     return nodes
 * 
 * def value_to_array(val, nodes):             # <<<<<<<<<<<<<<
 *     """adds a given value to an array"""
 *     nodes.append(tuple(['const', [val]]))
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.value_to_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/expr.pxi":887
 * # also, for sums, we are not considering coefficients, because basically all coefficients are 1
 * # haven't even consider substractions, but I guess we would interpret them as a - b = a + (-1) * b
 * def expr_to_array(expr, nodes):             # <<<<<<<<<<<<<<
 *     """adds expression to array"""
 *     op = expr._op
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_25expr_to_array(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_24expr_to_array, "adds expression to array");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_25expr_to_array = {"expr_to_array", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_25expr_to_array, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_24expr_to_array};
static PyObject *__pyx_pw_9pyscipopt_4scip_25expr_to_array(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_expr = 0;
  PyObject *__pyx_v_nodes = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("expr_to_array (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_expr,&__pyx_mstate_global->__pyx_n_u_nodes,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(3, 887, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 887, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 887, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "expr_to_array", 0) < (0)) __PYX_ERR(3, 887, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("expr_to_array", 1, 2, 2, i); __PYX_ERR(3, 887, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(3, 887, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(3, 887, __pyx_L3_error)
    }
    __pyx_v_expr = values[0];
    __pyx_v_nodes = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("expr_to_array", 1, 2, 2, __pyx_nargs); __PYX_ERR(3, 887, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.expr_to_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_24expr_to_array(__pyx_self, __pyx_v_expr, __pyx_v_nodes);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_24expr_to_array(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_expr, PyObject *__pyx_v_nodes) {
  PyObject *__pyx_v_op = NULL;
  PyObject *__pyx_v_indices = NULL;
  CYTHON_UNUSED Py_ssize_t __pyx_v_nchildren;
  PyObject *__pyx_v_child = NULL;
  PyObject *__pyx_v_pos = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  PyObject *(*__pyx_t_6)(PyObject *);
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("expr_to_array", 0);

  /* "src/pyscipopt/expr.pxi":889
 * def expr_to_array(expr, nodes):
 *     """adds expression to array"""
 *     op = expr._op             # <<<<<<<<<<<<<<
 *     if op == Operator.const: # FIXME: constant expr should also have children!
 *         nodes.append(tuple([op, [expr.number]]))
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_op_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_op = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/expr.pxi":890
 *     """adds expression to array"""
 *     op = expr._op
 *     if op == Operator.const: # FIXME: constant expr should also have children!             # <<<<<<<<<<<<<<
 *         nodes.append(tuple([op, [expr.number]]))
 *     elif op != Operator.varidx:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_const); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_op, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 890, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(3, 890, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":891
 *     op = expr._op
 *     if op == Operator.const: # FIXME: constant expr should also have children!
 *         nodes.append(tuple([op, [expr.number]]))             # <<<<<<<<<<<<<<
 *     elif op != Operator.varidx:
 *         indices = []
*/
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_number); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(3, 891, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v_op);
    __Pyx_GIVEREF(__pyx_v_op);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_op) != (0)) __PYX_ERR(3, 891, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_2) != (0)) __PYX_ERR(3, 891, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_t_2 = PyList_AsTuple(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_4 = __Pyx_PyObject_Append(__pyx_v_nodes, __pyx_t_2); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(3, 891, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":890
 *     """adds expression to array"""
 *     op = expr._op
 *     if op == Operator.const: # FIXME: constant expr should also have children!             # <<<<<<<<<<<<<<
 *         nodes.append(tuple([op, [expr.number]]))
 *     elif op != Operator.varidx:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/expr.pxi":892
 *     if op == Operator.const: # FIXME: constant expr should also have children!
 *         nodes.append(tuple([op, [expr.number]]))
 *     elif op != Operator.varidx:             # <<<<<<<<<<<<<<
 *         indices = []
 *         nchildren = len(expr.children)
*/
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_varidx); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_op, __pyx_t_1, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 892, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(3, 892, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/expr.pxi":893
 *         nodes.append(tuple([op, [expr.number]]))
 *     elif op != Operator.varidx:
 *         indices = []             # <<<<<<<<<<<<<<
 *         nchildren = len(expr.children)
 *         for child in expr.children:
*/
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 893, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_v_indices = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/expr.pxi":894
 *     elif op != Operator.varidx:
 *         indices = []
 *         nchildren = len(expr.children)             # <<<<<<<<<<<<<<
 *         for child in expr.children:
 *             pos = expr_to_array(child, nodes) # position of child in the final array of nodes, 'nodes'
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_children); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 894, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(3, 894, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_v_nchildren = __pyx_t_5;

    /* "src/pyscipopt/expr.pxi":895
 *         indices = []
 *         nchildren = len(expr.children)
 *         for child in expr.children:             # <<<<<<<<<<<<<<
 *             pos = expr_to_array(child, nodes) # position of child in the final array of nodes, 'nodes'
 *             indices.append(pos)
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_children); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 895, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
      __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1);
      __pyx_t_5 = 0;
      __pyx_t_6 = NULL;
    } else {
      __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 895, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 895, __pyx_L1_error)
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    for (;;) {
      if (likely(!__pyx_t_6)) {
        if (likely(PyList_CheckExact(__pyx_t_1))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 895, __pyx_L1_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_5;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(3, 895, __pyx_L1_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5));
          #else
          __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_5);
          #endif
          ++__pyx_t_5;
        }
        if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 895, __pyx_L1_error)
      } else {
        __pyx_t_2 = __pyx_t_6(__pyx_t_1);
        if (unlikely(!__pyx_t_2)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(3, 895, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_XDECREF_SET(__pyx_v_child, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "src/pyscipopt/expr.pxi":896
 *         nchildren = len(expr.children)
 *         for child in expr.children:
 *             pos = expr_to_array(child, nodes) # position of child in the final array of nodes, 'nodes'             # <<<<<<<<<<<<<<
 *             indices.append(pos)
 *         if op == Operator.power:
*/
      __pyx_t_7 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_expr_to_array); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 896, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_8))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8);
        assert(__pyx_t_7);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
        __pyx_t_9 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_v_child, __pyx_v_nodes};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 896, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_XDECREF_SET(__pyx_v_pos, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "src/pyscipopt/expr.pxi":897
 *         for child in expr.children:
 *             pos = expr_to_array(child, nodes) # position of child in the final array of nodes, 'nodes'
 *             indices.append(pos)             # <<<<<<<<<<<<<<
 *         if op == Operator.power:
 *             pos = value_to_array(expr.expo, nodes)
*/
      __pyx_t_4 = __Pyx_PyList_Append(__pyx_v_indices, __pyx_v_pos); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(3, 897, __pyx_L1_error)

      /* "src/pyscipopt/expr.pxi":895
 *         indices = []
 *         nchildren = len(expr.children)
 *         for child in expr.children:             # <<<<<<<<<<<<<<
 *             pos = expr_to_array(child, nodes) # position of child in the final array of nodes, 'nodes'
 *             indices.append(pos)
*/
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/expr.pxi":898
 *             pos = expr_to_array(child, nodes) # position of child in the final array of nodes, 'nodes'
 *             indices.append(pos)
 *         if op == Operator.power:             # <<<<<<<<<<<<<<
 *             pos = value_to_array(expr.expo, nodes)
 *             indices.append(pos)
*/
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_power); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyObject_RichCompare(__pyx_v_op, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 898, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(3, 898, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_3) {

      /* "src/pyscipopt/expr.pxi":899
 *             indices.append(pos)
 *         if op == Operator.power:
 *             pos = value_to_array(expr.expo, nodes)             # <<<<<<<<<<<<<<
 *             indices.append(pos)
 *         elif (op == Operator.add and expr.constant != 0.0) or (op == Operator.prod and expr.constant != 1.0):
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_value_to_array); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 899, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_expo); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 899, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_9 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_8))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
        __pyx_t_9 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_7, __pyx_v_nodes};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 899, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_XDECREF_SET(__pyx_v_pos, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "src/pyscipopt/expr.pxi":900
 *         if op == Operator.power:
 *             pos = value_to_array(expr.expo, nodes)
 *             indices.append(pos)             # <<<<<<<<<<<<<<
 *         elif (op == Operator.add and expr.constant != 0.0) or (op == Operator.prod and expr.constant != 1.0):
 *             pos = value_to_array(expr.constant, nodes)
*/
      __pyx_t_4 = __Pyx_PyList_Append(__pyx_v_indices, __pyx_v_pos); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(3, 900, __pyx_L1_error)

      /* "src/pyscipopt/expr.pxi":898
 *             pos = expr_to_array(child, nodes) # position of child in the final array of nodes, 'nodes'
 *             indices.append(pos)
 *         if op == Operator.power:             # <<<<<<<<<<<<<<
 *             pos = value_to_array(expr.expo, nodes)
 *             indices.append(pos)
*/
      goto __pyx_L7;
    }

    /* "src/pyscipopt/expr.pxi":901
 *             pos = value_to_array(expr.expo, nodes)
 *             indices.append(pos)
 *         elif (op == Operator.add and expr.constant != 0.0) or (op == Operator.prod and expr.constant != 1.0):             # <<<<<<<<<<<<<<
 *             pos = value_to_array(expr.constant, nodes)
 *             indices.append(pos)
*/
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_add_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyObject_RichCompare(__pyx_v_op, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 901, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(3, 901, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (!__pyx_t_10) {
      goto __pyx_L9_next_or;
    } else {
    }
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_constant); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10 = (__Pyx_PyFloat_BoolNeObjC(__pyx_t_1, __pyx_mstate_global->__pyx_float_0_0, 0.0, 0, 0)); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(3, 901, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (!__pyx_t_10) {
    } else {
      __pyx_t_3 = __pyx_t_10;
      goto __pyx_L8_bool_binop_done;
    }
    __pyx_L9_next_or:;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_prod); if (unlikely(!__pyx_t_8)) __PYX_ERR(3, 901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = PyObject_RichCompare(__pyx_v_op, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 901, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(3, 901, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_10) {
    } else {
      __pyx_t_3 = __pyx_t_10;
      goto __pyx_L8_bool_binop_done;
    }
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_constant); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 901, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_10 = (__Pyx_PyFloat_BoolNeObjC(__pyx_t_1, __pyx_mstate_global->__pyx_float_1_0, 1.0, 0, 0)); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(3, 901, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_3 = __pyx_t_10;
    __pyx_L8_bool_binop_done:;
    if (__pyx_t_3) {

      /* "src/pyscipopt/expr.pxi":902
 *             indices.append(pos)
 *         elif (op == Operator.add and expr.constant != 0.0) or (op == Operator.prod and expr.constant != 1.0):
 *             pos = value_to_array(expr.constant, nodes)             # <<<<<<<<<<<<<<
 *             indices.append(pos)
 *         nodes.append( tuple( [op, indices] ) )
*/
      __pyx_t_8 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_value_to_array); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 902, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_constant); if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 902, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_9 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_7))) {
        __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
        assert(__pyx_t_8);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
        __pyx_t_9 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_t_2, __pyx_v_nodes};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 902, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_XDECREF_SET(__pyx_v_pos, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "src/pyscipopt/expr.pxi":903
 *         elif (op == Operator.add and expr.constant != 0.0) or (op == Operator.prod and expr.constant != 1.0):
 *             pos = value_to_array(expr.constant, nodes)
 *             indices.append(pos)             # <<<<<<<<<<<<<<
 *         nodes.append( tuple( [op, indices] ) )
 *     else: # var
*/
      __pyx_t_4 = __Pyx_PyList_Append(__pyx_v_indices, __pyx_v_pos); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(3, 903, __pyx_L1_error)

      /* "src/pyscipopt/expr.pxi":901
 *             pos = value_to_array(expr.expo, nodes)
 *             indices.append(pos)
 *         elif (op == Operator.add and expr.constant != 0.0) or (op == Operator.prod and expr.constant != 1.0):             # <<<<<<<<<<<<<<
 *             pos = value_to_array(expr.constant, nodes)
 *             indices.append(pos)
*/
    }
    __pyx_L7:;

    /* "src/pyscipopt/expr.pxi":904
 *             pos = value_to_array(expr.constant, nodes)
 *             indices.append(pos)
 *         nodes.append( tuple( [op, indices] ) )             # <<<<<<<<<<<<<<
 *     else: # var
 *         nodes.append( tuple( [op, expr.children] ) )
*/
    __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v_op);
    __Pyx_GIVEREF(__pyx_v_op);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_op) != (0)) __PYX_ERR(3, 904, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_indices);
    __Pyx_GIVEREF(__pyx_v_indices);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 1, __pyx_v_indices) != (0)) __PYX_ERR(3, 904, __pyx_L1_error);
    __pyx_t_7 = PyList_AsTuple(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 904, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_4 = __Pyx_PyObject_Append(__pyx_v_nodes, __pyx_t_7); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(3, 904, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "src/pyscipopt/expr.pxi":892
 *     if op == Operator.const: # FIXME: constant expr should also have children!
 *         nodes.append(tuple([op, [expr.number]]))
 *     elif op != Operator.varidx:             # <<<<<<<<<<<<<<
 *         indices = []
 *         nchildren = len(expr.children)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/expr.pxi":906
 *         nodes.append( tuple( [op, indices] ) )
 *     else: # var
 *         nodes.append( tuple( [op, expr.children] ) )             # <<<<<<<<<<<<<<
 *     return len(nodes) - 1
*/
  /*else*/ {
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_children); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v_op);
    __Pyx_GIVEREF(__pyx_v_op);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_v_op) != (0)) __PYX_ERR(3, 906, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_7);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_7) != (0)) __PYX_ERR(3, 906, __pyx_L1_error);
    __pyx_t_7 = 0;
    __pyx_t_7 = PyList_AsTuple(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_4 = __Pyx_PyObject_Append(__pyx_v_nodes, __pyx_t_7); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(3, 906, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/expr.pxi":907
 *     else: # var
 *         nodes.append( tuple( [op, expr.children] ) )
 *     return len(nodes) - 1             # <<<<<<<<<<<<<<
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_5 = PyObject_Length(__pyx_v_nodes); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(3, 907, __pyx_L1_error)
  __pyx_t_7 = PyLong_FromSsize_t((__pyx_t_5 - 1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_r = __pyx_t_7;
  __pyx_t_7 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/expr.pxi":887
 * # also, for sums, we are not considering coefficients, because basically all coefficients are 1
 * # haven't even consider substractions, but I guess we would interpret them as a - b = a + (-1) * b
 * def expr_to_array(expr, nodes):             # <<<<<<<<<<<<<<
 *     """adds expression to array"""
 *     op = expr._op
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.expr_to_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_op);
  __Pyx_XDECREF(__pyx_v_indices);
  __Pyx_XDECREF(__pyx_v_child);
  __Pyx_XDECREF(__pyx_v_pos);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":7
 *     cdef readonly str name
 * 
 *     def __init__(self, name="LP", sense="minimize"):             # <<<<<<<<<<<<<<
 *         """
 *         Keyword arguments:
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_2LP_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP___init__, "\n        Keyword arguments:\n        name -- the name of the problem (default 'LP')\n        sense -- objective sense (default minimize)\n        ");
#if CYTHON_UPDATE_DESCRIPTOR_DOC
struct wrapperbase __pyx_wrapperbase_9pyscipopt_4scip_2LP___init__;
#endif
static int __pyx_pw_9pyscipopt_4scip_2LP_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_sense = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_sense,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 7, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 7, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 7, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(4, 7, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_LP));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_minimize));
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 7, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 7, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_LP));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_minimize));
    }
    __pyx_v_name = values[0];
    __pyx_v_sense = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 2, __pyx_nargs); __PYX_ERR(4, 7, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP___init__(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_name, __pyx_v_sense);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_2LP___init__(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_sense) {
  PyObject *__pyx_v_n = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  char const *__pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "src/pyscipopt/lp.pxi":13
 *         sense -- objective sense (default minimize)
 *         """
 *         self.name = name             # <<<<<<<<<<<<<<
 *         n = str_conversion(name)
 *         if sense == "minimize":
*/
  __pyx_t_1 = __pyx_v_name;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(4, 13, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":14
 *         """
 *         self.name = name
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         if sense == "minimize":
 *             PY_SCIP_CALL(SCIPlpiCreate(&(self.lpi), NULL, n, SCIP_OBJSEN_MINIMIZE))
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 14, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":15
 *         self.name = name
 *         n = str_conversion(name)
 *         if sense == "minimize":             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPlpiCreate(&(self.lpi), NULL, n, SCIP_OBJSEN_MINIMIZE))
 *         elif sense == "maximize":
*/
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_sense, __pyx_mstate_global->__pyx_n_u_minimize, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(4, 15, __pyx_L1_error)
  if (__pyx_t_5) {

    /* "src/pyscipopt/lp.pxi":16
 *         n = str_conversion(name)
 *         if sense == "minimize":
 *             PY_SCIP_CALL(SCIPlpiCreate(&(self.lpi), NULL, n, SCIP_OBJSEN_MINIMIZE))             # <<<<<<<<<<<<<<
 *         elif sense == "maximize":
 *             PY_SCIP_CALL(SCIPlpiCreate(&(self.lpi), NULL, n, SCIP_OBJSEN_MAXIMIZE))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 16, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(4, 16, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiCreate((&__pyx_v_self->lpi), NULL, __pyx_t_6, SCIP_OBJSEN_MINIMIZE)); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 16, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 16, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/lp.pxi":15
 *         self.name = name
 *         n = str_conversion(name)
 *         if sense == "minimize":             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPlpiCreate(&(self.lpi), NULL, n, SCIP_OBJSEN_MINIMIZE))
 *         elif sense == "maximize":
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/lp.pxi":17
 *         if sense == "minimize":
 *             PY_SCIP_CALL(SCIPlpiCreate(&(self.lpi), NULL, n, SCIP_OBJSEN_MINIMIZE))
 *         elif sense == "maximize":             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPlpiCreate(&(self.lpi), NULL, n, SCIP_OBJSEN_MAXIMIZE))
 *         else:
*/
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_sense, __pyx_mstate_global->__pyx_n_u_maximize, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(4, 17, __pyx_L1_error)
  if (likely(__pyx_t_5)) {

    /* "src/pyscipopt/lp.pxi":18
 *             PY_SCIP_CALL(SCIPlpiCreate(&(self.lpi), NULL, n, SCIP_OBJSEN_MINIMIZE))
 *         elif sense == "maximize":
 *             PY_SCIP_CALL(SCIPlpiCreate(&(self.lpi), NULL, n, SCIP_OBJSEN_MAXIMIZE))             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("unrecognized objective sense")
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 18, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(4, 18, __pyx_L1_error)
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiCreate((&__pyx_v_self->lpi), NULL, __pyx_t_6, SCIP_OBJSEN_MAXIMIZE)); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 18, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 18, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/lp.pxi":17
 *         if sense == "minimize":
 *             PY_SCIP_CALL(SCIPlpiCreate(&(self.lpi), NULL, n, SCIP_OBJSEN_MINIMIZE))
 *         elif sense == "maximize":             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPlpiCreate(&(self.lpi), NULL, n, SCIP_OBJSEN_MAXIMIZE))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/lp.pxi":20
 *             PY_SCIP_CALL(SCIPlpiCreate(&(self.lpi), NULL, n, SCIP_OBJSEN_MAXIMIZE))
 *         else:
 *             raise Warning("unrecognized objective sense")             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
  /*else*/ {
    __pyx_t_7 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_mstate_global->__pyx_kp_u_unrecognized_objective_sense};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 20, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(4, 20, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/lp.pxi":7
 *     cdef readonly str name
 * 
 *     def __init__(self, name="LP", sense="minimize"):             # <<<<<<<<<<<<<<
 *         """
 *         Keyword arguments:
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.LP.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":22
 *             raise Warning("unrecognized objective sense")
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPlpiFree(&(self.lpi)))
 * 
*/

/* Python wrapper */
static void __pyx_pw_9pyscipopt_4scip_2LP_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9pyscipopt_4scip_2LP_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_9pyscipopt_4scip_2LP_2__dealloc__(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9pyscipopt_4scip_2LP_2__dealloc__(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/pyscipopt/lp.pxi":23
 * 
 *     def __dealloc__(self):
 *         PY_SCIP_CALL(SCIPlpiFree(&(self.lpi)))             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiFree((&__pyx_v_self->lpi))); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 23, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":22
 *             raise Warning("unrecognized objective sense")
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPlpiFree(&(self.lpi)))
 * 
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_WriteUnraisable("pyscipopt.scip.LP.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/pyscipopt/lp.pxi":25
 *         PY_SCIP_CALL(SCIPlpiFree(&(self.lpi)))
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self.name
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_5__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_5__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_4__repr__(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_4__repr__(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/lp.pxi":26
 * 
 *     def __repr__(self):
 *         return self.name             # <<<<<<<<<<<<<<
 * 
 *     def writeLP(self, filename):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->name);
  __pyx_r = __pyx_v_self->name;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":25
 *         PY_SCIP_CALL(SCIPlpiFree(&(self.lpi)))
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self.name
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":28
 *         return self.name
 * 
 *     def writeLP(self, filename):             # <<<<<<<<<<<<<<
 *         """Writes LP to a file.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_7writeLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_6writeLP, "Writes LP to a file.\n\n        Keyword arguments:\n        filename -- the name of the file to be used\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_7writeLP = {"writeLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_7writeLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_6writeLP};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_7writeLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeLP (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 28, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 28, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "writeLP", 0) < (0)) __PYX_ERR(4, 28, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("writeLP", 1, 1, 1, i); __PYX_ERR(4, 28, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 28, __pyx_L3_error)
    }
    __pyx_v_filename = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeLP", 1, 1, 1, __pyx_nargs); __PYX_ERR(4, 28, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.writeLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_6writeLP(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_filename);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_6writeLP(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_filename) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  char const *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("writeLP", 0);

  /* "src/pyscipopt/lp.pxi":34
 *         filename -- the name of the file to be used
 *         """
 *         PY_SCIP_CALL(SCIPlpiWriteLP(self.lpi, filename))             # <<<<<<<<<<<<<<
 * 
 *     def readLP(self, filename):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) __PYX_ERR(4, 34, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiWriteLP(__pyx_v_self->lpi, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 34, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":28
 *         return self.name
 * 
 *     def writeLP(self, filename):             # <<<<<<<<<<<<<<
 *         """Writes LP to a file.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.LP.writeLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":36
 *         PY_SCIP_CALL(SCIPlpiWriteLP(self.lpi, filename))
 * 
 *     def readLP(self, filename):             # <<<<<<<<<<<<<<
 *         """Reads LP from a file.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_9readLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_8readLP, "Reads LP from a file.\n\n        Keyword arguments:\n        filename -- the name of the file to be used\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_9readLP = {"readLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_9readLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_8readLP};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_9readLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("readLP (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 36, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 36, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "readLP", 0) < (0)) __PYX_ERR(4, 36, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("readLP", 1, 1, 1, i); __PYX_ERR(4, 36, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 36, __pyx_L3_error)
    }
    __pyx_v_filename = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("readLP", 1, 1, 1, __pyx_nargs); __PYX_ERR(4, 36, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.readLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_8readLP(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_filename);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_8readLP(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_filename) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  char const *__pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("readLP", 0);

  /* "src/pyscipopt/lp.pxi":42
 *         filename -- the name of the file to be used
 *         """
 *         PY_SCIP_CALL(SCIPlpiReadLP(self.lpi, filename))             # <<<<<<<<<<<<<<
 * 
 *     def infinity(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_AsString(__pyx_v_filename); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) __PYX_ERR(4, 42, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiReadLP(__pyx_v_self->lpi, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 42, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":36
 *         PY_SCIP_CALL(SCIPlpiWriteLP(self.lpi, filename))
 * 
 *     def readLP(self, filename):             # <<<<<<<<<<<<<<
 *         """Reads LP from a file.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.LP.readLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":44
 *         PY_SCIP_CALL(SCIPlpiReadLP(self.lpi, filename))
 * 
 *     def infinity(self):             # <<<<<<<<<<<<<<
 *         """Returns infinity value of the LP.
 *         """
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_11infinity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_10infinity, "Returns infinity value of the LP.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_11infinity = {"infinity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_11infinity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_10infinity};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_11infinity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("infinity (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("infinity", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("infinity", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_10infinity(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_10infinity(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("infinity", 0);

  /* "src/pyscipopt/lp.pxi":47
 *         """Returns infinity value of the LP.
 *         """
 *         return SCIPlpiInfinity(self.lpi)             # <<<<<<<<<<<<<<
 * 
 *     def isInfinity(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPlpiInfinity(__pyx_v_self->lpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":44
 *         PY_SCIP_CALL(SCIPlpiReadLP(self.lpi, filename))
 * 
 *     def infinity(self):             # <<<<<<<<<<<<<<
 *         """Returns infinity value of the LP.
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.LP.infinity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":49
 *         return SCIPlpiInfinity(self.lpi)
 * 
 *     def isInfinity(self, val):             # <<<<<<<<<<<<<<
 *         """Checks if a given value is equal to the infinity value of the LP.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_13isInfinity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_12isInfinity, "Checks if a given value is equal to the infinity value of the LP.\n\n        Keyword arguments:\n        val -- value that should be checked\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_13isInfinity = {"isInfinity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_13isInfinity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_12isInfinity};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_13isInfinity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isInfinity (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 49, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 49, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isInfinity", 0) < (0)) __PYX_ERR(4, 49, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isInfinity", 1, 1, 1, i); __PYX_ERR(4, 49, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 49, __pyx_L3_error)
    }
    __pyx_v_val = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isInfinity", 1, 1, 1, __pyx_nargs); __PYX_ERR(4, 49, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.isInfinity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_12isInfinity(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_val);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_12isInfinity(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_val) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isInfinity", 0);

  /* "src/pyscipopt/lp.pxi":55
 *         val -- value that should be checked
 *         """
 *         return SCIPlpiIsInfinity(self.lpi, val)             # <<<<<<<<<<<<<<
 * 
 *     def addCol(self, entries, obj = 0.0, lb = 0.0, ub = None):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 55, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong(SCIPlpiIsInfinity(__pyx_v_self->lpi, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 55, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":49
 *         return SCIPlpiInfinity(self.lpi)
 * 
 *     def isInfinity(self, val):             # <<<<<<<<<<<<<<
 *         """Checks if a given value is equal to the infinity value of the LP.
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.LP.isInfinity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":57
 *         return SCIPlpiIsInfinity(self.lpi, val)
 * 
 *     def addCol(self, entries, obj = 0.0, lb = 0.0, ub = None):             # <<<<<<<<<<<<<<
 *         """Adds a single column to the LP.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_15addCol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_14addCol, "Adds a single column to the LP.\n\n        Keyword arguments:\n        entries -- a list of tuples; if p is the index of the new column, then each tuple (i, k) indicates that\n        A[i][p] = k, where A is the constraint matrix and k is a nonzero entry.\n        obj     -- objective coefficient (default 0.0)\n        lb      -- lower bound (default 0.0)\n        ub      -- upper bound (default infinity)\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_15addCol = {"addCol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_15addCol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_14addCol};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_15addCol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_entries = 0;
  PyObject *__pyx_v_obj = 0;
  PyObject *__pyx_v_lb = 0;
  PyObject *__pyx_v_ub = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addCol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entries,&__pyx_mstate_global->__pyx_n_u_obj,&__pyx_mstate_global->__pyx_n_u_lb,&__pyx_mstate_global->__pyx_n_u_ub,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 57, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(4, 57, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 57, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 57, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 57, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addCol", 0) < (0)) __PYX_ERR(4, 57, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addCol", 0, 1, 4, i); __PYX_ERR(4, 57, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(4, 57, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 57, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 57, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 57, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_entries = values[0];
    __pyx_v_obj = values[1];
    __pyx_v_lb = values[2];
    __pyx_v_ub = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addCol", 0, 1, 4, __pyx_nargs); __PYX_ERR(4, 57, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.addCol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_14addCol(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_entries, __pyx_v_obj, __pyx_v_lb, __pyx_v_ub);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_14addCol(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_entries, PyObject *__pyx_v_obj, PyObject *__pyx_v_lb, PyObject *__pyx_v_ub) {
  int __pyx_v_nnonz;
  SCIP_Real *__pyx_v_c_coefs;
  int *__pyx_v_c_inds;
  SCIP_Real __pyx_v_c_obj;
  SCIP_Real __pyx_v_c_lb;
  SCIP_Real __pyx_v_c_ub;
  int __pyx_v_c_beg;
  int __pyx_v_i;
  PyObject *__pyx_v_entry = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  SCIP_Real __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addCol", 0);

  /* "src/pyscipopt/lp.pxi":67
 *         ub      -- upper bound (default infinity)
 *         """
 *         cdef int nnonz = len(entries)             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_coefs  = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_entries); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(4, 67, __pyx_L1_error)
  __pyx_v_nnonz = __pyx_t_1;

  /* "src/pyscipopt/lp.pxi":68
 *         """
 *         cdef int nnonz = len(entries)
 *         cdef SCIP_Real* c_coefs  = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))
 *         cdef SCIP_Real c_obj = obj
*/
  __pyx_v_c_coefs = ((SCIP_Real *)malloc((__pyx_v_nnonz * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":69
 *         cdef int nnonz = len(entries)
 *         cdef SCIP_Real* c_coefs  = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real c_obj = obj
 *         cdef SCIP_Real c_lb = lb
*/
  __pyx_v_c_inds = ((int *)malloc((__pyx_v_nnonz * (sizeof(int)))));

  /* "src/pyscipopt/lp.pxi":70
 *         cdef SCIP_Real* c_coefs  = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))
 *         cdef SCIP_Real c_obj = obj             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real c_lb = lb
 *         cdef SCIP_Real c_ub = ub if ub != None else self.infinity()
*/
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_obj); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 70, __pyx_L1_error)
  __pyx_v_c_obj = __pyx_t_2;

  /* "src/pyscipopt/lp.pxi":71
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))
 *         cdef SCIP_Real c_obj = obj
 *         cdef SCIP_Real c_lb = lb             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real c_ub = ub if ub != None else self.infinity()
 *         cdef int c_beg = 0
*/
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 71, __pyx_L1_error)
  __pyx_v_c_lb = __pyx_t_2;

  /* "src/pyscipopt/lp.pxi":72
 *         cdef SCIP_Real c_obj = obj
 *         cdef SCIP_Real c_lb = lb
 *         cdef SCIP_Real c_ub = ub if ub != None else self.infinity()             # <<<<<<<<<<<<<<
 *         cdef int c_beg = 0
 *         cdef int i
*/
  __pyx_t_3 = PyObject_RichCompare(__pyx_v_ub, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 72, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(4, 72, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_ub); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 72, __pyx_L1_error)
    __pyx_t_2 = __pyx_t_5;
  } else {
    __pyx_t_6 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_infinity, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 72, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 72, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_2 = __pyx_t_5;
  }
  __pyx_v_c_ub = __pyx_t_2;

  /* "src/pyscipopt/lp.pxi":73
 *         cdef SCIP_Real c_lb = lb
 *         cdef SCIP_Real c_ub = ub if ub != None else self.infinity()
 *         cdef int c_beg = 0             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_c_beg = 0;

  /* "src/pyscipopt/lp.pxi":76
 *         cdef int i
 * 
 *         for i,entry in enumerate(entries):             # <<<<<<<<<<<<<<
 *             c_inds[i] = entry[0]
 *             c_coefs[i] = entry[1]
*/
  __pyx_t_8 = 0;
  if (likely(PyList_CheckExact(__pyx_v_entries)) || PyTuple_CheckExact(__pyx_v_entries)) {
    __pyx_t_3 = __pyx_v_entries; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_9 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_entries); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 76, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 76, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_9)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 76, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 76, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1));
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 76, __pyx_L1_error)
    } else {
      __pyx_t_6 = __pyx_t_9(__pyx_t_3);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(4, 76, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_v_i = __pyx_t_8;
    __pyx_t_8 = (__pyx_t_8 + 1);

    /* "src/pyscipopt/lp.pxi":77
 * 
 *         for i,entry in enumerate(entries):
 *             c_inds[i] = entry[0]             # <<<<<<<<<<<<<<
 *             c_coefs[i] = entry[1]
 * 
*/
    __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_entry, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_6); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 77, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    (__pyx_v_c_inds[__pyx_v_i]) = __pyx_t_10;

    /* "src/pyscipopt/lp.pxi":78
 *         for i,entry in enumerate(entries):
 *             c_inds[i] = entry[0]
 *             c_coefs[i] = entry[1]             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPlpiAddCols(self.lpi, 1, &c_obj, &c_lb, &c_ub, NULL, nnonz, &c_beg, c_inds, c_coefs))
*/
    __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_entry, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 78, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 78, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    (__pyx_v_c_coefs[__pyx_v_i]) = __pyx_t_2;

    /* "src/pyscipopt/lp.pxi":76
 *         cdef int i
 * 
 *         for i,entry in enumerate(entries):             # <<<<<<<<<<<<<<
 *             c_inds[i] = entry[0]
 *             c_coefs[i] = entry[1]
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/lp.pxi":80
 *             c_coefs[i] = entry[1]
 * 
 *         PY_SCIP_CALL(SCIPlpiAddCols(self.lpi, 1, &c_obj, &c_lb, &c_ub, NULL, nnonz, &c_beg, c_inds, c_coefs))             # <<<<<<<<<<<<<<
 * 
 *         free(c_coefs)
*/
  __pyx_t_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_11)) __PYX_ERR(4, 80, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_12 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiAddCols(__pyx_v_self->lpi, 1, (&__pyx_v_c_obj), (&__pyx_v_c_lb), (&__pyx_v_c_ub), NULL, __pyx_v_nnonz, (&__pyx_v_c_beg), __pyx_v_c_inds, __pyx_v_c_coefs)); if (unlikely(!__pyx_t_12)) __PYX_ERR(4, 80, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_11))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_11);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_12};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/lp.pxi":82
 *         PY_SCIP_CALL(SCIPlpiAddCols(self.lpi, 1, &c_obj, &c_lb, &c_ub, NULL, nnonz, &c_beg, c_inds, c_coefs))
 * 
 *         free(c_coefs)             # <<<<<<<<<<<<<<
 *         free(c_inds)
 * 
*/
  free(__pyx_v_c_coefs);

  /* "src/pyscipopt/lp.pxi":83
 * 
 *         free(c_coefs)
 *         free(c_inds)             # <<<<<<<<<<<<<<
 * 
 *     def addCols(self, entrieslist, objs = None, lbs = None, ubs = None):
*/
  free(__pyx_v_c_inds);

  /* "src/pyscipopt/lp.pxi":57
 *         return SCIPlpiIsInfinity(self.lpi, val)
 * 
 *     def addCol(self, entries, obj = 0.0, lb = 0.0, ub = None):             # <<<<<<<<<<<<<<
 *         """Adds a single column to the LP.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("pyscipopt.scip.LP.addCol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_entry);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":85
 *         free(c_inds)
 * 
 *     def addCols(self, entrieslist, objs = None, lbs = None, ubs = None):             # <<<<<<<<<<<<<<
 *         """Adds multiple columns to the LP.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_17addCols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_16addCols, "Adds multiple columns to the LP.\n\n        Keyword arguments:\n        entrieslist -- a list of lists, where the j-th inner list contains tuples (i, k) such that A[i][p] = k,\n        where A is the constraint matrix, p is the index of the j-th new column, and k is a nonzero entry.\n        objs  -- objective coefficient (default 0.0)\n        lbs   -- lower bounds (default 0.0)\n        ubs   -- upper bounds (default infinity)\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_17addCols = {"addCols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_17addCols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_16addCols};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_17addCols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_entrieslist = 0;
  PyObject *__pyx_v_objs = 0;
  PyObject *__pyx_v_lbs = 0;
  PyObject *__pyx_v_ubs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addCols (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entrieslist,&__pyx_mstate_global->__pyx_n_u_objs,&__pyx_mstate_global->__pyx_n_u_lbs,&__pyx_mstate_global->__pyx_n_u_ubs,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 85, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(4, 85, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 85, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 85, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 85, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addCols", 0) < (0)) __PYX_ERR(4, 85, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addCols", 0, 1, 4, i); __PYX_ERR(4, 85, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(4, 85, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 85, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 85, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 85, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_entrieslist = values[0];
    __pyx_v_objs = values[1];
    __pyx_v_lbs = values[2];
    __pyx_v_ubs = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addCols", 0, 1, 4, __pyx_nargs); __PYX_ERR(4, 85, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.addCols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_16addCols(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_entrieslist, __pyx_v_objs, __pyx_v_lbs, __pyx_v_ubs);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9pyscipopt_4scip_2LP_7addCols_2generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "src/pyscipopt/lp.pxi":102
 *         cdef int* c_inds
 *         cdef int* c_beg
 *         cdef int nnonz = sum(len(entries) for entries in entrieslist)             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_7addCols_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_3_genexpr(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(4, 102, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9pyscipopt_4scip_2LP_7addCols_2generator3, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[6]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_addCols_locals_genexpr, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip); if (unlikely(!gen)) __PYX_ERR(4, 102, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.LP.addCols.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_9pyscipopt_4scip_2LP_7addCols_2generator3(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L6_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(4, 102, __pyx_L1_error)
  }
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(4, 102, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 102, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 102, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 102, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 102, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(4, 102, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_entries);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_entries, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = PyObject_Length(__pyx_cur_scope->__pyx_v_entries); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(4, 102, __pyx_L1_error)
    __pyx_t_4 = PyLong_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    __Pyx_XGIVEREF(__pyx_t_1);
    __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
    __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
    __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L6_resume_from_yield:;
    __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
    __pyx_cur_scope->__pyx_t_0 = 0;
    __Pyx_XGOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
    __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(4, 102, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":85
 *         free(c_inds)
 * 
 *     def addCols(self, entrieslist, objs = None, lbs = None, ubs = None):             # <<<<<<<<<<<<<<
 *         """Adds multiple columns to the LP.
 * 
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_16addCols(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_entrieslist, PyObject *__pyx_v_objs, PyObject *__pyx_v_lbs, PyObject *__pyx_v_ubs) {
  int __pyx_v_ncols;
  SCIP_Real *__pyx_v_c_objs;
  SCIP_Real *__pyx_v_c_lbs;
  SCIP_Real *__pyx_v_c_ubs;
  SCIP_Real *__pyx_v_c_coefs;
  int *__pyx_v_c_inds;
  int *__pyx_v_c_beg;
  int __pyx_v_nnonz;
  int __pyx_v_i;
  PyObject *__pyx_v_tmp = NULL;
  PyObject *__pyx_v_entries = NULL;
  PyObject *__pyx_v_entry = NULL;
  PyObject *__pyx_gb_9pyscipopt_4scip_2LP_7addCols_2generator3 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  SCIP_Real __pyx_t_9;
  SCIP_Real __pyx_t_10;
  int __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  PyObject *(*__pyx_t_13)(PyObject *);
  Py_ssize_t __pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addCols", 0);

  /* "src/pyscipopt/lp.pxi":95
 *         ubs   -- upper bounds (default infinity)
 *         """
 *         cdef int ncols = len(entrieslist)             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_objs   = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_lbs    = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_entrieslist); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(4, 95, __pyx_L1_error)
  __pyx_v_ncols = __pyx_t_1;

  /* "src/pyscipopt/lp.pxi":96
 *         """
 *         cdef int ncols = len(entrieslist)
 *         cdef SCIP_Real* c_objs   = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_lbs    = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_ubs    = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
*/
  __pyx_v_c_objs = ((SCIP_Real *)malloc((__pyx_v_ncols * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":97
 *         cdef int ncols = len(entrieslist)
 *         cdef SCIP_Real* c_objs   = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_lbs    = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_ubs    = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_coefs
*/
  __pyx_v_c_lbs = ((SCIP_Real *)malloc((__pyx_v_ncols * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":98
 *         cdef SCIP_Real* c_objs   = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_lbs    = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_ubs    = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_coefs
 *         cdef int* c_inds
*/
  __pyx_v_c_ubs = ((SCIP_Real *)malloc((__pyx_v_ncols * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":102
 *         cdef int* c_inds
 *         cdef int* c_beg
 *         cdef int nnonz = sum(len(entries) for entries in entrieslist)             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = __pyx_pf_9pyscipopt_4scip_2LP_7addCols_genexpr(NULL, __pyx_v_entrieslist); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_sum, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_6 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_nnonz = __pyx_t_6;

  /* "src/pyscipopt/lp.pxi":105
 *         cdef int i
 * 
 *         if nnonz > 0:             # <<<<<<<<<<<<<<
 *             c_coefs  = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *             c_inds = <int*>malloc(nnonz * sizeof(int))
*/
  __pyx_t_7 = (__pyx_v_nnonz > 0);
  if (__pyx_t_7) {

    /* "src/pyscipopt/lp.pxi":106
 * 
 *         if nnonz > 0:
 *             c_coefs  = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *             c_inds = <int*>malloc(nnonz * sizeof(int))
 *             c_beg  = <int*>malloc(ncols * sizeof(int))
*/
    __pyx_v_c_coefs = ((SCIP_Real *)malloc((__pyx_v_nnonz * (sizeof(SCIP_Real)))));

    /* "src/pyscipopt/lp.pxi":107
 *         if nnonz > 0:
 *             c_coefs  = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *             c_inds = <int*>malloc(nnonz * sizeof(int))             # <<<<<<<<<<<<<<
 *             c_beg  = <int*>malloc(ncols * sizeof(int))
 * 
*/
    __pyx_v_c_inds = ((int *)malloc((__pyx_v_nnonz * (sizeof(int)))));

    /* "src/pyscipopt/lp.pxi":108
 *             c_coefs  = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *             c_inds = <int*>malloc(nnonz * sizeof(int))
 *             c_beg  = <int*>malloc(ncols * sizeof(int))             # <<<<<<<<<<<<<<
 * 
 *             tmp = 0
*/
    __pyx_v_c_beg = ((int *)malloc((__pyx_v_ncols * (sizeof(int)))));

    /* "src/pyscipopt/lp.pxi":110
 *             c_beg  = <int*>malloc(ncols * sizeof(int))
 * 
 *             tmp = 0             # <<<<<<<<<<<<<<
 *             for i,entries in enumerate(entrieslist):
 *                 c_objs[i] = objs[i] if objs != None else 0.0
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_v_tmp = __pyx_mstate_global->__pyx_int_0;

    /* "src/pyscipopt/lp.pxi":111
 * 
 *             tmp = 0
 *             for i,entries in enumerate(entrieslist):             # <<<<<<<<<<<<<<
 *                 c_objs[i] = objs[i] if objs != None else 0.0
 *                 c_lbs[i] = lbs[i] if lbs != None else 0.0
*/
    __pyx_t_6 = 0;
    if (likely(PyList_CheckExact(__pyx_v_entrieslist)) || PyTuple_CheckExact(__pyx_v_entrieslist)) {
      __pyx_t_2 = __pyx_v_entrieslist; __Pyx_INCREF(__pyx_t_2);
      __pyx_t_1 = 0;
      __pyx_t_8 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_entrieslist); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 111, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 111, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_8)) {
        if (likely(PyList_CheckExact(__pyx_t_2))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 111, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_1;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 111, __pyx_L1_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 111, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_8(__pyx_t_2);
        if (unlikely(!__pyx_t_4)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(4, 111, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_entries, __pyx_t_4);
      __pyx_t_4 = 0;
      __pyx_v_i = __pyx_t_6;
      __pyx_t_6 = (__pyx_t_6 + 1);

      /* "src/pyscipopt/lp.pxi":112
 *             tmp = 0
 *             for i,entries in enumerate(entrieslist):
 *                 c_objs[i] = objs[i] if objs != None else 0.0             # <<<<<<<<<<<<<<
 *                 c_lbs[i] = lbs[i] if lbs != None else 0.0
 *                 c_ubs[i] = ubs[i] if ubs != None else self.infinity()
*/
      __pyx_t_4 = PyObject_RichCompare(__pyx_v_objs, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 112, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(4, 112, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_7) {
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_objs, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 112, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 112, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_9 = __pyx_t_10;
      } else {
        __pyx_t_9 = 0.0;
      }
      (__pyx_v_c_objs[__pyx_v_i]) = __pyx_t_9;

      /* "src/pyscipopt/lp.pxi":113
 *             for i,entries in enumerate(entrieslist):
 *                 c_objs[i] = objs[i] if objs != None else 0.0
 *                 c_lbs[i] = lbs[i] if lbs != None else 0.0             # <<<<<<<<<<<<<<
 *                 c_ubs[i] = ubs[i] if ubs != None else self.infinity()
 *                 c_beg[i] = tmp
*/
      __pyx_t_4 = PyObject_RichCompare(__pyx_v_lbs, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 113, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(4, 113, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_7) {
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_lbs, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 113, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 113, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_9 = __pyx_t_10;
      } else {
        __pyx_t_9 = 0.0;
      }
      (__pyx_v_c_lbs[__pyx_v_i]) = __pyx_t_9;

      /* "src/pyscipopt/lp.pxi":114
 *                 c_objs[i] = objs[i] if objs != None else 0.0
 *                 c_lbs[i] = lbs[i] if lbs != None else 0.0
 *                 c_ubs[i] = ubs[i] if ubs != None else self.infinity()             # <<<<<<<<<<<<<<
 *                 c_beg[i] = tmp
 * 
*/
      __pyx_t_4 = PyObject_RichCompare(__pyx_v_ubs, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 114, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(4, 114, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_7) {
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_ubs, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 114, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 114, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_9 = __pyx_t_10;
      } else {
        __pyx_t_3 = ((PyObject *)__pyx_v_self);
        __Pyx_INCREF(__pyx_t_3);
        __pyx_t_5 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
          __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_infinity, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 114, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
        }
        __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 114, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_9 = __pyx_t_10;
      }
      (__pyx_v_c_ubs[__pyx_v_i]) = __pyx_t_9;

      /* "src/pyscipopt/lp.pxi":115
 *                 c_lbs[i] = lbs[i] if lbs != None else 0.0
 *                 c_ubs[i] = ubs[i] if ubs != None else self.infinity()
 *                 c_beg[i] = tmp             # <<<<<<<<<<<<<<
 * 
 *                 for entry in entries:
*/
      __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_v_tmp); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 115, __pyx_L1_error)
      (__pyx_v_c_beg[__pyx_v_i]) = __pyx_t_11;

      /* "src/pyscipopt/lp.pxi":117
 *                 c_beg[i] = tmp
 * 
 *                 for entry in entries:             # <<<<<<<<<<<<<<
 *                     c_inds[tmp] = entry[0]
 *                     c_coefs[tmp] = entry[1]
*/
      if (likely(PyList_CheckExact(__pyx_v_entries)) || PyTuple_CheckExact(__pyx_v_entries)) {
        __pyx_t_4 = __pyx_v_entries; __Pyx_INCREF(__pyx_t_4);
        __pyx_t_12 = 0;
        __pyx_t_13 = NULL;
      } else {
        __pyx_t_12 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_entries); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 117, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(4, 117, __pyx_L1_error)
      }
      for (;;) {
        if (likely(!__pyx_t_13)) {
          if (likely(PyList_CheckExact(__pyx_t_4))) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 117, __pyx_L1_error)
              #endif
              if (__pyx_t_12 >= __pyx_temp) break;
            }
            __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_12, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_12;
          } else {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 117, __pyx_L1_error)
              #endif
              if (__pyx_t_12 >= __pyx_temp) break;
            }
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_12));
            #else
            __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_12);
            #endif
            ++__pyx_t_12;
          }
          if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 117, __pyx_L1_error)
        } else {
          __pyx_t_3 = __pyx_t_13(__pyx_t_4);
          if (unlikely(!__pyx_t_3)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(4, 117, __pyx_L1_error)
              PyErr_Clear();
            }
            break;
          }
        }
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_3);
        __pyx_t_3 = 0;

        /* "src/pyscipopt/lp.pxi":118
 * 
 *                 for entry in entries:
 *                     c_inds[tmp] = entry[0]             # <<<<<<<<<<<<<<
 *                     c_coefs[tmp] = entry[1]
 *                     tmp += 1
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_entry, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 118, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_t_3); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 118, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_14 = __Pyx_PyIndex_AsSsize_t(__pyx_v_tmp); if (unlikely((__pyx_t_14 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 118, __pyx_L1_error)
        (__pyx_v_c_inds[__pyx_t_14]) = __pyx_t_11;

        /* "src/pyscipopt/lp.pxi":119
 *                 for entry in entries:
 *                     c_inds[tmp] = entry[0]
 *                     c_coefs[tmp] = entry[1]             # <<<<<<<<<<<<<<
 *                     tmp += 1
 * 
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_entry, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 119, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_9 = __Pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_9 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 119, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_14 = __Pyx_PyIndex_AsSsize_t(__pyx_v_tmp); if (unlikely((__pyx_t_14 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 119, __pyx_L1_error)
        (__pyx_v_c_coefs[__pyx_t_14]) = __pyx_t_9;

        /* "src/pyscipopt/lp.pxi":120
 *                     c_inds[tmp] = entry[0]
 *                     c_coefs[tmp] = entry[1]
 *                     tmp += 1             # <<<<<<<<<<<<<<
 * 
 *             PY_SCIP_CALL(SCIPlpiAddCols(self.lpi, ncols, c_objs, c_lbs, c_ubs, NULL, nnonz, c_beg, c_inds, c_coefs))
*/
        __pyx_t_3 = __Pyx_PyLong_AddObjC(__pyx_v_tmp, __pyx_mstate_global->__pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 120, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF_SET(__pyx_v_tmp, __pyx_t_3);
        __pyx_t_3 = 0;

        /* "src/pyscipopt/lp.pxi":117
 *                 c_beg[i] = tmp
 * 
 *                 for entry in entries:             # <<<<<<<<<<<<<<
 *                     c_inds[tmp] = entry[0]
 *                     c_coefs[tmp] = entry[1]
*/
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "src/pyscipopt/lp.pxi":111
 * 
 *             tmp = 0
 *             for i,entries in enumerate(entrieslist):             # <<<<<<<<<<<<<<
 *                 c_objs[i] = objs[i] if objs != None else 0.0
 *                 c_lbs[i] = lbs[i] if lbs != None else 0.0
*/
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/lp.pxi":122
 *                     tmp += 1
 * 
 *             PY_SCIP_CALL(SCIPlpiAddCols(self.lpi, ncols, c_objs, c_lbs, c_ubs, NULL, nnonz, c_beg, c_inds, c_coefs))             # <<<<<<<<<<<<<<
 * 
 *             free(c_beg)
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_15 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiAddCols(__pyx_v_self->lpi, __pyx_v_ncols, __pyx_v_c_objs, __pyx_v_c_lbs, __pyx_v_c_ubs, NULL, __pyx_v_nnonz, __pyx_v_c_beg, __pyx_v_c_inds, __pyx_v_c_coefs)); if (unlikely(!__pyx_t_15)) __PYX_ERR(4, 122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_15};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 122, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/lp.pxi":124
 *             PY_SCIP_CALL(SCIPlpiAddCols(self.lpi, ncols, c_objs, c_lbs, c_ubs, NULL, nnonz, c_beg, c_inds, c_coefs))
 * 
 *             free(c_beg)             # <<<<<<<<<<<<<<
 *             free(c_inds)
 *             free(c_coefs)
*/
    free(__pyx_v_c_beg);

    /* "src/pyscipopt/lp.pxi":125
 * 
 *             free(c_beg)
 *             free(c_inds)             # <<<<<<<<<<<<<<
 *             free(c_coefs)
 *         else:
*/
    free(__pyx_v_c_inds);

    /* "src/pyscipopt/lp.pxi":126
 *             free(c_beg)
 *             free(c_inds)
 *             free(c_coefs)             # <<<<<<<<<<<<<<
 *         else:
 *             for i in range(len(entrieslist)):
*/
    free(__pyx_v_c_coefs);

    /* "src/pyscipopt/lp.pxi":105
 *         cdef int i
 * 
 *         if nnonz > 0:             # <<<<<<<<<<<<<<
 *             c_coefs  = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *             c_inds = <int*>malloc(nnonz * sizeof(int))
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/lp.pxi":128
 *             free(c_coefs)
 *         else:
 *             for i in range(len(entrieslist)):             # <<<<<<<<<<<<<<
 *                 c_objs[i] = objs[i] if objs != None else 0.0
 *                 c_lbs[i] = lbs[i] if lbs != None else 0.0
*/
  /*else*/ {
    __pyx_t_1 = PyObject_Length(__pyx_v_entrieslist); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(4, 128, __pyx_L1_error)
    __pyx_t_12 = __pyx_t_1;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_12; __pyx_t_6+=1) {
      __pyx_v_i = __pyx_t_6;

      /* "src/pyscipopt/lp.pxi":129
 *         else:
 *             for i in range(len(entrieslist)):
 *                 c_objs[i] = objs[i] if objs != None else 0.0             # <<<<<<<<<<<<<<
 *                 c_lbs[i] = lbs[i] if lbs != None else 0.0
 *                 c_ubs[i] = ubs[i] if ubs != None else self.infinity()
*/
      __pyx_t_2 = PyObject_RichCompare(__pyx_v_objs, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 129, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(4, 129, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (__pyx_t_7) {
        __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_objs, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 129, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 129, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_9 = __pyx_t_10;
      } else {
        __pyx_t_9 = 0.0;
      }
      (__pyx_v_c_objs[__pyx_v_i]) = __pyx_t_9;

      /* "src/pyscipopt/lp.pxi":130
 *             for i in range(len(entrieslist)):
 *                 c_objs[i] = objs[i] if objs != None else 0.0
 *                 c_lbs[i] = lbs[i] if lbs != None else 0.0             # <<<<<<<<<<<<<<
 *                 c_ubs[i] = ubs[i] if ubs != None else self.infinity()
 * 
*/
      __pyx_t_2 = PyObject_RichCompare(__pyx_v_lbs, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 130, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(4, 130, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (__pyx_t_7) {
        __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_lbs, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 130, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 130, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_9 = __pyx_t_10;
      } else {
        __pyx_t_9 = 0.0;
      }
      (__pyx_v_c_lbs[__pyx_v_i]) = __pyx_t_9;

      /* "src/pyscipopt/lp.pxi":131
 *                 c_objs[i] = objs[i] if objs != None else 0.0
 *                 c_lbs[i] = lbs[i] if lbs != None else 0.0
 *                 c_ubs[i] = ubs[i] if ubs != None else self.infinity()             # <<<<<<<<<<<<<<
 * 
 *             PY_SCIP_CALL(SCIPlpiAddCols(self.lpi, ncols, c_objs, c_lbs, c_ubs, NULL, 0, NULL, NULL, NULL))
*/
      __pyx_t_2 = PyObject_RichCompare(__pyx_v_ubs, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 131, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(4, 131, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (__pyx_t_7) {
        __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_ubs, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 131, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 131, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_9 = __pyx_t_10;
      } else {
        __pyx_t_3 = ((PyObject *)__pyx_v_self);
        __Pyx_INCREF(__pyx_t_3);
        __pyx_t_5 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
          __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_infinity, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 131, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 131, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_9 = __pyx_t_10;
      }
      (__pyx_v_c_ubs[__pyx_v_i]) = __pyx_t_9;
    }

    /* "src/pyscipopt/lp.pxi":133
 *                 c_ubs[i] = ubs[i] if ubs != None else self.infinity()
 * 
 *             PY_SCIP_CALL(SCIPlpiAddCols(self.lpi, ncols, c_objs, c_lbs, c_ubs, NULL, 0, NULL, NULL, NULL))             # <<<<<<<<<<<<<<
 * 
 *         free(c_ubs)
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_15)) __PYX_ERR(4, 133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiAddCols(__pyx_v_self->lpi, __pyx_v_ncols, __pyx_v_c_objs, __pyx_v_c_lbs, __pyx_v_c_ubs, NULL, 0, NULL, NULL, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 133, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_15))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_15);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_15);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_15, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_15, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 133, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/lp.pxi":135
 *             PY_SCIP_CALL(SCIPlpiAddCols(self.lpi, ncols, c_objs, c_lbs, c_ubs, NULL, 0, NULL, NULL, NULL))
 * 
 *         free(c_ubs)             # <<<<<<<<<<<<<<
 *         free(c_lbs)
 *         free(c_objs)
*/
  free(__pyx_v_c_ubs);

  /* "src/pyscipopt/lp.pxi":136
 * 
 *         free(c_ubs)
 *         free(c_lbs)             # <<<<<<<<<<<<<<
 *         free(c_objs)
 * 
*/
  free(__pyx_v_c_lbs);

  /* "src/pyscipopt/lp.pxi":137
 *         free(c_ubs)
 *         free(c_lbs)
 *         free(c_objs)             # <<<<<<<<<<<<<<
 * 
 *     def delCols(self, firstcol, lastcol):
*/
  free(__pyx_v_c_objs);

  /* "src/pyscipopt/lp.pxi":85
 *         free(c_inds)
 * 
 *     def addCols(self, entrieslist, objs = None, lbs = None, ubs = None):             # <<<<<<<<<<<<<<
 *         """Adds multiple columns to the LP.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("pyscipopt.scip.LP.addCols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_tmp);
  __Pyx_XDECREF(__pyx_v_entries);
  __Pyx_XDECREF(__pyx_v_entry);
  __Pyx_XDECREF(__pyx_gb_9pyscipopt_4scip_2LP_7addCols_2generator3);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":139
 *         free(c_objs)
 * 
 *     def delCols(self, firstcol, lastcol):             # <<<<<<<<<<<<<<
 *         """Deletes a range of columns from the LP.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_19delCols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_18delCols, "Deletes a range of columns from the LP.\n\n        Keyword arguments:\n        firstcol -- first column to delete\n        lastcol  -- last column to delete\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_19delCols = {"delCols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_19delCols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_18delCols};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_19delCols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_firstcol = 0;
  PyObject *__pyx_v_lastcol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("delCols (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_firstcol,&__pyx_mstate_global->__pyx_n_u_lastcol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 139, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 139, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 139, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "delCols", 0) < (0)) __PYX_ERR(4, 139, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("delCols", 1, 2, 2, i); __PYX_ERR(4, 139, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 139, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 139, __pyx_L3_error)
    }
    __pyx_v_firstcol = values[0];
    __pyx_v_lastcol = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("delCols", 1, 2, 2, __pyx_nargs); __PYX_ERR(4, 139, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.delCols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_18delCols(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_firstcol, __pyx_v_lastcol);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_18delCols(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_firstcol, PyObject *__pyx_v_lastcol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("delCols", 0);

  /* "src/pyscipopt/lp.pxi":146
 *         lastcol  -- last column to delete
 *         """
 *         PY_SCIP_CALL(SCIPlpiDelCols(self.lpi, firstcol, lastcol))             # <<<<<<<<<<<<<<
 * 
 *     def addRow(self, entries, lhs=0.0, rhs=None):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_v_firstcol); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 146, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_v_lastcol); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 146, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiDelCols(__pyx_v_self->lpi, __pyx_t_4, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":139
 *         free(c_objs)
 * 
 *     def delCols(self, firstcol, lastcol):             # <<<<<<<<<<<<<<
 *         """Deletes a range of columns from the LP.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.LP.delCols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":148
 *         PY_SCIP_CALL(SCIPlpiDelCols(self.lpi, firstcol, lastcol))
 * 
 *     def addRow(self, entries, lhs=0.0, rhs=None):             # <<<<<<<<<<<<<<
 *         """Adds a single row to the LP.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_21addRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_20addRow, "Adds a single row to the LP.\n\n        Keyword arguments:\n        entries -- a list of tuples; if q is the index of the new row, then each tuple (j, k) indicates that\n        A[q][j] = k, where A is the constraint matrix and k is a nonzero entry.\n        lhs     -- left-hand side of the row (default 0.0)\n        rhs     -- right-hand side of the row (default infinity)\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_21addRow = {"addRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_21addRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_20addRow};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_21addRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_entries = 0;
  PyObject *__pyx_v_lhs = 0;
  PyObject *__pyx_v_rhs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addRow (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entries,&__pyx_mstate_global->__pyx_n_u_lhs,&__pyx_mstate_global->__pyx_n_u_rhs,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 148, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 148, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 148, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 148, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addRow", 0) < (0)) __PYX_ERR(4, 148, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addRow", 0, 1, 3, i); __PYX_ERR(4, 148, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 148, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 148, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 148, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_entries = values[0];
    __pyx_v_lhs = values[1];
    __pyx_v_rhs = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addRow", 0, 1, 3, __pyx_nargs); __PYX_ERR(4, 148, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.addRow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_20addRow(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_entries, __pyx_v_lhs, __pyx_v_rhs);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_20addRow(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_entries, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs) {
  int __pyx_v_nnonz;
  SCIP_Real *__pyx_v_c_coefs;
  int *__pyx_v_c_inds;
  SCIP_Real __pyx_v_c_lhs;
  SCIP_Real __pyx_v_c_rhs;
  int __pyx_v_c_beg;
  int __pyx_v_i;
  PyObject *__pyx_v_entry = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  SCIP_Real __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addRow", 0);

  /* "src/pyscipopt/lp.pxi":157
 *         rhs     -- right-hand side of the row (default infinity)
 *         """
 *         cdef int nnonz = len(entries)             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_coefs  = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_entries); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(4, 157, __pyx_L1_error)
  __pyx_v_nnonz = __pyx_t_1;

  /* "src/pyscipopt/lp.pxi":158
 *         """
 *         cdef int nnonz = len(entries)
 *         cdef SCIP_Real* c_coefs  = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))
 *         cdef SCIP_Real c_lhs = lhs
*/
  __pyx_v_c_coefs = ((SCIP_Real *)malloc((__pyx_v_nnonz * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":159
 *         cdef int nnonz = len(entries)
 *         cdef SCIP_Real* c_coefs  = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real c_lhs = lhs
 *         cdef SCIP_Real c_rhs = rhs if rhs != None else self.infinity()
*/
  __pyx_v_c_inds = ((int *)malloc((__pyx_v_nnonz * (sizeof(int)))));

  /* "src/pyscipopt/lp.pxi":160
 *         cdef SCIP_Real* c_coefs  = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))
 *         cdef SCIP_Real c_lhs = lhs             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real c_rhs = rhs if rhs != None else self.infinity()
 *         cdef int c_beg = 0
*/
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_lhs); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 160, __pyx_L1_error)
  __pyx_v_c_lhs = __pyx_t_2;

  /* "src/pyscipopt/lp.pxi":161
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))
 *         cdef SCIP_Real c_lhs = lhs
 *         cdef SCIP_Real c_rhs = rhs if rhs != None else self.infinity()             # <<<<<<<<<<<<<<
 *         cdef int c_beg = 0
 *         cdef int i
*/
  __pyx_t_3 = PyObject_RichCompare(__pyx_v_rhs, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 161, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(4, 161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_4) {
    __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_rhs); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 161, __pyx_L1_error)
    __pyx_t_2 = __pyx_t_5;
  } else {
    __pyx_t_6 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_infinity, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 161, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_2 = __pyx_t_5;
  }
  __pyx_v_c_rhs = __pyx_t_2;

  /* "src/pyscipopt/lp.pxi":162
 *         cdef SCIP_Real c_lhs = lhs
 *         cdef SCIP_Real c_rhs = rhs if rhs != None else self.infinity()
 *         cdef int c_beg = 0             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_c_beg = 0;

  /* "src/pyscipopt/lp.pxi":165
 *         cdef int i
 * 
 *         for i,entry in enumerate(entries):             # <<<<<<<<<<<<<<
 *             c_inds[i] = entry[0]
 *             c_coefs[i] = entry[1]
*/
  __pyx_t_8 = 0;
  if (likely(PyList_CheckExact(__pyx_v_entries)) || PyTuple_CheckExact(__pyx_v_entries)) {
    __pyx_t_3 = __pyx_v_entries; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_1 = 0;
    __pyx_t_9 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_entries); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(4, 165, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_9)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 165, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 165, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1));
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 165, __pyx_L1_error)
    } else {
      __pyx_t_6 = __pyx_t_9(__pyx_t_3);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(4, 165, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_6);
    __pyx_t_6 = 0;
    __pyx_v_i = __pyx_t_8;
    __pyx_t_8 = (__pyx_t_8 + 1);

    /* "src/pyscipopt/lp.pxi":166
 * 
 *         for i,entry in enumerate(entries):
 *             c_inds[i] = entry[0]             # <<<<<<<<<<<<<<
 *             c_coefs[i] = entry[1]
 * 
*/
    __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_entry, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_t_6); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 166, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    (__pyx_v_c_inds[__pyx_v_i]) = __pyx_t_10;

    /* "src/pyscipopt/lp.pxi":167
 *         for i,entry in enumerate(entries):
 *             c_inds[i] = entry[0]
 *             c_coefs[i] = entry[1]             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPlpiAddRows(self.lpi, 1, &c_lhs, &c_rhs, NULL, nnonz, &c_beg, c_inds, c_coefs))
*/
    __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_entry, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 167, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    (__pyx_v_c_coefs[__pyx_v_i]) = __pyx_t_2;

    /* "src/pyscipopt/lp.pxi":165
 *         cdef int i
 * 
 *         for i,entry in enumerate(entries):             # <<<<<<<<<<<<<<
 *             c_inds[i] = entry[0]
 *             c_coefs[i] = entry[1]
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/lp.pxi":169
 *             c_coefs[i] = entry[1]
 * 
 *         PY_SCIP_CALL(SCIPlpiAddRows(self.lpi, 1, &c_lhs, &c_rhs, NULL, nnonz, &c_beg, c_inds, c_coefs))             # <<<<<<<<<<<<<<
 * 
 *         free(c_coefs)
*/
  __pyx_t_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_11)) __PYX_ERR(4, 169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_12 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiAddRows(__pyx_v_self->lpi, 1, (&__pyx_v_c_lhs), (&__pyx_v_c_rhs), NULL, __pyx_v_nnonz, (&__pyx_v_c_beg), __pyx_v_c_inds, __pyx_v_c_coefs)); if (unlikely(!__pyx_t_12)) __PYX_ERR(4, 169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_11))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_11);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_12};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/lp.pxi":171
 *         PY_SCIP_CALL(SCIPlpiAddRows(self.lpi, 1, &c_lhs, &c_rhs, NULL, nnonz, &c_beg, c_inds, c_coefs))
 * 
 *         free(c_coefs)             # <<<<<<<<<<<<<<
 *         free(c_inds)
 * 
*/
  free(__pyx_v_c_coefs);

  /* "src/pyscipopt/lp.pxi":172
 * 
 *         free(c_coefs)
 *         free(c_inds)             # <<<<<<<<<<<<<<
 * 
 *     def addRows(self, entrieslist, lhss = None, rhss = None):
*/
  free(__pyx_v_c_inds);

  /* "src/pyscipopt/lp.pxi":148
 *         PY_SCIP_CALL(SCIPlpiDelCols(self.lpi, firstcol, lastcol))
 * 
 *     def addRow(self, entries, lhs=0.0, rhs=None):             # <<<<<<<<<<<<<<
 *         """Adds a single row to the LP.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("pyscipopt.scip.LP.addRow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_entry);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":174
 *         free(c_inds)
 * 
 *     def addRows(self, entrieslist, lhss = None, rhss = None):             # <<<<<<<<<<<<<<
 *         """Adds multiple rows to the LP.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_23addRows(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_22addRows, "Adds multiple rows to the LP.\n\n        Keyword arguments:\n        entrieslist -- a list of lists, where the i-th inner list contains tuples (j, k) such that A[q][j] = k,\n        where A is the constraint matrix, q is the index of the i-th new row, and k is a nonzero entry.\n        lhss        -- left-hand side of the row (default 0.0)\n        rhss        -- right-hand side of the row (default infinity)\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_23addRows = {"addRows", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_23addRows, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_22addRows};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_23addRows(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_entrieslist = 0;
  PyObject *__pyx_v_lhss = 0;
  PyObject *__pyx_v_rhss = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addRows (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_entrieslist,&__pyx_mstate_global->__pyx_n_u_lhss,&__pyx_mstate_global->__pyx_n_u_rhss,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 174, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 174, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 174, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 174, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addRows", 0) < (0)) __PYX_ERR(4, 174, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addRows", 0, 1, 3, i); __PYX_ERR(4, 174, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 174, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 174, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 174, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_entrieslist = values[0];
    __pyx_v_lhss = values[1];
    __pyx_v_rhss = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addRows", 0, 1, 3, __pyx_nargs); __PYX_ERR(4, 174, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.addRows", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_22addRows(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_entrieslist, __pyx_v_lhss, __pyx_v_rhss);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9pyscipopt_4scip_2LP_7addRows_2generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "src/pyscipopt/lp.pxi":187
 *         cdef SCIP_Real* c_rhss  = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef int* c_beg  = <int*>malloc(nrows * sizeof(int))
 *         cdef int nnonz = sum(len(entries) for entries in entrieslist)             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_coefs = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_7addRows_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_4_genexpr(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(4, 187, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9pyscipopt_4scip_2LP_7addRows_2generator4, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[7]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_addRows_locals_genexpr, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip); if (unlikely(!gen)) __PYX_ERR(4, 187, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.LP.addRows.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_9pyscipopt_4scip_2LP_7addRows_2generator4(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  Py_ssize_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L6_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(4, 187, __pyx_L1_error)
  }
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(4, 187, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 187, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 187, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 187, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 187, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(4, 187, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_entries);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_entries, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5 = PyObject_Length(__pyx_cur_scope->__pyx_v_entries); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(4, 187, __pyx_L1_error)
    __pyx_t_4 = PyLong_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    __Pyx_XGIVEREF(__pyx_t_1);
    __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
    __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
    __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L6_resume_from_yield:;
    __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
    __pyx_cur_scope->__pyx_t_0 = 0;
    __Pyx_XGOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
    __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(4, 187, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":174
 *         free(c_inds)
 * 
 *     def addRows(self, entrieslist, lhss = None, rhss = None):             # <<<<<<<<<<<<<<
 *         """Adds multiple rows to the LP.
 * 
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_22addRows(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_entrieslist, PyObject *__pyx_v_lhss, PyObject *__pyx_v_rhss) {
  int __pyx_v_nrows;
  SCIP_Real *__pyx_v_c_lhss;
  SCIP_Real *__pyx_v_c_rhss;
  int *__pyx_v_c_beg;
  int __pyx_v_nnonz;
  SCIP_Real *__pyx_v_c_coefs;
  int *__pyx_v_c_inds;
  int __pyx_v_tmp;
  int __pyx_v_i;
  PyObject *__pyx_v_entries = NULL;
  PyObject *__pyx_v_entry = NULL;
  PyObject *__pyx_gb_9pyscipopt_4scip_2LP_7addRows_2generator4 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  PyObject *(*__pyx_t_7)(PyObject *);
  SCIP_Real __pyx_t_8;
  int __pyx_t_9;
  SCIP_Real __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  PyObject *(*__pyx_t_12)(PyObject *);
  int __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addRows", 0);

  /* "src/pyscipopt/lp.pxi":183
 *         rhss        -- right-hand side of the row (default infinity)
 *         """
 *         cdef int nrows = len(entrieslist)             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_lhss  = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_rhss  = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_entrieslist); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(4, 183, __pyx_L1_error)
  __pyx_v_nrows = __pyx_t_1;

  /* "src/pyscipopt/lp.pxi":184
 *         """
 *         cdef int nrows = len(entrieslist)
 *         cdef SCIP_Real* c_lhss  = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_rhss  = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef int* c_beg  = <int*>malloc(nrows * sizeof(int))
*/
  __pyx_v_c_lhss = ((SCIP_Real *)malloc((__pyx_v_nrows * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":185
 *         cdef int nrows = len(entrieslist)
 *         cdef SCIP_Real* c_lhss  = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_rhss  = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef int* c_beg  = <int*>malloc(nrows * sizeof(int))
 *         cdef int nnonz = sum(len(entries) for entries in entrieslist)
*/
  __pyx_v_c_rhss = ((SCIP_Real *)malloc((__pyx_v_nrows * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":186
 *         cdef SCIP_Real* c_lhss  = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_rhss  = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef int* c_beg  = <int*>malloc(nrows * sizeof(int))             # <<<<<<<<<<<<<<
 *         cdef int nnonz = sum(len(entries) for entries in entrieslist)
 *         cdef SCIP_Real* c_coefs = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
*/
  __pyx_v_c_beg = ((int *)malloc((__pyx_v_nrows * (sizeof(int)))));

  /* "src/pyscipopt/lp.pxi":187
 *         cdef SCIP_Real* c_rhss  = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef int* c_beg  = <int*>malloc(nrows * sizeof(int))
 *         cdef int nnonz = sum(len(entries) for entries in entrieslist)             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_coefs = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = __pyx_pf_9pyscipopt_4scip_2LP_7addRows_genexpr(NULL, __pyx_v_entrieslist); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_sum, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_6 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 187, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_nnonz = __pyx_t_6;

  /* "src/pyscipopt/lp.pxi":188
 *         cdef int* c_beg  = <int*>malloc(nrows * sizeof(int))
 *         cdef int nnonz = sum(len(entries) for entries in entrieslist)
 *         cdef SCIP_Real* c_coefs = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))
 *         cdef int tmp = 0
*/
  __pyx_v_c_coefs = ((SCIP_Real *)malloc((__pyx_v_nnonz * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":189
 *         cdef int nnonz = sum(len(entries) for entries in entrieslist)
 *         cdef SCIP_Real* c_coefs = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))             # <<<<<<<<<<<<<<
 *         cdef int tmp = 0
 *         cdef int i
*/
  __pyx_v_c_inds = ((int *)malloc((__pyx_v_nnonz * (sizeof(int)))));

  /* "src/pyscipopt/lp.pxi":190
 *         cdef SCIP_Real* c_coefs = <SCIP_Real*> malloc(nnonz * sizeof(SCIP_Real))
 *         cdef int* c_inds = <int*>malloc(nnonz * sizeof(int))
 *         cdef int tmp = 0             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_tmp = 0;

  /* "src/pyscipopt/lp.pxi":193
 *         cdef int i
 * 
 *         for i,entries in enumerate(entrieslist):             # <<<<<<<<<<<<<<
 *             c_lhss[i] = lhss[i] if lhss != None else 0.0
 *             c_rhss[i] = rhss[i] if rhss != None else self.infinity()
*/
  __pyx_t_6 = 0;
  if (likely(PyList_CheckExact(__pyx_v_entrieslist)) || PyTuple_CheckExact(__pyx_v_entrieslist)) {
    __pyx_t_2 = __pyx_v_entrieslist; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_1 = 0;
    __pyx_t_7 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_entrieslist); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 193, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 193, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_7)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 193, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 193, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 193, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_7(__pyx_t_2);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(4, 193, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_entries, __pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_v_i = __pyx_t_6;
    __pyx_t_6 = (__pyx_t_6 + 1);

    /* "src/pyscipopt/lp.pxi":194
 * 
 *         for i,entries in enumerate(entrieslist):
 *             c_lhss[i] = lhss[i] if lhss != None else 0.0             # <<<<<<<<<<<<<<
 *             c_rhss[i] = rhss[i] if rhss != None else self.infinity()
 *             c_beg[i]  = tmp
*/
    __pyx_t_4 = PyObject_RichCompare(__pyx_v_lhss, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 194, __pyx_L1_error)
    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(4, 194, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (__pyx_t_9) {
      __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_lhss, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 194, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 194, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_8 = __pyx_t_10;
    } else {
      __pyx_t_8 = 0.0;
    }
    (__pyx_v_c_lhss[__pyx_v_i]) = __pyx_t_8;

    /* "src/pyscipopt/lp.pxi":195
 *         for i,entries in enumerate(entrieslist):
 *             c_lhss[i] = lhss[i] if lhss != None else 0.0
 *             c_rhss[i] = rhss[i] if rhss != None else self.infinity()             # <<<<<<<<<<<<<<
 *             c_beg[i]  = tmp
 * 
*/
    __pyx_t_4 = PyObject_RichCompare(__pyx_v_rhss, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 195, __pyx_L1_error)
    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_9 < 0))) __PYX_ERR(4, 195, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (__pyx_t_9) {
      __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_rhss, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 195, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 195, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_8 = __pyx_t_10;
    } else {
      __pyx_t_3 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_5 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
        __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_infinity, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 195, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 195, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_8 = __pyx_t_10;
    }
    (__pyx_v_c_rhss[__pyx_v_i]) = __pyx_t_8;

    /* "src/pyscipopt/lp.pxi":196
 *             c_lhss[i] = lhss[i] if lhss != None else 0.0
 *             c_rhss[i] = rhss[i] if rhss != None else self.infinity()
 *             c_beg[i]  = tmp             # <<<<<<<<<<<<<<
 * 
 *             for entry in entries:
*/
    (__pyx_v_c_beg[__pyx_v_i]) = __pyx_v_tmp;

    /* "src/pyscipopt/lp.pxi":198
 *             c_beg[i]  = tmp
 * 
 *             for entry in entries:             # <<<<<<<<<<<<<<
 *                 c_inds[tmp] = entry[0]
 *                 c_coefs[tmp] = entry[1]
*/
    if (likely(PyList_CheckExact(__pyx_v_entries)) || PyTuple_CheckExact(__pyx_v_entries)) {
      __pyx_t_4 = __pyx_v_entries; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_11 = 0;
      __pyx_t_12 = NULL;
    } else {
      __pyx_t_11 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_entries); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(4, 198, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_12)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 198, __pyx_L1_error)
            #endif
            if (__pyx_t_11 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_11, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_11;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(4, 198, __pyx_L1_error)
            #endif
            if (__pyx_t_11 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_11));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_11);
          #endif
          ++__pyx_t_11;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 198, __pyx_L1_error)
      } else {
        __pyx_t_3 = __pyx_t_12(__pyx_t_4);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(4, 198, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_XDECREF_SET(__pyx_v_entry, __pyx_t_3);
      __pyx_t_3 = 0;

      /* "src/pyscipopt/lp.pxi":199
 * 
 *             for entry in entries:
 *                 c_inds[tmp] = entry[0]             # <<<<<<<<<<<<<<
 *                 c_coefs[tmp] = entry[1]
 *                 tmp += 1
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_entry, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 199, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_13 = __Pyx_PyLong_As_int(__pyx_t_3); if (unlikely((__pyx_t_13 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 199, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      (__pyx_v_c_inds[__pyx_v_tmp]) = __pyx_t_13;

      /* "src/pyscipopt/lp.pxi":200
 *             for entry in entries:
 *                 c_inds[tmp] = entry[0]
 *                 c_coefs[tmp] = entry[1]             # <<<<<<<<<<<<<<
 *                 tmp += 1
 * 
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_entry, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 200, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = __Pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_8 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 200, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      (__pyx_v_c_coefs[__pyx_v_tmp]) = __pyx_t_8;

      /* "src/pyscipopt/lp.pxi":201
 *                 c_inds[tmp] = entry[0]
 *                 c_coefs[tmp] = entry[1]
 *                 tmp += 1             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPlpiAddRows(self.lpi, nrows, c_lhss, c_rhss, NULL, nnonz, c_beg, c_inds, c_coefs))
*/
      __pyx_v_tmp = (__pyx_v_tmp + 1);

      /* "src/pyscipopt/lp.pxi":198
 *             c_beg[i]  = tmp
 * 
 *             for entry in entries:             # <<<<<<<<<<<<<<
 *                 c_inds[tmp] = entry[0]
 *                 c_coefs[tmp] = entry[1]
*/
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/lp.pxi":193
 *         cdef int i
 * 
 *         for i,entries in enumerate(entrieslist):             # <<<<<<<<<<<<<<
 *             c_lhss[i] = lhss[i] if lhss != None else 0.0
 *             c_rhss[i] = rhss[i] if rhss != None else self.infinity()
*/
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/lp.pxi":203
 *                 tmp += 1
 * 
 *         PY_SCIP_CALL(SCIPlpiAddRows(self.lpi, nrows, c_lhss, c_rhss, NULL, nnonz, c_beg, c_inds, c_coefs))             # <<<<<<<<<<<<<<
 * 
 *         free(c_beg)
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_14 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiAddRows(__pyx_v_self->lpi, __pyx_v_nrows, __pyx_v_c_lhss, __pyx_v_c_rhss, NULL, __pyx_v_nnonz, __pyx_v_c_beg, __pyx_v_c_inds, __pyx_v_c_coefs)); if (unlikely(!__pyx_t_14)) __PYX_ERR(4, 203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_14};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/lp.pxi":205
 *         PY_SCIP_CALL(SCIPlpiAddRows(self.lpi, nrows, c_lhss, c_rhss, NULL, nnonz, c_beg, c_inds, c_coefs))
 * 
 *         free(c_beg)             # <<<<<<<<<<<<<<
 *         free(c_inds)
 *         free(c_coefs)
*/
  free(__pyx_v_c_beg);

  /* "src/pyscipopt/lp.pxi":206
 * 
 *         free(c_beg)
 *         free(c_inds)             # <<<<<<<<<<<<<<
 *         free(c_coefs)
 *         free(c_lhss)
*/
  free(__pyx_v_c_inds);

  /* "src/pyscipopt/lp.pxi":207
 *         free(c_beg)
 *         free(c_inds)
 *         free(c_coefs)             # <<<<<<<<<<<<<<
 *         free(c_lhss)
 *         free(c_rhss)
*/
  free(__pyx_v_c_coefs);

  /* "src/pyscipopt/lp.pxi":208
 *         free(c_inds)
 *         free(c_coefs)
 *         free(c_lhss)             # <<<<<<<<<<<<<<
 *         free(c_rhss)
 * 
*/
  free(__pyx_v_c_lhss);

  /* "src/pyscipopt/lp.pxi":209
 *         free(c_coefs)
 *         free(c_lhss)
 *         free(c_rhss)             # <<<<<<<<<<<<<<
 * 
 *     def delRows(self, firstrow, lastrow):
*/
  free(__pyx_v_c_rhss);

  /* "src/pyscipopt/lp.pxi":174
 *         free(c_inds)
 * 
 *     def addRows(self, entrieslist, lhss = None, rhss = None):             # <<<<<<<<<<<<<<
 *         """Adds multiple rows to the LP.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("pyscipopt.scip.LP.addRows", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_entries);
  __Pyx_XDECREF(__pyx_v_entry);
  __Pyx_XDECREF(__pyx_gb_9pyscipopt_4scip_2LP_7addRows_2generator4);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":211
 *         free(c_rhss)
 * 
 *     def delRows(self, firstrow, lastrow):             # <<<<<<<<<<<<<<
 *         """Deletes a range of rows from the LP.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_25delRows(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_24delRows, "Deletes a range of rows from the LP.\n\n        Keyword arguments:\n        firstrow -- first row to delete\n        lastrow  -- last row to delete\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_25delRows = {"delRows", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_25delRows, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_24delRows};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_25delRows(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_firstrow = 0;
  PyObject *__pyx_v_lastrow = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("delRows (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_firstrow,&__pyx_mstate_global->__pyx_n_u_lastrow,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 211, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 211, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 211, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "delRows", 0) < (0)) __PYX_ERR(4, 211, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("delRows", 1, 2, 2, i); __PYX_ERR(4, 211, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 211, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 211, __pyx_L3_error)
    }
    __pyx_v_firstrow = values[0];
    __pyx_v_lastrow = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("delRows", 1, 2, 2, __pyx_nargs); __PYX_ERR(4, 211, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.delRows", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_24delRows(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_firstrow, __pyx_v_lastrow);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_24delRows(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_firstrow, PyObject *__pyx_v_lastrow) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("delRows", 0);

  /* "src/pyscipopt/lp.pxi":218
 *         lastrow  -- last row to delete
 *         """
 *         PY_SCIP_CALL(SCIPlpiDelRows(self.lpi, firstrow, lastrow))             # <<<<<<<<<<<<<<
 * 
 *     def getBounds(self, firstcol = 0, lastcol = None):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_v_firstrow); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 218, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_v_lastrow); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 218, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiDelRows(__pyx_v_self->lpi, __pyx_t_4, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":211
 *         free(c_rhss)
 * 
 *     def delRows(self, firstrow, lastrow):             # <<<<<<<<<<<<<<
 *         """Deletes a range of rows from the LP.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.LP.delRows", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":220
 *         PY_SCIP_CALL(SCIPlpiDelRows(self.lpi, firstrow, lastrow))
 * 
 *     def getBounds(self, firstcol = 0, lastcol = None):             # <<<<<<<<<<<<<<
 *         """Returns all lower and upper bounds for a range of columns.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_27getBounds(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_26getBounds, "Returns all lower and upper bounds for a range of columns.\n\n        Keyword arguments:\n        firstcol -- first column (default 0)\n        lastcol  -- last column (default ncols - 1)\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_27getBounds = {"getBounds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_27getBounds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_26getBounds};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_27getBounds(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_firstcol = 0;
  PyObject *__pyx_v_lastcol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBounds (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_firstcol,&__pyx_mstate_global->__pyx_n_u_lastcol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 220, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getBounds", 0) < (0)) __PYX_ERR(4, 220, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_firstcol = values[0];
    __pyx_v_lastcol = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getBounds", 0, 0, 2, __pyx_nargs); __PYX_ERR(4, 220, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.getBounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_26getBounds(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_firstcol, __pyx_v_lastcol);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_26getBounds(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_firstcol, PyObject *__pyx_v_lastcol) {
  int __pyx_v_i;
  PyObject *__pyx_v_ncols = NULL;
  SCIP_Real *__pyx_v_c_lbs;
  SCIP_Real *__pyx_v_c_ubs;
  PyObject *__pyx_v_lbs = NULL;
  PyObject *__pyx_v_ubs = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBounds", 0);
  __Pyx_INCREF(__pyx_v_lastcol);

  /* "src/pyscipopt/lp.pxi":229
 *         cdef int i
 * 
 *         lastcol = lastcol if lastcol != None else self.ncols() - 1             # <<<<<<<<<<<<<<
 * 
 *         if firstcol > lastcol:
*/
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_lastcol, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 229, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(4, 229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __Pyx_INCREF(__pyx_v_lastcol);
    __pyx_t_1 = __pyx_v_lastcol;
  } else {
    __pyx_t_4 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_ncols, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 229, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyLong_SubtractObjC(__pyx_t_2, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_1 = __pyx_t_4;
    __pyx_t_4 = 0;
  }
  __Pyx_DECREF_SET(__pyx_v_lastcol, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":231
 *         lastcol = lastcol if lastcol != None else self.ncols() - 1
 * 
 *         if firstcol > lastcol:             # <<<<<<<<<<<<<<
 *             return None
 * 
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_firstcol, __pyx_v_lastcol, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 231, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(4, 231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/lp.pxi":232
 * 
 *         if firstcol > lastcol:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *         ncols = lastcol - firstcol + 1
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/pyscipopt/lp.pxi":231
 *         lastcol = lastcol if lastcol != None else self.ncols() - 1
 * 
 *         if firstcol > lastcol:             # <<<<<<<<<<<<<<
 *             return None
 * 
*/
  }

  /* "src/pyscipopt/lp.pxi":234
 *             return None
 * 
 *         ncols = lastcol - firstcol + 1             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_lbs = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_ubs = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
*/
  __pyx_t_1 = PyNumber_Subtract(__pyx_v_lastcol, __pyx_v_firstcol); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_1, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ncols = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":235
 * 
 *         ncols = lastcol - firstcol + 1
 *         cdef SCIP_Real* c_lbs = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_ubs = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         PY_SCIP_CALL(SCIPlpiGetBounds(self.lpi, firstcol, lastcol, c_lbs, c_ubs))
*/
  __pyx_t_4 = __Pyx_PyLong_FromSize_t((sizeof(SCIP_Real))); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyNumber_Multiply(__pyx_v_ncols, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_5 = __Pyx_PyLong_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_c_lbs = ((SCIP_Real *)malloc(__pyx_t_5));

  /* "src/pyscipopt/lp.pxi":236
 *         ncols = lastcol - firstcol + 1
 *         cdef SCIP_Real* c_lbs = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_ubs = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPlpiGetBounds(self.lpi, firstcol, lastcol, c_lbs, c_ubs))
 * 
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(SCIP_Real))); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyNumber_Multiply(__pyx_v_ncols, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = __Pyx_PyLong_As_size_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 236, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_c_ubs = ((SCIP_Real *)malloc(__pyx_t_5));

  /* "src/pyscipopt/lp.pxi":237
 *         cdef SCIP_Real* c_lbs = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_ubs = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         PY_SCIP_CALL(SCIPlpiGetBounds(self.lpi, firstcol, lastcol, c_lbs, c_ubs))             # <<<<<<<<<<<<<<
 * 
 *         lbs = []
*/
  __pyx_t_1 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyLong_As_int(__pyx_v_firstcol); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 237, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_lastcol); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 237, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetBounds(__pyx_v_self->lpi, __pyx_t_6, __pyx_t_7, __pyx_v_c_lbs, __pyx_v_c_ubs)); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_8};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 237, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":239
 *         PY_SCIP_CALL(SCIPlpiGetBounds(self.lpi, firstcol, lastcol, c_lbs, c_ubs))
 * 
 *         lbs = []             # <<<<<<<<<<<<<<
 *         ubs = []
 * 
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_lbs = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":240
 * 
 *         lbs = []
 *         ubs = []             # <<<<<<<<<<<<<<
 * 
 *         for i in range(ncols):
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_ubs = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":242
 *         ubs = []
 * 
 *         for i in range(ncols):             # <<<<<<<<<<<<<<
 *             lbs.append(c_lbs[i])
 *             ubs.append(c_ubs[i])
*/
  __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_v_ncols); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 242, __pyx_L1_error)
  __pyx_t_10 = __pyx_t_9;
  for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_10; __pyx_t_7+=1) {
    __pyx_v_i = __pyx_t_7;

    /* "src/pyscipopt/lp.pxi":243
 * 
 *         for i in range(ncols):
 *             lbs.append(c_lbs[i])             # <<<<<<<<<<<<<<
 *             ubs.append(c_ubs[i])
 * 
*/
    __pyx_t_4 = PyFloat_FromDouble((__pyx_v_c_lbs[__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 243, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_lbs, __pyx_t_4); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(4, 243, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/lp.pxi":244
 *         for i in range(ncols):
 *             lbs.append(c_lbs[i])
 *             ubs.append(c_ubs[i])             # <<<<<<<<<<<<<<
 * 
 *         free(c_ubs)
*/
    __pyx_t_4 = PyFloat_FromDouble((__pyx_v_c_ubs[__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_ubs, __pyx_t_4); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(4, 244, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }

  /* "src/pyscipopt/lp.pxi":246
 *             ubs.append(c_ubs[i])
 * 
 *         free(c_ubs)             # <<<<<<<<<<<<<<
 *         free(c_lbs)
 * 
*/
  free(__pyx_v_c_ubs);

  /* "src/pyscipopt/lp.pxi":247
 * 
 *         free(c_ubs)
 *         free(c_lbs)             # <<<<<<<<<<<<<<
 * 
 *         return lbs, ubs
*/
  free(__pyx_v_c_lbs);

  /* "src/pyscipopt/lp.pxi":249
 *         free(c_lbs)
 * 
 *         return lbs, ubs             # <<<<<<<<<<<<<<
 * 
 *     def getSides(self, firstrow = 0, lastrow = None):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_lbs);
  __Pyx_GIVEREF(__pyx_v_lbs);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_lbs) != (0)) __PYX_ERR(4, 249, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_ubs);
  __Pyx_GIVEREF(__pyx_v_ubs);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_ubs) != (0)) __PYX_ERR(4, 249, __pyx_L1_error);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":220
 *         PY_SCIP_CALL(SCIPlpiDelRows(self.lpi, firstrow, lastrow))
 * 
 *     def getBounds(self, firstcol = 0, lastcol = None):             # <<<<<<<<<<<<<<
 *         """Returns all lower and upper bounds for a range of columns.
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.LP.getBounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ncols);
  __Pyx_XDECREF(__pyx_v_lbs);
  __Pyx_XDECREF(__pyx_v_ubs);
  __Pyx_XDECREF(__pyx_v_lastcol);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":251
 *         return lbs, ubs
 * 
 *     def getSides(self, firstrow = 0, lastrow = None):             # <<<<<<<<<<<<<<
 *         """Returns all left- and right-hand sides for a range of rows.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_29getSides(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_28getSides, "Returns all left- and right-hand sides for a range of rows.\n\n        Keyword arguments:\n        firstrow -- first row (default 0)\n        lastrow  -- last row (default nrows - 1)\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_29getSides = {"getSides", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_29getSides, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_28getSides};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_29getSides(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_firstrow = 0;
  PyObject *__pyx_v_lastrow = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSides (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_firstrow,&__pyx_mstate_global->__pyx_n_u_lastrow,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 251, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 251, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 251, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getSides", 0) < (0)) __PYX_ERR(4, 251, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 251, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 251, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_firstrow = values[0];
    __pyx_v_lastrow = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getSides", 0, 0, 2, __pyx_nargs); __PYX_ERR(4, 251, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.getSides", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_28getSides(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_firstrow, __pyx_v_lastrow);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_28getSides(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_firstrow, PyObject *__pyx_v_lastrow) {
  int __pyx_v_i;
  PyObject *__pyx_v_nrows = NULL;
  SCIP_Real *__pyx_v_c_lhss;
  SCIP_Real *__pyx_v_c_rhss;
  PyObject *__pyx_v_lhss = NULL;
  PyObject *__pyx_v_rhss = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  int __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getSides", 0);
  __Pyx_INCREF(__pyx_v_lastrow);

  /* "src/pyscipopt/lp.pxi":260
 *         cdef int i
 * 
 *         lastrow = lastrow if lastrow != None else self.nrows() - 1             # <<<<<<<<<<<<<<
 * 
 *         if firstrow > lastrow:
*/
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_lastrow, Py_None, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 260, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(4, 260, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {
    __Pyx_INCREF(__pyx_v_lastrow);
    __pyx_t_1 = __pyx_v_lastrow;
  } else {
    __pyx_t_4 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_nrows, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 260, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyLong_SubtractObjC(__pyx_t_2, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 260, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_1 = __pyx_t_4;
    __pyx_t_4 = 0;
  }
  __Pyx_DECREF_SET(__pyx_v_lastrow, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":262
 *         lastrow = lastrow if lastrow != None else self.nrows() - 1
 * 
 *         if firstrow > lastrow:             # <<<<<<<<<<<<<<
 *             return None
 * 
*/
  __pyx_t_1 = PyObject_RichCompare(__pyx_v_firstrow, __pyx_v_lastrow, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 262, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(4, 262, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/lp.pxi":263
 * 
 *         if firstrow > lastrow:
 *             return None             # <<<<<<<<<<<<<<
 * 
 *         nrows = lastrow - firstrow + 1
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/pyscipopt/lp.pxi":262
 *         lastrow = lastrow if lastrow != None else self.nrows() - 1
 * 
 *         if firstrow > lastrow:             # <<<<<<<<<<<<<<
 *             return None
 * 
*/
  }

  /* "src/pyscipopt/lp.pxi":265
 *             return None
 * 
 *         nrows = lastrow - firstrow + 1             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_lhss = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_rhss = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
*/
  __pyx_t_1 = PyNumber_Subtract(__pyx_v_lastrow, __pyx_v_firstrow); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_t_1, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_nrows = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":266
 * 
 *         nrows = lastrow - firstrow + 1
 *         cdef SCIP_Real* c_lhss = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_rhss = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         PY_SCIP_CALL(SCIPlpiGetSides(self.lpi, firstrow, lastrow, c_lhss, c_rhss))
*/
  __pyx_t_4 = __Pyx_PyLong_FromSize_t((sizeof(SCIP_Real))); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = PyNumber_Multiply(__pyx_v_nrows, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_5 = __Pyx_PyLong_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 266, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_c_lhss = ((SCIP_Real *)malloc(__pyx_t_5));

  /* "src/pyscipopt/lp.pxi":267
 *         nrows = lastrow - firstrow + 1
 *         cdef SCIP_Real* c_lhss = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_rhss = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPlpiGetSides(self.lpi, firstrow, lastrow, c_lhss, c_rhss))
 * 
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t((sizeof(SCIP_Real))); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyNumber_Multiply(__pyx_v_nrows, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 267, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = __Pyx_PyLong_As_size_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 267, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_c_rhss = ((SCIP_Real *)malloc(__pyx_t_5));

  /* "src/pyscipopt/lp.pxi":268
 *         cdef SCIP_Real* c_lhss = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef SCIP_Real* c_rhss = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         PY_SCIP_CALL(SCIPlpiGetSides(self.lpi, firstrow, lastrow, c_lhss, c_rhss))             # <<<<<<<<<<<<<<
 * 
 *         lhss = []
*/
  __pyx_t_1 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyLong_As_int(__pyx_v_firstrow); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 268, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_lastrow); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 268, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetSides(__pyx_v_self->lpi, __pyx_t_6, __pyx_t_7, __pyx_v_c_lhss, __pyx_v_c_rhss)); if (unlikely(!__pyx_t_8)) __PYX_ERR(4, 268, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_8};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 268, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":270
 *         PY_SCIP_CALL(SCIPlpiGetSides(self.lpi, firstrow, lastrow, c_lhss, c_rhss))
 * 
 *         lhss = []             # <<<<<<<<<<<<<<
 *         rhss = []
 * 
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_lhss = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":271
 * 
 *         lhss = []
 *         rhss = []             # <<<<<<<<<<<<<<
 * 
 *         for i in range(firstrow, lastrow + 1):
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_rhss = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":273
 *         rhss = []
 * 
 *         for i in range(firstrow, lastrow + 1):             # <<<<<<<<<<<<<<
 *             lhss.append(c_lhss[i])
 *             rhss.append(c_rhss[i])
*/
  __pyx_t_4 = __Pyx_PyLong_AddObjC(__pyx_v_lastrow, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_v_firstrow); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(4, 273, __pyx_L1_error)
  __pyx_t_11 = __pyx_t_9;
  for (__pyx_t_7 = __pyx_t_10; __pyx_t_7 < __pyx_t_11; __pyx_t_7+=1) {
    __pyx_v_i = __pyx_t_7;

    /* "src/pyscipopt/lp.pxi":274
 * 
 *         for i in range(firstrow, lastrow + 1):
 *             lhss.append(c_lhss[i])             # <<<<<<<<<<<<<<
 *             rhss.append(c_rhss[i])
 * 
*/
    __pyx_t_4 = PyFloat_FromDouble((__pyx_v_c_lhss[__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_lhss, __pyx_t_4); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(4, 274, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/lp.pxi":275
 *         for i in range(firstrow, lastrow + 1):
 *             lhss.append(c_lhss[i])
 *             rhss.append(c_rhss[i])             # <<<<<<<<<<<<<<
 * 
 *         free(c_rhss)
*/
    __pyx_t_4 = PyFloat_FromDouble((__pyx_v_c_rhss[__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_rhss, __pyx_t_4); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(4, 275, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  }

  /* "src/pyscipopt/lp.pxi":277
 *             rhss.append(c_rhss[i])
 * 
 *         free(c_rhss)             # <<<<<<<<<<<<<<
 *         free(c_lhss)
 * 
*/
  free(__pyx_v_c_rhss);

  /* "src/pyscipopt/lp.pxi":278
 * 
 *         free(c_rhss)
 *         free(c_lhss)             # <<<<<<<<<<<<<<
 * 
 *         return lhss, rhss
*/
  free(__pyx_v_c_lhss);

  /* "src/pyscipopt/lp.pxi":280
 *         free(c_lhss)
 * 
 *         return lhss, rhss             # <<<<<<<<<<<<<<
 * 
 *     def chgObj(self, col, obj):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_lhss);
  __Pyx_GIVEREF(__pyx_v_lhss);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_lhss) != (0)) __PYX_ERR(4, 280, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_rhss);
  __Pyx_GIVEREF(__pyx_v_rhss);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_rhss) != (0)) __PYX_ERR(4, 280, __pyx_L1_error);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":251
 *         return lbs, ubs
 * 
 *     def getSides(self, firstrow = 0, lastrow = None):             # <<<<<<<<<<<<<<
 *         """Returns all left- and right-hand sides for a range of rows.
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.LP.getSides", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_nrows);
  __Pyx_XDECREF(__pyx_v_lhss);
  __Pyx_XDECREF(__pyx_v_rhss);
  __Pyx_XDECREF(__pyx_v_lastrow);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":282
 *         return lhss, rhss
 * 
 *     def chgObj(self, col, obj):             # <<<<<<<<<<<<<<
 *         """Changes objective coefficient of a single column.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_31chgObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_30chgObj, "Changes objective coefficient of a single column.\n\n        Keyword arguments:\n        col -- column to change\n        obj -- new objective coefficient\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_31chgObj = {"chgObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_31chgObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_30chgObj};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_31chgObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_col = 0;
  PyObject *__pyx_v_obj = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgObj (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_col,&__pyx_mstate_global->__pyx_n_u_obj,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 282, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 282, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 282, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgObj", 0) < (0)) __PYX_ERR(4, 282, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgObj", 1, 2, 2, i); __PYX_ERR(4, 282, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 282, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 282, __pyx_L3_error)
    }
    __pyx_v_col = values[0];
    __pyx_v_obj = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgObj", 1, 2, 2, __pyx_nargs); __PYX_ERR(4, 282, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.chgObj", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_30chgObj(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_col, __pyx_v_obj);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_30chgObj(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_col, PyObject *__pyx_v_obj) {
  SCIP_Real __pyx_v_c_obj;
  int __pyx_v_c_col;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgObj", 0);

  /* "src/pyscipopt/lp.pxi":289
 *         obj -- new objective coefficient
 *         """
 *         cdef SCIP_Real c_obj = obj             # <<<<<<<<<<<<<<
 *         cdef int c_col = col
 * 
*/
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_obj); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 289, __pyx_L1_error)
  __pyx_v_c_obj = __pyx_t_1;

  /* "src/pyscipopt/lp.pxi":290
 *         """
 *         cdef SCIP_Real c_obj = obj
 *         cdef int c_col = col             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPlpiChgObj(self.lpi, 1, &c_col, &c_obj))
*/
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_v_col); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 290, __pyx_L1_error)
  __pyx_v_c_col = __pyx_t_2;

  /* "src/pyscipopt/lp.pxi":292
 *         cdef int c_col = col
 * 
 *         PY_SCIP_CALL(SCIPlpiChgObj(self.lpi, 1, &c_col, &c_obj))             # <<<<<<<<<<<<<<
 * 
 *     def chgCoef(self, row, col, newval):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiChgObj(__pyx_v_self->lpi, 1, (&__pyx_v_c_col), (&__pyx_v_c_obj))); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/lp.pxi":282
 *         return lhss, rhss
 * 
 *     def chgObj(self, col, obj):             # <<<<<<<<<<<<<<
 *         """Changes objective coefficient of a single column.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.LP.chgObj", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":294
 *         PY_SCIP_CALL(SCIPlpiChgObj(self.lpi, 1, &c_col, &c_obj))
 * 
 *     def chgCoef(self, row, col, newval):             # <<<<<<<<<<<<<<
 *         """Changes a single coefficient in the LP.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_33chgCoef(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_32chgCoef, "Changes a single coefficient in the LP.\n\n        Keyword arguments:\n        row -- row to change\n        col -- column to change\n        newval -- new coefficient\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_33chgCoef = {"chgCoef", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_33chgCoef, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_32chgCoef};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_33chgCoef(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_row = 0;
  PyObject *__pyx_v_col = 0;
  PyObject *__pyx_v_newval = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgCoef (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,&__pyx_mstate_global->__pyx_n_u_col,&__pyx_mstate_global->__pyx_n_u_newval,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 294, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 294, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 294, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 294, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgCoef", 0) < (0)) __PYX_ERR(4, 294, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgCoef", 1, 3, 3, i); __PYX_ERR(4, 294, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 294, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 294, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 294, __pyx_L3_error)
    }
    __pyx_v_row = values[0];
    __pyx_v_col = values[1];
    __pyx_v_newval = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgCoef", 1, 3, 3, __pyx_nargs); __PYX_ERR(4, 294, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.chgCoef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_32chgCoef(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_row, __pyx_v_col, __pyx_v_newval);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_32chgCoef(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_row, PyObject *__pyx_v_col, PyObject *__pyx_v_newval) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  SCIP_Real __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgCoef", 0);

  /* "src/pyscipopt/lp.pxi":302
 *         newval -- new coefficient
 *         """
 *         PY_SCIP_CALL(SCIPlpiChgCoef(self.lpi, row, col, newval))             # <<<<<<<<<<<<<<
 * 
 *     def chgBound(self, col, lb, ub):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_v_row); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 302, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_v_col); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 302, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_newval); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 302, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiChgCoef(__pyx_v_self->lpi, __pyx_t_4, __pyx_t_5, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_8 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 302, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":294
 *         PY_SCIP_CALL(SCIPlpiChgObj(self.lpi, 1, &c_col, &c_obj))
 * 
 *     def chgCoef(self, row, col, newval):             # <<<<<<<<<<<<<<
 *         """Changes a single coefficient in the LP.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.LP.chgCoef", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":304
 *         PY_SCIP_CALL(SCIPlpiChgCoef(self.lpi, row, col, newval))
 * 
 *     def chgBound(self, col, lb, ub):             # <<<<<<<<<<<<<<
 *         """Changes the lower and upper bound of a single column.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_35chgBound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_34chgBound, "Changes the lower and upper bound of a single column.\n\n        Keyword arguments:\n        col -- column to change\n        lb  -- new lower bound\n        ub  -- new upper bound\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_35chgBound = {"chgBound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_35chgBound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_34chgBound};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_35chgBound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_col = 0;
  PyObject *__pyx_v_lb = 0;
  PyObject *__pyx_v_ub = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgBound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_col,&__pyx_mstate_global->__pyx_n_u_lb,&__pyx_mstate_global->__pyx_n_u_ub,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 304, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 304, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 304, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 304, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgBound", 0) < (0)) __PYX_ERR(4, 304, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgBound", 1, 3, 3, i); __PYX_ERR(4, 304, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 304, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 304, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 304, __pyx_L3_error)
    }
    __pyx_v_col = values[0];
    __pyx_v_lb = values[1];
    __pyx_v_ub = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgBound", 1, 3, 3, __pyx_nargs); __PYX_ERR(4, 304, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.chgBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_34chgBound(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_col, __pyx_v_lb, __pyx_v_ub);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_34chgBound(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_col, PyObject *__pyx_v_lb, PyObject *__pyx_v_ub) {
  SCIP_Real __pyx_v_c_lb;
  SCIP_Real __pyx_v_c_ub;
  int __pyx_v_c_col;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgBound", 0);

  /* "src/pyscipopt/lp.pxi":312
 *         ub  -- new upper bound
 *         """
 *         cdef SCIP_Real c_lb = lb             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real c_ub = ub
 *         cdef int c_col = col
*/
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 312, __pyx_L1_error)
  __pyx_v_c_lb = __pyx_t_1;

  /* "src/pyscipopt/lp.pxi":313
 *         """
 *         cdef SCIP_Real c_lb = lb
 *         cdef SCIP_Real c_ub = ub             # <<<<<<<<<<<<<<
 *         cdef int c_col = col
 * 
*/
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_ub); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 313, __pyx_L1_error)
  __pyx_v_c_ub = __pyx_t_1;

  /* "src/pyscipopt/lp.pxi":314
 *         cdef SCIP_Real c_lb = lb
 *         cdef SCIP_Real c_ub = ub
 *         cdef int c_col = col             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPlpiChgBounds(self.lpi, 1, &c_col, &c_lb, &c_ub))
*/
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_v_col); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 314, __pyx_L1_error)
  __pyx_v_c_col = __pyx_t_2;

  /* "src/pyscipopt/lp.pxi":316
 *         cdef int c_col = col
 * 
 *         PY_SCIP_CALL(SCIPlpiChgBounds(self.lpi, 1, &c_col, &c_lb, &c_ub))             # <<<<<<<<<<<<<<
 * 
 *     def chgSide(self, row, lhs, rhs):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiChgBounds(__pyx_v_self->lpi, 1, (&__pyx_v_c_col), (&__pyx_v_c_lb), (&__pyx_v_c_ub))); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 316, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/lp.pxi":304
 *         PY_SCIP_CALL(SCIPlpiChgCoef(self.lpi, row, col, newval))
 * 
 *     def chgBound(self, col, lb, ub):             # <<<<<<<<<<<<<<
 *         """Changes the lower and upper bound of a single column.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.LP.chgBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":318
 *         PY_SCIP_CALL(SCIPlpiChgBounds(self.lpi, 1, &c_col, &c_lb, &c_ub))
 * 
 *     def chgSide(self, row, lhs, rhs):             # <<<<<<<<<<<<<<
 *         """Changes the left- and right-hand side of a single row.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_37chgSide(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_36chgSide, "Changes the left- and right-hand side of a single row.\n\n        Keyword arguments:\n        row -- row to change\n        lhs -- new left-hand side\n        rhs -- new right-hand side\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_37chgSide = {"chgSide", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_37chgSide, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_36chgSide};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_37chgSide(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_row = 0;
  PyObject *__pyx_v_lhs = 0;
  PyObject *__pyx_v_rhs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgSide (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,&__pyx_mstate_global->__pyx_n_u_lhs,&__pyx_mstate_global->__pyx_n_u_rhs,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 318, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 318, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 318, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 318, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgSide", 0) < (0)) __PYX_ERR(4, 318, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgSide", 1, 3, 3, i); __PYX_ERR(4, 318, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 318, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 318, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(4, 318, __pyx_L3_error)
    }
    __pyx_v_row = values[0];
    __pyx_v_lhs = values[1];
    __pyx_v_rhs = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgSide", 1, 3, 3, __pyx_nargs); __PYX_ERR(4, 318, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.chgSide", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_36chgSide(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_row, __pyx_v_lhs, __pyx_v_rhs);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_36chgSide(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_row, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs) {
  SCIP_Real __pyx_v_c_lhs;
  SCIP_Real __pyx_v_c_rhs;
  int __pyx_v_c_row;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgSide", 0);

  /* "src/pyscipopt/lp.pxi":326
 *         rhs -- new right-hand side
 *         """
 *         cdef SCIP_Real c_lhs = lhs             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real c_rhs = rhs
 *         cdef int c_row = row
*/
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_lhs); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 326, __pyx_L1_error)
  __pyx_v_c_lhs = __pyx_t_1;

  /* "src/pyscipopt/lp.pxi":327
 *         """
 *         cdef SCIP_Real c_lhs = lhs
 *         cdef SCIP_Real c_rhs = rhs             # <<<<<<<<<<<<<<
 *         cdef int c_row = row
 * 
*/
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_rhs); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 327, __pyx_L1_error)
  __pyx_v_c_rhs = __pyx_t_1;

  /* "src/pyscipopt/lp.pxi":328
 *         cdef SCIP_Real c_lhs = lhs
 *         cdef SCIP_Real c_rhs = rhs
 *         cdef int c_row = row             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPlpiChgSides(self.lpi, 1, &c_row, &c_lhs, &c_rhs))
*/
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_v_row); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 328, __pyx_L1_error)
  __pyx_v_c_row = __pyx_t_2;

  /* "src/pyscipopt/lp.pxi":330
 *         cdef int c_row = row
 * 
 *         PY_SCIP_CALL(SCIPlpiChgSides(self.lpi, 1, &c_row, &c_lhs, &c_rhs))             # <<<<<<<<<<<<<<
 * 
 *     def clear(self):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiChgSides(__pyx_v_self->lpi, 1, (&__pyx_v_c_row), (&__pyx_v_c_lhs), (&__pyx_v_c_rhs))); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/lp.pxi":318
 *         PY_SCIP_CALL(SCIPlpiChgBounds(self.lpi, 1, &c_col, &c_lb, &c_ub))
 * 
 *     def chgSide(self, row, lhs, rhs):             # <<<<<<<<<<<<<<
 *         """Changes the left- and right-hand side of a single row.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.LP.chgSide", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":332
 *         PY_SCIP_CALL(SCIPlpiChgSides(self.lpi, 1, &c_row, &c_lhs, &c_rhs))
 * 
 *     def clear(self):             # <<<<<<<<<<<<<<
 *         """Clears the whole LP."""
 *         PY_SCIP_CALL(SCIPlpiClear(self.lpi))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_39clear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_38clear, "Clears the whole LP.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_39clear = {"clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_39clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_38clear};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_39clear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("clear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("clear", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("clear", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_38clear(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_38clear(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("clear", 0);

  /* "src/pyscipopt/lp.pxi":334
 *     def clear(self):
 *         """Clears the whole LP."""
 *         PY_SCIP_CALL(SCIPlpiClear(self.lpi))             # <<<<<<<<<<<<<<
 * 
 *     def nrows(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiClear(__pyx_v_self->lpi)); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 334, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 334, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":332
 *         PY_SCIP_CALL(SCIPlpiChgSides(self.lpi, 1, &c_row, &c_lhs, &c_rhs))
 * 
 *     def clear(self):             # <<<<<<<<<<<<<<
 *         """Clears the whole LP."""
 *         PY_SCIP_CALL(SCIPlpiClear(self.lpi))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.LP.clear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":336
 *         PY_SCIP_CALL(SCIPlpiClear(self.lpi))
 * 
 *     def nrows(self):             # <<<<<<<<<<<<<<
 *         """Returns the number of rows."""
 *         cdef int nrows
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_41nrows(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_40nrows, "Returns the number of rows.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_41nrows = {"nrows", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_41nrows, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_40nrows};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_41nrows(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nrows (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("nrows", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("nrows", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_40nrows(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_40nrows(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  int __pyx_v_nrows;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("nrows", 0);

  /* "src/pyscipopt/lp.pxi":340
 *         cdef int nrows
 * 
 *         PY_SCIP_CALL(SCIPlpiGetNRows(self.lpi, &nrows))             # <<<<<<<<<<<<<<
 * 
 *         return nrows
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetNRows(__pyx_v_self->lpi, (&__pyx_v_nrows))); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 340, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":342
 *         PY_SCIP_CALL(SCIPlpiGetNRows(self.lpi, &nrows))
 * 
 *         return nrows             # <<<<<<<<<<<<<<
 * 
 *     def ncols(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_nrows); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":336
 *         PY_SCIP_CALL(SCIPlpiClear(self.lpi))
 * 
 *     def nrows(self):             # <<<<<<<<<<<<<<
 *         """Returns the number of rows."""
 *         cdef int nrows
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.LP.nrows", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":344
 *         return nrows
 * 
 *     def ncols(self):             # <<<<<<<<<<<<<<
 *         """Returns the number of columns."""
 *         cdef int ncols
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_43ncols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_42ncols, "Returns the number of columns.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_43ncols = {"ncols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_43ncols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_42ncols};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_43ncols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ncols (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("ncols", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("ncols", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_42ncols(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_42ncols(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  int __pyx_v_ncols;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("ncols", 0);

  /* "src/pyscipopt/lp.pxi":348
 *         cdef int ncols
 * 
 *         PY_SCIP_CALL(SCIPlpiGetNCols(self.lpi, &ncols))             # <<<<<<<<<<<<<<
 * 
 *         return ncols
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetNCols(__pyx_v_self->lpi, (&__pyx_v_ncols))); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":350
 *         PY_SCIP_CALL(SCIPlpiGetNCols(self.lpi, &ncols))
 * 
 *         return ncols             # <<<<<<<<<<<<<<
 * 
 *     def solve(self, dual=True):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_ncols); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":344
 *         return nrows
 * 
 *     def ncols(self):             # <<<<<<<<<<<<<<
 *         """Returns the number of columns."""
 *         cdef int ncols
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.LP.ncols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":352
 *         return ncols
 * 
 *     def solve(self, dual=True):             # <<<<<<<<<<<<<<
 *         """Solves the current LP.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_45solve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_44solve, "Solves the current LP.\n\n        Keyword arguments:\n        dual -- use the dual or primal Simplex method (default: dual)\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_45solve = {"solve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_45solve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_44solve};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_45solve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_dual = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("solve (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_dual,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 352, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 352, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "solve", 0) < (0)) __PYX_ERR(4, 352, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 352, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_dual = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("solve", 0, 0, 1, __pyx_nargs); __PYX_ERR(4, 352, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.solve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_44solve(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_dual);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_44solve(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_dual) {
  SCIP_Real __pyx_v_objval;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("solve", 0);

  /* "src/pyscipopt/lp.pxi":358
 *         dual -- use the dual or primal Simplex method (default: dual)
 *         """
 *         if dual:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPlpiSolveDual(self.lpi))
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_dual); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(4, 358, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/lp.pxi":359
 *         """
 *         if dual:
 *             PY_SCIP_CALL(SCIPlpiSolveDual(self.lpi))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPlpiSolvePrimal(self.lpi))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiSolveDual(__pyx_v_self->lpi)); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/lp.pxi":358
 *         dual -- use the dual or primal Simplex method (default: dual)
 *         """
 *         if dual:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPlpiSolveDual(self.lpi))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/lp.pxi":361
 *             PY_SCIP_CALL(SCIPlpiSolveDual(self.lpi))
 *         else:
 *             PY_SCIP_CALL(SCIPlpiSolvePrimal(self.lpi))             # <<<<<<<<<<<<<<
 * 
 *         cdef SCIP_Real objval
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiSolvePrimal(__pyx_v_self->lpi)); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 361, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/lp.pxi":364
 * 
 *         cdef SCIP_Real objval
 *         PY_SCIP_CALL(SCIPlpiGetObjval(self.lpi, &objval))             # <<<<<<<<<<<<<<
 * 
 *         return objval
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetObjval(__pyx_v_self->lpi, (&__pyx_v_objval))); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/lp.pxi":366
 *         PY_SCIP_CALL(SCIPlpiGetObjval(self.lpi, &objval))
 * 
 *         return objval             # <<<<<<<<<<<<<<
 * 
 *     def isOptimal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_objval); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":352
 *         return ncols
 * 
 *     def solve(self, dual=True):             # <<<<<<<<<<<<<<
 *         """Solves the current LP.
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.LP.solve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":368
 *         return objval
 * 
 *     def isOptimal(self):             # <<<<<<<<<<<<<<
 *         """
 *         returns true iff LP was solved to optimality.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_47isOptimal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_46isOptimal, "\n        returns true iff LP was solved to optimality.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_47isOptimal = {"isOptimal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_47isOptimal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_46isOptimal};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_47isOptimal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isOptimal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isOptimal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isOptimal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_46isOptimal(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_46isOptimal(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isOptimal", 0);

  /* "src/pyscipopt/lp.pxi":377
 * 
 *         """
 *         return SCIPlpiIsOptimal(self.lpi)             # <<<<<<<<<<<<<<
 * 
 *     def getObjVal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiIsOptimal(__pyx_v_self->lpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":368
 *         return objval
 * 
 *     def isOptimal(self):             # <<<<<<<<<<<<<<
 *         """
 *         returns true iff LP was solved to optimality.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.LP.isOptimal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":379
 *         return SCIPlpiIsOptimal(self.lpi)
 * 
 *     def getObjVal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the objective value of the last LP solve.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_49getObjVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_48getObjVal, "\n        Returns the objective value of the last LP solve.\n        Please note that infeasible or unbounded LPs might return unexpected results.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_49getObjVal = {"getObjVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_49getObjVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_48getObjVal};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_49getObjVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getObjVal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getObjVal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getObjVal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_48getObjVal(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_48getObjVal(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  SCIP_Real __pyx_v_objval;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getObjVal", 0);

  /* "src/pyscipopt/lp.pxi":386
 *         cdef SCIP_Real objval
 * 
 *         PY_SCIP_CALL(SCIPlpiGetSol(self.lpi, &objval, NULL, NULL, NULL, NULL))             # <<<<<<<<<<<<<<
 * 
 *         return objval
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetSol(__pyx_v_self->lpi, (&__pyx_v_objval), NULL, NULL, NULL, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":388
 *         PY_SCIP_CALL(SCIPlpiGetSol(self.lpi, &objval, NULL, NULL, NULL, NULL))
 * 
 *         return objval             # <<<<<<<<<<<<<<
 * 
 *     def getPrimal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_objval); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":379
 *         return SCIPlpiIsOptimal(self.lpi)
 * 
 *     def getObjVal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the objective value of the last LP solve.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.LP.getObjVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":390
 *         return objval
 * 
 *     def getPrimal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the primal solution of the last LP solve.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_51getPrimal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_50getPrimal, "\n        Returns the primal solution of the last LP solve.\n        Please note that infeasible or unbounded LPs might return unexpected results.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_51getPrimal = {"getPrimal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_51getPrimal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_50getPrimal};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_51getPrimal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPrimal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPrimal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPrimal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_50getPrimal(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_50getPrimal(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  int __pyx_v_ncols;
  SCIP_Real *__pyx_v_c_primalsol;
  int __pyx_v_i;
  PyObject *__pyx_v_primalsol = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPrimal", 0);

  /* "src/pyscipopt/lp.pxi":395
 *         Please note that infeasible or unbounded LPs might return unexpected results.
 *         """
 *         cdef int ncols = self.ncols()             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_primalsol = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         cdef int i
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_ncols, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 395, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 395, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ncols = __pyx_t_4;

  /* "src/pyscipopt/lp.pxi":396
 *         """
 *         cdef int ncols = self.ncols()
 *         cdef SCIP_Real* c_primalsol = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_c_primalsol = ((SCIP_Real *)malloc((__pyx_v_ncols * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":399
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPlpiGetSol(self.lpi, NULL, c_primalsol, NULL, NULL, NULL))             # <<<<<<<<<<<<<<
 *         primalsol = [0.0] * ncols
 *         for i in range(ncols):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetSol(__pyx_v_self->lpi, NULL, __pyx_v_c_primalsol, NULL, NULL, NULL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 399, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":400
 * 
 *         PY_SCIP_CALL(SCIPlpiGetSol(self.lpi, NULL, c_primalsol, NULL, NULL, NULL))
 *         primalsol = [0.0] * ncols             # <<<<<<<<<<<<<<
 *         for i in range(ncols):
 *             primalsol[i] = c_primalsol[i]
*/
  __pyx_t_1 = PyList_New(1 * ((__pyx_v_ncols<0) ? 0:__pyx_v_ncols)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  { Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < __pyx_v_ncols; __pyx_temp++) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_float_0_0);
      __Pyx_GIVEREF(__pyx_mstate_global->__pyx_float_0_0);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_1, __pyx_temp, __pyx_mstate_global->__pyx_float_0_0) != (0)) __PYX_ERR(4, 400, __pyx_L1_error);
    }
  }
  __pyx_v_primalsol = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":401
 *         PY_SCIP_CALL(SCIPlpiGetSol(self.lpi, NULL, c_primalsol, NULL, NULL, NULL))
 *         primalsol = [0.0] * ncols
 *         for i in range(ncols):             # <<<<<<<<<<<<<<
 *             primalsol[i] = c_primalsol[i]
 *         free(c_primalsol)
*/
  __pyx_t_4 = __pyx_v_ncols;
  __pyx_t_7 = __pyx_t_4;
  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
    __pyx_v_i = __pyx_t_8;

    /* "src/pyscipopt/lp.pxi":402
 *         primalsol = [0.0] * ncols
 *         for i in range(ncols):
 *             primalsol[i] = c_primalsol[i]             # <<<<<<<<<<<<<<
 *         free(c_primalsol)
 * 
*/
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_c_primalsol[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely((__Pyx_SetItemInt(__pyx_v_primalsol, __pyx_v_i, __pyx_t_1, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(4, 402, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/lp.pxi":403
 *         for i in range(ncols):
 *             primalsol[i] = c_primalsol[i]
 *         free(c_primalsol)             # <<<<<<<<<<<<<<
 * 
 *         return primalsol
*/
  free(__pyx_v_c_primalsol);

  /* "src/pyscipopt/lp.pxi":405
 *         free(c_primalsol)
 * 
 *         return primalsol             # <<<<<<<<<<<<<<
 * 
 *     def isPrimalFeasible(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_primalsol);
  __pyx_r = __pyx_v_primalsol;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":390
 *         return objval
 * 
 *     def getPrimal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the primal solution of the last LP solve.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.LP.getPrimal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_primalsol);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":407
 *         return primalsol
 * 
 *     def isPrimalFeasible(self):             # <<<<<<<<<<<<<<
 *         """Returns True iff LP is proven to be primal feasible."""
 *         return SCIPlpiIsPrimalFeasible(self.lpi)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_53isPrimalFeasible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_52isPrimalFeasible, "Returns True iff LP is proven to be primal feasible.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_53isPrimalFeasible = {"isPrimalFeasible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_53isPrimalFeasible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_52isPrimalFeasible};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_53isPrimalFeasible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isPrimalFeasible (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isPrimalFeasible", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isPrimalFeasible", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_52isPrimalFeasible(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_52isPrimalFeasible(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isPrimalFeasible", 0);

  /* "src/pyscipopt/lp.pxi":409
 *     def isPrimalFeasible(self):
 *         """Returns True iff LP is proven to be primal feasible."""
 *         return SCIPlpiIsPrimalFeasible(self.lpi)             # <<<<<<<<<<<<<<
 * 
 *     def getDual(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPlpiIsPrimalFeasible(__pyx_v_self->lpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":407
 *         return primalsol
 * 
 *     def isPrimalFeasible(self):             # <<<<<<<<<<<<<<
 *         """Returns True iff LP is proven to be primal feasible."""
 *         return SCIPlpiIsPrimalFeasible(self.lpi)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.LP.isPrimalFeasible", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":411
 *         return SCIPlpiIsPrimalFeasible(self.lpi)
 * 
 *     def getDual(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the dual solution of the last LP solve.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_55getDual(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_54getDual, "\n        Returns the dual solution of the last LP solve.\n        Please note that infeasible or unbounded LPs might return unexpected results.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_55getDual = {"getDual", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_55getDual, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_54getDual};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_55getDual(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDual (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getDual", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getDual", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_54getDual(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_54getDual(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  int __pyx_v_nrows;
  SCIP_Real *__pyx_v_c_dualsol;
  int __pyx_v_i;
  PyObject *__pyx_v_dualsol = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDual", 0);

  /* "src/pyscipopt/lp.pxi":416
 *         Please note that infeasible or unbounded LPs might return unexpected results.
 *         """
 *         cdef int nrows = self.nrows()             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_dualsol = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef int i
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_nrows, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_nrows = __pyx_t_4;

  /* "src/pyscipopt/lp.pxi":417
 *         """
 *         cdef int nrows = self.nrows()
 *         cdef SCIP_Real* c_dualsol = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_c_dualsol = ((SCIP_Real *)malloc((__pyx_v_nrows * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":420
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPlpiGetSol(self.lpi, NULL, NULL, c_dualsol, NULL, NULL))             # <<<<<<<<<<<<<<
 *         dualsol = [0.0] * nrows
 *         for i in range(nrows):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetSol(__pyx_v_self->lpi, NULL, NULL, __pyx_v_c_dualsol, NULL, NULL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":421
 * 
 *         PY_SCIP_CALL(SCIPlpiGetSol(self.lpi, NULL, NULL, c_dualsol, NULL, NULL))
 *         dualsol = [0.0] * nrows             # <<<<<<<<<<<<<<
 *         for i in range(nrows):
 *             dualsol[i] = c_dualsol[i]
*/
  __pyx_t_1 = PyList_New(1 * ((__pyx_v_nrows<0) ? 0:__pyx_v_nrows)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  { Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < __pyx_v_nrows; __pyx_temp++) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_float_0_0);
      __Pyx_GIVEREF(__pyx_mstate_global->__pyx_float_0_0);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_1, __pyx_temp, __pyx_mstate_global->__pyx_float_0_0) != (0)) __PYX_ERR(4, 421, __pyx_L1_error);
    }
  }
  __pyx_v_dualsol = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":422
 *         PY_SCIP_CALL(SCIPlpiGetSol(self.lpi, NULL, NULL, c_dualsol, NULL, NULL))
 *         dualsol = [0.0] * nrows
 *         for i in range(nrows):             # <<<<<<<<<<<<<<
 *             dualsol[i] = c_dualsol[i]
 *         free(c_dualsol)
*/
  __pyx_t_4 = __pyx_v_nrows;
  __pyx_t_7 = __pyx_t_4;
  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
    __pyx_v_i = __pyx_t_8;

    /* "src/pyscipopt/lp.pxi":423
 *         dualsol = [0.0] * nrows
 *         for i in range(nrows):
 *             dualsol[i] = c_dualsol[i]             # <<<<<<<<<<<<<<
 *         free(c_dualsol)
 * 
*/
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_c_dualsol[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 423, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely((__Pyx_SetItemInt(__pyx_v_dualsol, __pyx_v_i, __pyx_t_1, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(4, 423, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/lp.pxi":424
 *         for i in range(nrows):
 *             dualsol[i] = c_dualsol[i]
 *         free(c_dualsol)             # <<<<<<<<<<<<<<
 * 
 *         return dualsol
*/
  free(__pyx_v_c_dualsol);

  /* "src/pyscipopt/lp.pxi":426
 *         free(c_dualsol)
 * 
 *         return dualsol             # <<<<<<<<<<<<<<
 * 
 *     def isDualFeasible(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_dualsol);
  __pyx_r = __pyx_v_dualsol;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":411
 *         return SCIPlpiIsPrimalFeasible(self.lpi)
 * 
 *     def getDual(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the dual solution of the last LP solve.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.LP.getDual", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_dualsol);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":428
 *         return dualsol
 * 
 *     def isDualFeasible(self):             # <<<<<<<<<<<<<<
 *         """Returns True iff LP is proven to be dual feasible."""
 *         return SCIPlpiIsDualFeasible(self.lpi)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_57isDualFeasible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_56isDualFeasible, "Returns True iff LP is proven to be dual feasible.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_57isDualFeasible = {"isDualFeasible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_57isDualFeasible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_56isDualFeasible};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_57isDualFeasible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDualFeasible (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isDualFeasible", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isDualFeasible", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_56isDualFeasible(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_56isDualFeasible(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isDualFeasible", 0);

  /* "src/pyscipopt/lp.pxi":430
 *     def isDualFeasible(self):
 *         """Returns True iff LP is proven to be dual feasible."""
 *         return SCIPlpiIsDualFeasible(self.lpi)             # <<<<<<<<<<<<<<
 * 
 *     def getPrimalRay(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPlpiIsDualFeasible(__pyx_v_self->lpi)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 430, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":428
 *         return dualsol
 * 
 *     def isDualFeasible(self):             # <<<<<<<<<<<<<<
 *         """Returns True iff LP is proven to be dual feasible."""
 *         return SCIPlpiIsDualFeasible(self.lpi)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.LP.isDualFeasible", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":432
 *         return SCIPlpiIsDualFeasible(self.lpi)
 * 
 *     def getPrimalRay(self):             # <<<<<<<<<<<<<<
 *         """Returns a primal ray if possible, None otherwise."""
 *         cdef int ncols
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_59getPrimalRay(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_58getPrimalRay, "Returns a primal ray if possible, None otherwise.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_59getPrimalRay = {"getPrimalRay", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_59getPrimalRay, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_58getPrimalRay};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_59getPrimalRay(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPrimalRay (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPrimalRay", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPrimalRay", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_58getPrimalRay(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_58getPrimalRay(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  int __pyx_v_ncols;
  SCIP_Real *__pyx_v_c_ray;
  int __pyx_v_i;
  PyObject *__pyx_v_ray = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPrimalRay", 0);

  /* "src/pyscipopt/lp.pxi":438
 *         cdef int i
 * 
 *         if not SCIPlpiHasPrimalRay(self.lpi):             # <<<<<<<<<<<<<<
 *             return None
 * 
*/
  __pyx_t_1 = (!(SCIPlpiHasPrimalRay(__pyx_v_self->lpi) != 0));
  if (__pyx_t_1) {

    /* "src/pyscipopt/lp.pxi":439
 * 
 *         if not SCIPlpiHasPrimalRay(self.lpi):
 *             return None             # <<<<<<<<<<<<<<
 * 
 *         ncols = self.ncols()
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/pyscipopt/lp.pxi":438
 *         cdef int i
 * 
 *         if not SCIPlpiHasPrimalRay(self.lpi):             # <<<<<<<<<<<<<<
 *             return None
 * 
*/
  }

  /* "src/pyscipopt/lp.pxi":441
 *             return None
 * 
 *         ncols = self.ncols()             # <<<<<<<<<<<<<<
 *         c_ray = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 * 
*/
  __pyx_t_3 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_ncols, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 441, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 441, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_ncols = __pyx_t_5;

  /* "src/pyscipopt/lp.pxi":442
 * 
 *         ncols = self.ncols()
 *         c_ray = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPlpiGetPrimalRay(self.lpi, c_ray))
*/
  __pyx_v_c_ray = ((SCIP_Real *)malloc((__pyx_v_ncols * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":444
 *         c_ray = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 * 
 *         PY_SCIP_CALL(SCIPlpiGetPrimalRay(self.lpi, c_ray))             # <<<<<<<<<<<<<<
 *         ray = [0.0] * ncols
 *         for i in range(ncols):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetPrimalRay(__pyx_v_self->lpi, __pyx_v_c_ray)); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/lp.pxi":445
 * 
 *         PY_SCIP_CALL(SCIPlpiGetPrimalRay(self.lpi, c_ray))
 *         ray = [0.0] * ncols             # <<<<<<<<<<<<<<
 *         for i in range(ncols):
 *             ray[i] = c_ray[i]
*/
  __pyx_t_2 = PyList_New(1 * ((__pyx_v_ncols<0) ? 0:__pyx_v_ncols)); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  { Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < __pyx_v_ncols; __pyx_temp++) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_float_0_0);
      __Pyx_GIVEREF(__pyx_mstate_global->__pyx_float_0_0);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_2, __pyx_temp, __pyx_mstate_global->__pyx_float_0_0) != (0)) __PYX_ERR(4, 445, __pyx_L1_error);
    }
  }
  __pyx_v_ray = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/lp.pxi":446
 *         PY_SCIP_CALL(SCIPlpiGetPrimalRay(self.lpi, c_ray))
 *         ray = [0.0] * ncols
 *         for i in range(ncols):             # <<<<<<<<<<<<<<
 *             ray[i] = c_ray[i]
 *         free(c_ray)
*/
  __pyx_t_5 = __pyx_v_ncols;
  __pyx_t_8 = __pyx_t_5;
  for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
    __pyx_v_i = __pyx_t_9;

    /* "src/pyscipopt/lp.pxi":447
 *         ray = [0.0] * ncols
 *         for i in range(ncols):
 *             ray[i] = c_ray[i]             # <<<<<<<<<<<<<<
 *         free(c_ray)
 * 
*/
    __pyx_t_2 = PyFloat_FromDouble((__pyx_v_c_ray[__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely((__Pyx_SetItemInt(__pyx_v_ray, __pyx_v_i, __pyx_t_2, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(4, 447, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/pyscipopt/lp.pxi":448
 *         for i in range(ncols):
 *             ray[i] = c_ray[i]
 *         free(c_ray)             # <<<<<<<<<<<<<<
 * 
 *         return ray
*/
  free(__pyx_v_c_ray);

  /* "src/pyscipopt/lp.pxi":450
 *         free(c_ray)
 * 
 *         return ray             # <<<<<<<<<<<<<<
 * 
 *     def getDualRay(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_ray);
  __pyx_r = __pyx_v_ray;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":432
 *         return SCIPlpiIsDualFeasible(self.lpi)
 * 
 *     def getPrimalRay(self):             # <<<<<<<<<<<<<<
 *         """Returns a primal ray if possible, None otherwise."""
 *         cdef int ncols
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.LP.getPrimalRay", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":452
 *         return ray
 * 
 *     def getDualRay(self):             # <<<<<<<<<<<<<<
 *         """Returns a dual ray if possible, None otherwise."""
 *         cdef int nrows
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_61getDualRay(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_60getDualRay, "Returns a dual ray if possible, None otherwise.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_61getDualRay = {"getDualRay", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_61getDualRay, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_60getDualRay};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_61getDualRay(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDualRay (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getDualRay", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getDualRay", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_60getDualRay(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_60getDualRay(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  int __pyx_v_nrows;
  SCIP_Real *__pyx_v_c_ray;
  int __pyx_v_i;
  PyObject *__pyx_v_ray = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDualRay", 0);

  /* "src/pyscipopt/lp.pxi":458
 *         cdef int i
 * 
 *         if not SCIPlpiHasDualRay(self.lpi):             # <<<<<<<<<<<<<<
 *             return None
 * 
*/
  __pyx_t_1 = (!(SCIPlpiHasDualRay(__pyx_v_self->lpi) != 0));
  if (__pyx_t_1) {

    /* "src/pyscipopt/lp.pxi":459
 * 
 *         if not SCIPlpiHasDualRay(self.lpi):
 *             return None             # <<<<<<<<<<<<<<
 * 
 *         nrows = self.nrows()
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/pyscipopt/lp.pxi":458
 *         cdef int i
 * 
 *         if not SCIPlpiHasDualRay(self.lpi):             # <<<<<<<<<<<<<<
 *             return None
 * 
*/
  }

  /* "src/pyscipopt/lp.pxi":461
 *             return None
 * 
 *         nrows = self.nrows()             # <<<<<<<<<<<<<<
 *         c_ray = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 * 
*/
  __pyx_t_3 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_nrows, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 461, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 461, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_nrows = __pyx_t_5;

  /* "src/pyscipopt/lp.pxi":462
 * 
 *         nrows = self.nrows()
 *         c_ray = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPlpiGetDualfarkas(self.lpi, c_ray))
*/
  __pyx_v_c_ray = ((SCIP_Real *)malloc((__pyx_v_nrows * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":464
 *         c_ray = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 * 
 *         PY_SCIP_CALL(SCIPlpiGetDualfarkas(self.lpi, c_ray))             # <<<<<<<<<<<<<<
 *         ray = [0.0] * nrows
 *         for i in range(nrows):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetDualfarkas(__pyx_v_self->lpi, __pyx_v_c_ray)); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/lp.pxi":465
 * 
 *         PY_SCIP_CALL(SCIPlpiGetDualfarkas(self.lpi, c_ray))
 *         ray = [0.0] * nrows             # <<<<<<<<<<<<<<
 *         for i in range(nrows):
 *             ray[i] = c_ray[i]
*/
  __pyx_t_2 = PyList_New(1 * ((__pyx_v_nrows<0) ? 0:__pyx_v_nrows)); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  { Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < __pyx_v_nrows; __pyx_temp++) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_float_0_0);
      __Pyx_GIVEREF(__pyx_mstate_global->__pyx_float_0_0);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_2, __pyx_temp, __pyx_mstate_global->__pyx_float_0_0) != (0)) __PYX_ERR(4, 465, __pyx_L1_error);
    }
  }
  __pyx_v_ray = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/lp.pxi":466
 *         PY_SCIP_CALL(SCIPlpiGetDualfarkas(self.lpi, c_ray))
 *         ray = [0.0] * nrows
 *         for i in range(nrows):             # <<<<<<<<<<<<<<
 *             ray[i] = c_ray[i]
 *         free(c_ray)
*/
  __pyx_t_5 = __pyx_v_nrows;
  __pyx_t_8 = __pyx_t_5;
  for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
    __pyx_v_i = __pyx_t_9;

    /* "src/pyscipopt/lp.pxi":467
 *         ray = [0.0] * nrows
 *         for i in range(nrows):
 *             ray[i] = c_ray[i]             # <<<<<<<<<<<<<<
 *         free(c_ray)
 * 
*/
    __pyx_t_2 = PyFloat_FromDouble((__pyx_v_c_ray[__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely((__Pyx_SetItemInt(__pyx_v_ray, __pyx_v_i, __pyx_t_2, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(4, 467, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/pyscipopt/lp.pxi":468
 *         for i in range(nrows):
 *             ray[i] = c_ray[i]
 *         free(c_ray)             # <<<<<<<<<<<<<<
 * 
 *         return ray
*/
  free(__pyx_v_c_ray);

  /* "src/pyscipopt/lp.pxi":470
 *         free(c_ray)
 * 
 *         return ray             # <<<<<<<<<<<<<<
 * 
 *     def getNIterations(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_ray);
  __pyx_r = __pyx_v_ray;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":452
 *         return ray
 * 
 *     def getDualRay(self):             # <<<<<<<<<<<<<<
 *         """Returns a dual ray if possible, None otherwise."""
 *         cdef int nrows
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.LP.getDualRay", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":472
 *         return ray
 * 
 *     def getNIterations(self):             # <<<<<<<<<<<<<<
 *         """Returns the number of LP iterations of the last LP solve."""
 *         cdef int niters
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_63getNIterations(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_62getNIterations, "Returns the number of LP iterations of the last LP solve.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_63getNIterations = {"getNIterations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_63getNIterations, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_62getNIterations};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_63getNIterations(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNIterations (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNIterations", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNIterations", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_62getNIterations(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_62getNIterations(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  int __pyx_v_niters;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNIterations", 0);

  /* "src/pyscipopt/lp.pxi":476
 *         cdef int niters
 * 
 *         PY_SCIP_CALL(SCIPlpiGetIterations(self.lpi, &niters))             # <<<<<<<<<<<<<<
 * 
 *         return niters
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetIterations(__pyx_v_self->lpi, (&__pyx_v_niters))); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 476, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":478
 *         PY_SCIP_CALL(SCIPlpiGetIterations(self.lpi, &niters))
 * 
 *         return niters             # <<<<<<<<<<<<<<
 * 
 *     def getActivity(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_niters); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":472
 *         return ray
 * 
 *     def getNIterations(self):             # <<<<<<<<<<<<<<
 *         """Returns the number of LP iterations of the last LP solve."""
 *         cdef int niters
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.LP.getNIterations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":480
 *         return niters
 * 
 *     def getActivity(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the row activity vector of the last LP solve.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_65getActivity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_64getActivity, "\n        Returns the row activity vector of the last LP solve.\n        Please note that infeasible or unbounded LPs might return unexpected results.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_65getActivity = {"getActivity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_65getActivity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_64getActivity};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_65getActivity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getActivity (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getActivity", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getActivity", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_64getActivity(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_64getActivity(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  int __pyx_v_nrows;
  SCIP_Real *__pyx_v_c_activity;
  int __pyx_v_i;
  PyObject *__pyx_v_activity = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getActivity", 0);

  /* "src/pyscipopt/lp.pxi":485
 *         Please note that infeasible or unbounded LPs might return unexpected results.
 *         """
 *         cdef int nrows = self.nrows()             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_activity = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef int i
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_nrows, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_nrows = __pyx_t_4;

  /* "src/pyscipopt/lp.pxi":486
 *         """
 *         cdef int nrows = self.nrows()
 *         cdef SCIP_Real* c_activity = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_c_activity = ((SCIP_Real *)malloc((__pyx_v_nrows * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":489
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPlpiGetSol(self.lpi, NULL, NULL, NULL, c_activity, NULL))             # <<<<<<<<<<<<<<
 * 
 *         activity = [0.0] * nrows
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetSol(__pyx_v_self->lpi, NULL, NULL, NULL, __pyx_v_c_activity, NULL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 489, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":491
 *         PY_SCIP_CALL(SCIPlpiGetSol(self.lpi, NULL, NULL, NULL, c_activity, NULL))
 * 
 *         activity = [0.0] * nrows             # <<<<<<<<<<<<<<
 *         for i in range(nrows):
 *             activity[i] = c_activity[i]
*/
  __pyx_t_1 = PyList_New(1 * ((__pyx_v_nrows<0) ? 0:__pyx_v_nrows)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  { Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < __pyx_v_nrows; __pyx_temp++) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_float_0_0);
      __Pyx_GIVEREF(__pyx_mstate_global->__pyx_float_0_0);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_1, __pyx_temp, __pyx_mstate_global->__pyx_float_0_0) != (0)) __PYX_ERR(4, 491, __pyx_L1_error);
    }
  }
  __pyx_v_activity = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":492
 * 
 *         activity = [0.0] * nrows
 *         for i in range(nrows):             # <<<<<<<<<<<<<<
 *             activity[i] = c_activity[i]
 * 
*/
  __pyx_t_4 = __pyx_v_nrows;
  __pyx_t_7 = __pyx_t_4;
  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
    __pyx_v_i = __pyx_t_8;

    /* "src/pyscipopt/lp.pxi":493
 *         activity = [0.0] * nrows
 *         for i in range(nrows):
 *             activity[i] = c_activity[i]             # <<<<<<<<<<<<<<
 * 
 *         free(c_activity)
*/
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_c_activity[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely((__Pyx_SetItemInt(__pyx_v_activity, __pyx_v_i, __pyx_t_1, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(4, 493, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/lp.pxi":495
 *             activity[i] = c_activity[i]
 * 
 *         free(c_activity)             # <<<<<<<<<<<<<<
 * 
 *         return activity
*/
  free(__pyx_v_c_activity);

  /* "src/pyscipopt/lp.pxi":497
 *         free(c_activity)
 * 
 *         return activity             # <<<<<<<<<<<<<<
 * 
 *     def getRedcost(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_activity);
  __pyx_r = __pyx_v_activity;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":480
 *         return niters
 * 
 *     def getActivity(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the row activity vector of the last LP solve.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.LP.getActivity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_activity);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":499
 *         return activity
 * 
 *     def getRedcost(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the reduced cost vector of the last LP solve.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_67getRedcost(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_66getRedcost, "\n        Returns the reduced cost vector of the last LP solve.\n        Please note that infeasible or unbounded LPs might return unexpected results.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_67getRedcost = {"getRedcost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_67getRedcost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_66getRedcost};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_67getRedcost(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRedcost (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getRedcost", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getRedcost", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_66getRedcost(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_66getRedcost(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  int __pyx_v_ncols;
  SCIP_Real *__pyx_v_c_redcost;
  int __pyx_v_i;
  PyObject *__pyx_v_redcost = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getRedcost", 0);

  /* "src/pyscipopt/lp.pxi":504
 *         Please note that infeasible or unbounded LPs might return unexpected results.
 *         """
 *         cdef int ncols = self.ncols()             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* c_redcost = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         cdef int i
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_ncols, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 504, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 504, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_ncols = __pyx_t_4;

  /* "src/pyscipopt/lp.pxi":505
 *         """
 *         cdef int ncols = self.ncols()
 *         cdef SCIP_Real* c_redcost = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_c_redcost = ((SCIP_Real *)malloc((__pyx_v_ncols * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/lp.pxi":508
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPlpiGetSol(self.lpi, NULL, NULL, NULL, NULL, c_redcost))             # <<<<<<<<<<<<<<
 * 
 *         redcost = [0.0] * ncols
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetSol(__pyx_v_self->lpi, NULL, NULL, NULL, NULL, __pyx_v_c_redcost)); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":510
 *         PY_SCIP_CALL(SCIPlpiGetSol(self.lpi, NULL, NULL, NULL, NULL, c_redcost))
 * 
 *         redcost = [0.0] * ncols             # <<<<<<<<<<<<<<
 *         for i in range(ncols):
 *             redcost[i] = c_redcost[i]
*/
  __pyx_t_1 = PyList_New(1 * ((__pyx_v_ncols<0) ? 0:__pyx_v_ncols)); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 510, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  { Py_ssize_t __pyx_temp;
    for (__pyx_temp=0; __pyx_temp < __pyx_v_ncols; __pyx_temp++) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_float_0_0);
      __Pyx_GIVEREF(__pyx_mstate_global->__pyx_float_0_0);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_1, __pyx_temp, __pyx_mstate_global->__pyx_float_0_0) != (0)) __PYX_ERR(4, 510, __pyx_L1_error);
    }
  }
  __pyx_v_redcost = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":511
 * 
 *         redcost = [0.0] * ncols
 *         for i in range(ncols):             # <<<<<<<<<<<<<<
 *             redcost[i] = c_redcost[i]
 * 
*/
  __pyx_t_4 = __pyx_v_ncols;
  __pyx_t_7 = __pyx_t_4;
  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
    __pyx_v_i = __pyx_t_8;

    /* "src/pyscipopt/lp.pxi":512
 *         redcost = [0.0] * ncols
 *         for i in range(ncols):
 *             redcost[i] = c_redcost[i]             # <<<<<<<<<<<<<<
 * 
 *         free(c_redcost)
*/
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_c_redcost[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 512, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely((__Pyx_SetItemInt(__pyx_v_redcost, __pyx_v_i, __pyx_t_1, int, 1, __Pyx_PyLong_From_int, 1, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(4, 512, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/lp.pxi":514
 *             redcost[i] = c_redcost[i]
 * 
 *         free(c_redcost)             # <<<<<<<<<<<<<<
 * 
 *         return redcost
*/
  free(__pyx_v_c_redcost);

  /* "src/pyscipopt/lp.pxi":516
 *         free(c_redcost)
 * 
 *         return redcost             # <<<<<<<<<<<<<<
 * 
 *     def getBasisInds(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_redcost);
  __pyx_r = __pyx_v_redcost;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":499
 *         return activity
 * 
 *     def getRedcost(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the reduced cost vector of the last LP solve.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.LP.getRedcost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_redcost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":518
 *         return redcost
 * 
 *     def getBasisInds(self):             # <<<<<<<<<<<<<<
 *         """Returns the indices of the basic columns and rows; index i >= 0 corresponds to column i, index i < 0 to row -i-1"""
 *         cdef int nrows = self.nrows()
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_69getBasisInds(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_68getBasisInds, "Returns the indices of the basic columns and rows; index i >= 0 corresponds to column i, index i < 0 to row -i-1");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_69getBasisInds = {"getBasisInds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_69getBasisInds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_68getBasisInds};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_69getBasisInds(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBasisInds (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getBasisInds", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getBasisInds", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_68getBasisInds(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_68getBasisInds(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  int __pyx_v_nrows;
  int *__pyx_v_c_binds;
  int __pyx_v_i;
  PyObject *__pyx_v_binds = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBasisInds", 0);

  /* "src/pyscipopt/lp.pxi":520
 *     def getBasisInds(self):
 *         """Returns the indices of the basic columns and rows; index i >= 0 corresponds to column i, index i < 0 to row -i-1"""
 *         cdef int nrows = self.nrows()             # <<<<<<<<<<<<<<
 *         cdef int* c_binds = <int*> malloc(nrows * sizeof(int))
 *         cdef int i
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_nrows, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 520, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_nrows = __pyx_t_4;

  /* "src/pyscipopt/lp.pxi":521
 *         """Returns the indices of the basic columns and rows; index i >= 0 corresponds to column i, index i < 0 to row -i-1"""
 *         cdef int nrows = self.nrows()
 *         cdef int* c_binds = <int*> malloc(nrows * sizeof(int))             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_c_binds = ((int *)malloc((__pyx_v_nrows * (sizeof(int)))));

  /* "src/pyscipopt/lp.pxi":524
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPlpiGetBasisInd(self.lpi, c_binds))             # <<<<<<<<<<<<<<
 * 
 *         binds = []
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetBasisInd(__pyx_v_self->lpi, __pyx_v_c_binds)); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":526
 *         PY_SCIP_CALL(SCIPlpiGetBasisInd(self.lpi, c_binds))
 * 
 *         binds = []             # <<<<<<<<<<<<<<
 *         for i in range(nrows):
 *             binds.append(c_binds[i])
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_binds = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":527
 * 
 *         binds = []
 *         for i in range(nrows):             # <<<<<<<<<<<<<<
 *             binds.append(c_binds[i])
 * 
*/
  __pyx_t_4 = __pyx_v_nrows;
  __pyx_t_7 = __pyx_t_4;
  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
    __pyx_v_i = __pyx_t_8;

    /* "src/pyscipopt/lp.pxi":528
 *         binds = []
 *         for i in range(nrows):
 *             binds.append(c_binds[i])             # <<<<<<<<<<<<<<
 * 
 *         free(c_binds)
*/
    __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_c_binds[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 528, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_binds, __pyx_t_1); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(4, 528, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/lp.pxi":530
 *             binds.append(c_binds[i])
 * 
 *         free(c_binds)             # <<<<<<<<<<<<<<
 * 
 *         return binds
*/
  free(__pyx_v_c_binds);

  /* "src/pyscipopt/lp.pxi":532
 *         free(c_binds)
 * 
 *         return binds             # <<<<<<<<<<<<<<
 * 
 *     # Parameter Methods
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_binds);
  __pyx_r = __pyx_v_binds;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":518
 *         return redcost
 * 
 *     def getBasisInds(self):             # <<<<<<<<<<<<<<
 *         """Returns the indices of the basic columns and rows; index i >= 0 corresponds to column i, index i < 0 to row -i-1"""
 *         cdef int nrows = self.nrows()
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.LP.getBasisInds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_binds);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":536
 *     # Parameter Methods
 * 
 *     def setIntParam(self, param, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set an int-valued parameter.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_71setIntParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_70setIntParam, "\n        Set an int-valued parameter.\n        If the parameter is not supported by the LP solver, KeyError will be raised.\n\n        Parameters\n        ----------\n        param : SCIP_LPPARAM\n            name of parameter\n        value : int\n            value of parameter\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_71setIntParam = {"setIntParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_71setIntParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_70setIntParam};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_71setIntParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_param = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setIntParam (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_param,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 536, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 536, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 536, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setIntParam", 0) < (0)) __PYX_ERR(4, 536, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setIntParam", 1, 2, 2, i); __PYX_ERR(4, 536, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 536, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 536, __pyx_L3_error)
    }
    __pyx_v_param = values[0];
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setIntParam", 1, 2, 2, __pyx_nargs); __PYX_ERR(4, 536, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.setIntParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_70setIntParam(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_param, __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_70setIntParam(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_param, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_LPPARAM __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setIntParam", 0);

  /* "src/pyscipopt/lp.pxi":549
 * 
 *         """
 *         PY_SCIP_CALL(SCIPlpiSetIntpar(self.lpi, param, value))             # <<<<<<<<<<<<<<
 * 
 *     def setRealParam(self, param, value):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_SCIP_LPPARAM(__pyx_v_param); if (unlikely((__pyx_t_4 == ((SCIP_LPPARAM)-1)) && PyErr_Occurred())) __PYX_ERR(4, 549, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(4, 549, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiSetIntpar(__pyx_v_self->lpi, __pyx_t_4, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 549, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":536
 *     # Parameter Methods
 * 
 *     def setIntParam(self, param, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set an int-valued parameter.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.LP.setIntParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":551
 *         PY_SCIP_CALL(SCIPlpiSetIntpar(self.lpi, param, value))
 * 
 *     def setRealParam(self, param, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a real-valued parameter.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_73setRealParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_72setRealParam, "\n        Set a real-valued parameter.\n        If the parameter is not supported by the LP solver, KeyError will be raised.\n\n        Parameters\n        ----------\n        param : SCIP_LPPARAM\n            name of parameter\n        value : float\n            value of parameter\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_73setRealParam = {"setRealParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_73setRealParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_72setRealParam};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_73setRealParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_param = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setRealParam (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_param,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 551, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 551, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 551, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setRealParam", 0) < (0)) __PYX_ERR(4, 551, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setRealParam", 1, 2, 2, i); __PYX_ERR(4, 551, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 551, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(4, 551, __pyx_L3_error)
    }
    __pyx_v_param = values[0];
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setRealParam", 1, 2, 2, __pyx_nargs); __PYX_ERR(4, 551, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.setRealParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_72setRealParam(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_param, __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_72setRealParam(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_param, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_LPPARAM __pyx_t_4;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setRealParam", 0);

  /* "src/pyscipopt/lp.pxi":564
 * 
 *         """
 *         PY_SCIP_CALL(SCIPlpiSetRealpar(self.lpi, param, value))             # <<<<<<<<<<<<<<
 * 
 *     def getIntParam(self, param):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_SCIP_LPPARAM(__pyx_v_param); if (unlikely((__pyx_t_4 == ((SCIP_LPPARAM)-1)) && PyErr_Occurred())) __PYX_ERR(4, 564, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(4, 564, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiSetRealpar(__pyx_v_self->lpi, __pyx_t_4, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":551
 *         PY_SCIP_CALL(SCIPlpiSetIntpar(self.lpi, param, value))
 * 
 *     def setRealParam(self, param, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a real-valued parameter.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.LP.setRealParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":566
 *         PY_SCIP_CALL(SCIPlpiSetRealpar(self.lpi, param, value))
 * 
 *     def getIntParam(self, param):             # <<<<<<<<<<<<<<
 *         """
 *         Get the value of a parameter of type int.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_75getIntParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_74getIntParam, "\n        Get the value of a parameter of type int.\n        If the parameter is not supported by the LP solver, KeyError will be raised.\n\n        Parameters\n        ----------\n        param : SCIP_LPPARAM\n            name of parameter\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_75getIntParam = {"getIntParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_75getIntParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_74getIntParam};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_75getIntParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_param = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getIntParam (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_param,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 566, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getIntParam", 0) < (0)) __PYX_ERR(4, 566, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getIntParam", 1, 1, 1, i); __PYX_ERR(4, 566, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 566, __pyx_L3_error)
    }
    __pyx_v_param = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getIntParam", 1, 1, 1, __pyx_nargs); __PYX_ERR(4, 566, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.getIntParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_74getIntParam(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_param);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_74getIntParam(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_param) {
  int __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_LPPARAM __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getIntParam", 0);

  /* "src/pyscipopt/lp.pxi":583
 *         cdef int value
 * 
 *         PY_SCIP_CALL(SCIPlpiGetIntpar(self.lpi, param, &value))             # <<<<<<<<<<<<<<
 * 
 *         return value
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_SCIP_LPPARAM(__pyx_v_param); if (unlikely((__pyx_t_4 == ((SCIP_LPPARAM)-1)) && PyErr_Occurred())) __PYX_ERR(4, 583, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetIntpar(__pyx_v_self->lpi, __pyx_t_4, (&__pyx_v_value))); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 583, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":585
 *         PY_SCIP_CALL(SCIPlpiGetIntpar(self.lpi, param, &value))
 * 
 *         return value             # <<<<<<<<<<<<<<
 * 
 *     def getRealParam(self, param):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":566
 *         PY_SCIP_CALL(SCIPlpiSetRealpar(self.lpi, param, value))
 * 
 *     def getIntParam(self, param):             # <<<<<<<<<<<<<<
 *         """
 *         Get the value of a parameter of type int.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.LP.getIntParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":587
 *         return value
 * 
 *     def getRealParam(self, param):             # <<<<<<<<<<<<<<
 *         """
 *         Get the value of a parameter of type float.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_77getRealParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_2LP_76getRealParam, "\n        Get the value of a parameter of type float.\n        If the parameter is not supported by the LP solver, KeyError will be raised.\n\n        Parameters\n        ----------\n        param : SCIP_LPPARAM\n            name of parameter\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_77getRealParam = {"getRealParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_77getRealParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_76getRealParam};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_77getRealParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_param = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRealParam (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_param,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(4, 587, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 587, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getRealParam", 0) < (0)) __PYX_ERR(4, 587, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getRealParam", 1, 1, 1, i); __PYX_ERR(4, 587, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(4, 587, __pyx_L3_error)
    }
    __pyx_v_param = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getRealParam", 1, 1, 1, __pyx_nargs); __PYX_ERR(4, 587, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.getRealParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_76getRealParam(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v_param);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_76getRealParam(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, PyObject *__pyx_v_param) {
  SCIP_Real __pyx_v_value;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_LPPARAM __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getRealParam", 0);

  /* "src/pyscipopt/lp.pxi":604
 *         cdef SCIP_Real value
 * 
 *         PY_SCIP_CALL(SCIPlpiGetRealpar(self.lpi, param, &value))             # <<<<<<<<<<<<<<
 * 
 *         return value
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_SCIP_LPPARAM(__pyx_v_param); if (unlikely((__pyx_t_4 == ((SCIP_LPPARAM)-1)) && PyErr_Occurred())) __PYX_ERR(4, 604, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetRealpar(__pyx_v_self->lpi, __pyx_t_4, (&__pyx_v_value))); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 604, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 604, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/lp.pxi":606
 *         PY_SCIP_CALL(SCIPlpiGetRealpar(self.lpi, param, &value))
 * 
 *         return value             # <<<<<<<<<<<<<<
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/lp.pxi":587
 *         return value
 * 
 *     def getRealParam(self, param):             # <<<<<<<<<<<<<<
 *         """
 *         Get the value of a parameter of type float.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.LP.getRealParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/lp.pxi":5
 * cdef class LP:
 *     cdef SCIP_LPI* lpi
 *     cdef readonly str name             # <<<<<<<<<<<<<<
 * 
 *     def __init__(self, name="LP", sense="minimize"):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_4name___get__(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_4name___get__(struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->name);
  __pyx_r = __pyx_v_self->name;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.lpi cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_79__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_79__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_79__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_79__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_78__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_78__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.lpi cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.lpi cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_lpi_cannot_be_converted_to, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.lpi cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.LP.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.lpi cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.lpi cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_81__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_2LP_81__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_81__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_2LP_81__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.LP.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_2LP_80__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_LP *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_2LP_80__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_LP *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.lpi cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.lpi cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_lpi_cannot_be_converted_to, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.lpi cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.lpi cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.LP.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":8
 *     cdef SCIP_BENDERS* _benders
 * 
 *     def bendersfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of Benders decomposition '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_1bendersfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_bendersfree, "calls destructor and frees memory of Benders decomposition ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_1bendersfree = {"bendersfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_1bendersfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_bendersfree};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_1bendersfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersfree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("bendersfree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("bendersfree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_bendersfree(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_bendersfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersfree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":12
 *         pass
 * 
 *     def bendersinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes Benders deconposition'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_3bendersinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_2bendersinit, "initializes Benders deconposition");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_3bendersinit = {"bendersinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_3bendersinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_2bendersinit};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_3bendersinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersinit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("bendersinit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("bendersinit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_2bendersinit(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_2bendersinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersinit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":16
 *         pass
 * 
 *     def bendersexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of Benders decomposition'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_5bendersexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_4bendersexit, "calls exit method of Benders decomposition");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_5bendersexit = {"bendersexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_5bendersexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_4bendersexit};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_5bendersexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("bendersexit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("bendersexit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_4bendersexit(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_4bendersexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersexit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":20
 *         pass
 * 
 *     def bendersinitpre(self):             # <<<<<<<<<<<<<<
 *         '''informs the Benders decomposition that the presolving process is being started '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_7bendersinitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_6bendersinitpre, "informs the Benders decomposition that the presolving process is being started ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_7bendersinitpre = {"bendersinitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_7bendersinitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_6bendersinitpre};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_7bendersinitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersinitpre (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("bendersinitpre", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("bendersinitpre", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_6bendersinitpre(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_6bendersinitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersinitpre", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":24
 *         pass
 * 
 *     def bendersexitpre(self):             # <<<<<<<<<<<<<<
 *         '''informs the Benders decomposition that the presolving process has been completed'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_9bendersexitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_8bendersexitpre, "informs the Benders decomposition that the presolving process has been completed");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_9bendersexitpre = {"bendersexitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_9bendersexitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_8bendersexitpre};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_9bendersexitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersexitpre (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("bendersexitpre", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("bendersexitpre", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_8bendersexitpre(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_8bendersexitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersexitpre", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":28
 *         pass
 * 
 *     def bendersinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs Benders decomposition that the branch and bound process is being started '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_11bendersinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_10bendersinitsol, "informs Benders decomposition that the branch and bound process is being started ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_11bendersinitsol = {"bendersinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_11bendersinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_10bendersinitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_11bendersinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersinitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("bendersinitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("bendersinitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_10bendersinitsol(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_10bendersinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersinitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":32
 *         pass
 * 
 *     def bendersexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs Benders decomposition that the branch and bound process data is being freed'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_13bendersexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_12bendersexitsol, "informs Benders decomposition that the branch and bound process data is being freed");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_13bendersexitsol = {"bendersexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_13bendersexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_12bendersexitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_13bendersexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersexitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("bendersexitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("bendersexitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_12bendersexitsol(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_12bendersexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersexitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":36
 *         pass
 * 
 *     def benderscreatesub(self, probnumber):             # <<<<<<<<<<<<<<
 *         '''creates the subproblems and registers it with the Benders decomposition struct '''
 *         raise NotImplementedError("benderscreatesub() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_15benderscreatesub(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_14benderscreatesub, "creates the subproblems and registers it with the Benders decomposition struct ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_15benderscreatesub = {"benderscreatesub", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_15benderscreatesub, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_14benderscreatesub};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_15benderscreatesub(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_probnumber = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderscreatesub (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_probnumber,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(8, 36, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 36, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "benderscreatesub", 0) < (0)) __PYX_ERR(8, 36, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("benderscreatesub", 1, 1, 1, i); __PYX_ERR(8, 36, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 36, __pyx_L3_error)
    }
    __pyx_v_probnumber = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("benderscreatesub", 1, 1, 1, __pyx_nargs); __PYX_ERR(8, 36, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Benders.benderscreatesub", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_14benderscreatesub(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self), __pyx_v_probnumber);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_14benderscreatesub(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_probnumber) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("benderscreatesub", 0);

  /* "src/pyscipopt/benders.pxi":38
 *     def benderscreatesub(self, probnumber):
 *         '''creates the subproblems and registers it with the Benders decomposition struct '''
 *         raise NotImplementedError("benderscreatesub() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 *     def benderspresubsolve(self, solution, enfotype, checkint):
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_benderscreatesub_is_a_fundamenta};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 38, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(8, 38, __pyx_L1_error)

  /* "src/pyscipopt/benders.pxi":36
 *         pass
 * 
 *     def benderscreatesub(self, probnumber):             # <<<<<<<<<<<<<<
 *         '''creates the subproblems and registers it with the Benders decomposition struct '''
 *         raise NotImplementedError("benderscreatesub() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Benders.benderscreatesub", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":40
 *         raise NotImplementedError("benderscreatesub() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def benderspresubsolve(self, solution, enfotype, checkint):             # <<<<<<<<<<<<<<
 *         '''sets the pre subproblem solve callback of Benders decomposition '''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_17benderspresubsolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_16benderspresubsolve, "sets the pre subproblem solve callback of Benders decomposition ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_17benderspresubsolve = {"benderspresubsolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_17benderspresubsolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_16benderspresubsolve};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_17benderspresubsolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_solution = 0;
  CYTHON_UNUSED PyObject *__pyx_v_enfotype = 0;
  CYTHON_UNUSED PyObject *__pyx_v_checkint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderspresubsolve (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_enfotype,&__pyx_mstate_global->__pyx_n_u_checkint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(8, 40, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(8, 40, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(8, 40, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 40, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "benderspresubsolve", 0) < (0)) __PYX_ERR(8, 40, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("benderspresubsolve", 1, 3, 3, i); __PYX_ERR(8, 40, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 40, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(8, 40, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(8, 40, __pyx_L3_error)
    }
    __pyx_v_solution = values[0];
    __pyx_v_enfotype = values[1];
    __pyx_v_checkint = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("benderspresubsolve", 1, 3, 3, __pyx_nargs); __PYX_ERR(8, 40, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Benders.benderspresubsolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_16benderspresubsolve(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self), __pyx_v_solution, __pyx_v_enfotype, __pyx_v_checkint);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_16benderspresubsolve(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_enfotype, CYTHON_UNUSED PyObject *__pyx_v_checkint) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("benderspresubsolve", 0);

  /* "src/pyscipopt/benders.pxi":42
 *     def benderspresubsolve(self, solution, enfotype, checkint):
 *         '''sets the pre subproblem solve callback of Benders decomposition '''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 *     def benderssolvesubconvex(self, solution, probnumber, onlyconvex):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":40
 *         raise NotImplementedError("benderscreatesub() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def benderspresubsolve(self, solution, enfotype, checkint):             # <<<<<<<<<<<<<<
 *         '''sets the pre subproblem solve callback of Benders decomposition '''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Benders.benderspresubsolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":44
 *         return {}
 * 
 *     def benderssolvesubconvex(self, solution, probnumber, onlyconvex):             # <<<<<<<<<<<<<<
 *         '''sets convex solve callback of Benders decomposition'''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_19benderssolvesubconvex(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_18benderssolvesubconvex, "sets convex solve callback of Benders decomposition");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_19benderssolvesubconvex = {"benderssolvesubconvex", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_19benderssolvesubconvex, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_18benderssolvesubconvex};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_19benderssolvesubconvex(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_solution = 0;
  CYTHON_UNUSED PyObject *__pyx_v_probnumber = 0;
  CYTHON_UNUSED PyObject *__pyx_v_onlyconvex = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderssolvesubconvex (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_probnumber,&__pyx_mstate_global->__pyx_n_u_onlyconvex,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(8, 44, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(8, 44, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(8, 44, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 44, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "benderssolvesubconvex", 0) < (0)) __PYX_ERR(8, 44, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("benderssolvesubconvex", 1, 3, 3, i); __PYX_ERR(8, 44, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 44, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(8, 44, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(8, 44, __pyx_L3_error)
    }
    __pyx_v_solution = values[0];
    __pyx_v_probnumber = values[1];
    __pyx_v_onlyconvex = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("benderssolvesubconvex", 1, 3, 3, __pyx_nargs); __PYX_ERR(8, 44, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Benders.benderssolvesubconvex", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_18benderssolvesubconvex(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self), __pyx_v_solution, __pyx_v_probnumber, __pyx_v_onlyconvex);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_18benderssolvesubconvex(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_probnumber, CYTHON_UNUSED PyObject *__pyx_v_onlyconvex) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("benderssolvesubconvex", 0);

  /* "src/pyscipopt/benders.pxi":46
 *     def benderssolvesubconvex(self, solution, probnumber, onlyconvex):
 *         '''sets convex solve callback of Benders decomposition'''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 *     def benderssolvesub(self, solution, probnumber):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":44
 *         return {}
 * 
 *     def benderssolvesubconvex(self, solution, probnumber, onlyconvex):             # <<<<<<<<<<<<<<
 *         '''sets convex solve callback of Benders decomposition'''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Benders.benderssolvesubconvex", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":48
 *         return {}
 * 
 *     def benderssolvesub(self, solution, probnumber):             # <<<<<<<<<<<<<<
 *         '''sets solve callback of Benders decomposition '''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_21benderssolvesub(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_20benderssolvesub, "sets solve callback of Benders decomposition ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_21benderssolvesub = {"benderssolvesub", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_21benderssolvesub, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_20benderssolvesub};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_21benderssolvesub(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_solution = 0;
  CYTHON_UNUSED PyObject *__pyx_v_probnumber = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderssolvesub (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_probnumber,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(8, 48, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(8, 48, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 48, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "benderssolvesub", 0) < (0)) __PYX_ERR(8, 48, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("benderssolvesub", 1, 2, 2, i); __PYX_ERR(8, 48, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 48, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(8, 48, __pyx_L3_error)
    }
    __pyx_v_solution = values[0];
    __pyx_v_probnumber = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("benderssolvesub", 1, 2, 2, __pyx_nargs); __PYX_ERR(8, 48, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Benders.benderssolvesub", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_20benderssolvesub(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self), __pyx_v_solution, __pyx_v_probnumber);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_20benderssolvesub(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_probnumber) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("benderssolvesub", 0);

  /* "src/pyscipopt/benders.pxi":50
 *     def benderssolvesub(self, solution, probnumber):
 *         '''sets solve callback of Benders decomposition '''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 *     def benderspostsolve(self, solution, enfotype, mergecandidates, npriomergecands, checkint, infeasible):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":48
 *         return {}
 * 
 *     def benderssolvesub(self, solution, probnumber):             # <<<<<<<<<<<<<<
 *         '''sets solve callback of Benders decomposition '''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Benders.benderssolvesub", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":52
 *         return {}
 * 
 *     def benderspostsolve(self, solution, enfotype, mergecandidates, npriomergecands, checkint, infeasible):             # <<<<<<<<<<<<<<
 *         '''sets post-solve callback of Benders decomposition '''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_23benderspostsolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_22benderspostsolve, "sets post-solve callback of Benders decomposition ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_23benderspostsolve = {"benderspostsolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_23benderspostsolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_22benderspostsolve};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_23benderspostsolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_solution = 0;
  CYTHON_UNUSED PyObject *__pyx_v_enfotype = 0;
  CYTHON_UNUSED PyObject *__pyx_v_mergecandidates = 0;
  CYTHON_UNUSED PyObject *__pyx_v_npriomergecands = 0;
  CYTHON_UNUSED PyObject *__pyx_v_checkint = 0;
  CYTHON_UNUSED PyObject *__pyx_v_infeasible = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderspostsolve (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_enfotype,&__pyx_mstate_global->__pyx_n_u_mergecandidates,&__pyx_mstate_global->__pyx_n_u_npriomergecands,&__pyx_mstate_global->__pyx_n_u_checkint,&__pyx_mstate_global->__pyx_n_u_infeasible,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(8, 52, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(8, 52, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(8, 52, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(8, 52, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(8, 52, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(8, 52, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 52, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "benderspostsolve", 0) < (0)) __PYX_ERR(8, 52, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 6; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("benderspostsolve", 1, 6, 6, i); __PYX_ERR(8, 52, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 52, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(8, 52, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(8, 52, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(8, 52, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(8, 52, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(8, 52, __pyx_L3_error)
    }
    __pyx_v_solution = values[0];
    __pyx_v_enfotype = values[1];
    __pyx_v_mergecandidates = values[2];
    __pyx_v_npriomergecands = values[3];
    __pyx_v_checkint = values[4];
    __pyx_v_infeasible = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("benderspostsolve", 1, 6, 6, __pyx_nargs); __PYX_ERR(8, 52, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Benders.benderspostsolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_22benderspostsolve(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self), __pyx_v_solution, __pyx_v_enfotype, __pyx_v_mergecandidates, __pyx_v_npriomergecands, __pyx_v_checkint, __pyx_v_infeasible);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_22benderspostsolve(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_enfotype, CYTHON_UNUSED PyObject *__pyx_v_mergecandidates, CYTHON_UNUSED PyObject *__pyx_v_npriomergecands, CYTHON_UNUSED PyObject *__pyx_v_checkint, CYTHON_UNUSED PyObject *__pyx_v_infeasible) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("benderspostsolve", 0);

  /* "src/pyscipopt/benders.pxi":54
 *     def benderspostsolve(self, solution, enfotype, mergecandidates, npriomergecands, checkint, infeasible):
 *         '''sets post-solve callback of Benders decomposition '''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 *     def bendersfreesub(self, probnumber):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":52
 *         return {}
 * 
 *     def benderspostsolve(self, solution, enfotype, mergecandidates, npriomergecands, checkint, infeasible):             # <<<<<<<<<<<<<<
 *         '''sets post-solve callback of Benders decomposition '''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Benders.benderspostsolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":56
 *         return {}
 * 
 *     def bendersfreesub(self, probnumber):             # <<<<<<<<<<<<<<
 *         '''frees the subproblems'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_25bendersfreesub(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_24bendersfreesub, "frees the subproblems");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_25bendersfreesub = {"bendersfreesub", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_25bendersfreesub, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_24bendersfreesub};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_25bendersfreesub(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_probnumber = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersfreesub (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_probnumber,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(8, 56, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 56, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "bendersfreesub", 0) < (0)) __PYX_ERR(8, 56, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("bendersfreesub", 1, 1, 1, i); __PYX_ERR(8, 56, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 56, __pyx_L3_error)
    }
    __pyx_v_probnumber = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("bendersfreesub", 1, 1, 1, __pyx_nargs); __PYX_ERR(8, 56, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Benders.bendersfreesub", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_24bendersfreesub(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self), __pyx_v_probnumber);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_24bendersfreesub(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_probnumber) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersfreesub", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":60
 *         pass
 * 
 *     def bendersgetvar(self, variable, probnumber):             # <<<<<<<<<<<<<<
 *         '''Returns the corresponding master or subproblem variable for the given variable. This provides a call back for the variable mapping between the master and subproblems. '''
 *         raise NotImplementedError("bendersgetvar() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_27bendersgetvar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Benders_26bendersgetvar, "Returns the corresponding master or subproblem variable for the given variable. This provides a call back for the variable mapping between the master and subproblems. ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_27bendersgetvar = {"bendersgetvar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_27bendersgetvar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_26bendersgetvar};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_27bendersgetvar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_variable = 0;
  CYTHON_UNUSED PyObject *__pyx_v_probnumber = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("bendersgetvar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_variable,&__pyx_mstate_global->__pyx_n_u_probnumber,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(8, 60, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(8, 60, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 60, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "bendersgetvar", 0) < (0)) __PYX_ERR(8, 60, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("bendersgetvar", 1, 2, 2, i); __PYX_ERR(8, 60, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(8, 60, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(8, 60, __pyx_L3_error)
    }
    __pyx_v_variable = values[0];
    __pyx_v_probnumber = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("bendersgetvar", 1, 2, 2, __pyx_nargs); __PYX_ERR(8, 60, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Benders.bendersgetvar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_26bendersgetvar(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self), __pyx_v_variable, __pyx_v_probnumber);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_26bendersgetvar(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_variable, CYTHON_UNUSED PyObject *__pyx_v_probnumber) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("bendersgetvar", 0);

  /* "src/pyscipopt/benders.pxi":62
 *     def bendersgetvar(self, variable, probnumber):
 *         '''Returns the corresponding master or subproblem variable for the given variable. This provides a call back for the variable mapping between the master and subproblems. '''
 *         raise NotImplementedError("bendersgetvar() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 * # local helper functions for the interface
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_bendersgetvar_is_a_fundamental_c};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(8, 62, __pyx_L1_error)

  /* "src/pyscipopt/benders.pxi":60
 *         pass
 * 
 *     def bendersgetvar(self, variable, probnumber):             # <<<<<<<<<<<<<<
 *         '''Returns the corresponding master or subproblem variable for the given variable. This provides a call back for the variable mapping between the master and subproblems. '''
 *         raise NotImplementedError("bendersgetvar() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Benders.bendersgetvar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":4
 * #@brief Base class of the Benders decomposition Plugin
 * cdef class Benders:
 *     cdef public Model model             # <<<<<<<<<<<<<<
 *     cdef public str name
 *     cdef SCIP_BENDERS* _benders
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7Benders_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7Benders_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7Benders_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(8, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Benders.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7Benders_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7Benders_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7Benders_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":5
 * cdef class Benders:
 *     cdef public Model model
 *     cdef public str name             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERS* _benders
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_4name___get__(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->name);
  __pyx_r = __pyx_v_self->name;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7Benders_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7Benders_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_4name_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7Benders_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(8, 5, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Benders.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7Benders_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7Benders_4name_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_4name_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7Benders_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._benders cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_29__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_29__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_29__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_29__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_28__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_28__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self._benders cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self._benders cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self__benders_cannot_be_converte, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._benders cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Benders.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self._benders cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._benders cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_31__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Benders_31__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_31__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Benders_31__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Benders.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Benders_30__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Benders_30__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self._benders cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self._benders cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self__benders_cannot_be_converte, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self._benders cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._benders cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Benders.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":65
 * 
 * # local helper functions for the interface
 * cdef Variable getPyVar(SCIP_VAR* var):             # <<<<<<<<<<<<<<
 *     cdef SCIP_VARDATA* vardata
 *     vardata = SCIPvarGetData(var)
*/

static struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_f_9pyscipopt_4scip_getPyVar(SCIP_VAR *__pyx_v_var) {
  SCIP_VARDATA *__pyx_v_vardata;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPyVar", 0);

  /* "src/pyscipopt/benders.pxi":67
 * cdef Variable getPyVar(SCIP_VAR* var):
 *     cdef SCIP_VARDATA* vardata
 *     vardata = SCIPvarGetData(var)             # <<<<<<<<<<<<<<
 *     return <Variable>vardata
 * 
*/
  __pyx_v_vardata = SCIPvarGetData(__pyx_v_var);

  /* "src/pyscipopt/benders.pxi":68
 *     cdef SCIP_VARDATA* vardata
 *     vardata = SCIPvarGetData(var)
 *     return <Variable>vardata             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF((PyObject *)__pyx_r);
  __Pyx_INCREF((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_vardata));
  __pyx_r = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_vardata);
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":65
 * 
 * # local helper functions for the interface
 * cdef Variable getPyVar(SCIP_VAR* var):             # <<<<<<<<<<<<<<
 *     cdef SCIP_VARDATA* vardata
 *     vardata = SCIPvarGetData(var)
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":71
 * 
 * 
 * cdef SCIP_RETCODE PyBendersCopy (SCIP* scip, SCIP_BENDERS* benders, SCIP_Bool threadsafe) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_BENDERS *__pyx_v_benders, CYTHON_UNUSED SCIP_Bool __pyx_v_threadsafe) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/benders.pxi":72
 * 
 * cdef SCIP_RETCODE PyBendersCopy (SCIP* scip, SCIP_BENDERS* benders, SCIP_Bool threadsafe) noexcept with gil:
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBendersFree (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":71
 * 
 * 
 * cdef SCIP_RETCODE PyBendersCopy (SCIP* scip, SCIP_BENDERS* benders, SCIP_Bool threadsafe) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":74
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersFree (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersFree", 0);

  /* "src/pyscipopt/benders.pxi":76
 * cdef SCIP_RETCODE PyBendersFree (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersfree()
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":77
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     PyBenders.bendersfree()
 *     Py_DECREF(PyBenders)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":78
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersfree()             # <<<<<<<<<<<<<<
 *     Py_DECREF(PyBenders)
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_bendersfree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 78, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":79
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersfree()
 *     Py_DECREF(PyBenders)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyBenders));

  /* "src/pyscipopt/benders.pxi":80
 *     PyBenders.bendersfree()
 *     Py_DECREF(PyBenders)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBendersInit (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":74
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersFree (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":82
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersInit (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersInit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersInit", 0);

  /* "src/pyscipopt/benders.pxi":84
 * cdef SCIP_RETCODE PyBendersInit (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersinit()
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":85
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     PyBenders.bendersinit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":86
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersinit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_bendersinit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":87
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersinit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBendersExit (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":82
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersInit (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersInit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":89
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersExit (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersExit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersExit", 0);

  /* "src/pyscipopt/benders.pxi":91
 * cdef SCIP_RETCODE PyBendersExit (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersexit()
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":92
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     PyBenders.bendersexit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":93
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersexit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_bendersexit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 93, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":94
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersexit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBendersInitpre (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":89
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersExit (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersExit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":96
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersInitpre (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersInitpre(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersInitpre", 0);

  /* "src/pyscipopt/benders.pxi":98
 * cdef SCIP_RETCODE PyBendersInitpre (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersinitpre()
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":99
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     PyBenders.bendersinitpre()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":100
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersinitpre()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_bendersinitpre, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":101
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersinitpre()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBendersExitpre (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":96
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersInitpre (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersInitpre", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":103
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersExitpre (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersExitpre(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersExitpre", 0);

  /* "src/pyscipopt/benders.pxi":105
 * cdef SCIP_RETCODE PyBendersExitpre (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersexitpre()
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":106
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     PyBenders.bendersexitpre()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":107
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersexitpre()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_bendersexitpre, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":108
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersexitpre()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBendersInitsol (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":103
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersExitpre (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersExitpre", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":110
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersInitsol (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersInitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersInitsol", 0);

  /* "src/pyscipopt/benders.pxi":112
 * cdef SCIP_RETCODE PyBendersInitsol (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersinitsol()
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":113
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     PyBenders.bendersinitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":114
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersinitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_bendersinitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":115
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersinitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBendersExitsol (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":110
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersInitsol (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersInitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":117
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersExitsol (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersExitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersExitsol", 0);

  /* "src/pyscipopt/benders.pxi":119
 * cdef SCIP_RETCODE PyBendersExitsol (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersexitsol()
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":120
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     PyBenders.bendersexitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":121
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersexitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_bendersexitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":122
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersexitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBendersCreatesub (SCIP* scip, SCIP_BENDERS* benders, int probnumber) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":117
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersExitsol (SCIP* scip, SCIP_BENDERS* benders) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersExitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":124
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersCreatesub (SCIP* scip, SCIP_BENDERS* benders, int probnumber) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersCreatesub(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders, int __pyx_v_probnumber) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersCreatesub", 0);

  /* "src/pyscipopt/benders.pxi":126
 * cdef SCIP_RETCODE PyBendersCreatesub (SCIP* scip, SCIP_BENDERS* benders, int probnumber) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.benderscreatesub(probnumber)
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":127
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     PyBenders.benderscreatesub(probnumber)
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":128
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.benderscreatesub(probnumber)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_probnumber); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_benderscreatesub, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 128, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":129
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.benderscreatesub(probnumber)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBendersPresubsolve (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol, SCIP_BENDERSENFOTYPE type, SCIP_Bool checkint, SCIP_Bool* infeasible, SCIP_Bool* auxviol, SCIP_Bool* skipsolve,  SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":124
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersCreatesub (SCIP* scip, SCIP_BENDERS* benders, int probnumber) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersCreatesub", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":131
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersPresubsolve (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol, SCIP_BENDERSENFOTYPE type, SCIP_Bool checkint, SCIP_Bool* infeasible, SCIP_Bool* auxviol, SCIP_Bool* skipsolve,  SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersPresubsolve(SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders, SCIP_SOL *__pyx_v_sol, SCIP_BENDERSENFOTYPE __pyx_v_type, SCIP_Bool __pyx_v_checkint, SCIP_Bool *__pyx_v_infeasible, SCIP_Bool *__pyx_v_auxviol, SCIP_Bool *__pyx_v_skipsolve, SCIP_RESULT *__pyx_v_result) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  PyObject *__pyx_v_solution = NULL;
  SCIP_BENDERSENFOTYPE __pyx_v_enfotype;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  SCIP_Bool __pyx_t_7;
  SCIP_RESULT __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersPresubsolve", 0);

  /* "src/pyscipopt/benders.pxi":133
 * cdef SCIP_RETCODE PyBendersPresubsolve (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol, SCIP_BENDERSENFOTYPE type, SCIP_Bool checkint, SCIP_Bool* infeasible, SCIP_Bool* auxviol, SCIP_Bool* skipsolve,  SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":134
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     if sol == NULL:
 *         solution = None
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":135
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:             # <<<<<<<<<<<<<<
 *         solution = None
 *     else:
*/
  __pyx_t_2 = (__pyx_v_sol == NULL);
  if (__pyx_t_2) {

    /* "src/pyscipopt/benders.pxi":136
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:
 *         solution = None             # <<<<<<<<<<<<<<
 *     else:
 *         solution = Solution.create(scip, sol)
*/
    __Pyx_INCREF(Py_None);
    __pyx_v_solution = Py_None;

    /* "src/pyscipopt/benders.pxi":135
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:             # <<<<<<<<<<<<<<
 *         solution = None
 *     else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/benders.pxi":138
 *         solution = None
 *     else:
 *         solution = Solution.create(scip, sol)             # <<<<<<<<<<<<<<
 *     enfotype = type
 *     result_dict = PyBenders.benderspresubsolve(solution, enfotype, checkint)
*/
  /*else*/ {
    __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_scip, __pyx_v_sol); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_solution = __pyx_t_1;
    __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/benders.pxi":139
 *     else:
 *         solution = Solution.create(scip, sol)
 *     enfotype = type             # <<<<<<<<<<<<<<
 *     result_dict = PyBenders.benderspresubsolve(solution, enfotype, checkint)
 *     infeasible[0] = result_dict.get("infeasible", False)
*/
  __pyx_v_enfotype = __pyx_v_type;

  /* "src/pyscipopt/benders.pxi":140
 *         solution = Solution.create(scip, sol)
 *     enfotype = type
 *     result_dict = PyBenders.benderspresubsolve(solution, enfotype, checkint)             # <<<<<<<<<<<<<<
 *     infeasible[0] = result_dict.get("infeasible", False)
 *     auxviol[0] = result_dict.get("auxviol", False)
*/
  __pyx_t_3 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_BENDERSENFOTYPE(__pyx_v_enfotype); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyBool_FromLong(__pyx_v_checkint); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_v_solution, __pyx_t_4, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_benderspresubsolve, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":141
 *     enfotype = type
 *     result_dict = PyBenders.benderspresubsolve(solution, enfotype, checkint)
 *     infeasible[0] = result_dict.get("infeasible", False)             # <<<<<<<<<<<<<<
 *     auxviol[0] = result_dict.get("auxviol", False)
 *     skipsolve[0] = result_dict.get("skipsolve", False)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[1], NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_7 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(8, 141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  (__pyx_v_infeasible[0]) = __pyx_t_7;

  /* "src/pyscipopt/benders.pxi":142
 *     result_dict = PyBenders.benderspresubsolve(solution, enfotype, checkint)
 *     infeasible[0] = result_dict.get("infeasible", False)
 *     auxviol[0] = result_dict.get("auxviol", False)             # <<<<<<<<<<<<<<
 *     skipsolve[0] = result_dict.get("skipsolve", False)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_mstate_global->__pyx_tuple[2], NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_7 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(8, 142, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_auxviol[0]) = __pyx_t_7;

  /* "src/pyscipopt/benders.pxi":143
 *     infeasible[0] = result_dict.get("infeasible", False)
 *     auxviol[0] = result_dict.get("auxviol", False)
 *     skipsolve[0] = result_dict.get("skipsolve", False)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[3], NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_7 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(8, 143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  (__pyx_v_skipsolve[0]) = __pyx_t_7;

  /* "src/pyscipopt/benders.pxi":144
 *     auxviol[0] = result_dict.get("auxviol", False)
 *     skipsolve[0] = result_dict.get("skipsolve", False)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_1 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_4};
    __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_8 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_5); if (unlikely((__pyx_t_8 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(8, 144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  (__pyx_v_result[0]) = __pyx_t_8;

  /* "src/pyscipopt/benders.pxi":145
 *     skipsolve[0] = result_dict.get("skipsolve", False)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBendersSolvesubconvex (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol, int probnumber, SCIP_Bool onlyconvex, SCIP_Real* objective, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":131
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersPresubsolve (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol, SCIP_BENDERSENFOTYPE type, SCIP_Bool checkint, SCIP_Bool* infeasible, SCIP_Bool* auxviol, SCIP_Bool* skipsolve,  SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersPresubsolve", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_XDECREF(__pyx_v_solution);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":147
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersSolvesubconvex (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol, int probnumber, SCIP_Bool onlyconvex, SCIP_Real* objective, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersSolvesubconvex(SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders, SCIP_SOL *__pyx_v_sol, int __pyx_v_probnumber, SCIP_Bool __pyx_v_onlyconvex, SCIP_Real *__pyx_v_objective, SCIP_RESULT *__pyx_v_result) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  PyObject *__pyx_v_solution = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  SCIP_Real __pyx_t_7;
  SCIP_RESULT __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersSolvesubconvex", 0);

  /* "src/pyscipopt/benders.pxi":149
 * cdef SCIP_RETCODE PyBendersSolvesubconvex (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol, int probnumber, SCIP_Bool onlyconvex, SCIP_Real* objective, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":150
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     if sol == NULL:
 *         solution = None
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":151
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:             # <<<<<<<<<<<<<<
 *         solution = None
 *     else:
*/
  __pyx_t_2 = (__pyx_v_sol == NULL);
  if (__pyx_t_2) {

    /* "src/pyscipopt/benders.pxi":152
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:
 *         solution = None             # <<<<<<<<<<<<<<
 *     else:
 *         solution = Solution.create(scip, sol)
*/
    __Pyx_INCREF(Py_None);
    __pyx_v_solution = Py_None;

    /* "src/pyscipopt/benders.pxi":151
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:             # <<<<<<<<<<<<<<
 *         solution = None
 *     else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/benders.pxi":154
 *         solution = None
 *     else:
 *         solution = Solution.create(scip, sol)             # <<<<<<<<<<<<<<
 *     result_dict = PyBenders.benderssolvesubconvex(solution, probnumber, onlyconvex)
 *     objective[0] = result_dict.get("objective", 1e+20)
*/
  /*else*/ {
    __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_scip, __pyx_v_sol); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_solution = __pyx_t_1;
    __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/benders.pxi":155
 *     else:
 *         solution = Solution.create(scip, sol)
 *     result_dict = PyBenders.benderssolvesubconvex(solution, probnumber, onlyconvex)             # <<<<<<<<<<<<<<
 *     objective[0] = result_dict.get("objective", 1e+20)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_3 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_probnumber); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyBool_FromLong(__pyx_v_onlyconvex); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_v_solution, __pyx_t_4, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_benderssolvesubconvex, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 155, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":156
 *         solution = Solution.create(scip, sol)
 *     result_dict = PyBenders.benderssolvesubconvex(solution, probnumber, onlyconvex)
 *     objective[0] = result_dict.get("objective", 1e+20)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[4], NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_7 = __Pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_7 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(8, 156, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  (__pyx_v_objective[0]) = __pyx_t_7;

  /* "src/pyscipopt/benders.pxi":157
 *     result_dict = PyBenders.benderssolvesubconvex(solution, probnumber, onlyconvex)
 *     objective[0] = result_dict.get("objective", 1e+20)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_1 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_4};
    __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_8 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_5); if (unlikely((__pyx_t_8 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(8, 157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  (__pyx_v_result[0]) = __pyx_t_8;

  /* "src/pyscipopt/benders.pxi":158
 *     objective[0] = result_dict.get("objective", 1e+20)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBendersSolvesub (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol, int probnumber, SCIP_Real* objective, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":147
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersSolvesubconvex (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol, int probnumber, SCIP_Bool onlyconvex, SCIP_Real* objective, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersSolvesubconvex", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_XDECREF(__pyx_v_solution);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":160
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersSolvesub (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol, int probnumber, SCIP_Real* objective, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersSolvesub(SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders, SCIP_SOL *__pyx_v_sol, int __pyx_v_probnumber, SCIP_Real *__pyx_v_objective, SCIP_RESULT *__pyx_v_result) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  PyObject *__pyx_v_solution = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  SCIP_Real __pyx_t_6;
  SCIP_RESULT __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersSolvesub", 0);

  /* "src/pyscipopt/benders.pxi":162
 * cdef SCIP_RETCODE PyBendersSolvesub (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol, int probnumber, SCIP_Real* objective, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":163
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     if sol == NULL:
 *         solution = None
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":164
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:             # <<<<<<<<<<<<<<
 *         solution = None
 *     else:
*/
  __pyx_t_2 = (__pyx_v_sol == NULL);
  if (__pyx_t_2) {

    /* "src/pyscipopt/benders.pxi":165
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:
 *         solution = None             # <<<<<<<<<<<<<<
 *     else:
 *         solution = Solution.create(scip, sol)
*/
    __Pyx_INCREF(Py_None);
    __pyx_v_solution = Py_None;

    /* "src/pyscipopt/benders.pxi":164
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:             # <<<<<<<<<<<<<<
 *         solution = None
 *     else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/benders.pxi":167
 *         solution = None
 *     else:
 *         solution = Solution.create(scip, sol)             # <<<<<<<<<<<<<<
 *     result_dict = PyBenders.benderssolvesub(solution, probnumber)
 *     objective[0] = result_dict.get("objective", 1e+20)
*/
  /*else*/ {
    __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_scip, __pyx_v_sol); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_solution = __pyx_t_1;
    __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/benders.pxi":168
 *     else:
 *         solution = Solution.create(scip, sol)
 *     result_dict = PyBenders.benderssolvesub(solution, probnumber)             # <<<<<<<<<<<<<<
 *     objective[0] = result_dict.get("objective", 1e+20)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_3 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_probnumber); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_solution, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_benderssolvesub, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 168, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":169
 *         solution = Solution.create(scip, sol)
 *     result_dict = PyBenders.benderssolvesub(solution, probnumber)
 *     objective[0] = result_dict.get("objective", 1e+20)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[4], NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(8, 169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  (__pyx_v_objective[0]) = __pyx_t_6;

  /* "src/pyscipopt/benders.pxi":170
 *     result_dict = PyBenders.benderssolvesub(solution, probnumber)
 *     objective[0] = result_dict.get("objective", 1e+20)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_1 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 170, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_3};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 170, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_7 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_4); if (unlikely((__pyx_t_7 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(8, 170, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  (__pyx_v_result[0]) = __pyx_t_7;

  /* "src/pyscipopt/benders.pxi":171
 *     objective[0] = result_dict.get("objective", 1e+20)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBendersPostsolve (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":160
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersSolvesub (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol, int probnumber, SCIP_Real* objective, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersSolvesub", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_XDECREF(__pyx_v_solution);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":173
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersPostsolve (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol,             # <<<<<<<<<<<<<<
 *         SCIP_BENDERSENFOTYPE type, int* mergecands, int npriomergecands, int nmergecands, SCIP_Bool checkint,
 *         SCIP_Bool infeasible, SCIP_Bool* merged) noexcept with gil:
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersPostsolve(SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders, SCIP_SOL *__pyx_v_sol, SCIP_BENDERSENFOTYPE __pyx_v_type, int *__pyx_v_mergecands, int __pyx_v_npriomergecands, int __pyx_v_nmergecands, SCIP_Bool __pyx_v_checkint, SCIP_Bool __pyx_v_infeasible, SCIP_Bool *__pyx_v_merged) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  PyObject *__pyx_v_solution = NULL;
  SCIP_BENDERSENFOTYPE __pyx_v_enfotype;
  PyObject *__pyx_v_mergecandidates = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  size_t __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersPostsolve", 0);

  /* "src/pyscipopt/benders.pxi":176
 *         SCIP_BENDERSENFOTYPE type, int* mergecands, int npriomergecands, int nmergecands, SCIP_Bool checkint,
 *         SCIP_Bool infeasible, SCIP_Bool* merged) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyBenders = <Benders>bendersdata
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":178
 *     cdef SCIP_BENDERSDATA* bendersdata = SCIPbendersGetData(benders)
 *     cdef int i
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     if sol == NULL:
 *         solution = None
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":179
 *     cdef int i
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:             # <<<<<<<<<<<<<<
 *         solution = None
 *     else:
*/
  __pyx_t_2 = (__pyx_v_sol == NULL);
  if (__pyx_t_2) {

    /* "src/pyscipopt/benders.pxi":180
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:
 *         solution = None             # <<<<<<<<<<<<<<
 *     else:
 *         solution = Solution.create(scip, sol)
*/
    __Pyx_INCREF(Py_None);
    __pyx_v_solution = Py_None;

    /* "src/pyscipopt/benders.pxi":179
 *     cdef int i
 *     PyBenders = <Benders>bendersdata
 *     if sol == NULL:             # <<<<<<<<<<<<<<
 *         solution = None
 *     else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/benders.pxi":182
 *         solution = None
 *     else:
 *         solution = Solution.create(scip, sol)             # <<<<<<<<<<<<<<
 *     enfotype = type
 *     mergecandidates = []
*/
  /*else*/ {
    __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_scip, __pyx_v_sol); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_solution = __pyx_t_1;
    __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/benders.pxi":183
 *     else:
 *         solution = Solution.create(scip, sol)
 *     enfotype = type             # <<<<<<<<<<<<<<
 *     mergecandidates = []
 *     for i in range(nmergecands):
*/
  __pyx_v_enfotype = __pyx_v_type;

  /* "src/pyscipopt/benders.pxi":184
 *         solution = Solution.create(scip, sol)
 *     enfotype = type
 *     mergecandidates = []             # <<<<<<<<<<<<<<
 *     for i in range(nmergecands):
 *         mergecandidates.append(mergecands[i])
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_mergecandidates = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":185
 *     enfotype = type
 *     mergecandidates = []
 *     for i in range(nmergecands):             # <<<<<<<<<<<<<<
 *         mergecandidates.append(mergecands[i])
 *     result_dict = PyBenders.benderspostsolve(solution, enfotype, mergecandidates, npriomergecands, checkint, infeasible)
*/
  __pyx_t_3 = __pyx_v_nmergecands;
  __pyx_t_4 = __pyx_t_3;
  for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
    __pyx_v_i = __pyx_t_5;

    /* "src/pyscipopt/benders.pxi":186
 *     mergecandidates = []
 *     for i in range(nmergecands):
 *         mergecandidates.append(mergecands[i])             # <<<<<<<<<<<<<<
 *     result_dict = PyBenders.benderspostsolve(solution, enfotype, mergecandidates, npriomergecands, checkint, infeasible)
 *     merged[0] = result_dict.get("merged", False)
*/
    __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_mergecands[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_mergecandidates, __pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(8, 186, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/benders.pxi":187
 *     for i in range(nmergecands):
 *         mergecandidates.append(mergecands[i])
 *     result_dict = PyBenders.benderspostsolve(solution, enfotype, mergecandidates, npriomergecands, checkint, infeasible)             # <<<<<<<<<<<<<<
 *     merged[0] = result_dict.get("merged", False)
 *     return SCIP_OKAY
*/
  __pyx_t_7 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_BENDERSENFOTYPE(__pyx_v_enfotype); if (unlikely(!__pyx_t_8)) __PYX_ERR(8, 187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyLong_From_int(__pyx_v_npriomergecands); if (unlikely(!__pyx_t_9)) __PYX_ERR(8, 187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyBool_FromLong(__pyx_v_checkint); if (unlikely(!__pyx_t_10)) __PYX_ERR(8, 187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = __Pyx_PyBool_FromLong(__pyx_v_infeasible); if (unlikely(!__pyx_t_11)) __PYX_ERR(8, 187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_12 = 0;
  {
    PyObject *__pyx_callargs[7] = {__pyx_t_7, __pyx_v_solution, __pyx_t_8, __pyx_v_mergecandidates, __pyx_t_9, __pyx_t_10, __pyx_t_11};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_benderspostsolve, __pyx_callargs+__pyx_t_12, (7-__pyx_t_12) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":188
 *         mergecandidates.append(mergecands[i])
 *     result_dict = PyBenders.benderspostsolve(solution, enfotype, mergecandidates, npriomergecands, checkint, infeasible)
 *     merged[0] = result_dict.get("merged", False)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[5], NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(8, 188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(8, 188, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  (__pyx_v_merged[0]) = __pyx_t_13;

  /* "src/pyscipopt/benders.pxi":189
 *     result_dict = PyBenders.benderspostsolve(solution, enfotype, mergecandidates, npriomergecands, checkint, infeasible)
 *     merged[0] = result_dict.get("merged", False)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBendersFreesub (SCIP* scip, SCIP_BENDERS* benders, int probnumber) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":173
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersPostsolve (SCIP* scip, SCIP_BENDERS* benders, SCIP_SOL* sol,             # <<<<<<<<<<<<<<
 *         SCIP_BENDERSENFOTYPE type, int* mergecands, int npriomergecands, int nmergecands, SCIP_Bool checkint,
 *         SCIP_Bool infeasible, SCIP_Bool* merged) noexcept with gil:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersPostsolve", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_XDECREF(__pyx_v_solution);
  __Pyx_XDECREF(__pyx_v_mergecandidates);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":191
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersFreesub (SCIP* scip, SCIP_BENDERS* benders, int probnumber) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersFreesub(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders, int __pyx_v_probnumber) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersFreesub", 0);

  /* "src/pyscipopt/benders.pxi":193
 * cdef SCIP_RETCODE PyBendersFreesub (SCIP* scip, SCIP_BENDERS* benders, int probnumber) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersfreesub(probnumber)
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":194
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     PyBenders.bendersfreesub(probnumber)
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":195
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersfreesub(probnumber)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_probnumber); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_bendersfreesub, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 195, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":196
 *     PyBenders = <Benders>bendersdata
 *     PyBenders.bendersfreesub(probnumber)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * #TODO: Really need to ask about the passing and returning of variables
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":191
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBendersFreesub (SCIP* scip, SCIP_BENDERS* benders, int probnumber) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersFreesub", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benders.pxi":199
 * 
 * #TODO: Really need to ask about the passing and returning of variables
 * cdef SCIP_RETCODE PyBendersGetvar (SCIP* scip, SCIP_BENDERS* benders, SCIP_VAR* var, SCIP_VAR** mappedvar, int probnumber) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBendersGetvar(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERS *__pyx_v_benders, SCIP_VAR *__pyx_v_var, SCIP_VAR **__pyx_v_mappedvar, int __pyx_v_probnumber) {
  SCIP_BENDERSDATA *__pyx_v_bendersdata;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_PyBenders = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_PyVar = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_mappedvariable = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  SCIP_VAR *__pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBendersGetvar", 0);

  /* "src/pyscipopt/benders.pxi":201
 * cdef SCIP_RETCODE PyBendersGetvar (SCIP* scip, SCIP_BENDERS* benders, SCIP_VAR* var, SCIP_VAR** mappedvar, int probnumber) noexcept with gil:
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)             # <<<<<<<<<<<<<<
 *     PyBenders = <Benders>bendersdata
 *     PyVar = getPyVar(var)
*/
  __pyx_v_bendersdata = SCIPbendersGetData(__pyx_v_benders);

  /* "src/pyscipopt/benders.pxi":202
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata             # <<<<<<<<<<<<<<
 *     PyVar = getPyVar(var)
 *     result_dict = PyBenders.bendersgetvar(PyVar, probnumber)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_bendersdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":203
 *     bendersdata = SCIPbendersGetData(benders)
 *     PyBenders = <Benders>bendersdata
 *     PyVar = getPyVar(var)             # <<<<<<<<<<<<<<
 *     result_dict = PyBenders.bendersgetvar(PyVar, probnumber)
 *     mappedvariable = <Variable>(result_dict.get("mappedvar", None))
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyVar(__pyx_v_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyVar = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":204
 *     PyBenders = <Benders>bendersdata
 *     PyVar = getPyVar(var)
 *     result_dict = PyBenders.bendersgetvar(PyVar, probnumber)             # <<<<<<<<<<<<<<
 *     mappedvariable = <Variable>(result_dict.get("mappedvar", None))
 *     if mappedvariable is None:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenders);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_probnumber); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, ((PyObject *)__pyx_v_PyVar), __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_bendersgetvar, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 204, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":205
 *     PyVar = getPyVar(var)
 *     result_dict = PyBenders.bendersgetvar(PyVar, probnumber)
 *     mappedvariable = <Variable>(result_dict.get("mappedvar", None))             # <<<<<<<<<<<<<<
 *     if mappedvariable is None:
 *         mappedvar[0] = NULL
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(8, 205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[6], NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(8, 205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __pyx_t_3;
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_mappedvariable = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benders.pxi":206
 *     result_dict = PyBenders.bendersgetvar(PyVar, probnumber)
 *     mappedvariable = <Variable>(result_dict.get("mappedvar", None))
 *     if mappedvariable is None:             # <<<<<<<<<<<<<<
 *         mappedvar[0] = NULL
 *     else:
*/
  __pyx_t_5 = (((PyObject *)__pyx_v_mappedvariable) == Py_None);
  if (__pyx_t_5) {

    /* "src/pyscipopt/benders.pxi":207
 *     mappedvariable = <Variable>(result_dict.get("mappedvar", None))
 *     if mappedvariable is None:
 *         mappedvar[0] = NULL             # <<<<<<<<<<<<<<
 *     else:
 *         mappedvar[0] = mappedvariable.scip_var
*/
    (__pyx_v_mappedvar[0]) = NULL;

    /* "src/pyscipopt/benders.pxi":206
 *     result_dict = PyBenders.bendersgetvar(PyVar, probnumber)
 *     mappedvariable = <Variable>(result_dict.get("mappedvar", None))
 *     if mappedvariable is None:             # <<<<<<<<<<<<<<
 *         mappedvar[0] = NULL
 *     else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/benders.pxi":209
 *         mappedvar[0] = NULL
 *     else:
 *         mappedvar[0] = mappedvariable.scip_var             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
*/
  /*else*/ {
    __pyx_t_6 = __pyx_v_mappedvariable->scip_var;
    (__pyx_v_mappedvar[0]) = __pyx_t_6;
  }
  __pyx_L3:;

  /* "src/pyscipopt/benders.pxi":210
 *     else:
 *         mappedvar[0] = mappedvariable.scip_var
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benders.pxi":199
 * 
 * #TODO: Really need to ask about the passing and returning of variables
 * cdef SCIP_RETCODE PyBendersGetvar (SCIP* scip, SCIP_BENDERS* benders, SCIP_VAR* var, SCIP_VAR** mappedvar, int probnumber) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSDATA* bendersdata
 *     bendersdata = SCIPbendersGetData(benders)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBendersGetvar", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenders);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyVar);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_XDECREF((PyObject *)__pyx_v_mappedvariable);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":8
 *     cdef public str name
 * 
 *     def benderscutfree(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_1benderscutfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Benderscut_1benderscutfree = {"benderscutfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_1benderscutfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_1benderscutfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderscutfree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("benderscutfree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("benderscutfree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_benderscutfree(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_benderscutfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderscutfree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":11
 *         pass
 * 
 *     def benderscutinit(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_3benderscutinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Benderscut_3benderscutinit = {"benderscutinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_3benderscutinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_3benderscutinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderscutinit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("benderscutinit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("benderscutinit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_2benderscutinit(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_2benderscutinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderscutinit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":14
 *         pass
 * 
 *     def benderscutexit(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_5benderscutexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Benderscut_5benderscutexit = {"benderscutexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_5benderscutexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_5benderscutexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderscutexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("benderscutexit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("benderscutexit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_4benderscutexit(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_4benderscutexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderscutexit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":17
 *         pass
 * 
 *     def benderscutinitsol(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_7benderscutinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Benderscut_7benderscutinitsol = {"benderscutinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_7benderscutinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_7benderscutinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderscutinitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("benderscutinitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("benderscutinitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_6benderscutinitsol(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_6benderscutinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderscutinitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":20
 *         pass
 * 
 *     def benderscutexitsol(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_9benderscutexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Benderscut_9benderscutexitsol = {"benderscutexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_9benderscutexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_9benderscutexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderscutexitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("benderscutexitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("benderscutexitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_8benderscutexitsol(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_8benderscutexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderscutexitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":23
 *         pass
 * 
 *     def benderscutexec(self, solution, probnumber, enfotype):             # <<<<<<<<<<<<<<
 *         raise NotImplementedError("benderscutexec() is a fundamental callback and should be implemented in the derived class")
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_11benderscutexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Benderscut_11benderscutexec = {"benderscutexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_11benderscutexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_11benderscutexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_solution = 0;
  CYTHON_UNUSED PyObject *__pyx_v_probnumber = 0;
  CYTHON_UNUSED PyObject *__pyx_v_enfotype = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("benderscutexec (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_probnumber,&__pyx_mstate_global->__pyx_n_u_enfotype,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(9, 23, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(9, 23, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(9, 23, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(9, 23, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "benderscutexec", 0) < (0)) __PYX_ERR(9, 23, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("benderscutexec", 1, 3, 3, i); __PYX_ERR(9, 23, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(9, 23, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(9, 23, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(9, 23, __pyx_L3_error)
    }
    __pyx_v_solution = values[0];
    __pyx_v_probnumber = values[1];
    __pyx_v_enfotype = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("benderscutexec", 1, 3, 3, __pyx_nargs); __PYX_ERR(9, 23, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Benderscut.benderscutexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_10benderscutexec(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self), __pyx_v_solution, __pyx_v_probnumber, __pyx_v_enfotype);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_10benderscutexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_probnumber, CYTHON_UNUSED PyObject *__pyx_v_enfotype) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("benderscutexec", 0);

  /* "src/pyscipopt/benderscut.pxi":24
 * 
 *     def benderscutexec(self, solution, probnumber, enfotype):
 *         raise NotImplementedError("benderscutexec() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBenderscutCopy (SCIP* scip, SCIP_BENDERS* benders, SCIP_BENDERSCUT* benderscut) noexcept with gil:
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_benderscutexec_is_a_fundamental};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 24, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(9, 24, __pyx_L1_error)

  /* "src/pyscipopt/benderscut.pxi":23
 *         pass
 * 
 *     def benderscutexec(self, solution, probnumber, enfotype):             # <<<<<<<<<<<<<<
 *         raise NotImplementedError("benderscutexec() is a fundamental callback and should be implemented in the derived class")
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Benderscut.benderscutexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":4
 * #@brief Base class of the Benderscut Plugin
 * cdef class Benderscut:
 *     cdef public Model model             # <<<<<<<<<<<<<<
 *     cdef public Benders benders
 *     cdef public str name
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_10Benderscut_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_10Benderscut_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_10Benderscut_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(9, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Benderscut.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_10Benderscut_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_10Benderscut_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_10Benderscut_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":5
 * cdef class Benderscut:
 *     cdef public Model model
 *     cdef public Benders benders             # <<<<<<<<<<<<<<
 *     cdef public str name
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_7benders_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_7benders_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_7benders___get__(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_7benders___get__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->benders);
  __pyx_r = ((PyObject *)__pyx_v_self->benders);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_10Benderscut_7benders_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_10Benderscut_7benders_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_7benders_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_10Benderscut_7benders_2__set__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders))))) __PYX_ERR(9, 5, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->benders);
  __Pyx_DECREF((PyObject *)__pyx_v_self->benders);
  __pyx_v_self->benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Benderscut.benders.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_10Benderscut_7benders_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_10Benderscut_7benders_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_7benders_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_10Benderscut_7benders_4__del__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->benders);
  __Pyx_DECREF((PyObject *)__pyx_v_self->benders);
  __pyx_v_self->benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":6
 *     cdef public Model model
 *     cdef public Benders benders
 *     cdef public str name             # <<<<<<<<<<<<<<
 * 
 *     def benderscutfree(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_4name___get__(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->name);
  __pyx_r = __pyx_v_self->name;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_10Benderscut_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_10Benderscut_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_4name_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_10Benderscut_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(9, 6, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Benderscut.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_10Benderscut_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_10Benderscut_4name_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_4name_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_10Benderscut_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Benderscut_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_12__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_12__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.benders, self.model, self.name)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->benders);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->benders);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->benders)) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->model);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self->model)) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->name);
  __Pyx_GIVEREF(__pyx_v_self->name);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_self->name) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.benders, self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.benders, self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.benders is not None or self.model is not None or self.name is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.benders, self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.benders is not None or self.model is not None or self.name is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Benderscut, (type(self), 0x5af043b, None), state
*/
  /*else*/ {
    __pyx_t_3 = (((PyObject *)__pyx_v_self->benders) != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (((PyObject *)__pyx_v_self->model) != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->name != ((PyObject*)Py_None));
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.benders is not None or self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Benderscut, (type(self), 0x5af043b, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.benders is not None or self.model is not None or self.name is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Benderscut, (type(self), 0x5af043b, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Benderscut, (type(self), 0x5af043b, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Benderscut); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_95355963);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_95355963);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_95355963) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.benders is not None or self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Benderscut, (type(self), 0x5af043b, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Benderscut, (type(self), 0x5af043b, None), state
 *     else:
 *         return __pyx_unpickle_Benderscut, (type(self), 0x5af043b, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Benderscut__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Benderscut); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_95355963);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_95355963);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_95355963) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Benderscut.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Benderscut, (type(self), 0x5af043b, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Benderscut__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Benderscut_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Benderscut_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Benderscut.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Benderscut_14__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Benderscut_14__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Benderscut, (type(self), 0x5af043b, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Benderscut__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Benderscut__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Benderscut, (type(self), 0x5af043b, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Benderscut__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Benderscut.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":26
 *         raise NotImplementedError("benderscutexec() is a fundamental callback and should be implemented in the derived class")
 * 
 * cdef SCIP_RETCODE PyBenderscutCopy (SCIP* scip, SCIP_BENDERS* benders, SCIP_BENDERSCUT* benderscut) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_BENDERS *__pyx_v_benders, CYTHON_UNUSED SCIP_BENDERSCUT *__pyx_v_benderscut) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/benderscut.pxi":27
 * 
 * cdef SCIP_RETCODE PyBenderscutCopy (SCIP* scip, SCIP_BENDERS* benders, SCIP_BENDERSCUT* benderscut) noexcept with gil:
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBenderscutFree (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benderscut.pxi":26
 *         raise NotImplementedError("benderscutexec() is a fundamental callback and should be implemented in the derived class")
 * 
 * cdef SCIP_RETCODE PyBenderscutCopy (SCIP* scip, SCIP_BENDERS* benders, SCIP_BENDERSCUT* benderscut) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":29
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBenderscutFree (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERSCUT *__pyx_v_benderscut) {
  SCIP_BENDERSCUTDATA *__pyx_v_benderscutdata;
  struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_PyBenderscut = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBenderscutFree", 0);

  /* "src/pyscipopt/benderscut.pxi":31
 * cdef SCIP_RETCODE PyBenderscutFree (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)             # <<<<<<<<<<<<<<
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutfree()
*/
  __pyx_v_benderscutdata = SCIPbenderscutGetData(__pyx_v_benderscut);

  /* "src/pyscipopt/benderscut.pxi":32
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
 *     PyBenderscut = <Benderscut>benderscutdata             # <<<<<<<<<<<<<<
 *     PyBenderscut.benderscutfree()
 *     Py_DECREF(PyBenderscut)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_benderscutdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenderscut = ((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benderscut.pxi":33
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutfree()             # <<<<<<<<<<<<<<
 *     Py_DECREF(PyBenderscut)
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenderscut);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_benderscutfree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 33, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benderscut.pxi":34
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutfree()
 *     Py_DECREF(PyBenderscut)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyBenderscut));

  /* "src/pyscipopt/benderscut.pxi":35
 *     PyBenderscut.benderscutfree()
 *     Py_DECREF(PyBenderscut)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBenderscutInit (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benderscut.pxi":29
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBenderscutFree (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBenderscutFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenderscut);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":37
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBenderscutInit (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutInit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERSCUT *__pyx_v_benderscut) {
  SCIP_BENDERSCUTDATA *__pyx_v_benderscutdata;
  struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_PyBenderscut = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBenderscutInit", 0);

  /* "src/pyscipopt/benderscut.pxi":39
 * cdef SCIP_RETCODE PyBenderscutInit (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)             # <<<<<<<<<<<<<<
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutinit()
*/
  __pyx_v_benderscutdata = SCIPbenderscutGetData(__pyx_v_benderscut);

  /* "src/pyscipopt/benderscut.pxi":40
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
 *     PyBenderscut = <Benderscut>benderscutdata             # <<<<<<<<<<<<<<
 *     PyBenderscut.benderscutinit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_benderscutdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenderscut = ((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benderscut.pxi":41
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutinit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenderscut);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_benderscutinit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 41, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benderscut.pxi":42
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutinit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBenderscutExit (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benderscut.pxi":37
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBenderscutInit (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBenderscutInit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenderscut);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":44
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBenderscutExit (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutExit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERSCUT *__pyx_v_benderscut) {
  SCIP_BENDERSCUTDATA *__pyx_v_benderscutdata;
  struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_PyBenderscut = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBenderscutExit", 0);

  /* "src/pyscipopt/benderscut.pxi":46
 * cdef SCIP_RETCODE PyBenderscutExit (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)             # <<<<<<<<<<<<<<
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutexit()
*/
  __pyx_v_benderscutdata = SCIPbenderscutGetData(__pyx_v_benderscut);

  /* "src/pyscipopt/benderscut.pxi":47
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
 *     PyBenderscut = <Benderscut>benderscutdata             # <<<<<<<<<<<<<<
 *     PyBenderscut.benderscutexit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_benderscutdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenderscut = ((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benderscut.pxi":48
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutexit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenderscut);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_benderscutexit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 48, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benderscut.pxi":49
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutexit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBenderscutInitsol (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benderscut.pxi":44
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBenderscutExit (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBenderscutExit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenderscut);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":51
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBenderscutInitsol (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutInitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERSCUT *__pyx_v_benderscut) {
  SCIP_BENDERSCUTDATA *__pyx_v_benderscutdata;
  struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_PyBenderscut = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBenderscutInitsol", 0);

  /* "src/pyscipopt/benderscut.pxi":53
 * cdef SCIP_RETCODE PyBenderscutInitsol (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)             # <<<<<<<<<<<<<<
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutinitsol()
*/
  __pyx_v_benderscutdata = SCIPbenderscutGetData(__pyx_v_benderscut);

  /* "src/pyscipopt/benderscut.pxi":54
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
 *     PyBenderscut = <Benderscut>benderscutdata             # <<<<<<<<<<<<<<
 *     PyBenderscut.benderscutinitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_benderscutdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenderscut = ((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benderscut.pxi":55
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutinitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenderscut);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_benderscutinitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 55, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benderscut.pxi":56
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutinitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBenderscutExitsol (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benderscut.pxi":51
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBenderscutInitsol (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBenderscutInitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenderscut);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":58
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBenderscutExitsol (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutExitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BENDERSCUT *__pyx_v_benderscut) {
  SCIP_BENDERSCUTDATA *__pyx_v_benderscutdata;
  struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_PyBenderscut = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBenderscutExitsol", 0);

  /* "src/pyscipopt/benderscut.pxi":60
 * cdef SCIP_RETCODE PyBenderscutExitsol (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)             # <<<<<<<<<<<<<<
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutexitsol()
*/
  __pyx_v_benderscutdata = SCIPbenderscutGetData(__pyx_v_benderscut);

  /* "src/pyscipopt/benderscut.pxi":61
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
 *     PyBenderscut = <Benderscut>benderscutdata             # <<<<<<<<<<<<<<
 *     PyBenderscut.benderscutexitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_benderscutdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenderscut = ((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benderscut.pxi":62
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutexitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBenderscut);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_benderscutexitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/benderscut.pxi":63
 *     PyBenderscut = <Benderscut>benderscutdata
 *     PyBenderscut.benderscutexitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBenderscutExec (SCIP* scip, SCIP_BENDERS* benders, SCIP_BENDERSCUT* benderscut, SCIP_SOL* sol, int probnumber, SCIP_BENDERSENFOTYPE type, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benderscut.pxi":58
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBenderscutExitsol (SCIP* scip, SCIP_BENDERSCUT* benderscut) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBenderscutExitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenderscut);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/benderscut.pxi":65
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBenderscutExec (SCIP* scip, SCIP_BENDERS* benders, SCIP_BENDERSCUT* benderscut, SCIP_SOL* sol, int probnumber, SCIP_BENDERSENFOTYPE type, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBenderscutExec(SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_BENDERS *__pyx_v_benders, SCIP_BENDERSCUT *__pyx_v_benderscut, SCIP_SOL *__pyx_v_sol, int __pyx_v_probnumber, SCIP_BENDERSENFOTYPE __pyx_v_type, SCIP_RESULT *__pyx_v_result) {
  SCIP_BENDERSCUTDATA *__pyx_v_benderscutdata;
  struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_PyBenderscut = NULL;
  PyObject *__pyx_v_solution = NULL;
  SCIP_BENDERSENFOTYPE __pyx_v_enfotype;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  SCIP_RESULT __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBenderscutExec", 0);

  /* "src/pyscipopt/benderscut.pxi":67
 * cdef SCIP_RETCODE PyBenderscutExec (SCIP* scip, SCIP_BENDERS* benders, SCIP_BENDERSCUT* benderscut, SCIP_SOL* sol, int probnumber, SCIP_BENDERSENFOTYPE type, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)             # <<<<<<<<<<<<<<
 *     PyBenderscut = <Benderscut>benderscutdata
 *     if sol == NULL:
*/
  __pyx_v_benderscutdata = SCIPbenderscutGetData(__pyx_v_benderscut);

  /* "src/pyscipopt/benderscut.pxi":68
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
 *     PyBenderscut = <Benderscut>benderscutdata             # <<<<<<<<<<<<<<
 *     if sol == NULL:
 *         solution = None
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_benderscutdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBenderscut = ((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benderscut.pxi":69
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
 *     PyBenderscut = <Benderscut>benderscutdata
 *     if sol == NULL:             # <<<<<<<<<<<<<<
 *         solution = None
 *     else:
*/
  __pyx_t_2 = (__pyx_v_sol == NULL);
  if (__pyx_t_2) {

    /* "src/pyscipopt/benderscut.pxi":70
 *     PyBenderscut = <Benderscut>benderscutdata
 *     if sol == NULL:
 *         solution = None             # <<<<<<<<<<<<<<
 *     else:
 *         solution = Solution.create(scip, sol)
*/
    __Pyx_INCREF(Py_None);
    __pyx_v_solution = Py_None;

    /* "src/pyscipopt/benderscut.pxi":69
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
 *     PyBenderscut = <Benderscut>benderscutdata
 *     if sol == NULL:             # <<<<<<<<<<<<<<
 *         solution = None
 *     else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/benderscut.pxi":72
 *         solution = None
 *     else:
 *         solution = Solution.create(scip, sol)             # <<<<<<<<<<<<<<
 *     enfotype = type
 *     result_dict = PyBenderscut.benderscutexec(solution, probnumber, enfotype)
*/
  /*else*/ {
    __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_scip, __pyx_v_sol); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 72, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_solution = __pyx_t_1;
    __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/benderscut.pxi":73
 *     else:
 *         solution = Solution.create(scip, sol)
 *     enfotype = type             # <<<<<<<<<<<<<<
 *     result_dict = PyBenderscut.benderscutexec(solution, probnumber, enfotype)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_v_enfotype = __pyx_v_type;

  /* "src/pyscipopt/benderscut.pxi":74
 *         solution = Solution.create(scip, sol)
 *     enfotype = type
 *     result_dict = PyBenderscut.benderscutexec(solution, probnumber, enfotype)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_3 = ((PyObject *)__pyx_v_PyBenderscut);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_probnumber); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_BENDERSENFOTYPE(__pyx_v_enfotype); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_3, __pyx_v_solution, __pyx_t_4, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_benderscutexec, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 74, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/benderscut.pxi":75
 *     enfotype = type
 *     result_dict = PyBenderscut.benderscutexec(solution, probnumber, enfotype)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
*/
  __pyx_t_5 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 75, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_7 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_7 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(9, 75, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_7;

  /* "src/pyscipopt/benderscut.pxi":76
 *     result_dict = PyBenderscut.benderscutexec(solution, probnumber, enfotype)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/benderscut.pxi":65
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBenderscutExec (SCIP* scip, SCIP_BENDERS* benders, SCIP_BENDERSCUT* benderscut, SCIP_SOL* sol, int probnumber, SCIP_BENDERSENFOTYPE type, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BENDERSCUTDATA* benderscutdata
 *     benderscutdata = SCIPbenderscutGetData(benderscut)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBenderscutExec", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBenderscut);
  __Pyx_XDECREF(__pyx_v_solution);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":6
 *     cdef public Model model
 * 
 *     def branchfree(self):             # <<<<<<<<<<<<<<
 *         '''frees memory of branching rule'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_1branchfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Branchrule_branchfree, "frees memory of branching rule");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Branchrule_1branchfree = {"branchfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_1branchfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_branchfree};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_1branchfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchfree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("branchfree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("branchfree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Branchrule_branchfree(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_branchfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchfree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":10
 *         pass
 * 
 *     def branchinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes branching rule'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_3branchinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Branchrule_2branchinit, "initializes branching rule");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Branchrule_3branchinit = {"branchinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_3branchinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_2branchinit};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_3branchinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchinit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("branchinit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("branchinit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Branchrule_2branchinit(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_2branchinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchinit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":14
 *         pass
 * 
 *     def branchexit(self):             # <<<<<<<<<<<<<<
 *         '''deinitializes branching rule'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_5branchexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Branchrule_4branchexit, "deinitializes branching rule");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Branchrule_5branchexit = {"branchexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_5branchexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_4branchexit};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_5branchexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("branchexit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("branchexit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Branchrule_4branchexit(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_4branchexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchexit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":18
 *         pass
 * 
 *     def branchinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs branching rule that the branch and bound process is being started '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_7branchinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Branchrule_6branchinitsol, "informs branching rule that the branch and bound process is being started ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Branchrule_7branchinitsol = {"branchinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_7branchinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_6branchinitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_7branchinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchinitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("branchinitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("branchinitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Branchrule_6branchinitsol(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_6branchinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchinitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":22
 *         pass
 * 
 *     def branchexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs branching rule that the branch and bound process data is being freed'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_9branchexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Branchrule_8branchexitsol, "informs branching rule that the branch and bound process data is being freed");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Branchrule_9branchexitsol = {"branchexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_9branchexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_8branchexitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_9branchexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchexitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("branchexitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("branchexitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Branchrule_8branchexitsol(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_8branchexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchexitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":26
 *         pass
 * 
 *     def branchexeclp(self, allowaddcons):             # <<<<<<<<<<<<<<
 *         '''executes branching rule for fractional LP solution'''
 *         raise NotImplementedError("branchexeclp() is a fundamental callback and should be implemented in the derived "
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_11branchexeclp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Branchrule_10branchexeclp, "executes branching rule for fractional LP solution");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Branchrule_11branchexeclp = {"branchexeclp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_11branchexeclp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_10branchexeclp};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_11branchexeclp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_allowaddcons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchexeclp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_allowaddcons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(10, 26, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(10, 26, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "branchexeclp", 0) < (0)) __PYX_ERR(10, 26, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("branchexeclp", 1, 1, 1, i); __PYX_ERR(10, 26, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(10, 26, __pyx_L3_error)
    }
    __pyx_v_allowaddcons = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("branchexeclp", 1, 1, 1, __pyx_nargs); __PYX_ERR(10, 26, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Branchrule.branchexeclp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Branchrule_10branchexeclp(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v_self), __pyx_v_allowaddcons);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_10branchexeclp(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_allowaddcons) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("branchexeclp", 0);

  /* "src/pyscipopt/branchrule.pxi":28
 *     def branchexeclp(self, allowaddcons):
 *         '''executes branching rule for fractional LP solution'''
 *         raise NotImplementedError("branchexeclp() is a fundamental callback and should be implemented in the derived "             # <<<<<<<<<<<<<<
 *                                   "class")
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_branchexeclp_is_a_fundamental_ca};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 28, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(10, 28, __pyx_L1_error)

  /* "src/pyscipopt/branchrule.pxi":26
 *         pass
 * 
 *     def branchexeclp(self, allowaddcons):             # <<<<<<<<<<<<<<
 *         '''executes branching rule for fractional LP solution'''
 *         raise NotImplementedError("branchexeclp() is a fundamental callback and should be implemented in the derived "
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Branchrule.branchexeclp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":31
 *                                   "class")
 * 
 *     def branchexecext(self, allowaddcons):             # <<<<<<<<<<<<<<
 *         '''executes branching rule for external branching candidates '''
 *         raise NotImplementedError("branchexecext() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_13branchexecext(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Branchrule_12branchexecext, "executes branching rule for external branching candidates ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Branchrule_13branchexecext = {"branchexecext", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_13branchexecext, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_12branchexecext};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_13branchexecext(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_allowaddcons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchexecext (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_allowaddcons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(10, 31, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(10, 31, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "branchexecext", 0) < (0)) __PYX_ERR(10, 31, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("branchexecext", 1, 1, 1, i); __PYX_ERR(10, 31, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(10, 31, __pyx_L3_error)
    }
    __pyx_v_allowaddcons = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("branchexecext", 1, 1, 1, __pyx_nargs); __PYX_ERR(10, 31, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Branchrule.branchexecext", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Branchrule_12branchexecext(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v_self), __pyx_v_allowaddcons);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_12branchexecext(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_allowaddcons) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("branchexecext", 0);

  /* "src/pyscipopt/branchrule.pxi":33
 *     def branchexecext(self, allowaddcons):
 *         '''executes branching rule for external branching candidates '''
 *         raise NotImplementedError("branchexecext() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 *     def branchexecps(self, allowaddcons):
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_branchexecext_is_a_fundamental_c};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 33, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(10, 33, __pyx_L1_error)

  /* "src/pyscipopt/branchrule.pxi":31
 *                                   "class")
 * 
 *     def branchexecext(self, allowaddcons):             # <<<<<<<<<<<<<<
 *         '''executes branching rule for external branching candidates '''
 *         raise NotImplementedError("branchexecext() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Branchrule.branchexecext", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":35
 *         raise NotImplementedError("branchexecext() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def branchexecps(self, allowaddcons):             # <<<<<<<<<<<<<<
 *         '''executes branching rule for not completely fixed pseudo solution '''
 *         # this method needs to be implemented by the user
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_15branchexecps(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Branchrule_14branchexecps, "executes branching rule for not completely fixed pseudo solution ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Branchrule_15branchexecps = {"branchexecps", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_15branchexecps, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_14branchexecps};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_15branchexecps(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_allowaddcons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchexecps (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_allowaddcons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(10, 35, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(10, 35, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "branchexecps", 0) < (0)) __PYX_ERR(10, 35, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("branchexecps", 1, 1, 1, i); __PYX_ERR(10, 35, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(10, 35, __pyx_L3_error)
    }
    __pyx_v_allowaddcons = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("branchexecps", 1, 1, 1, __pyx_nargs); __PYX_ERR(10, 35, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Branchrule.branchexecps", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Branchrule_14branchexecps(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v_self), __pyx_v_allowaddcons);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_14branchexecps(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_allowaddcons) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("branchexecps", 0);

  /* "src/pyscipopt/branchrule.pxi":38
 *         '''executes branching rule for not completely fixed pseudo solution '''
 *         # this method needs to be implemented by the user
 *         raise NotImplementedError("branchexecps() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_branchexecps_is_a_fundamental_ca};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 38, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(10, 38, __pyx_L1_error)

  /* "src/pyscipopt/branchrule.pxi":35
 *         raise NotImplementedError("branchexecext() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def branchexecps(self, allowaddcons):             # <<<<<<<<<<<<<<
 *         '''executes branching rule for not completely fixed pseudo solution '''
 *         # this method needs to be implemented by the user
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Branchrule.branchexecps", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":4
 * #@brief Base class of the Branchrule Plugin
 * cdef class Branchrule:
 *     cdef public Model model             # <<<<<<<<<<<<<<
 * 
 *     def branchfree(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Branchrule_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_10Branchrule_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_10Branchrule_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Branchrule_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_10Branchrule_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(10, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Branchrule.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_10Branchrule_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_10Branchrule_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Branchrule_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_10Branchrule_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Branchrule_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Branchrule_16__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_16__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.model,)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->model);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->model)) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.model is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.model is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Branchrule, (type(self), 0x9372c47, None), state
*/
  /*else*/ {
    __pyx_t_2 = (((PyObject *)__pyx_v_self->model) != Py_None);
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Branchrule, (type(self), 0x9372c47, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.model is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Branchrule, (type(self), 0x9372c47, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Branchrule, (type(self), 0x9372c47, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Branchrule); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_154610759);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_154610759);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_154610759) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Branchrule, (type(self), 0x9372c47, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Branchrule, (type(self), 0x9372c47, None), state
 *     else:
 *         return __pyx_unpickle_Branchrule, (type(self), 0x9372c47, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Branchrule__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Branchrule); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_154610759);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_154610759);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_154610759) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Branchrule.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Branchrule, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Branchrule__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Branchrule_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Branchrule_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Branchrule.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Branchrule_18__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Branchrule_18__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Branchrule, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Branchrule__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Branchrule__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Branchrule, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Branchrule__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Branchrule.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":42
 * 
 * 
 * cdef SCIP_RETCODE PyBranchruleCopy (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_BRANCHRULE *__pyx_v_branchrule) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/branchrule.pxi":43
 * 
 * cdef SCIP_RETCODE PyBranchruleCopy (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBranchruleFree (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/branchrule.pxi":42
 * 
 * 
 * cdef SCIP_RETCODE PyBranchruleCopy (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":45
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleFree (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BRANCHRULE *__pyx_v_branchrule) {
  SCIP_BRANCHRULEDATA *__pyx_v_branchruledata;
  struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_PyBranchrule = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBranchruleFree", 0);

  /* "src/pyscipopt/branchrule.pxi":47
 * cdef SCIP_RETCODE PyBranchruleFree (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)             # <<<<<<<<<<<<<<
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchfree()
*/
  __pyx_v_branchruledata = SCIPbranchruleGetData(__pyx_v_branchrule);

  /* "src/pyscipopt/branchrule.pxi":48
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata             # <<<<<<<<<<<<<<
 *     PyBranchrule.branchfree()
 *     Py_DECREF(PyBranchrule)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_branchruledata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBranchrule = ((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":49
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchfree()             # <<<<<<<<<<<<<<
 *     Py_DECREF(PyBranchrule)
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_branchfree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 49, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":50
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchfree()
 *     Py_DECREF(PyBranchrule)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyBranchrule));

  /* "src/pyscipopt/branchrule.pxi":51
 *     PyBranchrule.branchfree()
 *     Py_DECREF(PyBranchrule)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBranchruleInit (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/branchrule.pxi":45
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleFree (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBranchruleFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":53
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleInit (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleInit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BRANCHRULE *__pyx_v_branchrule) {
  SCIP_BRANCHRULEDATA *__pyx_v_branchruledata;
  struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_PyBranchrule = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBranchruleInit", 0);

  /* "src/pyscipopt/branchrule.pxi":55
 * cdef SCIP_RETCODE PyBranchruleInit (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)             # <<<<<<<<<<<<<<
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchinit()
*/
  __pyx_v_branchruledata = SCIPbranchruleGetData(__pyx_v_branchrule);

  /* "src/pyscipopt/branchrule.pxi":56
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata             # <<<<<<<<<<<<<<
 *     PyBranchrule.branchinit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_branchruledata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBranchrule = ((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":57
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchinit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_branchinit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 57, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":58
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchinit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBranchruleExit (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/branchrule.pxi":53
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleInit (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBranchruleInit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":60
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleExit (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleExit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BRANCHRULE *__pyx_v_branchrule) {
  SCIP_BRANCHRULEDATA *__pyx_v_branchruledata;
  struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_PyBranchrule = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBranchruleExit", 0);

  /* "src/pyscipopt/branchrule.pxi":62
 * cdef SCIP_RETCODE PyBranchruleExit (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)             # <<<<<<<<<<<<<<
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchexit()
*/
  __pyx_v_branchruledata = SCIPbranchruleGetData(__pyx_v_branchrule);

  /* "src/pyscipopt/branchrule.pxi":63
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata             # <<<<<<<<<<<<<<
 *     PyBranchrule.branchexit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_branchruledata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBranchrule = ((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":64
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchexit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_branchexit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 64, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":65
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchexit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBranchruleInitsol (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/branchrule.pxi":60
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleExit (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBranchruleExit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":67
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleInitsol (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleInitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BRANCHRULE *__pyx_v_branchrule) {
  SCIP_BRANCHRULEDATA *__pyx_v_branchruledata;
  struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_PyBranchrule = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBranchruleInitsol", 0);

  /* "src/pyscipopt/branchrule.pxi":69
 * cdef SCIP_RETCODE PyBranchruleInitsol (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)             # <<<<<<<<<<<<<<
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchinitsol()
*/
  __pyx_v_branchruledata = SCIPbranchruleGetData(__pyx_v_branchrule);

  /* "src/pyscipopt/branchrule.pxi":70
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata             # <<<<<<<<<<<<<<
 *     PyBranchrule.branchinitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_branchruledata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBranchrule = ((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":71
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchinitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_branchinitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 71, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":72
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchinitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBranchruleExitsol (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/branchrule.pxi":67
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleInitsol (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBranchruleInitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":74
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleExitsol (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleExitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BRANCHRULE *__pyx_v_branchrule) {
  SCIP_BRANCHRULEDATA *__pyx_v_branchruledata;
  struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_PyBranchrule = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBranchruleExitsol", 0);

  /* "src/pyscipopt/branchrule.pxi":76
 * cdef SCIP_RETCODE PyBranchruleExitsol (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)             # <<<<<<<<<<<<<<
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchexitsol()
*/
  __pyx_v_branchruledata = SCIPbranchruleGetData(__pyx_v_branchrule);

  /* "src/pyscipopt/branchrule.pxi":77
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata             # <<<<<<<<<<<<<<
 *     PyBranchrule.branchexitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_branchruledata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBranchrule = ((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":78
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchexitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_branchexitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 78, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":79
 *     PyBranchrule = <Branchrule>branchruledata
 *     PyBranchrule.branchexitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBranchruleExeclp (SCIP* scip, SCIP_BRANCHRULE* branchrule, SCIP_Bool allowaddcons, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/branchrule.pxi":74
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleExitsol (SCIP* scip, SCIP_BRANCHRULE* branchrule) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBranchruleExitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":81
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleExeclp (SCIP* scip, SCIP_BRANCHRULE* branchrule, SCIP_Bool allowaddcons, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleExeclp(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BRANCHRULE *__pyx_v_branchrule, SCIP_Bool __pyx_v_allowaddcons, SCIP_RESULT *__pyx_v_result) {
  SCIP_BRANCHRULEDATA *__pyx_v_branchruledata;
  struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_PyBranchrule = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  SCIP_RESULT __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBranchruleExeclp", 0);

  /* "src/pyscipopt/branchrule.pxi":83
 * cdef SCIP_RETCODE PyBranchruleExeclp (SCIP* scip, SCIP_BRANCHRULE* branchrule, SCIP_Bool allowaddcons, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)             # <<<<<<<<<<<<<<
 *     PyBranchrule = <Branchrule>branchruledata
 *     result_dict = PyBranchrule.branchexeclp(allowaddcons)
*/
  __pyx_v_branchruledata = SCIPbranchruleGetData(__pyx_v_branchrule);

  /* "src/pyscipopt/branchrule.pxi":84
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata             # <<<<<<<<<<<<<<
 *     result_dict = PyBranchrule.branchexeclp(allowaddcons)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_branchruledata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBranchrule = ((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":85
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata
 *     result_dict = PyBranchrule.branchexeclp(allowaddcons)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_allowaddcons); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_branchexeclp, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 85, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":86
 *     PyBranchrule = <Branchrule>branchruledata
 *     result_dict = PyBranchrule.branchexeclp(allowaddcons)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_3 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_5 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(10, 86, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_5;

  /* "src/pyscipopt/branchrule.pxi":87
 *     result_dict = PyBranchrule.branchexeclp(allowaddcons)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBranchruleExecext(SCIP* scip, SCIP_BRANCHRULE* branchrule, SCIP_Bool allowaddcons, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/branchrule.pxi":81
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleExeclp (SCIP* scip, SCIP_BRANCHRULE* branchrule, SCIP_Bool allowaddcons, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBranchruleExeclp", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":89
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleExecext(SCIP* scip, SCIP_BRANCHRULE* branchrule, SCIP_Bool allowaddcons, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleExecext(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BRANCHRULE *__pyx_v_branchrule, SCIP_Bool __pyx_v_allowaddcons, SCIP_RESULT *__pyx_v_result) {
  SCIP_BRANCHRULEDATA *__pyx_v_branchruledata;
  struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_PyBranchrule = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  SCIP_RESULT __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBranchruleExecext", 0);

  /* "src/pyscipopt/branchrule.pxi":91
 * cdef SCIP_RETCODE PyBranchruleExecext(SCIP* scip, SCIP_BRANCHRULE* branchrule, SCIP_Bool allowaddcons, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)             # <<<<<<<<<<<<<<
 *     PyBranchrule = <Branchrule>branchruledata
 *     result_dict = PyBranchrule.branchexecext(allowaddcons)
*/
  __pyx_v_branchruledata = SCIPbranchruleGetData(__pyx_v_branchrule);

  /* "src/pyscipopt/branchrule.pxi":92
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata             # <<<<<<<<<<<<<<
 *     result_dict = PyBranchrule.branchexecext(allowaddcons)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_branchruledata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBranchrule = ((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":93
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata
 *     result_dict = PyBranchrule.branchexecext(allowaddcons)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_allowaddcons); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 93, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_branchexecext, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 93, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":94
 *     PyBranchrule = <Branchrule>branchruledata
 *     result_dict = PyBranchrule.branchexecext(allowaddcons)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_3 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 94, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 94, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_5 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(10, 94, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_5;

  /* "src/pyscipopt/branchrule.pxi":95
 *     result_dict = PyBranchrule.branchexecext(allowaddcons)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyBranchruleExecps(SCIP* scip, SCIP_BRANCHRULE* branchrule, SCIP_Bool allowaddcons, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/branchrule.pxi":89
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleExecext(SCIP* scip, SCIP_BRANCHRULE* branchrule, SCIP_Bool allowaddcons, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBranchruleExecext", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/branchrule.pxi":97
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleExecps(SCIP* scip, SCIP_BRANCHRULE* branchrule, SCIP_Bool allowaddcons, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyBranchruleExecps(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_BRANCHRULE *__pyx_v_branchrule, SCIP_Bool __pyx_v_allowaddcons, SCIP_RESULT *__pyx_v_result) {
  SCIP_BRANCHRULEDATA *__pyx_v_branchruledata;
  struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_PyBranchrule = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  SCIP_RESULT __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyBranchruleExecps", 0);

  /* "src/pyscipopt/branchrule.pxi":99
 * cdef SCIP_RETCODE PyBranchruleExecps(SCIP* scip, SCIP_BRANCHRULE* branchrule, SCIP_Bool allowaddcons, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)             # <<<<<<<<<<<<<<
 *     PyBranchrule = <Branchrule>branchruledata
 *     result_dict = PyBranchrule.branchexecps(allowaddcons)
*/
  __pyx_v_branchruledata = SCIPbranchruleGetData(__pyx_v_branchrule);

  /* "src/pyscipopt/branchrule.pxi":100
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata             # <<<<<<<<<<<<<<
 *     result_dict = PyBranchrule.branchexecps(allowaddcons)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_branchruledata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyBranchrule = ((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":101
 *     branchruledata = SCIPbranchruleGetData(branchrule)
 *     PyBranchrule = <Branchrule>branchruledata
 *     result_dict = PyBranchrule.branchexecps(allowaddcons)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_allowaddcons); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_branchexecps, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/branchrule.pxi":102
 *     PyBranchrule = <Branchrule>branchruledata
 *     result_dict = PyBranchrule.branchexecps(allowaddcons)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
*/
  __pyx_t_3 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_2)) __PYX_ERR(10, 102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 102, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_5 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(10, 102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_5;

  /* "src/pyscipopt/branchrule.pxi":103
 *     result_dict = PyBranchrule.branchexecps(allowaddcons)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/branchrule.pxi":97
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyBranchruleExecps(SCIP* scip, SCIP_BRANCHRULE* branchrule, SCIP_Bool allowaddcons, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_BRANCHRULEDATA* branchruledata
 *     branchruledata = SCIPbranchruleGetData(branchrule)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyBranchruleExecps", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyBranchrule);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":8
 *     cdef public str name
 * 
 *     def consfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of constraint handler '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_1consfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_consfree, "calls destructor and frees memory of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_1consfree = {"consfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_1consfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_consfree};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_1consfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consfree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("consfree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("consfree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_consfree(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_consfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consfree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":12
 *         pass
 * 
 *     def consinit(self, constraints):             # <<<<<<<<<<<<<<
 *         '''calls initialization method of constraint handler '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_3consinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_2consinit, "calls initialization method of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_3consinit = {"consinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_3consinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_2consinit};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_3consinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consinit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 12, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 12, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consinit", 0) < (0)) __PYX_ERR(11, 12, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consinit", 1, 1, 1, i); __PYX_ERR(11, 12, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 12, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consinit", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 12, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consinit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_2consinit(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_2consinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consinit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":16
 *         pass
 * 
 *     def consexit(self, constraints):             # <<<<<<<<<<<<<<
 *         '''calls exit method of constraint handler '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_5consexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_4consexit, "calls exit method of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_5consexit = {"consexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_5consexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_4consexit};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_5consexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consexit", 0) < (0)) __PYX_ERR(11, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consexit", 1, 1, 1, i); __PYX_ERR(11, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 16, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consexit", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consexit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_4consexit(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_4consexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consexit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":20
 *         pass
 * 
 *     def consinitpre(self, constraints):             # <<<<<<<<<<<<<<
 *         '''informs constraint handler that the presolving process is being started '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_7consinitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_6consinitpre, "informs constraint handler that the presolving process is being started ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_7consinitpre = {"consinitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_7consinitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_6consinitpre};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_7consinitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consinitpre (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 20, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 20, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consinitpre", 0) < (0)) __PYX_ERR(11, 20, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consinitpre", 1, 1, 1, i); __PYX_ERR(11, 20, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 20, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consinitpre", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 20, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consinitpre", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_6consinitpre(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_6consinitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consinitpre", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":24
 *         pass
 * 
 *     def consexitpre(self, constraints):             # <<<<<<<<<<<<<<
 *         '''informs constraint handler that the presolving is finished '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_9consexitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_8consexitpre, "informs constraint handler that the presolving is finished ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_9consexitpre = {"consexitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_9consexitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_8consexitpre};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_9consexitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consexitpre (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 24, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 24, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consexitpre", 0) < (0)) __PYX_ERR(11, 24, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consexitpre", 1, 1, 1, i); __PYX_ERR(11, 24, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 24, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consexitpre", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 24, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consexitpre", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_8consexitpre(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_8consexitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consexitpre", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":28
 *         pass
 * 
 *     def consinitsol(self, constraints):             # <<<<<<<<<<<<<<
 *         '''informs constraint handler that the branch and bound process is being started '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_11consinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_10consinitsol, "informs constraint handler that the branch and bound process is being started ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_11consinitsol = {"consinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_11consinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_10consinitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_11consinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consinitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 28, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 28, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consinitsol", 0) < (0)) __PYX_ERR(11, 28, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consinitsol", 1, 1, 1, i); __PYX_ERR(11, 28, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 28, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consinitsol", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 28, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consinitsol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_10consinitsol(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_10consinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consinitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":32
 *         pass
 * 
 *     def consexitsol(self, constraints, restart):             # <<<<<<<<<<<<<<
 *         '''informs constraint handler that the branch and bound process data is being freed '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_13consexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_12consexitsol, "informs constraint handler that the branch and bound process data is being freed ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_13consexitsol = {"consexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_13consexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_12consexitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_13consexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  CYTHON_UNUSED PyObject *__pyx_v_restart = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consexitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,&__pyx_mstate_global->__pyx_n_u_restart,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 32, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 32, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 32, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consexitsol", 0) < (0)) __PYX_ERR(11, 32, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consexitsol", 1, 2, 2, i); __PYX_ERR(11, 32, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 32, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 32, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
    __pyx_v_restart = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consexitsol", 1, 2, 2, __pyx_nargs); __PYX_ERR(11, 32, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consexitsol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_12consexitsol(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints, __pyx_v_restart);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_12consexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_restart) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consexitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":36
 *         pass
 * 
 *     def consdelete(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets method of constraint handler to free specific constraint data '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_15consdelete(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_14consdelete, "sets method of constraint handler to free specific constraint data ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_15consdelete = {"consdelete", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_15consdelete, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_14consdelete};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_15consdelete(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consdelete (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 36, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 36, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consdelete", 0) < (0)) __PYX_ERR(11, 36, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consdelete", 1, 1, 1, i); __PYX_ERR(11, 36, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 36, __pyx_L3_error)
    }
    __pyx_v_constraint = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consdelete", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 36, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consdelete", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_14consdelete(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraint);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_14consdelete(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consdelete", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":40
 *         pass
 * 
 *     def constrans(self, sourceconstraint):             # <<<<<<<<<<<<<<
 *         '''sets method of constraint handler to transform constraint data into data belonging to the transformed problem '''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_17constrans(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_16constrans, "sets method of constraint handler to transform constraint data into data belonging to the transformed problem ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_17constrans = {"constrans", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_17constrans, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_16constrans};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_17constrans(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_sourceconstraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("constrans (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sourceconstraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 40, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 40, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "constrans", 0) < (0)) __PYX_ERR(11, 40, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("constrans", 1, 1, 1, i); __PYX_ERR(11, 40, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 40, __pyx_L3_error)
    }
    __pyx_v_sourceconstraint = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("constrans", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 40, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.constrans", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_16constrans(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_sourceconstraint);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_16constrans(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_sourceconstraint) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("constrans", 0);

  /* "src/pyscipopt/conshdlr.pxi":42
 *     def constrans(self, sourceconstraint):
 *         '''sets method of constraint handler to transform constraint data into data belonging to the transformed problem '''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 *     def consinitlp(self, constraints):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":40
 *         pass
 * 
 *     def constrans(self, sourceconstraint):             # <<<<<<<<<<<<<<
 *         '''sets method of constraint handler to transform constraint data into data belonging to the transformed problem '''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.constrans", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":44
 *         return {}
 * 
 *     def consinitlp(self, constraints):             # <<<<<<<<<<<<<<
 *         '''calls LP initialization method of constraint handler to separate all initial active constraints '''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_19consinitlp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_18consinitlp, "calls LP initialization method of constraint handler to separate all initial active constraints ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_19consinitlp = {"consinitlp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_19consinitlp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_18consinitlp};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_19consinitlp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consinitlp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 44, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 44, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consinitlp", 0) < (0)) __PYX_ERR(11, 44, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consinitlp", 1, 1, 1, i); __PYX_ERR(11, 44, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 44, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consinitlp", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 44, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consinitlp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_18consinitlp(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_18consinitlp(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("consinitlp", 0);

  /* "src/pyscipopt/conshdlr.pxi":46
 *     def consinitlp(self, constraints):
 *         '''calls LP initialization method of constraint handler to separate all initial active constraints '''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 *     def conssepalp(self, constraints, nusefulconss):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 46, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":44
 *         return {}
 * 
 *     def consinitlp(self, constraints):             # <<<<<<<<<<<<<<
 *         '''calls LP initialization method of constraint handler to separate all initial active constraints '''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consinitlp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":48
 *         return {}
 * 
 *     def conssepalp(self, constraints, nusefulconss):             # <<<<<<<<<<<<<<
 *         '''calls separator method of constraint handler to separate LP solution '''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_21conssepalp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_20conssepalp, "calls separator method of constraint handler to separate LP solution ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_21conssepalp = {"conssepalp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_21conssepalp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_20conssepalp};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_21conssepalp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nusefulconss = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("conssepalp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,&__pyx_mstate_global->__pyx_n_u_nusefulconss,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 48, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 48, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 48, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "conssepalp", 0) < (0)) __PYX_ERR(11, 48, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("conssepalp", 1, 2, 2, i); __PYX_ERR(11, 48, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 48, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 48, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
    __pyx_v_nusefulconss = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("conssepalp", 1, 2, 2, __pyx_nargs); __PYX_ERR(11, 48, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.conssepalp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_20conssepalp(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints, __pyx_v_nusefulconss);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_20conssepalp(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nusefulconss) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("conssepalp", 0);

  /* "src/pyscipopt/conshdlr.pxi":50
 *     def conssepalp(self, constraints, nusefulconss):
 *         '''calls separator method of constraint handler to separate LP solution '''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 *     def conssepasol(self, constraints, nusefulconss, solution):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 50, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":48
 *         return {}
 * 
 *     def conssepalp(self, constraints, nusefulconss):             # <<<<<<<<<<<<<<
 *         '''calls separator method of constraint handler to separate LP solution '''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.conssepalp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":52
 *         return {}
 * 
 *     def conssepasol(self, constraints, nusefulconss, solution):             # <<<<<<<<<<<<<<
 *         '''calls separator method of constraint handler to separate given primal solution '''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_23conssepasol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_22conssepasol, "calls separator method of constraint handler to separate given primal solution ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_23conssepasol = {"conssepasol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_23conssepasol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_22conssepasol};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_23conssepasol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nusefulconss = 0;
  CYTHON_UNUSED PyObject *__pyx_v_solution = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("conssepasol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,&__pyx_mstate_global->__pyx_n_u_nusefulconss,&__pyx_mstate_global->__pyx_n_u_solution,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 52, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 52, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 52, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 52, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "conssepasol", 0) < (0)) __PYX_ERR(11, 52, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("conssepasol", 1, 3, 3, i); __PYX_ERR(11, 52, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 52, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 52, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 52, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
    __pyx_v_nusefulconss = values[1];
    __pyx_v_solution = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("conssepasol", 1, 3, 3, __pyx_nargs); __PYX_ERR(11, 52, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.conssepasol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_22conssepasol(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints, __pyx_v_nusefulconss, __pyx_v_solution);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_22conssepasol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nusefulconss, CYTHON_UNUSED PyObject *__pyx_v_solution) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("conssepasol", 0);

  /* "src/pyscipopt/conshdlr.pxi":54
 *     def conssepasol(self, constraints, nusefulconss, solution):
 *         '''calls separator method of constraint handler to separate given primal solution '''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 *     def consenfolp(self, constraints, nusefulconss, solinfeasible):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":52
 *         return {}
 * 
 *     def conssepasol(self, constraints, nusefulconss, solution):             # <<<<<<<<<<<<<<
 *         '''calls separator method of constraint handler to separate given primal solution '''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.conssepasol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":56
 *         return {}
 * 
 *     def consenfolp(self, constraints, nusefulconss, solinfeasible):             # <<<<<<<<<<<<<<
 *         '''calls enforcing method of constraint handler for LP solution for all constraints added'''
 *         raise NotImplementedError("consenfolp() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_25consenfolp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_24consenfolp, "calls enforcing method of constraint handler for LP solution for all constraints added");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_25consenfolp = {"consenfolp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_25consenfolp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_24consenfolp};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_25consenfolp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nusefulconss = 0;
  CYTHON_UNUSED PyObject *__pyx_v_solinfeasible = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consenfolp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,&__pyx_mstate_global->__pyx_n_u_nusefulconss,&__pyx_mstate_global->__pyx_n_u_solinfeasible,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 56, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 56, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 56, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 56, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consenfolp", 0) < (0)) __PYX_ERR(11, 56, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consenfolp", 1, 3, 3, i); __PYX_ERR(11, 56, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 56, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 56, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 56, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
    __pyx_v_nusefulconss = values[1];
    __pyx_v_solinfeasible = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consenfolp", 1, 3, 3, __pyx_nargs); __PYX_ERR(11, 56, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consenfolp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_24consenfolp(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints, __pyx_v_nusefulconss, __pyx_v_solinfeasible);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_24consenfolp(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nusefulconss, CYTHON_UNUSED PyObject *__pyx_v_solinfeasible) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("consenfolp", 0);

  /* "src/pyscipopt/conshdlr.pxi":58
 *     def consenfolp(self, constraints, nusefulconss, solinfeasible):
 *         '''calls enforcing method of constraint handler for LP solution for all constraints added'''
 *         raise NotImplementedError("consenfolp() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 *     def consenforelax(self, solution, constraints, nusefulconss, solinfeasible):
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_consenfolp_is_a_fundamental_call};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 58, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(11, 58, __pyx_L1_error)

  /* "src/pyscipopt/conshdlr.pxi":56
 *         return {}
 * 
 *     def consenfolp(self, constraints, nusefulconss, solinfeasible):             # <<<<<<<<<<<<<<
 *         '''calls enforcing method of constraint handler for LP solution for all constraints added'''
 *         raise NotImplementedError("consenfolp() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consenfolp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":60
 *         raise NotImplementedError("consenfolp() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def consenforelax(self, solution, constraints, nusefulconss, solinfeasible):             # <<<<<<<<<<<<<<
 *         '''calls enforcing method of constraint handler for a relaxation solution for all constraints added'''
 *         raise NotImplementedError("consenforelax() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_27consenforelax(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_26consenforelax, "calls enforcing method of constraint handler for a relaxation solution for all constraints added");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_27consenforelax = {"consenforelax", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_27consenforelax, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_26consenforelax};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_27consenforelax(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_solution = 0;
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nusefulconss = 0;
  CYTHON_UNUSED PyObject *__pyx_v_solinfeasible = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consenforelax (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_constraints,&__pyx_mstate_global->__pyx_n_u_nusefulconss,&__pyx_mstate_global->__pyx_n_u_solinfeasible,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 60, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(11, 60, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 60, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 60, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 60, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consenforelax", 0) < (0)) __PYX_ERR(11, 60, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consenforelax", 1, 4, 4, i); __PYX_ERR(11, 60, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 60, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 60, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 60, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(11, 60, __pyx_L3_error)
    }
    __pyx_v_solution = values[0];
    __pyx_v_constraints = values[1];
    __pyx_v_nusefulconss = values[2];
    __pyx_v_solinfeasible = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consenforelax", 1, 4, 4, __pyx_nargs); __PYX_ERR(11, 60, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consenforelax", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_26consenforelax(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_solution, __pyx_v_constraints, __pyx_v_nusefulconss, __pyx_v_solinfeasible);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_26consenforelax(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nusefulconss, CYTHON_UNUSED PyObject *__pyx_v_solinfeasible) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("consenforelax", 0);

  /* "src/pyscipopt/conshdlr.pxi":62
 *     def consenforelax(self, solution, constraints, nusefulconss, solinfeasible):
 *         '''calls enforcing method of constraint handler for a relaxation solution for all constraints added'''
 *         raise NotImplementedError("consenforelax() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 *     def consenfops(self, constraints, nusefulconss, solinfeasible, objinfeasible):
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_consenforelax_is_a_fundamental_c};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(11, 62, __pyx_L1_error)

  /* "src/pyscipopt/conshdlr.pxi":60
 *         raise NotImplementedError("consenfolp() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def consenforelax(self, solution, constraints, nusefulconss, solinfeasible):             # <<<<<<<<<<<<<<
 *         '''calls enforcing method of constraint handler for a relaxation solution for all constraints added'''
 *         raise NotImplementedError("consenforelax() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consenforelax", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":64
 *         raise NotImplementedError("consenforelax() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def consenfops(self, constraints, nusefulconss, solinfeasible, objinfeasible):             # <<<<<<<<<<<<<<
 *         '''calls enforcing method of constraint handler for pseudo solution for all constraints added'''
 *         raise NotImplementedError("consenfops() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_29consenfops(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_28consenfops, "calls enforcing method of constraint handler for pseudo solution for all constraints added");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_29consenfops = {"consenfops", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_29consenfops, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_28consenfops};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_29consenfops(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nusefulconss = 0;
  CYTHON_UNUSED PyObject *__pyx_v_solinfeasible = 0;
  CYTHON_UNUSED PyObject *__pyx_v_objinfeasible = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consenfops (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,&__pyx_mstate_global->__pyx_n_u_nusefulconss,&__pyx_mstate_global->__pyx_n_u_solinfeasible,&__pyx_mstate_global->__pyx_n_u_objinfeasible,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 64, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(11, 64, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 64, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 64, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 64, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consenfops", 0) < (0)) __PYX_ERR(11, 64, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consenfops", 1, 4, 4, i); __PYX_ERR(11, 64, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 64, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 64, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 64, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(11, 64, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
    __pyx_v_nusefulconss = values[1];
    __pyx_v_solinfeasible = values[2];
    __pyx_v_objinfeasible = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consenfops", 1, 4, 4, __pyx_nargs); __PYX_ERR(11, 64, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consenfops", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_28consenfops(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints, __pyx_v_nusefulconss, __pyx_v_solinfeasible, __pyx_v_objinfeasible);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_28consenfops(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nusefulconss, CYTHON_UNUSED PyObject *__pyx_v_solinfeasible, CYTHON_UNUSED PyObject *__pyx_v_objinfeasible) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("consenfops", 0);

  /* "src/pyscipopt/conshdlr.pxi":66
 *     def consenfops(self, constraints, nusefulconss, solinfeasible, objinfeasible):
 *         '''calls enforcing method of constraint handler for pseudo solution for all constraints added'''
 *         raise NotImplementedError("consenfops() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 *     def conscheck(self, constraints, solution, checkintegrality, checklprows, printreason, completely):
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_consenfops_is_a_fundamental_call};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 66, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(11, 66, __pyx_L1_error)

  /* "src/pyscipopt/conshdlr.pxi":64
 *         raise NotImplementedError("consenforelax() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def consenfops(self, constraints, nusefulconss, solinfeasible, objinfeasible):             # <<<<<<<<<<<<<<
 *         '''calls enforcing method of constraint handler for pseudo solution for all constraints added'''
 *         raise NotImplementedError("consenfops() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consenfops", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":68
 *         raise NotImplementedError("consenfops() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def conscheck(self, constraints, solution, checkintegrality, checklprows, printreason, completely):             # <<<<<<<<<<<<<<
 *         '''calls feasibility check method of constraint handler '''
 *         raise NotImplementedError("conscheck() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_31conscheck(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_30conscheck, "calls feasibility check method of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_31conscheck = {"conscheck", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_31conscheck, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_30conscheck};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_31conscheck(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  CYTHON_UNUSED PyObject *__pyx_v_solution = 0;
  CYTHON_UNUSED PyObject *__pyx_v_checkintegrality = 0;
  CYTHON_UNUSED PyObject *__pyx_v_checklprows = 0;
  CYTHON_UNUSED PyObject *__pyx_v_printreason = 0;
  CYTHON_UNUSED PyObject *__pyx_v_completely = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("conscheck (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_checkintegrality,&__pyx_mstate_global->__pyx_n_u_checklprows,&__pyx_mstate_global->__pyx_n_u_printreason,&__pyx_mstate_global->__pyx_n_u_completely,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 68, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(11, 68, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(11, 68, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(11, 68, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 68, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 68, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 68, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "conscheck", 0) < (0)) __PYX_ERR(11, 68, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 6; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("conscheck", 1, 6, 6, i); __PYX_ERR(11, 68, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 68, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 68, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 68, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(11, 68, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(11, 68, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(11, 68, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
    __pyx_v_solution = values[1];
    __pyx_v_checkintegrality = values[2];
    __pyx_v_checklprows = values[3];
    __pyx_v_printreason = values[4];
    __pyx_v_completely = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("conscheck", 1, 6, 6, __pyx_nargs); __PYX_ERR(11, 68, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.conscheck", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_30conscheck(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints, __pyx_v_solution, __pyx_v_checkintegrality, __pyx_v_checklprows, __pyx_v_printreason, __pyx_v_completely);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_30conscheck(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_solution, CYTHON_UNUSED PyObject *__pyx_v_checkintegrality, CYTHON_UNUSED PyObject *__pyx_v_checklprows, CYTHON_UNUSED PyObject *__pyx_v_printreason, CYTHON_UNUSED PyObject *__pyx_v_completely) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("conscheck", 0);

  /* "src/pyscipopt/conshdlr.pxi":70
 *     def conscheck(self, constraints, solution, checkintegrality, checklprows, printreason, completely):
 *         '''calls feasibility check method of constraint handler '''
 *         raise NotImplementedError("conscheck() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 *     def consprop(self, constraints, nusefulconss, nmarkedconss, proptiming):
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_conscheck_is_a_fundamental_callb};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 70, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(11, 70, __pyx_L1_error)

  /* "src/pyscipopt/conshdlr.pxi":68
 *         raise NotImplementedError("consenfops() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def conscheck(self, constraints, solution, checkintegrality, checklprows, printreason, completely):             # <<<<<<<<<<<<<<
 *         '''calls feasibility check method of constraint handler '''
 *         raise NotImplementedError("conscheck() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.conscheck", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":72
 *         raise NotImplementedError("conscheck() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def consprop(self, constraints, nusefulconss, nmarkedconss, proptiming):             # <<<<<<<<<<<<<<
 *         '''calls propagation method of constraint handler '''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_33consprop(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_32consprop, "calls propagation method of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_33consprop = {"consprop", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_33consprop, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_32consprop};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_33consprop(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nusefulconss = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nmarkedconss = 0;
  CYTHON_UNUSED PyObject *__pyx_v_proptiming = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consprop (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,&__pyx_mstate_global->__pyx_n_u_nusefulconss,&__pyx_mstate_global->__pyx_n_u_nmarkedconss,&__pyx_mstate_global->__pyx_n_u_proptiming,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 72, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(11, 72, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 72, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 72, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 72, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consprop", 0) < (0)) __PYX_ERR(11, 72, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consprop", 1, 4, 4, i); __PYX_ERR(11, 72, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 72, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 72, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 72, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(11, 72, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
    __pyx_v_nusefulconss = values[1];
    __pyx_v_nmarkedconss = values[2];
    __pyx_v_proptiming = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consprop", 1, 4, 4, __pyx_nargs); __PYX_ERR(11, 72, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consprop", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_32consprop(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints, __pyx_v_nusefulconss, __pyx_v_nmarkedconss, __pyx_v_proptiming);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_32consprop(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nusefulconss, CYTHON_UNUSED PyObject *__pyx_v_nmarkedconss, CYTHON_UNUSED PyObject *__pyx_v_proptiming) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("consprop", 0);

  /* "src/pyscipopt/conshdlr.pxi":74
 *     def consprop(self, constraints, nusefulconss, nmarkedconss, proptiming):
 *         '''calls propagation method of constraint handler '''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 *     def conspresol(self, constraints, nrounds, presoltiming,
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 74, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":72
 *         raise NotImplementedError("conscheck() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def consprop(self, constraints, nusefulconss, nmarkedconss, proptiming):             # <<<<<<<<<<<<<<
 *         '''calls propagation method of constraint handler '''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consprop", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":76
 *         return {}
 * 
 *     def conspresol(self, constraints, nrounds, presoltiming,             # <<<<<<<<<<<<<<
 *                    nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
 *                    nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_35conspresol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_34conspresol, "calls presolving method of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_35conspresol = {"conspresol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_35conspresol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_34conspresol};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_35conspresol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nrounds = 0;
  CYTHON_UNUSED PyObject *__pyx_v_presoltiming = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nnewfixedvars = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nnewaggrvars = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nnewchgvartypes = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nnewchgbds = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nnewholes = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nnewdelconss = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nnewaddconss = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nnewupgdconss = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nnewchgcoefs = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nnewchgsides = 0;
  PyObject *__pyx_v_result_dict = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[14] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("conspresol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,&__pyx_mstate_global->__pyx_n_u_nrounds,&__pyx_mstate_global->__pyx_n_u_presoltiming,&__pyx_mstate_global->__pyx_n_u_nnewfixedvars,&__pyx_mstate_global->__pyx_n_u_nnewaggrvars,&__pyx_mstate_global->__pyx_n_u_nnewchgvartypes,&__pyx_mstate_global->__pyx_n_u_nnewchgbds,&__pyx_mstate_global->__pyx_n_u_nnewholes,&__pyx_mstate_global->__pyx_n_u_nnewdelconss,&__pyx_mstate_global->__pyx_n_u_nnewaddconss,&__pyx_mstate_global->__pyx_n_u_nnewupgdconss,&__pyx_mstate_global->__pyx_n_u_nnewchgcoefs,&__pyx_mstate_global->__pyx_n_u_nnewchgsides,&__pyx_mstate_global->__pyx_n_u_result_dict,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 76, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 14:
        values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 76, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "conspresol", 0) < (0)) __PYX_ERR(11, 76, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 14; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("conspresol", 1, 14, 14, i); __PYX_ERR(11, 76, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 14)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 76, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 76, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 76, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(11, 76, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(11, 76, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(11, 76, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(11, 76, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(11, 76, __pyx_L3_error)
      values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(11, 76, __pyx_L3_error)
      values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(11, 76, __pyx_L3_error)
      values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(11, 76, __pyx_L3_error)
      values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(11, 76, __pyx_L3_error)
      values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(11, 76, __pyx_L3_error)
      values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(11, 76, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
    __pyx_v_nrounds = values[1];
    __pyx_v_presoltiming = values[2];
    __pyx_v_nnewfixedvars = values[3];
    __pyx_v_nnewaggrvars = values[4];
    __pyx_v_nnewchgvartypes = values[5];
    __pyx_v_nnewchgbds = values[6];
    __pyx_v_nnewholes = values[7];
    __pyx_v_nnewdelconss = values[8];
    __pyx_v_nnewaddconss = values[9];
    __pyx_v_nnewupgdconss = values[10];
    __pyx_v_nnewchgcoefs = values[11];
    __pyx_v_nnewchgsides = values[12];
    __pyx_v_result_dict = values[13];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("conspresol", 1, 14, 14, __pyx_nargs); __PYX_ERR(11, 76, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.conspresol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_34conspresol(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints, __pyx_v_nrounds, __pyx_v_presoltiming, __pyx_v_nnewfixedvars, __pyx_v_nnewaggrvars, __pyx_v_nnewchgvartypes, __pyx_v_nnewchgbds, __pyx_v_nnewholes, __pyx_v_nnewdelconss, __pyx_v_nnewaddconss, __pyx_v_nnewupgdconss, __pyx_v_nnewchgcoefs, __pyx_v_nnewchgsides, __pyx_v_result_dict);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_34conspresol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints, CYTHON_UNUSED PyObject *__pyx_v_nrounds, CYTHON_UNUSED PyObject *__pyx_v_presoltiming, CYTHON_UNUSED PyObject *__pyx_v_nnewfixedvars, CYTHON_UNUSED PyObject *__pyx_v_nnewaggrvars, CYTHON_UNUSED PyObject *__pyx_v_nnewchgvartypes, CYTHON_UNUSED PyObject *__pyx_v_nnewchgbds, CYTHON_UNUSED PyObject *__pyx_v_nnewholes, CYTHON_UNUSED PyObject *__pyx_v_nnewdelconss, CYTHON_UNUSED PyObject *__pyx_v_nnewaddconss, CYTHON_UNUSED PyObject *__pyx_v_nnewupgdconss, CYTHON_UNUSED PyObject *__pyx_v_nnewchgcoefs, CYTHON_UNUSED PyObject *__pyx_v_nnewchgsides, PyObject *__pyx_v_result_dict) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("conspresol", 0);

  /* "src/pyscipopt/conshdlr.pxi":80
 *                    nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict):
 *         '''calls presolving method of constraint handler '''
 *         return result_dict             # <<<<<<<<<<<<<<
 * 
 *     def consresprop(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result_dict);
  __pyx_r = __pyx_v_result_dict;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":76
 *         return {}
 * 
 *     def conspresol(self, constraints, nrounds, presoltiming,             # <<<<<<<<<<<<<<
 *                    nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
 *                    nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict):
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":82
 *         return result_dict
 * 
 *     def consresprop(self):             # <<<<<<<<<<<<<<
 *         '''sets propagation conflict resolving method of constraint handler '''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_37consresprop(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_36consresprop, "sets propagation conflict resolving method of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_37consresprop = {"consresprop", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_37consresprop, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_36consresprop};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_37consresprop(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consresprop (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("consresprop", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("consresprop", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_36consresprop(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_36consresprop(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("consresprop", 0);

  /* "src/pyscipopt/conshdlr.pxi":84
 *     def consresprop(self):
 *         '''sets propagation conflict resolving method of constraint handler '''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 *     def conslock(self, constraint, locktype, nlockspos, nlocksneg):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":82
 *         return result_dict
 * 
 *     def consresprop(self):             # <<<<<<<<<<<<<<
 *         '''sets propagation conflict resolving method of constraint handler '''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consresprop", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":86
 *         return {}
 * 
 *     def conslock(self, constraint, locktype, nlockspos, nlocksneg):             # <<<<<<<<<<<<<<
 *         '''variable rounding lock method of constraint handler'''
 *         raise NotImplementedError("conslock() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_39conslock(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_38conslock, "variable rounding lock method of constraint handler");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_39conslock = {"conslock", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_39conslock, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_38conslock};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_39conslock(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraint = 0;
  CYTHON_UNUSED PyObject *__pyx_v_locktype = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nlockspos = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nlocksneg = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("conslock (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraint,&__pyx_mstate_global->__pyx_n_u_locktype,&__pyx_mstate_global->__pyx_n_u_nlockspos,&__pyx_mstate_global->__pyx_n_u_nlocksneg,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 86, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(11, 86, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 86, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 86, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 86, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "conslock", 0) < (0)) __PYX_ERR(11, 86, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("conslock", 1, 4, 4, i); __PYX_ERR(11, 86, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 86, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(11, 86, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(11, 86, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(11, 86, __pyx_L3_error)
    }
    __pyx_v_constraint = values[0];
    __pyx_v_locktype = values[1];
    __pyx_v_nlockspos = values[2];
    __pyx_v_nlocksneg = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("conslock", 1, 4, 4, __pyx_nargs); __PYX_ERR(11, 86, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.conslock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_38conslock(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraint, __pyx_v_locktype, __pyx_v_nlockspos, __pyx_v_nlocksneg);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_38conslock(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint, CYTHON_UNUSED PyObject *__pyx_v_locktype, CYTHON_UNUSED PyObject *__pyx_v_nlockspos, CYTHON_UNUSED PyObject *__pyx_v_nlocksneg) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("conslock", 0);

  /* "src/pyscipopt/conshdlr.pxi":88
 *     def conslock(self, constraint, locktype, nlockspos, nlocksneg):
 *         '''variable rounding lock method of constraint handler'''
 *         raise NotImplementedError("conslock() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 *     def consactive(self, constraint):
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_conslock_is_a_fundamental_callba};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(11, 88, __pyx_L1_error)

  /* "src/pyscipopt/conshdlr.pxi":86
 *         return {}
 * 
 *     def conslock(self, constraint, locktype, nlockspos, nlocksneg):             # <<<<<<<<<<<<<<
 *         '''variable rounding lock method of constraint handler'''
 *         raise NotImplementedError("conslock() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.conslock", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":90
 *         raise NotImplementedError("conslock() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def consactive(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets activation notification method of constraint handler '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_41consactive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_40consactive, "sets activation notification method of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_41consactive = {"consactive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_41consactive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_40consactive};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_41consactive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consactive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 90, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 90, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consactive", 0) < (0)) __PYX_ERR(11, 90, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consactive", 1, 1, 1, i); __PYX_ERR(11, 90, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 90, __pyx_L3_error)
    }
    __pyx_v_constraint = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consactive", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 90, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consactive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_40consactive(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraint);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_40consactive(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consactive", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":94
 *         pass
 * 
 *     def consdeactive(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets deactivation notification method of constraint handler '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_43consdeactive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_42consdeactive, "sets deactivation notification method of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_43consdeactive = {"consdeactive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_43consdeactive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_42consdeactive};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_43consdeactive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consdeactive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 94, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 94, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consdeactive", 0) < (0)) __PYX_ERR(11, 94, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consdeactive", 1, 1, 1, i); __PYX_ERR(11, 94, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 94, __pyx_L3_error)
    }
    __pyx_v_constraint = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consdeactive", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 94, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consdeactive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_42consdeactive(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraint);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_42consdeactive(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consdeactive", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":98
 *         pass
 * 
 *     def consenable(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets enabling notification method of constraint handler '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_45consenable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_44consenable, "sets enabling notification method of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_45consenable = {"consenable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_45consenable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_44consenable};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_45consenable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consenable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 98, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 98, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consenable", 0) < (0)) __PYX_ERR(11, 98, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consenable", 1, 1, 1, i); __PYX_ERR(11, 98, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 98, __pyx_L3_error)
    }
    __pyx_v_constraint = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consenable", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 98, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consenable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_44consenable(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraint);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_44consenable(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consenable", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":102
 *         pass
 * 
 *     def consdisable(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets disabling notification method of constraint handler '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_47consdisable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_46consdisable, "sets disabling notification method of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_47consdisable = {"consdisable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_47consdisable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_46consdisable};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_47consdisable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consdisable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 102, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 102, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consdisable", 0) < (0)) __PYX_ERR(11, 102, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consdisable", 1, 1, 1, i); __PYX_ERR(11, 102, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 102, __pyx_L3_error)
    }
    __pyx_v_constraint = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consdisable", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 102, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consdisable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_46consdisable(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraint);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_46consdisable(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consdisable", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":106
 *         pass
 * 
 *     def consdelvars(self, constraints):             # <<<<<<<<<<<<<<
 *         '''calls variable deletion method of constraint handler'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_49consdelvars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_48consdelvars, "calls variable deletion method of constraint handler");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_49consdelvars = {"consdelvars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_49consdelvars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_48consdelvars};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_49consdelvars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraints = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consdelvars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraints,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 106, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 106, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consdelvars", 0) < (0)) __PYX_ERR(11, 106, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consdelvars", 1, 1, 1, i); __PYX_ERR(11, 106, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 106, __pyx_L3_error)
    }
    __pyx_v_constraints = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consdelvars", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 106, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consdelvars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_48consdelvars(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraints);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_48consdelvars(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraints) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consdelvars", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":110
 *         pass
 * 
 *     def consprint(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets constraint display method of constraint handler '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_51consprint(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_50consprint, "sets constraint display method of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_51consprint = {"consprint", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_51consprint, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_50consprint};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_51consprint(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consprint (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 110, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 110, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consprint", 0) < (0)) __PYX_ERR(11, 110, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consprint", 1, 1, 1, i); __PYX_ERR(11, 110, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 110, __pyx_L3_error)
    }
    __pyx_v_constraint = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consprint", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 110, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consprint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_50consprint(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraint);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_50consprint(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consprint", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":114
 *         pass
 * 
 *     def conscopy(self):             # <<<<<<<<<<<<<<
 *         '''sets copy method of both the constraint handler and each associated constraint'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_53conscopy(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_52conscopy, "sets copy method of both the constraint handler and each associated constraint");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_53conscopy = {"conscopy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_53conscopy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_52conscopy};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_53conscopy(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("conscopy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("conscopy", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("conscopy", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_52conscopy(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_52conscopy(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("conscopy", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":118
 *         pass
 * 
 *     def consparse(self):             # <<<<<<<<<<<<<<
 *         '''sets constraint parsing method of constraint handler '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_55consparse(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_54consparse, "sets constraint parsing method of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_55consparse = {"consparse", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_55consparse, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_54consparse};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_55consparse(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consparse (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("consparse", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("consparse", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_54consparse(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_54consparse(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consparse", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":122
 *         pass
 * 
 *     def consgetvars(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets constraint variable getter method of constraint handler'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_57consgetvars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_56consgetvars, "sets constraint variable getter method of constraint handler");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_57consgetvars = {"consgetvars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_57consgetvars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_56consgetvars};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_57consgetvars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consgetvars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 122, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 122, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consgetvars", 0) < (0)) __PYX_ERR(11, 122, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consgetvars", 1, 1, 1, i); __PYX_ERR(11, 122, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 122, __pyx_L3_error)
    }
    __pyx_v_constraint = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consgetvars", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 122, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consgetvars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_56consgetvars(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraint);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_56consgetvars(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consgetvars", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":126
 *         pass
 * 
 *     def consgetnvars(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets constraint variable number getter method of constraint handler '''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_59consgetnvars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_58consgetnvars, "sets constraint variable number getter method of constraint handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_59consgetnvars = {"consgetnvars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_59consgetnvars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_58consgetnvars};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_59consgetnvars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_constraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consgetnvars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(11, 126, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 126, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "consgetnvars", 0) < (0)) __PYX_ERR(11, 126, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("consgetnvars", 1, 1, 1, i); __PYX_ERR(11, 126, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(11, 126, __pyx_L3_error)
    }
    __pyx_v_constraint = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("consgetnvars", 1, 1, 1, __pyx_nargs); __PYX_ERR(11, 126, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consgetnvars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_58consgetnvars(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v_constraint);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_58consgetnvars(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_constraint) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("consgetnvars", 0);

  /* "src/pyscipopt/conshdlr.pxi":128
 *     def consgetnvars(self, constraint):
 *         '''sets constraint variable number getter method of constraint handler '''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 *     def consgetdivebdchgs(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":126
 *         pass
 * 
 *     def consgetnvars(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets constraint variable number getter method of constraint handler '''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.consgetnvars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":130
 *         return {}
 * 
 *     def consgetdivebdchgs(self):             # <<<<<<<<<<<<<<
 *         '''calls diving solution enforcement callback of constraint handler, if it exists '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_61consgetdivebdchgs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_60consgetdivebdchgs, "calls diving solution enforcement callback of constraint handler, if it exists ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_61consgetdivebdchgs = {"consgetdivebdchgs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_61consgetdivebdchgs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_60consgetdivebdchgs};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_61consgetdivebdchgs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consgetdivebdchgs (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("consgetdivebdchgs", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("consgetdivebdchgs", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_60consgetdivebdchgs(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_60consgetdivebdchgs(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consgetdivebdchgs", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":134
 *         pass
 * 
 *     def consgetpermsymgraph(self):             # <<<<<<<<<<<<<<
 *         '''permutation symmetry detection graph getter callback, if it exists '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_63consgetpermsymgraph(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_62consgetpermsymgraph, "permutation symmetry detection graph getter callback, if it exists ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_63consgetpermsymgraph = {"consgetpermsymgraph", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_63consgetpermsymgraph, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_62consgetpermsymgraph};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_63consgetpermsymgraph(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consgetpermsymgraph (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("consgetpermsymgraph", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("consgetpermsymgraph", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_62consgetpermsymgraph(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_62consgetpermsymgraph(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consgetpermsymgraph", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":138
 *         pass
 * 
 *     def consgetsignedpermsymgraph(self):             # <<<<<<<<<<<<<<
 *         '''signed permutation symmetry detection graph getter callback, if it exists '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_65consgetsignedpermsymgraph(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Conshdlr_64consgetsignedpermsymgraph, "signed permutation symmetry detection graph getter callback, if it exists ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_65consgetsignedpermsymgraph = {"consgetsignedpermsymgraph", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_65consgetsignedpermsymgraph, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_64consgetsignedpermsymgraph};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_65consgetsignedpermsymgraph(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consgetsignedpermsymgraph (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("consgetsignedpermsymgraph", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("consgetsignedpermsymgraph", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_64consgetsignedpermsymgraph(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_64consgetsignedpermsymgraph(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("consgetsignedpermsymgraph", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":5
 * 
 * cdef class Conshdlr:
 *     cdef public Model model             # <<<<<<<<<<<<<<
 *     cdef public str name
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8Conshdlr_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8Conshdlr_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8Conshdlr_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(11, 5, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8Conshdlr_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8Conshdlr_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8Conshdlr_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":6
 * cdef class Conshdlr:
 *     cdef public Model model
 *     cdef public str name             # <<<<<<<<<<<<<<
 * 
 *     def consfree(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_4name___get__(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->name);
  __pyx_r = __pyx_v_self->name;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8Conshdlr_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8Conshdlr_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_4name_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8Conshdlr_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(11, 6, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8Conshdlr_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8Conshdlr_4name_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_4name_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8Conshdlr_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_67__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_67__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_67__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_67__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_66__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_66__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.model, self.name)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->model);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->model)) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->name);
  __Pyx_GIVEREF(__pyx_v_self->name);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->name) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.model is not None or self.name is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Conshdlr, (type(self), 0x48f811e, None), state
*/
  /*else*/ {
    __pyx_t_3 = (((PyObject *)__pyx_v_self->model) != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->name != ((PyObject*)Py_None));
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Conshdlr, (type(self), 0x48f811e, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Conshdlr, (type(self), 0x48f811e, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Conshdlr, (type(self), 0x48f811e, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Conshdlr); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76513566);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76513566);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76513566) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Conshdlr, (type(self), 0x48f811e, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Conshdlr, (type(self), 0x48f811e, None), state
 *     else:
 *         return __pyx_unpickle_Conshdlr, (type(self), 0x48f811e, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Conshdlr__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Conshdlr); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76513566);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76513566);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76513566) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Conshdlr, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Conshdlr__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_69__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Conshdlr_69__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_69__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Conshdlr_69__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Conshdlr_68__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Conshdlr_68__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Conshdlr, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Conshdlr__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Conshdlr__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Conshdlr, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Conshdlr__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Conshdlr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":144
 * 
 * # local helper functions for the interface
 * cdef Conshdlr getPyConshdlr(SCIP_CONSHDLR* conshdlr):             # <<<<<<<<<<<<<<
 *     cdef SCIP_CONSHDLRDATA* conshdlrdata
 *     conshdlrdata = SCIPconshdlrGetData(conshdlr)
*/

static struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_f_9pyscipopt_4scip_getPyConshdlr(SCIP_CONSHDLR *__pyx_v_conshdlr) {
  SCIP_CONSHDLRDATA *__pyx_v_conshdlrdata;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPyConshdlr", 0);

  /* "src/pyscipopt/conshdlr.pxi":146
 * cdef Conshdlr getPyConshdlr(SCIP_CONSHDLR* conshdlr):
 *     cdef SCIP_CONSHDLRDATA* conshdlrdata
 *     conshdlrdata = SCIPconshdlrGetData(conshdlr)             # <<<<<<<<<<<<<<
 *     return <Conshdlr>conshdlrdata
 * 
*/
  __pyx_v_conshdlrdata = SCIPconshdlrGetData(__pyx_v_conshdlr);

  /* "src/pyscipopt/conshdlr.pxi":147
 *     cdef SCIP_CONSHDLRDATA* conshdlrdata
 *     conshdlrdata = SCIPconshdlrGetData(conshdlr)
 *     return <Conshdlr>conshdlrdata             # <<<<<<<<<<<<<<
 * 
 * cdef Constraint getPyCons(SCIP_CONS* cons):
*/
  __Pyx_XDECREF((PyObject *)__pyx_r);
  __Pyx_INCREF((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_conshdlrdata));
  __pyx_r = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v_conshdlrdata);
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":144
 * 
 * # local helper functions for the interface
 * cdef Conshdlr getPyConshdlr(SCIP_CONSHDLR* conshdlr):             # <<<<<<<<<<<<<<
 *     cdef SCIP_CONSHDLRDATA* conshdlrdata
 *     conshdlrdata = SCIPconshdlrGetData(conshdlr)
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":149
 *     return <Conshdlr>conshdlrdata
 * 
 * cdef Constraint getPyCons(SCIP_CONS* cons):             # <<<<<<<<<<<<<<
 *     cdef SCIP_CONSDATA* consdata
 *     consdata = SCIPconsGetData(cons)
*/

static struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_f_9pyscipopt_4scip_getPyCons(SCIP_CONS *__pyx_v_cons) {
  SCIP_CONSDATA *__pyx_v_consdata;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPyCons", 0);

  /* "src/pyscipopt/conshdlr.pxi":151
 * cdef Constraint getPyCons(SCIP_CONS* cons):
 *     cdef SCIP_CONSDATA* consdata
 *     consdata = SCIPconsGetData(cons)             # <<<<<<<<<<<<<<
 *     return <Constraint>consdata
 * 
*/
  __pyx_v_consdata = SCIPconsGetData(__pyx_v_cons);

  /* "src/pyscipopt/conshdlr.pxi":152
 *     cdef SCIP_CONSDATA* consdata
 *     consdata = SCIPconsGetData(cons)
 *     return <Constraint>consdata             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF((PyObject *)__pyx_r);
  __Pyx_INCREF((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_consdata));
  __pyx_r = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_consdata);
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":149
 *     return <Conshdlr>conshdlrdata
 * 
 * cdef Constraint getPyCons(SCIP_CONS* cons):             # <<<<<<<<<<<<<<
 *     cdef SCIP_CONSDATA* consdata
 *     consdata = SCIPconsGetData(cons)
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":156
 * 
 * 
 * cdef SCIP_RETCODE PyConshdlrCopy (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_Bool* valid) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConshdlrCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_CONSHDLR *__pyx_v_conshdlr, CYTHON_UNUSED SCIP_Bool *__pyx_v_valid) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/conshdlr.pxi":157
 * 
 * cdef SCIP_RETCODE PyConshdlrCopy (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_Bool* valid) noexcept with gil:
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsFree (SCIP* scip, SCIP_CONSHDLR* conshdlr) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":156
 * 
 * 
 * cdef SCIP_RETCODE PyConshdlrCopy (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_Bool* valid) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":159
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsFree (SCIP* scip, SCIP_CONSHDLR* conshdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consfree()
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsFree", 0);

  /* "src/pyscipopt/conshdlr.pxi":160
 * 
 * cdef SCIP_RETCODE PyConsFree (SCIP* scip, SCIP_CONSHDLR* conshdlr) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyConshdlr.consfree()
 *     Py_DECREF(PyConshdlr)
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":161
 * cdef SCIP_RETCODE PyConsFree (SCIP* scip, SCIP_CONSHDLR* conshdlr) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consfree()             # <<<<<<<<<<<<<<
 *     Py_DECREF(PyConshdlr)
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consfree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":162
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consfree()
 *     Py_DECREF(PyConshdlr)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyConshdlr));

  /* "src/pyscipopt/conshdlr.pxi":163
 *     PyConshdlr.consfree()
 *     Py_DECREF(PyConshdlr)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsInit (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":159
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsFree (SCIP* scip, SCIP_CONSHDLR* conshdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consfree()
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":165
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsInit (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsInit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsInit", 0);

  /* "src/pyscipopt/conshdlr.pxi":167
 * cdef SCIP_RETCODE PyConsInit (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":168
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":169
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consinit(constraints)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":170
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     PyConshdlr.consinit(constraints)
 *     return SCIP_OKAY
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 170, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 170, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":171
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consinit(constraints)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_constraints};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consinit, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":172
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consinit(constraints)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsExit (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":165
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsInit (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsInit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":174
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsExit (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsExit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsExit", 0);

  /* "src/pyscipopt/conshdlr.pxi":176
 * cdef SCIP_RETCODE PyConsExit (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":177
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":178
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consexit(constraints)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":179
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     PyConshdlr.consexit(constraints)
 *     return SCIP_OKAY
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 179, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 179, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":180
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consexit(constraints)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_constraints};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consexit, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 180, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":181
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consexit(constraints)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsInitpre (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":174
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsExit (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsExit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":183
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsInitpre (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsInitpre(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsInitpre", 0);

  /* "src/pyscipopt/conshdlr.pxi":185
 * cdef SCIP_RETCODE PyConsInitpre (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":186
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":187
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consinitpre(constraints)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":188
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     PyConshdlr.consinitpre(constraints)
 *     return SCIP_OKAY
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 188, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 188, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":189
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consinitpre(constraints)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_constraints};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consinitpre, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 189, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":190
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consinitpre(constraints)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsExitpre (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":183
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsInitpre (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsInitpre", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":192
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsExitpre (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsExitpre(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsExitpre", 0);

  /* "src/pyscipopt/conshdlr.pxi":194
 * cdef SCIP_RETCODE PyConsExitpre (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":195
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":196
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consexitpre(constraints)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":197
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     PyConshdlr.consexitpre(constraints)
 *     return SCIP_OKAY
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 197, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 197, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":198
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consexitpre(constraints)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_constraints};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consexitpre, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 198, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":199
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consexitpre(constraints)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsInitsol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":192
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsExitpre (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsExitpre", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":201
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsInitsol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsInitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsInitsol", 0);

  /* "src/pyscipopt/conshdlr.pxi":203
 * cdef SCIP_RETCODE PyConsInitsol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":204
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":205
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consinitsol(constraints)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":206
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     PyConshdlr.consinitsol(constraints)
 *     return SCIP_OKAY
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 206, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 206, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":207
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consinitsol(constraints)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_constraints};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consinitsol, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":208
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consinitsol(constraints)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsExitsol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, SCIP_Bool restart) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":201
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsInitsol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsInitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":210
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsExitsol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, SCIP_Bool restart) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsExitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss, SCIP_Bool __pyx_v_restart) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsExitsol", 0);

  /* "src/pyscipopt/conshdlr.pxi":212
 * cdef SCIP_RETCODE PyConsExitsol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, SCIP_Bool restart) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":213
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":214
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consexitsol(constraints, restart)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":215
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     PyConshdlr.consexitsol(constraints, restart)
 *     return SCIP_OKAY
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 215, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 215, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":216
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consexitsol(constraints, restart)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyBool_FromLong(__pyx_v_restart); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_constraints, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consexitsol, __pyx_callargs+__pyx_t_8, (3-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":217
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consexitsol(constraints, restart)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsDelete (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_CONSDATA** consdata) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":210
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsExitsol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, SCIP_Bool restart) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsExitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":219
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsDelete (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_CONSDATA** consdata) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsDelete(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS *__pyx_v_cons, SCIP_CONSDATA **__pyx_v_consdata) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_PyCons = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsDelete", 0);

  /* "src/pyscipopt/conshdlr.pxi":220
 * 
 * cdef SCIP_RETCODE PyConsDelete (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_CONSDATA** consdata) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyCons = getPyCons(cons)
 *     assert <Constraint>consdata[0] == PyCons
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":221
 * cdef SCIP_RETCODE PyConsDelete (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_CONSDATA** consdata) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)             # <<<<<<<<<<<<<<
 *     assert <Constraint>consdata[0] == PyCons
 *     PyConshdlr.consdelete(PyCons)
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons(__pyx_v_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyCons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":222
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
 *     assert <Constraint>consdata[0] == PyCons             # <<<<<<<<<<<<<<
 *     PyConshdlr.consdelete(PyCons)
 *     consdata[0] = NULL
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = PyObject_RichCompare(((PyObject *)(__pyx_v_consdata[0])), ((PyObject *)__pyx_v_PyCons), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 222, __pyx_L1_error)
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(11, 222, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(11, 222, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(11, 222, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/conshdlr.pxi":223
 *     PyCons = getPyCons(cons)
 *     assert <Constraint>consdata[0] == PyCons
 *     PyConshdlr.consdelete(PyCons)             # <<<<<<<<<<<<<<
 *     consdata[0] = NULL
 *     Py_DECREF(PyCons)
*/
  __pyx_t_3 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_PyCons)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consdelete, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 223, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":224
 *     assert <Constraint>consdata[0] == PyCons
 *     PyConshdlr.consdelete(PyCons)
 *     consdata[0] = NULL             # <<<<<<<<<<<<<<
 *     Py_DECREF(PyCons)
 *     return SCIP_OKAY
*/
  (__pyx_v_consdata[0]) = NULL;

  /* "src/pyscipopt/conshdlr.pxi":225
 *     PyConshdlr.consdelete(PyCons)
 *     consdata[0] = NULL
 *     Py_DECREF(PyCons)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyCons));

  /* "src/pyscipopt/conshdlr.pxi":226
 *     consdata[0] = NULL
 *     Py_DECREF(PyCons)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsTrans (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* sourcecons, SCIP_CONS** targetcons) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":219
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsDelete (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_CONSDATA** consdata) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsDelete", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCons);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":228
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsTrans (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* sourcecons, SCIP_CONS** targetcons) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef Constraint PyTargetCons
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsTrans(SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS *__pyx_v_sourcecons, SCIP_CONS **__pyx_v_targetcons) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_PyTargetCons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_PySourceCons = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  SCIP_CONS *__pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  char const *__pyx_t_11;
  SCIP_Bool __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  SCIP_Bool __pyx_t_17;
  SCIP_Bool __pyx_t_18;
  SCIP_Bool __pyx_t_19;
  SCIP_Bool __pyx_t_20;
  SCIP_Bool __pyx_t_21;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsTrans", 0);

  /* "src/pyscipopt/conshdlr.pxi":230
 * cdef SCIP_RETCODE PyConsTrans (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* sourcecons, SCIP_CONS** targetcons) noexcept with gil:
 *     cdef Constraint PyTargetCons
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PySourceCons = getPyCons(sourcecons)
 *     result_dict = PyConshdlr.constrans(PySourceCons)
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":231
 *     cdef Constraint PyTargetCons
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PySourceCons = getPyCons(sourcecons)             # <<<<<<<<<<<<<<
 *     result_dict = PyConshdlr.constrans(PySourceCons)
 * 
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons(__pyx_v_sourcecons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PySourceCons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":232
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PySourceCons = getPyCons(sourcecons)
 *     result_dict = PyConshdlr.constrans(PySourceCons)             # <<<<<<<<<<<<<<
 * 
 *     # create target (transform) constraint: if user doesn't return a constraint, copy PySourceCons
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_PySourceCons)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_constrans, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 232, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":236
 *     # create target (transform) constraint: if user doesn't return a constraint, copy PySourceCons
 *     # otherwise use the created cons
 *     if "targetcons" in result_dict:             # <<<<<<<<<<<<<<
 *         PyTargetCons = result_dict.get("targetcons")
 *         targetcons[0] = PyTargetCons.scip_cons
*/
  __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_n_u_targetcons, __pyx_v_result_dict, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(11, 236, __pyx_L1_error)
  if (__pyx_t_4) {

    /* "src/pyscipopt/conshdlr.pxi":237
 *     # otherwise use the created cons
 *     if "targetcons" in result_dict:
 *         PyTargetCons = result_dict.get("targetcons")             # <<<<<<<<<<<<<<
 *         targetcons[0] = PyTargetCons.scip_cons
 *         Py_INCREF(PyTargetCons)
*/
    __pyx_t_2 = __pyx_v_result_dict;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_n_u_targetcons};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 237, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint))))) __PYX_ERR(11, 237, __pyx_L1_error)
    __pyx_v_PyTargetCons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/conshdlr.pxi":238
 *     if "targetcons" in result_dict:
 *         PyTargetCons = result_dict.get("targetcons")
 *         targetcons[0] = PyTargetCons.scip_cons             # <<<<<<<<<<<<<<
 *         Py_INCREF(PyTargetCons)
 *     else:
*/
    __pyx_t_5 = __pyx_v_PyTargetCons->scip_cons;
    (__pyx_v_targetcons[0]) = __pyx_t_5;

    /* "src/pyscipopt/conshdlr.pxi":239
 *         PyTargetCons = result_dict.get("targetcons")
 *         targetcons[0] = PyTargetCons.scip_cons
 *         Py_INCREF(PyTargetCons)             # <<<<<<<<<<<<<<
 *     else:
 *         PY_SCIP_CALL(SCIPcreateCons(scip, targetcons, str_conversion(PySourceCons.name), conshdlr, <SCIP_CONSDATA*>PySourceCons,
*/
    Py_INCREF(((PyObject *)__pyx_v_PyTargetCons));

    /* "src/pyscipopt/conshdlr.pxi":236
 *     # create target (transform) constraint: if user doesn't return a constraint, copy PySourceCons
 *     # otherwise use the created cons
 *     if "targetcons" in result_dict:             # <<<<<<<<<<<<<<
 *         PyTargetCons = result_dict.get("targetcons")
 *         targetcons[0] = PyTargetCons.scip_cons
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/conshdlr.pxi":241
 *         Py_INCREF(PyTargetCons)
 *     else:
 *         PY_SCIP_CALL(SCIPcreateCons(scip, targetcons, str_conversion(PySourceCons.name), conshdlr, <SCIP_CONSDATA*>PySourceCons,             # <<<<<<<<<<<<<<
 *             PySourceCons.isInitial(), PySourceCons.isSeparated(), PySourceCons.isEnforced(), PySourceCons.isChecked(),
 *             PySourceCons.isPropagated(), PySourceCons.isLocal(), PySourceCons.isModifiable(), PySourceCons.isDynamic(),
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_PySourceCons), __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(11, 241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_3 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_9))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
      assert(__pyx_t_8);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
      __pyx_t_3 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_10};
      __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 241, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __pyx_t_11 = __Pyx_PyObject_AsString(__pyx_t_7); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) __PYX_ERR(11, 241, __pyx_L1_error)

    /* "src/pyscipopt/conshdlr.pxi":242
 *     else:
 *         PY_SCIP_CALL(SCIPcreateCons(scip, targetcons, str_conversion(PySourceCons.name), conshdlr, <SCIP_CONSDATA*>PySourceCons,
 *             PySourceCons.isInitial(), PySourceCons.isSeparated(), PySourceCons.isEnforced(), PySourceCons.isChecked(),             # <<<<<<<<<<<<<<
 *             PySourceCons.isPropagated(), PySourceCons.isLocal(), PySourceCons.isModifiable(), PySourceCons.isDynamic(),
 *             PySourceCons.isRemovable(), PySourceCons.isStickingAtNode()))
*/
    __pyx_t_10 = ((PyObject *)__pyx_v_PySourceCons);
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isInitial, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 242, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(11, 242, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_10 = ((PyObject *)__pyx_v_PySourceCons);
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isSeparated, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 242, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(11, 242, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_10 = ((PyObject *)__pyx_v_PySourceCons);
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isEnforced, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 242, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(11, 242, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_10 = ((PyObject *)__pyx_v_PySourceCons);
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isChecked, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 242, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(11, 242, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "src/pyscipopt/conshdlr.pxi":243
 *         PY_SCIP_CALL(SCIPcreateCons(scip, targetcons, str_conversion(PySourceCons.name), conshdlr, <SCIP_CONSDATA*>PySourceCons,
 *             PySourceCons.isInitial(), PySourceCons.isSeparated(), PySourceCons.isEnforced(), PySourceCons.isChecked(),
 *             PySourceCons.isPropagated(), PySourceCons.isLocal(), PySourceCons.isModifiable(), PySourceCons.isDynamic(),             # <<<<<<<<<<<<<<
 *             PySourceCons.isRemovable(), PySourceCons.isStickingAtNode()))
 *     return SCIP_OKAY
*/
    __pyx_t_10 = ((PyObject *)__pyx_v_PySourceCons);
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isPropagated, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 243, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(11, 243, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_10 = ((PyObject *)__pyx_v_PySourceCons);
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isLocal, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 243, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_17 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(11, 243, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_10 = ((PyObject *)__pyx_v_PySourceCons);
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isModifiable, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 243, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_18 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(11, 243, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_10 = ((PyObject *)__pyx_v_PySourceCons);
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isDynamic, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 243, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_19 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(11, 243, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "src/pyscipopt/conshdlr.pxi":244
 *             PySourceCons.isInitial(), PySourceCons.isSeparated(), PySourceCons.isEnforced(), PySourceCons.isChecked(),
 *             PySourceCons.isPropagated(), PySourceCons.isLocal(), PySourceCons.isModifiable(), PySourceCons.isDynamic(),
 *             PySourceCons.isRemovable(), PySourceCons.isStickingAtNode()))             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
    __pyx_t_10 = ((PyObject *)__pyx_v_PySourceCons);
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isRemovable, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 244, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_20 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(11, 244, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __pyx_t_10 = ((PyObject *)__pyx_v_PySourceCons);
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isStickingAtNode, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 244, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_21 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(11, 244, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

    /* "src/pyscipopt/conshdlr.pxi":241
 *         Py_INCREF(PyTargetCons)
 *     else:
 *         PY_SCIP_CALL(SCIPcreateCons(scip, targetcons, str_conversion(PySourceCons.name), conshdlr, <SCIP_CONSDATA*>PySourceCons,             # <<<<<<<<<<<<<<
 *             PySourceCons.isInitial(), PySourceCons.isSeparated(), PySourceCons.isEnforced(), PySourceCons.isChecked(),
 *             PySourceCons.isPropagated(), PySourceCons.isLocal(), PySourceCons.isModifiable(), PySourceCons.isDynamic(),
*/
    __pyx_t_9 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateCons(__pyx_v_scip, __pyx_v_targetcons, __pyx_t_11, __pyx_v_conshdlr, ((SCIP_CONSDATA *)__pyx_v_PySourceCons), __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_t_19, __pyx_t_20, __pyx_t_21)); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_3 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_3 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 241, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/conshdlr.pxi":245
 *             PySourceCons.isPropagated(), PySourceCons.isLocal(), PySourceCons.isModifiable(), PySourceCons.isDynamic(),
 *             PySourceCons.isRemovable(), PySourceCons.isStickingAtNode()))
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsInitlp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, SCIP_Bool* infeasible) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":228
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsTrans (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* sourcecons, SCIP_CONS** targetcons) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef Constraint PyTargetCons
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsTrans", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyTargetCons);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF((PyObject *)__pyx_v_PySourceCons);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":247
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsInitlp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, SCIP_Bool* infeasible) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsInitlp(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss, SCIP_Bool *__pyx_v_infeasible) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  SCIP_Bool __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsInitlp", 0);

  /* "src/pyscipopt/conshdlr.pxi":249
 * cdef SCIP_RETCODE PyConsInitlp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, SCIP_Bool* infeasible) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":250
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":251
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.consinitlp(constraints)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":252
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     result_dict = PyConshdlr.consinitlp(constraints)
 *     infeasible[0] = result_dict.get("infeasible", infeasible[0])
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 252, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 252, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":253
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.consinitlp(constraints)             # <<<<<<<<<<<<<<
 *     infeasible[0] = result_dict.get("infeasible", infeasible[0])
 *     return SCIP_OKAY
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_constraints};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consinitlp, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":254
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.consinitlp(constraints)
 *     infeasible[0] = result_dict.get("infeasible", infeasible[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_6 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_8 = __Pyx_PyBool_FromLong((__pyx_v_infeasible[0])); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_mstate_global->__pyx_n_u_infeasible, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_9 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(11, 254, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_infeasible[0]) = __pyx_t_9;

  /* "src/pyscipopt/conshdlr.pxi":255
 *     result_dict = PyConshdlr.consinitlp(constraints)
 *     infeasible[0] = result_dict.get("infeasible", infeasible[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsSepalp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":247
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsInitlp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, SCIP_Bool* infeasible) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsInitlp", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":257
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsSepalp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsSepalp(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss, int __pyx_v_nusefulconss, SCIP_RESULT *__pyx_v_result) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  SCIP_RESULT __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsSepalp", 0);

  /* "src/pyscipopt/conshdlr.pxi":259
 * cdef SCIP_RETCODE PyConsSepalp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":260
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":261
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.conssepalp(constraints, nusefulconss)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":262
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     result_dict = PyConshdlr.conssepalp(constraints, nusefulconss)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 262, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":263
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.conssepalp(constraints, nusefulconss)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_int(__pyx_v_nusefulconss); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_v_constraints, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_conssepalp, __pyx_callargs+__pyx_t_8, (3-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 263, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":264
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.conssepalp(constraints, nusefulconss)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_7 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_8, (3-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 264, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_9 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_9 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(11, 264, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_9;

  /* "src/pyscipopt/conshdlr.pxi":265
 *     result_dict = PyConshdlr.conssepalp(constraints, nusefulconss)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsSepasol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":257
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsSepalp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsSepalp", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":267
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsSepasol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss,             # <<<<<<<<<<<<<<
 *                                  SCIP_SOL* sol, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsSepasol(SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss, int __pyx_v_nusefulconss, SCIP_SOL *__pyx_v_sol, SCIP_RESULT *__pyx_v_result) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  PyObject *__pyx_v_solution = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  SCIP_RESULT __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsSepasol", 0);

  /* "src/pyscipopt/conshdlr.pxi":270
 *                                  SCIP_SOL* sol, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":271
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":272
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     solution = Solution.create(scip, sol)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":273
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     solution = Solution.create(scip, sol)
 *     result_dict = PyConshdlr.conssepasol(constraints, nusefulconss, solution)
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 273, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":274
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     solution = Solution.create(scip, sol)             # <<<<<<<<<<<<<<
 *     result_dict = PyConshdlr.conssepasol(constraints, nusefulconss, solution)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_scip, __pyx_v_sol); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_solution = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":275
 *         constraints.append(getPyCons(conss[i]))
 *     solution = Solution.create(scip, sol)
 *     result_dict = PyConshdlr.conssepasol(constraints, nusefulconss, solution)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_int(__pyx_v_nusefulconss); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = 0;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_6, __pyx_v_constraints, __pyx_t_7, __pyx_v_solution};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_conssepasol, __pyx_callargs+__pyx_t_8, (4-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":276
 *     solution = Solution.create(scip, sol)
 *     result_dict = PyConshdlr.conssepasol(constraints, nusefulconss, solution)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_7 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_8, (3-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_9 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_9 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(11, 276, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_9;

  /* "src/pyscipopt/conshdlr.pxi":277
 *     result_dict = PyConshdlr.conssepasol(constraints, nusefulconss, solution)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsEnfolp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":267
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsSepasol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss,             # <<<<<<<<<<<<<<
 *                                  SCIP_SOL* sol, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsSepasol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_XDECREF(__pyx_v_solution);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":279
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsEnfolp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss,             # <<<<<<<<<<<<<<
 *                                 SCIP_Bool solinfeasible, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsEnfolp(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss, int __pyx_v_nusefulconss, SCIP_Bool __pyx_v_solinfeasible, SCIP_RESULT *__pyx_v_result) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  SCIP_RESULT __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsEnfolp", 0);

  /* "src/pyscipopt/conshdlr.pxi":282
 *                                 SCIP_Bool solinfeasible, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":283
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":284
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.consenfolp(constraints, nusefulconss, solinfeasible)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":285
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     result_dict = PyConshdlr.consenfolp(constraints, nusefulconss, solinfeasible)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 285, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 285, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":286
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.consenfolp(constraints, nusefulconss, solinfeasible)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_int(__pyx_v_nusefulconss); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyBool_FromLong(__pyx_v_solinfeasible); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = 0;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_6, __pyx_v_constraints, __pyx_t_7, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consenfolp, __pyx_callargs+__pyx_t_9, (4-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":287
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.consenfolp(constraints, nusefulconss, solinfeasible)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_8 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 287, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 287, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_10 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_10 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(11, 287, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_10;

  /* "src/pyscipopt/conshdlr.pxi":288
 *     result_dict = PyConshdlr.consenfolp(constraints, nusefulconss, solinfeasible)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsEnforelax (SCIP* scip, SCIP_SOL* sol, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss, SCIP_Bool solinfeasible, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":279
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsEnfolp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss,             # <<<<<<<<<<<<<<
 *                                 SCIP_Bool solinfeasible, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsEnfolp", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":290
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsEnforelax (SCIP* scip, SCIP_SOL* sol, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss, SCIP_Bool solinfeasible, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsEnforelax(SCIP *__pyx_v_scip, SCIP_SOL *__pyx_v_sol, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss, int __pyx_v_nusefulconss, SCIP_Bool __pyx_v_solinfeasible, SCIP_RESULT *__pyx_v_result) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  PyObject *__pyx_v_solution = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  SCIP_RESULT __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsEnforelax", 0);

  /* "src/pyscipopt/conshdlr.pxi":292
 * cdef SCIP_RETCODE PyConsEnforelax (SCIP* scip, SCIP_SOL* sol, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss, SCIP_Bool solinfeasible, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":293
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":294
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     solution = Solution.create(scip, sol)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":295
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     solution = Solution.create(scip, sol)
 *     result_dict = PyConshdlr.consenforelax(solution, constraints, nusefulconss, solinfeasible)
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 295, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":296
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     solution = Solution.create(scip, sol)             # <<<<<<<<<<<<<<
 *     result_dict = PyConshdlr.consenforelax(solution, constraints, nusefulconss, solinfeasible)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_scip, __pyx_v_sol); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_solution = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":297
 *         constraints.append(getPyCons(conss[i]))
 *     solution = Solution.create(scip, sol)
 *     result_dict = PyConshdlr.consenforelax(solution, constraints, nusefulconss, solinfeasible)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_int(__pyx_v_nusefulconss); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyBool_FromLong(__pyx_v_solinfeasible); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = 0;
  {
    PyObject *__pyx_callargs[5] = {__pyx_t_6, __pyx_v_solution, __pyx_v_constraints, __pyx_t_7, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consenforelax, __pyx_callargs+__pyx_t_9, (5-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":298
 *     solution = Solution.create(scip, sol)
 *     result_dict = PyConshdlr.consenforelax(solution, constraints, nusefulconss, solinfeasible)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_8 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_8, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_10 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_10 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(11, 298, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_10;

  /* "src/pyscipopt/conshdlr.pxi":299
 *     result_dict = PyConshdlr.consenforelax(solution, constraints, nusefulconss, solinfeasible)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsEnfops (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":290
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsEnforelax (SCIP* scip, SCIP_SOL* sol, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss, SCIP_Bool solinfeasible, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsEnforelax", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_XDECREF(__pyx_v_solution);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":301
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsEnfops (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss,             # <<<<<<<<<<<<<<
 *                                 SCIP_Bool solinfeasible, SCIP_Bool objinfeasible, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsEnfops(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss, int __pyx_v_nusefulconss, SCIP_Bool __pyx_v_solinfeasible, SCIP_Bool __pyx_v_objinfeasible, SCIP_RESULT *__pyx_v_result) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  SCIP_RESULT __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsEnfops", 0);

  /* "src/pyscipopt/conshdlr.pxi":304
 *                                 SCIP_Bool solinfeasible, SCIP_Bool objinfeasible, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":305
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":306
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.consenfops(constraints, nusefulconss, solinfeasible, objinfeasible)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":307
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     result_dict = PyConshdlr.consenfops(constraints, nusefulconss, solinfeasible, objinfeasible)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 307, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":308
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.consenfops(constraints, nusefulconss, solinfeasible, objinfeasible)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_int(__pyx_v_nusefulconss); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyBool_FromLong(__pyx_v_solinfeasible); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyBool_FromLong(__pyx_v_objinfeasible); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[5] = {__pyx_t_6, __pyx_v_constraints, __pyx_t_7, __pyx_t_8, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consenfops, __pyx_callargs+__pyx_t_10, (5-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 308, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":309
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.consenfops(constraints, nusefulconss, solinfeasible, objinfeasible)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_9 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_9);
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_10, (3-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 309, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_11 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_11 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(11, 309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_11;

  /* "src/pyscipopt/conshdlr.pxi":310
 *     result_dict = PyConshdlr.consenfops(constraints, nusefulconss, solinfeasible, objinfeasible)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsCheck (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, SCIP_SOL* sol, SCIP_Bool checkintegrality,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":301
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsEnfops (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss,             # <<<<<<<<<<<<<<
 *                                 SCIP_Bool solinfeasible, SCIP_Bool objinfeasible, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsEnfops", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":312
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsCheck (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, SCIP_SOL* sol, SCIP_Bool checkintegrality,             # <<<<<<<<<<<<<<
 *                                SCIP_Bool checklprows, SCIP_Bool printreason, SCIP_Bool completely, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsCheck(SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss, SCIP_SOL *__pyx_v_sol, SCIP_Bool __pyx_v_checkintegrality, SCIP_Bool __pyx_v_checklprows, SCIP_Bool __pyx_v_printreason, SCIP_Bool __pyx_v_completely, SCIP_RESULT *__pyx_v_result) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  PyObject *__pyx_v_solution = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  SCIP_RESULT __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsCheck", 0);

  /* "src/pyscipopt/conshdlr.pxi":315
 *                                SCIP_Bool checklprows, SCIP_Bool printreason, SCIP_Bool completely, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":316
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":317
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     solution = Solution.create(scip, sol)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":318
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     solution = Solution.create(scip, sol)
 *     result_dict = PyConshdlr.conscheck(constraints, solution, checkintegrality, checklprows, printreason, completely)
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 318, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 318, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":319
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     solution = Solution.create(scip, sol)             # <<<<<<<<<<<<<<
 *     result_dict = PyConshdlr.conscheck(constraints, solution, checkintegrality, checklprows, printreason, completely)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_scip, __pyx_v_sol); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_solution = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":320
 *         constraints.append(getPyCons(conss[i]))
 *     solution = Solution.create(scip, sol)
 *     result_dict = PyConshdlr.conscheck(constraints, solution, checkintegrality, checklprows, printreason, completely)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyBool_FromLong(__pyx_v_checkintegrality); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyBool_FromLong(__pyx_v_checklprows); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyBool_FromLong(__pyx_v_printreason); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyBool_FromLong(__pyx_v_completely); if (unlikely(!__pyx_t_10)) __PYX_ERR(11, 320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = 0;
  {
    PyObject *__pyx_callargs[7] = {__pyx_t_6, __pyx_v_constraints, __pyx_v_solution, __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_conscheck, __pyx_callargs+__pyx_t_11, (7-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":321
 *     solution = Solution.create(scip, sol)
 *     result_dict = PyConshdlr.conscheck(constraints, solution, checkintegrality, checklprows, printreason, completely)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_10 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_10);
  __pyx_t_9 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_11 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_10, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_11, (3-__pyx_t_11) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 321, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_12 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_12 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(11, 321, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_12;

  /* "src/pyscipopt/conshdlr.pxi":322
 *     result_dict = PyConshdlr.conscheck(constraints, solution, checkintegrality, checklprows, printreason, completely)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsProp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss, int nmarkedconss,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":312
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsCheck (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, SCIP_SOL* sol, SCIP_Bool checkintegrality,             # <<<<<<<<<<<<<<
 *                                SCIP_Bool checklprows, SCIP_Bool printreason, SCIP_Bool completely, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsCheck", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_XDECREF(__pyx_v_solution);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":324
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsProp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss, int nmarkedconss,             # <<<<<<<<<<<<<<
 *                               SCIP_PROPTIMING proptiming, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsProp(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss, int __pyx_v_nusefulconss, int __pyx_v_nmarkedconss, SCIP_PROPTIMING __pyx_v_proptiming, SCIP_RESULT *__pyx_v_result) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  SCIP_RESULT __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsProp", 0);

  /* "src/pyscipopt/conshdlr.pxi":327
 *                               SCIP_PROPTIMING proptiming, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 327, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":328
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":329
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.consprop(constraints, nusefulconss, nmarkedconss, proptiming)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":330
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     result_dict = PyConshdlr.consprop(constraints, nusefulconss, nmarkedconss, proptiming)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 330, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":331
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.consprop(constraints, nusefulconss, nmarkedconss, proptiming)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_int(__pyx_v_nusefulconss); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_nmarkedconss); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyLong_From_SCIP_PROPTIMING(__pyx_v_proptiming); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[5] = {__pyx_t_6, __pyx_v_constraints, __pyx_t_7, __pyx_t_8, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consprop, __pyx_callargs+__pyx_t_10, (5-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":332
 *         constraints.append(getPyCons(conss[i]))
 *     result_dict = PyConshdlr.consprop(constraints, nusefulconss, nmarkedconss, proptiming)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_9 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_9);
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_10, (3-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 332, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_11 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_11 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(11, 332, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_11;

  /* "src/pyscipopt/conshdlr.pxi":333
 *     result_dict = PyConshdlr.consprop(constraints, nusefulconss, nmarkedconss, proptiming)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsPresol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nrounds, SCIP_PRESOLTIMING presoltiming,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":324
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsProp (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nusefulconss, int nmarkedconss,             # <<<<<<<<<<<<<<
 *                               SCIP_PROPTIMING proptiming, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsProp", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":335
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsPresol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nrounds, SCIP_PRESOLTIMING presoltiming,             # <<<<<<<<<<<<<<
 *                                 int nnewfixedvars, int nnewaggrvars, int nnewchgvartypes, int nnewchgbds, int nnewholes,
 *                                 int nnewdelconss, int nnewaddconss, int nnewupgdconss, int nnewchgcoefs, int nnewchgsides,
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsPresol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss, int __pyx_v_nrounds, SCIP_PRESOLTIMING __pyx_v_presoltiming, int __pyx_v_nnewfixedvars, int __pyx_v_nnewaggrvars, int __pyx_v_nnewchgvartypes, int __pyx_v_nnewchgbds, int __pyx_v_nnewholes, int __pyx_v_nnewdelconss, int __pyx_v_nnewaddconss, int __pyx_v_nnewupgdconss, int __pyx_v_nnewchgcoefs, int __pyx_v_nnewchgsides, int *__pyx_v_nfixedvars, int *__pyx_v_naggrvars, int *__pyx_v_nchgvartypes, int *__pyx_v_nchgbds, int *__pyx_v_naddholes, int *__pyx_v_ndelconss, int *__pyx_v_naddconss, int *__pyx_v_nupgdconss, int *__pyx_v_nchgcoefs, int *__pyx_v_nchgsides, SCIP_RESULT *__pyx_v_result) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  size_t __pyx_t_19;
  SCIP_RESULT __pyx_t_20;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsPresol", 0);

  /* "src/pyscipopt/conshdlr.pxi":341
 *                                 int* ndelconss, int* naddconss, int* nupgdconss, int* nchgcoefs, int* nchgsides, SCIP_RESULT* result) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":342
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":343
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     # dictionary for input/output parameters
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":344
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     # dictionary for input/output parameters
 *     result_dict = {}
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 344, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":346
 *         constraints.append(getPyCons(conss[i]))
 *     # dictionary for input/output parameters
 *     result_dict = {}             # <<<<<<<<<<<<<<
 *     result_dict["nfixedvars"]   = nfixedvars[0]
 *     result_dict["naggrvars"]    = naggrvars[0]
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_result_dict = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":347
 *     # dictionary for input/output parameters
 *     result_dict = {}
 *     result_dict["nfixedvars"]   = nfixedvars[0]             # <<<<<<<<<<<<<<
 *     result_dict["naggrvars"]    = naggrvars[0]
 *     result_dict["nchgvartypes"] = nchgvartypes[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nfixedvars[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nfixedvars, __pyx_t_1) < 0))) __PYX_ERR(11, 347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":348
 *     result_dict = {}
 *     result_dict["nfixedvars"]   = nfixedvars[0]
 *     result_dict["naggrvars"]    = naggrvars[0]             # <<<<<<<<<<<<<<
 *     result_dict["nchgvartypes"] = nchgvartypes[0]
 *     result_dict["nchgbds"]      = nchgbds[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_naggrvars[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_naggrvars, __pyx_t_1) < 0))) __PYX_ERR(11, 348, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":349
 *     result_dict["nfixedvars"]   = nfixedvars[0]
 *     result_dict["naggrvars"]    = naggrvars[0]
 *     result_dict["nchgvartypes"] = nchgvartypes[0]             # <<<<<<<<<<<<<<
 *     result_dict["nchgbds"]      = nchgbds[0]
 *     result_dict["naddholes"]    = naddholes[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nchgvartypes[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgvartypes, __pyx_t_1) < 0))) __PYX_ERR(11, 349, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":350
 *     result_dict["naggrvars"]    = naggrvars[0]
 *     result_dict["nchgvartypes"] = nchgvartypes[0]
 *     result_dict["nchgbds"]      = nchgbds[0]             # <<<<<<<<<<<<<<
 *     result_dict["naddholes"]    = naddholes[0]
 *     result_dict["ndelconss"]    = ndelconss[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nchgbds[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgbds, __pyx_t_1) < 0))) __PYX_ERR(11, 350, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":351
 *     result_dict["nchgvartypes"] = nchgvartypes[0]
 *     result_dict["nchgbds"]      = nchgbds[0]
 *     result_dict["naddholes"]    = naddholes[0]             # <<<<<<<<<<<<<<
 *     result_dict["ndelconss"]    = ndelconss[0]
 *     result_dict["naddconss"]    = naddconss[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_naddholes[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_naddholes, __pyx_t_1) < 0))) __PYX_ERR(11, 351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":352
 *     result_dict["nchgbds"]      = nchgbds[0]
 *     result_dict["naddholes"]    = naddholes[0]
 *     result_dict["ndelconss"]    = ndelconss[0]             # <<<<<<<<<<<<<<
 *     result_dict["naddconss"]    = naddconss[0]
 *     result_dict["nupgdconss"]   = nupgdconss[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_ndelconss[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_ndelconss, __pyx_t_1) < 0))) __PYX_ERR(11, 352, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":353
 *     result_dict["naddholes"]    = naddholes[0]
 *     result_dict["ndelconss"]    = ndelconss[0]
 *     result_dict["naddconss"]    = naddconss[0]             # <<<<<<<<<<<<<<
 *     result_dict["nupgdconss"]   = nupgdconss[0]
 *     result_dict["nchgcoefs"]    = nchgcoefs[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_naddconss[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_naddconss, __pyx_t_1) < 0))) __PYX_ERR(11, 353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":354
 *     result_dict["ndelconss"]    = ndelconss[0]
 *     result_dict["naddconss"]    = naddconss[0]
 *     result_dict["nupgdconss"]   = nupgdconss[0]             # <<<<<<<<<<<<<<
 *     result_dict["nchgcoefs"]    = nchgcoefs[0]
 *     result_dict["nchgsides"]    = nchgsides[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nupgdconss[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 354, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nupgdconss, __pyx_t_1) < 0))) __PYX_ERR(11, 354, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":355
 *     result_dict["naddconss"]    = naddconss[0]
 *     result_dict["nupgdconss"]   = nupgdconss[0]
 *     result_dict["nchgcoefs"]    = nchgcoefs[0]             # <<<<<<<<<<<<<<
 *     result_dict["nchgsides"]    = nchgsides[0]
 *     result_dict["result"]       = result[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nchgcoefs[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 355, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgcoefs, __pyx_t_1) < 0))) __PYX_ERR(11, 355, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":356
 *     result_dict["nupgdconss"]   = nupgdconss[0]
 *     result_dict["nchgcoefs"]    = nchgcoefs[0]
 *     result_dict["nchgsides"]    = nchgsides[0]             # <<<<<<<<<<<<<<
 *     result_dict["result"]       = result[0]
 *     PyConshdlr.conspresol(constraints, nrounds, presoltiming,
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nchgsides[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgsides, __pyx_t_1) < 0))) __PYX_ERR(11, 356, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":357
 *     result_dict["nchgcoefs"]    = nchgcoefs[0]
 *     result_dict["nchgsides"]    = nchgsides[0]
 *     result_dict["result"]       = result[0]             # <<<<<<<<<<<<<<
 *     PyConshdlr.conspresol(constraints, nrounds, presoltiming,
 *                           nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
*/
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_RESULT((__pyx_v_result[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_1) < 0))) __PYX_ERR(11, 357, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":358
 *     result_dict["nchgsides"]    = nchgsides[0]
 *     result_dict["result"]       = result[0]
 *     PyConshdlr.conspresol(constraints, nrounds, presoltiming,             # <<<<<<<<<<<<<<
 *                           nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
 *                           nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict)
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_int(__pyx_v_nrounds); if (unlikely(!__pyx_t_7)) __PYX_ERR(11, 358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_PRESOLTIMING(__pyx_v_presoltiming); if (unlikely(!__pyx_t_8)) __PYX_ERR(11, 358, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);

  /* "src/pyscipopt/conshdlr.pxi":359
 *     result_dict["result"]       = result[0]
 *     PyConshdlr.conspresol(constraints, nrounds, presoltiming,
 *                           nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,             # <<<<<<<<<<<<<<
 *                           nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict)
 *     result[0]       = result_dict["result"]
*/
  __pyx_t_9 = __Pyx_PyLong_From_int(__pyx_v_nnewfixedvars); if (unlikely(!__pyx_t_9)) __PYX_ERR(11, 359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyLong_From_int(__pyx_v_nnewaggrvars); if (unlikely(!__pyx_t_10)) __PYX_ERR(11, 359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = __Pyx_PyLong_From_int(__pyx_v_nnewchgvartypes); if (unlikely(!__pyx_t_11)) __PYX_ERR(11, 359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_12 = __Pyx_PyLong_From_int(__pyx_v_nnewchgbds); if (unlikely(!__pyx_t_12)) __PYX_ERR(11, 359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_13 = __Pyx_PyLong_From_int(__pyx_v_nnewholes); if (unlikely(!__pyx_t_13)) __PYX_ERR(11, 359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);

  /* "src/pyscipopt/conshdlr.pxi":360
 *     PyConshdlr.conspresol(constraints, nrounds, presoltiming,
 *                           nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
 *                           nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict)             # <<<<<<<<<<<<<<
 *     result[0]       = result_dict["result"]
 *     nfixedvars[0]   = result_dict["nfixedvars"]
*/
  __pyx_t_14 = __Pyx_PyLong_From_int(__pyx_v_nnewdelconss); if (unlikely(!__pyx_t_14)) __PYX_ERR(11, 360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_15 = __Pyx_PyLong_From_int(__pyx_v_nnewaddconss); if (unlikely(!__pyx_t_15)) __PYX_ERR(11, 360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_15);
  __pyx_t_16 = __Pyx_PyLong_From_int(__pyx_v_nnewupgdconss); if (unlikely(!__pyx_t_16)) __PYX_ERR(11, 360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_17 = __Pyx_PyLong_From_int(__pyx_v_nnewchgcoefs); if (unlikely(!__pyx_t_17)) __PYX_ERR(11, 360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_18 = __Pyx_PyLong_From_int(__pyx_v_nnewchgsides); if (unlikely(!__pyx_t_18)) __PYX_ERR(11, 360, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __pyx_t_19 = 0;
  {
    PyObject *__pyx_callargs[15] = {__pyx_t_6, __pyx_v_constraints, __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_v_result_dict};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_conspresol, __pyx_callargs+__pyx_t_19, (15-__pyx_t_19) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
    __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 358, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":361
 *                           nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
 *                           nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict)
 *     result[0]       = result_dict["result"]             # <<<<<<<<<<<<<<
 *     nfixedvars[0]   = result_dict["nfixedvars"]
 *     naggrvars[0]    = result_dict["naggrvars"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_result); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_20 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_20 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(11, 361, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_20;

  /* "src/pyscipopt/conshdlr.pxi":362
 *                           nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict)
 *     result[0]       = result_dict["result"]
 *     nfixedvars[0]   = result_dict["nfixedvars"]             # <<<<<<<<<<<<<<
 *     naggrvars[0]    = result_dict["naggrvars"]
 *     nchgvartypes[0] = result_dict["nchgvartypes"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nfixedvars); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 362, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nfixedvars[0]) = __pyx_t_2;

  /* "src/pyscipopt/conshdlr.pxi":363
 *     result[0]       = result_dict["result"]
 *     nfixedvars[0]   = result_dict["nfixedvars"]
 *     naggrvars[0]    = result_dict["naggrvars"]             # <<<<<<<<<<<<<<
 *     nchgvartypes[0] = result_dict["nchgvartypes"]
 *     nchgbds[0]      = result_dict["nchgbds"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_naggrvars); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_naggrvars[0]) = __pyx_t_2;

  /* "src/pyscipopt/conshdlr.pxi":364
 *     nfixedvars[0]   = result_dict["nfixedvars"]
 *     naggrvars[0]    = result_dict["naggrvars"]
 *     nchgvartypes[0] = result_dict["nchgvartypes"]             # <<<<<<<<<<<<<<
 *     nchgbds[0]      = result_dict["nchgbds"]
 *     naddholes[0]    = result_dict["naddholes"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgvartypes); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 364, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nchgvartypes[0]) = __pyx_t_2;

  /* "src/pyscipopt/conshdlr.pxi":365
 *     naggrvars[0]    = result_dict["naggrvars"]
 *     nchgvartypes[0] = result_dict["nchgvartypes"]
 *     nchgbds[0]      = result_dict["nchgbds"]             # <<<<<<<<<<<<<<
 *     naddholes[0]    = result_dict["naddholes"]
 *     ndelconss[0]    = result_dict["ndelconss"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgbds); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nchgbds[0]) = __pyx_t_2;

  /* "src/pyscipopt/conshdlr.pxi":366
 *     nchgvartypes[0] = result_dict["nchgvartypes"]
 *     nchgbds[0]      = result_dict["nchgbds"]
 *     naddholes[0]    = result_dict["naddholes"]             # <<<<<<<<<<<<<<
 *     ndelconss[0]    = result_dict["ndelconss"]
 *     naddconss[0]    = result_dict["naddconss"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_naddholes); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 366, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 366, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_naddholes[0]) = __pyx_t_2;

  /* "src/pyscipopt/conshdlr.pxi":367
 *     nchgbds[0]      = result_dict["nchgbds"]
 *     naddholes[0]    = result_dict["naddholes"]
 *     ndelconss[0]    = result_dict["ndelconss"]             # <<<<<<<<<<<<<<
 *     naddconss[0]    = result_dict["naddconss"]
 *     nupgdconss[0]   = result_dict["nupgdconss"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_ndelconss); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 367, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 367, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_ndelconss[0]) = __pyx_t_2;

  /* "src/pyscipopt/conshdlr.pxi":368
 *     naddholes[0]    = result_dict["naddholes"]
 *     ndelconss[0]    = result_dict["ndelconss"]
 *     naddconss[0]    = result_dict["naddconss"]             # <<<<<<<<<<<<<<
 *     nupgdconss[0]   = result_dict["nupgdconss"]
 *     nchgcoefs[0]    = result_dict["nchgcoefs"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_naddconss); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 368, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_naddconss[0]) = __pyx_t_2;

  /* "src/pyscipopt/conshdlr.pxi":369
 *     ndelconss[0]    = result_dict["ndelconss"]
 *     naddconss[0]    = result_dict["naddconss"]
 *     nupgdconss[0]   = result_dict["nupgdconss"]             # <<<<<<<<<<<<<<
 *     nchgcoefs[0]    = result_dict["nchgcoefs"]
 *     nchgsides[0]    = result_dict["nchgsides"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nupgdconss); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 369, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nupgdconss[0]) = __pyx_t_2;

  /* "src/pyscipopt/conshdlr.pxi":370
 *     naddconss[0]    = result_dict["naddconss"]
 *     nupgdconss[0]   = result_dict["nupgdconss"]
 *     nchgcoefs[0]    = result_dict["nchgcoefs"]             # <<<<<<<<<<<<<<
 *     nchgsides[0]    = result_dict["nchgsides"]
 *     return SCIP_OKAY
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgcoefs); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 370, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 370, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nchgcoefs[0]) = __pyx_t_2;

  /* "src/pyscipopt/conshdlr.pxi":371
 *     nupgdconss[0]   = result_dict["nupgdconss"]
 *     nchgcoefs[0]    = result_dict["nchgcoefs"]
 *     nchgsides[0]    = result_dict["nchgsides"]             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgsides); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nchgsides[0]) = __pyx_t_2;

  /* "src/pyscipopt/conshdlr.pxi":372
 *     nchgcoefs[0]    = result_dict["nchgcoefs"]
 *     nchgsides[0]    = result_dict["nchgsides"]
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsResprop (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_VAR* infervar, int inferinfo,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":335
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsPresol (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss, int nrounds, SCIP_PRESOLTIMING presoltiming,             # <<<<<<<<<<<<<<
 *                                 int nnewfixedvars, int nnewaggrvars, int nnewchgvartypes, int nnewchgbds, int nnewholes,
 *                                 int nnewdelconss, int nnewaddconss, int nnewupgdconss, int nnewchgcoefs, int nnewchgsides,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsPresol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":374
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsResprop (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_VAR* infervar, int inferinfo,             # <<<<<<<<<<<<<<
 *                                  SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX* bdchgidx, SCIP_Real relaxedbd, SCIP_RESULT* result) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsResprop(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, CYTHON_UNUSED SCIP_CONS *__pyx_v_cons, CYTHON_UNUSED SCIP_VAR *__pyx_v_infervar, CYTHON_UNUSED int __pyx_v_inferinfo, CYTHON_UNUSED SCIP_BOUNDTYPE __pyx_v_boundtype, CYTHON_UNUSED SCIP_BDCHGIDX *__pyx_v_bdchgidx, CYTHON_UNUSED SCIP_Real __pyx_v_relaxedbd, CYTHON_UNUSED SCIP_RESULT *__pyx_v_result) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsResprop", 0);

  /* "src/pyscipopt/conshdlr.pxi":376
 * cdef SCIP_RETCODE PyConsResprop (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_VAR* infervar, int inferinfo,
 *                                  SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX* bdchgidx, SCIP_Real relaxedbd, SCIP_RESULT* result) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyConshdlr.consresprop()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":377
 *                                  SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX* bdchgidx, SCIP_Real relaxedbd, SCIP_RESULT* result) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consresprop()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consresprop, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":378
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consresprop()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsLock (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_LOCKTYPE locktype, int nlockspos, int nlocksneg) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":374
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsResprop (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_VAR* infervar, int inferinfo,             # <<<<<<<<<<<<<<
 *                                  SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX* bdchgidx, SCIP_Real relaxedbd, SCIP_RESULT* result) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsResprop", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":380
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsLock (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_LOCKTYPE locktype, int nlockspos, int nlocksneg) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     if cons == NULL:
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsLock(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS *__pyx_v_cons, SCIP_LOCKTYPE __pyx_v_locktype, int __pyx_v_nlockspos, int __pyx_v_nlocksneg) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_PyCons = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsLock", 0);

  /* "src/pyscipopt/conshdlr.pxi":381
 * 
 * cdef SCIP_RETCODE PyConsLock (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_LOCKTYPE locktype, int nlockspos, int nlocksneg) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     if cons == NULL:
 *         PyConshdlr.conslock(None, locktype, nlockspos, nlocksneg)
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":382
 * cdef SCIP_RETCODE PyConsLock (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_LOCKTYPE locktype, int nlockspos, int nlocksneg) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     if cons == NULL:             # <<<<<<<<<<<<<<
 *         PyConshdlr.conslock(None, locktype, nlockspos, nlocksneg)
 *     else:
*/
  __pyx_t_2 = (__pyx_v_cons == NULL);
  if (__pyx_t_2) {

    /* "src/pyscipopt/conshdlr.pxi":383
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     if cons == NULL:
 *         PyConshdlr.conslock(None, locktype, nlockspos, nlocksneg)             # <<<<<<<<<<<<<<
 *     else:
 *         PyCons = getPyCons(cons)
*/
    __pyx_t_3 = ((PyObject *)__pyx_v_PyConshdlr);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_LOCKTYPE(__pyx_v_locktype); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_nlockspos); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyLong_From_int(__pyx_v_nlocksneg); if (unlikely(!__pyx_t_6)) __PYX_ERR(11, 383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[5] = {__pyx_t_3, Py_None, __pyx_t_4, __pyx_t_5, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_conslock, __pyx_callargs+__pyx_t_7, (5-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 383, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/conshdlr.pxi":382
 * cdef SCIP_RETCODE PyConsLock (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_LOCKTYPE locktype, int nlockspos, int nlocksneg) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     if cons == NULL:             # <<<<<<<<<<<<<<
 *         PyConshdlr.conslock(None, locktype, nlockspos, nlocksneg)
 *     else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/conshdlr.pxi":385
 *         PyConshdlr.conslock(None, locktype, nlockspos, nlocksneg)
 *     else:
 *         PyCons = getPyCons(cons)             # <<<<<<<<<<<<<<
 *         PyConshdlr.conslock(PyCons, locktype, nlockspos, nlocksneg)
 *     return SCIP_OKAY
*/
  /*else*/ {
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons(__pyx_v_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 385, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_PyCons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/conshdlr.pxi":386
 *     else:
 *         PyCons = getPyCons(cons)
 *         PyConshdlr.conslock(PyCons, locktype, nlockspos, nlocksneg)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
    __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = __Pyx_PyLong_From_SCIP_LOCKTYPE(__pyx_v_locktype); if (unlikely(!__pyx_t_5)) __PYX_ERR(11, 386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_nlockspos); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_nlocksneg); if (unlikely(!__pyx_t_3)) __PYX_ERR(11, 386, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[5] = {__pyx_t_6, ((PyObject *)__pyx_v_PyCons), __pyx_t_5, __pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_conslock, __pyx_callargs+__pyx_t_7, (5-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 386, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/conshdlr.pxi":387
 *         PyCons = getPyCons(cons)
 *         PyConshdlr.conslock(PyCons, locktype, nlockspos, nlocksneg)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsActive (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":380
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsLock (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_LOCKTYPE locktype, int nlockspos, int nlocksneg) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     if cons == NULL:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsLock", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCons);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":389
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsActive (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsActive(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS *__pyx_v_cons) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_PyCons = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsActive", 0);

  /* "src/pyscipopt/conshdlr.pxi":390
 * 
 * cdef SCIP_RETCODE PyConsActive (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consactive(PyCons)
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":391
 * cdef SCIP_RETCODE PyConsActive (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)             # <<<<<<<<<<<<<<
 *     PyConshdlr.consactive(PyCons)
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons(__pyx_v_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyCons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":392
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consactive(PyCons)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_PyCons)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consactive, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":393
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consactive(PyCons)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsDeactive (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":389
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsActive (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsActive", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCons);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":395
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsDeactive (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsDeactive(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS *__pyx_v_cons) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_PyCons = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsDeactive", 0);

  /* "src/pyscipopt/conshdlr.pxi":396
 * 
 * cdef SCIP_RETCODE PyConsDeactive (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consdeactive(PyCons)
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":397
 * cdef SCIP_RETCODE PyConsDeactive (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)             # <<<<<<<<<<<<<<
 *     PyConshdlr.consdeactive(PyCons)
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons(__pyx_v_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyCons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":398
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consdeactive(PyCons)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_PyCons)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consdeactive, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 398, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":399
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consdeactive(PyCons)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsEnable (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":395
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsDeactive (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsDeactive", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCons);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":401
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsEnable (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsEnable(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS *__pyx_v_cons) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_PyCons = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsEnable", 0);

  /* "src/pyscipopt/conshdlr.pxi":402
 * 
 * cdef SCIP_RETCODE PyConsEnable (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consenable(PyCons)
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":403
 * cdef SCIP_RETCODE PyConsEnable (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)             # <<<<<<<<<<<<<<
 *     PyConshdlr.consenable(PyCons)
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons(__pyx_v_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyCons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":404
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consenable(PyCons)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_PyCons)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consenable, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 404, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":405
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consenable(PyCons)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsDisable (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":401
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsEnable (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsEnable", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCons);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":407
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsDisable (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsDisable(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS *__pyx_v_cons) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_PyCons = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsDisable", 0);

  /* "src/pyscipopt/conshdlr.pxi":408
 * 
 * cdef SCIP_RETCODE PyConsDisable (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consdisable(PyCons)
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":409
 * cdef SCIP_RETCODE PyConsDisable (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)             # <<<<<<<<<<<<<<
 *     PyConshdlr.consdisable(PyCons)
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons(__pyx_v_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyCons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":410
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consdisable(PyCons)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_PyCons)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consdisable, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":411
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consdisable(PyCons)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsDelvars (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":407
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsDisable (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsDisable", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCons);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":413
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsDelvars (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsDelvars(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss) {
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  PyObject *__pyx_v_constraints = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsDelvars", 0);

  /* "src/pyscipopt/conshdlr.pxi":415
 * cdef SCIP_RETCODE PyConsDelvars (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     constraints = []
 *     for i in range(nconss):
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":416
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []             # <<<<<<<<<<<<<<
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":417
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     constraints = []
 *     for i in range(nconss):             # <<<<<<<<<<<<<<
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consdelvars(constraints)
*/
  __pyx_t_2 = __pyx_v_nconss;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/conshdlr.pxi":418
 *     constraints = []
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))             # <<<<<<<<<<<<<<
 *     PyConshdlr.consdelvars(constraints)
 *     return SCIP_OKAY
*/
    __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons((__pyx_v_conss[__pyx_v_i]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 418, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(11, 418, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/conshdlr.pxi":419
 *     for i in range(nconss):
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consdelvars(constraints)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_6 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_constraints};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consdelvars, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":420
 *         constraints.append(getPyCons(conss[i]))
 *     PyConshdlr.consdelvars(constraints)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsPrint (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, FILE* file) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":413
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsDelvars (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** conss, int nconss) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef int i
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsDelvars", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":422
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsPrint (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, FILE* file) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsPrint(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS *__pyx_v_cons, CYTHON_UNUSED FILE *__pyx_v_file) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_PyCons = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsPrint", 0);

  /* "src/pyscipopt/conshdlr.pxi":423
 * 
 * cdef SCIP_RETCODE PyConsPrint (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, FILE* file) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyCons = getPyCons(cons)
 *     # TODO: pass file
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":424
 * cdef SCIP_RETCODE PyConsPrint (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, FILE* file) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)             # <<<<<<<<<<<<<<
 *     # TODO: pass file
 *     PyConshdlr.consprint(PyCons)
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons(__pyx_v_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyCons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":426
 *     PyCons = getPyCons(cons)
 *     # TODO: pass file
 *     PyConshdlr.consprint(PyCons)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_PyCons)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consprint, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":427
 *     # TODO: pass file
 *     PyConshdlr.consprint(PyCons)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsCopy (SCIP* scip, SCIP_CONS** cons, const char* name, SCIP* sourcescip, SCIP_CONSHDLR* sourceconshdlr,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":422
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsPrint (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, FILE* file) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsPrint", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCons);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":429
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsCopy (SCIP* scip, SCIP_CONS** cons, const char* name, SCIP* sourcescip, SCIP_CONSHDLR* sourceconshdlr,             # <<<<<<<<<<<<<<
 *                               SCIP_CONS* sourcecons, SCIP_HASHMAP* varmap, SCIP_HASHMAP* consmap, SCIP_Bool initial,
 *                               SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local,
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_CONS **__pyx_v_cons, CYTHON_UNUSED char const *__pyx_v_name, CYTHON_UNUSED SCIP *__pyx_v_sourcescip, SCIP_CONSHDLR *__pyx_v_sourceconshdlr, CYTHON_UNUSED SCIP_CONS *__pyx_v_sourcecons, CYTHON_UNUSED SCIP_HASHMAP *__pyx_v_varmap, CYTHON_UNUSED SCIP_HASHMAP *__pyx_v_consmap, CYTHON_UNUSED SCIP_Bool __pyx_v_initial, CYTHON_UNUSED SCIP_Bool __pyx_v_separate, CYTHON_UNUSED SCIP_Bool __pyx_v_enforce, CYTHON_UNUSED SCIP_Bool __pyx_v_check, CYTHON_UNUSED SCIP_Bool __pyx_v_propagate, CYTHON_UNUSED SCIP_Bool __pyx_v_local, CYTHON_UNUSED SCIP_Bool __pyx_v_modifiable, CYTHON_UNUSED SCIP_Bool __pyx_v_dynamic, CYTHON_UNUSED SCIP_Bool __pyx_v_removable, CYTHON_UNUSED SCIP_Bool __pyx_v_stickingatnode, CYTHON_UNUSED SCIP_Bool __pyx_v_isglobal, SCIP_Bool *__pyx_v_valid) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsCopy", 0);

  /* "src/pyscipopt/conshdlr.pxi":435
 *                               SCIP_Bool isglobal, SCIP_Bool* valid) noexcept with gil:
 *     # TODO everything!
 *     PyConshdlr = getPyConshdlr(sourceconshdlr)             # <<<<<<<<<<<<<<
 *     PyConshdlr.conscopy()
 *     valid[0] = False
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_sourceconshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":436
 *     # TODO everything!
 *     PyConshdlr = getPyConshdlr(sourceconshdlr)
 *     PyConshdlr.conscopy()             # <<<<<<<<<<<<<<
 *     valid[0] = False
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_conscopy, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 436, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":437
 *     PyConshdlr = getPyConshdlr(sourceconshdlr)
 *     PyConshdlr.conscopy()
 *     valid[0] = False             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  (__pyx_v_valid[0]) = 0;

  /* "src/pyscipopt/conshdlr.pxi":438
 *     PyConshdlr.conscopy()
 *     valid[0] = False
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsParse (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** cons, const char* name, const char* str,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":429
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsCopy (SCIP* scip, SCIP_CONS** cons, const char* name, SCIP* sourcescip, SCIP_CONSHDLR* sourceconshdlr,             # <<<<<<<<<<<<<<
 *                               SCIP_CONS* sourcecons, SCIP_HASHMAP* varmap, SCIP_HASHMAP* consmap, SCIP_Bool initial,
 *                               SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsCopy", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":440
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsParse (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** cons, const char* name, const char* str,             # <<<<<<<<<<<<<<
 *                                SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate,
 *                                SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable,
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsParse(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, CYTHON_UNUSED SCIP_CONS **__pyx_v_cons, CYTHON_UNUSED char const *__pyx_v_name, CYTHON_UNUSED char const *__pyx_v_str, CYTHON_UNUSED SCIP_Bool __pyx_v_initial, CYTHON_UNUSED SCIP_Bool __pyx_v_separate, CYTHON_UNUSED SCIP_Bool __pyx_v_enforce, CYTHON_UNUSED SCIP_Bool __pyx_v_check, CYTHON_UNUSED SCIP_Bool __pyx_v_propagate, CYTHON_UNUSED SCIP_Bool __pyx_v_local, CYTHON_UNUSED SCIP_Bool __pyx_v_modifiable, CYTHON_UNUSED SCIP_Bool __pyx_v_dynamic, CYTHON_UNUSED SCIP_Bool __pyx_v_removable, CYTHON_UNUSED SCIP_Bool __pyx_v_stickingatnode, SCIP_Bool *__pyx_v_success) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsParse", 0);

  /* "src/pyscipopt/conshdlr.pxi":445
 *                                SCIP_Bool stickingatnode, SCIP_Bool* success) noexcept with gil:
 *     # TODO everything!
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyConshdlr.consparse()
 *     success[0] = False
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 445, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":446
 *     # TODO everything!
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consparse()             # <<<<<<<<<<<<<<
 *     success[0] = False
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consparse, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":447
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consparse()
 *     success[0] = False             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  (__pyx_v_success[0]) = 0;

  /* "src/pyscipopt/conshdlr.pxi":448
 *     PyConshdlr.consparse()
 *     success[0] = False
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsGetvars (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_VAR** vars, int varssize, SCIP_Bool* success) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":440
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsParse (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS** cons, const char* name, const char* str,             # <<<<<<<<<<<<<<
 *                                SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate,
 *                                SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsParse", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":450
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsGetvars (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_VAR** vars, int varssize, SCIP_Bool* success) noexcept with gil:             # <<<<<<<<<<<<<<
 *     # TODO
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsGetvars(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS *__pyx_v_cons, CYTHON_UNUSED SCIP_VAR **__pyx_v_vars, CYTHON_UNUSED int __pyx_v_varssize, SCIP_Bool *__pyx_v_success) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_PyCons = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsGetvars", 0);

  /* "src/pyscipopt/conshdlr.pxi":452
 * cdef SCIP_RETCODE PyConsGetvars (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_VAR** vars, int varssize, SCIP_Bool* success) noexcept with gil:
 *     # TODO
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consgetvars(PyCons)
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":453
 *     # TODO
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)             # <<<<<<<<<<<<<<
 *     PyConshdlr.consgetvars(PyCons)
 *     success[0] = False
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons(__pyx_v_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyCons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":454
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consgetvars(PyCons)             # <<<<<<<<<<<<<<
 *     success[0] = False
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_PyCons)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consgetvars, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 454, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":455
 *     PyCons = getPyCons(cons)
 *     PyConshdlr.consgetvars(PyCons)
 *     success[0] = False             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  (__pyx_v_success[0]) = 0;

  /* "src/pyscipopt/conshdlr.pxi":456
 *     PyConshdlr.consgetvars(PyCons)
 *     success[0] = False
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsGetnvars (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, int* nvars, SCIP_Bool* success) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":450
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsGetvars (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SCIP_VAR** vars, int varssize, SCIP_Bool* success) noexcept with gil:             # <<<<<<<<<<<<<<
 *     # TODO
 *     PyConshdlr = getPyConshdlr(conshdlr)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsGetvars", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCons);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":458
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsGetnvars (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, int* nvars, SCIP_Bool* success) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsGetnvars(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, SCIP_CONS *__pyx_v_cons, int *__pyx_v_nvars, SCIP_Bool *__pyx_v_success) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_PyCons = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  SCIP_Bool __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsGetnvars", 0);

  /* "src/pyscipopt/conshdlr.pxi":459
 * 
 * cdef SCIP_RETCODE PyConsGetnvars (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, int* nvars, SCIP_Bool* success) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyCons = getPyCons(cons)
 *     result_dict = PyConshdlr.consgetnvars(PyCons)
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":460
 * cdef SCIP_RETCODE PyConsGetnvars (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, int* nvars, SCIP_Bool* success) noexcept with gil:
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)             # <<<<<<<<<<<<<<
 *     result_dict = PyConshdlr.consgetnvars(PyCons)
 *     nvars[0] = result_dict.get("nvars", 0)
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyCons(__pyx_v_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyCons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":461
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
 *     result_dict = PyConshdlr.consgetnvars(PyCons)             # <<<<<<<<<<<<<<
 *     nvars[0] = result_dict.get("nvars", 0)
 *     success[0] = result_dict.get("success", False)
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_PyCons)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consgetnvars, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 461, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":462
 *     PyCons = getPyCons(cons)
 *     result_dict = PyConshdlr.consgetnvars(PyCons)
 *     nvars[0] = result_dict.get("nvars", 0)             # <<<<<<<<<<<<<<
 *     success[0] = result_dict.get("success", False)
 *     return SCIP_OKAY
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[7], NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_t_2); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(11, 462, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  (__pyx_v_nvars[0]) = __pyx_t_4;

  /* "src/pyscipopt/conshdlr.pxi":463
 *     result_dict = PyConshdlr.consgetnvars(PyCons)
 *     nvars[0] = result_dict.get("nvars", 0)
 *     success[0] = result_dict.get("success", False)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(11, 463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[8], NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_5 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(11, 463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_success[0]) = __pyx_t_5;

  /* "src/pyscipopt/conshdlr.pxi":464
 *     nvars[0] = result_dict.get("nvars", 0)
 *     success[0] = result_dict.get("success", False)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsGetdivebdchgs (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_DIVESET* diveset, SCIP_SOL* sol,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":458
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsGetnvars (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, int* nvars, SCIP_Bool* success) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyCons = getPyCons(cons)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsGetnvars", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCons);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":466
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsGetdivebdchgs (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_DIVESET* diveset, SCIP_SOL* sol,             # <<<<<<<<<<<<<<
 *                                        SCIP_Bool* success, SCIP_Bool* infeasible) noexcept with gil:
 *     # TODO
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsGetdivebdchgs(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, CYTHON_UNUSED SCIP_DIVESET *__pyx_v_diveset, CYTHON_UNUSED SCIP_SOL *__pyx_v_sol, SCIP_Bool *__pyx_v_success, SCIP_Bool *__pyx_v_infeasible) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsGetdivebdchgs", 0);

  /* "src/pyscipopt/conshdlr.pxi":469
 *                                        SCIP_Bool* success, SCIP_Bool* infeasible) noexcept with gil:
 *     # TODO
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyConshdlr.consgetdivebdchgs()
 *     success[0] = False
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":470
 *     # TODO
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consgetdivebdchgs()             # <<<<<<<<<<<<<<
 *     success[0] = False
 *     infeasible[0] = False
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consgetdivebdchgs, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":471
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consgetdivebdchgs()
 *     success[0] = False             # <<<<<<<<<<<<<<
 *     infeasible[0] = False
 *     return SCIP_OKAY
*/
  (__pyx_v_success[0]) = 0;

  /* "src/pyscipopt/conshdlr.pxi":472
 *     PyConshdlr.consgetdivebdchgs()
 *     success[0] = False
 *     infeasible[0] = False             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  (__pyx_v_infeasible[0]) = 0;

  /* "src/pyscipopt/conshdlr.pxi":473
 *     success[0] = False
 *     infeasible[0] = False
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsGetPermSymGraph (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SYM_GRAPH* graph,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":466
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsGetdivebdchgs (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_DIVESET* diveset, SCIP_SOL* sol,             # <<<<<<<<<<<<<<
 *                                        SCIP_Bool* success, SCIP_Bool* infeasible) noexcept with gil:
 *     # TODO
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsGetdivebdchgs", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":475
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsGetPermSymGraph (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SYM_GRAPH* graph,             # <<<<<<<<<<<<<<
 *                                          SCIP_Bool* success) noexcept with gil:
 *     # TODO
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsGetPermSymGraph(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, CYTHON_UNUSED SCIP_CONS *__pyx_v_cons, CYTHON_UNUSED SYM_GRAPH *__pyx_v_graph, SCIP_Bool *__pyx_v_success) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsGetPermSymGraph", 0);

  /* "src/pyscipopt/conshdlr.pxi":478
 *                                          SCIP_Bool* success) noexcept with gil:
 *     # TODO
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyConshdlr.consgetpermsymgraph()
 *     success[0] = False
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":479
 *     # TODO
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consgetpermsymgraph()             # <<<<<<<<<<<<<<
 *     success[0] = False
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consgetpermsymgraph, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":480
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consgetpermsymgraph()
 *     success[0] = False             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  (__pyx_v_success[0]) = 0;

  /* "src/pyscipopt/conshdlr.pxi":481
 *     PyConshdlr.consgetpermsymgraph()
 *     success[0] = False
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyConsGetSignedPermSymGraph (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SYM_GRAPH* graph,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":475
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsGetPermSymGraph (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SYM_GRAPH* graph,             # <<<<<<<<<<<<<<
 *                                          SCIP_Bool* success) noexcept with gil:
 *     # TODO
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsGetPermSymGraph", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/conshdlr.pxi":483
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsGetSignedPermSymGraph (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SYM_GRAPH* graph,             # <<<<<<<<<<<<<<
 *                                                SCIP_Bool* success) noexcept with gil:
 *     # TODO
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyConsGetSignedPermSymGraph(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CONSHDLR *__pyx_v_conshdlr, CYTHON_UNUSED SCIP_CONS *__pyx_v_cons, CYTHON_UNUSED SYM_GRAPH *__pyx_v_graph, SCIP_Bool *__pyx_v_success) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_PyConshdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyConsGetSignedPermSymGraph", 0);

  /* "src/pyscipopt/conshdlr.pxi":486
 *                                                SCIP_Bool* success) noexcept with gil:
 *     # TODO
 *     PyConshdlr = getPyConshdlr(conshdlr)             # <<<<<<<<<<<<<<
 *     PyConshdlr.consgetsignedpermsymgraph()
 *     success[0] = False
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyConshdlr(__pyx_v_conshdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyConshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":487
 *     # TODO
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consgetsignedpermsymgraph()             # <<<<<<<<<<<<<<
 *     success[0] = False
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_consgetsignedpermsymgraph, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 487, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/conshdlr.pxi":488
 *     PyConshdlr = getPyConshdlr(conshdlr)
 *     PyConshdlr.consgetsignedpermsymgraph()
 *     success[0] = False             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
*/
  (__pyx_v_success[0]) = 0;

  /* "src/pyscipopt/conshdlr.pxi":489
 *     PyConshdlr.consgetsignedpermsymgraph()
 *     success[0] = False
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/conshdlr.pxi":483
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyConsGetSignedPermSymGraph (SCIP* scip, SCIP_CONSHDLR* conshdlr, SCIP_CONS* cons, SYM_GRAPH* graph,             # <<<<<<<<<<<<<<
 *                                                SCIP_Bool* success) noexcept with gil:
 *     # TODO
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyConsGetSignedPermSymGraph", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyConshdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":6
 *   cdef public Model model
 * 
 *   def cutselfree(self):             # <<<<<<<<<<<<<<
 *     '''frees memory of cut selector'''
 *     pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_1cutselfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Cutsel_cutselfree, "frees memory of cut selector");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Cutsel_1cutselfree = {"cutselfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_1cutselfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Cutsel_cutselfree};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_1cutselfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cutselfree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("cutselfree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("cutselfree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Cutsel_cutselfree(((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_cutselfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cutselfree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":10
 *     pass
 * 
 *   def cutselinit(self):             # <<<<<<<<<<<<<<
 *     ''' executed after the problem is transformed. use this call to initialize cut selector data.'''
 *     pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_3cutselinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Cutsel_2cutselinit, " executed after the problem is transformed. use this call to initialize cut selector data.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Cutsel_3cutselinit = {"cutselinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_3cutselinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Cutsel_2cutselinit};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_3cutselinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cutselinit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("cutselinit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("cutselinit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Cutsel_2cutselinit(((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_2cutselinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cutselinit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":14
 *     pass
 * 
 *   def cutselexit(self):             # <<<<<<<<<<<<<<
 *     '''executed before the transformed problem is freed'''
 *     pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_5cutselexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Cutsel_4cutselexit, "executed before the transformed problem is freed");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Cutsel_5cutselexit = {"cutselexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_5cutselexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Cutsel_4cutselexit};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_5cutselexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cutselexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("cutselexit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("cutselexit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Cutsel_4cutselexit(((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_4cutselexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cutselexit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":18
 *     pass
 * 
 *   def cutselinitsol(self):             # <<<<<<<<<<<<<<
 *     '''executed when the presolving is finished and the branch-and-bound process is about to begin'''
 *     pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_7cutselinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Cutsel_6cutselinitsol, "executed when the presolving is finished and the branch-and-bound process is about to begin");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Cutsel_7cutselinitsol = {"cutselinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_7cutselinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Cutsel_6cutselinitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_7cutselinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cutselinitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("cutselinitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("cutselinitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Cutsel_6cutselinitsol(((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_6cutselinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cutselinitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":22
 *     pass
 * 
 *   def cutselexitsol(self):             # <<<<<<<<<<<<<<
 *     '''executed before the branch-and-bound process is freed'''
 *     pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_9cutselexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Cutsel_8cutselexitsol, "executed before the branch-and-bound process is freed");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Cutsel_9cutselexitsol = {"cutselexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_9cutselexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Cutsel_8cutselexitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_9cutselexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cutselexitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("cutselexitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("cutselexitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Cutsel_8cutselexitsol(((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_8cutselexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cutselexitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":26
 *     pass
 * 
 *   def cutselselect(self, cuts, forcedcuts, root, maxnselectedcuts):             # <<<<<<<<<<<<<<
 *     '''first method called in each iteration in the main solving loop. '''
 *     # this method needs to be implemented by the user
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_11cutselselect(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Cutsel_10cutselselect, "first method called in each iteration in the main solving loop. ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Cutsel_11cutselselect = {"cutselselect", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_11cutselselect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Cutsel_10cutselselect};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_11cutselselect(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_cuts = 0;
  CYTHON_UNUSED PyObject *__pyx_v_forcedcuts = 0;
  CYTHON_UNUSED PyObject *__pyx_v_root = 0;
  CYTHON_UNUSED PyObject *__pyx_v_maxnselectedcuts = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cutselselect (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cuts,&__pyx_mstate_global->__pyx_n_u_forcedcuts,&__pyx_mstate_global->__pyx_n_u_root,&__pyx_mstate_global->__pyx_n_u_maxnselectedcuts,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(12, 26, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(12, 26, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(12, 26, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(12, 26, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(12, 26, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cutselselect", 0) < (0)) __PYX_ERR(12, 26, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cutselselect", 1, 4, 4, i); __PYX_ERR(12, 26, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(12, 26, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(12, 26, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(12, 26, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(12, 26, __pyx_L3_error)
    }
    __pyx_v_cuts = values[0];
    __pyx_v_forcedcuts = values[1];
    __pyx_v_root = values[2];
    __pyx_v_maxnselectedcuts = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cutselselect", 1, 4, 4, __pyx_nargs); __PYX_ERR(12, 26, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Cutsel.cutselselect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Cutsel_10cutselselect(((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_v_self), __pyx_v_cuts, __pyx_v_forcedcuts, __pyx_v_root, __pyx_v_maxnselectedcuts);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_10cutselselect(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_cuts, CYTHON_UNUSED PyObject *__pyx_v_forcedcuts, CYTHON_UNUSED PyObject *__pyx_v_root, CYTHON_UNUSED PyObject *__pyx_v_maxnselectedcuts) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cutselselect", 0);

  /* "src/pyscipopt/cutsel.pxi":29
 *     '''first method called in each iteration in the main solving loop. '''
 *     # this method needs to be implemented by the user
 *     return {}             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 29, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/cutsel.pxi":26
 *     pass
 * 
 *   def cutselselect(self, cuts, forcedcuts, root, maxnselectedcuts):             # <<<<<<<<<<<<<<
 *     '''first method called in each iteration in the main solving loop. '''
 *     # this method needs to be implemented by the user
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Cutsel.cutselselect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":4
 * #@brief Base class of the Cutsel Plugin
 * cdef class Cutsel:
 *   cdef public Model model             # <<<<<<<<<<<<<<
 * 
 *   def cutselfree(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Cutsel_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_6Cutsel_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_6Cutsel_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Cutsel_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_6Cutsel_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(12, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Cutsel.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_6Cutsel_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_6Cutsel_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Cutsel_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_6Cutsel_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Cutsel_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Cutsel_12__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_12__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.model,)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->model);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->model)) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.model is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.model is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Cutsel, (type(self), 0x9372c47, None), state
*/
  /*else*/ {
    __pyx_t_2 = (((PyObject *)__pyx_v_self->model) != Py_None);
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Cutsel, (type(self), 0x9372c47, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.model is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Cutsel, (type(self), 0x9372c47, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Cutsel, (type(self), 0x9372c47, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Cutsel); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_154610759);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_154610759);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_154610759) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Cutsel, (type(self), 0x9372c47, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Cutsel, (type(self), 0x9372c47, None), state
 *     else:
 *         return __pyx_unpickle_Cutsel, (type(self), 0x9372c47, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Cutsel__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Cutsel); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_154610759);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_154610759);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_154610759) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Cutsel.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Cutsel, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Cutsel__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Cutsel_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Cutsel_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Cutsel.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Cutsel_14__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Cutsel_14__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Cutsel, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Cutsel__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Cutsel__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Cutsel, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Cutsel__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Cutsel.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":32
 * 
 * 
 * cdef SCIP_RETCODE PyCutselCopy (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_CUTSEL *__pyx_v_cutsel) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/cutsel.pxi":33
 * 
 * cdef SCIP_RETCODE PyCutselCopy (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyCutselFree (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/cutsel.pxi":32
 * 
 * 
 * cdef SCIP_RETCODE PyCutselCopy (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":35
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyCutselFree (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CUTSEL *__pyx_v_cutsel) {
  SCIP_CUTSELDATA *__pyx_v_cutseldata;
  struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_PyCutsel = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyCutselFree", 0);

  /* "src/pyscipopt/cutsel.pxi":37
 * cdef SCIP_RETCODE PyCutselFree (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)             # <<<<<<<<<<<<<<
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselfree()
*/
  __pyx_v_cutseldata = SCIPcutselGetData(__pyx_v_cutsel);

  /* "src/pyscipopt/cutsel.pxi":38
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
 *   PyCutsel = <Cutsel>cutseldata             # <<<<<<<<<<<<<<
 *   PyCutsel.cutselfree()
 *   Py_DECREF(PyCutsel)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_cutseldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyCutsel = ((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":39
 *   cutseldata = SCIPcutselGetData(cutsel)
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselfree()             # <<<<<<<<<<<<<<
 *   Py_DECREF(PyCutsel)
 *   return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyCutsel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_cutselfree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 39, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":40
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselfree()
 *   Py_DECREF(PyCutsel)             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyCutsel));

  /* "src/pyscipopt/cutsel.pxi":41
 *   PyCutsel.cutselfree()
 *   Py_DECREF(PyCutsel)
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyCutselInit (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/cutsel.pxi":35
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyCutselFree (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyCutselFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCutsel);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":43
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyCutselInit (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselInit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CUTSEL *__pyx_v_cutsel) {
  SCIP_CUTSELDATA *__pyx_v_cutseldata;
  struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_PyCutsel = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyCutselInit", 0);

  /* "src/pyscipopt/cutsel.pxi":45
 * cdef SCIP_RETCODE PyCutselInit (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)             # <<<<<<<<<<<<<<
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselinit()
*/
  __pyx_v_cutseldata = SCIPcutselGetData(__pyx_v_cutsel);

  /* "src/pyscipopt/cutsel.pxi":46
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
 *   PyCutsel = <Cutsel>cutseldata             # <<<<<<<<<<<<<<
 *   PyCutsel.cutselinit()
 *   return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_cutseldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyCutsel = ((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":47
 *   cutseldata = SCIPcutselGetData(cutsel)
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselinit()             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyCutsel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_cutselinit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":48
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselinit()
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/cutsel.pxi":43
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyCutselInit (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyCutselInit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCutsel);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":51
 * 
 * 
 * cdef SCIP_RETCODE PyCutselExit (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselExit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CUTSEL *__pyx_v_cutsel) {
  SCIP_CUTSELDATA *__pyx_v_cutseldata;
  struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_PyCutsel = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyCutselExit", 0);

  /* "src/pyscipopt/cutsel.pxi":53
 * cdef SCIP_RETCODE PyCutselExit (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)             # <<<<<<<<<<<<<<
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselexit()
*/
  __pyx_v_cutseldata = SCIPcutselGetData(__pyx_v_cutsel);

  /* "src/pyscipopt/cutsel.pxi":54
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
 *   PyCutsel = <Cutsel>cutseldata             # <<<<<<<<<<<<<<
 *   PyCutsel.cutselexit()
 *   return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_cutseldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyCutsel = ((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":55
 *   cutseldata = SCIPcutselGetData(cutsel)
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselexit()             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyCutsel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_cutselexit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 55, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":56
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselexit()
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyCutselInitsol (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/cutsel.pxi":51
 * 
 * 
 * cdef SCIP_RETCODE PyCutselExit (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyCutselExit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCutsel);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":58
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyCutselInitsol (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselInitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CUTSEL *__pyx_v_cutsel) {
  SCIP_CUTSELDATA *__pyx_v_cutseldata;
  struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_PyCutsel = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyCutselInitsol", 0);

  /* "src/pyscipopt/cutsel.pxi":60
 * cdef SCIP_RETCODE PyCutselInitsol (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)             # <<<<<<<<<<<<<<
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselinitsol()
*/
  __pyx_v_cutseldata = SCIPcutselGetData(__pyx_v_cutsel);

  /* "src/pyscipopt/cutsel.pxi":61
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
 *   PyCutsel = <Cutsel>cutseldata             # <<<<<<<<<<<<<<
 *   PyCutsel.cutselinitsol()
 *   return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_cutseldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyCutsel = ((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":62
 *   cutseldata = SCIPcutselGetData(cutsel)
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselinitsol()             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyCutsel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_cutselinitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":63
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselinitsol()
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyCutselExitsol (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/cutsel.pxi":58
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyCutselInitsol (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyCutselInitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCutsel);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":65
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyCutselExitsol (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselExitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CUTSEL *__pyx_v_cutsel) {
  SCIP_CUTSELDATA *__pyx_v_cutseldata;
  struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_PyCutsel = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyCutselExitsol", 0);

  /* "src/pyscipopt/cutsel.pxi":67
 * cdef SCIP_RETCODE PyCutselExitsol (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)             # <<<<<<<<<<<<<<
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselexitsol()
*/
  __pyx_v_cutseldata = SCIPcutselGetData(__pyx_v_cutsel);

  /* "src/pyscipopt/cutsel.pxi":68
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
 *   PyCutsel = <Cutsel>cutseldata             # <<<<<<<<<<<<<<
 *   PyCutsel.cutselexitsol()
 *   return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_cutseldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyCutsel = ((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":69
 *   cutseldata = SCIPcutselGetData(cutsel)
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselexitsol()             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyCutsel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_cutselexitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":70
 *   PyCutsel = <Cutsel>cutseldata
 *   PyCutsel.cutselexitsol()
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyCutselSelect (SCIP* scip, SCIP_CUTSEL* cutsel, SCIP_ROW** cuts, int ncuts,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/cutsel.pxi":65
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyCutselExitsol (SCIP* scip, SCIP_CUTSEL* cutsel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_CUTSELDATA* cutseldata
 *   cutseldata = SCIPcutselGetData(cutsel)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyCutselExitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCutsel);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/cutsel.pxi":72
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyCutselSelect (SCIP* scip, SCIP_CUTSEL* cutsel, SCIP_ROW** cuts, int ncuts,             # <<<<<<<<<<<<<<
 *                                   SCIP_ROW** forcedcuts, int nforcedcuts, SCIP_Bool root, int maxnselectedcuts,
 *                                   int* nselectedcuts, SCIP_RESULT* result) noexcept with gil:
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyCutselSelect(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_CUTSEL *__pyx_v_cutsel, SCIP_ROW **__pyx_v_cuts, int __pyx_v_ncuts, SCIP_ROW **__pyx_v_forcedcuts, int __pyx_v_nforcedcuts, SCIP_Bool __pyx_v_root, int __pyx_v_maxnselectedcuts, int *__pyx_v_nselectedcuts, SCIP_RESULT *__pyx_v_result) {
  SCIP_CUTSELDATA *__pyx_v_cutseldata;
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_PyCutsel = NULL;
  PyObject *__pyx_v_pycuts = NULL;
  PyObject *__pyx_v_pyforcedcuts = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  PyObject *__pyx_v_cut = NULL;
  int __pyx_8genexpr9__pyx_v_i;
  int __pyx_9genexpr10__pyx_v_i;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  int __pyx_t_10;
  PyObject *(*__pyx_t_11)(PyObject *);
  SCIP_RESULT __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyCutselSelect", 0);

  /* "src/pyscipopt/cutsel.pxi":75
 *                                   SCIP_ROW** forcedcuts, int nforcedcuts, SCIP_Bool root, int maxnselectedcuts,
 *                                   int* nselectedcuts, SCIP_RESULT* result) noexcept with gil:
 *   cdef SCIP_CUTSELDATA* cutseldata = SCIPcutselGetData(cutsel)             # <<<<<<<<<<<<<<
 *   cdef SCIP_ROW* scip_row
 *   cdef int i
*/
  __pyx_v_cutseldata = SCIPcutselGetData(__pyx_v_cutsel);

  /* "src/pyscipopt/cutsel.pxi":79
 *   cdef int i
 * 
 *   PyCutsel = <Cutsel>cutseldata             # <<<<<<<<<<<<<<
 * 
 *   # translate cuts to python
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_cutseldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyCutsel = ((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":82
 * 
 *   # translate cuts to python
 *   pycuts = [Row.create(cuts[i]) for i in range(ncuts)]             # <<<<<<<<<<<<<<
 *   pyforcedcuts = [Row.create(forcedcuts[i]) for i in range(nforcedcuts)]
 *   result_dict = PyCutsel.cutselselect(pycuts, pyforcedcuts, root, maxnselectedcuts)
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_ncuts;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_8genexpr9__pyx_v_i = __pyx_t_4;
      __pyx_t_5 = __pyx_f_9pyscipopt_4scip_3Row_create((__pyx_v_cuts[__pyx_8genexpr9__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(12, 82, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(12, 82, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_pycuts = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":83
 *   # translate cuts to python
 *   pycuts = [Row.create(cuts[i]) for i in range(ncuts)]
 *   pyforcedcuts = [Row.create(forcedcuts[i]) for i in range(nforcedcuts)]             # <<<<<<<<<<<<<<
 *   result_dict = PyCutsel.cutselselect(pycuts, pyforcedcuts, root, maxnselectedcuts)
 * 
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_nforcedcuts;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_9genexpr10__pyx_v_i = __pyx_t_4;
      __pyx_t_5 = __pyx_f_9pyscipopt_4scip_3Row_create((__pyx_v_forcedcuts[__pyx_9genexpr10__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(12, 83, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(12, 83, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_pyforcedcuts = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":84
 *   pycuts = [Row.create(cuts[i]) for i in range(ncuts)]
 *   pyforcedcuts = [Row.create(forcedcuts[i]) for i in range(nforcedcuts)]
 *   result_dict = PyCutsel.cutselselect(pycuts, pyforcedcuts, root, maxnselectedcuts)             # <<<<<<<<<<<<<<
 * 
 *   # Retrieve the sorted cuts. Note that these do not need to be returned explicitly in result_dict.
*/
  __pyx_t_5 = ((PyObject *)__pyx_v_PyCutsel);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_root); if (unlikely(!__pyx_t_6)) __PYX_ERR(12, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_int(__pyx_v_maxnselectedcuts); if (unlikely(!__pyx_t_7)) __PYX_ERR(12, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = 0;
  {
    PyObject *__pyx_callargs[5] = {__pyx_t_5, __pyx_v_pycuts, __pyx_v_pyforcedcuts, __pyx_t_6, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_cutselselect, __pyx_callargs+__pyx_t_8, (5-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":88
 *   # Retrieve the sorted cuts. Note that these do not need to be returned explicitly in result_dict.
 *   # Pycuts could have been sorted in place in cutselselect()
 *   pycuts = result_dict.get('cuts', pycuts)             # <<<<<<<<<<<<<<
 * 
 *   assert len(pycuts) == ncuts
*/
  __pyx_t_7 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_8 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_mstate_global->__pyx_n_u_cuts, __pyx_v_pycuts};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_8, (3-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 88, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF_SET(__pyx_v_pycuts, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":90
 *   pycuts = result_dict.get('cuts', pycuts)
 * 
 *   assert len(pycuts) == ncuts             # <<<<<<<<<<<<<<
 *   assert len(pyforcedcuts) == nforcedcuts
 * 
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_9 = PyObject_Length(__pyx_v_pycuts); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(12, 90, __pyx_L1_error)
    __pyx_t_10 = (__pyx_t_9 == __pyx_v_ncuts);
    if (unlikely(!__pyx_t_10)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(12, 90, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(12, 90, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/cutsel.pxi":91
 * 
 *   assert len(pycuts) == ncuts
 *   assert len(pyforcedcuts) == nforcedcuts             # <<<<<<<<<<<<<<
 * 
 *   #sort cuts
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_9 = __Pyx_PyList_GET_SIZE(__pyx_v_pyforcedcuts); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(12, 91, __pyx_L1_error)
    __pyx_t_10 = (__pyx_t_9 == __pyx_v_nforcedcuts);
    if (unlikely(!__pyx_t_10)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(12, 91, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(12, 91, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/cutsel.pxi":94
 * 
 *   #sort cuts
 *   for i,cut in enumerate(pycuts):             # <<<<<<<<<<<<<<
 *     cuts[i] = <SCIP_ROW *>((<Row>cut).scip_row)
 * 
*/
  __pyx_t_2 = 0;
  if (likely(PyList_CheckExact(__pyx_v_pycuts)) || PyTuple_CheckExact(__pyx_v_pycuts)) {
    __pyx_t_1 = __pyx_v_pycuts; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_9 = 0;
    __pyx_t_11 = NULL;
  } else {
    __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_pycuts); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 94, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(12, 94, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_11)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(12, 94, __pyx_L1_error)
          #endif
          if (__pyx_t_9 >= __pyx_temp) break;
        }
        __pyx_t_7 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_9, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_9;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(12, 94, __pyx_L1_error)
          #endif
          if (__pyx_t_9 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_7 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9));
        #else
        __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_9);
        #endif
        ++__pyx_t_9;
      }
      if (unlikely(!__pyx_t_7)) __PYX_ERR(12, 94, __pyx_L1_error)
    } else {
      __pyx_t_7 = __pyx_t_11(__pyx_t_1);
      if (unlikely(!__pyx_t_7)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(12, 94, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_XDECREF_SET(__pyx_v_cut, __pyx_t_7);
    __pyx_t_7 = 0;
    __pyx_v_i = __pyx_t_2;
    __pyx_t_2 = (__pyx_t_2 + 1);

    /* "src/pyscipopt/cutsel.pxi":95
 *   #sort cuts
 *   for i,cut in enumerate(pycuts):
 *     cuts[i] = <SCIP_ROW *>((<Row>cut).scip_row)             # <<<<<<<<<<<<<<
 * 
 *   nselectedcuts[0] = result_dict.get('nselectedcuts', 0)
*/
    (__pyx_v_cuts[__pyx_v_i]) = ((SCIP_ROW *)((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_cut)->scip_row);

    /* "src/pyscipopt/cutsel.pxi":94
 * 
 *   #sort cuts
 *   for i,cut in enumerate(pycuts):             # <<<<<<<<<<<<<<
 *     cuts[i] = <SCIP_ROW *>((<Row>cut).scip_row)
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/cutsel.pxi":97
 *     cuts[i] = <SCIP_ROW *>((<Row>cut).scip_row)
 * 
 *   nselectedcuts[0] = result_dict.get('nselectedcuts', 0)             # <<<<<<<<<<<<<<
 *   result[0] = result_dict.get('result', <SCIP_RESULT>result[0])
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[9], NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(12, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __Pyx_PyLong_As_int(__pyx_t_7); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(12, 97, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  (__pyx_v_nselectedcuts[0]) = __pyx_t_2;

  /* "src/pyscipopt/cutsel.pxi":98
 * 
 *   nselectedcuts[0] = result_dict.get('nselectedcuts', 0)
 *   result[0] = result_dict.get('result', <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 * 
 *   return SCIP_OKAY
*/
  __pyx_t_1 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_6)) __PYX_ERR(12, 98, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_8 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_6};
    __pyx_t_7 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_8, (3-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(12, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_12 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_7); if (unlikely((__pyx_t_12 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(12, 98, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  (__pyx_v_result[0]) = __pyx_t_12;

  /* "src/pyscipopt/cutsel.pxi":100
 *   result[0] = result_dict.get('result', <SCIP_RESULT>result[0])
 * 
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/cutsel.pxi":72
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyCutselSelect (SCIP* scip, SCIP_CUTSEL* cutsel, SCIP_ROW** cuts, int ncuts,             # <<<<<<<<<<<<<<
 *                                   SCIP_ROW** forcedcuts, int nforcedcuts, SCIP_Bool root, int maxnselectedcuts,
 *                                   int* nselectedcuts, SCIP_RESULT* result) noexcept with gil:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyCutselSelect", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyCutsel);
  __Pyx_XDECREF(__pyx_v_pycuts);
  __Pyx_XDECREF(__pyx_v_pyforcedcuts);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_XDECREF(__pyx_v_cut);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":7
 *     cdef public str name
 * 
 *     def eventcopy(self):             # <<<<<<<<<<<<<<
 *         '''sets copy callback for all events of this event handler '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_1eventcopy(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_9Eventhdlr_eventcopy, "sets copy callback for all events of this event handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9Eventhdlr_1eventcopy = {"eventcopy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_1eventcopy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_eventcopy};
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_1eventcopy(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventcopy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("eventcopy", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("eventcopy", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_eventcopy(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_eventcopy(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventcopy", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":11
 *         pass
 * 
 *     def eventfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of event handler '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_3eventfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_9Eventhdlr_2eventfree, "calls destructor and frees memory of event handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9Eventhdlr_3eventfree = {"eventfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_3eventfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_2eventfree};
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_3eventfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventfree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("eventfree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("eventfree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_2eventfree(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_2eventfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventfree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":15
 *         pass
 * 
 *     def eventinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes event handler'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_5eventinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_9Eventhdlr_4eventinit, "initializes event handler");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9Eventhdlr_5eventinit = {"eventinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_5eventinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_4eventinit};
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_5eventinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventinit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("eventinit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("eventinit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_4eventinit(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_4eventinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventinit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":19
 *         pass
 * 
 *     def eventexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of event handler'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_7eventexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_9Eventhdlr_6eventexit, "calls exit method of event handler");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9Eventhdlr_7eventexit = {"eventexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_7eventexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_6eventexit};
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_7eventexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("eventexit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("eventexit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_6eventexit(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_6eventexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventexit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":23
 *         pass
 * 
 *     def eventinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs event handler that the branch and bound process is being started '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_9eventinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_9Eventhdlr_8eventinitsol, "informs event handler that the branch and bound process is being started ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9Eventhdlr_9eventinitsol = {"eventinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_9eventinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_8eventinitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_9eventinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventinitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("eventinitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("eventinitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_8eventinitsol(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_8eventinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventinitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":27
 *         pass
 * 
 *     def eventexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs event handler that the branch and bound process data is being freed '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_11eventexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_9Eventhdlr_10eventexitsol, "informs event handler that the branch and bound process data is being freed ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9Eventhdlr_11eventexitsol = {"eventexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_11eventexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_10eventexitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_11eventexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventexitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("eventexitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("eventexitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_10eventexitsol(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_10eventexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventexitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":31
 *         pass
 * 
 *     def eventdelete(self):             # <<<<<<<<<<<<<<
 *         '''sets callback to free specific event data'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_13eventdelete(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_9Eventhdlr_12eventdelete, "sets callback to free specific event data");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9Eventhdlr_13eventdelete = {"eventdelete", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_13eventdelete, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_12eventdelete};
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_13eventdelete(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventdelete (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("eventdelete", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("eventdelete", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_12eventdelete(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_12eventdelete(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventdelete", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":35
 *         pass
 * 
 *     def eventexec(self, event):             # <<<<<<<<<<<<<<
 *         '''calls execution method of event handler '''
 *         raise NotImplementedError("eventexec() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_15eventexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_9Eventhdlr_14eventexec, "calls execution method of event handler ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9Eventhdlr_15eventexec = {"eventexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_15eventexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_14eventexec};
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_15eventexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_event = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventexec (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_event,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(13, 35, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(13, 35, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "eventexec", 0) < (0)) __PYX_ERR(13, 35, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("eventexec", 1, 1, 1, i); __PYX_ERR(13, 35, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(13, 35, __pyx_L3_error)
    }
    __pyx_v_event = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("eventexec", 1, 1, 1, __pyx_nargs); __PYX_ERR(13, 35, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Eventhdlr.eventexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_14eventexec(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self), __pyx_v_event);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_14eventexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_event) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("eventexec", 0);

  /* "src/pyscipopt/event.pxi":37
 *     def eventexec(self, event):
 *         '''calls execution method of event handler '''
 *         raise NotImplementedError("eventexec() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_eventexec_is_a_fundamental_callb};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 37, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(13, 37, __pyx_L1_error)

  /* "src/pyscipopt/event.pxi":35
 *         pass
 * 
 *     def eventexec(self, event):             # <<<<<<<<<<<<<<
 *         '''calls execution method of event handler '''
 *         raise NotImplementedError("eventexec() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Eventhdlr.eventexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":4
 * #@brief Base class of the Event Handler Plugin
 * cdef class Eventhdlr:
 *     cdef public Model model             # <<<<<<<<<<<<<<
 *     cdef public str name
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_9Eventhdlr_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_9Eventhdlr_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_9Eventhdlr_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(13, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Eventhdlr.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_9Eventhdlr_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_9Eventhdlr_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_9Eventhdlr_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":5
 * cdef class Eventhdlr:
 *     cdef public Model model
 *     cdef public str name             # <<<<<<<<<<<<<<
 * 
 *     def eventcopy(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_4name___get__(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->name);
  __pyx_r = __pyx_v_self->name;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_9Eventhdlr_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_9Eventhdlr_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_4name_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_9Eventhdlr_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(13, 5, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Eventhdlr.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_9Eventhdlr_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_9Eventhdlr_4name_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_4name_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_9Eventhdlr_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9Eventhdlr_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_16__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_16__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.model, self.name)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->model);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->model)) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->name);
  __Pyx_GIVEREF(__pyx_v_self->name);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->name) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.model is not None or self.name is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Eventhdlr, (type(self), 0x48f811e, None), state
*/
  /*else*/ {
    __pyx_t_3 = (((PyObject *)__pyx_v_self->model) != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->name != ((PyObject*)Py_None));
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Eventhdlr, (type(self), 0x48f811e, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Eventhdlr, (type(self), 0x48f811e, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Eventhdlr, (type(self), 0x48f811e, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Eventhdlr); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76513566);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76513566);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76513566) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Eventhdlr, (type(self), 0x48f811e, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Eventhdlr, (type(self), 0x48f811e, None), state
 *     else:
 *         return __pyx_unpickle_Eventhdlr, (type(self), 0x48f811e, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Eventhdlr__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Eventhdlr); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76513566);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76513566);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76513566) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Eventhdlr.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Eventhdlr, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Eventhdlr__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9Eventhdlr_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_9Eventhdlr_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Eventhdlr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9Eventhdlr_18__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9Eventhdlr_18__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Eventhdlr, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Eventhdlr__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Eventhdlr__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Eventhdlr, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Eventhdlr__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Eventhdlr.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":41
 * 
 * # local helper functions for the interface
 * cdef Eventhdlr getPyEventhdlr(SCIP_EVENTHDLR* eventhdlr):             # <<<<<<<<<<<<<<
 *     cdef SCIP_EVENTHDLRDATA* eventhdlrdata
 *     eventhdlrdata = SCIPeventhdlrGetData(eventhdlr)
*/

static struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_f_9pyscipopt_4scip_getPyEventhdlr(SCIP_EVENTHDLR *__pyx_v_eventhdlr) {
  SCIP_EVENTHDLRDATA *__pyx_v_eventhdlrdata;
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPyEventhdlr", 0);

  /* "src/pyscipopt/event.pxi":43
 * cdef Eventhdlr getPyEventhdlr(SCIP_EVENTHDLR* eventhdlr):
 *     cdef SCIP_EVENTHDLRDATA* eventhdlrdata
 *     eventhdlrdata = SCIPeventhdlrGetData(eventhdlr)             # <<<<<<<<<<<<<<
 *     return <Eventhdlr>eventhdlrdata
 * 
*/
  __pyx_v_eventhdlrdata = SCIPeventhdlrGetData(__pyx_v_eventhdlr);

  /* "src/pyscipopt/event.pxi":44
 *     cdef SCIP_EVENTHDLRDATA* eventhdlrdata
 *     eventhdlrdata = SCIPeventhdlrGetData(eventhdlr)
 *     return <Eventhdlr>eventhdlrdata             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyEventCopy (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
*/
  __Pyx_XDECREF((PyObject *)__pyx_r);
  __Pyx_INCREF((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_eventhdlrdata));
  __pyx_r = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v_eventhdlrdata);
  goto __pyx_L0;

  /* "src/pyscipopt/event.pxi":41
 * 
 * # local helper functions for the interface
 * cdef Eventhdlr getPyEventhdlr(SCIP_EVENTHDLR* eventhdlr):             # <<<<<<<<<<<<<<
 *     cdef SCIP_EVENTHDLRDATA* eventhdlrdata
 *     eventhdlrdata = SCIPeventhdlrGetData(eventhdlr)
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":46
 *     return <Eventhdlr>eventhdlrdata
 * 
 * cdef SCIP_RETCODE PyEventCopy (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventcopy()
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_EVENTHDLR *__pyx_v_eventhdlr) {
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_PyEventhdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyEventCopy", 0);

  /* "src/pyscipopt/event.pxi":47
 * 
 * cdef SCIP_RETCODE PyEventCopy (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)             # <<<<<<<<<<<<<<
 *     PyEventhdlr.eventcopy()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyEventhdlr(__pyx_v_eventhdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 47, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyEventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":48
 * cdef SCIP_RETCODE PyEventCopy (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventcopy()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_eventcopy, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 48, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":49
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventcopy()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyEventFree (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/event.pxi":46
 *     return <Eventhdlr>eventhdlrdata
 * 
 * cdef SCIP_RETCODE PyEventCopy (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventcopy()
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyEventCopy", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":51
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventFree (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventfree()
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_EVENTHDLR *__pyx_v_eventhdlr) {
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_PyEventhdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyEventFree", 0);

  /* "src/pyscipopt/event.pxi":52
 * 
 * cdef SCIP_RETCODE PyEventFree (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)             # <<<<<<<<<<<<<<
 *     PyEventhdlr.eventfree()
 *     Py_DECREF(PyEventhdlr)
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyEventhdlr(__pyx_v_eventhdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyEventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":53
 * cdef SCIP_RETCODE PyEventFree (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventfree()             # <<<<<<<<<<<<<<
 *     Py_DECREF(PyEventhdlr)
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_eventfree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 53, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":54
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventfree()
 *     Py_DECREF(PyEventhdlr)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyEventhdlr));

  /* "src/pyscipopt/event.pxi":55
 *     PyEventhdlr.eventfree()
 *     Py_DECREF(PyEventhdlr)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyEventInit (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/event.pxi":51
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventFree (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventfree()
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyEventFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":57
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventInit (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventinit()
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventInit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_EVENTHDLR *__pyx_v_eventhdlr) {
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_PyEventhdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyEventInit", 0);

  /* "src/pyscipopt/event.pxi":58
 * 
 * cdef SCIP_RETCODE PyEventInit (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)             # <<<<<<<<<<<<<<
 *     PyEventhdlr.eventinit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyEventhdlr(__pyx_v_eventhdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyEventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":59
 * cdef SCIP_RETCODE PyEventInit (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventinit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_eventinit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 59, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":60
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventinit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyEventExit (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/event.pxi":57
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventInit (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventinit()
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyEventInit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":62
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventExit (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventexit()
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventExit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_EVENTHDLR *__pyx_v_eventhdlr) {
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_PyEventhdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyEventExit", 0);

  /* "src/pyscipopt/event.pxi":63
 * 
 * cdef SCIP_RETCODE PyEventExit (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)             # <<<<<<<<<<<<<<
 *     PyEventhdlr.eventexit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyEventhdlr(__pyx_v_eventhdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyEventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":64
 * cdef SCIP_RETCODE PyEventExit (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventexit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_eventexit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 64, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":65
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventexit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyEventInitsol (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/event.pxi":62
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventExit (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventexit()
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyEventExit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":67
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventInitsol (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventinitsol()
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventInitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_EVENTHDLR *__pyx_v_eventhdlr) {
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_PyEventhdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyEventInitsol", 0);

  /* "src/pyscipopt/event.pxi":68
 * 
 * cdef SCIP_RETCODE PyEventInitsol (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)             # <<<<<<<<<<<<<<
 *     PyEventhdlr.eventinitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyEventhdlr(__pyx_v_eventhdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 68, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyEventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":69
 * cdef SCIP_RETCODE PyEventInitsol (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventinitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_eventinitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":70
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventinitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyEventExitsol (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/event.pxi":67
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventInitsol (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventinitsol()
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyEventInitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":72
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventExitsol (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventexitsol()
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventExitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_EVENTHDLR *__pyx_v_eventhdlr) {
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_PyEventhdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyEventExitsol", 0);

  /* "src/pyscipopt/event.pxi":73
 * 
 * cdef SCIP_RETCODE PyEventExitsol (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)             # <<<<<<<<<<<<<<
 *     PyEventhdlr.eventexitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyEventhdlr(__pyx_v_eventhdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 73, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyEventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":74
 * cdef SCIP_RETCODE PyEventExitsol (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventexitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_eventexitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 74, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":75
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventexitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyEventDelete (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENTDATA** eventdata) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/event.pxi":72
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventExitsol (SCIP* scip, SCIP_EVENTHDLR* eventhdlr) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventexitsol()
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyEventExitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":77
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventDelete (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENTDATA** eventdata) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventdelete()
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventDelete(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_EVENTHDLR *__pyx_v_eventhdlr, CYTHON_UNUSED SCIP_EVENTDATA **__pyx_v_eventdata) {
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_PyEventhdlr = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyEventDelete", 0);

  /* "src/pyscipopt/event.pxi":78
 * 
 * cdef SCIP_RETCODE PyEventDelete (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENTDATA** eventdata) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)             # <<<<<<<<<<<<<<
 *     PyEventhdlr.eventdelete()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyEventhdlr(__pyx_v_eventhdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyEventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":79
 * cdef SCIP_RETCODE PyEventDelete (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENTDATA** eventdata) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventdelete()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_eventdelete, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 79, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":80
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventdelete()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyEventExec (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENT* event, SCIP_EVENTDATA* eventdata) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/event.pxi":77
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventDelete (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENTDATA** eventdata) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEventhdlr.eventdelete()
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyEventDelete", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/event.pxi":82
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventExec (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENT* event, SCIP_EVENTDATA* eventdata) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEvent = Event()
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyEventExec(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_EVENTHDLR *__pyx_v_eventhdlr, SCIP_EVENT *__pyx_v_event, CYTHON_UNUSED SCIP_EVENTDATA *__pyx_v_eventdata) {
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_PyEventhdlr = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_PyEvent = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyEventExec", 0);

  /* "src/pyscipopt/event.pxi":83
 * 
 * cdef SCIP_RETCODE PyEventExec (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENT* event, SCIP_EVENTDATA* eventdata) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)             # <<<<<<<<<<<<<<
 *     PyEvent = Event()
 *     PyEvent.event = event
*/
  __pyx_t_1 = ((PyObject *)__pyx_f_9pyscipopt_4scip_getPyEventhdlr(__pyx_v_eventhdlr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyEventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":84
 * cdef SCIP_RETCODE PyEventExec (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENT* event, SCIP_EVENTDATA* eventdata) noexcept with gil:
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEvent = Event()             # <<<<<<<<<<<<<<
 *     PyEvent.event = event
 *     PyEventhdlr.eventexec(PyEvent)
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Event, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 84, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_PyEvent = ((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":85
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEvent = Event()
 *     PyEvent.event = event             # <<<<<<<<<<<<<<
 *     PyEventhdlr.eventexec(PyEvent)
 *     return SCIP_OKAY
*/
  __pyx_v_PyEvent->event = __pyx_v_event;

  /* "src/pyscipopt/event.pxi":86
 *     PyEvent = Event()
 *     PyEvent.event = event
 *     PyEventhdlr.eventexec(PyEvent)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_PyEvent)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_eventexec, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(13, 86, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/event.pxi":87
 *     PyEvent.event = event
 *     PyEventhdlr.eventexec(PyEvent)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/event.pxi":82
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyEventExec (SCIP* scip, SCIP_EVENTHDLR* eventhdlr, SCIP_EVENT* event, SCIP_EVENTDATA* eventdata) noexcept with gil:             # <<<<<<<<<<<<<<
 *     PyEventhdlr = getPyEventhdlr(eventhdlr)
 *     PyEvent = Event()
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyEventExec", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyEventhdlr);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyEvent);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":7
 *     cdef public str name
 * 
 *     def heurfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of primal heuristic'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_1heurfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Heur_heurfree, "calls destructor and frees memory of primal heuristic");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Heur_1heurfree = {"heurfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_1heurfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Heur_heurfree};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_1heurfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("heurfree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("heurfree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("heurfree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_heurfree(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_heurfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("heurfree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":11
 *         pass
 * 
 *     def heurinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes primal heuristic'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_3heurinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Heur_2heurinit, "initializes primal heuristic");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Heur_3heurinit = {"heurinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_3heurinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Heur_2heurinit};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_3heurinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("heurinit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("heurinit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("heurinit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_2heurinit(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_2heurinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("heurinit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":15
 *         pass
 * 
 *     def heurexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of primal heuristic'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_5heurexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Heur_4heurexit, "calls exit method of primal heuristic");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Heur_5heurexit = {"heurexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_5heurexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Heur_4heurexit};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_5heurexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("heurexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("heurexit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("heurexit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_4heurexit(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_4heurexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("heurexit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":19
 *         pass
 * 
 *     def heurinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs primal heuristic that the branch and bound process is being started'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_7heurinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Heur_6heurinitsol, "informs primal heuristic that the branch and bound process is being started");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Heur_7heurinitsol = {"heurinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_7heurinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Heur_6heurinitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_7heurinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("heurinitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("heurinitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("heurinitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_6heurinitsol(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_6heurinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("heurinitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":23
 *         pass
 * 
 *     def heurexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs primal heuristic that the branch and bound process data is being freed'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_9heurexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Heur_8heurexitsol, "informs primal heuristic that the branch and bound process data is being freed");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Heur_9heurexitsol = {"heurexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_9heurexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Heur_8heurexitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_9heurexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("heurexitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("heurexitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("heurexitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_8heurexitsol(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_8heurexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("heurexitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":27
 *         pass
 * 
 *     def heurexec(self, heurtiming, nodeinfeasible):             # <<<<<<<<<<<<<<
 *         '''should the heuristic the executed at the given depth, frequency, timing,...'''
 *         raise NotImplementedError("heurexec() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_11heurexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Heur_10heurexec, "should the heuristic the executed at the given depth, frequency, timing,...");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Heur_11heurexec = {"heurexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_11heurexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Heur_10heurexec};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_11heurexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_heurtiming = 0;
  CYTHON_UNUSED PyObject *__pyx_v_nodeinfeasible = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("heurexec (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_heurtiming,&__pyx_mstate_global->__pyx_n_u_nodeinfeasible,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(14, 27, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(14, 27, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(14, 27, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "heurexec", 0) < (0)) __PYX_ERR(14, 27, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("heurexec", 1, 2, 2, i); __PYX_ERR(14, 27, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(14, 27, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(14, 27, __pyx_L3_error)
    }
    __pyx_v_heurtiming = values[0];
    __pyx_v_nodeinfeasible = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("heurexec", 1, 2, 2, __pyx_nargs); __PYX_ERR(14, 27, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Heur.heurexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_10heurexec(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self), __pyx_v_heurtiming, __pyx_v_nodeinfeasible);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_10heurexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_heurtiming, CYTHON_UNUSED PyObject *__pyx_v_nodeinfeasible) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("heurexec", 0);

  /* "src/pyscipopt/heuristic.pxi":29
 *     def heurexec(self, heurtiming, nodeinfeasible):
 *         '''should the heuristic the executed at the given depth, frequency, timing,...'''
 *         raise NotImplementedError("heurexec() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_heurexec_is_a_fundamental_callba};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 29, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(14, 29, __pyx_L1_error)

  /* "src/pyscipopt/heuristic.pxi":27
 *         pass
 * 
 *     def heurexec(self, heurtiming, nodeinfeasible):             # <<<<<<<<<<<<<<
 *         '''should the heuristic the executed at the given depth, frequency, timing,...'''
 *         raise NotImplementedError("heurexec() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Heur.heurexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":4
 * #@brief Base class of the Heuristics Plugin
 * cdef class Heur:
 *     cdef public Model model             # <<<<<<<<<<<<<<
 *     cdef public str name
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Heur_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Heur_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Heur_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(14, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Heur.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Heur_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Heur_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Heur_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":5
 * cdef class Heur:
 *     cdef public Model model
 *     cdef public str name             # <<<<<<<<<<<<<<
 * 
 *     def heurfree(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_4name___get__(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->name);
  __pyx_r = __pyx_v_self->name;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Heur_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Heur_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_4name_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Heur_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(14, 5, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Heur.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Heur_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Heur_4name_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_4name_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Heur_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Heur_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_12__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_12__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.model, self.name)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->model);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->model)) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->name);
  __Pyx_GIVEREF(__pyx_v_self->name);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->name) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.model is not None or self.name is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Heur, (type(self), 0x48f811e, None), state
*/
  /*else*/ {
    __pyx_t_3 = (((PyObject *)__pyx_v_self->model) != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->name != ((PyObject*)Py_None));
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Heur, (type(self), 0x48f811e, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Heur, (type(self), 0x48f811e, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Heur, (type(self), 0x48f811e, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Heur); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76513566);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76513566);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76513566) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Heur, (type(self), 0x48f811e, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Heur, (type(self), 0x48f811e, None), state
 *     else:
 *         return __pyx_unpickle_Heur, (type(self), 0x48f811e, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Heur__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Heur); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76513566);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76513566);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76513566) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Heur.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Heur, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Heur__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Heur_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Heur_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Heur.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Heur_14__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Heur_14__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Heur, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Heur__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Heur__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Heur, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Heur__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Heur.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":33
 * 
 * 
 * cdef SCIP_RETCODE PyHeurCopy (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_HEUR *__pyx_v_heur) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/heuristic.pxi":34
 * 
 * cdef SCIP_RETCODE PyHeurCopy (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyHeurFree (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/heuristic.pxi":33
 * 
 * 
 * cdef SCIP_RETCODE PyHeurCopy (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":36
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyHeurFree (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_HEUR *__pyx_v_heur) {
  SCIP_HEURDATA *__pyx_v_heurdata;
  struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_PyHeur = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyHeurFree", 0);

  /* "src/pyscipopt/heuristic.pxi":38
 * cdef SCIP_RETCODE PyHeurFree (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)             # <<<<<<<<<<<<<<
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurfree()
*/
  __pyx_v_heurdata = SCIPheurGetData(__pyx_v_heur);

  /* "src/pyscipopt/heuristic.pxi":39
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
 *     PyHeur = <Heur>heurdata             # <<<<<<<<<<<<<<
 *     PyHeur.heurfree()
 *     Py_DECREF(PyHeur)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_heurdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyHeur = ((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/heuristic.pxi":40
 *     heurdata = SCIPheurGetData(heur)
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurfree()             # <<<<<<<<<<<<<<
 *     Py_DECREF(PyHeur)
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyHeur);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_heurfree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 40, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/heuristic.pxi":41
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurfree()
 *     Py_DECREF(PyHeur)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyHeur));

  /* "src/pyscipopt/heuristic.pxi":42
 *     PyHeur.heurfree()
 *     Py_DECREF(PyHeur)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyHeurInit (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/heuristic.pxi":36
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyHeurFree (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyHeurFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyHeur);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":44
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyHeurInit (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurInit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_HEUR *__pyx_v_heur) {
  SCIP_HEURDATA *__pyx_v_heurdata;
  struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_PyHeur = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyHeurInit", 0);

  /* "src/pyscipopt/heuristic.pxi":46
 * cdef SCIP_RETCODE PyHeurInit (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)             # <<<<<<<<<<<<<<
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurinit()
*/
  __pyx_v_heurdata = SCIPheurGetData(__pyx_v_heur);

  /* "src/pyscipopt/heuristic.pxi":47
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
 *     PyHeur = <Heur>heurdata             # <<<<<<<<<<<<<<
 *     PyHeur.heurinit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_heurdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyHeur = ((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/heuristic.pxi":48
 *     heurdata = SCIPheurGetData(heur)
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurinit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyHeur);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_heurinit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 48, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/heuristic.pxi":49
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurinit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyHeurExit (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/heuristic.pxi":44
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyHeurInit (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyHeurInit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyHeur);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":51
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyHeurExit (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurExit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_HEUR *__pyx_v_heur) {
  SCIP_HEURDATA *__pyx_v_heurdata;
  struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_PyHeur = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyHeurExit", 0);

  /* "src/pyscipopt/heuristic.pxi":53
 * cdef SCIP_RETCODE PyHeurExit (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)             # <<<<<<<<<<<<<<
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurexit()
*/
  __pyx_v_heurdata = SCIPheurGetData(__pyx_v_heur);

  /* "src/pyscipopt/heuristic.pxi":54
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
 *     PyHeur = <Heur>heurdata             # <<<<<<<<<<<<<<
 *     PyHeur.heurexit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_heurdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyHeur = ((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/heuristic.pxi":55
 *     heurdata = SCIPheurGetData(heur)
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurexit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyHeur);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_heurexit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 55, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/heuristic.pxi":56
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurexit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyHeurInitsol (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/heuristic.pxi":51
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyHeurExit (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyHeurExit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyHeur);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":58
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyHeurInitsol (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurInitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_HEUR *__pyx_v_heur) {
  SCIP_HEURDATA *__pyx_v_heurdata;
  struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_PyHeur = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyHeurInitsol", 0);

  /* "src/pyscipopt/heuristic.pxi":60
 * cdef SCIP_RETCODE PyHeurInitsol (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)             # <<<<<<<<<<<<<<
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurinitsol()
*/
  __pyx_v_heurdata = SCIPheurGetData(__pyx_v_heur);

  /* "src/pyscipopt/heuristic.pxi":61
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
 *     PyHeur = <Heur>heurdata             # <<<<<<<<<<<<<<
 *     PyHeur.heurinitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_heurdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyHeur = ((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/heuristic.pxi":62
 *     heurdata = SCIPheurGetData(heur)
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurinitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyHeur);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_heurinitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/heuristic.pxi":63
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurinitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyHeurExitsol (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/heuristic.pxi":58
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyHeurInitsol (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyHeurInitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyHeur);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":65
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyHeurExitsol (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurExitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_HEUR *__pyx_v_heur) {
  SCIP_HEURDATA *__pyx_v_heurdata;
  struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_PyHeur = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyHeurExitsol", 0);

  /* "src/pyscipopt/heuristic.pxi":67
 * cdef SCIP_RETCODE PyHeurExitsol (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)             # <<<<<<<<<<<<<<
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurexitsol()
*/
  __pyx_v_heurdata = SCIPheurGetData(__pyx_v_heur);

  /* "src/pyscipopt/heuristic.pxi":68
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
 *     PyHeur = <Heur>heurdata             # <<<<<<<<<<<<<<
 *     PyHeur.heurexitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_heurdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyHeur = ((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/heuristic.pxi":69
 *     heurdata = SCIPheurGetData(heur)
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurexitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyHeur);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_heurexitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/heuristic.pxi":70
 *     PyHeur = <Heur>heurdata
 *     PyHeur.heurexitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyHeurExec (SCIP* scip, SCIP_HEUR* heur, SCIP_HEURTIMING heurtiming, SCIP_Bool nodeinfeasible, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/heuristic.pxi":65
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyHeurExitsol (SCIP* scip, SCIP_HEUR* heur) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyHeurExitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyHeur);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/heuristic.pxi":72
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyHeurExec (SCIP* scip, SCIP_HEUR* heur, SCIP_HEURTIMING heurtiming, SCIP_Bool nodeinfeasible, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyHeurExec(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_HEUR *__pyx_v_heur, SCIP_HEURTIMING __pyx_v_heurtiming, SCIP_Bool __pyx_v_nodeinfeasible, SCIP_RESULT *__pyx_v_result) {
  SCIP_HEURDATA *__pyx_v_heurdata;
  struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_PyHeur = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  SCIP_RESULT __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyHeurExec", 0);

  /* "src/pyscipopt/heuristic.pxi":74
 * cdef SCIP_RETCODE PyHeurExec (SCIP* scip, SCIP_HEUR* heur, SCIP_HEURTIMING heurtiming, SCIP_Bool nodeinfeasible, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)             # <<<<<<<<<<<<<<
 *     PyHeur = <Heur>heurdata
 *     result_dict = PyHeur.heurexec(heurtiming, nodeinfeasible)
*/
  __pyx_v_heurdata = SCIPheurGetData(__pyx_v_heur);

  /* "src/pyscipopt/heuristic.pxi":75
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
 *     PyHeur = <Heur>heurdata             # <<<<<<<<<<<<<<
 *     result_dict = PyHeur.heurexec(heurtiming, nodeinfeasible)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_heurdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyHeur = ((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/heuristic.pxi":76
 *     heurdata = SCIPheurGetData(heur)
 *     PyHeur = <Heur>heurdata
 *     result_dict = PyHeur.heurexec(heurtiming, nodeinfeasible)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyHeur);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_SCIP_HEURTIMING(__pyx_v_heurtiming); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_nodeinfeasible); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_heurexec, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 76, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/heuristic.pxi":77
 *     PyHeur = <Heur>heurdata
 *     result_dict = PyHeur.heurexec(heurtiming, nodeinfeasible)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
*/
  __pyx_t_4 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(14, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_6 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_6 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(14, 77, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_6;

  /* "src/pyscipopt/heuristic.pxi":78
 *     result_dict = PyHeur.heurexec(heurtiming, nodeinfeasible)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/heuristic.pxi":72
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyHeurExec (SCIP* scip, SCIP_HEUR* heur, SCIP_HEURTIMING heurtiming, SCIP_Bool nodeinfeasible, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_HEURDATA* heurdata
 *     heurdata = SCIPheurGetData(heur)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyHeurExec", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyHeur);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/iisfinder.pxi":8
 *     cdef SCIP_IISFINDER* scip_iisfinder
 * 
 *     def iisfinderfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of iis finder'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9IISfinder_1iisfinderfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_9IISfinder_iisfinderfree, "calls destructor and frees memory of iis finder");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9IISfinder_1iisfinderfree = {"iisfinderfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9IISfinder_1iisfinderfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9IISfinder_iisfinderfree};
static PyObject *__pyx_pw_9pyscipopt_4scip_9IISfinder_1iisfinderfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iisfinderfree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("iisfinderfree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("iisfinderfree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9IISfinder_iisfinderfree(((struct __pyx_obj_9pyscipopt_4scip_IISfinder *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9IISfinder_iisfinderfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iisfinderfree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/iisfinder.pxi":12
 *         pass
 * 
 *     def iisfinderexec(self):             # <<<<<<<<<<<<<<
 *         '''calls execution method of iis finder'''
 *         raise NotImplementedError("iisfinderexec() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9IISfinder_3iisfinderexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_9IISfinder_2iisfinderexec, "calls execution method of iis finder");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9IISfinder_3iisfinderexec = {"iisfinderexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9IISfinder_3iisfinderexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9IISfinder_2iisfinderexec};
static PyObject *__pyx_pw_9pyscipopt_4scip_9IISfinder_3iisfinderexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("iisfinderexec (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("iisfinderexec", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("iisfinderexec", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9IISfinder_2iisfinderexec(((struct __pyx_obj_9pyscipopt_4scip_IISfinder *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9IISfinder_2iisfinderexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("iisfinderexec", 0);

  /* "src/pyscipopt/iisfinder.pxi":14
 *     def iisfinderexec(self):
 *         '''calls execution method of iis finder'''
 *         raise NotImplementedError("iisfinderexec() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_iisfinderexec_is_a_fundamental_c};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 14, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(15, 14, __pyx_L1_error)

  /* "src/pyscipopt/iisfinder.pxi":12
 *         pass
 * 
 *     def iisfinderexec(self):             # <<<<<<<<<<<<<<
 *         '''calls execution method of iis finder'''
 *         raise NotImplementedError("iisfinderexec() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.IISfinder.iisfinderexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/iisfinder.pxi":4
 * #@brief Base class of the IIS finder Plugin
 * cdef class IISfinder:
 *     cdef public IIS iis             # <<<<<<<<<<<<<<
 *     cdef SCIP_IIS* scip_iis
 *     cdef SCIP_IISFINDER* scip_iisfinder
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9IISfinder_3iis_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_9IISfinder_3iis_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9IISfinder_3iis___get__(((struct __pyx_obj_9pyscipopt_4scip_IISfinder *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9IISfinder_3iis___get__(struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->iis);
  __pyx_r = ((PyObject *)__pyx_v_self->iis);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_9IISfinder_3iis_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_9IISfinder_3iis_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9IISfinder_3iis_2__set__(((struct __pyx_obj_9pyscipopt_4scip_IISfinder *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_9IISfinder_3iis_2__set__(struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IIS))))) __PYX_ERR(15, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->iis);
  __Pyx_DECREF((PyObject *)__pyx_v_self->iis);
  __pyx_v_self->iis = ((struct __pyx_obj_9pyscipopt_4scip_IIS *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.IISfinder.iis.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_9IISfinder_3iis_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_9IISfinder_3iis_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9IISfinder_3iis_4__del__(((struct __pyx_obj_9pyscipopt_4scip_IISfinder *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_9IISfinder_3iis_4__del__(struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->iis);
  __Pyx_DECREF((PyObject *)__pyx_v_self->iis);
  __pyx_v_self->iis = ((struct __pyx_obj_9pyscipopt_4scip_IIS *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_iis,self.scip_iisfinder cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9IISfinder_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9IISfinder_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9IISfinder_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_9IISfinder_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9IISfinder_4__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_IISfinder *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9IISfinder_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_iis,self.scip_iisfinder cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_iis,self.scip_iisfinder cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_iis_self_scip_iisfinde, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_iis,self.scip_iisfinder cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.IISfinder.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_iis,self.scip_iisfinder cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_iis,self.scip_iisfinder cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9IISfinder_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9IISfinder_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9IISfinder_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_9IISfinder_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.IISfinder.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9IISfinder_6__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_IISfinder *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9IISfinder_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.scip_iis,self.scip_iisfinder cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_iis,self.scip_iisfinder cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_iis_self_scip_iisfinde, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_iis,self.scip_iisfinder cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_iis,self.scip_iisfinder cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.IISfinder.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/iisfinder.pxi":17
 * 
 * 
 * cdef SCIP_RETCODE PyiisfinderCopy (SCIP* scip, SCIP_IISFINDER* iisfinder) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyiisfinderCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_IISFINDER *__pyx_v_iisfinder) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/iisfinder.pxi":18
 * 
 * cdef SCIP_RETCODE PyiisfinderCopy (SCIP* scip, SCIP_IISFINDER* iisfinder) noexcept with gil:
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyiisfinderFree (SCIP* scip, SCIP_IISFINDER* iisfinder) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/iisfinder.pxi":17
 * 
 * 
 * cdef SCIP_RETCODE PyiisfinderCopy (SCIP* scip, SCIP_IISFINDER* iisfinder) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/iisfinder.pxi":20
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyiisfinderFree (SCIP* scip, SCIP_IISFINDER* iisfinder) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_IISFINDERDATA* iisfinderdata
 *     iisfinderdata = SCIPiisfinderGetData(iisfinder)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyiisfinderFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_IISFINDER *__pyx_v_iisfinder) {
  SCIP_IISFINDERDATA *__pyx_v_iisfinderdata;
  struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_PyIIS = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyiisfinderFree", 0);

  /* "src/pyscipopt/iisfinder.pxi":22
 * cdef SCIP_RETCODE PyiisfinderFree (SCIP* scip, SCIP_IISFINDER* iisfinder) noexcept with gil:
 *     cdef SCIP_IISFINDERDATA* iisfinderdata
 *     iisfinderdata = SCIPiisfinderGetData(iisfinder)             # <<<<<<<<<<<<<<
 *     PyIIS = <IISfinder>iisfinderdata
 *     PyIIS.iisfinderfree()
*/
  __pyx_v_iisfinderdata = SCIPiisfinderGetData(__pyx_v_iisfinder);

  /* "src/pyscipopt/iisfinder.pxi":23
 *     cdef SCIP_IISFINDERDATA* iisfinderdata
 *     iisfinderdata = SCIPiisfinderGetData(iisfinder)
 *     PyIIS = <IISfinder>iisfinderdata             # <<<<<<<<<<<<<<
 *     PyIIS.iisfinderfree()
 *     Py_DECREF(PyIIS)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_iisfinderdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyIIS = ((struct __pyx_obj_9pyscipopt_4scip_IISfinder *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/iisfinder.pxi":24
 *     iisfinderdata = SCIPiisfinderGetData(iisfinder)
 *     PyIIS = <IISfinder>iisfinderdata
 *     PyIIS.iisfinderfree()             # <<<<<<<<<<<<<<
 *     Py_DECREF(PyIIS)
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyIIS);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_iisfinderfree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 24, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/iisfinder.pxi":25
 *     PyIIS = <IISfinder>iisfinderdata
 *     PyIIS.iisfinderfree()
 *     Py_DECREF(PyIIS)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyIIS));

  /* "src/pyscipopt/iisfinder.pxi":26
 *     PyIIS.iisfinderfree()
 *     Py_DECREF(PyIIS)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyiisfinderExec (SCIP_IIS* iis, SCIP_IISFINDER* iisfinder, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/iisfinder.pxi":20
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyiisfinderFree (SCIP* scip, SCIP_IISFINDER* iisfinder) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_IISFINDERDATA* iisfinderdata
 *     iisfinderdata = SCIPiisfinderGetData(iisfinder)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyiisfinderFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyIIS);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/iisfinder.pxi":28
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyiisfinderExec (SCIP_IIS* iis, SCIP_IISFINDER* iisfinder, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_IISFINDERDATA* iisfinderdata
 *     iisfinderdata = SCIPiisfinderGetData(iisfinder)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyiisfinderExec(SCIP_IIS *__pyx_v_iis, SCIP_IISFINDER *__pyx_v_iisfinder, SCIP_RESULT *__pyx_v_result) {
  SCIP_IISFINDERDATA *__pyx_v_iisfinderdata;
  struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_PyIIS = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  SCIP_RESULT __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyiisfinderExec", 0);

  /* "src/pyscipopt/iisfinder.pxi":30
 * cdef SCIP_RETCODE PyiisfinderExec (SCIP_IIS* iis, SCIP_IISFINDER* iisfinder, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_IISFINDERDATA* iisfinderdata
 *     iisfinderdata = SCIPiisfinderGetData(iisfinder)             # <<<<<<<<<<<<<<
 *     PyIIS = <IISfinder>iisfinderdata
 * 
*/
  __pyx_v_iisfinderdata = SCIPiisfinderGetData(__pyx_v_iisfinder);

  /* "src/pyscipopt/iisfinder.pxi":31
 *     cdef SCIP_IISFINDERDATA* iisfinderdata
 *     iisfinderdata = SCIPiisfinderGetData(iisfinder)
 *     PyIIS = <IISfinder>iisfinderdata             # <<<<<<<<<<<<<<
 * 
 *     PyIIS.iis._iis = iis
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_iisfinderdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyIIS = ((struct __pyx_obj_9pyscipopt_4scip_IISfinder *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/iisfinder.pxi":33
 *     PyIIS = <IISfinder>iisfinderdata
 * 
 *     PyIIS.iis._iis = iis             # <<<<<<<<<<<<<<
 *     result_dict = PyIIS.iisfinderexec()
 *     assert isinstance(result_dict, dict), "iisfinderexec() must return a dictionary."
*/
  __pyx_v_PyIIS->iis->_iis = __pyx_v_iis;

  /* "src/pyscipopt/iisfinder.pxi":34
 * 
 *     PyIIS.iis._iis = iis
 *     result_dict = PyIIS.iisfinderexec()             # <<<<<<<<<<<<<<
 *     assert isinstance(result_dict, dict), "iisfinderexec() must return a dictionary."
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyIIS);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_iisfinderexec, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 34, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/iisfinder.pxi":35
 *     PyIIS.iis._iis = iis
 *     result_dict = PyIIS.iisfinderexec()
 *     assert isinstance(result_dict, dict), "iisfinderexec() must return a dictionary."             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_4 = PyDict_Check(__pyx_v_result_dict); 
    if (unlikely(!__pyx_t_4)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_iisfinderexec_must_return_a_dict, 0, 0);
      __PYX_ERR(15, 35, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(15, 35, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/iisfinder.pxi":36
 *     result_dict = PyIIS.iisfinderexec()
 *     assert isinstance(result_dict, dict), "iisfinderexec() must return a dictionary."
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
*/
  __pyx_t_2 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_5)) __PYX_ERR(15, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 36, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_6 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_6 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(15, 36, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_6;

  /* "src/pyscipopt/iisfinder.pxi":37
 *     assert isinstance(result_dict, dict), "iisfinderexec() must return a dictionary."
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/iisfinder.pxi":28
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyiisfinderExec (SCIP_IIS* iis, SCIP_IISFINDER* iisfinder, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_IISFINDERDATA* iisfinderdata
 *     iisfinderdata = SCIPiisfinderGetData(iisfinder)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyiisfinderExec", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyIIS);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":6
 *     cdef public Model model
 * 
 *     def presolfree(self):             # <<<<<<<<<<<<<<
 *         '''frees memory of presolver'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_1presolfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Presol_presolfree, "frees memory of presolver");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Presol_1presolfree = {"presolfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_1presolfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Presol_presolfree};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_1presolfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("presolfree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("presolfree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("presolfree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Presol_presolfree(((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_presolfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("presolfree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":10
 *         pass
 * 
 *     def presolinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes presolver'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_3presolinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Presol_2presolinit, "initializes presolver");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Presol_3presolinit = {"presolinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_3presolinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Presol_2presolinit};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_3presolinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("presolinit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("presolinit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("presolinit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Presol_2presolinit(((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_2presolinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("presolinit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":14
 *         pass
 * 
 *     def presolexit(self):             # <<<<<<<<<<<<<<
 *         '''deinitializes presolver'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_5presolexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Presol_4presolexit, "deinitializes presolver");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Presol_5presolexit = {"presolexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_5presolexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Presol_4presolexit};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_5presolexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("presolexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("presolexit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("presolexit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Presol_4presolexit(((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_4presolexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("presolexit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":18
 *         pass
 * 
 *     def presolinitpre(self):             # <<<<<<<<<<<<<<
 *         '''informs presolver that the presolving process is being started'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_7presolinitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Presol_6presolinitpre, "informs presolver that the presolving process is being started");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Presol_7presolinitpre = {"presolinitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_7presolinitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Presol_6presolinitpre};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_7presolinitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("presolinitpre (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("presolinitpre", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("presolinitpre", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Presol_6presolinitpre(((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_6presolinitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("presolinitpre", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":22
 *         pass
 * 
 *     def presolexitpre(self):             # <<<<<<<<<<<<<<
 *         '''informs presolver that the presolving process is finished'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_9presolexitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Presol_8presolexitpre, "informs presolver that the presolving process is finished");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Presol_9presolexitpre = {"presolexitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_9presolexitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Presol_8presolexitpre};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_9presolexitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("presolexitpre (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("presolexitpre", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("presolexitpre", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Presol_8presolexitpre(((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_8presolexitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("presolexitpre", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":26
 *         pass
 * 
 *     def presolexec(self, nrounds, presoltiming):             # <<<<<<<<<<<<<<
 *         '''executes presolver'''
 *         raise NotImplementedError("presolexec() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_11presolexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Presol_10presolexec, "executes presolver");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Presol_11presolexec = {"presolexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_11presolexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Presol_10presolexec};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_11presolexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_nrounds = 0;
  CYTHON_UNUSED PyObject *__pyx_v_presoltiming = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("presolexec (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_nrounds,&__pyx_mstate_global->__pyx_n_u_presoltiming,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(16, 26, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(16, 26, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(16, 26, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "presolexec", 0) < (0)) __PYX_ERR(16, 26, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("presolexec", 1, 2, 2, i); __PYX_ERR(16, 26, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(16, 26, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(16, 26, __pyx_L3_error)
    }
    __pyx_v_nrounds = values[0];
    __pyx_v_presoltiming = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("presolexec", 1, 2, 2, __pyx_nargs); __PYX_ERR(16, 26, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Presol.presolexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Presol_10presolexec(((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_v_self), __pyx_v_nrounds, __pyx_v_presoltiming);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_10presolexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_nrounds, CYTHON_UNUSED PyObject *__pyx_v_presoltiming) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("presolexec", 0);

  /* "src/pyscipopt/presol.pxi":28
 *     def presolexec(self, nrounds, presoltiming):
 *         '''executes presolver'''
 *         raise NotImplementedError("presolexec() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_presolexec_is_a_fundamental_call};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 28, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(16, 28, __pyx_L1_error)

  /* "src/pyscipopt/presol.pxi":26
 *         pass
 * 
 *     def presolexec(self, nrounds, presoltiming):             # <<<<<<<<<<<<<<
 *         '''executes presolver'''
 *         raise NotImplementedError("presolexec() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Presol.presolexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":4
 * #@brief Base class of the Presolver Plugin
 * cdef class Presol:
 *     cdef public Model model             # <<<<<<<<<<<<<<
 * 
 *     def presolfree(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Presol_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_6Presol_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_6Presol_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Presol_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_6Presol_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(16, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Presol.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_6Presol_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_6Presol_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Presol_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_6Presol_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Presol_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Presol_12__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_12__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.model,)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->model);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->model)) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.model is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.model is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Presol, (type(self), 0x9372c47, None), state
*/
  /*else*/ {
    __pyx_t_2 = (((PyObject *)__pyx_v_self->model) != Py_None);
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Presol, (type(self), 0x9372c47, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.model is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Presol, (type(self), 0x9372c47, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Presol, (type(self), 0x9372c47, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Presol); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_154610759);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_154610759);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_154610759) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Presol, (type(self), 0x9372c47, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Presol, (type(self), 0x9372c47, None), state
 *     else:
 *         return __pyx_unpickle_Presol, (type(self), 0x9372c47, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Presol__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Presol); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_154610759);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_154610759);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_154610759) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Presol.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Presol, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Presol__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Presol_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Presol_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Presol.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Presol_14__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Presol_14__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Presol, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Presol__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Presol__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Presol, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Presol__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Presol.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":32
 * 
 * 
 * cdef SCIP_RETCODE PyPresolCopy (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_PRESOL *__pyx_v_presol) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/presol.pxi":33
 * 
 * cdef SCIP_RETCODE PyPresolCopy (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPresolFree (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/presol.pxi":32
 * 
 * 
 * cdef SCIP_RETCODE PyPresolCopy (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":35
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPresolFree (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PRESOL *__pyx_v_presol) {
  SCIP_PRESOLDATA *__pyx_v_presoldata;
  struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_PyPresol = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPresolFree", 0);

  /* "src/pyscipopt/presol.pxi":37
 * cdef SCIP_RETCODE PyPresolFree (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)             # <<<<<<<<<<<<<<
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolfree()
*/
  __pyx_v_presoldata = SCIPpresolGetData(__pyx_v_presol);

  /* "src/pyscipopt/presol.pxi":38
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
 *     PyPresol = <Presol>presoldata             # <<<<<<<<<<<<<<
 *     PyPresol.presolfree()
 *     Py_DECREF(PyPresol)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_presoldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyPresol = ((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/presol.pxi":39
 *     presoldata = SCIPpresolGetData(presol)
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolfree()             # <<<<<<<<<<<<<<
 *     Py_DECREF(PyPresol)
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyPresol);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_presolfree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 39, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/presol.pxi":40
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolfree()
 *     Py_DECREF(PyPresol)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyPresol));

  /* "src/pyscipopt/presol.pxi":41
 *     PyPresol.presolfree()
 *     Py_DECREF(PyPresol)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPresolInit (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/presol.pxi":35
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPresolFree (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPresolFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyPresol);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":43
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPresolInit (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolInit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PRESOL *__pyx_v_presol) {
  SCIP_PRESOLDATA *__pyx_v_presoldata;
  struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_PyPresol = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPresolInit", 0);

  /* "src/pyscipopt/presol.pxi":45
 * cdef SCIP_RETCODE PyPresolInit (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)             # <<<<<<<<<<<<<<
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolinit()
*/
  __pyx_v_presoldata = SCIPpresolGetData(__pyx_v_presol);

  /* "src/pyscipopt/presol.pxi":46
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
 *     PyPresol = <Presol>presoldata             # <<<<<<<<<<<<<<
 *     PyPresol.presolinit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_presoldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyPresol = ((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/presol.pxi":47
 *     presoldata = SCIPpresolGetData(presol)
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolinit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyPresol);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_presolinit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 47, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/presol.pxi":48
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolinit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPresolExit (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/presol.pxi":43
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPresolInit (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPresolInit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyPresol);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":50
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPresolExit (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolExit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PRESOL *__pyx_v_presol) {
  SCIP_PRESOLDATA *__pyx_v_presoldata;
  struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_PyPresol = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPresolExit", 0);

  /* "src/pyscipopt/presol.pxi":52
 * cdef SCIP_RETCODE PyPresolExit (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)             # <<<<<<<<<<<<<<
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolexit()
*/
  __pyx_v_presoldata = SCIPpresolGetData(__pyx_v_presol);

  /* "src/pyscipopt/presol.pxi":53
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
 *     PyPresol = <Presol>presoldata             # <<<<<<<<<<<<<<
 *     PyPresol.presolexit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_presoldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyPresol = ((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/presol.pxi":54
 *     presoldata = SCIPpresolGetData(presol)
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolexit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyPresol);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_presolexit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 54, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/presol.pxi":55
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolexit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/presol.pxi":50
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPresolExit (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPresolExit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyPresol);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":58
 * 
 * 
 * cdef SCIP_RETCODE PyPresolInitpre (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolInitpre(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PRESOL *__pyx_v_presol) {
  SCIP_PRESOLDATA *__pyx_v_presoldata;
  struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_PyPresol = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPresolInitpre", 0);

  /* "src/pyscipopt/presol.pxi":60
 * cdef SCIP_RETCODE PyPresolInitpre (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)             # <<<<<<<<<<<<<<
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolinitpre()
*/
  __pyx_v_presoldata = SCIPpresolGetData(__pyx_v_presol);

  /* "src/pyscipopt/presol.pxi":61
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
 *     PyPresol = <Presol>presoldata             # <<<<<<<<<<<<<<
 *     PyPresol.presolinitpre()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_presoldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyPresol = ((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/presol.pxi":62
 *     presoldata = SCIPpresolGetData(presol)
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolinitpre()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyPresol);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_presolinitpre, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/presol.pxi":63
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolinitpre()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPresolExitpre (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/presol.pxi":58
 * 
 * 
 * cdef SCIP_RETCODE PyPresolInitpre (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPresolInitpre", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyPresol);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":65
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPresolExitpre (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolExitpre(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PRESOL *__pyx_v_presol) {
  SCIP_PRESOLDATA *__pyx_v_presoldata;
  struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_PyPresol = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPresolExitpre", 0);

  /* "src/pyscipopt/presol.pxi":67
 * cdef SCIP_RETCODE PyPresolExitpre (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)             # <<<<<<<<<<<<<<
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolexitpre()
*/
  __pyx_v_presoldata = SCIPpresolGetData(__pyx_v_presol);

  /* "src/pyscipopt/presol.pxi":68
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
 *     PyPresol = <Presol>presoldata             # <<<<<<<<<<<<<<
 *     PyPresol.presolexitpre()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_presoldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyPresol = ((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/presol.pxi":69
 *     presoldata = SCIPpresolGetData(presol)
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolexitpre()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyPresol);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_presolexitpre, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 69, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/presol.pxi":70
 *     PyPresol = <Presol>presoldata
 *     PyPresol.presolexitpre()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPresolExec (SCIP* scip, SCIP_PRESOL* presol, int nrounds, SCIP_PRESOLTIMING presoltiming,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/presol.pxi":65
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPresolExitpre (SCIP* scip, SCIP_PRESOL* presol) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPresolExitpre", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyPresol);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/presol.pxi":72
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPresolExec (SCIP* scip, SCIP_PRESOL* presol, int nrounds, SCIP_PRESOLTIMING presoltiming,             # <<<<<<<<<<<<<<
 *                                 int nnewfixedvars, int nnewaggrvars, int nnewchgvartypes, int nnewchgbds, int nnewholes,
 *                                 int nnewdelconss, int nnewaddconss, int nnewupgdconss, int nnewchgcoefs, int nnewchgsides,
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPresolExec(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PRESOL *__pyx_v_presol, int __pyx_v_nrounds, SCIP_PRESOLTIMING __pyx_v_presoltiming, CYTHON_UNUSED int __pyx_v_nnewfixedvars, CYTHON_UNUSED int __pyx_v_nnewaggrvars, CYTHON_UNUSED int __pyx_v_nnewchgvartypes, CYTHON_UNUSED int __pyx_v_nnewchgbds, CYTHON_UNUSED int __pyx_v_nnewholes, CYTHON_UNUSED int __pyx_v_nnewdelconss, CYTHON_UNUSED int __pyx_v_nnewaddconss, CYTHON_UNUSED int __pyx_v_nnewupgdconss, CYTHON_UNUSED int __pyx_v_nnewchgcoefs, CYTHON_UNUSED int __pyx_v_nnewchgsides, int *__pyx_v_nfixedvars, int *__pyx_v_naggrvars, int *__pyx_v_nchgvartypes, int *__pyx_v_nchgbds, int *__pyx_v_naddholes, int *__pyx_v_ndelconss, int *__pyx_v_naddconss, int *__pyx_v_nupgdconss, int *__pyx_v_nchgcoefs, int *__pyx_v_nchgsides, SCIP_RESULT *__pyx_v_result) {
  SCIP_PRESOLDATA *__pyx_v_presoldata;
  struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_PyPresol = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  SCIP_RESULT __pyx_t_6;
  long __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPresolExec", 0);

  /* "src/pyscipopt/presol.pxi":78
 *                                 int* ndelconss, int* naddconss, int* nupgdconss, int* nchgcoefs, int* nchgsides, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)             # <<<<<<<<<<<<<<
 *     PyPresol = <Presol>presoldata
 *     result_dict = PyPresol.presolexec(nrounds, presoltiming)
*/
  __pyx_v_presoldata = SCIPpresolGetData(__pyx_v_presol);

  /* "src/pyscipopt/presol.pxi":79
 *     cdef SCIP_PRESOLDATA* presoldata
 *     presoldata = SCIPpresolGetData(presol)
 *     PyPresol = <Presol>presoldata             # <<<<<<<<<<<<<<
 *     result_dict = PyPresol.presolexec(nrounds, presoltiming)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_presoldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyPresol = ((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/presol.pxi":80
 *     presoldata = SCIPpresolGetData(presol)
 *     PyPresol = <Presol>presoldata
 *     result_dict = PyPresol.presolexec(nrounds, presoltiming)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     nfixedvars[0] += result_dict.get("nnewfixedvars", 0)
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyPresol);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_nrounds); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 80, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_PRESOLTIMING(__pyx_v_presoltiming); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 80, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_presolexec, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/presol.pxi":81
 *     PyPresol = <Presol>presoldata
 *     result_dict = PyPresol.presolexec(nrounds, presoltiming)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     nfixedvars[0] += result_dict.get("nnewfixedvars", 0)
 *     naggrvars[0] += result_dict.get("nnewaggrvars", 0)
*/
  __pyx_t_4 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_6 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_6 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(16, 81, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_6;

  /* "src/pyscipopt/presol.pxi":82
 *     result_dict = PyPresol.presolexec(nrounds, presoltiming)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     nfixedvars[0] += result_dict.get("nnewfixedvars", 0)             # <<<<<<<<<<<<<<
 *     naggrvars[0] += result_dict.get("nnewaggrvars", 0)
 *     nchgvartypes[0] += result_dict.get("nnewchgvartypes", 0)
*/
  __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nfixedvars[__pyx_t_7])); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_mstate_global->__pyx_tuple[10], NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_3); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(16, 82, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  (__pyx_v_nfixedvars[__pyx_t_7]) = __pyx_t_8;

  /* "src/pyscipopt/presol.pxi":83
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     nfixedvars[0] += result_dict.get("nnewfixedvars", 0)
 *     naggrvars[0] += result_dict.get("nnewaggrvars", 0)             # <<<<<<<<<<<<<<
 *     nchgvartypes[0] += result_dict.get("nnewchgvartypes", 0)
 *     nchgbds[0] += result_dict.get("nnewchgbds", 0)
*/
  __pyx_t_7 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int((__pyx_v_naggrvars[__pyx_t_7])); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[11], NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(16, 83, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  (__pyx_v_naggrvars[__pyx_t_7]) = __pyx_t_8;

  /* "src/pyscipopt/presol.pxi":84
 *     nfixedvars[0] += result_dict.get("nnewfixedvars", 0)
 *     naggrvars[0] += result_dict.get("nnewaggrvars", 0)
 *     nchgvartypes[0] += result_dict.get("nnewchgvartypes", 0)             # <<<<<<<<<<<<<<
 *     nchgbds[0] += result_dict.get("nnewchgbds", 0)
 *     naddholes[0] += result_dict.get("nnewaddholes", 0)
*/
  __pyx_t_7 = 0;
  __pyx_t_4 = __Pyx_PyLong_From_int((__pyx_v_nchgvartypes[__pyx_t_7])); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[12], NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(16, 84, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nchgvartypes[__pyx_t_7]) = __pyx_t_8;

  /* "src/pyscipopt/presol.pxi":85
 *     naggrvars[0] += result_dict.get("nnewaggrvars", 0)
 *     nchgvartypes[0] += result_dict.get("nnewchgvartypes", 0)
 *     nchgbds[0] += result_dict.get("nnewchgbds", 0)             # <<<<<<<<<<<<<<
 *     naddholes[0] += result_dict.get("nnewaddholes", 0)
 *     ndelconss[0] += result_dict.get("nnewdelconss", 0)
*/
  __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nchgbds[__pyx_t_7])); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_mstate_global->__pyx_tuple[13], NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_3); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(16, 85, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  (__pyx_v_nchgbds[__pyx_t_7]) = __pyx_t_8;

  /* "src/pyscipopt/presol.pxi":86
 *     nchgvartypes[0] += result_dict.get("nnewchgvartypes", 0)
 *     nchgbds[0] += result_dict.get("nnewchgbds", 0)
 *     naddholes[0] += result_dict.get("nnewaddholes", 0)             # <<<<<<<<<<<<<<
 *     ndelconss[0] += result_dict.get("nnewdelconss", 0)
 *     naddconss[0] += result_dict.get("nnewaddconss", 0)
*/
  __pyx_t_7 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int((__pyx_v_naddholes[__pyx_t_7])); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[14], NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(16, 86, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  (__pyx_v_naddholes[__pyx_t_7]) = __pyx_t_8;

  /* "src/pyscipopt/presol.pxi":87
 *     nchgbds[0] += result_dict.get("nnewchgbds", 0)
 *     naddholes[0] += result_dict.get("nnewaddholes", 0)
 *     ndelconss[0] += result_dict.get("nnewdelconss", 0)             # <<<<<<<<<<<<<<
 *     naddconss[0] += result_dict.get("nnewaddconss", 0)
 *     nupgdconss[0] += result_dict.get("nnewupgdconss", 0)
*/
  __pyx_t_7 = 0;
  __pyx_t_4 = __Pyx_PyLong_From_int((__pyx_v_ndelconss[__pyx_t_7])); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[15], NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(16, 87, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_ndelconss[__pyx_t_7]) = __pyx_t_8;

  /* "src/pyscipopt/presol.pxi":88
 *     naddholes[0] += result_dict.get("nnewaddholes", 0)
 *     ndelconss[0] += result_dict.get("nnewdelconss", 0)
 *     naddconss[0] += result_dict.get("nnewaddconss", 0)             # <<<<<<<<<<<<<<
 *     nupgdconss[0] += result_dict.get("nnewupgdconss", 0)
 *     nchgcoefs[0] += result_dict.get("nnewchgcoefs", 0)
*/
  __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_naddconss[__pyx_t_7])); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_mstate_global->__pyx_tuple[16], NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_3); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(16, 88, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  (__pyx_v_naddconss[__pyx_t_7]) = __pyx_t_8;

  /* "src/pyscipopt/presol.pxi":89
 *     ndelconss[0] += result_dict.get("nnewdelconss", 0)
 *     naddconss[0] += result_dict.get("nnewaddconss", 0)
 *     nupgdconss[0] += result_dict.get("nnewupgdconss", 0)             # <<<<<<<<<<<<<<
 *     nchgcoefs[0] += result_dict.get("nnewchgcoefs", 0)
 *     nchgsides[0] += result_dict.get("nnewchgsides", 0)
*/
  __pyx_t_7 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int((__pyx_v_nupgdconss[__pyx_t_7])); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[17], NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(16, 89, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  (__pyx_v_nupgdconss[__pyx_t_7]) = __pyx_t_8;

  /* "src/pyscipopt/presol.pxi":90
 *     naddconss[0] += result_dict.get("nnewaddconss", 0)
 *     nupgdconss[0] += result_dict.get("nnewupgdconss", 0)
 *     nchgcoefs[0] += result_dict.get("nnewchgcoefs", 0)             # <<<<<<<<<<<<<<
 *     nchgsides[0] += result_dict.get("nnewchgsides", 0)
 *     return SCIP_OKAY
*/
  __pyx_t_7 = 0;
  __pyx_t_4 = __Pyx_PyLong_From_int((__pyx_v_nchgcoefs[__pyx_t_7])); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[18], NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(16, 90, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nchgcoefs[__pyx_t_7]) = __pyx_t_8;

  /* "src/pyscipopt/presol.pxi":91
 *     nupgdconss[0] += result_dict.get("nnewupgdconss", 0)
 *     nchgcoefs[0] += result_dict.get("nnewchgcoefs", 0)
 *     nchgsides[0] += result_dict.get("nnewchgsides", 0)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
*/
  __pyx_t_7 = 0;
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nchgsides[__pyx_t_7])); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 91, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 91, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_mstate_global->__pyx_tuple[19], NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 91, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(16, 91, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_t_3); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(16, 91, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  (__pyx_v_nchgsides[__pyx_t_7]) = __pyx_t_8;

  /* "src/pyscipopt/presol.pxi":92
 *     nchgcoefs[0] += result_dict.get("nnewchgcoefs", 0)
 *     nchgsides[0] += result_dict.get("nnewchgsides", 0)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/presol.pxi":72
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPresolExec (SCIP* scip, SCIP_PRESOL* presol, int nrounds, SCIP_PRESOLTIMING presoltiming,             # <<<<<<<<<<<<<<
 *                                 int nnewfixedvars, int nnewaggrvars, int nnewchgvartypes, int nnewchgbds, int nnewholes,
 *                                 int nnewdelconss, int nnewaddconss, int nnewupgdconss, int nnewchgcoefs, int nnewchgsides,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPresolExec", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyPresol);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":7
 *     cdef SCIP_PRICER* scip_pricer
 * 
 *     def pricerfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of variable pricer '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_1pricerfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Pricer_pricerfree, "calls destructor and frees memory of variable pricer ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Pricer_1pricerfree = {"pricerfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_1pricerfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_pricerfree};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_1pricerfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pricerfree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("pricerfree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("pricerfree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Pricer_pricerfree(((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_pricerfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pricerfree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":11
 *         pass
 * 
 *     def pricerinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes variable pricer'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_3pricerinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Pricer_2pricerinit, "initializes variable pricer");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Pricer_3pricerinit = {"pricerinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_3pricerinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_2pricerinit};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_3pricerinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pricerinit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("pricerinit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("pricerinit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Pricer_2pricerinit(((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_2pricerinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pricerinit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":15
 *         pass
 * 
 *     def pricerexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of variable pricer'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_5pricerexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Pricer_4pricerexit, "calls exit method of variable pricer");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Pricer_5pricerexit = {"pricerexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_5pricerexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_4pricerexit};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_5pricerexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pricerexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("pricerexit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("pricerexit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Pricer_4pricerexit(((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_4pricerexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pricerexit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":19
 *         pass
 * 
 *     def pricerinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs variable pricer that the branch and bound process is being started '''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_7pricerinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Pricer_6pricerinitsol, "informs variable pricer that the branch and bound process is being started ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Pricer_7pricerinitsol = {"pricerinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_7pricerinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_6pricerinitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_7pricerinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pricerinitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("pricerinitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("pricerinitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Pricer_6pricerinitsol(((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_6pricerinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pricerinitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":23
 *         pass
 * 
 *     def pricerexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs variable pricer that the branch and bound process data is being freed'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_9pricerexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Pricer_8pricerexitsol, "informs variable pricer that the branch and bound process data is being freed");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Pricer_9pricerexitsol = {"pricerexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_9pricerexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_8pricerexitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_9pricerexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pricerexitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("pricerexitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("pricerexitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Pricer_8pricerexitsol(((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_8pricerexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pricerexitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":27
 *         pass
 * 
 *     def pricerredcost(self):             # <<<<<<<<<<<<<<
 *         '''calls reduced cost pricing method of variable pricer'''
 *         raise NotImplementedError("pricerredcost() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_11pricerredcost(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Pricer_10pricerredcost, "calls reduced cost pricing method of variable pricer");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Pricer_11pricerredcost = {"pricerredcost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_11pricerredcost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_10pricerredcost};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_11pricerredcost(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pricerredcost (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("pricerredcost", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("pricerredcost", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Pricer_10pricerredcost(((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_10pricerredcost(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pricerredcost", 0);

  /* "src/pyscipopt/pricer.pxi":29
 *     def pricerredcost(self):
 *         '''calls reduced cost pricing method of variable pricer'''
 *         raise NotImplementedError("pricerredcost() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 *     def pricerfarkas(self):
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_pricerredcost_is_a_fundamental_c};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 29, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(17, 29, __pyx_L1_error)

  /* "src/pyscipopt/pricer.pxi":27
 *         pass
 * 
 *     def pricerredcost(self):             # <<<<<<<<<<<<<<
 *         '''calls reduced cost pricing method of variable pricer'''
 *         raise NotImplementedError("pricerredcost() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Pricer.pricerredcost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":31
 *         raise NotImplementedError("pricerredcost() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def pricerfarkas(self):             # <<<<<<<<<<<<<<
 *         '''calls Farkas pricing method of variable pricer'''
 *         raise NotImplementedError("pricerfarkas() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_13pricerfarkas(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Pricer_12pricerfarkas, "calls Farkas pricing method of variable pricer");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Pricer_13pricerfarkas = {"pricerfarkas", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_13pricerfarkas, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_12pricerfarkas};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_13pricerfarkas(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("pricerfarkas (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("pricerfarkas", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("pricerfarkas", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Pricer_12pricerfarkas(((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_12pricerfarkas(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("pricerfarkas", 0);

  /* "src/pyscipopt/pricer.pxi":33
 *     def pricerfarkas(self):
 *         '''calls Farkas pricing method of variable pricer'''
 *         raise NotImplementedError("pricerfarkas() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_pricerfarkas_is_a_fundamental_ca};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 33, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(17, 33, __pyx_L1_error)

  /* "src/pyscipopt/pricer.pxi":31
 *         raise NotImplementedError("pricerredcost() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def pricerfarkas(self):             # <<<<<<<<<<<<<<
 *         '''calls Farkas pricing method of variable pricer'''
 *         raise NotImplementedError("pricerfarkas() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Pricer.pricerfarkas", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":4
 * #@brief Base class of the Pricers Plugin
 * cdef class Pricer:
 *     cdef public Model model             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICER* scip_pricer
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Pricer_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_6Pricer_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_6Pricer_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Pricer_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_6Pricer_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(17, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Pricer.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_6Pricer_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_6Pricer_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Pricer_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_6Pricer_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_pricer cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_15__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Pricer_15__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_15__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_15__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Pricer_14__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_pricer cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_pricer cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_pricer_cannot_be_conve, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_pricer cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Pricer.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_pricer cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_pricer cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_17__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Pricer_17__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_17__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Pricer_17__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Pricer.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Pricer_16__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Pricer_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.scip_pricer cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_pricer cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_pricer_cannot_be_conve, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_pricer cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_pricer cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Pricer.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":37
 * 
 * 
 * cdef SCIP_RETCODE PyPricerCopy (SCIP* scip, SCIP_PRICER* pricer, SCIP_Bool* valid) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_PRICER *__pyx_v_pricer, CYTHON_UNUSED SCIP_Bool *__pyx_v_valid) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/pricer.pxi":38
 * 
 * cdef SCIP_RETCODE PyPricerCopy (SCIP* scip, SCIP_PRICER* pricer, SCIP_Bool* valid) noexcept with gil:
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPricerFree (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/pricer.pxi":37
 * 
 * 
 * cdef SCIP_RETCODE PyPricerCopy (SCIP* scip, SCIP_PRICER* pricer, SCIP_Bool* valid) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":40
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerFree (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PRICER *__pyx_v_pricer) {
  SCIP_PRICERDATA *__pyx_v_pricerdata;
  struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_PyPricer = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPricerFree", 0);

  /* "src/pyscipopt/pricer.pxi":42
 * cdef SCIP_RETCODE PyPricerFree (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)             # <<<<<<<<<<<<<<
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerfree()
*/
  __pyx_v_pricerdata = SCIPpricerGetData(__pyx_v_pricer);

  /* "src/pyscipopt/pricer.pxi":43
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata             # <<<<<<<<<<<<<<
 *     PyPricer.pricerfree()
 *     Py_DECREF(PyPricer)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_pricerdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyPricer = ((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/pricer.pxi":44
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerfree()             # <<<<<<<<<<<<<<
 *     Py_DECREF(PyPricer)
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyPricer);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pricerfree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 44, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/pricer.pxi":45
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerfree()
 *     Py_DECREF(PyPricer)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyPricer));

  /* "src/pyscipopt/pricer.pxi":46
 *     PyPricer.pricerfree()
 *     Py_DECREF(PyPricer)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPricerInit (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/pricer.pxi":40
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerFree (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPricerFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyPricer);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":48
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerInit (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerInit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PRICER *__pyx_v_pricer) {
  SCIP_PRICERDATA *__pyx_v_pricerdata;
  struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_PyPricer = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPricerInit", 0);

  /* "src/pyscipopt/pricer.pxi":50
 * cdef SCIP_RETCODE PyPricerInit (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)             # <<<<<<<<<<<<<<
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerinit()
*/
  __pyx_v_pricerdata = SCIPpricerGetData(__pyx_v_pricer);

  /* "src/pyscipopt/pricer.pxi":51
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata             # <<<<<<<<<<<<<<
 *     PyPricer.pricerinit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_pricerdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyPricer = ((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/pricer.pxi":52
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerinit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyPricer);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pricerinit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 52, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/pricer.pxi":53
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerinit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPricerExit (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/pricer.pxi":48
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerInit (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPricerInit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyPricer);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":55
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerExit (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerExit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PRICER *__pyx_v_pricer) {
  SCIP_PRICERDATA *__pyx_v_pricerdata;
  struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_PyPricer = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPricerExit", 0);

  /* "src/pyscipopt/pricer.pxi":57
 * cdef SCIP_RETCODE PyPricerExit (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)             # <<<<<<<<<<<<<<
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerexit()
*/
  __pyx_v_pricerdata = SCIPpricerGetData(__pyx_v_pricer);

  /* "src/pyscipopt/pricer.pxi":58
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata             # <<<<<<<<<<<<<<
 *     PyPricer.pricerexit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_pricerdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyPricer = ((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/pricer.pxi":59
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerexit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyPricer);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pricerexit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 59, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/pricer.pxi":60
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerexit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPricerInitsol (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/pricer.pxi":55
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerExit (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPricerExit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyPricer);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":62
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerInitsol (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerInitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PRICER *__pyx_v_pricer) {
  SCIP_PRICERDATA *__pyx_v_pricerdata;
  struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_PyPricer = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPricerInitsol", 0);

  /* "src/pyscipopt/pricer.pxi":64
 * cdef SCIP_RETCODE PyPricerInitsol (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)             # <<<<<<<<<<<<<<
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerinitsol()
*/
  __pyx_v_pricerdata = SCIPpricerGetData(__pyx_v_pricer);

  /* "src/pyscipopt/pricer.pxi":65
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata             # <<<<<<<<<<<<<<
 *     PyPricer.pricerinitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_pricerdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyPricer = ((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/pricer.pxi":66
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerinitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyPricer);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pricerinitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 66, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/pricer.pxi":67
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerinitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPricerExitsol (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/pricer.pxi":62
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerInitsol (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPricerInitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyPricer);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":69
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerExitsol (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerExitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PRICER *__pyx_v_pricer) {
  SCIP_PRICERDATA *__pyx_v_pricerdata;
  struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_PyPricer = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPricerExitsol", 0);

  /* "src/pyscipopt/pricer.pxi":71
 * cdef SCIP_RETCODE PyPricerExitsol (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)             # <<<<<<<<<<<<<<
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerexitsol()
*/
  __pyx_v_pricerdata = SCIPpricerGetData(__pyx_v_pricer);

  /* "src/pyscipopt/pricer.pxi":72
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata             # <<<<<<<<<<<<<<
 *     PyPricer.pricerexitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_pricerdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyPricer = ((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/pricer.pxi":73
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerexitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyPricer);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pricerexitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 73, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/pricer.pxi":74
 *     PyPricer = <Pricer>pricerdata
 *     PyPricer.pricerexitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPricerRedcost (SCIP* scip, SCIP_PRICER* pricer, SCIP_Real* lowerbound, SCIP_Bool* stopearly, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/pricer.pxi":69
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerExitsol (SCIP* scip, SCIP_PRICER* pricer) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPricerExitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyPricer);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":76
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerRedcost (SCIP* scip, SCIP_PRICER* pricer, SCIP_Real* lowerbound, SCIP_Bool* stopearly, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerRedcost(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PRICER *__pyx_v_pricer, SCIP_Real *__pyx_v_lowerbound, SCIP_Bool *__pyx_v_stopearly, SCIP_RESULT *__pyx_v_result) {
  SCIP_PRICERDATA *__pyx_v_pricerdata;
  struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_PyPricer = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  SCIP_RESULT __pyx_t_5;
  SCIP_Real __pyx_t_6;
  SCIP_Bool __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPricerRedcost", 0);

  /* "src/pyscipopt/pricer.pxi":78
 * cdef SCIP_RETCODE PyPricerRedcost (SCIP* scip, SCIP_PRICER* pricer, SCIP_Real* lowerbound, SCIP_Bool* stopearly, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)             # <<<<<<<<<<<<<<
 *     PyPricer = <Pricer>pricerdata
 *     result_dict = PyPricer.pricerredcost()
*/
  __pyx_v_pricerdata = SCIPpricerGetData(__pyx_v_pricer);

  /* "src/pyscipopt/pricer.pxi":79
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata             # <<<<<<<<<<<<<<
 *     result_dict = PyPricer.pricerredcost()
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_pricerdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyPricer = ((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/pricer.pxi":80
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata
 *     result_dict = PyPricer.pricerredcost()             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     lowerbound[0] = result_dict.get("lowerbound", <SCIP_Real>lowerbound[0])
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyPricer);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pricerredcost, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/pricer.pxi":81
 *     PyPricer = <Pricer>pricerdata
 *     result_dict = PyPricer.pricerredcost()
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     lowerbound[0] = result_dict.get("lowerbound", <SCIP_Real>lowerbound[0])
 *     stopearly[0] = result_dict.get("stopearly", <SCIP_Bool>stopearly[0])
*/
  __pyx_t_2 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(17, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_5 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(17, 81, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_5;

  /* "src/pyscipopt/pricer.pxi":82
 *     result_dict = PyPricer.pricerredcost()
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     lowerbound[0] = result_dict.get("lowerbound", <SCIP_Real>lowerbound[0])             # <<<<<<<<<<<<<<
 *     stopearly[0] = result_dict.get("stopearly", <SCIP_Bool>stopearly[0])
 *     return SCIP_OKAY
*/
  __pyx_t_4 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_2 = PyFloat_FromDouble(((SCIP_Real)(__pyx_v_lowerbound[0]))); if (unlikely(!__pyx_t_2)) __PYX_ERR(17, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_mstate_global->__pyx_n_u_lowerbound, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(17, 82, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_lowerbound[0]) = __pyx_t_6;

  /* "src/pyscipopt/pricer.pxi":83
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     lowerbound[0] = result_dict.get("lowerbound", <SCIP_Real>lowerbound[0])
 *     stopearly[0] = result_dict.get("stopearly", <SCIP_Bool>stopearly[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyBool_FromLong(((SCIP_Bool)(__pyx_v_stopearly[0]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(17, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_mstate_global->__pyx_n_u_stopearly, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 83, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_7 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(17, 83, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_stopearly[0]) = __pyx_t_7;

  /* "src/pyscipopt/pricer.pxi":84
 *     lowerbound[0] = result_dict.get("lowerbound", <SCIP_Real>lowerbound[0])
 *     stopearly[0] = result_dict.get("stopearly", <SCIP_Bool>stopearly[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPricerFarkas (SCIP* scip, SCIP_PRICER* pricer, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/pricer.pxi":76
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerRedcost (SCIP* scip, SCIP_PRICER* pricer, SCIP_Real* lowerbound, SCIP_Bool* stopearly, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPricerRedcost", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyPricer);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/pricer.pxi":86
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerFarkas (SCIP* scip, SCIP_PRICER* pricer, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPricerFarkas(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PRICER *__pyx_v_pricer, SCIP_RESULT *__pyx_v_result) {
  SCIP_PRICERDATA *__pyx_v_pricerdata;
  struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_PyPricer = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  SCIP_RESULT __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPricerFarkas", 0);

  /* "src/pyscipopt/pricer.pxi":88
 * cdef SCIP_RETCODE PyPricerFarkas (SCIP* scip, SCIP_PRICER* pricer, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)             # <<<<<<<<<<<<<<
 *     PyPricer = <Pricer>pricerdata
 *     result[0] = PyPricer.pricerfarkas().get("result", <SCIP_RESULT>result[0])
*/
  __pyx_v_pricerdata = SCIPpricerGetData(__pyx_v_pricer);

  /* "src/pyscipopt/pricer.pxi":89
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata             # <<<<<<<<<<<<<<
 *     result[0] = PyPricer.pricerfarkas().get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_pricerdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyPricer = ((struct __pyx_obj_9pyscipopt_4scip_Pricer *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/pricer.pxi":90
 *     pricerdata = SCIPpricerGetData(pricer)
 *     PyPricer = <Pricer>pricerdata
 *     result[0] = PyPricer.pricerfarkas().get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
*/
  __pyx_t_4 = ((PyObject *)__pyx_v_PyPricer);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pricerfarkas, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(17, 90, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_2 = __pyx_t_3;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(17, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(17, 90, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_6 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_6 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(17, 90, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_6;

  /* "src/pyscipopt/pricer.pxi":91
 *     PyPricer = <Pricer>pricerdata
 *     result[0] = PyPricer.pricerfarkas().get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/pricer.pxi":86
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPricerFarkas (SCIP* scip, SCIP_PRICER* pricer, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PRICERDATA* pricerdata
 *     pricerdata = SCIPpricerGetData(pricer)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPricerFarkas", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyPricer);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":6
 *     cdef public Model model
 * 
 *     def propfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of propagator'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_1propfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Prop_propfree, "calls destructor and frees memory of propagator");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Prop_1propfree = {"propfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_1propfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_propfree};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_1propfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propfree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("propfree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("propfree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_propfree(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_propfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propfree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":10
 *         pass
 * 
 *     def propinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes propagator'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_3propinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Prop_2propinit, "initializes propagator");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Prop_3propinit = {"propinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_3propinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_2propinit};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_3propinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propinit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("propinit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("propinit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_2propinit(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_2propinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propinit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":14
 *         pass
 * 
 *     def propexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of propagator'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_5propexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Prop_4propexit, "calls exit method of propagator");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Prop_5propexit = {"propexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_5propexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_4propexit};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_5propexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("propexit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("propexit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_4propexit(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_4propexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propexit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":18
 *         pass
 * 
 *     def propinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs propagator that the prop and bound process is being started'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_7propinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Prop_6propinitsol, "informs propagator that the prop and bound process is being started");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Prop_7propinitsol = {"propinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_7propinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_6propinitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_7propinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propinitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("propinitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("propinitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_6propinitsol(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_6propinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propinitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":22
 *         pass
 * 
 *     def propexitsol(self, restart):             # <<<<<<<<<<<<<<
 *         '''informs propagator that the prop and bound process data is being freed'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_9propexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Prop_8propexitsol, "informs propagator that the prop and bound process data is being freed");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Prop_9propexitsol = {"propexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_9propexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_8propexitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_9propexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_restart = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propexitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_restart,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(18, 22, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(18, 22, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "propexitsol", 0) < (0)) __PYX_ERR(18, 22, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("propexitsol", 1, 1, 1, i); __PYX_ERR(18, 22, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(18, 22, __pyx_L3_error)
    }
    __pyx_v_restart = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("propexitsol", 1, 1, 1, __pyx_nargs); __PYX_ERR(18, 22, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Prop.propexitsol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_8propexitsol(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self), __pyx_v_restart);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_8propexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_restart) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propexitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":26
 *         pass
 * 
 *     def propinitpre(self):             # <<<<<<<<<<<<<<
 *         '''informs propagator that the presolving process is being started'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_11propinitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Prop_10propinitpre, "informs propagator that the presolving process is being started");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Prop_11propinitpre = {"propinitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_11propinitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_10propinitpre};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_11propinitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propinitpre (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("propinitpre", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("propinitpre", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_10propinitpre(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_10propinitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propinitpre", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":30
 *         pass
 * 
 *     def propexitpre(self):             # <<<<<<<<<<<<<<
 *         '''informs propagator that the presolving process is finished'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_13propexitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Prop_12propexitpre, "informs propagator that the presolving process is finished");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Prop_13propexitpre = {"propexitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_13propexitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_12propexitpre};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_13propexitpre(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propexitpre (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("propexitpre", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("propexitpre", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_12propexitpre(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_12propexitpre(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propexitpre", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":34
 *         pass
 * 
 *     def proppresol(self, nrounds, presoltiming, result_dict):             # <<<<<<<<<<<<<<
 *         '''executes presolving method of propagator'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_15proppresol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Prop_14proppresol, "executes presolving method of propagator");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Prop_15proppresol = {"proppresol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_15proppresol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_14proppresol};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_15proppresol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_nrounds = 0;
  CYTHON_UNUSED PyObject *__pyx_v_presoltiming = 0;
  CYTHON_UNUSED PyObject *__pyx_v_result_dict = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("proppresol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_nrounds,&__pyx_mstate_global->__pyx_n_u_presoltiming,&__pyx_mstate_global->__pyx_n_u_result_dict,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(18, 34, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(18, 34, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(18, 34, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(18, 34, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "proppresol", 0) < (0)) __PYX_ERR(18, 34, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("proppresol", 1, 3, 3, i); __PYX_ERR(18, 34, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(18, 34, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(18, 34, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(18, 34, __pyx_L3_error)
    }
    __pyx_v_nrounds = values[0];
    __pyx_v_presoltiming = values[1];
    __pyx_v_result_dict = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("proppresol", 1, 3, 3, __pyx_nargs); __PYX_ERR(18, 34, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Prop.proppresol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_14proppresol(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self), __pyx_v_nrounds, __pyx_v_presoltiming, __pyx_v_result_dict);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_14proppresol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_nrounds, CYTHON_UNUSED PyObject *__pyx_v_presoltiming, CYTHON_UNUSED PyObject *__pyx_v_result_dict) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("proppresol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":38
 *         pass
 * 
 *     def propexec(self, proptiming):             # <<<<<<<<<<<<<<
 *         '''calls execution method of propagator'''
 *         raise NotImplementedError("propexec() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_17propexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Prop_16propexec, "calls execution method of propagator");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Prop_17propexec = {"propexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_17propexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_16propexec};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_17propexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_proptiming = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propexec (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_proptiming,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(18, 38, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(18, 38, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "propexec", 0) < (0)) __PYX_ERR(18, 38, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("propexec", 1, 1, 1, i); __PYX_ERR(18, 38, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(18, 38, __pyx_L3_error)
    }
    __pyx_v_proptiming = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("propexec", 1, 1, 1, __pyx_nargs); __PYX_ERR(18, 38, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Prop.propexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_16propexec(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self), __pyx_v_proptiming);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_16propexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_proptiming) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("propexec", 0);

  /* "src/pyscipopt/propagator.pxi":40
 *     def propexec(self, proptiming):
 *         '''calls execution method of propagator'''
 *         raise NotImplementedError("propexec() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 *     def propresprop(self, confvar, inferinfo, bdtype, relaxedbd):
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_propexec_is_a_fundamental_callba};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 40, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(18, 40, __pyx_L1_error)

  /* "src/pyscipopt/propagator.pxi":38
 *         pass
 * 
 *     def propexec(self, proptiming):             # <<<<<<<<<<<<<<
 *         '''calls execution method of propagator'''
 *         raise NotImplementedError("propexec() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Prop.propexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":42
 *         raise NotImplementedError("propexec() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def propresprop(self, confvar, inferinfo, bdtype, relaxedbd):             # <<<<<<<<<<<<<<
 *         '''resolves the given conflicting bound, that was reduced by the given propagator'''
 *         raise NotImplementedError("propresprop() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_19propresprop(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Prop_18propresprop, "resolves the given conflicting bound, that was reduced by the given propagator");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Prop_19propresprop = {"propresprop", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_19propresprop, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_18propresprop};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_19propresprop(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_confvar = 0;
  CYTHON_UNUSED PyObject *__pyx_v_inferinfo = 0;
  CYTHON_UNUSED PyObject *__pyx_v_bdtype = 0;
  CYTHON_UNUSED PyObject *__pyx_v_relaxedbd = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propresprop (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_confvar,&__pyx_mstate_global->__pyx_n_u_inferinfo,&__pyx_mstate_global->__pyx_n_u_bdtype,&__pyx_mstate_global->__pyx_n_u_relaxedbd,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(18, 42, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(18, 42, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(18, 42, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(18, 42, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(18, 42, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "propresprop", 0) < (0)) __PYX_ERR(18, 42, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("propresprop", 1, 4, 4, i); __PYX_ERR(18, 42, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(18, 42, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(18, 42, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(18, 42, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(18, 42, __pyx_L3_error)
    }
    __pyx_v_confvar = values[0];
    __pyx_v_inferinfo = values[1];
    __pyx_v_bdtype = values[2];
    __pyx_v_relaxedbd = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("propresprop", 1, 4, 4, __pyx_nargs); __PYX_ERR(18, 42, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Prop.propresprop", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_18propresprop(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self), __pyx_v_confvar, __pyx_v_inferinfo, __pyx_v_bdtype, __pyx_v_relaxedbd);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_18propresprop(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_confvar, CYTHON_UNUSED PyObject *__pyx_v_inferinfo, CYTHON_UNUSED PyObject *__pyx_v_bdtype, CYTHON_UNUSED PyObject *__pyx_v_relaxedbd) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("propresprop", 0);

  /* "src/pyscipopt/propagator.pxi":44
 *     def propresprop(self, confvar, inferinfo, bdtype, relaxedbd):
 *         '''resolves the given conflicting bound, that was reduced by the given propagator'''
 *         raise NotImplementedError("propresprop() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_propresprop_is_a_fundamental_cal};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 44, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(18, 44, __pyx_L1_error)

  /* "src/pyscipopt/propagator.pxi":42
 *         raise NotImplementedError("propexec() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def propresprop(self, confvar, inferinfo, bdtype, relaxedbd):             # <<<<<<<<<<<<<<
 *         '''resolves the given conflicting bound, that was reduced by the given propagator'''
 *         raise NotImplementedError("propresprop() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Prop.propresprop", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":4
 * #@brief Base class of the Propagators Plugin
 * cdef class Prop:
 *     cdef public Model model             # <<<<<<<<<<<<<<
 * 
 *     def propfree(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Prop_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Prop_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Prop_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(18, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Prop.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Prop_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Prop_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Prop_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_21__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Prop_21__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_21__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_21__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_20__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_20__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.model,)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->model);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->model)) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.model is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.model is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Prop, (type(self), 0x9372c47, None), state
*/
  /*else*/ {
    __pyx_t_2 = (((PyObject *)__pyx_v_self->model) != Py_None);
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Prop, (type(self), 0x9372c47, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.model is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Prop, (type(self), 0x9372c47, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Prop, (type(self), 0x9372c47, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Prop); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_154610759);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_154610759);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_154610759) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Prop, (type(self), 0x9372c47, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Prop, (type(self), 0x9372c47, None), state
 *     else:
 *         return __pyx_unpickle_Prop, (type(self), 0x9372c47, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Prop__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Prop); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_154610759);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_154610759);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_154610759) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Prop.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Prop, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Prop__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_23__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Prop_23__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_23__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Prop_23__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Prop.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Prop_22__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Prop_22__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Prop, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Prop__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Prop__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Prop, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Prop__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Prop.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":48
 * 
 * 
 * cdef SCIP_RETCODE PyPropCopy (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_PROP *__pyx_v_prop) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/propagator.pxi":49
 * 
 * cdef SCIP_RETCODE PyPropCopy (SCIP* scip, SCIP_PROP* prop) noexcept with gil:
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPropFree (SCIP* scip, SCIP_PROP* prop) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/propagator.pxi":48
 * 
 * 
 * cdef SCIP_RETCODE PyPropCopy (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":51
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropFree (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PROP *__pyx_v_prop) {
  SCIP_PROPDATA *__pyx_v_propdata;
  struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_PyProp = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPropFree", 0);

  /* "src/pyscipopt/propagator.pxi":53
 * cdef SCIP_RETCODE PyPropFree (SCIP* scip, SCIP_PROP* prop) noexcept with gil:
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)             # <<<<<<<<<<<<<<
 *     PyProp = <Prop>propdata
 *     PyProp.propfree()
*/
  __pyx_v_propdata = SCIPpropGetData(__pyx_v_prop);

  /* "src/pyscipopt/propagator.pxi":54
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata             # <<<<<<<<<<<<<<
 *     PyProp.propfree()
 *     Py_DECREF(PyProp)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_propdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyProp = ((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":55
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata
 *     PyProp.propfree()             # <<<<<<<<<<<<<<
 *     Py_DECREF(PyProp)
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyProp);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_propfree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 55, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":56
 *     PyProp = <Prop>propdata
 *     PyProp.propfree()
 *     Py_DECREF(PyProp)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyProp));

  /* "src/pyscipopt/propagator.pxi":57
 *     PyProp.propfree()
 *     Py_DECREF(PyProp)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPropInit (SCIP* scip, SCIP_PROP* prop) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/propagator.pxi":51
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropFree (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPropFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyProp);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":59
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropInit (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropInit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PROP *__pyx_v_prop) {
  SCIP_PROPDATA *__pyx_v_propdata;
  struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_PyProp = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPropInit", 0);

  /* "src/pyscipopt/propagator.pxi":61
 * cdef SCIP_RETCODE PyPropInit (SCIP* scip, SCIP_PROP* prop) noexcept with gil:
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)             # <<<<<<<<<<<<<<
 *     PyProp = <Prop>propdata
 *     PyProp.propinit()
*/
  __pyx_v_propdata = SCIPpropGetData(__pyx_v_prop);

  /* "src/pyscipopt/propagator.pxi":62
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata             # <<<<<<<<<<<<<<
 *     PyProp.propinit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_propdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyProp = ((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":63
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata
 *     PyProp.propinit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyProp);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_propinit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 63, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":64
 *     PyProp = <Prop>propdata
 *     PyProp.propinit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPropExit (SCIP* scip, SCIP_PROP* prop) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/propagator.pxi":59
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropInit (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPropInit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyProp);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":66
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropExit (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropExit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PROP *__pyx_v_prop) {
  SCIP_PROPDATA *__pyx_v_propdata;
  struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_PyProp = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPropExit", 0);

  /* "src/pyscipopt/propagator.pxi":68
 * cdef SCIP_RETCODE PyPropExit (SCIP* scip, SCIP_PROP* prop) noexcept with gil:
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)             # <<<<<<<<<<<<<<
 *     PyProp = <Prop>propdata
 *     PyProp.propexit()
*/
  __pyx_v_propdata = SCIPpropGetData(__pyx_v_prop);

  /* "src/pyscipopt/propagator.pxi":69
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata             # <<<<<<<<<<<<<<
 *     PyProp.propexit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_propdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyProp = ((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":70
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata
 *     PyProp.propexit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyProp);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_propexit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 70, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":71
 *     PyProp = <Prop>propdata
 *     PyProp.propexit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPropInitpre (SCIP* scip, SCIP_PROP* prop) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/propagator.pxi":66
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropExit (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPropExit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyProp);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":73
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropInitpre (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropInitpre(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PROP *__pyx_v_prop) {
  SCIP_PROPDATA *__pyx_v_propdata;
  struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_PyProp = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPropInitpre", 0);

  /* "src/pyscipopt/propagator.pxi":75
 * cdef SCIP_RETCODE PyPropInitpre (SCIP* scip, SCIP_PROP* prop) noexcept with gil:
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)             # <<<<<<<<<<<<<<
 *     PyProp = <Prop>propdata
 *     PyProp.propinitpre()
*/
  __pyx_v_propdata = SCIPpropGetData(__pyx_v_prop);

  /* "src/pyscipopt/propagator.pxi":76
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata             # <<<<<<<<<<<<<<
 *     PyProp.propinitpre()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_propdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyProp = ((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":77
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata
 *     PyProp.propinitpre()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyProp);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_propinitpre, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":78
 *     PyProp = <Prop>propdata
 *     PyProp.propinitpre()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPropExitpre (SCIP* scip, SCIP_PROP* prop) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/propagator.pxi":73
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropInitpre (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPropInitpre", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyProp);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":80
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropExitpre (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropExitpre(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PROP *__pyx_v_prop) {
  SCIP_PROPDATA *__pyx_v_propdata;
  struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_PyProp = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPropExitpre", 0);

  /* "src/pyscipopt/propagator.pxi":82
 * cdef SCIP_RETCODE PyPropExitpre (SCIP* scip, SCIP_PROP* prop) noexcept with gil:
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)             # <<<<<<<<<<<<<<
 *     PyProp = <Prop>propdata
 *     PyProp.propexitpre()
*/
  __pyx_v_propdata = SCIPpropGetData(__pyx_v_prop);

  /* "src/pyscipopt/propagator.pxi":83
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata             # <<<<<<<<<<<<<<
 *     PyProp.propexitpre()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_propdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyProp = ((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":84
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata
 *     PyProp.propexitpre()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyProp);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_propexitpre, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 84, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":85
 *     PyProp = <Prop>propdata
 *     PyProp.propexitpre()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPropInitsol (SCIP* scip, SCIP_PROP* prop) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/propagator.pxi":80
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropExitpre (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPropExitpre", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyProp);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":87
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropInitsol (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropInitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PROP *__pyx_v_prop) {
  SCIP_PROPDATA *__pyx_v_propdata;
  struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_PyProp = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPropInitsol", 0);

  /* "src/pyscipopt/propagator.pxi":89
 * cdef SCIP_RETCODE PyPropInitsol (SCIP* scip, SCIP_PROP* prop) noexcept with gil:
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)             # <<<<<<<<<<<<<<
 *     PyProp = <Prop>propdata
 *     PyProp.propinitsol()
*/
  __pyx_v_propdata = SCIPpropGetData(__pyx_v_prop);

  /* "src/pyscipopt/propagator.pxi":90
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata             # <<<<<<<<<<<<<<
 *     PyProp.propinitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_propdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyProp = ((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":91
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata
 *     PyProp.propinitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyProp);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_propinitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":92
 *     PyProp = <Prop>propdata
 *     PyProp.propinitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPropExitsol (SCIP* scip, SCIP_PROP* prop, SCIP_Bool restart) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/propagator.pxi":87
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropInitsol (SCIP* scip, SCIP_PROP* prop) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPropInitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyProp);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":94
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropExitsol (SCIP* scip, SCIP_PROP* prop, SCIP_Bool restart) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropExitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PROP *__pyx_v_prop, SCIP_Bool __pyx_v_restart) {
  SCIP_PROPDATA *__pyx_v_propdata;
  struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_PyProp = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPropExitsol", 0);

  /* "src/pyscipopt/propagator.pxi":96
 * cdef SCIP_RETCODE PyPropExitsol (SCIP* scip, SCIP_PROP* prop, SCIP_Bool restart) noexcept with gil:
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)             # <<<<<<<<<<<<<<
 *     PyProp = <Prop>propdata
 *     PyProp.propexitsol(restart)
*/
  __pyx_v_propdata = SCIPpropGetData(__pyx_v_prop);

  /* "src/pyscipopt/propagator.pxi":97
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata             # <<<<<<<<<<<<<<
 *     PyProp.propexitsol(restart)
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_propdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyProp = ((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":98
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata
 *     PyProp.propexitsol(restart)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyProp);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_restart); if (unlikely(!__pyx_t_3)) __PYX_ERR(18, 98, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_propexitsol, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 98, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":99
 *     PyProp = <Prop>propdata
 *     PyProp.propexitsol(restart)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPropPresol (SCIP* scip, SCIP_PROP* prop, int nrounds, SCIP_PRESOLTIMING presoltiming,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/propagator.pxi":94
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropExitsol (SCIP* scip, SCIP_PROP* prop, SCIP_Bool restart) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPropExitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyProp);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":101
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropPresol (SCIP* scip, SCIP_PROP* prop, int nrounds, SCIP_PRESOLTIMING presoltiming,             # <<<<<<<<<<<<<<
 *                                 int nnewfixedvars, int nnewaggrvars, int nnewchgvartypes, int nnewchgbds, int nnewholes,
 *                                 int nnewdelconss, int nnewaddconss, int nnewupgdconss, int nnewchgcoefs, int nnewchgsides,
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropPresol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PROP *__pyx_v_prop, int __pyx_v_nrounds, SCIP_PRESOLTIMING __pyx_v_presoltiming, int __pyx_v_nnewfixedvars, int __pyx_v_nnewaggrvars, int __pyx_v_nnewchgvartypes, int __pyx_v_nnewchgbds, int __pyx_v_nnewholes, int __pyx_v_nnewdelconss, int __pyx_v_nnewaddconss, int __pyx_v_nnewupgdconss, int __pyx_v_nnewchgcoefs, int __pyx_v_nnewchgsides, int *__pyx_v_nfixedvars, int *__pyx_v_naggrvars, int *__pyx_v_nchgvartypes, int *__pyx_v_nchgbds, int *__pyx_v_naddholes, int *__pyx_v_ndelconss, int *__pyx_v_naddconss, int *__pyx_v_nupgdconss, int *__pyx_v_nchgcoefs, int *__pyx_v_nchgsides, SCIP_RESULT *__pyx_v_result) {
  SCIP_PROPDATA *__pyx_v_propdata;
  struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_PyProp = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  size_t __pyx_t_15;
  SCIP_RESULT __pyx_t_16;
  int __pyx_t_17;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPropPresol", 0);

  /* "src/pyscipopt/propagator.pxi":107
 *                                 int* ndelconss, int* naddconss, int* nupgdconss, int* nchgcoefs, int* nchgsides, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)             # <<<<<<<<<<<<<<
 *     PyProp = <Prop>propdata
 *     # dictionary for input/output parameters
*/
  __pyx_v_propdata = SCIPpropGetData(__pyx_v_prop);

  /* "src/pyscipopt/propagator.pxi":108
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata             # <<<<<<<<<<<<<<
 *     # dictionary for input/output parameters
 *     result_dict = {}
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_propdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyProp = ((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":110
 *     PyProp = <Prop>propdata
 *     # dictionary for input/output parameters
 *     result_dict = {}             # <<<<<<<<<<<<<<
 *     result_dict["nfixedvars"]   = nfixedvars[0]
 *     result_dict["naggrvars"]    = naggrvars[0]
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_result_dict = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":111
 *     # dictionary for input/output parameters
 *     result_dict = {}
 *     result_dict["nfixedvars"]   = nfixedvars[0]             # <<<<<<<<<<<<<<
 *     result_dict["naggrvars"]    = naggrvars[0]
 *     result_dict["nchgvartypes"] = nchgvartypes[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nfixedvars[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nfixedvars, __pyx_t_1) < 0))) __PYX_ERR(18, 111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":112
 *     result_dict = {}
 *     result_dict["nfixedvars"]   = nfixedvars[0]
 *     result_dict["naggrvars"]    = naggrvars[0]             # <<<<<<<<<<<<<<
 *     result_dict["nchgvartypes"] = nchgvartypes[0]
 *     result_dict["nchgbds"]      = nchgbds[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_naggrvars[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_naggrvars, __pyx_t_1) < 0))) __PYX_ERR(18, 112, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":113
 *     result_dict["nfixedvars"]   = nfixedvars[0]
 *     result_dict["naggrvars"]    = naggrvars[0]
 *     result_dict["nchgvartypes"] = nchgvartypes[0]             # <<<<<<<<<<<<<<
 *     result_dict["nchgbds"]      = nchgbds[0]
 *     result_dict["naddholes"]    = naddholes[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nchgvartypes[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgvartypes, __pyx_t_1) < 0))) __PYX_ERR(18, 113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":114
 *     result_dict["naggrvars"]    = naggrvars[0]
 *     result_dict["nchgvartypes"] = nchgvartypes[0]
 *     result_dict["nchgbds"]      = nchgbds[0]             # <<<<<<<<<<<<<<
 *     result_dict["naddholes"]    = naddholes[0]
 *     result_dict["ndelconss"]    = ndelconss[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nchgbds[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgbds, __pyx_t_1) < 0))) __PYX_ERR(18, 114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":115
 *     result_dict["nchgvartypes"] = nchgvartypes[0]
 *     result_dict["nchgbds"]      = nchgbds[0]
 *     result_dict["naddholes"]    = naddholes[0]             # <<<<<<<<<<<<<<
 *     result_dict["ndelconss"]    = ndelconss[0]
 *     result_dict["naddconss"]    = naddconss[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_naddholes[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_naddholes, __pyx_t_1) < 0))) __PYX_ERR(18, 115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":116
 *     result_dict["nchgbds"]      = nchgbds[0]
 *     result_dict["naddholes"]    = naddholes[0]
 *     result_dict["ndelconss"]    = ndelconss[0]             # <<<<<<<<<<<<<<
 *     result_dict["naddconss"]    = naddconss[0]
 *     result_dict["nupgdconss"]   = nupgdconss[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_ndelconss[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_ndelconss, __pyx_t_1) < 0))) __PYX_ERR(18, 116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":117
 *     result_dict["naddholes"]    = naddholes[0]
 *     result_dict["ndelconss"]    = ndelconss[0]
 *     result_dict["naddconss"]    = naddconss[0]             # <<<<<<<<<<<<<<
 *     result_dict["nupgdconss"]   = nupgdconss[0]
 *     result_dict["nchgcoefs"]    = nchgcoefs[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_naddconss[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_naddconss, __pyx_t_1) < 0))) __PYX_ERR(18, 117, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":118
 *     result_dict["ndelconss"]    = ndelconss[0]
 *     result_dict["naddconss"]    = naddconss[0]
 *     result_dict["nupgdconss"]   = nupgdconss[0]             # <<<<<<<<<<<<<<
 *     result_dict["nchgcoefs"]    = nchgcoefs[0]
 *     result_dict["nchgsides"]    = nchgsides[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nupgdconss[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nupgdconss, __pyx_t_1) < 0))) __PYX_ERR(18, 118, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":119
 *     result_dict["naddconss"]    = naddconss[0]
 *     result_dict["nupgdconss"]   = nupgdconss[0]
 *     result_dict["nchgcoefs"]    = nchgcoefs[0]             # <<<<<<<<<<<<<<
 *     result_dict["nchgsides"]    = nchgsides[0]
 *     result_dict["result"]       = result[0]
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nchgcoefs[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgcoefs, __pyx_t_1) < 0))) __PYX_ERR(18, 119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":120
 *     result_dict["nupgdconss"]   = nupgdconss[0]
 *     result_dict["nchgcoefs"]    = nchgcoefs[0]
 *     result_dict["nchgsides"]    = nchgsides[0]             # <<<<<<<<<<<<<<
 *     result_dict["result"]       = result[0]
 *     PyProp.proppresol(nrounds, presoltiming,
*/
  __pyx_t_1 = __Pyx_PyLong_From_int((__pyx_v_nchgsides[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgsides, __pyx_t_1) < 0))) __PYX_ERR(18, 120, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":121
 *     result_dict["nchgcoefs"]    = nchgcoefs[0]
 *     result_dict["nchgsides"]    = nchgsides[0]
 *     result_dict["result"]       = result[0]             # <<<<<<<<<<<<<<
 *     PyProp.proppresol(nrounds, presoltiming,
 *                       nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
*/
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_RESULT((__pyx_v_result[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely((PyDict_SetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_1) < 0))) __PYX_ERR(18, 121, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":122
 *     result_dict["nchgsides"]    = nchgsides[0]
 *     result_dict["result"]       = result[0]
 *     PyProp.proppresol(nrounds, presoltiming,             # <<<<<<<<<<<<<<
 *                       nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
 *                       nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict)
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyProp);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_nrounds); if (unlikely(!__pyx_t_3)) __PYX_ERR(18, 122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_PRESOLTIMING(__pyx_v_presoltiming); if (unlikely(!__pyx_t_4)) __PYX_ERR(18, 122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);

  /* "src/pyscipopt/propagator.pxi":123
 *     result_dict["result"]       = result[0]
 *     PyProp.proppresol(nrounds, presoltiming,
 *                       nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,             # <<<<<<<<<<<<<<
 *                       nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict)
 *     result[0]       = result_dict["result"]
*/
  __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_nnewfixedvars); if (unlikely(!__pyx_t_5)) __PYX_ERR(18, 123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_int(__pyx_v_nnewaggrvars); if (unlikely(!__pyx_t_6)) __PYX_ERR(18, 123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = __Pyx_PyLong_From_int(__pyx_v_nnewchgvartypes); if (unlikely(!__pyx_t_7)) __PYX_ERR(18, 123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_nnewchgbds); if (unlikely(!__pyx_t_8)) __PYX_ERR(18, 123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyLong_From_int(__pyx_v_nnewholes); if (unlikely(!__pyx_t_9)) __PYX_ERR(18, 123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);

  /* "src/pyscipopt/propagator.pxi":124
 *     PyProp.proppresol(nrounds, presoltiming,
 *                       nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
 *                       nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict)             # <<<<<<<<<<<<<<
 *     result[0]       = result_dict["result"]
 *     nfixedvars[0]   = result_dict["nfixedvars"]
*/
  __pyx_t_10 = __Pyx_PyLong_From_int(__pyx_v_nnewdelconss); if (unlikely(!__pyx_t_10)) __PYX_ERR(18, 124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = __Pyx_PyLong_From_int(__pyx_v_nnewaddconss); if (unlikely(!__pyx_t_11)) __PYX_ERR(18, 124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_12 = __Pyx_PyLong_From_int(__pyx_v_nnewupgdconss); if (unlikely(!__pyx_t_12)) __PYX_ERR(18, 124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_13 = __Pyx_PyLong_From_int(__pyx_v_nnewchgcoefs); if (unlikely(!__pyx_t_13)) __PYX_ERR(18, 124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyLong_From_int(__pyx_v_nnewchgsides); if (unlikely(!__pyx_t_14)) __PYX_ERR(18, 124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_15 = 0;
  {
    PyObject *__pyx_callargs[14] = {__pyx_t_2, __pyx_t_3, __pyx_t_4, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_v_result_dict};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_proppresol, __pyx_callargs+__pyx_t_15, (14-__pyx_t_15) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":125
 *                       nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
 *                       nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict)
 *     result[0]       = result_dict["result"]             # <<<<<<<<<<<<<<
 *     nfixedvars[0]   = result_dict["nfixedvars"]
 *     naggrvars[0]    = result_dict["naggrvars"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_result); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_16 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_16 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(18, 125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_16;

  /* "src/pyscipopt/propagator.pxi":126
 *                       nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict)
 *     result[0]       = result_dict["result"]
 *     nfixedvars[0]   = result_dict["nfixedvars"]             # <<<<<<<<<<<<<<
 *     naggrvars[0]    = result_dict["naggrvars"]
 *     nchgvartypes[0] = result_dict["nchgvartypes"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nfixedvars); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_17 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(18, 126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nfixedvars[0]) = __pyx_t_17;

  /* "src/pyscipopt/propagator.pxi":127
 *     result[0]       = result_dict["result"]
 *     nfixedvars[0]   = result_dict["nfixedvars"]
 *     naggrvars[0]    = result_dict["naggrvars"]             # <<<<<<<<<<<<<<
 *     nchgvartypes[0] = result_dict["nchgvartypes"]
 *     nchgbds[0]      = result_dict["nchgbds"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_naggrvars); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_17 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(18, 127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_naggrvars[0]) = __pyx_t_17;

  /* "src/pyscipopt/propagator.pxi":128
 *     nfixedvars[0]   = result_dict["nfixedvars"]
 *     naggrvars[0]    = result_dict["naggrvars"]
 *     nchgvartypes[0] = result_dict["nchgvartypes"]             # <<<<<<<<<<<<<<
 *     nchgbds[0]      = result_dict["nchgbds"]
 *     naddholes[0]    = result_dict["naddholes"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgvartypes); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_17 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(18, 128, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nchgvartypes[0]) = __pyx_t_17;

  /* "src/pyscipopt/propagator.pxi":129
 *     naggrvars[0]    = result_dict["naggrvars"]
 *     nchgvartypes[0] = result_dict["nchgvartypes"]
 *     nchgbds[0]      = result_dict["nchgbds"]             # <<<<<<<<<<<<<<
 *     naddholes[0]    = result_dict["naddholes"]
 *     ndelconss[0]    = result_dict["ndelconss"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgbds); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_17 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(18, 129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nchgbds[0]) = __pyx_t_17;

  /* "src/pyscipopt/propagator.pxi":130
 *     nchgvartypes[0] = result_dict["nchgvartypes"]
 *     nchgbds[0]      = result_dict["nchgbds"]
 *     naddholes[0]    = result_dict["naddholes"]             # <<<<<<<<<<<<<<
 *     ndelconss[0]    = result_dict["ndelconss"]
 *     naddconss[0]    = result_dict["naddconss"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_naddholes); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_17 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(18, 130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_naddholes[0]) = __pyx_t_17;

  /* "src/pyscipopt/propagator.pxi":131
 *     nchgbds[0]      = result_dict["nchgbds"]
 *     naddholes[0]    = result_dict["naddholes"]
 *     ndelconss[0]    = result_dict["ndelconss"]             # <<<<<<<<<<<<<<
 *     naddconss[0]    = result_dict["naddconss"]
 *     nupgdconss[0]   = result_dict["nupgdconss"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_ndelconss); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_17 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(18, 131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_ndelconss[0]) = __pyx_t_17;

  /* "src/pyscipopt/propagator.pxi":132
 *     naddholes[0]    = result_dict["naddholes"]
 *     ndelconss[0]    = result_dict["ndelconss"]
 *     naddconss[0]    = result_dict["naddconss"]             # <<<<<<<<<<<<<<
 *     nupgdconss[0]   = result_dict["nupgdconss"]
 *     nchgcoefs[0]    = result_dict["nchgcoefs"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_naddconss); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_17 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(18, 132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_naddconss[0]) = __pyx_t_17;

  /* "src/pyscipopt/propagator.pxi":133
 *     ndelconss[0]    = result_dict["ndelconss"]
 *     naddconss[0]    = result_dict["naddconss"]
 *     nupgdconss[0]   = result_dict["nupgdconss"]             # <<<<<<<<<<<<<<
 *     nchgcoefs[0]    = result_dict["nchgcoefs"]
 *     nchgsides[0]    = result_dict["nchgsides"]
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nupgdconss); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_17 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(18, 133, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nupgdconss[0]) = __pyx_t_17;

  /* "src/pyscipopt/propagator.pxi":134
 *     naddconss[0]    = result_dict["naddconss"]
 *     nupgdconss[0]   = result_dict["nupgdconss"]
 *     nchgcoefs[0]    = result_dict["nchgcoefs"]             # <<<<<<<<<<<<<<
 *     nchgsides[0]    = result_dict["nchgsides"]
 *     return SCIP_OKAY
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgcoefs); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_17 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(18, 134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nchgcoefs[0]) = __pyx_t_17;

  /* "src/pyscipopt/propagator.pxi":135
 *     nupgdconss[0]   = result_dict["nupgdconss"]
 *     nchgcoefs[0]    = result_dict["nchgcoefs"]
 *     nchgsides[0]    = result_dict["nchgsides"]             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_nchgsides); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_17 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(18, 135, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_nchgsides[0]) = __pyx_t_17;

  /* "src/pyscipopt/propagator.pxi":136
 *     nchgcoefs[0]    = result_dict["nchgcoefs"]
 *     nchgsides[0]    = result_dict["nchgsides"]
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPropExec (SCIP* scip, SCIP_PROP* prop, SCIP_PROPTIMING proptiming, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/propagator.pxi":101
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropPresol (SCIP* scip, SCIP_PROP* prop, int nrounds, SCIP_PRESOLTIMING presoltiming,             # <<<<<<<<<<<<<<
 *                                 int nnewfixedvars, int nnewaggrvars, int nnewchgvartypes, int nnewchgbds, int nnewholes,
 *                                 int nnewdelconss, int nnewaddconss, int nnewupgdconss, int nnewchgcoefs, int nnewchgsides,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPropPresol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyProp);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":138
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropExec (SCIP* scip, SCIP_PROP* prop, SCIP_PROPTIMING proptiming, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropExec(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PROP *__pyx_v_prop, SCIP_PROPTIMING __pyx_v_proptiming, SCIP_RESULT *__pyx_v_result) {
  SCIP_PROPDATA *__pyx_v_propdata;
  struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_PyProp = NULL;
  PyObject *__pyx_v_returnvalues = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  SCIP_RESULT __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPropExec", 0);

  /* "src/pyscipopt/propagator.pxi":140
 * cdef SCIP_RETCODE PyPropExec (SCIP* scip, SCIP_PROP* prop, SCIP_PROPTIMING proptiming, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)             # <<<<<<<<<<<<<<
 *     PyProp = <Prop>propdata
 *     returnvalues = PyProp.propexec(proptiming)
*/
  __pyx_v_propdata = SCIPpropGetData(__pyx_v_prop);

  /* "src/pyscipopt/propagator.pxi":141
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata             # <<<<<<<<<<<<<<
 *     returnvalues = PyProp.propexec(proptiming)
 *     result_dict = returnvalues
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_propdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyProp = ((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":142
 *     propdata = SCIPpropGetData(prop)
 *     PyProp = <Prop>propdata
 *     returnvalues = PyProp.propexec(proptiming)             # <<<<<<<<<<<<<<
 *     result_dict = returnvalues
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyProp);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_SCIP_PROPTIMING(__pyx_v_proptiming); if (unlikely(!__pyx_t_3)) __PYX_ERR(18, 142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_propexec, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_returnvalues = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":143
 *     PyProp = <Prop>propdata
 *     returnvalues = PyProp.propexec(proptiming)
 *     result_dict = returnvalues             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __Pyx_INCREF(__pyx_v_returnvalues);
  __pyx_v_result_dict = __pyx_v_returnvalues;

  /* "src/pyscipopt/propagator.pxi":144
 *     returnvalues = PyProp.propexec(proptiming)
 *     result_dict = returnvalues
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_3 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_2)) __PYX_ERR(18, 144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 144, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_5 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(18, 144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_5;

  /* "src/pyscipopt/propagator.pxi":145
 *     result_dict = returnvalues
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyPropResProp (SCIP* scip, SCIP_PROP* prop, SCIP_VAR* infervar, int inferinfo,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/propagator.pxi":138
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropExec (SCIP* scip, SCIP_PROP* prop, SCIP_PROPTIMING proptiming, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_PROPDATA* propdata
 *     propdata = SCIPpropGetData(prop)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPropExec", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyProp);
  __Pyx_XDECREF(__pyx_v_returnvalues);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/propagator.pxi":147
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropResProp (SCIP* scip, SCIP_PROP* prop, SCIP_VAR* infervar, int inferinfo,             # <<<<<<<<<<<<<<
 *                                  SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX* bdchgidx, SCIP_Real relaxedbd, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_PROPDATA* propdata
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyPropResProp(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_PROP *__pyx_v_prop, SCIP_VAR *__pyx_v_infervar, int __pyx_v_inferinfo, SCIP_BOUNDTYPE __pyx_v_boundtype, CYTHON_UNUSED SCIP_BDCHGIDX *__pyx_v_bdchgidx, SCIP_Real __pyx_v_relaxedbd, SCIP_RESULT *__pyx_v_result) {
  SCIP_PROPDATA *__pyx_v_propdata;
  SCIP_VAR *__pyx_v_tmp;
  PyObject *__pyx_v_confvar = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_PyProp = NULL;
  PyObject *__pyx_v_returnvalues = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  SCIP_RESULT __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyPropResProp", 0);

  /* "src/pyscipopt/propagator.pxi":151
 *     cdef SCIP_PROPDATA* propdata
 *     cdef SCIP_VAR* tmp
 *     tmp = infervar             # <<<<<<<<<<<<<<
 *     propdata = SCIPpropGetData(prop)
 *     confvar = Variable.create(tmp)
*/
  __pyx_v_tmp = __pyx_v_infervar;

  /* "src/pyscipopt/propagator.pxi":152
 *     cdef SCIP_VAR* tmp
 *     tmp = infervar
 *     propdata = SCIPpropGetData(prop)             # <<<<<<<<<<<<<<
 *     confvar = Variable.create(tmp)
 * 
*/
  __pyx_v_propdata = SCIPpropGetData(__pyx_v_prop);

  /* "src/pyscipopt/propagator.pxi":153
 *     tmp = infervar
 *     propdata = SCIPpropGetData(prop)
 *     confvar = Variable.create(tmp)             # <<<<<<<<<<<<<<
 * 
 *     #TODO: parse bdchgidx?
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Variable_create(__pyx_v_tmp); if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_confvar = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":157
 *     #TODO: parse bdchgidx?
 * 
 *     PyProp = <Prop>propdata             # <<<<<<<<<<<<<<
 *     returnvalues = PyProp.propresprop(confvar, inferinfo, boundtype, relaxedbd)
 *     result_dict = returnvalues
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_propdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyProp = ((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":158
 * 
 *     PyProp = <Prop>propdata
 *     returnvalues = PyProp.propresprop(confvar, inferinfo, boundtype, relaxedbd)             # <<<<<<<<<<<<<<
 *     result_dict = returnvalues
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyProp);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_inferinfo); if (unlikely(!__pyx_t_3)) __PYX_ERR(18, 158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_BOUNDTYPE(__pyx_v_boundtype); if (unlikely(!__pyx_t_4)) __PYX_ERR(18, 158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_relaxedbd); if (unlikely(!__pyx_t_5)) __PYX_ERR(18, 158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[5] = {__pyx_t_2, __pyx_v_confvar, __pyx_t_3, __pyx_t_4, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_propresprop, __pyx_callargs+__pyx_t_6, (5-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_returnvalues = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/propagator.pxi":159
 *     PyProp = <Prop>propdata
 *     returnvalues = PyProp.propresprop(confvar, inferinfo, boundtype, relaxedbd)
 *     result_dict = returnvalues             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __Pyx_INCREF(__pyx_v_returnvalues);
  __pyx_v_result_dict = __pyx_v_returnvalues;

  /* "src/pyscipopt/propagator.pxi":160
 *     returnvalues = PyProp.propresprop(confvar, inferinfo, boundtype, relaxedbd)
 *     result_dict = returnvalues
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
*/
  __pyx_t_5 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(18, 160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(18, 160, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_7 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_7 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(18, 160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_7;

  /* "src/pyscipopt/propagator.pxi":161
 *     result_dict = returnvalues
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/propagator.pxi":147
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyPropResProp (SCIP* scip, SCIP_PROP* prop, SCIP_VAR* infervar, int inferinfo,             # <<<<<<<<<<<<<<
 *                                  SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX* bdchgidx, SCIP_Real relaxedbd, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_PROPDATA* propdata
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyPropResProp", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_confvar);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyProp);
  __Pyx_XDECREF(__pyx_v_returnvalues);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":7
 *     cdef public str name
 * 
 *     def sepafree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of separator'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_1sepafree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Sepa_sepafree, "calls destructor and frees memory of separator");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Sepa_1sepafree = {"sepafree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_1sepafree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_sepafree};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_1sepafree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sepafree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("sepafree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("sepafree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_sepafree(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_sepafree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sepafree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":11
 *         pass
 * 
 *     def sepainit(self):             # <<<<<<<<<<<<<<
 *         '''initializes separator'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_3sepainit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Sepa_2sepainit, "initializes separator");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Sepa_3sepainit = {"sepainit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_3sepainit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_2sepainit};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_3sepainit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sepainit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("sepainit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("sepainit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_2sepainit(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_2sepainit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sepainit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":15
 *         pass
 * 
 *     def sepaexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of separator'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_5sepaexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Sepa_4sepaexit, "calls exit method of separator");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Sepa_5sepaexit = {"sepaexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_5sepaexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_4sepaexit};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_5sepaexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sepaexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("sepaexit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("sepaexit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_4sepaexit(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_4sepaexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sepaexit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":19
 *         pass
 * 
 *     def sepainitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs separator that the branch and bound process is being started'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_7sepainitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Sepa_6sepainitsol, "informs separator that the branch and bound process is being started");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Sepa_7sepainitsol = {"sepainitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_7sepainitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_6sepainitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_7sepainitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sepainitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("sepainitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("sepainitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_6sepainitsol(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_6sepainitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sepainitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":23
 *         pass
 * 
 *     def sepaexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs separator that the branch and bound process data is being freed'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_9sepaexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Sepa_8sepaexitsol, "informs separator that the branch and bound process data is being freed");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Sepa_9sepaexitsol = {"sepaexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_9sepaexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_8sepaexitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_9sepaexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sepaexitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("sepaexitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("sepaexitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_8sepaexitsol(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_8sepaexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sepaexitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":27
 *         pass
 * 
 *     def sepaexeclp(self):             # <<<<<<<<<<<<<<
 *         '''calls LP separation method of separator'''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_11sepaexeclp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Sepa_10sepaexeclp, "calls LP separation method of separator");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Sepa_11sepaexeclp = {"sepaexeclp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_11sepaexeclp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_10sepaexeclp};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_11sepaexeclp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sepaexeclp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("sepaexeclp", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("sepaexeclp", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_10sepaexeclp(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_10sepaexeclp(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("sepaexeclp", 0);

  /* "src/pyscipopt/sepa.pxi":29
 *     def sepaexeclp(self):
 *         '''calls LP separation method of separator'''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 *     def sepaexecsol(self, solution):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 29, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/sepa.pxi":27
 *         pass
 * 
 *     def sepaexeclp(self):             # <<<<<<<<<<<<<<
 *         '''calls LP separation method of separator'''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Sepa.sepaexeclp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":31
 *         return {}
 * 
 *     def sepaexecsol(self, solution):             # <<<<<<<<<<<<<<
 *         '''calls primal solution separation method of separator'''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_13sepaexecsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Sepa_12sepaexecsol, "calls primal solution separation method of separator");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Sepa_13sepaexecsol = {"sepaexecsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_13sepaexecsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_12sepaexecsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_13sepaexecsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_solution = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sepaexecsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(19, 31, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(19, 31, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "sepaexecsol", 0) < (0)) __PYX_ERR(19, 31, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("sepaexecsol", 1, 1, 1, i); __PYX_ERR(19, 31, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(19, 31, __pyx_L3_error)
    }
    __pyx_v_solution = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("sepaexecsol", 1, 1, 1, __pyx_nargs); __PYX_ERR(19, 31, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Sepa.sepaexecsol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_12sepaexecsol(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self), __pyx_v_solution);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_12sepaexecsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_solution) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("sepaexecsol", 0);

  /* "src/pyscipopt/sepa.pxi":33
 *     def sepaexecsol(self, solution):
 *         '''calls primal solution separation method of separator'''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 33, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/sepa.pxi":31
 *         return {}
 * 
 *     def sepaexecsol(self, solution):             # <<<<<<<<<<<<<<
 *         '''calls primal solution separation method of separator'''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Sepa.sepaexecsol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":4
 * #@brief Base class of the Separator Plugin
 * cdef class Sepa:
 *     cdef public Model model             # <<<<<<<<<<<<<<
 *     cdef public str name
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Sepa_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Sepa_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Sepa_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(19, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Sepa.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Sepa_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Sepa_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Sepa_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":5
 * cdef class Sepa:
 *     cdef public Model model
 *     cdef public str name             # <<<<<<<<<<<<<<
 * 
 *     def sepafree(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_4name___get__(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->name);
  __pyx_r = __pyx_v_self->name;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Sepa_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Sepa_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_4name_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Sepa_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(19, 5, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Sepa.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Sepa_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Sepa_4name_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_4name_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Sepa_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_15__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Sepa_15__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_15__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_15__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_14__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_14__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.model, self.name)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->model);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->model)) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->name);
  __Pyx_GIVEREF(__pyx_v_self->name);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->name) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.model is not None or self.name is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Sepa, (type(self), 0x48f811e, None), state
*/
  /*else*/ {
    __pyx_t_3 = (((PyObject *)__pyx_v_self->model) != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->name != ((PyObject*)Py_None));
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Sepa, (type(self), 0x48f811e, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Sepa, (type(self), 0x48f811e, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Sepa, (type(self), 0x48f811e, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Sepa); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76513566);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76513566);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76513566) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Sepa, (type(self), 0x48f811e, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Sepa, (type(self), 0x48f811e, None), state
 *     else:
 *         return __pyx_unpickle_Sepa, (type(self), 0x48f811e, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Sepa__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Sepa); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76513566);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76513566);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76513566) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Sepa.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Sepa, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Sepa__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_17__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Sepa_17__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_17__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Sepa_17__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Sepa.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Sepa_16__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Sepa_16__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Sepa, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Sepa__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Sepa__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Sepa, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Sepa__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Sepa.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":37
 * 
 * 
 * cdef SCIP_RETCODE PySepaCopy (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_SEPA *__pyx_v_sepa) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/sepa.pxi":38
 * 
 * cdef SCIP_RETCODE PySepaCopy (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PySepaFree (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/sepa.pxi":37
 * 
 * 
 * cdef SCIP_RETCODE PySepaCopy (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":40
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaFree (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_SEPA *__pyx_v_sepa) {
  SCIP_SEPADATA *__pyx_v_sepadata;
  struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_PySepa = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PySepaFree", 0);

  /* "src/pyscipopt/sepa.pxi":42
 * cdef SCIP_RETCODE PySepaFree (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)             # <<<<<<<<<<<<<<
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepafree()
*/
  __pyx_v_sepadata = SCIPsepaGetData(__pyx_v_sepa);

  /* "src/pyscipopt/sepa.pxi":43
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
 *     PySepa = <Sepa>sepadata             # <<<<<<<<<<<<<<
 *     PySepa.sepafree()
 *     Py_DECREF(PySepa)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_sepadata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PySepa = ((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":44
 *     sepadata = SCIPsepaGetData(sepa)
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepafree()             # <<<<<<<<<<<<<<
 *     Py_DECREF(PySepa)
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PySepa);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_sepafree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 44, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":45
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepafree()
 *     Py_DECREF(PySepa)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PySepa));

  /* "src/pyscipopt/sepa.pxi":46
 *     PySepa.sepafree()
 *     Py_DECREF(PySepa)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PySepaInit (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/sepa.pxi":40
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaFree (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PySepaFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PySepa);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":48
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaInit (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaInit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_SEPA *__pyx_v_sepa) {
  SCIP_SEPADATA *__pyx_v_sepadata;
  struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_PySepa = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PySepaInit", 0);

  /* "src/pyscipopt/sepa.pxi":50
 * cdef SCIP_RETCODE PySepaInit (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)             # <<<<<<<<<<<<<<
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepainit()
*/
  __pyx_v_sepadata = SCIPsepaGetData(__pyx_v_sepa);

  /* "src/pyscipopt/sepa.pxi":51
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
 *     PySepa = <Sepa>sepadata             # <<<<<<<<<<<<<<
 *     PySepa.sepainit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_sepadata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PySepa = ((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":52
 *     sepadata = SCIPsepaGetData(sepa)
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepainit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PySepa);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_sepainit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 52, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":53
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepainit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PySepaExit (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/sepa.pxi":48
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaInit (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PySepaInit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PySepa);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":55
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaExit (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaExit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_SEPA *__pyx_v_sepa) {
  SCIP_SEPADATA *__pyx_v_sepadata;
  struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_PySepa = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PySepaExit", 0);

  /* "src/pyscipopt/sepa.pxi":57
 * cdef SCIP_RETCODE PySepaExit (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)             # <<<<<<<<<<<<<<
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepaexit()
*/
  __pyx_v_sepadata = SCIPsepaGetData(__pyx_v_sepa);

  /* "src/pyscipopt/sepa.pxi":58
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
 *     PySepa = <Sepa>sepadata             # <<<<<<<<<<<<<<
 *     PySepa.sepaexit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_sepadata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PySepa = ((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":59
 *     sepadata = SCIPsepaGetData(sepa)
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepaexit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PySepa);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_sepaexit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 59, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":60
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepaexit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PySepaInitsol (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/sepa.pxi":55
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaExit (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PySepaExit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PySepa);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":62
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaInitsol (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaInitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_SEPA *__pyx_v_sepa) {
  SCIP_SEPADATA *__pyx_v_sepadata;
  struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_PySepa = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PySepaInitsol", 0);

  /* "src/pyscipopt/sepa.pxi":64
 * cdef SCIP_RETCODE PySepaInitsol (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)             # <<<<<<<<<<<<<<
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepainitsol()
*/
  __pyx_v_sepadata = SCIPsepaGetData(__pyx_v_sepa);

  /* "src/pyscipopt/sepa.pxi":65
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
 *     PySepa = <Sepa>sepadata             # <<<<<<<<<<<<<<
 *     PySepa.sepainitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_sepadata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PySepa = ((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":66
 *     sepadata = SCIPsepaGetData(sepa)
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepainitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PySepa);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_sepainitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 66, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":67
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepainitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PySepaExitsol (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/sepa.pxi":62
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaInitsol (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PySepaInitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PySepa);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":69
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaExitsol (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaExitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_SEPA *__pyx_v_sepa) {
  SCIP_SEPADATA *__pyx_v_sepadata;
  struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_PySepa = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PySepaExitsol", 0);

  /* "src/pyscipopt/sepa.pxi":71
 * cdef SCIP_RETCODE PySepaExitsol (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)             # <<<<<<<<<<<<<<
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepaexitsol()
*/
  __pyx_v_sepadata = SCIPsepaGetData(__pyx_v_sepa);

  /* "src/pyscipopt/sepa.pxi":72
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
 *     PySepa = <Sepa>sepadata             # <<<<<<<<<<<<<<
 *     PySepa.sepaexitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_sepadata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PySepa = ((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":73
 *     sepadata = SCIPsepaGetData(sepa)
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepaexitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PySepa);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_sepaexitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 73, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":74
 *     PySepa = <Sepa>sepadata
 *     PySepa.sepaexitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PySepaExeclp (SCIP* scip, SCIP_SEPA* sepa, SCIP_RESULT* result, unsigned int allowlocal, int depth) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/sepa.pxi":69
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaExitsol (SCIP* scip, SCIP_SEPA* sepa) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PySepaExitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PySepa);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":76
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaExeclp (SCIP* scip, SCIP_SEPA* sepa, SCIP_RESULT* result, unsigned int allowlocal, int depth) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaExeclp(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_SEPA *__pyx_v_sepa, SCIP_RESULT *__pyx_v_result, CYTHON_UNUSED unsigned int __pyx_v_allowlocal, CYTHON_UNUSED int __pyx_v_depth) {
  SCIP_SEPADATA *__pyx_v_sepadata;
  struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_PySepa = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  SCIP_RESULT __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PySepaExeclp", 0);

  /* "src/pyscipopt/sepa.pxi":78
 * cdef SCIP_RETCODE PySepaExeclp (SCIP* scip, SCIP_SEPA* sepa, SCIP_RESULT* result, unsigned int allowlocal, int depth) noexcept with gil:
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)             # <<<<<<<<<<<<<<
 *     PySepa = <Sepa>sepadata
 *     result_dict = PySepa.sepaexeclp()
*/
  __pyx_v_sepadata = SCIPsepaGetData(__pyx_v_sepa);

  /* "src/pyscipopt/sepa.pxi":79
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
 *     PySepa = <Sepa>sepadata             # <<<<<<<<<<<<<<
 *     result_dict = PySepa.sepaexeclp()
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_sepadata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PySepa = ((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":80
 *     sepadata = SCIPsepaGetData(sepa)
 *     PySepa = <Sepa>sepadata
 *     result_dict = PySepa.sepaexeclp()             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PySepa);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_sepaexeclp, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 80, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":81
 *     PySepa = <Sepa>sepadata
 *     result_dict = PySepa.sepaexeclp()
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 81, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_5 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(19, 81, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_5;

  /* "src/pyscipopt/sepa.pxi":82
 *     result_dict = PySepa.sepaexeclp()
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PySepaExecsol (SCIP* scip, SCIP_SEPA* sepa, SCIP_SOL* sol, SCIP_RESULT* result, unsigned int allowlocal, int depth) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/sepa.pxi":76
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaExeclp (SCIP* scip, SCIP_SEPA* sepa, SCIP_RESULT* result, unsigned int allowlocal, int depth) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_WriteUnraisable("pyscipopt.scip.PySepaExeclp", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PySepa);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/sepa.pxi":84
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaExecsol (SCIP* scip, SCIP_SEPA* sepa, SCIP_SOL* sol, SCIP_RESULT* result, unsigned int allowlocal, int depth) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PySepaExecsol(SCIP *__pyx_v_scip, SCIP_SEPA *__pyx_v_sepa, SCIP_SOL *__pyx_v_sol, SCIP_RESULT *__pyx_v_result, CYTHON_UNUSED unsigned int __pyx_v_allowlocal, CYTHON_UNUSED int __pyx_v_depth) {
  SCIP_SEPADATA *__pyx_v_sepadata;
  PyObject *__pyx_v_solution = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_PySepa = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  SCIP_RESULT __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PySepaExecsol", 0);

  /* "src/pyscipopt/sepa.pxi":86
 * cdef SCIP_RETCODE PySepaExecsol (SCIP* scip, SCIP_SEPA* sepa, SCIP_SOL* sol, SCIP_RESULT* result, unsigned int allowlocal, int depth) noexcept with gil:
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)             # <<<<<<<<<<<<<<
 *     solution = Solution.create(scip, sol)
 *     PySepa = <Sepa>sepadata
*/
  __pyx_v_sepadata = SCIPsepaGetData(__pyx_v_sepa);

  /* "src/pyscipopt/sepa.pxi":87
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
 *     solution = Solution.create(scip, sol)             # <<<<<<<<<<<<<<
 *     PySepa = <Sepa>sepadata
 *     result_dict = PySepa.sepaexecsol(solution)
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_scip, __pyx_v_sol); if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_solution = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":88
 *     sepadata = SCIPsepaGetData(sepa)
 *     solution = Solution.create(scip, sol)
 *     PySepa = <Sepa>sepadata             # <<<<<<<<<<<<<<
 *     result_dict = PySepa.sepaexecsol(solution)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_sepadata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PySepa = ((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":89
 *     solution = Solution.create(scip, sol)
 *     PySepa = <Sepa>sepadata
 *     result_dict = PySepa.sepaexecsol(solution)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PySepa);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_solution};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_sepaexecsol, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/sepa.pxi":90
 *     PySepa = <Sepa>sepadata
 *     result_dict = PySepa.sepaexecsol(solution)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
*/
  __pyx_t_2 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(19, 90, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_5 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(19, 90, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_5;

  /* "src/pyscipopt/sepa.pxi":91
 *     result_dict = PySepa.sepaexecsol(solution)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/sepa.pxi":84
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PySepaExecsol (SCIP* scip, SCIP_SEPA* sepa, SCIP_SOL* sol, SCIP_RESULT* result, unsigned int allowlocal, int depth) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_SEPADATA* sepadata
 *     sepadata = SCIPsepaGetData(sepa)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_WriteUnraisable("pyscipopt.scip.PySepaExecsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_solution);
  __Pyx_XDECREF((PyObject *)__pyx_v_PySepa);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/reader.pxi":7
 *     cdef public str name
 * 
 *     def readerfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of reader'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_1readerfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Reader_readerfree, "calls destructor and frees memory of reader");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Reader_1readerfree = {"readerfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Reader_1readerfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Reader_readerfree};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_1readerfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("readerfree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("readerfree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("readerfree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Reader_readerfree(((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_readerfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("readerfree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/reader.pxi":11
 *         pass
 * 
 *     def readerread(self, filename):             # <<<<<<<<<<<<<<
 *         '''calls read method of reader'''
 *         return {}
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_3readerread(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Reader_2readerread, "calls read method of reader");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Reader_3readerread = {"readerread", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Reader_3readerread, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Reader_2readerread};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_3readerread(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_filename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("readerread (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(20, 11, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(20, 11, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "readerread", 0) < (0)) __PYX_ERR(20, 11, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("readerread", 1, 1, 1, i); __PYX_ERR(20, 11, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(20, 11, __pyx_L3_error)
    }
    __pyx_v_filename = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("readerread", 1, 1, 1, __pyx_nargs); __PYX_ERR(20, 11, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Reader.readerread", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Reader_2readerread(((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_v_self), __pyx_v_filename);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_2readerread(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_filename) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("readerread", 0);

  /* "src/pyscipopt/reader.pxi":13
 *     def readerread(self, filename):
 *         '''calls read method of reader'''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 *     def readerwrite(self, file, name, transformed, objsense, objoffset, objscale, binvars, intvars,
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 13, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/reader.pxi":11
 *         pass
 * 
 *     def readerread(self, filename):             # <<<<<<<<<<<<<<
 *         '''calls read method of reader'''
 *         return {}
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Reader.readerread", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/reader.pxi":15
 *         return {}
 * 
 *     def readerwrite(self, file, name, transformed, objsense, objoffset, objscale, binvars, intvars,             # <<<<<<<<<<<<<<
 *                     implvars, contvars, fixedvars, startnvars, conss, maxnconss, startnconss, genericnames):
 *         '''calls write method of reader'''
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_5readerwrite(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Reader_4readerwrite, "calls write method of reader");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Reader_5readerwrite = {"readerwrite", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Reader_5readerwrite, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Reader_4readerwrite};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_5readerwrite(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_file = 0;
  CYTHON_UNUSED PyObject *__pyx_v_name = 0;
  CYTHON_UNUSED PyObject *__pyx_v_transformed = 0;
  CYTHON_UNUSED PyObject *__pyx_v_objsense = 0;
  CYTHON_UNUSED PyObject *__pyx_v_objoffset = 0;
  CYTHON_UNUSED PyObject *__pyx_v_objscale = 0;
  CYTHON_UNUSED PyObject *__pyx_v_binvars = 0;
  CYTHON_UNUSED PyObject *__pyx_v_intvars = 0;
  CYTHON_UNUSED PyObject *__pyx_v_implvars = 0;
  CYTHON_UNUSED PyObject *__pyx_v_contvars = 0;
  CYTHON_UNUSED PyObject *__pyx_v_fixedvars = 0;
  CYTHON_UNUSED PyObject *__pyx_v_startnvars = 0;
  CYTHON_UNUSED PyObject *__pyx_v_conss = 0;
  CYTHON_UNUSED PyObject *__pyx_v_maxnconss = 0;
  CYTHON_UNUSED PyObject *__pyx_v_startnconss = 0;
  CYTHON_UNUSED PyObject *__pyx_v_genericnames = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("readerwrite (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_file,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_transformed,&__pyx_mstate_global->__pyx_n_u_objsense,&__pyx_mstate_global->__pyx_n_u_objoffset,&__pyx_mstate_global->__pyx_n_u_objscale,&__pyx_mstate_global->__pyx_n_u_binvars,&__pyx_mstate_global->__pyx_n_u_intvars,&__pyx_mstate_global->__pyx_n_u_implvars,&__pyx_mstate_global->__pyx_n_u_contvars,&__pyx_mstate_global->__pyx_n_u_fixedvars,&__pyx_mstate_global->__pyx_n_u_startnvars,&__pyx_mstate_global->__pyx_n_u_conss,&__pyx_mstate_global->__pyx_n_u_maxnconss,&__pyx_mstate_global->__pyx_n_u_startnconss,&__pyx_mstate_global->__pyx_n_u_genericnames,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(20, 15, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 16:
        values[15] = __Pyx_ArgRef_FASTCALL(__pyx_args, 15);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[15])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 15:
        values[14] = __Pyx_ArgRef_FASTCALL(__pyx_args, 14);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[14])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 14:
        values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(20, 15, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "readerwrite", 0) < (0)) __PYX_ERR(20, 15, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 16; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("readerwrite", 1, 16, 16, i); __PYX_ERR(20, 15, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 16)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[14] = __Pyx_ArgRef_FASTCALL(__pyx_args, 14);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[14])) __PYX_ERR(20, 15, __pyx_L3_error)
      values[15] = __Pyx_ArgRef_FASTCALL(__pyx_args, 15);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[15])) __PYX_ERR(20, 15, __pyx_L3_error)
    }
    __pyx_v_file = values[0];
    __pyx_v_name = values[1];
    __pyx_v_transformed = values[2];
    __pyx_v_objsense = values[3];
    __pyx_v_objoffset = values[4];
    __pyx_v_objscale = values[5];
    __pyx_v_binvars = values[6];
    __pyx_v_intvars = values[7];
    __pyx_v_implvars = values[8];
    __pyx_v_contvars = values[9];
    __pyx_v_fixedvars = values[10];
    __pyx_v_startnvars = values[11];
    __pyx_v_conss = values[12];
    __pyx_v_maxnconss = values[13];
    __pyx_v_startnconss = values[14];
    __pyx_v_genericnames = values[15];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("readerwrite", 1, 16, 16, __pyx_nargs); __PYX_ERR(20, 15, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Reader.readerwrite", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Reader_4readerwrite(((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_v_self), __pyx_v_file, __pyx_v_name, __pyx_v_transformed, __pyx_v_objsense, __pyx_v_objoffset, __pyx_v_objscale, __pyx_v_binvars, __pyx_v_intvars, __pyx_v_implvars, __pyx_v_contvars, __pyx_v_fixedvars, __pyx_v_startnvars, __pyx_v_conss, __pyx_v_maxnconss, __pyx_v_startnconss, __pyx_v_genericnames);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_4readerwrite(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_file, CYTHON_UNUSED PyObject *__pyx_v_name, CYTHON_UNUSED PyObject *__pyx_v_transformed, CYTHON_UNUSED PyObject *__pyx_v_objsense, CYTHON_UNUSED PyObject *__pyx_v_objoffset, CYTHON_UNUSED PyObject *__pyx_v_objscale, CYTHON_UNUSED PyObject *__pyx_v_binvars, CYTHON_UNUSED PyObject *__pyx_v_intvars, CYTHON_UNUSED PyObject *__pyx_v_implvars, CYTHON_UNUSED PyObject *__pyx_v_contvars, CYTHON_UNUSED PyObject *__pyx_v_fixedvars, CYTHON_UNUSED PyObject *__pyx_v_startnvars, CYTHON_UNUSED PyObject *__pyx_v_conss, CYTHON_UNUSED PyObject *__pyx_v_maxnconss, CYTHON_UNUSED PyObject *__pyx_v_startnconss, CYTHON_UNUSED PyObject *__pyx_v_genericnames) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("readerwrite", 0);

  /* "src/pyscipopt/reader.pxi":18
 *                     implvars, contvars, fixedvars, startnvars, conss, maxnconss, startnconss, genericnames):
 *         '''calls write method of reader'''
 *         return {}             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/reader.pxi":15
 *         return {}
 * 
 *     def readerwrite(self, file, name, transformed, objsense, objoffset, objscale, binvars, intvars,             # <<<<<<<<<<<<<<
 *                     implvars, contvars, fixedvars, startnvars, conss, maxnconss, startnconss, genericnames):
 *         '''calls write method of reader'''
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Reader.readerwrite", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/reader.pxi":4
 * #@brief Base class of the Reader Plugin
 * cdef class Reader:
 *     cdef public Model model             # <<<<<<<<<<<<<<
 *     cdef public str name
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Reader_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_6Reader_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_6Reader_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Reader_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_6Reader_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(20, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Reader.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_6Reader_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_6Reader_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Reader_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_6Reader_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/reader.pxi":5
 * cdef class Reader:
 *     cdef public Model model
 *     cdef public str name             # <<<<<<<<<<<<<<
 * 
 *     def readerfree(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Reader_4name___get__(((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->name);
  __pyx_r = __pyx_v_self->name;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_6Reader_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_6Reader_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Reader_4name_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_6Reader_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(20, 5, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Reader.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_6Reader_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_6Reader_4name_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Reader_4name_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_6Reader_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Reader_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Reader_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_7__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Reader_6__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_6__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.model, self.name)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->model);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->model)) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->name);
  __Pyx_GIVEREF(__pyx_v_self->name);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->name) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.model is not None or self.name is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Reader, (type(self), 0x48f811e, None), state
*/
  /*else*/ {
    __pyx_t_3 = (((PyObject *)__pyx_v_self->model) != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->name != ((PyObject*)Py_None));
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Reader, (type(self), 0x48f811e, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Reader, (type(self), 0x48f811e, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Reader, (type(self), 0x48f811e, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Reader); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76513566);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76513566);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76513566) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Reader, (type(self), 0x48f811e, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Reader, (type(self), 0x48f811e, None), state
 *     else:
 *         return __pyx_unpickle_Reader, (type(self), 0x48f811e, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Reader__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Reader); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76513566);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76513566);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76513566) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Reader.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Reader, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Reader__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Reader_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Reader_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Reader_9__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Reader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Reader_8__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Reader_8__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Reader, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Reader__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Reader__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Reader, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Reader__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Reader.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/reader.pxi":21
 * 
 * 
 * cdef SCIP_RETCODE PyReaderCopy (SCIP* scip, SCIP_READER* reader) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyReaderCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_READER *__pyx_v_reader) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/reader.pxi":22
 * 
 * cdef SCIP_RETCODE PyReaderCopy (SCIP* scip, SCIP_READER* reader) noexcept with gil:
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyReaderFree (SCIP* scip, SCIP_READER* reader) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/reader.pxi":21
 * 
 * 
 * cdef SCIP_RETCODE PyReaderCopy (SCIP* scip, SCIP_READER* reader) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/reader.pxi":24
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyReaderFree (SCIP* scip, SCIP_READER* reader) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_READERDATA* readerdata
 *     readerdata = SCIPreaderGetData(reader)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyReaderFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_READER *__pyx_v_reader) {
  SCIP_READERDATA *__pyx_v_readerdata;
  struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_PyReader = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyReaderFree", 0);

  /* "src/pyscipopt/reader.pxi":26
 * cdef SCIP_RETCODE PyReaderFree (SCIP* scip, SCIP_READER* reader) noexcept with gil:
 *     cdef SCIP_READERDATA* readerdata
 *     readerdata = SCIPreaderGetData(reader)             # <<<<<<<<<<<<<<
 *     PyReader = <Reader>readerdata
 *     PyReader.readerfree()
*/
  __pyx_v_readerdata = SCIPreaderGetData(__pyx_v_reader);

  /* "src/pyscipopt/reader.pxi":27
 *     cdef SCIP_READERDATA* readerdata
 *     readerdata = SCIPreaderGetData(reader)
 *     PyReader = <Reader>readerdata             # <<<<<<<<<<<<<<
 *     PyReader.readerfree()
 *     Py_DECREF(PyReader)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_readerdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyReader = ((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":28
 *     readerdata = SCIPreaderGetData(reader)
 *     PyReader = <Reader>readerdata
 *     PyReader.readerfree()             # <<<<<<<<<<<<<<
 *     Py_DECREF(PyReader)
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyReader);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_readerfree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 28, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":29
 *     PyReader = <Reader>readerdata
 *     PyReader.readerfree()
 *     Py_DECREF(PyReader)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyReader));

  /* "src/pyscipopt/reader.pxi":30
 *     PyReader.readerfree()
 *     Py_DECREF(PyReader)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyReaderRead (SCIP* scip, SCIP_READER* reader, const char* filename, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/reader.pxi":24
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyReaderFree (SCIP* scip, SCIP_READER* reader) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_READERDATA* readerdata
 *     readerdata = SCIPreaderGetData(reader)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyReaderFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyReader);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/reader.pxi":32
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyReaderRead (SCIP* scip, SCIP_READER* reader, const char* filename, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_READERDATA* readerdata
 *     readerdata = SCIPreaderGetData(reader)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyReaderRead(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_READER *__pyx_v_reader, char const *__pyx_v_filename, SCIP_RESULT *__pyx_v_result) {
  SCIP_READERDATA *__pyx_v_readerdata;
  struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_PyReader = NULL;
  PyObject *__pyx_v_PyFilename = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  SCIP_RESULT __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyReaderRead", 0);

  /* "src/pyscipopt/reader.pxi":34
 * cdef SCIP_RETCODE PyReaderRead (SCIP* scip, SCIP_READER* reader, const char* filename, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_READERDATA* readerdata
 *     readerdata = SCIPreaderGetData(reader)             # <<<<<<<<<<<<<<
 *     PyReader = <Reader>readerdata
 *     PyFilename = filename.decode('utf-8')
*/
  __pyx_v_readerdata = SCIPreaderGetData(__pyx_v_reader);

  /* "src/pyscipopt/reader.pxi":35
 *     cdef SCIP_READERDATA* readerdata
 *     readerdata = SCIPreaderGetData(reader)
 *     PyReader = <Reader>readerdata             # <<<<<<<<<<<<<<
 *     PyFilename = filename.decode('utf-8')
 *     result_dict = PyReader.readerread(PyFilename)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_readerdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyReader = ((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":36
 *     readerdata = SCIPreaderGetData(reader)
 *     PyReader = <Reader>readerdata
 *     PyFilename = filename.decode('utf-8')             # <<<<<<<<<<<<<<
 *     result_dict = PyReader.readerread(PyFilename)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_2 = __Pyx_ssize_strlen(__pyx_v_filename); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(20, 36, __pyx_L1_error)
  __pyx_t_1 = __Pyx_decode_c_string(__pyx_v_filename, 0, __pyx_t_2, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyFilename = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":37
 *     PyReader = <Reader>readerdata
 *     PyFilename = filename.decode('utf-8')
 *     result_dict = PyReader.readerread(PyFilename)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_3 = ((PyObject *)__pyx_v_PyReader);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_PyFilename};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_readerread, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 37, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":38
 *     PyFilename = filename.decode('utf-8')
 *     result_dict = PyReader.readerread(PyFilename)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_3 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_5)) __PYX_ERR(20, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 38, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_6 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_6 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(20, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_6;

  /* "src/pyscipopt/reader.pxi":39
 *     result_dict = PyReader.readerread(PyFilename)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyReaderWrite (SCIP* scip, SCIP_READER* reader, FILE* file,
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/reader.pxi":32
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyReaderRead (SCIP* scip, SCIP_READER* reader, const char* filename, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_READERDATA* readerdata
 *     readerdata = SCIPreaderGetData(reader)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyReaderRead", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyReader);
  __Pyx_XDECREF(__pyx_v_PyFilename);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/reader.pxi":41
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyReaderWrite (SCIP* scip, SCIP_READER* reader, FILE* file,             # <<<<<<<<<<<<<<
 *                                  const char* filename, const char* name, SCIP_PROBDATA* probdata, SCIP_Bool transformed,
 *                                  SCIP_OBJSENSE objsense, SCIP_Real objoffset, SCIP_Real objscale,
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyReaderWrite(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_READER *__pyx_v_reader, FILE *__pyx_v_file, CYTHON_UNUSED char const *__pyx_v_filename, char const *__pyx_v_name, CYTHON_UNUSED SCIP_PROBDATA *__pyx_v_probdata, SCIP_Bool __pyx_v_transformed, SCIP_OBJSENSE __pyx_v_objsense, SCIP_Real __pyx_v_objoffset, SCIP_Real __pyx_v_objscale, CYTHON_UNUSED SCIP_RATIONAL *__pyx_v_objoffsetexact, CYTHON_UNUSED SCIP_RATIONAL *__pyx_v_objscaleexact, SCIP_VAR **__pyx_v_vars, CYTHON_UNUSED int __pyx_v_nvars, int __pyx_v_nbinvars, int __pyx_v_nintvars, int __pyx_v_nimplvars, int __pyx_v_ncontvars, SCIP_VAR **__pyx_v_fixedvars, int __pyx_v_nfixedvars, int __pyx_v_startnvars, SCIP_CONS **__pyx_v_conss, int __pyx_v_nconss, int __pyx_v_maxnconss, int __pyx_v_startnconss, SCIP_Bool __pyx_v_genericnames, SCIP_RESULT *__pyx_v_result) {
  SCIP_READERDATA *__pyx_v_readerdata;
  int __pyx_v_fd;
  PyObject *__pyx_v_PyFile = NULL;
  PyObject *__pyx_v_PyName = NULL;
  PyObject *__pyx_v_PyBinVars = NULL;
  PyObject *__pyx_v_PyIntVars = NULL;
  PyObject *__pyx_v_PyImplVars = NULL;
  PyObject *__pyx_v_PyContVars = NULL;
  PyObject *__pyx_v_PyFixedVars = NULL;
  PyObject *__pyx_v_PyConss = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_PyReader = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  int __pyx_9genexpr11__pyx_v_i;
  int __pyx_9genexpr12__pyx_v_i;
  int __pyx_9genexpr13__pyx_v_i;
  int __pyx_9genexpr14__pyx_v_i;
  int __pyx_9genexpr15__pyx_v_i;
  int __pyx_9genexpr16__pyx_v_i;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  SCIP_RESULT __pyx_t_16;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyReaderWrite", 0);

  /* "src/pyscipopt/reader.pxi":49
 *                                  SCIP_CONS** conss, int nconss, int maxnconss, int startnconss,
 *                                  SCIP_Bool genericnames, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_READERDATA* readerdata = SCIPreaderGetData(reader)             # <<<<<<<<<<<<<<
 *     cdef int fd = fileno(file)
 *     cdef int i
*/
  __pyx_v_readerdata = SCIPreaderGetData(__pyx_v_reader);

  /* "src/pyscipopt/reader.pxi":50
 *                                  SCIP_Bool genericnames, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_READERDATA* readerdata = SCIPreaderGetData(reader)
 *     cdef int fd = fileno(file)             # <<<<<<<<<<<<<<
 *     cdef int i
 * 
*/
  __pyx_v_fd = fileno(__pyx_v_file);

  /* "src/pyscipopt/reader.pxi":53
 *     cdef int i
 * 
 *     PyFile = os.fdopen(fd, "w", closefd=False)             # <<<<<<<<<<<<<<
 *     PyName = name.decode('utf-8')
 *     PyBinVars = [Variable.create(vars[i]) for i in range(nbinvars)]
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_os); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_fdopen); if (unlikely(!__pyx_t_4)) __PYX_ERR(20, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_fd); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 53, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_w};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(20, 53, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_closefd, Py_False, __pyx_t_6, __pyx_callargs+3, 0) < (0)) __PYX_ERR(20, 53, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 53, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_PyFile = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":54
 * 
 *     PyFile = os.fdopen(fd, "w", closefd=False)
 *     PyName = name.decode('utf-8')             # <<<<<<<<<<<<<<
 *     PyBinVars = [Variable.create(vars[i]) for i in range(nbinvars)]
 *     PyIntVars = [Variable.create(vars[i]) for i in range(nbinvars, nintvars)]
*/
  __pyx_t_7 = __Pyx_ssize_strlen(__pyx_v_name); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(20, 54, __pyx_L1_error)
  __pyx_t_1 = __Pyx_decode_c_string(__pyx_v_name, 0, __pyx_t_7, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyName = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":55
 *     PyFile = os.fdopen(fd, "w", closefd=False)
 *     PyName = name.decode('utf-8')
 *     PyBinVars = [Variable.create(vars[i]) for i in range(nbinvars)]             # <<<<<<<<<<<<<<
 *     PyIntVars = [Variable.create(vars[i]) for i in range(nbinvars, nintvars)]
 *     PyImplVars = [Variable.create(vars[i]) for i in range(nintvars, nimplvars)]
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 55, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __pyx_v_nbinvars;
    __pyx_t_9 = __pyx_t_8;
    for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
      __pyx_9genexpr11__pyx_v_i = __pyx_t_10;
      __pyx_t_4 = __pyx_f_9pyscipopt_4scip_8Variable_create((__pyx_v_vars[__pyx_9genexpr11__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(20, 55, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(20, 55, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  } /* exit inner scope */
  __pyx_v_PyBinVars = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":56
 *     PyName = name.decode('utf-8')
 *     PyBinVars = [Variable.create(vars[i]) for i in range(nbinvars)]
 *     PyIntVars = [Variable.create(vars[i]) for i in range(nbinvars, nintvars)]             # <<<<<<<<<<<<<<
 *     PyImplVars = [Variable.create(vars[i]) for i in range(nintvars, nimplvars)]
 *     PyContVars = [Variable.create(vars[i]) for i in range(nimplvars, ncontvars)]
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 56, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __pyx_v_nintvars;
    __pyx_t_9 = __pyx_t_8;
    for (__pyx_t_10 = __pyx_v_nbinvars; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
      __pyx_9genexpr12__pyx_v_i = __pyx_t_10;
      __pyx_t_4 = __pyx_f_9pyscipopt_4scip_8Variable_create((__pyx_v_vars[__pyx_9genexpr12__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(20, 56, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(20, 56, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  } /* exit inner scope */
  __pyx_v_PyIntVars = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":57
 *     PyBinVars = [Variable.create(vars[i]) for i in range(nbinvars)]
 *     PyIntVars = [Variable.create(vars[i]) for i in range(nbinvars, nintvars)]
 *     PyImplVars = [Variable.create(vars[i]) for i in range(nintvars, nimplvars)]             # <<<<<<<<<<<<<<
 *     PyContVars = [Variable.create(vars[i]) for i in range(nimplvars, ncontvars)]
 *     PyFixedVars = [Variable.create(fixedvars[i]) for i in range(nfixedvars)]
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 57, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __pyx_v_nimplvars;
    __pyx_t_9 = __pyx_t_8;
    for (__pyx_t_10 = __pyx_v_nintvars; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
      __pyx_9genexpr13__pyx_v_i = __pyx_t_10;
      __pyx_t_4 = __pyx_f_9pyscipopt_4scip_8Variable_create((__pyx_v_vars[__pyx_9genexpr13__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(20, 57, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(20, 57, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  } /* exit inner scope */
  __pyx_v_PyImplVars = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":58
 *     PyIntVars = [Variable.create(vars[i]) for i in range(nbinvars, nintvars)]
 *     PyImplVars = [Variable.create(vars[i]) for i in range(nintvars, nimplvars)]
 *     PyContVars = [Variable.create(vars[i]) for i in range(nimplvars, ncontvars)]             # <<<<<<<<<<<<<<
 *     PyFixedVars = [Variable.create(fixedvars[i]) for i in range(nfixedvars)]
 *     PyConss = [Constraint.create(conss[i]) for i in range(nconss)]
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 58, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __pyx_v_ncontvars;
    __pyx_t_9 = __pyx_t_8;
    for (__pyx_t_10 = __pyx_v_nimplvars; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
      __pyx_9genexpr14__pyx_v_i = __pyx_t_10;
      __pyx_t_4 = __pyx_f_9pyscipopt_4scip_8Variable_create((__pyx_v_vars[__pyx_9genexpr14__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(20, 58, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(20, 58, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  } /* exit inner scope */
  __pyx_v_PyContVars = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":59
 *     PyImplVars = [Variable.create(vars[i]) for i in range(nintvars, nimplvars)]
 *     PyContVars = [Variable.create(vars[i]) for i in range(nimplvars, ncontvars)]
 *     PyFixedVars = [Variable.create(fixedvars[i]) for i in range(nfixedvars)]             # <<<<<<<<<<<<<<
 *     PyConss = [Constraint.create(conss[i]) for i in range(nconss)]
 *     PyReader = <Reader>readerdata
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 59, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __pyx_v_nfixedvars;
    __pyx_t_9 = __pyx_t_8;
    for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
      __pyx_9genexpr15__pyx_v_i = __pyx_t_10;
      __pyx_t_4 = __pyx_f_9pyscipopt_4scip_8Variable_create((__pyx_v_fixedvars[__pyx_9genexpr15__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(20, 59, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(20, 59, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  } /* exit inner scope */
  __pyx_v_PyFixedVars = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":60
 *     PyContVars = [Variable.create(vars[i]) for i in range(nimplvars, ncontvars)]
 *     PyFixedVars = [Variable.create(fixedvars[i]) for i in range(nfixedvars)]
 *     PyConss = [Constraint.create(conss[i]) for i in range(nconss)]             # <<<<<<<<<<<<<<
 *     PyReader = <Reader>readerdata
 *     #TODO: provide rational objoffsetexact and objscaleexact
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __pyx_v_nconss;
    __pyx_t_9 = __pyx_t_8;
    for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
      __pyx_9genexpr16__pyx_v_i = __pyx_t_10;
      __pyx_t_4 = __pyx_f_9pyscipopt_4scip_10Constraint_create((__pyx_v_conss[__pyx_9genexpr16__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(20, 60, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_4))) __PYX_ERR(20, 60, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  } /* exit inner scope */
  __pyx_v_PyConss = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":61
 *     PyFixedVars = [Variable.create(fixedvars[i]) for i in range(nfixedvars)]
 *     PyConss = [Constraint.create(conss[i]) for i in range(nconss)]
 *     PyReader = <Reader>readerdata             # <<<<<<<<<<<<<<
 *     #TODO: provide rational objoffsetexact and objscaleexact
 *     result_dict = PyReader.readerwrite(PyFile, PyName, transformed, objsense, objoffset, objscale,
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_readerdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyReader = ((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":63
 *     PyReader = <Reader>readerdata
 *     #TODO: provide rational objoffsetexact and objscaleexact
 *     result_dict = PyReader.readerwrite(PyFile, PyName, transformed, objsense, objoffset, objscale,             # <<<<<<<<<<<<<<
 *                                        PyBinVars, PyIntVars, PyImplVars, PyContVars, PyFixedVars, startnvars,
 *                                        PyConss, maxnconss, startnconss, genericnames)
*/
  __pyx_t_4 = ((PyObject *)__pyx_v_PyReader);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_transformed); if (unlikely(!__pyx_t_6)) __PYX_ERR(20, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyLong_From_SCIP_OBJSENSE(__pyx_v_objsense); if (unlikely(!__pyx_t_3)) __PYX_ERR(20, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_objoffset); if (unlikely(!__pyx_t_2)) __PYX_ERR(20, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_11 = PyFloat_FromDouble(__pyx_v_objscale); if (unlikely(!__pyx_t_11)) __PYX_ERR(20, 63, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);

  /* "src/pyscipopt/reader.pxi":64
 *     #TODO: provide rational objoffsetexact and objscaleexact
 *     result_dict = PyReader.readerwrite(PyFile, PyName, transformed, objsense, objoffset, objscale,
 *                                        PyBinVars, PyIntVars, PyImplVars, PyContVars, PyFixedVars, startnvars,             # <<<<<<<<<<<<<<
 *                                        PyConss, maxnconss, startnconss, genericnames)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_t_12 = __Pyx_PyLong_From_int(__pyx_v_startnvars); if (unlikely(!__pyx_t_12)) __PYX_ERR(20, 64, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);

  /* "src/pyscipopt/reader.pxi":65
 *     result_dict = PyReader.readerwrite(PyFile, PyName, transformed, objsense, objoffset, objscale,
 *                                        PyBinVars, PyIntVars, PyImplVars, PyContVars, PyFixedVars, startnvars,
 *                                        PyConss, maxnconss, startnconss, genericnames)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_int(__pyx_v_maxnconss); if (unlikely(!__pyx_t_13)) __PYX_ERR(20, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = __Pyx_PyLong_From_int(__pyx_v_startnconss); if (unlikely(!__pyx_t_14)) __PYX_ERR(20, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_15 = __Pyx_PyBool_FromLong(__pyx_v_genericnames); if (unlikely(!__pyx_t_15)) __PYX_ERR(20, 65, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_15);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[17] = {__pyx_t_4, __pyx_v_PyFile, __pyx_v_PyName, __pyx_t_6, __pyx_t_3, __pyx_t_2, __pyx_t_11, __pyx_v_PyBinVars, __pyx_v_PyIntVars, __pyx_v_PyImplVars, __pyx_v_PyContVars, __pyx_v_PyFixedVars, __pyx_t_12, __pyx_v_PyConss, __pyx_t_13, __pyx_t_14, __pyx_t_15};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_readerwrite, __pyx_callargs+__pyx_t_5, (17-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 63, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/reader.pxi":66
 *                                        PyBinVars, PyIntVars, PyImplVars, PyContVars, PyFixedVars, startnvars,
 *                                        PyConss, maxnconss, startnconss, genericnames)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 * 
 *     return SCIP_OKAY
*/
  __pyx_t_15 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_15);
  __pyx_t_14 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_14)) __PYX_ERR(20, 66, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_15, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_14};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(20, 66, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_16 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_16 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(20, 66, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_16;

  /* "src/pyscipopt/reader.pxi":68
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 * 
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/reader.pxi":41
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyReaderWrite (SCIP* scip, SCIP_READER* reader, FILE* file,             # <<<<<<<<<<<<<<
 *                                  const char* filename, const char* name, SCIP_PROBDATA* probdata, SCIP_Bool transformed,
 *                                  SCIP_OBJSENSE objsense, SCIP_Real objoffset, SCIP_Real objscale,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyReaderWrite", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_PyFile);
  __Pyx_XDECREF(__pyx_v_PyName);
  __Pyx_XDECREF(__pyx_v_PyBinVars);
  __Pyx_XDECREF(__pyx_v_PyIntVars);
  __Pyx_XDECREF(__pyx_v_PyImplVars);
  __Pyx_XDECREF(__pyx_v_PyContVars);
  __Pyx_XDECREF(__pyx_v_PyFixedVars);
  __Pyx_XDECREF(__pyx_v_PyConss);
  __Pyx_XDECREF((PyObject *)__pyx_v_PyReader);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":7
 *     cdef public str name
 * 
 *     def relaxfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of relaxation handler'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_1relaxfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Relax_relaxfree, "calls destructor and frees memory of relaxation handler");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Relax_1relaxfree = {"relaxfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_1relaxfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Relax_relaxfree};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_1relaxfree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("relaxfree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("relaxfree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("relaxfree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_relaxfree(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_relaxfree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("relaxfree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":11
 *         pass
 * 
 *     def relaxinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes relaxation handler'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_3relaxinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Relax_2relaxinit, "initializes relaxation handler");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Relax_3relaxinit = {"relaxinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_3relaxinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Relax_2relaxinit};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_3relaxinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("relaxinit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("relaxinit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("relaxinit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_2relaxinit(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_2relaxinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("relaxinit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":15
 *         pass
 * 
 *     def relaxexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of relaxation handler'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_5relaxexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Relax_4relaxexit, "calls exit method of relaxation handler");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Relax_5relaxexit = {"relaxexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_5relaxexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Relax_4relaxexit};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_5relaxexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("relaxexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("relaxexit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("relaxexit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_4relaxexit(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_4relaxexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("relaxexit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":19
 *         pass
 * 
 *     def relaxinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs relaxaton handler that the branch and bound process is being started'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_7relaxinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Relax_6relaxinitsol, "informs relaxaton handler that the branch and bound process is being started");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Relax_7relaxinitsol = {"relaxinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_7relaxinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Relax_6relaxinitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_7relaxinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("relaxinitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("relaxinitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("relaxinitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_6relaxinitsol(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_6relaxinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("relaxinitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":23
 *         pass
 * 
 *     def relaxexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs relaxation handler that the branch and bound process data is being freed'''
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_9relaxexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Relax_8relaxexitsol, "informs relaxation handler that the branch and bound process data is being freed");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Relax_9relaxexitsol = {"relaxexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_9relaxexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Relax_8relaxexitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_9relaxexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("relaxexitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("relaxexitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("relaxexitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_8relaxexitsol(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_8relaxexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("relaxexitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":27
 *         pass
 * 
 *     def relaxexec(self):             # <<<<<<<<<<<<<<
 *         '''calls execution method of relaxation handler'''
 *         raise NotImplementedError("relaxexec() is a fundamental callback and should be implemented in the derived class")
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_11relaxexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Relax_10relaxexec, "calls execution method of relaxation handler");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Relax_11relaxexec = {"relaxexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_11relaxexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Relax_10relaxexec};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_11relaxexec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("relaxexec (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("relaxexec", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("relaxexec", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_10relaxexec(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_10relaxexec(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("relaxexec", 0);

  /* "src/pyscipopt/relax.pxi":29
 *     def relaxexec(self):
 *         '''calls execution method of relaxation handler'''
 *         raise NotImplementedError("relaxexec() is a fundamental callback and should be implemented in the derived class")             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyRelaxCopy (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_relaxexec_is_a_fundamental_callb};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 29, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(21, 29, __pyx_L1_error)

  /* "src/pyscipopt/relax.pxi":27
 *         pass
 * 
 *     def relaxexec(self):             # <<<<<<<<<<<<<<
 *         '''calls execution method of relaxation handler'''
 *         raise NotImplementedError("relaxexec() is a fundamental callback and should be implemented in the derived class")
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Relax.relaxexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":4
 * #@brief Base class of the Relaxator Plugin
 * cdef class Relax:
 *     cdef public Model model             # <<<<<<<<<<<<<<
 *     cdef public str name
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_5Relax_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_5Relax_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_5Relax_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(21, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Relax.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_5Relax_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_5Relax_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_5Relax_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":5
 * cdef class Relax:
 *     cdef public Model model
 *     cdef public str name             # <<<<<<<<<<<<<<
 * 
 *     def relaxfree(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_4name___get__(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->name);
  __pyx_r = __pyx_v_self->name;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_5Relax_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_5Relax_4name_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_4name_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_5Relax_4name_2__set__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(21, 5, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Relax.name.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_5Relax_4name_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_5Relax_4name_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_4name_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_5Relax_4name_4__del__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->name);
  __Pyx_DECREF(__pyx_v_self->name);
  __pyx_v_self->name = ((PyObject*)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Relax_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_12__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_12__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.model, self.name)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->model);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->model)) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_self->name);
  __Pyx_GIVEREF(__pyx_v_self->name);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->name) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.model, self.name)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.model is not None or self.name is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Relax, (type(self), 0x48f811e, None), state
*/
  /*else*/ {
    __pyx_t_3 = (((PyObject *)__pyx_v_self->model) != Py_None);
    if (!__pyx_t_3) {
    } else {
      __pyx_t_2 = __pyx_t_3;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_3 = (__pyx_v_self->name != ((PyObject*)Py_None));
    __pyx_t_2 = __pyx_t_3;
    __pyx_L6_bool_binop_done:;
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Relax, (type(self), 0x48f811e, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Relax, (type(self), 0x48f811e, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Relax, (type(self), 0x48f811e, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Relax); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76513566);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76513566);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76513566) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None or self.name is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Relax, (type(self), 0x48f811e, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Relax, (type(self), 0x48f811e, None), state
 *     else:
 *         return __pyx_unpickle_Relax, (type(self), 0x48f811e, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Relax__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Relax); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_76513566);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_76513566);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_76513566) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Relax.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Relax, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Relax__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Relax_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Relax_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Relax.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Relax_14__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Relax_14__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Relax, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Relax__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Relax__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Relax, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Relax__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Relax.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":31
 *         raise NotImplementedError("relaxexec() is a fundamental callback and should be implemented in the derived class")
 * 
 * cdef SCIP_RETCODE PyRelaxCopy (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_RELAX *__pyx_v_relax) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/relax.pxi":32
 * 
 * cdef SCIP_RETCODE PyRelaxCopy (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyRelaxFree (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/relax.pxi":31
 *         raise NotImplementedError("relaxexec() is a fundamental callback and should be implemented in the derived class")
 * 
 * cdef SCIP_RETCODE PyRelaxCopy (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":34
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyRelaxFree (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_RELAX *__pyx_v_relax) {
  SCIP_RELAXDATA *__pyx_v_relaxdata;
  struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_PyRelax = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyRelaxFree", 0);

  /* "src/pyscipopt/relax.pxi":36
 * cdef SCIP_RETCODE PyRelaxFree (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)             # <<<<<<<<<<<<<<
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxfree()
*/
  __pyx_v_relaxdata = SCIPrelaxGetData(__pyx_v_relax);

  /* "src/pyscipopt/relax.pxi":37
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
 *     PyRelax = <Relax>relaxdata             # <<<<<<<<<<<<<<
 *     PyRelax.relaxfree()
 *     Py_DECREF(PyRelax)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_relaxdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyRelax = ((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/relax.pxi":38
 *     relaxdata = SCIPrelaxGetData(relax)
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxfree()             # <<<<<<<<<<<<<<
 *     Py_DECREF(PyRelax)
 *     return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyRelax);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_relaxfree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 38, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/relax.pxi":39
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxfree()
 *     Py_DECREF(PyRelax)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyRelax));

  /* "src/pyscipopt/relax.pxi":40
 *     PyRelax.relaxfree()
 *     Py_DECREF(PyRelax)
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyRelaxInit (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/relax.pxi":34
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyRelaxFree (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyRelaxFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyRelax);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":42
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyRelaxInit (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxInit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_RELAX *__pyx_v_relax) {
  SCIP_RELAXDATA *__pyx_v_relaxdata;
  struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_PyRelax = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyRelaxInit", 0);

  /* "src/pyscipopt/relax.pxi":44
 * cdef SCIP_RETCODE PyRelaxInit (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)             # <<<<<<<<<<<<<<
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxinit()
*/
  __pyx_v_relaxdata = SCIPrelaxGetData(__pyx_v_relax);

  /* "src/pyscipopt/relax.pxi":45
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
 *     PyRelax = <Relax>relaxdata             # <<<<<<<<<<<<<<
 *     PyRelax.relaxinit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_relaxdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyRelax = ((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/relax.pxi":46
 *     relaxdata = SCIPrelaxGetData(relax)
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxinit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyRelax);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_relaxinit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 46, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/relax.pxi":47
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxinit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyRelaxExit (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/relax.pxi":42
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyRelaxInit (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyRelaxInit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyRelax);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":49
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyRelaxExit (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxExit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_RELAX *__pyx_v_relax) {
  SCIP_RELAXDATA *__pyx_v_relaxdata;
  struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_PyRelax = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyRelaxExit", 0);

  /* "src/pyscipopt/relax.pxi":51
 * cdef SCIP_RETCODE PyRelaxExit (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)             # <<<<<<<<<<<<<<
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxexit()
*/
  __pyx_v_relaxdata = SCIPrelaxGetData(__pyx_v_relax);

  /* "src/pyscipopt/relax.pxi":52
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
 *     PyRelax = <Relax>relaxdata             # <<<<<<<<<<<<<<
 *     PyRelax.relaxexit()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_relaxdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyRelax = ((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/relax.pxi":53
 *     relaxdata = SCIPrelaxGetData(relax)
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxexit()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyRelax);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_relaxexit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 53, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/relax.pxi":54
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxexit()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyRelaxInitsol (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/relax.pxi":49
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyRelaxExit (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyRelaxExit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyRelax);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":56
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyRelaxInitsol (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxInitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_RELAX *__pyx_v_relax) {
  SCIP_RELAXDATA *__pyx_v_relaxdata;
  struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_PyRelax = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyRelaxInitsol", 0);

  /* "src/pyscipopt/relax.pxi":58
 * cdef SCIP_RETCODE PyRelaxInitsol (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)             # <<<<<<<<<<<<<<
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxinitsol()
*/
  __pyx_v_relaxdata = SCIPrelaxGetData(__pyx_v_relax);

  /* "src/pyscipopt/relax.pxi":59
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
 *     PyRelax = <Relax>relaxdata             # <<<<<<<<<<<<<<
 *     PyRelax.relaxinitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_relaxdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyRelax = ((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/relax.pxi":60
 *     relaxdata = SCIPrelaxGetData(relax)
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxinitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyRelax);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_relaxinitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/relax.pxi":61
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxinitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyRelaxExitsol (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/relax.pxi":56
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyRelaxInitsol (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyRelaxInitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyRelax);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":63
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyRelaxExitsol (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxExitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_RELAX *__pyx_v_relax) {
  SCIP_RELAXDATA *__pyx_v_relaxdata;
  struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_PyRelax = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyRelaxExitsol", 0);

  /* "src/pyscipopt/relax.pxi":65
 * cdef SCIP_RETCODE PyRelaxExitsol (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)             # <<<<<<<<<<<<<<
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxexitsol()
*/
  __pyx_v_relaxdata = SCIPrelaxGetData(__pyx_v_relax);

  /* "src/pyscipopt/relax.pxi":66
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
 *     PyRelax = <Relax>relaxdata             # <<<<<<<<<<<<<<
 *     PyRelax.relaxexitsol()
 *     return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_relaxdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyRelax = ((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/relax.pxi":67
 *     relaxdata = SCIPrelaxGetData(relax)
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxexitsol()             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyRelax);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_relaxexitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 67, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/relax.pxi":68
 *     PyRelax = <Relax>relaxdata
 *     PyRelax.relaxexitsol()
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyRelaxExec (SCIP* scip, SCIP_RELAX* relax, SCIP_Real* lowerbound, SCIP_RESULT* result) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/relax.pxi":63
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyRelaxExitsol (SCIP* scip, SCIP_RELAX* relax) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyRelaxExitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyRelax);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/relax.pxi":70
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyRelaxExec (SCIP* scip, SCIP_RELAX* relax, SCIP_Real* lowerbound, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyRelaxExec(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_RELAX *__pyx_v_relax, SCIP_Real *__pyx_v_lowerbound, SCIP_RESULT *__pyx_v_result) {
  SCIP_RELAXDATA *__pyx_v_relaxdata;
  struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_PyRelax = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  SCIP_Real __pyx_t_6;
  SCIP_RESULT __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyRelaxExec", 0);

  /* "src/pyscipopt/relax.pxi":72
 * cdef SCIP_RETCODE PyRelaxExec (SCIP* scip, SCIP_RELAX* relax, SCIP_Real* lowerbound, SCIP_RESULT* result) noexcept with gil:
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)             # <<<<<<<<<<<<<<
 *     PyRelax = <Relax>relaxdata
 *     result_dict = PyRelax.relaxexec()
*/
  __pyx_v_relaxdata = SCIPrelaxGetData(__pyx_v_relax);

  /* "src/pyscipopt/relax.pxi":73
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
 *     PyRelax = <Relax>relaxdata             # <<<<<<<<<<<<<<
 *     result_dict = PyRelax.relaxexec()
 *     assert isinstance(result_dict, dict), "relaxexec() must return a dictionary."
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_relaxdata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyRelax = ((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/relax.pxi":74
 *     relaxdata = SCIPrelaxGetData(relax)
 *     PyRelax = <Relax>relaxdata
 *     result_dict = PyRelax.relaxexec()             # <<<<<<<<<<<<<<
 *     assert isinstance(result_dict, dict), "relaxexec() must return a dictionary."
 *     lowerbound[0] = result_dict.get("lowerbound", <SCIP_Real>lowerbound[0])
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyRelax);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_relaxexec, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 74, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/relax.pxi":75
 *     PyRelax = <Relax>relaxdata
 *     result_dict = PyRelax.relaxexec()
 *     assert isinstance(result_dict, dict), "relaxexec() must return a dictionary."             # <<<<<<<<<<<<<<
 *     lowerbound[0] = result_dict.get("lowerbound", <SCIP_Real>lowerbound[0])
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_4 = PyDict_Check(__pyx_v_result_dict); 
    if (unlikely(!__pyx_t_4)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_relaxexec_must_return_a_dictiona, 0, 0);
      __PYX_ERR(21, 75, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(21, 75, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/relax.pxi":76
 *     result_dict = PyRelax.relaxexec()
 *     assert isinstance(result_dict, dict), "relaxexec() must return a dictionary."
 *     lowerbound[0] = result_dict.get("lowerbound", <SCIP_Real>lowerbound[0])             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_t_2 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_5 = PyFloat_FromDouble(((SCIP_Real)(__pyx_v_lowerbound[0]))); if (unlikely(!__pyx_t_5)) __PYX_ERR(21, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_mstate_global->__pyx_n_u_lowerbound, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 76, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(21, 76, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_lowerbound[0]) = __pyx_t_6;

  /* "src/pyscipopt/relax.pxi":77
 *     assert isinstance(result_dict, dict), "relaxexec() must return a dictionary."
 *     lowerbound[0] = result_dict.get("lowerbound", <SCIP_Real>lowerbound[0])
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
*/
  __pyx_t_5 = __pyx_v_result_dict;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RESULT(((SCIP_RESULT)(__pyx_v_result[0]))); if (unlikely(!__pyx_t_2)) __PYX_ERR(21, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_result, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_get, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(21, 77, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_7 = __Pyx_PyLong_As_SCIP_RESULT(__pyx_t_1); if (unlikely((__pyx_t_7 == ((SCIP_RESULT)-1)) && PyErr_Occurred())) __PYX_ERR(21, 77, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  (__pyx_v_result[0]) = __pyx_t_7;

  /* "src/pyscipopt/relax.pxi":78
 *     lowerbound[0] = result_dict.get("lowerbound", <SCIP_Real>lowerbound[0])
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY             # <<<<<<<<<<<<<<
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/relax.pxi":70
 *     return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyRelaxExec (SCIP* scip, SCIP_RELAX* relax, SCIP_Real* lowerbound, SCIP_RESULT* result) noexcept with gil:             # <<<<<<<<<<<<<<
 *     cdef SCIP_RELAXDATA* relaxdata
 *     relaxdata = SCIPrelaxGetData(relax)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyRelaxExec", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyRelax);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":6
 *   cdef public Model model
 * 
 *   def nodefree(self):             # <<<<<<<<<<<<<<
 *     '''frees memory of node selector'''
 *     pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_1nodefree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Nodesel_nodefree, "frees memory of node selector");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Nodesel_1nodefree = {"nodefree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_1nodefree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_nodefree};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_1nodefree(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodefree (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("nodefree", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("nodefree", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Nodesel_nodefree(((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_nodefree(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodefree", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":10
 *     pass
 * 
 *   def nodeinit(self):             # <<<<<<<<<<<<<<
 *     ''' executed after the problem is transformed. use this call to initialize node selector data.'''
 *     pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_3nodeinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Nodesel_2nodeinit, " executed after the problem is transformed. use this call to initialize node selector data.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Nodesel_3nodeinit = {"nodeinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_3nodeinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_2nodeinit};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_3nodeinit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodeinit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("nodeinit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("nodeinit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Nodesel_2nodeinit(((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_2nodeinit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodeinit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":14
 *     pass
 * 
 *   def nodeexit(self):             # <<<<<<<<<<<<<<
 *     '''executed before the transformed problem is freed'''
 *     pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_5nodeexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Nodesel_4nodeexit, "executed before the transformed problem is freed");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Nodesel_5nodeexit = {"nodeexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_5nodeexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_4nodeexit};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_5nodeexit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodeexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("nodeexit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("nodeexit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Nodesel_4nodeexit(((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_4nodeexit(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodeexit", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":18
 *     pass
 * 
 *   def nodeinitsol(self):             # <<<<<<<<<<<<<<
 *     '''executed when the presolving is finished and the branch-and-bound process is about to begin'''
 *     pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_7nodeinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Nodesel_6nodeinitsol, "executed when the presolving is finished and the branch-and-bound process is about to begin");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Nodesel_7nodeinitsol = {"nodeinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_7nodeinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_6nodeinitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_7nodeinitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodeinitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("nodeinitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("nodeinitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Nodesel_6nodeinitsol(((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_6nodeinitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodeinitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":22
 *     pass
 * 
 *   def nodeexitsol(self):             # <<<<<<<<<<<<<<
 *     '''executed before the branch-and-bound process is freed'''
 *     pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_9nodeexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Nodesel_8nodeexitsol, "executed before the branch-and-bound process is freed");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Nodesel_9nodeexitsol = {"nodeexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_9nodeexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_8nodeexitsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_9nodeexitsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodeexitsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("nodeexitsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("nodeexitsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Nodesel_8nodeexitsol(((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_8nodeexitsol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodeexitsol", 0);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":26
 *     pass
 * 
 *   def nodeselect(self):             # <<<<<<<<<<<<<<
 *     '''first method called in each iteration in the main solving loop. '''
 *     # this method needs to be implemented by the user
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_11nodeselect(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Nodesel_10nodeselect, "first method called in each iteration in the main solving loop. ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Nodesel_11nodeselect = {"nodeselect", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_11nodeselect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_10nodeselect};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_11nodeselect(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodeselect (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("nodeselect", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("nodeselect", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Nodesel_10nodeselect(((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_10nodeselect(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("nodeselect", 0);

  /* "src/pyscipopt/nodesel.pxi":29
 *     '''first method called in each iteration in the main solving loop. '''
 *     # this method needs to be implemented by the user
 *     return {}             # <<<<<<<<<<<<<<
 * 
 *   def nodecomp(self, node1, node2):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 29, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/nodesel.pxi":26
 *     pass
 * 
 *   def nodeselect(self):             # <<<<<<<<<<<<<<
 *     '''first method called in each iteration in the main solving loop. '''
 *     # this method needs to be implemented by the user
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Nodesel.nodeselect", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":31
 *     return {}
 * 
 *   def nodecomp(self, node1, node2):             # <<<<<<<<<<<<<<
 *     '''
 *     compare two leaves of the current branching tree
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_13nodecomp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_7Nodesel_12nodecomp, "\n    compare two leaves of the current branching tree\n\n    It should return the following values:\n\n      value < 0, if node 1 comes before (is better than) node 2\n      value = 0, if both nodes are equally good\n      value > 0, if node 1 comes after (is worse than) node 2.\n    ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Nodesel_13nodecomp = {"nodecomp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_13nodecomp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_12nodecomp};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_13nodecomp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_node1 = 0;
  CYTHON_UNUSED PyObject *__pyx_v_node2 = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodecomp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_node1,&__pyx_mstate_global->__pyx_n_u_node2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(22, 31, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(22, 31, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(22, 31, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "nodecomp", 0) < (0)) __PYX_ERR(22, 31, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("nodecomp", 1, 2, 2, i); __PYX_ERR(22, 31, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(22, 31, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(22, 31, __pyx_L3_error)
    }
    __pyx_v_node1 = values[0];
    __pyx_v_node2 = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("nodecomp", 1, 2, 2, __pyx_nargs); __PYX_ERR(22, 31, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Nodesel.nodecomp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Nodesel_12nodecomp(((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_v_self), __pyx_v_node1, __pyx_v_node2);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_12nodecomp(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_node1, CYTHON_UNUSED PyObject *__pyx_v_node2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("nodecomp", 0);

  /* "src/pyscipopt/nodesel.pxi":42
 *     '''
 *     # this method needs to be implemented by the user
 *     return 0             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_r = __pyx_mstate_global->__pyx_int_0;
  goto __pyx_L0;

  /* "src/pyscipopt/nodesel.pxi":31
 *     return {}
 * 
 *   def nodecomp(self, node1, node2):             # <<<<<<<<<<<<<<
 *     '''
 *     compare two leaves of the current branching tree
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":4
 * #@brief Base class of the Nodesel Plugin
 * cdef class Nodesel:
 *   cdef public Model model             # <<<<<<<<<<<<<<
 * 
 *   def nodefree(self):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_5model_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_5model_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Nodesel_5model___get__(((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_5model___get__(struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __pyx_r = ((PyObject *)__pyx_v_self->model);
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7Nodesel_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7Nodesel_5model_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Nodesel_5model_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7Nodesel_5model_2__set__(struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__set__", 0);
  __pyx_t_1 = __pyx_v_value;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(22, 4, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Nodesel.model.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_7Nodesel_5model_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_7Nodesel_5model_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Nodesel_5model_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_7Nodesel_5model_4__del__(struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->model);
  __Pyx_DECREF((PyObject *)__pyx_v_self->model);
  __pyx_v_self->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None);

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_15__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Nodesel_15__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_15__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_15__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Nodesel_14__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_14__reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = (self.model,)             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 5, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_v_self->model);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self->model);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self->model)) != (0)) __PYX_ERR(5, 5, __pyx_L1_error);
  __pyx_v_state = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = self.model is not None
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = (self.model,)
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = self.model is not None             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_Nodesel, (type(self), 0x9372c47, None), state
*/
  /*else*/ {
    __pyx_t_2 = (((PyObject *)__pyx_v_self->model) != Py_None);
    __pyx_v_use_setstate = __pyx_t_2;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Nodesel, (type(self), 0x9372c47, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = self.model is not None
 *     if use_setstate:
 *         return __pyx_unpickle_Nodesel, (type(self), 0x9372c47, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_Nodesel, (type(self), 0x9372c47, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Nodesel); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_154610759);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_154610759);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_154610759) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = self.model is not None
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_Nodesel, (type(self), 0x9372c47, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_Nodesel, (type(self), 0x9372c47, None), state
 *     else:
 *         return __pyx_unpickle_Nodesel, (type(self), 0x9372c47, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Nodesel__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Nodesel); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_154610759);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_154610759);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_154610759) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Nodesel.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Nodesel, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Nodesel__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_17__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_7Nodesel_17__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_17__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_7Nodesel_17__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Nodesel.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_7Nodesel_16__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_7Nodesel_16__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_Nodesel, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_Nodesel__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Nodesel__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Nodesel, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Nodesel__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Nodesel.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":45
 * 
 * 
 * cdef SCIP_RETCODE PyNodeselCopy (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselCopy(CYTHON_UNUSED SCIP *__pyx_v_scip, CYTHON_UNUSED SCIP_NODESEL *__pyx_v_nodesel) {
  SCIP_RETCODE __pyx_r;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();

  /* "src/pyscipopt/nodesel.pxi":46
 * 
 * cdef SCIP_RETCODE PyNodeselCopy (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyNodeselFree (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/nodesel.pxi":45
 * 
 * 
 * cdef SCIP_RETCODE PyNodeselCopy (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":48
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyNodeselFree (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselFree(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_NODESEL *__pyx_v_nodesel) {
  SCIP_NODESELDATA *__pyx_v_nodeseldata;
  struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_PyNodesel = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyNodeselFree", 0);

  /* "src/pyscipopt/nodesel.pxi":50
 * cdef SCIP_RETCODE PyNodeselFree (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)             # <<<<<<<<<<<<<<
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodefree()
*/
  __pyx_v_nodeseldata = SCIPnodeselGetData(__pyx_v_nodesel);

  /* "src/pyscipopt/nodesel.pxi":51
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata             # <<<<<<<<<<<<<<
 *   PyNodesel.nodefree()
 *   Py_DECREF(PyNodesel)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_nodeseldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyNodesel = ((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":52
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodefree()             # <<<<<<<<<<<<<<
 *   Py_DECREF(PyNodesel)
 *   return SCIP_OKAY
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyNodesel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_nodefree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 52, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":53
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodefree()
 *   Py_DECREF(PyNodesel)             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_PyNodesel));

  /* "src/pyscipopt/nodesel.pxi":54
 *   PyNodesel.nodefree()
 *   Py_DECREF(PyNodesel)
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyNodeselInit (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/nodesel.pxi":48
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyNodeselFree (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyNodeselFree", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyNodesel);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":56
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyNodeselInit (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselInit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_NODESEL *__pyx_v_nodesel) {
  SCIP_NODESELDATA *__pyx_v_nodeseldata;
  struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_PyNodesel = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyNodeselInit", 0);

  /* "src/pyscipopt/nodesel.pxi":58
 * cdef SCIP_RETCODE PyNodeselInit (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)             # <<<<<<<<<<<<<<
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodeinit()
*/
  __pyx_v_nodeseldata = SCIPnodeselGetData(__pyx_v_nodesel);

  /* "src/pyscipopt/nodesel.pxi":59
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata             # <<<<<<<<<<<<<<
 *   PyNodesel.nodeinit()
 *   return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_nodeseldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyNodesel = ((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":60
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodeinit()             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyNodesel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_nodeinit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":61
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodeinit()
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/nodesel.pxi":56
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyNodeselInit (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyNodeselInit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyNodesel);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":64
 * 
 * 
 * cdef SCIP_RETCODE PyNodeselExit (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselExit(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_NODESEL *__pyx_v_nodesel) {
  SCIP_NODESELDATA *__pyx_v_nodeseldata;
  struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_PyNodesel = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyNodeselExit", 0);

  /* "src/pyscipopt/nodesel.pxi":66
 * cdef SCIP_RETCODE PyNodeselExit (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)             # <<<<<<<<<<<<<<
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodeexit()
*/
  __pyx_v_nodeseldata = SCIPnodeselGetData(__pyx_v_nodesel);

  /* "src/pyscipopt/nodesel.pxi":67
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata             # <<<<<<<<<<<<<<
 *   PyNodesel.nodeexit()
 *   return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_nodeseldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyNodesel = ((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":68
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodeexit()             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyNodesel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_nodeexit, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 68, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":69
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodeexit()
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyNodeselInitsol (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/nodesel.pxi":64
 * 
 * 
 * cdef SCIP_RETCODE PyNodeselExit (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyNodeselExit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyNodesel);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":71
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyNodeselInitsol (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselInitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_NODESEL *__pyx_v_nodesel) {
  SCIP_NODESELDATA *__pyx_v_nodeseldata;
  struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_PyNodesel = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyNodeselInitsol", 0);

  /* "src/pyscipopt/nodesel.pxi":73
 * cdef SCIP_RETCODE PyNodeselInitsol (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)             # <<<<<<<<<<<<<<
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodeinitsol()
*/
  __pyx_v_nodeseldata = SCIPnodeselGetData(__pyx_v_nodesel);

  /* "src/pyscipopt/nodesel.pxi":74
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata             # <<<<<<<<<<<<<<
 *   PyNodesel.nodeinitsol()
 *   return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_nodeseldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyNodesel = ((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":75
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodeinitsol()             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyNodesel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_nodeinitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 75, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":76
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodeinitsol()
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyNodeselExitsol (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/nodesel.pxi":71
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyNodeselInitsol (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyNodeselInitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyNodesel);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":78
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyNodeselExitsol (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselExitsol(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_NODESEL *__pyx_v_nodesel) {
  SCIP_NODESELDATA *__pyx_v_nodeseldata;
  struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_PyNodesel = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyNodeselExitsol", 0);

  /* "src/pyscipopt/nodesel.pxi":80
 * cdef SCIP_RETCODE PyNodeselExitsol (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)             # <<<<<<<<<<<<<<
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodeexitsol()
*/
  __pyx_v_nodeseldata = SCIPnodeselGetData(__pyx_v_nodesel);

  /* "src/pyscipopt/nodesel.pxi":81
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata             # <<<<<<<<<<<<<<
 *   PyNodesel.nodeexitsol()
 *   return SCIP_OKAY
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_nodeseldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyNodesel = ((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":82
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodeexitsol()             # <<<<<<<<<<<<<<
 *   return SCIP_OKAY
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyNodesel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_nodeexitsol, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 82, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":83
 *   PyNodesel = <Nodesel>nodeseldata
 *   PyNodesel.nodeexitsol()
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef SCIP_RETCODE PyNodeselSelect (SCIP* scip, SCIP_NODESEL* nodesel, SCIP_NODE** selnode) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/nodesel.pxi":78
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyNodeselExitsol (SCIP* scip, SCIP_NODESEL* nodesel) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyNodeselExitsol", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyNodesel);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":85
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyNodeselSelect (SCIP* scip, SCIP_NODESEL* nodesel, SCIP_NODE** selnode) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

static SCIP_RETCODE __pyx_f_9pyscipopt_4scip_PyNodeselSelect(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_NODESEL *__pyx_v_nodesel, SCIP_NODE **__pyx_v_selnode) {
  SCIP_NODESELDATA *__pyx_v_nodeseldata;
  struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_PyNodesel = NULL;
  PyObject *__pyx_v_result_dict = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_selected_node = NULL;
  SCIP_RETCODE __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  SCIP_NODE *__pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyNodeselSelect", 0);

  /* "src/pyscipopt/nodesel.pxi":87
 * cdef SCIP_RETCODE PyNodeselSelect (SCIP* scip, SCIP_NODESEL* nodesel, SCIP_NODE** selnode) noexcept with gil:
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)             # <<<<<<<<<<<<<<
 *   PyNodesel = <Nodesel>nodeseldata
 *   result_dict = PyNodesel.nodeselect()
*/
  __pyx_v_nodeseldata = SCIPnodeselGetData(__pyx_v_nodesel);

  /* "src/pyscipopt/nodesel.pxi":88
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata             # <<<<<<<<<<<<<<
 *   result_dict = PyNodesel.nodeselect()
 *   selected_node = <Node>result_dict.get("selnode", None)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_nodeseldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyNodesel = ((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":89
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata
 *   result_dict = PyNodesel.nodeselect()             # <<<<<<<<<<<<<<
 *   selected_node = <Node>result_dict.get("selnode", None)
 *   if selected_node == None:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyNodesel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_nodeselect, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 89, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result_dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":90
 *   PyNodesel = <Nodesel>nodeseldata
 *   result_dict = PyNodesel.nodeselect()
 *   selected_node = <Node>result_dict.get("selnode", None)             # <<<<<<<<<<<<<<
 *   if selected_node == None:
 *     selnode[0] = NULL
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_result_dict, __pyx_mstate_global->__pyx_n_u_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[20], NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(22, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __pyx_t_2;
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_selected_node = ((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":91
 *   result_dict = PyNodesel.nodeselect()
 *   selected_node = <Node>result_dict.get("selnode", None)
 *   if selected_node == None:             # <<<<<<<<<<<<<<
 *     selnode[0] = NULL
 *   else:
*/
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_selected_node), Py_None, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 91, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(22, 91, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_4) {

    /* "src/pyscipopt/nodesel.pxi":92
 *   selected_node = <Node>result_dict.get("selnode", None)
 *   if selected_node == None:
 *     selnode[0] = NULL             # <<<<<<<<<<<<<<
 *   else:
 *     selnode[0] = selected_node.scip_node
*/
    (__pyx_v_selnode[0]) = NULL;

    /* "src/pyscipopt/nodesel.pxi":91
 *   result_dict = PyNodesel.nodeselect()
 *   selected_node = <Node>result_dict.get("selnode", None)
 *   if selected_node == None:             # <<<<<<<<<<<<<<
 *     selnode[0] = NULL
 *   else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/nodesel.pxi":94
 *     selnode[0] = NULL
 *   else:
 *     selnode[0] = selected_node.scip_node             # <<<<<<<<<<<<<<
 * 
 *   return SCIP_OKAY
*/
  /*else*/ {
    __pyx_t_5 = __pyx_v_selected_node->scip_node;
    (__pyx_v_selnode[0]) = __pyx_t_5;
  }
  __pyx_L3:;

  /* "src/pyscipopt/nodesel.pxi":96
 *     selnode[0] = selected_node.scip_node
 * 
 *   return SCIP_OKAY             # <<<<<<<<<<<<<<
 * 
 * cdef int PyNodeselComp (SCIP* scip, SCIP_NODESEL* nodesel, SCIP_NODE* node1, SCIP_NODE* node2) noexcept with gil:
*/
  __pyx_r = SCIP_OKAY;
  goto __pyx_L0;

  /* "src/pyscipopt/nodesel.pxi":85
 *   return SCIP_OKAY
 * 
 * cdef SCIP_RETCODE PyNodeselSelect (SCIP* scip, SCIP_NODESEL* nodesel, SCIP_NODE** selnode) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyNodeselSelect", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyNodesel);
  __Pyx_XDECREF(__pyx_v_result_dict);
  __Pyx_XDECREF((PyObject *)__pyx_v_selected_node);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/nodesel.pxi":98
 *   return SCIP_OKAY
 * 
 * cdef int PyNodeselComp (SCIP* scip, SCIP_NODESEL* nodesel, SCIP_NODE* node1, SCIP_NODE* node2) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

static int __pyx_f_9pyscipopt_4scip_PyNodeselComp(CYTHON_UNUSED SCIP *__pyx_v_scip, SCIP_NODESEL *__pyx_v_nodesel, SCIP_NODE *__pyx_v_node1, SCIP_NODE *__pyx_v_node2) {
  SCIP_NODESELDATA *__pyx_v_nodeseldata;
  struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_PyNodesel = NULL;
  PyObject *__pyx_v_n1 = NULL;
  PyObject *__pyx_v_n2 = NULL;
  PyObject *__pyx_v_result = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
  __Pyx_RefNannySetupContext("PyNodeselComp", 0);

  /* "src/pyscipopt/nodesel.pxi":100
 * cdef int PyNodeselComp (SCIP* scip, SCIP_NODESEL* nodesel, SCIP_NODE* node1, SCIP_NODE* node2) noexcept with gil:
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)             # <<<<<<<<<<<<<<
 *   PyNodesel = <Nodesel>nodeseldata
 *   n1 = Node.create(node1)
*/
  __pyx_v_nodeseldata = SCIPnodeselGetData(__pyx_v_nodesel);

  /* "src/pyscipopt/nodesel.pxi":101
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata             # <<<<<<<<<<<<<<
 *   n1 = Node.create(node1)
 *   n2 = Node.create(node2)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_nodeseldata);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_v_PyNodesel = ((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":102
 *   nodeseldata = SCIPnodeselGetData(nodesel)
 *   PyNodesel = <Nodesel>nodeseldata
 *   n1 = Node.create(node1)             # <<<<<<<<<<<<<<
 *   n2 = Node.create(node2)
 *   result = PyNodesel.nodecomp(n1, n2) #
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(__pyx_v_node1); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_n1 = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":103
 *   PyNodesel = <Nodesel>nodeseldata
 *   n1 = Node.create(node1)
 *   n2 = Node.create(node2)             # <<<<<<<<<<<<<<
 *   result = PyNodesel.nodecomp(n1, n2) #
 *   return result
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(__pyx_v_node2); if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_n2 = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":104
 *   n1 = Node.create(node1)
 *   n2 = Node.create(node2)
 *   result = PyNodesel.nodecomp(n1, n2) #             # <<<<<<<<<<<<<<
 *   return result
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_PyNodesel);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_n1, __pyx_v_n2};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_nodecomp, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(22, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_result = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/nodesel.pxi":105
 *   n2 = Node.create(node2)
 *   result = PyNodesel.nodecomp(n1, n2) #
 *   return result             # <<<<<<<<<<<<<<
*/
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_v_result); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(22, 105, __pyx_L1_error)
  __pyx_r = __pyx_t_4;
  goto __pyx_L0;

  /* "src/pyscipopt/nodesel.pxi":98
 *   return SCIP_OKAY
 * 
 * cdef int PyNodeselComp (SCIP* scip, SCIP_NODESEL* nodesel, SCIP_NODE* node1, SCIP_NODE* node2) noexcept with gil:             # <<<<<<<<<<<<<<
 *   cdef SCIP_NODESELDATA* nodeseldata
 *   nodeseldata = SCIPnodeselGetData(nodesel)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("pyscipopt.scip.PyNodeselComp", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_PyNodesel);
  __Pyx_XDECREF(__pyx_v_n1);
  __Pyx_XDECREF(__pyx_v_n2);
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_RefNannyFinishContext();
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
  return __pyx_r;
}

/* "src/pyscipopt/matrix.pxi":21
 *     __array_priority__ = 100
 * 
 *     def __array_ufunc__(             # <<<<<<<<<<<<<<
 *         self,
 *         ufunc: np.ufunc,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10MatrixExpr_1__array_ufunc__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10MatrixExpr___array_ufunc__, "\n        Customizes the behavior of NumPy ufuncs for MatrixExpr.\n\n        Parameters\n        ----------\n        ufunc : numpy.ufunc\n            The ufunc object that was called.\n\n        method : {\"__call__\", \"reduce\", \"reduceat\", \"accumulate\", \"outer\", \"at\"}\n            A string indicating which ufunc method was called.\n\n        *args : tuple\n            The input arguments to the ufunc.\n\n        **kwargs : dict\n            Additional keyword arguments to the ufunc.\n\n        Returns\n        -------\n        Expr, MatrixExpr\n            The result of the ufunc operation is wrapped back into a MatrixExpr if\n            applicable.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10MatrixExpr_1__array_ufunc__ = {"__array_ufunc__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10MatrixExpr_1__array_ufunc__, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10MatrixExpr___array_ufunc__};
static PyObject *__pyx_pw_9pyscipopt_4scip_10MatrixExpr_1__array_ufunc__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_ufunc = 0;
  PyObject *__pyx_v_method = 0;
  PyObject *__pyx_v_args = 0;
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__array_ufunc__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwargs);
  __pyx_v_args = __Pyx_ArgsSlice_FASTCALL(__pyx_args, 3, __pyx_nargs);
  if (unlikely(!__pyx_v_args)) {
    __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __Pyx_GOTREF(__pyx_v_args);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_ufunc,&__pyx_mstate_global->__pyx_n_u_method,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 21, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        default:
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 21, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 21, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 21, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      const Py_ssize_t used_pos_args = (kwd_pos_args < 3) ? kwd_pos_args : 3;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, __pyx_kwds_len, "__array_ufunc__", 1) < (0)) __PYX_ERR(1, 21, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__array_ufunc__", 0, 3, 3, i); __PYX_ERR(1, 21, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs < 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 21, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 21, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 21, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_ufunc = values[1];
    __pyx_v_method = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__array_ufunc__", 0, 3, 3, __pyx_nargs); __PYX_ERR(1, 21, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("pyscipopt.scip.MatrixExpr.__array_ufunc__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10MatrixExpr___array_ufunc__(__pyx_self, __pyx_v_self, __pyx_v_ufunc, __pyx_v_method, __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "src/pyscipopt/matrix.pxi":54
 *         res = NotImplemented
 *         # Unboxing MatrixExpr to stop __array_ufunc__ recursion
 *         args = tuple(_ensure_array(arg) for arg in args)             # <<<<<<<<<<<<<<
 *         if method == "reduce":  # Handle reduction operations, e.g., np.sum(a)
 *             if ufunc is np.add:
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_5_genexpr(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 54, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___2generator5, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[8]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_MatrixExpr___array_ufunc___local, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip); if (unlikely(!gen)) __PYX_ERR(1, 54, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.MatrixExpr.__array_ufunc__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___2generator5(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L6_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(1, 54, __pyx_L1_error)
  }
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 54, __pyx_L1_error) }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 54, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
    #endif
    ++__pyx_t_2;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 54, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_arg);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_arg, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_3 = __pyx_f_9pyscipopt_4scip__ensure_array(__pyx_cur_scope->__pyx_v_arg, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 54, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    __Pyx_XGIVEREF(__pyx_t_1);
    __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
    __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L6_resume_from_yield:;
    __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
    __pyx_cur_scope->__pyx_t_0 = 0;
    __Pyx_XGOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 54, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___5generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "src/pyscipopt/matrix.pxi":73
 *         if res is NotImplemented:
 *             if "out" in kwargs: # Unboxing MatrixExpr to stop __array_ufunc__ recursion
 *                 kwargs["out"] = tuple(_ensure_array(arg, False) for arg in kwargs["out"])             # <<<<<<<<<<<<<<
 *             res = super().__array_ufunc__(ufunc, method, *args, **kwargs)
 *         return res.view(MatrixExpr) if isinstance(res, np.ndarray) else res
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___3genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_6_genexpr(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 73, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___5generator6, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[9]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_MatrixExpr___array_ufunc___local, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip); if (unlikely(!gen)) __PYX_ERR(1, 73, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.MatrixExpr.__array_ufunc__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___5generator6(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  struct __pyx_opt_args_9pyscipopt_4scip__ensure_array __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L6_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(1, 73, __pyx_L1_error)
  }
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 73, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 73, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 73, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 73, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 73, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 73, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(1, 73, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_arg);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_arg, __pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __pyx_t_4 = 0;
    __pyx_t_5.__pyx_n = 1;
    __pyx_t_5.convert_scalar = 0;
    __pyx_t_4 = __pyx_f_9pyscipopt_4scip__ensure_array(__pyx_cur_scope->__pyx_v_arg, &__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 73, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    __Pyx_XGIVEREF(__pyx_t_1);
    __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
    __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
    __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L6_resume_from_yield:;
    __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
    __pyx_cur_scope->__pyx_t_0 = 0;
    __Pyx_XGOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
    __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 73, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/matrix.pxi":21
 *     __array_priority__ = 100
 * 
 *     def __array_ufunc__(             # <<<<<<<<<<<<<<
 *         self,
 *         ufunc: np.ufunc,
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_10MatrixExpr___array_ufunc__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_ufunc, PyObject *__pyx_v_method, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_v_res = NULL;
  PyObject *__pyx_gb_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___2generator5 = 0;
  PyObject *__pyx_gb_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___5generator6 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__array_ufunc__", 0);
  __Pyx_INCREF(__pyx_v_args);

  /* "src/pyscipopt/matrix.pxi":52
 * 
 *         """
 *         res = NotImplemented             # <<<<<<<<<<<<<<
 *         # Unboxing MatrixExpr to stop __array_ufunc__ recursion
 *         args = tuple(_ensure_array(arg) for arg in args)
*/
  __Pyx_INCREF(__pyx_builtin_NotImplemented);
  __pyx_v_res = __pyx_builtin_NotImplemented;

  /* "src/pyscipopt/matrix.pxi":54
 *         res = NotImplemented
 *         # Unboxing MatrixExpr to stop __array_ufunc__ recursion
 *         args = tuple(_ensure_array(arg) for arg in args)             # <<<<<<<<<<<<<<
 *         if method == "reduce":  # Handle reduction operations, e.g., np.sum(a)
 *             if ufunc is np.add:
*/
  __pyx_t_1 = __pyx_pf_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___genexpr(NULL, __pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 54, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF_SET(__pyx_v_args, ((PyObject*)__pyx_t_2));
  __pyx_t_2 = 0;

  /* "src/pyscipopt/matrix.pxi":55
 *         # Unboxing MatrixExpr to stop __array_ufunc__ recursion
 *         args = tuple(_ensure_array(arg) for arg in args)
 *         if method == "reduce":  # Handle reduction operations, e.g., np.sum(a)             # <<<<<<<<<<<<<<
 *             if ufunc is np.add:
 *                 res = _core_sum(args[0], **kwargs)
*/
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_method, __pyx_mstate_global->__pyx_n_u_reduce, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 55, __pyx_L1_error)
  if (__pyx_t_3) {

    /* "src/pyscipopt/matrix.pxi":56
 *         args = tuple(_ensure_array(arg) for arg in args)
 *         if method == "reduce":  # Handle reduction operations, e.g., np.sum(a)
 *             if ufunc is np.add:             # <<<<<<<<<<<<<<
 *                 res = _core_sum(args[0], **kwargs)
 * 
*/
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 56, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_add_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 56, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_3 = (__pyx_v_ufunc == __pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_3) {

      /* "src/pyscipopt/matrix.pxi":57
 *         if method == "reduce":  # Handle reduction operations, e.g., np.sum(a)
 *             if ufunc is np.add:
 *                 res = _core_sum(args[0], **kwargs)             # <<<<<<<<<<<<<<
 * 
 *         if method == "__call__":  # Standard ufunc call, e.g., np.add(a, b)
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_core_sum); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 57, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 57, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 57, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 57, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF_SET(__pyx_v_res, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "src/pyscipopt/matrix.pxi":56
 *         args = tuple(_ensure_array(arg) for arg in args)
 *         if method == "reduce":  # Handle reduction operations, e.g., np.sum(a)
 *             if ufunc is np.add:             # <<<<<<<<<<<<<<
 *                 res = _core_sum(args[0], **kwargs)
 * 
*/
    }

    /* "src/pyscipopt/matrix.pxi":55
 *         # Unboxing MatrixExpr to stop __array_ufunc__ recursion
 *         args = tuple(_ensure_array(arg) for arg in args)
 *         if method == "reduce":  # Handle reduction operations, e.g., np.sum(a)             # <<<<<<<<<<<<<<
 *             if ufunc is np.add:
 *                 res = _core_sum(args[0], **kwargs)
*/
  }

  /* "src/pyscipopt/matrix.pxi":59
 *                 res = _core_sum(args[0], **kwargs)
 * 
 *         if method == "__call__":  # Standard ufunc call, e.g., np.add(a, b)             # <<<<<<<<<<<<<<
 *             if ufunc in {np.matmul, np.dot}:
 *                 res = _core_dot(args[0], args[1])
*/
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_method, __pyx_mstate_global->__pyx_n_u_call, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 59, __pyx_L1_error)
  if (__pyx_t_3) {

    /* "src/pyscipopt/matrix.pxi":60
 * 
 *         if method == "__call__":  # Standard ufunc call, e.g., np.add(a, b)
 *             if ufunc in {np.matmul, np.dot}:             # <<<<<<<<<<<<<<
 *                 res = _core_dot(args[0], args[1])
 *             elif ufunc is np.less_equal:
*/
    __Pyx_INCREF(__pyx_v_ufunc);
    __pyx_t_1 = __pyx_v_ufunc;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_matmul); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 60, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(1, 60, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (!__pyx_t_8) {
    } else {
      __pyx_t_3 = __pyx_t_8;
      goto __pyx_L7_bool_binop_done;
    }
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dot); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 60, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 60, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(1, 60, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_3 = __pyx_t_8;
    __pyx_L7_bool_binop_done:;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = __pyx_t_3;
    if (__pyx_t_8) {

      /* "src/pyscipopt/matrix.pxi":61
 *         if method == "__call__":  # Standard ufunc call, e.g., np.add(a, b)
 *             if ufunc in {np.matmul, np.dot}:
 *                 res = _core_dot(args[0], args[1])             # <<<<<<<<<<<<<<
 *             elif ufunc is np.less_equal:
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
*/
      __pyx_t_4 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_core_dot); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 61, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 61, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_2 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 61, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_4);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_5, __pyx_t_2};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 61, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF_SET(__pyx_v_res, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "src/pyscipopt/matrix.pxi":60
 * 
 *         if method == "__call__":  # Standard ufunc call, e.g., np.add(a, b)
 *             if ufunc in {np.matmul, np.dot}:             # <<<<<<<<<<<<<<
 *                 res = _core_dot(args[0], args[1])
 *             elif ufunc is np.less_equal:
*/
      goto __pyx_L6;
    }

    /* "src/pyscipopt/matrix.pxi":62
 *             if ufunc in {np.matmul, np.dot}:
 *                 res = _core_dot(args[0], args[1])
 *             elif ufunc is np.less_equal:             # <<<<<<<<<<<<<<
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.greater_equal:
*/
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_less_equal); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 62, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_8 = (__pyx_v_ufunc == __pyx_t_6);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/matrix.pxi":63
 *                 res = _core_dot(args[0], args[1])
 *             elif ufunc is np.less_equal:
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)             # <<<<<<<<<<<<<<
 *             elif ufunc is np.greater_equal:
 *                 return _vec_ge(args[0], args[1]).view(MatrixExprCons)
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_5 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_vec_le); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 63, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 63, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_10 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 63, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        assert(__pyx_t_5);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_9, __pyx_t_10};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 63, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_1 = __pyx_t_2;
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_MatrixExprCons); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 63, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_4};
        __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 63, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __pyx_r = __pyx_t_6;
      __pyx_t_6 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/matrix.pxi":62
 *             if ufunc in {np.matmul, np.dot}:
 *                 res = _core_dot(args[0], args[1])
 *             elif ufunc is np.less_equal:             # <<<<<<<<<<<<<<
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.greater_equal:
*/
    }

    /* "src/pyscipopt/matrix.pxi":64
 *             elif ufunc is np.less_equal:
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.greater_equal:             # <<<<<<<<<<<<<<
 *                 return _vec_ge(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.equal:
*/
    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 64, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_greater_equal); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 64, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_8 = (__pyx_v_ufunc == __pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/matrix.pxi":65
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.greater_equal:
 *                 return _vec_ge(args[0], args[1]).view(MatrixExprCons)             # <<<<<<<<<<<<<<
 *             elif ufunc is np.equal:
 *                 return _vec_eq(args[0], args[1]).view(MatrixExprCons)
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_vec_ge); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 65, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 65, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 65, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_10))) {
        __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_10);
        assert(__pyx_t_1);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_10, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_t_9, __pyx_t_5};
        __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 65, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __pyx_t_6 = __pyx_t_4;
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_MatrixExprCons); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 65, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_10};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 65, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/matrix.pxi":64
 *             elif ufunc is np.less_equal:
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.greater_equal:             # <<<<<<<<<<<<<<
 *                 return _vec_ge(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.equal:
*/
    }

    /* "src/pyscipopt/matrix.pxi":66
 *             elif ufunc is np.greater_equal:
 *                 return _vec_ge(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.equal:             # <<<<<<<<<<<<<<
 *                 return _vec_eq(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc in {np.less, np.greater, np.not_equal}:
*/
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 66, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_equal); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 66, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_8 = (__pyx_v_ufunc == __pyx_t_4);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/matrix.pxi":67
 *                 return _vec_ge(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.equal:
 *                 return _vec_eq(args[0], args[1]).view(MatrixExprCons)             # <<<<<<<<<<<<<<
 *             elif ufunc in {np.less, np.greater, np.not_equal}:
 *                 raise NotImplementedError("can only support '<=', '>=', or '=='")
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_6 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_vec_eq); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 67, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 67, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 67, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
        assert(__pyx_t_6);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_9, __pyx_t_1};
        __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 67, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
      }
      __pyx_t_2 = __pyx_t_10;
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_MatrixExprCons); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 67, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
        __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 67, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __pyx_r = __pyx_t_4;
      __pyx_t_4 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/matrix.pxi":66
 *             elif ufunc is np.greater_equal:
 *                 return _vec_ge(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.equal:             # <<<<<<<<<<<<<<
 *                 return _vec_eq(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc in {np.less, np.greater, np.not_equal}:
*/
    }

    /* "src/pyscipopt/matrix.pxi":68
 *             elif ufunc is np.equal:
 *                 return _vec_eq(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc in {np.less, np.greater, np.not_equal}:             # <<<<<<<<<<<<<<
 *                 raise NotImplementedError("can only support '<=', '>=', or '=='")
 * 
*/
    __Pyx_INCREF(__pyx_v_ufunc);
    __pyx_t_4 = __pyx_v_ufunc;
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 68, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_less); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 68, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 68, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 68, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (!__pyx_t_3) {
    } else {
      __pyx_t_8 = __pyx_t_3;
      goto __pyx_L9_bool_binop_done;
    }
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 68, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_greater); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 68, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 68, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 68, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (!__pyx_t_3) {
    } else {
      __pyx_t_8 = __pyx_t_3;
      goto __pyx_L9_bool_binop_done;
    }
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 68, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_not_equal); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 68, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_10 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 68, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 68, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __pyx_t_8 = __pyx_t_3;
    __pyx_L9_bool_binop_done:;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_3 = __pyx_t_8;
    if (unlikely(__pyx_t_3)) {

      /* "src/pyscipopt/matrix.pxi":69
 *                 return _vec_eq(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc in {np.less, np.greater, np.not_equal}:
 *                 raise NotImplementedError("can only support '<=', '>=', or '=='")             # <<<<<<<<<<<<<<
 * 
 *         if res is NotImplemented:
*/
      __pyx_t_10 = NULL;
      __pyx_t_7 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_mstate_global->__pyx_kp_u_can_only_support_or};
        __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 69, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __PYX_ERR(1, 69, __pyx_L1_error)

      /* "src/pyscipopt/matrix.pxi":68
 *             elif ufunc is np.equal:
 *                 return _vec_eq(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc in {np.less, np.greater, np.not_equal}:             # <<<<<<<<<<<<<<
 *                 raise NotImplementedError("can only support '<=', '>=', or '=='")
 * 
*/
    }
    __pyx_L6:;

    /* "src/pyscipopt/matrix.pxi":59
 *                 res = _core_sum(args[0], **kwargs)
 * 
 *         if method == "__call__":  # Standard ufunc call, e.g., np.add(a, b)             # <<<<<<<<<<<<<<
 *             if ufunc in {np.matmul, np.dot}:
 *                 res = _core_dot(args[0], args[1])
*/
  }

  /* "src/pyscipopt/matrix.pxi":71
 *                 raise NotImplementedError("can only support '<=', '>=', or '=='")
 * 
 *         if res is NotImplemented:             # <<<<<<<<<<<<<<
 *             if "out" in kwargs: # Unboxing MatrixExpr to stop __array_ufunc__ recursion
 *                 kwargs["out"] = tuple(_ensure_array(arg, False) for arg in kwargs["out"])
*/
  __pyx_t_3 = (__pyx_v_res == __pyx_builtin_NotImplemented);
  if (__pyx_t_3) {

    /* "src/pyscipopt/matrix.pxi":72
 * 
 *         if res is NotImplemented:
 *             if "out" in kwargs: # Unboxing MatrixExpr to stop __array_ufunc__ recursion             # <<<<<<<<<<<<<<
 *                 kwargs["out"] = tuple(_ensure_array(arg, False) for arg in kwargs["out"])
 *             res = super().__array_ufunc__(ufunc, method, *args, **kwargs)
*/
    __pyx_t_3 = (__Pyx_PyDict_ContainsTF(__pyx_mstate_global->__pyx_n_u_out, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(1, 72, __pyx_L1_error)
    if (__pyx_t_3) {

      /* "src/pyscipopt/matrix.pxi":73
 *         if res is NotImplemented:
 *             if "out" in kwargs: # Unboxing MatrixExpr to stop __array_ufunc__ recursion
 *                 kwargs["out"] = tuple(_ensure_array(arg, False) for arg in kwargs["out"])             # <<<<<<<<<<<<<<
 *             res = super().__array_ufunc__(ufunc, method, *args, **kwargs)
 *         return res.view(MatrixExpr) if isinstance(res, np.ndarray) else res
*/
      __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_out); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 73, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = __pyx_pf_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___3genexpr(NULL, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 73, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PySequence_Tuple(__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 73, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely((PyDict_SetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_out, __pyx_t_4) < 0))) __PYX_ERR(1, 73, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "src/pyscipopt/matrix.pxi":72
 * 
 *         if res is NotImplemented:
 *             if "out" in kwargs: # Unboxing MatrixExpr to stop __array_ufunc__ recursion             # <<<<<<<<<<<<<<
 *                 kwargs["out"] = tuple(_ensure_array(arg, False) for arg in kwargs["out"])
 *             res = super().__array_ufunc__(ufunc, method, *args, **kwargs)
*/
    }

    /* "src/pyscipopt/matrix.pxi":74
 *             if "out" in kwargs: # Unboxing MatrixExpr to stop __array_ufunc__ recursion
 *                 kwargs["out"] = tuple(_ensure_array(arg, False) for arg in kwargs["out"])
 *             res = super().__array_ufunc__(ufunc, method, *args, **kwargs)             # <<<<<<<<<<<<<<
 *         return res.view(MatrixExpr) if isinstance(res, np.ndarray) else res
 * 
*/
    __pyx_t_10 = NULL;
    __pyx_t_5 = __Pyx_CyFunction_GetClassObj(__pyx_self);
    if (!__pyx_t_5) { PyErr_SetString(PyExc_RuntimeError, "super(): empty __class__ cell"); __PYX_ERR(1, 74, __pyx_L1_error) }
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_10, __pyx_t_5, __pyx_v_self};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_super, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 74, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_array_ufunc); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 74, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 74, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_INCREF(__pyx_v_ufunc);
    __Pyx_GIVEREF(__pyx_v_ufunc);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_ufunc) != (0)) __PYX_ERR(1, 74, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_method);
    __Pyx_GIVEREF(__pyx_v_method);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_method) != (0)) __PYX_ERR(1, 74, __pyx_L1_error);
    __pyx_t_10 = PyNumber_Add(__pyx_t_4, __pyx_v_args); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 74, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_4 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 74, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_10, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 74, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_res, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/matrix.pxi":71
 *                 raise NotImplementedError("can only support '<=', '>=', or '=='")
 * 
 *         if res is NotImplemented:             # <<<<<<<<<<<<<<
 *             if "out" in kwargs: # Unboxing MatrixExpr to stop __array_ufunc__ recursion
 *                 kwargs["out"] = tuple(_ensure_array(arg, False) for arg in kwargs["out"])
*/
  }

  /* "src/pyscipopt/matrix.pxi":75
 *                 kwargs["out"] = tuple(_ensure_array(arg, False) for arg in kwargs["out"])
 *             res = super().__array_ufunc__(ufunc, method, *args, **kwargs)
 *         return res.view(MatrixExpr) if isinstance(res, np.ndarray) else res             # <<<<<<<<<<<<<<
 * 
 *     def _evaluate(self, Solution sol) -> NDArray[np.float64]:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_res, __pyx_t_10); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 75, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__pyx_t_3) {
    __pyx_t_4 = __pyx_v_res;
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_MatrixExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 75, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 75, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
    }
    __pyx_t_2 = __pyx_t_10;
    __pyx_t_10 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_res);
    __pyx_t_2 = __pyx_v_res;
  }
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/matrix.pxi":21
 *     __array_priority__ = 100
 * 
 *     def __array_ufunc__(             # <<<<<<<<<<<<<<
 *         self,
 *         ufunc: np.ufunc,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixExpr.__array_ufunc__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_res);
  __Pyx_XDECREF(__pyx_gb_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___2generator5);
  __Pyx_XDECREF(__pyx_gb_9pyscipopt_4scip_10MatrixExpr_15__array_ufunc___5generator6);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/matrix.pxi":77
 *         return res.view(MatrixExpr) if isinstance(res, np.ndarray) else res
 * 
 *     def _evaluate(self, Solution sol) -> NDArray[np.float64]:             # <<<<<<<<<<<<<<
 *         return _vec_evaluate(self, sol).view(np.ndarray)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10MatrixExpr_3_evaluate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10MatrixExpr_3_evaluate = {"_evaluate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10MatrixExpr_3_evaluate, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10MatrixExpr_3_evaluate(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_evaluate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 77, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 77, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 77, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_evaluate", 0) < (0)) __PYX_ERR(1, 77, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 2, 2, i); __PYX_ERR(1, 77, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 77, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 77, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_evaluate", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 77, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(1, 77, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10MatrixExpr_2_evaluate(__pyx_self, __pyx_v_self, __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10MatrixExpr_2_evaluate(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_evaluate", 0);

  /* "src/pyscipopt/matrix.pxi":78
 * 
 *     def _evaluate(self, Solution sol) -> NDArray[np.float64]:
 *         return _vec_evaluate(self, sol).view(np.ndarray)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_vec_evaluate); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_self, ((PyObject *)__pyx_v_sol)};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 78, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_2 = __pyx_t_3;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 78, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/matrix.pxi":77
 *         return res.view(MatrixExpr) if isinstance(res, np.ndarray) else res
 * 
 *     def _evaluate(self, Solution sol) -> NDArray[np.float64]:             # <<<<<<<<<<<<<<
 *         return _vec_evaluate(self, sol).view(np.ndarray)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixExpr._evaluate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/matrix.pxi":89
 *     __array_priority__ = 101
 * 
 *     def __array_ufunc__(self, ufunc, method, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if method == "__call__":
 *             args = tuple(_ensure_array(arg) for arg in args)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixExprCons_1__array_ufunc__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixExprCons_1__array_ufunc__ = {"__array_ufunc__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixExprCons_1__array_ufunc__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixExprCons_1__array_ufunc__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_ufunc = 0;
  PyObject *__pyx_v_method = 0;
  PyObject *__pyx_v_args = 0;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__array_ufunc__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  __pyx_v_args = __Pyx_ArgsSlice_FASTCALL(__pyx_args, 3, __pyx_nargs);
  if (unlikely(!__pyx_v_args)) {
    __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __Pyx_GOTREF(__pyx_v_args);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_ufunc,&__pyx_mstate_global->__pyx_n_u_method,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 89, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        default:
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 89, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 89, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 89, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      const Py_ssize_t used_pos_args = (kwd_pos_args < 3) ? kwd_pos_args : 3;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, used_pos_args, __pyx_kwds_len, "__array_ufunc__", 1) < (0)) __PYX_ERR(1, 89, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__array_ufunc__", 0, 3, 3, i); __PYX_ERR(1, 89, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs < 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 89, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 89, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 89, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_ufunc = values[1];
    __pyx_v_method = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__array_ufunc__", 0, 3, 3, __pyx_nargs); __PYX_ERR(1, 89, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
  __Pyx_XDECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("pyscipopt.scip.MatrixExprCons.__array_ufunc__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixExprCons___array_ufunc__(__pyx_self, __pyx_v_self, __pyx_v_ufunc, __pyx_v_method, __pyx_v_args, __pyx_v_kwargs);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9pyscipopt_4scip_14MatrixExprCons_15__array_ufunc___2generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "src/pyscipopt/matrix.pxi":91
 *     def __array_ufunc__(self, ufunc, method, *args, **kwargs):
 *         if method == "__call__":
 *             args = tuple(_ensure_array(arg) for arg in args)             # <<<<<<<<<<<<<<
 *             if ufunc is np.less_equal:
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixExprCons_15__array_ufunc___genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_7_genexpr(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 91, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9pyscipopt_4scip_14MatrixExprCons_15__array_ufunc___2generator7, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[10]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_MatrixExprCons___array_ufunc___l, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip); if (unlikely(!gen)) __PYX_ERR(1, 91, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.MatrixExprCons.__array_ufunc__.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_9pyscipopt_4scip_14MatrixExprCons_15__array_ufunc___2generator7(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L6_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(1, 91, __pyx_L1_error)
  }
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 91, __pyx_L1_error) }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 91, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
    #endif
    ++__pyx_t_2;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_arg);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_arg, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_t_3 = __pyx_f_9pyscipopt_4scip__ensure_array(__pyx_cur_scope->__pyx_v_arg, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    __Pyx_XGIVEREF(__pyx_t_1);
    __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
    __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L6_resume_from_yield:;
    __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
    __pyx_cur_scope->__pyx_t_0 = 0;
    __Pyx_XGOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 91, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/matrix.pxi":89
 *     __array_priority__ = 101
 * 
 *     def __array_ufunc__(self, ufunc, method, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if method == "__call__":
 *             args = tuple(_ensure_array(arg) for arg in args)
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixExprCons___array_ufunc__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_ufunc, PyObject *__pyx_v_method, PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_gb_9pyscipopt_4scip_14MatrixExprCons_15__array_ufunc___2generator7 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__array_ufunc__", 0);
  __Pyx_INCREF(__pyx_v_args);

  /* "src/pyscipopt/matrix.pxi":90
 * 
 *     def __array_ufunc__(self, ufunc, method, *args, **kwargs):
 *         if method == "__call__":             # <<<<<<<<<<<<<<
 *             args = tuple(_ensure_array(arg) for arg in args)
 *             if ufunc is np.less_equal:
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_method, __pyx_mstate_global->__pyx_n_u_call, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 90, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/matrix.pxi":91
 *     def __array_ufunc__(self, ufunc, method, *args, **kwargs):
 *         if method == "__call__":
 *             args = tuple(_ensure_array(arg) for arg in args)             # <<<<<<<<<<<<<<
 *             if ufunc is np.less_equal:
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
*/
    __pyx_t_2 = __pyx_pf_9pyscipopt_4scip_14MatrixExprCons_15__array_ufunc___genexpr(NULL, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PySequence_Tuple(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 91, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF_SET(__pyx_v_args, ((PyObject*)__pyx_t_3));
    __pyx_t_3 = 0;

    /* "src/pyscipopt/matrix.pxi":92
 *         if method == "__call__":
 *             args = tuple(_ensure_array(arg) for arg in args)
 *             if ufunc is np.less_equal:             # <<<<<<<<<<<<<<
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.greater_equal:
*/
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 92, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_less_equal); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 92, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_1 = (__pyx_v_ufunc == __pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_1) {

      /* "src/pyscipopt/matrix.pxi":93
 *             args = tuple(_ensure_array(arg) for arg in args)
 *             if ufunc is np.less_equal:
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)             # <<<<<<<<<<<<<<
 *             elif ufunc is np.greater_equal:
 *                 return _vec_ge(args[0], args[1]).view(MatrixExprCons)
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_5 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_vec_le); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_5);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_9 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_7, __pyx_t_8};
        __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 93, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __pyx_t_3 = __pyx_t_4;
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_MatrixExprCons); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 93, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_9 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 93, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/matrix.pxi":92
 *         if method == "__call__":
 *             args = tuple(_ensure_array(arg) for arg in args)
 *             if ufunc is np.less_equal:             # <<<<<<<<<<<<<<
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.greater_equal:
*/
    }

    /* "src/pyscipopt/matrix.pxi":94
 *             if ufunc is np.less_equal:
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.greater_equal:             # <<<<<<<<<<<<<<
 *                 return _vec_ge(args[0], args[1]).view(MatrixExprCons)
 *         raise NotImplementedError("can only support '<=' or '>='")
*/
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 94, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_greater_equal); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 94, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_1 = (__pyx_v_ufunc == __pyx_t_4);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (__pyx_t_1) {

      /* "src/pyscipopt/matrix.pxi":95
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.greater_equal:
 *                 return _vec_ge(args[0], args[1]).view(MatrixExprCons)             # <<<<<<<<<<<<<<
 *         raise NotImplementedError("can only support '<=' or '>='")
 * 
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_vec_ge); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 95, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_7 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 95, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 95, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_9 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_8))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8);
        assert(__pyx_t_3);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
        __pyx_t_9 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_t_7, __pyx_t_5};
        __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_9, (3-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 95, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      __pyx_t_2 = __pyx_t_6;
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_MatrixExprCons); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 95, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 95, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __pyx_r = __pyx_t_4;
      __pyx_t_4 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/matrix.pxi":94
 *             if ufunc is np.less_equal:
 *                 return _vec_le(args[0], args[1]).view(MatrixExprCons)
 *             elif ufunc is np.greater_equal:             # <<<<<<<<<<<<<<
 *                 return _vec_ge(args[0], args[1]).view(MatrixExprCons)
 *         raise NotImplementedError("can only support '<=' or '>='")
*/
    }

    /* "src/pyscipopt/matrix.pxi":90
 * 
 *     def __array_ufunc__(self, ufunc, method, *args, **kwargs):
 *         if method == "__call__":             # <<<<<<<<<<<<<<
 *             args = tuple(_ensure_array(arg) for arg in args)
 *             if ufunc is np.less_equal:
*/
  }

  /* "src/pyscipopt/matrix.pxi":96
 *             elif ufunc is np.greater_equal:
 *                 return _vec_ge(args[0], args[1]).view(MatrixExprCons)
 *         raise NotImplementedError("can only support '<=' or '>='")             # <<<<<<<<<<<<<<
 * 
 *     def __eq__(self, _):
*/
  __pyx_t_6 = NULL;
  __pyx_t_9 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u_can_only_support_or_2};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 96, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_Raise(__pyx_t_4, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __PYX_ERR(1, 96, __pyx_L1_error)

  /* "src/pyscipopt/matrix.pxi":89
 *     __array_priority__ = 101
 * 
 *     def __array_ufunc__(self, ufunc, method, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if method == "__call__":
 *             args = tuple(_ensure_array(arg) for arg in args)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixExprCons.__array_ufunc__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_args);
  __Pyx_XDECREF(__pyx_gb_9pyscipopt_4scip_14MatrixExprCons_15__array_ufunc___2generator7);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/matrix.pxi":98
 *         raise NotImplementedError("can only support '<=' or '>='")
 * 
 *     def __eq__(self, _):             # <<<<<<<<<<<<<<
 *         # TODO: Once numpy version >= 2.x, remove `__eq__`, as it will be handled by
 *         # `__array_ufunc__`.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixExprCons_3__eq__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixExprCons_3__eq__ = {"__eq__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixExprCons_3__eq__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixExprCons_3__eq__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v_self = 0;
  CYTHON_UNUSED PyObject *__pyx_v__ = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u__9,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 98, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 98, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 98, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__eq__", 0) < (0)) __PYX_ERR(1, 98, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__eq__", 1, 2, 2, i); __PYX_ERR(1, 98, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 98, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 98, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v__ = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__eq__", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 98, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixExprCons.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixExprCons_2__eq__(__pyx_self, __pyx_v_self, __pyx_v__);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixExprCons_2__eq__(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v__) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "src/pyscipopt/matrix.pxi":101
 *         # TODO: Once numpy version >= 2.x, remove `__eq__`, as it will be handled by
 *         # `__array_ufunc__`.
 *         raise NotImplementedError("can only support '<=' or '>='")             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_can_only_support_or_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 101, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(1, 101, __pyx_L1_error)

  /* "src/pyscipopt/matrix.pxi":98
 *         raise NotImplementedError("can only support '<=' or '>='")
 * 
 *     def __eq__(self, _):             # <<<<<<<<<<<<<<
 *         # TODO: Once numpy version >= 2.x, remove `__eq__`, as it will be handled by
 *         # `__array_ufunc__`.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixExprCons.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/matrix.pxi":110
 * 
 * 
 * cdef inline _ensure_array(arg, bint convert_scalar = True):             # <<<<<<<<<<<<<<
 *     if isinstance(arg, np.ndarray):
 *         return arg.view(np.ndarray)
*/

static CYTHON_INLINE PyObject *__pyx_f_9pyscipopt_4scip__ensure_array(PyObject *__pyx_v_arg, struct __pyx_opt_args_9pyscipopt_4scip__ensure_array *__pyx_optional_args) {
  int __pyx_v_convert_scalar = ((int)1);
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_ensure_array", 0);
  if (__pyx_optional_args) {
    if (__pyx_optional_args->__pyx_n > 0) {
      __pyx_v_convert_scalar = __pyx_optional_args->convert_scalar;
    }
  }

  /* "src/pyscipopt/matrix.pxi":111
 * 
 * cdef inline _ensure_array(arg, bint convert_scalar = True):
 *     if isinstance(arg, np.ndarray):             # <<<<<<<<<<<<<<
 *         return arg.view(np.ndarray)
 *     elif isinstance(arg, (list, tuple)):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_arg, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(1, 111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/matrix.pxi":112
 * cdef inline _ensure_array(arg, bint convert_scalar = True):
 *     if isinstance(arg, np.ndarray):
 *         return arg.view(np.ndarray)             # <<<<<<<<<<<<<<
 *     elif isinstance(arg, (list, tuple)):
 *         return np.asarray(arg)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __pyx_v_arg;
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 112, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/matrix.pxi":111
 * 
 * cdef inline _ensure_array(arg, bint convert_scalar = True):
 *     if isinstance(arg, np.ndarray):             # <<<<<<<<<<<<<<
 *         return arg.view(np.ndarray)
 *     elif isinstance(arg, (list, tuple)):
*/
  }

  /* "src/pyscipopt/matrix.pxi":113
 *     if isinstance(arg, np.ndarray):
 *         return arg.view(np.ndarray)
 *     elif isinstance(arg, (list, tuple)):             # <<<<<<<<<<<<<<
 *         return np.asarray(arg)
 *     return np.array(arg, dtype=object) if convert_scalar else arg
*/
  __pyx_t_7 = PyList_Check(__pyx_v_arg); 
  if (!__pyx_t_7) {
  } else {
    __pyx_t_3 = __pyx_t_7;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_7 = PyTuple_Check(__pyx_v_arg); 
  __pyx_t_3 = __pyx_t_7;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_3) {

    /* "src/pyscipopt/matrix.pxi":114
 *         return arg.view(np.ndarray)
 *     elif isinstance(arg, (list, tuple)):
 *         return np.asarray(arg)             # <<<<<<<<<<<<<<
 *     return np.array(arg, dtype=object) if convert_scalar else arg
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_asarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 114, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_arg};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 114, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/matrix.pxi":113
 *     if isinstance(arg, np.ndarray):
 *         return arg.view(np.ndarray)
 *     elif isinstance(arg, (list, tuple)):             # <<<<<<<<<<<<<<
 *         return np.asarray(arg)
 *     return np.array(arg, dtype=object) if convert_scalar else arg
*/
  }

  /* "src/pyscipopt/matrix.pxi":115
 *     elif isinstance(arg, (list, tuple)):
 *         return np.asarray(arg)
 *     return np.array(arg, dtype=object) if convert_scalar else arg             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  if (__pyx_v_convert_scalar) {
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_array); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, __pyx_v_arg};
      __pyx_t_1 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 115, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_1, __pyx_callargs+2, 0) < (0)) __PYX_ERR(1, 115, __pyx_L1_error)
      __pyx_t_4 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_1);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 115, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_2 = __pyx_t_4;
    __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_arg);
    __pyx_t_2 = __pyx_v_arg;
  }
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/matrix.pxi":110
 * 
 * 
 * cdef inline _ensure_array(arg, bint convert_scalar = True):             # <<<<<<<<<<<<<<
 *     if isinstance(arg, np.ndarray):
 *         return arg.view(np.ndarray)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip._ensure_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/matrix.pxi":118
 * 
 * 
 * def _core_dot(cnp.ndarray a, cnp.ndarray b) -> Union[Expr, np.ndarray]:             # <<<<<<<<<<<<<<
 *     """
 *     Perform matrix multiplication between a N-Demension constant array and a N-Demension
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_27_core_dot(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_26_core_dot, "\n    Perform matrix multiplication between a N-Demension constant array and a N-Demension\n    `np.ndarray` of type `object` and containing `Expr` objects.\n\n    Parameters\n    ----------\n    a : np.ndarray\n        A constant n-d `np.ndarray` of type `np.float64`.\n\n    b : np.ndarray\n        A n-d `np.ndarray` of type `object` and containing `Expr` objects.\n\n    Returns\n    -------\n    Expr or np.ndarray\n        If both `a` and `b` are 1-D arrays, return an `Expr`, otherwise return a\n        `np.ndarray` of type `object` and containing `Expr` objects.\n    ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_27_core_dot = {"_core_dot", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_27_core_dot, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_26_core_dot};
static PyObject *__pyx_pw_9pyscipopt_4scip_27_core_dot(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyArrayObject *__pyx_v_a = 0;
  PyArrayObject *__pyx_v_b = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_core_dot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_a,&__pyx_mstate_global->__pyx_n_u_b,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 118, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 118, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 118, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_core_dot", 0) < (0)) __PYX_ERR(1, 118, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_core_dot", 1, 2, 2, i); __PYX_ERR(1, 118, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 118, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 118, __pyx_L3_error)
    }
    __pyx_v_a = ((PyArrayObject *)values[0]);
    __pyx_v_b = ((PyArrayObject *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_core_dot", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 118, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip._core_dot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(1, 118, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_b), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 1, "b", 0))) __PYX_ERR(1, 118, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_26_core_dot(__pyx_self, __pyx_v_a, __pyx_v_b);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_26_core_dot(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_b) {
  int __pyx_v_a_is_1d;
  int __pyx_v_b_is_1d;
  PyArrayObject *__pyx_v_a_nd = 0;
  PyArrayObject *__pyx_v_b_nd = 0;
  int __pyx_v_a_is_num;
  PyObject *__pyx_v_res = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_core_dot", 0);

  /* "src/pyscipopt/matrix.pxi":137
 *         `np.ndarray` of type `object` and containing `Expr` objects.
 *     """
 *     cdef bint a_is_1d = a.ndim == 1             # <<<<<<<<<<<<<<
 *     cdef bint b_is_1d = b.ndim == 1
 *     cdef cnp.ndarray a_nd = a[..., np.newaxis, :] if a_is_1d else a
*/
  __pyx_v_a_is_1d = (__pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_a) == 1);

  /* "src/pyscipopt/matrix.pxi":138
 *     """
 *     cdef bint a_is_1d = a.ndim == 1
 *     cdef bint b_is_1d = b.ndim == 1             # <<<<<<<<<<<<<<
 *     cdef cnp.ndarray a_nd = a[..., np.newaxis, :] if a_is_1d else a
 *     cdef cnp.ndarray b_nd = b[..., :, np.newaxis] if b_is_1d else b
*/
  __pyx_v_b_is_1d = (__pyx_f_5numpy_7ndarray_4ndim_ndim(__pyx_v_b) == 1);

  /* "src/pyscipopt/matrix.pxi":139
 *     cdef bint a_is_1d = a.ndim == 1
 *     cdef bint b_is_1d = b.ndim == 1
 *     cdef cnp.ndarray a_nd = a[..., np.newaxis, :] if a_is_1d else a             # <<<<<<<<<<<<<<
 *     cdef cnp.ndarray b_nd = b[..., :, np.newaxis] if b_is_1d else b
 *     cdef bint a_is_num = a_nd.dtype.kind in "fiub"
*/
  if (__pyx_v_a_is_1d) {
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_newaxis); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(Py_Ellipsis);
    __Pyx_GIVEREF(Py_Ellipsis);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, Py_Ellipsis) != (0)) __PYX_ERR(1, 139, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(1, 139, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_slice[0]);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[0]);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_mstate_global->__pyx_slice[0]) != (0)) __PYX_ERR(1, 139, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_a), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 139, __pyx_L1_error)
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF((PyObject *)__pyx_v_a);
    __pyx_t_1 = ((PyObject *)__pyx_v_a);
  }
  __pyx_v_a_nd = ((PyArrayObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/matrix.pxi":140
 *     cdef bint b_is_1d = b.ndim == 1
 *     cdef cnp.ndarray a_nd = a[..., np.newaxis, :] if a_is_1d else a
 *     cdef cnp.ndarray b_nd = b[..., :, np.newaxis] if b_is_1d else b             # <<<<<<<<<<<<<<
 *     cdef bint a_is_num = a_nd.dtype.kind in "fiub"
 * 
*/
  if (__pyx_v_b_is_1d) {
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_newaxis); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_INCREF(Py_Ellipsis);
    __Pyx_GIVEREF(Py_Ellipsis);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, Py_Ellipsis) != (0)) __PYX_ERR(1, 140, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_slice[0]);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[0]);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_mstate_global->__pyx_slice[0]) != (0)) __PYX_ERR(1, 140, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_2);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2) != (0)) __PYX_ERR(1, 140, __pyx_L1_error);
    __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_b), __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 140, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 140, __pyx_L1_error)
    __pyx_t_1 = __pyx_t_2;
    __pyx_t_2 = 0;
  } else {
    __Pyx_INCREF((PyObject *)__pyx_v_b);
    __pyx_t_1 = ((PyObject *)__pyx_v_b);
  }
  __pyx_v_b_nd = ((PyArrayObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/matrix.pxi":141
 *     cdef cnp.ndarray a_nd = a[..., np.newaxis, :] if a_is_1d else a
 *     cdef cnp.ndarray b_nd = b[..., :, np.newaxis] if b_is_1d else b
 *     cdef bint a_is_num = a_nd.dtype.kind in "fiub"             # <<<<<<<<<<<<<<
 * 
 *     if a_is_num ^ (b_nd.dtype.kind in "fiub"):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_a_nd), __pyx_mstate_global->__pyx_n_u_dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_kind); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = (__Pyx_PyUnicode_ContainsTF(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_fiub, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_a_is_num = __pyx_t_4;

  /* "src/pyscipopt/matrix.pxi":143
 *     cdef bint a_is_num = a_nd.dtype.kind in "fiub"
 * 
 *     if a_is_num ^ (b_nd.dtype.kind in "fiub"):             # <<<<<<<<<<<<<<
 *         res = _core_dot_nd(a_nd, b_nd) if a_is_num else _core_dot_nd(b_nd.T, a_nd.T).T
 *         if a_is_1d and b_is_1d:
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_b_nd), __pyx_mstate_global->__pyx_n_u_dtype); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_kind); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = (__Pyx_PyUnicode_ContainsTF(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_fiub, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = (__pyx_v_a_is_num ^ __pyx_t_4);
  if (__pyx_t_5) {

    /* "src/pyscipopt/matrix.pxi":144
 * 
 *     if a_is_num ^ (b_nd.dtype.kind in "fiub"):
 *         res = _core_dot_nd(a_nd, b_nd) if a_is_num else _core_dot_nd(b_nd.T, a_nd.T).T             # <<<<<<<<<<<<<<
 *         if a_is_1d and b_is_1d:
 *             return res.item()
*/
    if (__pyx_v_a_is_num) {
      __pyx_t_3 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_core_dot_nd); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_3);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_v_a_nd), ((PyObject *)__pyx_v_b_nd)};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 144, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_1 = __pyx_t_2;
      __pyx_t_2 = 0;
    } else {
      __pyx_t_6 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_core_dot_nd); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_b_nd), __pyx_mstate_global->__pyx_n_u_T); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_a_nd), __pyx_mstate_global->__pyx_n_u_T); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
        assert(__pyx_t_6);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_8, __pyx_t_9};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 144, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_T); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_1 = __pyx_t_3;
      __pyx_t_3 = 0;
    }
    __pyx_v_res = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/matrix.pxi":145
 *     if a_is_num ^ (b_nd.dtype.kind in "fiub"):
 *         res = _core_dot_nd(a_nd, b_nd) if a_is_num else _core_dot_nd(b_nd.T, a_nd.T).T
 *         if a_is_1d and b_is_1d:             # <<<<<<<<<<<<<<
 *             return res.item()
 *         if a_is_1d:
*/
    if (__pyx_v_a_is_1d) {
    } else {
      __pyx_t_5 = __pyx_v_a_is_1d;
      goto __pyx_L5_bool_binop_done;
    }
    __pyx_t_5 = __pyx_v_b_is_1d;
    __pyx_L5_bool_binop_done:;
    if (__pyx_t_5) {

      /* "src/pyscipopt/matrix.pxi":146
 *         res = _core_dot_nd(a_nd, b_nd) if a_is_num else _core_dot_nd(b_nd.T, a_nd.T).T
 *         if a_is_1d and b_is_1d:
 *             return res.item()             # <<<<<<<<<<<<<<
 *         if a_is_1d:
 *             return res.reshape(np.delete(res.shape, -2))
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __pyx_v_res;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_item, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 146, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/matrix.pxi":145
 *     if a_is_num ^ (b_nd.dtype.kind in "fiub"):
 *         res = _core_dot_nd(a_nd, b_nd) if a_is_num else _core_dot_nd(b_nd.T, a_nd.T).T
 *         if a_is_1d and b_is_1d:             # <<<<<<<<<<<<<<
 *             return res.item()
 *         if a_is_1d:
*/
    }

    /* "src/pyscipopt/matrix.pxi":147
 *         if a_is_1d and b_is_1d:
 *             return res.item()
 *         if a_is_1d:             # <<<<<<<<<<<<<<
 *             return res.reshape(np.delete(res.shape, -2))
 *         if b_is_1d:
*/
    if (__pyx_v_a_is_1d) {

      /* "src/pyscipopt/matrix.pxi":148
 *             return res.item()
 *         if a_is_1d:
 *             return res.reshape(np.delete(res.shape, -2))             # <<<<<<<<<<<<<<
 *         if b_is_1d:
 *             return res.reshape(np.delete(res.shape, -1))
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_3 = __pyx_v_res;
      __Pyx_INCREF(__pyx_t_3);
      __pyx_t_9 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 148, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_delete); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 148, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 148, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_9);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_t_8, __pyx_mstate_global->__pyx_int_neg_2};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 148, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_reshape, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 148, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/matrix.pxi":147
 *         if a_is_1d and b_is_1d:
 *             return res.item()
 *         if a_is_1d:             # <<<<<<<<<<<<<<
 *             return res.reshape(np.delete(res.shape, -2))
 *         if b_is_1d:
*/
    }

    /* "src/pyscipopt/matrix.pxi":149
 *         if a_is_1d:
 *             return res.reshape(np.delete(res.shape, -2))
 *         if b_is_1d:             # <<<<<<<<<<<<<<
 *             return res.reshape(np.delete(res.shape, -1))
 *         return res
*/
    if (__pyx_v_b_is_1d) {

      /* "src/pyscipopt/matrix.pxi":150
 *             return res.reshape(np.delete(res.shape, -2))
 *         if b_is_1d:
 *             return res.reshape(np.delete(res.shape, -1))             # <<<<<<<<<<<<<<
 *         return res
 *     return NotImplemented
*/
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_2 = __pyx_v_res;
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_6 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_delete); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_9))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9);
        assert(__pyx_t_6);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_8, __pyx_mstate_global->__pyx_int_neg_1};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 150, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __pyx_t_7 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_reshape, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 150, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* "src/pyscipopt/matrix.pxi":149
 *         if a_is_1d:
 *             return res.reshape(np.delete(res.shape, -2))
 *         if b_is_1d:             # <<<<<<<<<<<<<<
 *             return res.reshape(np.delete(res.shape, -1))
 *         return res
*/
    }

    /* "src/pyscipopt/matrix.pxi":151
 *         if b_is_1d:
 *             return res.reshape(np.delete(res.shape, -1))
 *         return res             # <<<<<<<<<<<<<<
 *     return NotImplemented
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_res);
    __pyx_r = __pyx_v_res;
    goto __pyx_L0;

    /* "src/pyscipopt/matrix.pxi":143
 *     cdef bint a_is_num = a_nd.dtype.kind in "fiub"
 * 
 *     if a_is_num ^ (b_nd.dtype.kind in "fiub"):             # <<<<<<<<<<<<<<
 *         res = _core_dot_nd(a_nd, b_nd) if a_is_num else _core_dot_nd(b_nd.T, a_nd.T).T
 *         if a_is_1d and b_is_1d:
*/
  }

  /* "src/pyscipopt/matrix.pxi":152
 *             return res.reshape(np.delete(res.shape, -1))
 *         return res
 *     return NotImplemented             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_builtin_NotImplemented);
  __pyx_r = __pyx_builtin_NotImplemented;
  goto __pyx_L0;

  /* "src/pyscipopt/matrix.pxi":118
 * 
 * 
 * def _core_dot(cnp.ndarray a, cnp.ndarray b) -> Union[Expr, np.ndarray]:             # <<<<<<<<<<<<<<
 *     """
 *     Perform matrix multiplication between a N-Demension constant array and a N-Demension
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip._core_dot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_a_nd);
  __Pyx_XDECREF((PyObject *)__pyx_v_b_nd);
  __Pyx_XDECREF(__pyx_v_res);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/matrix.pxi":155
 * 
 * 
 * def _core_dot_2d(cnp.ndarray a, cnp.ndarray x) -> np.ndarray:             # <<<<<<<<<<<<<<
 *     """
 *     Perform matrix multiplication between a 2-Demension constant array and a 2-Demension
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_29_core_dot_2d(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_28_core_dot_2d, "\n    Perform matrix multiplication between a 2-Demension constant array and a 2-Demension\n    `np.ndarray` of type `object` and containing `Expr` objects.\n\n    Parameters\n    ----------\n    a : np.ndarray\n        A 2-D `np.ndarray` of type `np.float64`.\n\n    x : np.ndarray\n        A 2-D `np.ndarray` of type `object` and containing `Expr` objects.\n\n    Returns\n    -------\n    np.ndarray\n        A 2-D `np.ndarray` of type `object` and containing `Expr` objects.\n    ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_29_core_dot_2d = {"_core_dot_2d", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_29_core_dot_2d, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_28_core_dot_2d};
static PyObject *__pyx_pw_9pyscipopt_4scip_29_core_dot_2d(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyArrayObject *__pyx_v_a = 0;
  PyArrayObject *__pyx_v_x = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_core_dot_2d (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_a,&__pyx_mstate_global->__pyx_n_u_x,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 155, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 155, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 155, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_core_dot_2d", 0) < (0)) __PYX_ERR(1, 155, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_core_dot_2d", 1, 2, 2, i); __PYX_ERR(1, 155, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 155, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 155, __pyx_L3_error)
    }
    __pyx_v_a = ((PyArrayObject *)values[0]);
    __pyx_v_x = ((PyArrayObject *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_core_dot_2d", 1, 2, 2, __pyx_nargs); __PYX_ERR(1, 155, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip._core_dot_2d", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(1, 155, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 1, "x", 0))) __PYX_ERR(1, 155, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_28_core_dot_2d(__pyx_self, __pyx_v_a, __pyx_v_x);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9pyscipopt_4scip_12_core_dot_2d_2generator8(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "src/pyscipopt/matrix.pxi":187
 * 
 *         for j in range(k):
 *             res[i, j] = quicksum(a_view[i, idx] * x[idx, j] for idx in nonzero)             # <<<<<<<<<<<<<<
 * 
 *     return res
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_12_core_dot_2d_genexpr(PyObject *__pyx_self, __Pyx_memviewslice __pyx_genexpr_arg_0) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_9_genexpr(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 187, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *) __pyx_self;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __PYX_INC_MEMVIEW(&__pyx_cur_scope->__pyx_genexpr_arg_0, 1);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9pyscipopt_4scip_12_core_dot_2d_2generator8, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[11]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_core_dot_2d_locals_genexpr, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip); if (unlikely(!gen)) __PYX_ERR(1, 187, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip._core_dot_2d.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_9pyscipopt_4scip_12_core_dot_2d_2generator8(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  __Pyx_memviewslice __pyx_t_1 = { 0, 0, { 0 }, { 0 }, { 0 } };
  Py_ssize_t __pyx_t_2;
  int __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L7_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(1, 187, __pyx_L1_error)
  }
  if (unlikely(((PyObject *) __pyx_cur_scope->__pyx_genexpr_arg_0.memview) == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' is not iterable");
    __PYX_ERR(1, 187, __pyx_L1_error)
  }
  __PYX_INC_MEMVIEW(&__pyx_cur_scope->__pyx_genexpr_arg_0, 1);
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0;
  __pyx_t_2 = __Pyx_MemoryView_Len(__pyx_t_1); 
  __pyx_t_3 = 1;
  __pyx_t_4 = -1L;
  while (1) {
    if (!__pyx_t_3) break;
    __pyx_t_4 = (__pyx_t_4 + 1);
    __pyx_t_5 = (__pyx_t_4 < __pyx_t_2);
    if (__pyx_t_5) {
      __pyx_t_6 = __pyx_t_4;
      __pyx_cur_scope->__pyx_v_idx = (*((Py_ssize_t *) ( /* dim=0 */ (__pyx_t_1.data + __pyx_t_6 * __pyx_t_1.strides[0]) )));
      goto __pyx_L6;
    }
    /*else*/ {
      __pyx_t_3 = 0;
      goto __pyx_L4_continue;
    }
    __pyx_L6:;
    if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_a_view.memview)) { __Pyx_RaiseClosureNameError("a_view"); __PYX_ERR(1, 187, __pyx_L1_error) }
    __pyx_t_6 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_i;
    __pyx_t_7 = __pyx_cur_scope->__pyx_v_idx;
    __pyx_t_8 = -1;
    if (__pyx_t_6 < 0) {
      __pyx_t_6 += __pyx_cur_scope->__pyx_outer_scope->__pyx_v_a_view.shape[0];
      if (unlikely(__pyx_t_6 < 0)) __pyx_t_8 = 0;
    } else if (unlikely(__pyx_t_6 >= __pyx_cur_scope->__pyx_outer_scope->__pyx_v_a_view.shape[0])) __pyx_t_8 = 0;
    if (__pyx_t_7 < 0) {
      __pyx_t_7 += __pyx_cur_scope->__pyx_outer_scope->__pyx_v_a_view.shape[1];
      if (unlikely(__pyx_t_7 < 0)) __pyx_t_8 = 1;
    } else if (unlikely(__pyx_t_7 >= __pyx_cur_scope->__pyx_outer_scope->__pyx_v_a_view.shape[1])) __pyx_t_8 = 1;
    if (unlikely(__pyx_t_8 != -1)) {
      __Pyx_RaiseBufferIndexError(__pyx_t_8);
      __PYX_ERR(1, 187, __pyx_L1_error)
    }
    __pyx_t_9 = PyFloat_FromDouble((*((double const  *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_cur_scope->__pyx_outer_scope->__pyx_v_a_view.data + __pyx_t_6 * __pyx_cur_scope->__pyx_outer_scope->__pyx_v_a_view.strides[0]) ) + __pyx_t_7 * __pyx_cur_scope->__pyx_outer_scope->__pyx_v_a_view.strides[1]) )))); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_x)) { __Pyx_RaiseClosureNameError("x"); __PYX_ERR(1, 187, __pyx_L1_error) }
    __pyx_t_10 = PyLong_FromSsize_t(__pyx_cur_scope->__pyx_v_idx); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = __Pyx_PyLong_From_int(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_j); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_GIVEREF(__pyx_t_10);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10) != (0)) __PYX_ERR(1, 187, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_11);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_11) != (0)) __PYX_ERR(1, 187, __pyx_L1_error);
    __pyx_t_10 = 0;
    __pyx_t_11 = 0;
    __pyx_t_11 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_cur_scope->__pyx_outer_scope->__pyx_v_x), __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __pyx_t_12 = PyNumber_Multiply(__pyx_t_9, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_r = __pyx_t_12;
    __pyx_t_12 = 0;
    __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
    __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
    __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
    __pyx_cur_scope->__pyx_t_3 = __pyx_t_4;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L7_resume_from_yield:;
    __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
    __pyx_cur_scope->__pyx_t_0.memview = NULL; __pyx_cur_scope->__pyx_t_0.data = NULL;
    __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
    __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
    __pyx_t_4 = __pyx_cur_scope->__pyx_t_3;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 187, __pyx_L1_error)
    __pyx_L4_continue:;
  }
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
  __pyx_t_1.memview = NULL; __pyx_t_1.data = NULL;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/matrix.pxi":155
 * 
 * 
 * def _core_dot_2d(cnp.ndarray a, cnp.ndarray x) -> np.ndarray:             # <<<<<<<<<<<<<<
 *     """
 *     Perform matrix multiplication between a 2-Demension constant array and a 2-Demension
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_28_core_dot_2d(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyArrayObject *__pyx_v_x) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *__pyx_cur_scope;
  int __pyx_v_m;
  int __pyx_v_k;
  PyArrayObject *__pyx_v_res = 0;
  __Pyx_memviewslice __pyx_v_nonzero = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_gb_9pyscipopt_4scip_12_core_dot_2d_2generator8 = 0;
  __Pyx_LocalBuf_ND __pyx_pybuffernd_res;
  __Pyx_Buffer __pyx_pybuffer_res;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  __Pyx_memviewslice __pyx_t_10 = { 0, 0, { 0 }, { 0 }, { 0 } };
  PyObject *__pyx_t_11 = NULL;
  int __pyx_t_12;
  int __pyx_t_13;
  int __pyx_t_14;
  __Pyx_memviewslice __pyx_t_15 = { 0, 0, { 0 }, { 0 }, { 0 } };
  __Pyx_memviewslice __pyx_t_16 = { 0, 0, { 0 }, { 0 }, { 0 } };
  int __pyx_t_17;
  int __pyx_t_18;
  int __pyx_t_19;
  Py_ssize_t __pyx_t_20;
  Py_ssize_t __pyx_t_21;
  int __pyx_t_22;
  PyObject **__pyx_t_23;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_core_dot_2d", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 155, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_x = __pyx_v_x;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_x);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_x);
  __Pyx_INCREF((PyObject *)__pyx_v_a);
  __pyx_pybuffer_res.pybuffer.buf = NULL;
  __pyx_pybuffer_res.refcount = 0;
  __pyx_pybuffernd_res.data = NULL;
  __pyx_pybuffernd_res.rcbuffer = &__pyx_pybuffer_res;

  /* "src/pyscipopt/matrix.pxi":173
 *         A 2-D `np.ndarray` of type `object` and containing `Expr` objects.
 *     """
 *     if not a.flags.c_contiguous or a.dtype != np.float64:             # <<<<<<<<<<<<<<
 *         a = np.ascontiguousarray(a, dtype=np.float64)
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_a), __pyx_mstate_global->__pyx_n_u_flags); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_c_contiguous); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = (!__pyx_t_4);
  if (!__pyx_t_5) {
  } else {
    __pyx_t_1 = __pyx_t_5;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_a), __pyx_mstate_global->__pyx_n_u_dtype); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_float64); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_6, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(1, 173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __pyx_t_5;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "src/pyscipopt/matrix.pxi":174
 *     """
 *     if not a.flags.c_contiguous or a.dtype != np.float64:
 *         a = np.ascontiguousarray(a, dtype=np.float64)             # <<<<<<<<<<<<<<
 * 
 *     cdef const double[:, :] a_view = a
*/
    __pyx_t_6 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_ascontiguousarray); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_float64); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 174, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_9 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7);
      assert(__pyx_t_6);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
      __pyx_t_9 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, ((PyObject *)__pyx_v_a)};
      __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 174, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_t_8, __pyx_t_3, __pyx_callargs+2, 0) < (0)) __PYX_ERR(1, 174, __pyx_L1_error)
      __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 174, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 174, __pyx_L1_error)
    __Pyx_DECREF_SET(__pyx_v_a, ((PyArrayObject *)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "src/pyscipopt/matrix.pxi":173
 *         A 2-D `np.ndarray` of type `object` and containing `Expr` objects.
 *     """
 *     if not a.flags.c_contiguous or a.dtype != np.float64:             # <<<<<<<<<<<<<<
 *         a = np.ascontiguousarray(a, dtype=np.float64)
 * 
*/
  }

  /* "src/pyscipopt/matrix.pxi":176
 *         a = np.ascontiguousarray(a, dtype=np.float64)
 * 
 *     cdef const double[:, :] a_view = a             # <<<<<<<<<<<<<<
 *     cdef int m = a.shape[0], k = x.shape[1]
 *     cdef cnp.ndarray[object, ndim=2] res = np.zeros((m, k), dtype=object)
*/
  __pyx_t_10 = __Pyx_PyObject_to_MemoryviewSlice_dsds_double__const__(((PyObject *)__pyx_v_a), 0); if (unlikely(!__pyx_t_10.memview)) __PYX_ERR(1, 176, __pyx_L1_error)
  __pyx_cur_scope->__pyx_v_a_view = __pyx_t_10;
  __pyx_t_10.memview = NULL;
  __pyx_t_10.data = NULL;

  /* "src/pyscipopt/matrix.pxi":177
 * 
 *     cdef const double[:, :] a_view = a
 *     cdef int m = a.shape[0], k = x.shape[1]             # <<<<<<<<<<<<<<
 *     cdef cnp.ndarray[object, ndim=2] res = np.zeros((m, k), dtype=object)
 *     cdef Py_ssize_t[:] nonzero
*/
  __pyx_v_m = (__pyx_f_5numpy_7ndarray_5shape_shape(__pyx_v_a)[0]);
  __pyx_t_2 = ((PyObject *)__pyx_cur_scope->__pyx_v_x);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_v_k = (__pyx_f_5numpy_7ndarray_5shape_shape(((PyArrayObject *)__pyx_t_2))[1]);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/matrix.pxi":178
 *     cdef const double[:, :] a_view = a
 *     cdef int m = a.shape[0], k = x.shape[1]
 *     cdef cnp.ndarray[object, ndim=2] res = np.zeros((m, k), dtype=object)             # <<<<<<<<<<<<<<
 *     cdef Py_ssize_t[:] nonzero
 *     cdef int i, j, idx
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_zeros); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_m); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyLong_From_int(__pyx_v_k); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_3) != (0)) __PYX_ERR(1, 178, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_6) != (0)) __PYX_ERR(1, 178, __pyx_L1_error);
  __pyx_t_3 = 0;
  __pyx_t_6 = 0;
  __pyx_t_9 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_9 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_7, __pyx_t_11};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(1, 178, __pyx_L1_error)
    __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 178, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(1, 178, __pyx_L1_error)
  {
    __Pyx_BufFmt_StackElem __pyx_stack[1];
    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_res.rcbuffer->pybuffer, (PyObject*)((PyArrayObject *)__pyx_t_2), &__Pyx_TypeInfo_object, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 2, 0, __pyx_stack) == -1)) {
      __pyx_v_res = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_res.rcbuffer->pybuffer.buf = NULL;
      __PYX_ERR(1, 178, __pyx_L1_error)
    } else {__pyx_pybuffernd_res.diminfo[0].strides = __pyx_pybuffernd_res.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_res.diminfo[0].shape = __pyx_pybuffernd_res.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_res.diminfo[1].strides = __pyx_pybuffernd_res.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_res.diminfo[1].shape = __pyx_pybuffernd_res.rcbuffer->pybuffer.shape[1];
    }
  }
  __pyx_v_res = ((PyArrayObject *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/matrix.pxi":182
 *     cdef int i, j, idx
 * 
 *     for i in range(m):             # <<<<<<<<<<<<<<
 *         if (nonzero := np.flatnonzero(a_view[i, :])).size == 0:
 *             continue
*/
  __pyx_t_12 = __pyx_v_m;
  __pyx_t_13 = __pyx_t_12;
  for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
    __pyx_cur_scope->__pyx_v_i = __pyx_t_14;

    /* "src/pyscipopt/matrix.pxi":183
 * 
 *     for i in range(m):
 *         if (nonzero := np.flatnonzero(a_view[i, :])).size == 0:             # <<<<<<<<<<<<<<
 *             continue
 * 
*/
    __pyx_t_8 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_flatnonzero); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_15.data = __pyx_cur_scope->__pyx_v_a_view.data;
    __pyx_t_15.memview = __pyx_cur_scope->__pyx_v_a_view.memview;
    __PYX_INC_MEMVIEW(&__pyx_t_15, 1);
    {
    Py_ssize_t __pyx_tmp_idx = __pyx_cur_scope->__pyx_v_i;
        Py_ssize_t __pyx_tmp_shape = __pyx_cur_scope->__pyx_v_a_view.shape[0];
    Py_ssize_t __pyx_tmp_stride = __pyx_cur_scope->__pyx_v_a_view.strides[0];
        if (__pyx_tmp_idx < 0)
            __pyx_tmp_idx += __pyx_tmp_shape;
        if (unlikely(!__Pyx_is_valid_index(__pyx_tmp_idx, __pyx_tmp_shape))) {
            PyErr_SetString(PyExc_IndexError,
                            "Index out of bounds (axis 0)");
            __PYX_ERR(1, 183, __pyx_L1_error)
        }
        __pyx_t_15.data += __pyx_tmp_idx * __pyx_tmp_stride;
}

__pyx_t_15.shape[0] = __pyx_cur_scope->__pyx_v_a_view.shape[1];
__pyx_t_15.strides[0] = __pyx_cur_scope->__pyx_v_a_view.strides[1];
    __pyx_t_15.suboffsets[0] = -1;

__pyx_t_6 = __pyx_memoryview_fromslice(__pyx_t_15, 1, (PyObject *(*)(char *)) __pyx_memview_get_double__const__, (int (*)(char *, PyObject *)) NULL, 0);; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __PYX_XCLEAR_MEMVIEW(&__pyx_t_15, 1);
    __pyx_t_15.memview = NULL; __pyx_t_15.data = NULL;
    __pyx_t_9 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_11);
      assert(__pyx_t_8);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
      __pyx_t_9 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 183, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_16 = __Pyx_PyObject_to_MemoryviewSlice_ds_Py_ssize_t(__pyx_t_2, PyBUF_WRITABLE); if (unlikely(!__pyx_t_16.memview)) __PYX_ERR(1, 183, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_XCLEAR_MEMVIEW(&__pyx_v_nonzero, 1);
    __PYX_INC_MEMVIEW(&__pyx_t_16, 1);
    __pyx_v_nonzero = __pyx_t_16;
    __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_t_16, 1, (PyObject *(*)(char *)) __pyx_memview_get_Py_ssize_t, (int (*)(char *, PyObject *)) __pyx_memview_set_Py_ssize_t, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __PYX_XCLEAR_MEMVIEW(&__pyx_t_16, 1);
    __pyx_t_16.memview = NULL; __pyx_t_16.data = NULL;
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_size); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_1 = (__Pyx_PyLong_BoolEqObjC(__pyx_t_11, __pyx_mstate_global->__pyx_int_0, 0, 0)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 183, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (__pyx_t_1) {

      /* "src/pyscipopt/matrix.pxi":184
 *     for i in range(m):
 *         if (nonzero := np.flatnonzero(a_view[i, :])).size == 0:
 *             continue             # <<<<<<<<<<<<<<
 * 
 *         for j in range(k):
*/
      goto __pyx_L6_continue;

      /* "src/pyscipopt/matrix.pxi":183
 * 
 *     for i in range(m):
 *         if (nonzero := np.flatnonzero(a_view[i, :])).size == 0:             # <<<<<<<<<<<<<<
 *             continue
 * 
*/
    }

    /* "src/pyscipopt/matrix.pxi":186
 *             continue
 * 
 *         for j in range(k):             # <<<<<<<<<<<<<<
 *             res[i, j] = quicksum(a_view[i, idx] * x[idx, j] for idx in nonzero)
 * 
*/
    __pyx_t_17 = __pyx_v_k;
    __pyx_t_18 = __pyx_t_17;
    for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) {
      __pyx_cur_scope->__pyx_v_j = __pyx_t_19;

      /* "src/pyscipopt/matrix.pxi":187
 * 
 *         for j in range(k):
 *             res[i, j] = quicksum(a_view[i, idx] * x[idx, j] for idx in nonzero)             # <<<<<<<<<<<<<<
 * 
 *     return res
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_quicksum); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 187, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_8 = __pyx_pf_9pyscipopt_4scip_12_core_dot_2d_genexpr(((PyObject*)__pyx_cur_scope), __pyx_v_nonzero); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 187, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_9 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_9 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
        __pyx_t_11 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 187, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
      }
      __pyx_t_20 = __pyx_cur_scope->__pyx_v_i;
      __pyx_t_21 = __pyx_cur_scope->__pyx_v_j;
      __pyx_t_22 = -1;
      if (__pyx_t_20 < 0) {
        __pyx_t_20 += __pyx_pybuffernd_res.diminfo[0].shape;
        if (unlikely(__pyx_t_20 < 0)) __pyx_t_22 = 0;
      } else if (unlikely(__pyx_t_20 >= __pyx_pybuffernd_res.diminfo[0].shape)) __pyx_t_22 = 0;
      if (__pyx_t_21 < 0) {
        __pyx_t_21 += __pyx_pybuffernd_res.diminfo[1].shape;
        if (unlikely(__pyx_t_21 < 0)) __pyx_t_22 = 1;
      } else if (unlikely(__pyx_t_21 >= __pyx_pybuffernd_res.diminfo[1].shape)) __pyx_t_22 = 1;
      if (unlikely(__pyx_t_22 != -1)) {
        __Pyx_RaiseBufferIndexError(__pyx_t_22);
        __PYX_ERR(1, 187, __pyx_L1_error)
      }
      __pyx_t_23 = __Pyx_BufPtrStrided2d(PyObject **, __pyx_pybuffernd_res.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_res.diminfo[0].strides, __pyx_t_21, __pyx_pybuffernd_res.diminfo[1].strides);
      __Pyx_XGOTREF(*__pyx_t_23);
      __Pyx_INCREF(__pyx_t_11); __Pyx_XDECREF(*__pyx_t_23);
      *__pyx_t_23 = __pyx_t_11;
      __Pyx_XGIVEREF(*__pyx_t_23);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    }
    __pyx_L6_continue:;
  }

  /* "src/pyscipopt/matrix.pxi":189
 *             res[i, j] = quicksum(a_view[i, idx] * x[idx, j] for idx in nonzero)
 * 
 *     return res             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_res);
  __pyx_r = ((PyObject *)__pyx_v_res);
  goto __pyx_L0;

  /* "src/pyscipopt/matrix.pxi":155
 * 
 * 
 * def _core_dot_2d(cnp.ndarray a, cnp.ndarray x) -> np.ndarray:             # <<<<<<<<<<<<<<
 *     """
 *     Perform matrix multiplication between a 2-Demension constant array and a 2-Demension
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_10, 1);
  __Pyx_XDECREF(__pyx_t_11);
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_15, 1);
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_16, 1);
  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_res.rcbuffer->pybuffer);
  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
  __Pyx_AddTraceback("pyscipopt.scip._core_dot_2d", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  goto __pyx_L2;
  __pyx_L0:;
  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_res.rcbuffer->pybuffer);
  __pyx_L2:;
  __Pyx_XDECREF((PyObject *)__pyx_v_res);
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_nonzero, 1);
  __Pyx_XDECREF(__pyx_gb_9pyscipopt_4scip_12_core_dot_2d_2generator8);
  __Pyx_XDECREF((PyObject *)__pyx_v_a);
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/matrix.pxi":199
 * 
 * 
 * def _core_sum(             # <<<<<<<<<<<<<<
 *     cnp.ndarray a,
 *     axis: Optional[Union[int, Tuple[int, ...]]] = None,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_31_core_sum(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_30_core_sum, "\n    Return the sum of the array elements over the given axis.\n\n    Parameters\n    ----------\n    a : np.ndarray\n        A `np.ndarray` of type `object` and containing `Expr` objects.\n\n    axis : None or int or tuple of ints, optional\n        Axis or axes along which a sum is performed. The default, axis=None, will\n        sum all of the elements of the input array. If axis is negative it counts\n        from the last to the first axis. If axis is a tuple of ints, a sum is\n        performed on all of the axes specified in the tuple instead of a single axis\n        or all the axes as before.\n\n    keepdims : bool, optional\n        If this is set to True, the axes which are reduced are left in the result as\n        dimensions with size one. With this option, the result will broadcast\n        correctly against the input array.\n\n    **kwargs : ignored\n        Additional keyword arguments are ignored. They exist for compatibility\n        with `numpy.ndarray.sum`.\n\n    Returns\n    -------\n    Expr or np.ndarray\n        If the sum is performed over all axes, return an Expr, otherwise return\n        a np.ndarray.\n\n    ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_31_core_sum = {"_core_sum", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_31_core_sum, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_30_core_sum};
static PyObject *__pyx_pw_9pyscipopt_4scip_31_core_sum(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyArrayObject *__pyx_v_a = 0;
  PyObject *__pyx_v_axis = 0;
  int __pyx_v_keepdims;
  CYTHON_UNUSED PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_core_sum (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_a,&__pyx_mstate_global->__pyx_n_u_axis,&__pyx_mstate_global->__pyx_n_u_keepdims,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(1, 199, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 199, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 199, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 199, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, kwd_pos_args, __pyx_kwds_len, "_core_sum", 1) < (0)) __PYX_ERR(1, 199, __pyx_L3_error)

      /* "src/pyscipopt/matrix.pxi":201
 * def _core_sum(
 *     cnp.ndarray a,
 *     axis: Optional[Union[int, Tuple[int, ...]]] = None,             # <<<<<<<<<<<<<<
 *     keepdims: bool = False,
 *     **kwargs,
*/
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_core_sum", 0, 1, 3, i); __PYX_ERR(1, 199, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 199, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 199, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 199, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_a = ((PyArrayObject *)values[0]);
    __pyx_v_axis = values[1];
    if (values[2]) {
      __pyx_v_keepdims = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_keepdims == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 202, __pyx_L3_error)
    } else {

      /* "src/pyscipopt/matrix.pxi":202
 *     cnp.ndarray a,
 *     axis: Optional[Union[int, Tuple[int, ...]]] = None,
 *     keepdims: bool = False,             # <<<<<<<<<<<<<<
 *     **kwargs,
 * ) -> Union[Expr, np.ndarray]:
*/
      __pyx_v_keepdims = ((int)((int)0));
    }
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_core_sum", 0, 1, 3, __pyx_nargs); __PYX_ERR(1, 199, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_XDECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("pyscipopt.scip._core_sum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_a), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 1, "a", 0))) __PYX_ERR(1, 200, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_30_core_sum(__pyx_self, __pyx_v_a, __pyx_v_axis, __pyx_v_keepdims, __pyx_v_kwargs);

  /* "src/pyscipopt/matrix.pxi":199
 * 
 * 
 * def _core_sum(             # <<<<<<<<<<<<<<
 *     cnp.ndarray a,
 *     axis: Optional[Union[int, Tuple[int, ...]]] = None,
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9pyscipopt_4scip_9_core_sum_2generator9(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "src/pyscipopt/matrix.pxi":247
 *         )
 * 
 *     keep_axes = tuple(i for i in range(a.ndim) if i not in axis)             # <<<<<<<<<<<<<<
 *     shape = (
 *         tuple(1 if i in axis else a.shape[i] for i in range(a.ndim))
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_9_core_sum_genexpr(PyObject *__pyx_self, PyArrayObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_11_genexpr(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 247, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *) __pyx_self;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9pyscipopt_4scip_9_core_sum_2generator9, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[12]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_core_sum_locals_genexpr, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip); if (unlikely(!gen)) __PYX_ERR(1, 247, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip._core_sum.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_9pyscipopt_4scip_9_core_sum_2generator9(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L7_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(1, 247, __pyx_L1_error)
  }
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 247, __pyx_L1_error) }
  __pyx_t_1 = ((PyObject *)__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = __pyx_f_5numpy_7ndarray_4ndim_ndim(((PyArrayObject *)__pyx_t_1));
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_cur_scope->__pyx_v_i = __pyx_t_4;
    __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 247, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_axis)) { __Pyx_RaiseClosureNameError("axis"); __PYX_ERR(1, 247, __pyx_L1_error) }
    __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_cur_scope->__pyx_outer_scope->__pyx_v_axis, Py_NE)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(1, 247, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (__pyx_t_5) {
      __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 247, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      __pyx_cur_scope->__pyx_t_0 = __pyx_t_2;
      __pyx_cur_scope->__pyx_t_1 = __pyx_t_3;
      __pyx_cur_scope->__pyx_t_2 = __pyx_t_4;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
      /* return from generator, yielding value */
      __pyx_generator->resume_label = 1;
      return __pyx_r;
      __pyx_L7_resume_from_yield:;
      __pyx_t_2 = __pyx_cur_scope->__pyx_t_0;
      __pyx_t_3 = __pyx_cur_scope->__pyx_t_1;
      __pyx_t_4 = __pyx_cur_scope->__pyx_t_2;
      if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 247, __pyx_L1_error)
    }
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9pyscipopt_4scip_9_core_sum_5generator10(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "src/pyscipopt/matrix.pxi":249
 *     keep_axes = tuple(i for i in range(a.ndim) if i not in axis)
 *     shape = (
 *         tuple(1 if i in axis else a.shape[i] for i in range(a.ndim))             # <<<<<<<<<<<<<<
 *         if keepdims
 *         else tuple(a.shape[i] for i in keep_axes)
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_9_core_sum_3genexpr(PyObject *__pyx_self, PyArrayObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_12_genexpr(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 249, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *) __pyx_self;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9pyscipopt_4scip_9_core_sum_5generator10, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[13]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_core_sum_locals_genexpr, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip); if (unlikely(!gen)) __PYX_ERR(1, 249, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip._core_sum.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_9pyscipopt_4scip_9_core_sum_5generator10(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L6_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(1, 249, __pyx_L1_error)
  }
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 249, __pyx_L1_error) }
  __pyx_t_1 = ((PyObject *)__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = __pyx_f_5numpy_7ndarray_4ndim_ndim(((PyArrayObject *)__pyx_t_1));
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_cur_scope->__pyx_v_i = __pyx_t_4;
    __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_cur_scope->__pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_axis)) { __Pyx_RaiseClosureNameError("axis"); __PYX_ERR(1, 249, __pyx_L1_error) }
    __pyx_t_6 = (__Pyx_PySequence_ContainsTF(__pyx_t_5, __pyx_cur_scope->__pyx_outer_scope->__pyx_v_axis, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(1, 249, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (__pyx_t_6) {
      __Pyx_INCREF(__pyx_mstate_global->__pyx_int_1);
      __pyx_t_1 = __pyx_mstate_global->__pyx_int_1;
    } else {
      if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_a)) { __Pyx_RaiseClosureNameError("a"); __PYX_ERR(1, 249, __pyx_L1_error) }
      __pyx_t_5 = ((PyObject *)__pyx_cur_scope->__pyx_outer_scope->__pyx_v_a);
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_7 = __Pyx_PyLong_From_npy_intp((__pyx_f_5numpy_7ndarray_5shape_shape(((PyArrayObject *)__pyx_t_5))[__pyx_cur_scope->__pyx_v_i])); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 249, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_1 = __pyx_t_7;
      __pyx_t_7 = 0;
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    __pyx_cur_scope->__pyx_t_0 = __pyx_t_2;
    __pyx_cur_scope->__pyx_t_1 = __pyx_t_3;
    __pyx_cur_scope->__pyx_t_2 = __pyx_t_4;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L6_resume_from_yield:;
    __pyx_t_2 = __pyx_cur_scope->__pyx_t_0;
    __pyx_t_3 = __pyx_cur_scope->__pyx_t_1;
    __pyx_t_4 = __pyx_cur_scope->__pyx_t_2;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 249, __pyx_L1_error)
  }
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9pyscipopt_4scip_9_core_sum_8generator11(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "src/pyscipopt/matrix.pxi":251
 *         tuple(1 if i in axis else a.shape[i] for i in range(a.ndim))
 *         if keepdims
 *         else tuple(a.shape[i] for i in keep_axes)             # <<<<<<<<<<<<<<
 *     )
 *     return np.apply_along_axis(
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_9_core_sum_6genexpr(PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_13_genexpr(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 251, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *) __pyx_self;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9pyscipopt_4scip_9_core_sum_8generator11, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[14]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_core_sum_locals_genexpr, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip); if (unlikely(!gen)) __PYX_ERR(1, 251, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip._core_sum.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_9pyscipopt_4scip_9_core_sum_8generator11(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    case 1: goto __pyx_L6_resume_from_yield;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(__pyx_sent_value != Py_None)) {
    if (unlikely(__pyx_sent_value)) PyErr_SetString(PyExc_TypeError, "can't send non-None value to a just-started generator");
    __PYX_ERR(1, 251, __pyx_L1_error)
  }
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(1, 251, __pyx_L1_error) }
  __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
  __pyx_t_2 = 0;
  for (;;) {
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 251, __pyx_L1_error)
      #endif
      if (__pyx_t_2 >= __pyx_temp) break;
    }
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
    #else
    __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
    #endif
    ++__pyx_t_2;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 251, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_i);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_i, __pyx_t_3);
    __Pyx_GIVEREF(__pyx_t_3);
    __pyx_t_3 = 0;
    if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_a)) { __Pyx_RaiseClosureNameError("a"); __PYX_ERR(1, 251, __pyx_L1_error) }
    __pyx_t_3 = ((PyObject *)__pyx_cur_scope->__pyx_outer_scope->__pyx_v_a);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyIndex_AsSsize_t(__pyx_cur_scope->__pyx_v_i); if (unlikely((__pyx_t_4 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 251, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyLong_From_npy_intp((__pyx_f_5numpy_7ndarray_5shape_shape(((PyArrayObject *)__pyx_t_3))[__pyx_t_4])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 251, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    __Pyx_XGIVEREF(__pyx_t_1);
    __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
    __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
    __Pyx_XGIVEREF(__pyx_r);
    __Pyx_RefNannyFinishContext();
    __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
    /* return from generator, yielding value */
    __pyx_generator->resume_label = 1;
    return __pyx_r;
    __pyx_L6_resume_from_yield:;
    __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
    __pyx_cur_scope->__pyx_t_0 = 0;
    __Pyx_XGOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
    if (unlikely(!__pyx_sent_value)) __PYX_ERR(1, 251, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/matrix.pxi":199
 * 
 * 
 * def _core_sum(             # <<<<<<<<<<<<<<
 *     cnp.ndarray a,
 *     axis: Optional[Union[int, Tuple[int, ...]]] = None,
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_30_core_sum(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_a, PyObject *__pyx_v_axis, int __pyx_v_keepdims, CYTHON_UNUSED PyObject *__pyx_v_kwargs) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *__pyx_cur_scope;
  PyObject *__pyx_v_res = NULL;
  PyObject *__pyx_v_keep_axes = NULL;
  PyObject *__pyx_v_shape = NULL;
  PyObject *__pyx_gb_9pyscipopt_4scip_9_core_sum_2generator9 = 0;
  PyObject *__pyx_gb_9pyscipopt_4scip_9_core_sum_5generator10 = 0;
  PyObject *__pyx_gb_9pyscipopt_4scip_9_core_sum_8generator11 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  int __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_core_sum", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_10__core_sum(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(1, 199, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_a = __pyx_v_a;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_a);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_a);
  __pyx_cur_scope->__pyx_v_axis = __pyx_v_axis;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_axis);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_axis);

  /* "src/pyscipopt/matrix.pxi":236
 * 
 *     """
 *     axis: Tuple[int, ...] = normalize_axis_tuple(             # <<<<<<<<<<<<<<
 *         range(a.ndim) if axis is None else axis, a.ndim
 *     )
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_normalize_axis_tuple); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "src/pyscipopt/matrix.pxi":237
 *     """
 *     axis: Tuple[int, ...] = normalize_axis_tuple(
 *         range(a.ndim) if axis is None else axis, a.ndim             # <<<<<<<<<<<<<<
 *     )
 *     if len(axis) == a.ndim:
*/
  __pyx_t_5 = (__pyx_cur_scope->__pyx_v_axis == Py_None);
  if (__pyx_t_5) {
    __pyx_t_7 = NULL;
    __pyx_t_8 = ((PyObject *)__pyx_cur_scope->__pyx_v_a);
    __Pyx_INCREF(__pyx_t_8);
    __pyx_t_9 = __Pyx_PyLong_From_int(__pyx_f_5numpy_7ndarray_4ndim_ndim(((PyArrayObject *)__pyx_t_8))); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 237, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_10 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_9};
      __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)(&PyRange_Type), __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 237, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_4 = __pyx_t_6;
    __pyx_t_6 = 0;
  } else {
    __Pyx_INCREF(__pyx_cur_scope->__pyx_v_axis);
    __pyx_t_4 = __pyx_cur_scope->__pyx_v_axis;
  }
  __pyx_t_6 = ((PyObject *)__pyx_cur_scope->__pyx_v_a);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_9 = __Pyx_PyLong_From_int(__pyx_f_5numpy_7ndarray_4ndim_ndim(((PyArrayObject *)__pyx_t_6))); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_10 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_10 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_4, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_10, (3-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 236, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_axis);
  __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_axis, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/matrix.pxi":239
 *         range(a.ndim) if axis is None else axis, a.ndim
 *     )
 *     if len(axis) == a.ndim:             # <<<<<<<<<<<<<<
 *         res = quicksum(a.flat)
 *         return (
*/
  __pyx_t_1 = __pyx_cur_scope->__pyx_v_axis;
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_11 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(1, 239, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = ((PyObject *)__pyx_cur_scope->__pyx_v_a);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = (__pyx_t_11 == __pyx_f_5numpy_7ndarray_4ndim_ndim(((PyArrayObject *)__pyx_t_1)));
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_5) {

    /* "src/pyscipopt/matrix.pxi":240
 *     )
 *     if len(axis) == a.ndim:
 *         res = quicksum(a.flat)             # <<<<<<<<<<<<<<
 *         return (
 *             np.array([res], dtype=object).reshape([1] * a.ndim)
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_quicksum); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_cur_scope->__pyx_v_a), __pyx_mstate_global->__pyx_n_u_flat); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_10 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_9))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
      __pyx_t_10 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 240, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_res = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/matrix.pxi":241
 *     if len(axis) == a.ndim:
 *         res = quicksum(a.flat)
 *         return (             # <<<<<<<<<<<<<<
 *             np.array([res], dtype=object).reshape([1] * a.ndim)
 *             if keepdims
*/
    __Pyx_XDECREF(__pyx_r);

    /* "src/pyscipopt/matrix.pxi":243
 *         return (
 *             np.array([res], dtype=object).reshape([1] * a.ndim)
 *             if keepdims             # <<<<<<<<<<<<<<
 *             else res
 *         )
*/
    if (__pyx_v_keepdims) {

      /* "src/pyscipopt/matrix.pxi":242
 *         res = quicksum(a.flat)
 *         return (
 *             np.array([res], dtype=object).reshape([1] * a.ndim)             # <<<<<<<<<<<<<<
 *             if keepdims
 *             else res
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 242, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_array); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 242, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 242, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_INCREF(__pyx_v_res);
      __Pyx_GIVEREF(__pyx_v_res);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_6, 0, __pyx_v_res) != (0)) __PYX_ERR(1, 242, __pyx_L1_error);
      __pyx_t_10 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_7))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
        __pyx_t_10 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_8 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 242, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
        if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_8, __pyx_callargs+2, 0) < (0)) __PYX_ERR(1, 242, __pyx_L1_error)
        __pyx_t_3 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_8);
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 242, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __pyx_t_4 = __pyx_t_3;
      __Pyx_INCREF(__pyx_t_4);
      __pyx_t_7 = ((PyObject *)__pyx_cur_scope->__pyx_v_a);
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_12 = __pyx_f_5numpy_7ndarray_4ndim_ndim(((PyArrayObject *)__pyx_t_7));
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = PyList_New(1 * ((__pyx_t_12<0) ? 0:__pyx_t_12)); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 242, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      { Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < __pyx_t_12; __pyx_temp++) {
          __Pyx_INCREF(__pyx_mstate_global->__pyx_int_1);
          __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_1);
          if (__Pyx_PyList_SET_ITEM(__pyx_t_7, __pyx_temp, __pyx_mstate_global->__pyx_int_1) != (0)) __PYX_ERR(1, 242, __pyx_L1_error);
        }
      }
      __pyx_t_10 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_7};
        __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_reshape, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 242, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_9);
      }
      __pyx_t_1 = __pyx_t_9;
      __pyx_t_9 = 0;
    } else {

      /* "src/pyscipopt/matrix.pxi":244
 *             np.array([res], dtype=object).reshape([1] * a.ndim)
 *             if keepdims
 *             else res             # <<<<<<<<<<<<<<
 *         )
 * 
*/
      __Pyx_INCREF(__pyx_v_res);
      __pyx_t_1 = __pyx_v_res;
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/matrix.pxi":239
 *         range(a.ndim) if axis is None else axis, a.ndim
 *     )
 *     if len(axis) == a.ndim:             # <<<<<<<<<<<<<<
 *         res = quicksum(a.flat)
 *         return (
*/
  }

  /* "src/pyscipopt/matrix.pxi":247
 *         )
 * 
 *     keep_axes = tuple(i for i in range(a.ndim) if i not in axis)             # <<<<<<<<<<<<<<
 *     shape = (
 *         tuple(1 if i in axis else a.shape[i] for i in range(a.ndim))
*/
  __pyx_t_1 = __pyx_pf_9pyscipopt_4scip_9_core_sum_genexpr(((PyObject*)__pyx_cur_scope), __pyx_cur_scope->__pyx_v_a); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = __Pyx_PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_keep_axes = ((PyObject*)__pyx_t_9);
  __pyx_t_9 = 0;

  /* "src/pyscipopt/matrix.pxi":250
 *     shape = (
 *         tuple(1 if i in axis else a.shape[i] for i in range(a.ndim))
 *         if keepdims             # <<<<<<<<<<<<<<
 *         else tuple(a.shape[i] for i in keep_axes)
 *     )
*/
  if (__pyx_v_keepdims) {

    /* "src/pyscipopt/matrix.pxi":249
 *     keep_axes = tuple(i for i in range(a.ndim) if i not in axis)
 *     shape = (
 *         tuple(1 if i in axis else a.shape[i] for i in range(a.ndim))             # <<<<<<<<<<<<<<
 *         if keepdims
 *         else tuple(a.shape[i] for i in keep_axes)
*/
    __pyx_t_1 = __pyx_pf_9pyscipopt_4scip_9_core_sum_3genexpr(((PyObject*)__pyx_cur_scope), __pyx_cur_scope->__pyx_v_a); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PySequence_Tuple(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 249, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_9 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {

    /* "src/pyscipopt/matrix.pxi":251
 *         tuple(1 if i in axis else a.shape[i] for i in range(a.ndim))
 *         if keepdims
 *         else tuple(a.shape[i] for i in keep_axes)             # <<<<<<<<<<<<<<
 *     )
 *     return np.apply_along_axis(
*/
    __pyx_t_3 = __pyx_pf_9pyscipopt_4scip_9_core_sum_6genexpr(((PyObject*)__pyx_cur_scope), __pyx_v_keep_axes); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 251, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __Pyx_PySequence_Tuple(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 251, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_9 = __pyx_t_1;
    __pyx_t_1 = 0;
  }
  __pyx_v_shape = ((PyObject*)__pyx_t_9);
  __pyx_t_9 = 0;

  /* "src/pyscipopt/matrix.pxi":253
 *         else tuple(a.shape[i] for i in keep_axes)
 *     )
 *     return np.apply_along_axis(             # <<<<<<<<<<<<<<
 *         quicksum, -1, a.transpose(keep_axes + axis).reshape(shape + (-1,))
 *     )
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_apply_along_axis); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/matrix.pxi":254
 *     )
 *     return np.apply_along_axis(
 *         quicksum, -1, a.transpose(keep_axes + axis).reshape(shape + (-1,))             # <<<<<<<<<<<<<<
 *     )
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_quicksum); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = ((PyObject *)__pyx_cur_scope->__pyx_v_a);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_13 = PyNumber_Add(__pyx_v_keep_axes, __pyx_cur_scope->__pyx_v_axis); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_13};
    __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_transpose, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_8 = __pyx_t_6;
  __Pyx_INCREF(__pyx_t_8);
  __pyx_t_13 = PyNumber_Add(__pyx_v_shape, __pyx_mstate_global->__pyx_tuple[0]); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_10 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_13};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_reshape, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_10 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_10 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_1, __pyx_t_3, __pyx_mstate_global->__pyx_int_neg_1, __pyx_t_4};
    __pyx_t_9 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_10, (4-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_9);
  }
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/matrix.pxi":199
 * 
 * 
 * def _core_sum(             # <<<<<<<<<<<<<<
 *     cnp.ndarray a,
 *     axis: Optional[Union[int, Tuple[int, ...]]] = None,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("pyscipopt.scip._core_sum", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_res);
  __Pyx_XDECREF(__pyx_v_keep_axes);
  __Pyx_XDECREF(__pyx_v_shape);
  __Pyx_XDECREF(__pyx_gb_9pyscipopt_4scip_9_core_sum_2generator9);
  __Pyx_XDECREF(__pyx_gb_9pyscipopt_4scip_9_core_sum_5generator10);
  __Pyx_XDECREF(__pyx_gb_9pyscipopt_4scip_9_core_sum_8generator11);
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14PY_SCIP_RESULT_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14PY_SCIP_RESULT_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14PY_SCIP_RESULT_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_14PY_SCIP_RESULT_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14PY_SCIP_RESULT___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_RESULT *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14PY_SCIP_RESULT___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_RESULT *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_RESULT, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_RESULT, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_RESULT, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_RESULT, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_RESULT); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_RESULT, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_RESULT, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_RESULT, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_RESULT__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_RESULT); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_RESULT.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_RESULT, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_RESULT__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14PY_SCIP_RESULT_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14PY_SCIP_RESULT_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14PY_SCIP_RESULT_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_14PY_SCIP_RESULT_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_RESULT.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14PY_SCIP_RESULT_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_RESULT *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14PY_SCIP_RESULT_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_RESULT *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_RESULT, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_RESULT__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_RESULT__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_RESULT, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_RESULT__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_RESULT.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMSETTING *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMSETTING *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_PARAMSETTING, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_PARAMSETTING, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_PARAMSETTING, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PARAMSETTING, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PARAMSETT); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_PARAMSETTING, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_PARAMSETTING, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PARAMSETTING, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PARAMSETT); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_PARAMSETTING.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PARAMSETTING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_PARAMSETTING.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMSETTING *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMSETTING *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_PARAMSETTING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PARAMSETTING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_PARAMSETTING.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_15PY_SCIP_LPPARAM_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_15PY_SCIP_LPPARAM_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_15PY_SCIP_LPPARAM_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_15PY_SCIP_LPPARAM_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_15PY_SCIP_LPPARAM___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPPARAM *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_15PY_SCIP_LPPARAM___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPPARAM *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_LPPARAM, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_LPPARAM, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_LPPARAM, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LPPARAM, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_LPPARAM); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_LPPARAM, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_LPPARAM, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LPPARAM, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_LPPARAM__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_LPPARAM); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_LPPARAM.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LPPARAM, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_LPPARAM__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_15PY_SCIP_LPPARAM_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_15PY_SCIP_LPPARAM_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_15PY_SCIP_LPPARAM_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_15PY_SCIP_LPPARAM_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_LPPARAM.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_15PY_SCIP_LPPARAM_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPPARAM *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_15PY_SCIP_LPPARAM_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPPARAM *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_LPPARAM, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_LPPARAM__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_LPPARAM__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LPPARAM, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_LPPARAM__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_LPPARAM.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_PARAMEMPHASIS, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_PARAMEMPHASIS, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_PARAMEMPHASIS, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PARAMEMPHASIS, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PARAMEMPH); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_PARAMEMPHASIS, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_PARAMEMPHASIS, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PARAMEMPHASIS, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PARAMEMPH); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_PARAMEMPHASIS.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PARAMEMPHASIS, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_PARAMEMPHASIS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_PARAMEMPHASIS, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PARAMEMPHASIS, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_PARAMEMPHASIS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14PY_SCIP_STATUS_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14PY_SCIP_STATUS_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14PY_SCIP_STATUS_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_14PY_SCIP_STATUS_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14PY_SCIP_STATUS___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STATUS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14PY_SCIP_STATUS___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STATUS *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_STATUS, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_STATUS, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_STATUS, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_STATUS, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_STATUS); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_STATUS, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_STATUS, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_STATUS, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_STATUS__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_STATUS); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_STATUS.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_STATUS, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_STATUS__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14PY_SCIP_STATUS_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14PY_SCIP_STATUS_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14PY_SCIP_STATUS_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_14PY_SCIP_STATUS_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_STATUS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14PY_SCIP_STATUS_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STATUS *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14PY_SCIP_STATUS_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STATUS *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_STATUS, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_STATUS__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_STATUS__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_STATUS, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_STATUS__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_STATUS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_13PY_SCIP_STAGE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_13PY_SCIP_STAGE_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_13PY_SCIP_STAGE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_13PY_SCIP_STAGE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_13PY_SCIP_STAGE___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STAGE *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_13PY_SCIP_STAGE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STAGE *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_STAGE, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_STAGE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_STAGE, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_STAGE, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_STAGE); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_STAGE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_STAGE, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_STAGE, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_STAGE__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_STAGE); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_STAGE.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_STAGE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_STAGE__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_13PY_SCIP_STAGE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_13PY_SCIP_STAGE_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_13PY_SCIP_STAGE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_13PY_SCIP_STAGE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_STAGE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_13PY_SCIP_STAGE_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STAGE *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_13PY_SCIP_STAGE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STAGE *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_STAGE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_STAGE__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_STAGE__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_STAGE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_STAGE__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_STAGE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16PY_SCIP_NODETYPE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16PY_SCIP_NODETYPE_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16PY_SCIP_NODETYPE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_16PY_SCIP_NODETYPE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16PY_SCIP_NODETYPE___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_NODETYPE *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16PY_SCIP_NODETYPE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_NODETYPE *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_NODETYPE, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_NODETYPE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_NODETYPE, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_NODETYPE, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_NODETYPE); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_NODETYPE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_NODETYPE, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_NODETYPE, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_NODETYPE__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_NODETYPE); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_NODETYPE.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_NODETYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_NODETYPE__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16PY_SCIP_NODETYPE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16PY_SCIP_NODETYPE_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16PY_SCIP_NODETYPE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_16PY_SCIP_NODETYPE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_NODETYPE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16PY_SCIP_NODETYPE_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_NODETYPE *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16PY_SCIP_NODETYPE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_NODETYPE *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_NODETYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_NODETYPE__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_NODETYPE__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_NODETYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_NODETYPE__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_NODETYPE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_18PY_SCIP_PROPTIMING___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PROPTIMING *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_18PY_SCIP_PROPTIMING___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PROPTIMING *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_PROPTIMING, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_PROPTIMING, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_PROPTIMING, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PROPTIMING, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PROPTIMIN); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_PROPTIMING, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_PROPTIMING, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PROPTIMING, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PROPTIMIN); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_PROPTIMING.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PROPTIMING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_PROPTIMING.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PROPTIMING *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PROPTIMING *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_PROPTIMING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PROPTIMING__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PROPTIMING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_PROPTIMING.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_PRESOLTIMING, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_PRESOLTIMING, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_PRESOLTIMING, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PRESOLTIMING, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PRESOLTIM); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_PRESOLTIMING, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_PRESOLTIMING, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PRESOLTIMING, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PRESOLTIM); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_PRESOLTIMING.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PRESOLTIMING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_PRESOLTIMING.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_PRESOLTIMING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PRESOLTIMING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_PRESOLTIMING.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_18PY_SCIP_HEURTIMING___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_HEURTIMING *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_18PY_SCIP_HEURTIMING___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_HEURTIMING *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_HEURTIMING, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_HEURTIMING, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_HEURTIMING, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_HEURTIMING, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_HEURTIMIN); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_HEURTIMING, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_HEURTIMING, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_HEURTIMING, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_HEURTIMIN); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_HEURTIMING.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_HEURTIMING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_HEURTIMING.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_HEURTIMING *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_HEURTIMING *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_HEURTIMING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_HEURTIMING__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_HEURTIMING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_HEURTIMING.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_EVENTTYPE *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_EVENTTYPE *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_EVENTTYPE, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_EVENTTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_EVENTTYPE, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_EVENTTYPE, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_EVENTTYPE); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_EVENTTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_EVENTTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_EVENTTYPE, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_EVENTTYPE); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_EVENTTYPE.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_EVENTTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_EVENTTYPE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_EVENTTYPE *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_EVENTTYPE *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_EVENTTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_EVENTTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_EVENTTYPE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LOCKTYPE *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LOCKTYPE *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_LOCKTYPE, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_LOCKTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_LOCKTYPE, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LOCKTYPE, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_LOCKTYPE); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_LOCKTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_LOCKTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LOCKTYPE, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_LOCKTYPE); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_LOCKTYPE.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LOCKTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_LOCKTYPE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LOCKTYPE *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LOCKTYPE *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_LOCKTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LOCKTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_LOCKTYPE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_IMPLINTTYPE, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_IMPLINTTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_IMPLINTTYPE, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_IMPLINTTYPE, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_IMPLINTTY); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_IMPLINTTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_IMPLINTTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_IMPLINTTYPE, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_IMPLINTTY); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_IMPLINTTYPE.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_IMPLINTTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_IMPLINTTYPE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_IMPLINTTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_IMPLINTTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_IMPLINTTYPE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_LPSOLSTAT, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_LPSOLSTAT, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_LPSOLSTAT, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LPSOLSTAT, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_LPSOLSTAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_LPSOLSTAT, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_LPSOLSTAT, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LPSOLSTAT, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_LPSOLSTAT); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_LPSOLSTAT.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LPSOLSTAT, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_LPSOLSTAT.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_LPSOLSTAT, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LPSOLSTAT, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_LPSOLSTAT.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BRANCHDIR *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BRANCHDIR *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_BRANCHDIR, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_BRANCHDIR, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_BRANCHDIR, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_BRANCHDIR, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_BRANCHDIR); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_BRANCHDIR, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_BRANCHDIR, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_BRANCHDIR, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_BRANCHDIR); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_BRANCHDIR.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_BRANCHDIR, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_BRANCHDIR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BRANCHDIR *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BRANCHDIR *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_BRANCHDIR, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_BRANCHDIR, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_BRANCHDIR.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_BENDERSEN); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_BENDERSEN); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_BENDERSENFOTYPE.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_BENDERSENFOTYPE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_BENDERSENFOTYPE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_ROWORIGINTYPE, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_ROWORIGINTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_ROWORIGINTYPE, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_ROWORIGINTYPE, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_ROWORIGIN); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_ROWORIGINTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_ROWORIGINTYPE, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_ROWORIGINTYPE, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_ROWORIGIN); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_ROWORIGINTYPE.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_ROWORIGINTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_ROWORIGINTYPE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_ROWORIGINTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_ROWORIGINTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_ROWORIGINTYPE.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_SOLORIGIN *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN___reduce_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_SOLORIGIN *__pyx_v_self) {
  PyObject *__pyx_v_state = 0;
  PyObject *__pyx_v__dict = 0;
  int __pyx_v_use_setstate;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":5
 *     cdef object _dict
 *     cdef bint use_setstate
 *     state = ()             # <<<<<<<<<<<<<<
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
  __pyx_v_state = __pyx_mstate_global->__pyx_empty_tuple;

  /* "(tree fragment)":6
 *     cdef bint use_setstate
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)             # <<<<<<<<<<<<<<
 *     if _dict is not None and _dict:
 *         state += (_dict,)
*/
  __pyx_t_1 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v__dict = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
  __pyx_t_3 = (__pyx_v__dict != Py_None);
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__dict); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(5, 7, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_2) {

    /* "(tree fragment)":8
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:
 *         state += (_dict,)             # <<<<<<<<<<<<<<
 *         use_setstate = True
 *     else:
*/
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_v__dict);
    __Pyx_GIVEREF(__pyx_v__dict);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(5, 8, __pyx_L1_error);
    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 8, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_4));
    __pyx_t_4 = 0;

    /* "(tree fragment)":9
 *     if _dict is not None and _dict:
 *         state += (_dict,)
 *         use_setstate = True             # <<<<<<<<<<<<<<
 *     else:
 *         use_setstate = False
*/
    __pyx_v_use_setstate = 1;

    /* "(tree fragment)":7
 *     state = ()
 *     _dict = getattr(self, '__dict__', None)
 *     if _dict is not None and _dict:             # <<<<<<<<<<<<<<
 *         state += (_dict,)
 *         use_setstate = True
*/
    goto __pyx_L3;
  }

  /* "(tree fragment)":11
 *         use_setstate = True
 *     else:
 *         use_setstate = False             # <<<<<<<<<<<<<<
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_SOLORIGIN, (type(self), 0xe3b0c44, None), state
*/
  /*else*/ {
    __pyx_v_use_setstate = 0;
  }
  __pyx_L3:;

  /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_SOLORIGIN, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  if (__pyx_v_use_setstate) {

    /* "(tree fragment)":13
 *         use_setstate = False
 *     if use_setstate:
 *         return __pyx_unpickle_PY_SCIP_SOLORIGIN, (type(self), 0xe3b0c44, None), state             # <<<<<<<<<<<<<<
 *     else:
 *         return __pyx_unpickle_PY_SCIP_SOLORIGIN, (type(self), 0xe3b0c44, state)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_SOLORIGIN); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 13, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_4);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 13, __pyx_L1_error);
    __pyx_t_4 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_5;
    __pyx_t_5 = 0;
    goto __pyx_L0;

    /* "(tree fragment)":12
 *     else:
 *         use_setstate = False
 *     if use_setstate:             # <<<<<<<<<<<<<<
 *         return __pyx_unpickle_PY_SCIP_SOLORIGIN, (type(self), 0xe3b0c44, None), state
 *     else:
*/
  }

  /* "(tree fragment)":15
 *         return __pyx_unpickle_PY_SCIP_SOLORIGIN, (type(self), 0xe3b0c44, None), state
 *     else:
 *         return __pyx_unpickle_PY_SCIP_SOLORIGIN, (type(self), 0xe3b0c44, state)             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(self, __pyx_state)
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_SOLORIGIN); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_238750788);
    __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_238750788);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_238750788) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_INCREF(__pyx_v_state);
    __Pyx_GIVEREF(__pyx_v_state);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 15, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_5);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(5, 15, __pyx_L1_error);
    __pyx_t_5 = 0;
    __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_SOLORIGIN.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_state);
  __Pyx_XDECREF(__pyx_v__dict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_SOLORIGIN, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(self, __pyx_state)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 16, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 16, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 16, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 16, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 16, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_SOLORIGIN.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_SOLORIGIN *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_2__setstate_cython__(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_SOLORIGIN *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":17
 *         return __pyx_unpickle_PY_SCIP_SOLORIGIN, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):
 *     __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(self, __pyx_state)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __pyx_v___pyx_state;
  __Pyx_INCREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 17, __pyx_L1_error)
  if (unlikely(__pyx_t_1 == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
    __PYX_ERR(5, 17, __pyx_L1_error)
  }
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_SOLORIGIN, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(self, __pyx_state)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_SOLORIGIN.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":315
 *     UNKNOWN   = SCIP_SOLORIGIN_UNKNOWN
 * 
 * def PY_SCIP_CALL(SCIP_RETCODE rc):             # <<<<<<<<<<<<<<
 *     if rc == SCIP_OKAY:
 *         pass
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_33PY_SCIP_CALL(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_33PY_SCIP_CALL = {"PY_SCIP_CALL", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_33PY_SCIP_CALL, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_33PY_SCIP_CALL(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  SCIP_RETCODE __pyx_v_rc;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("PY_SCIP_CALL (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_rc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 315, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 315, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "PY_SCIP_CALL", 0) < (0)) __PYX_ERR(2, 315, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("PY_SCIP_CALL", 1, 1, 1, i); __PYX_ERR(2, 315, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 315, __pyx_L3_error)
    }
    __pyx_v_rc = __Pyx_PyLong_As_SCIP_RETCODE(values[0]); if (unlikely((__pyx_v_rc == ((SCIP_RETCODE)-1)) && PyErr_Occurred())) __PYX_ERR(2, 315, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("PY_SCIP_CALL", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 315, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_CALL", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_32PY_SCIP_CALL(__pyx_self, __pyx_v_rc);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_32PY_SCIP_CALL(CYTHON_UNUSED PyObject *__pyx_self, SCIP_RETCODE __pyx_v_rc) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("PY_SCIP_CALL", 0);

  /* "src/pyscipopt/scip.pxi":316
 * 
 * def PY_SCIP_CALL(SCIP_RETCODE rc):
 *     if rc == SCIP_OKAY:             # <<<<<<<<<<<<<<
 *         pass
 *     elif rc == SCIP_ERROR:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_OKAY);
  if (likely(__pyx_t_1)) {
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":318
 *     if rc == SCIP_OKAY:
 *         pass
 *     elif rc == SCIP_ERROR:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: unspecified error!')
 *     elif rc == SCIP_NOMEMORY:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_ERROR);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":319
 *         pass
 *     elif rc == SCIP_ERROR:
 *         raise Exception('SCIP: unspecified error!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_NOMEMORY:
 *         raise MemoryError('SCIP: insufficient memory error!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_unspecified_error};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 319, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 319, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":318
 *     if rc == SCIP_OKAY:
 *         pass
 *     elif rc == SCIP_ERROR:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: unspecified error!')
 *     elif rc == SCIP_NOMEMORY:
*/
  }

  /* "src/pyscipopt/scip.pxi":320
 *     elif rc == SCIP_ERROR:
 *         raise Exception('SCIP: unspecified error!')
 *     elif rc == SCIP_NOMEMORY:             # <<<<<<<<<<<<<<
 *         raise MemoryError('SCIP: insufficient memory error!')
 *     elif rc == SCIP_READERROR:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_NOMEMORY);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":321
 *         raise Exception('SCIP: unspecified error!')
 *     elif rc == SCIP_NOMEMORY:
 *         raise MemoryError('SCIP: insufficient memory error!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_READERROR:
 *         raise IOError('SCIP: read error!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_insufficient_memory_error};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_MemoryError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 321, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 321, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":320
 *     elif rc == SCIP_ERROR:
 *         raise Exception('SCIP: unspecified error!')
 *     elif rc == SCIP_NOMEMORY:             # <<<<<<<<<<<<<<
 *         raise MemoryError('SCIP: insufficient memory error!')
 *     elif rc == SCIP_READERROR:
*/
  }

  /* "src/pyscipopt/scip.pxi":322
 *     elif rc == SCIP_NOMEMORY:
 *         raise MemoryError('SCIP: insufficient memory error!')
 *     elif rc == SCIP_READERROR:             # <<<<<<<<<<<<<<
 *         raise IOError('SCIP: read error!')
 *     elif rc == SCIP_WRITEERROR:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_READERROR);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":323
 *         raise MemoryError('SCIP: insufficient memory error!')
 *     elif rc == SCIP_READERROR:
 *         raise IOError('SCIP: read error!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_WRITEERROR:
 *         raise IOError('SCIP: write error!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_read_error};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_IOError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 323, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 323, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":322
 *     elif rc == SCIP_NOMEMORY:
 *         raise MemoryError('SCIP: insufficient memory error!')
 *     elif rc == SCIP_READERROR:             # <<<<<<<<<<<<<<
 *         raise IOError('SCIP: read error!')
 *     elif rc == SCIP_WRITEERROR:
*/
  }

  /* "src/pyscipopt/scip.pxi":324
 *     elif rc == SCIP_READERROR:
 *         raise IOError('SCIP: read error!')
 *     elif rc == SCIP_WRITEERROR:             # <<<<<<<<<<<<<<
 *         raise IOError('SCIP: write error!')
 *     elif rc == SCIP_NOFILE:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_WRITEERROR);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":325
 *         raise IOError('SCIP: read error!')
 *     elif rc == SCIP_WRITEERROR:
 *         raise IOError('SCIP: write error!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_NOFILE:
 *         raise IOError('SCIP: file not found error!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_write_error};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_IOError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 325, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":324
 *     elif rc == SCIP_READERROR:
 *         raise IOError('SCIP: read error!')
 *     elif rc == SCIP_WRITEERROR:             # <<<<<<<<<<<<<<
 *         raise IOError('SCIP: write error!')
 *     elif rc == SCIP_NOFILE:
*/
  }

  /* "src/pyscipopt/scip.pxi":326
 *     elif rc == SCIP_WRITEERROR:
 *         raise IOError('SCIP: write error!')
 *     elif rc == SCIP_NOFILE:             # <<<<<<<<<<<<<<
 *         raise IOError('SCIP: file not found error!')
 *     elif rc == SCIP_FILECREATEERROR:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_NOFILE);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":327
 *         raise IOError('SCIP: write error!')
 *     elif rc == SCIP_NOFILE:
 *         raise IOError('SCIP: file not found error!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_FILECREATEERROR:
 *         raise IOError('SCIP: cannot create file!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_file_not_found_error};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_IOError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 327, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 327, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":326
 *     elif rc == SCIP_WRITEERROR:
 *         raise IOError('SCIP: write error!')
 *     elif rc == SCIP_NOFILE:             # <<<<<<<<<<<<<<
 *         raise IOError('SCIP: file not found error!')
 *     elif rc == SCIP_FILECREATEERROR:
*/
  }

  /* "src/pyscipopt/scip.pxi":328
 *     elif rc == SCIP_NOFILE:
 *         raise IOError('SCIP: file not found error!')
 *     elif rc == SCIP_FILECREATEERROR:             # <<<<<<<<<<<<<<
 *         raise IOError('SCIP: cannot create file!')
 *     elif rc == SCIP_LPERROR:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_FILECREATEERROR);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":329
 *         raise IOError('SCIP: file not found error!')
 *     elif rc == SCIP_FILECREATEERROR:
 *         raise IOError('SCIP: cannot create file!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_LPERROR:
 *         raise Exception('SCIP: error in LP solver!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_cannot_create_file};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_IOError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 329, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 329, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":328
 *     elif rc == SCIP_NOFILE:
 *         raise IOError('SCIP: file not found error!')
 *     elif rc == SCIP_FILECREATEERROR:             # <<<<<<<<<<<<<<
 *         raise IOError('SCIP: cannot create file!')
 *     elif rc == SCIP_LPERROR:
*/
  }

  /* "src/pyscipopt/scip.pxi":330
 *     elif rc == SCIP_FILECREATEERROR:
 *         raise IOError('SCIP: cannot create file!')
 *     elif rc == SCIP_LPERROR:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: error in LP solver!')
 *     elif rc == SCIP_NOPROBLEM:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_LPERROR);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":331
 *         raise IOError('SCIP: cannot create file!')
 *     elif rc == SCIP_LPERROR:
 *         raise Exception('SCIP: error in LP solver!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_NOPROBLEM:
 *         raise Exception('SCIP: no problem exists!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_error_in_LP_solver};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 331, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 331, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":330
 *     elif rc == SCIP_FILECREATEERROR:
 *         raise IOError('SCIP: cannot create file!')
 *     elif rc == SCIP_LPERROR:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: error in LP solver!')
 *     elif rc == SCIP_NOPROBLEM:
*/
  }

  /* "src/pyscipopt/scip.pxi":332
 *     elif rc == SCIP_LPERROR:
 *         raise Exception('SCIP: error in LP solver!')
 *     elif rc == SCIP_NOPROBLEM:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: no problem exists!')
 *     elif rc == SCIP_INVALIDCALL:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_NOPROBLEM);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":333
 *         raise Exception('SCIP: error in LP solver!')
 *     elif rc == SCIP_NOPROBLEM:
 *         raise Exception('SCIP: no problem exists!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_INVALIDCALL:
 *         raise Exception('SCIP: method cannot be called at this time'
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_no_problem_exists};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 333, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 333, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":332
 *     elif rc == SCIP_LPERROR:
 *         raise Exception('SCIP: error in LP solver!')
 *     elif rc == SCIP_NOPROBLEM:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: no problem exists!')
 *     elif rc == SCIP_INVALIDCALL:
*/
  }

  /* "src/pyscipopt/scip.pxi":334
 *     elif rc == SCIP_NOPROBLEM:
 *         raise Exception('SCIP: no problem exists!')
 *     elif rc == SCIP_INVALIDCALL:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: method cannot be called at this time'
 *                             + ' in solution process!')
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_INVALIDCALL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":335
 *         raise Exception('SCIP: no problem exists!')
 *     elif rc == SCIP_INVALIDCALL:
 *         raise Exception('SCIP: method cannot be called at this time'             # <<<<<<<<<<<<<<
 *                             + ' in solution process!')
 *     elif rc == SCIP_INVALIDDATA:
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_method_cannot_be_called_at};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 335, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 335, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":334
 *     elif rc == SCIP_NOPROBLEM:
 *         raise Exception('SCIP: no problem exists!')
 *     elif rc == SCIP_INVALIDCALL:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: method cannot be called at this time'
 *                             + ' in solution process!')
*/
  }

  /* "src/pyscipopt/scip.pxi":337
 *         raise Exception('SCIP: method cannot be called at this time'
 *                             + ' in solution process!')
 *     elif rc == SCIP_INVALIDDATA:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: error in input data!')
 *     elif rc == SCIP_INVALIDRESULT:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_INVALIDDATA);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":338
 *                             + ' in solution process!')
 *     elif rc == SCIP_INVALIDDATA:
 *         raise Exception('SCIP: error in input data!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_INVALIDRESULT:
 *         raise Exception('SCIP: method returned an invalid result code!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_error_in_input_data};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 338, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 338, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":337
 *         raise Exception('SCIP: method cannot be called at this time'
 *                             + ' in solution process!')
 *     elif rc == SCIP_INVALIDDATA:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: error in input data!')
 *     elif rc == SCIP_INVALIDRESULT:
*/
  }

  /* "src/pyscipopt/scip.pxi":339
 *     elif rc == SCIP_INVALIDDATA:
 *         raise Exception('SCIP: error in input data!')
 *     elif rc == SCIP_INVALIDRESULT:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: method returned an invalid result code!')
 *     elif rc == SCIP_PLUGINNOTFOUND:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_INVALIDRESULT);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":340
 *         raise Exception('SCIP: error in input data!')
 *     elif rc == SCIP_INVALIDRESULT:
 *         raise Exception('SCIP: method returned an invalid result code!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_PLUGINNOTFOUND:
 *         raise Exception('SCIP: a required plugin was not found !')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_method_returned_an_invalid};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 340, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":339
 *     elif rc == SCIP_INVALIDDATA:
 *         raise Exception('SCIP: error in input data!')
 *     elif rc == SCIP_INVALIDRESULT:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: method returned an invalid result code!')
 *     elif rc == SCIP_PLUGINNOTFOUND:
*/
  }

  /* "src/pyscipopt/scip.pxi":341
 *     elif rc == SCIP_INVALIDRESULT:
 *         raise Exception('SCIP: method returned an invalid result code!')
 *     elif rc == SCIP_PLUGINNOTFOUND:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: a required plugin was not found !')
 *     elif rc == SCIP_PARAMETERUNKNOWN:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_PLUGINNOTFOUND);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":342
 *         raise Exception('SCIP: method returned an invalid result code!')
 *     elif rc == SCIP_PLUGINNOTFOUND:
 *         raise Exception('SCIP: a required plugin was not found !')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_PARAMETERUNKNOWN:
 *         raise KeyError('SCIP: the parameter with the given name was not found!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_a_required_plugin_was_not_f};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 342, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 342, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":341
 *     elif rc == SCIP_INVALIDRESULT:
 *         raise Exception('SCIP: method returned an invalid result code!')
 *     elif rc == SCIP_PLUGINNOTFOUND:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: a required plugin was not found !')
 *     elif rc == SCIP_PARAMETERUNKNOWN:
*/
  }

  /* "src/pyscipopt/scip.pxi":343
 *     elif rc == SCIP_PLUGINNOTFOUND:
 *         raise Exception('SCIP: a required plugin was not found !')
 *     elif rc == SCIP_PARAMETERUNKNOWN:             # <<<<<<<<<<<<<<
 *         raise KeyError('SCIP: the parameter with the given name was not found!')
 *     elif rc == SCIP_PARAMETERWRONGTYPE:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_PARAMETERUNKNOWN);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":344
 *         raise Exception('SCIP: a required plugin was not found !')
 *     elif rc == SCIP_PARAMETERUNKNOWN:
 *         raise KeyError('SCIP: the parameter with the given name was not found!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_PARAMETERWRONGTYPE:
 *         raise LookupError('SCIP: the parameter is not of the expected type!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_the_parameter_with_the_give};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_KeyError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 344, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 344, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":343
 *     elif rc == SCIP_PLUGINNOTFOUND:
 *         raise Exception('SCIP: a required plugin was not found !')
 *     elif rc == SCIP_PARAMETERUNKNOWN:             # <<<<<<<<<<<<<<
 *         raise KeyError('SCIP: the parameter with the given name was not found!')
 *     elif rc == SCIP_PARAMETERWRONGTYPE:
*/
  }

  /* "src/pyscipopt/scip.pxi":345
 *     elif rc == SCIP_PARAMETERUNKNOWN:
 *         raise KeyError('SCIP: the parameter with the given name was not found!')
 *     elif rc == SCIP_PARAMETERWRONGTYPE:             # <<<<<<<<<<<<<<
 *         raise LookupError('SCIP: the parameter is not of the expected type!')
 *     elif rc == SCIP_PARAMETERWRONGVAL:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_PARAMETERWRONGTYPE);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":346
 *         raise KeyError('SCIP: the parameter with the given name was not found!')
 *     elif rc == SCIP_PARAMETERWRONGTYPE:
 *         raise LookupError('SCIP: the parameter is not of the expected type!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_PARAMETERWRONGVAL:
 *         raise ValueError('SCIP: the value is invalid for the given parameter!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_the_parameter_is_not_of_the};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_LookupError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 346, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 346, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":345
 *     elif rc == SCIP_PARAMETERUNKNOWN:
 *         raise KeyError('SCIP: the parameter with the given name was not found!')
 *     elif rc == SCIP_PARAMETERWRONGTYPE:             # <<<<<<<<<<<<<<
 *         raise LookupError('SCIP: the parameter is not of the expected type!')
 *     elif rc == SCIP_PARAMETERWRONGVAL:
*/
  }

  /* "src/pyscipopt/scip.pxi":347
 *     elif rc == SCIP_PARAMETERWRONGTYPE:
 *         raise LookupError('SCIP: the parameter is not of the expected type!')
 *     elif rc == SCIP_PARAMETERWRONGVAL:             # <<<<<<<<<<<<<<
 *         raise ValueError('SCIP: the value is invalid for the given parameter!')
 *     elif rc == SCIP_KEYALREADYEXISTING:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_PARAMETERWRONGVAL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":348
 *         raise LookupError('SCIP: the parameter is not of the expected type!')
 *     elif rc == SCIP_PARAMETERWRONGVAL:
 *         raise ValueError('SCIP: the value is invalid for the given parameter!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_KEYALREADYEXISTING:
 *         raise KeyError('SCIP: the given key is already existing in table!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_the_value_is_invalid_for_th};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 348, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 348, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":347
 *     elif rc == SCIP_PARAMETERWRONGTYPE:
 *         raise LookupError('SCIP: the parameter is not of the expected type!')
 *     elif rc == SCIP_PARAMETERWRONGVAL:             # <<<<<<<<<<<<<<
 *         raise ValueError('SCIP: the value is invalid for the given parameter!')
 *     elif rc == SCIP_KEYALREADYEXISTING:
*/
  }

  /* "src/pyscipopt/scip.pxi":349
 *     elif rc == SCIP_PARAMETERWRONGVAL:
 *         raise ValueError('SCIP: the value is invalid for the given parameter!')
 *     elif rc == SCIP_KEYALREADYEXISTING:             # <<<<<<<<<<<<<<
 *         raise KeyError('SCIP: the given key is already existing in table!')
 *     elif rc == SCIP_MAXDEPTHLEVEL:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_KEYALREADYEXISTING);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":350
 *         raise ValueError('SCIP: the value is invalid for the given parameter!')
 *     elif rc == SCIP_KEYALREADYEXISTING:
 *         raise KeyError('SCIP: the given key is already existing in table!')             # <<<<<<<<<<<<<<
 *     elif rc == SCIP_MAXDEPTHLEVEL:
 *         raise Exception('SCIP: maximal branching depth level exceeded!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_the_given_key_is_already_ex};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_KeyError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 350, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 350, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":349
 *     elif rc == SCIP_PARAMETERWRONGVAL:
 *         raise ValueError('SCIP: the value is invalid for the given parameter!')
 *     elif rc == SCIP_KEYALREADYEXISTING:             # <<<<<<<<<<<<<<
 *         raise KeyError('SCIP: the given key is already existing in table!')
 *     elif rc == SCIP_MAXDEPTHLEVEL:
*/
  }

  /* "src/pyscipopt/scip.pxi":351
 *     elif rc == SCIP_KEYALREADYEXISTING:
 *         raise KeyError('SCIP: the given key is already existing in table!')
 *     elif rc == SCIP_MAXDEPTHLEVEL:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: maximal branching depth level exceeded!')
 *     else:
*/
  __pyx_t_1 = (__pyx_v_rc == SCIP_MAXDEPTHLEVEL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":352
 *         raise KeyError('SCIP: the given key is already existing in table!')
 *     elif rc == SCIP_MAXDEPTHLEVEL:
 *         raise Exception('SCIP: maximal branching depth level exceeded!')             # <<<<<<<<<<<<<<
 *     else:
 *         raise Exception('SCIP: unknown return code!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_maximal_branching_depth_lev};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 352, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 352, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":351
 *     elif rc == SCIP_KEYALREADYEXISTING:
 *         raise KeyError('SCIP: the given key is already existing in table!')
 *     elif rc == SCIP_MAXDEPTHLEVEL:             # <<<<<<<<<<<<<<
 *         raise Exception('SCIP: maximal branching depth level exceeded!')
 *     else:
*/
  }

  /* "src/pyscipopt/scip.pxi":354
 *         raise Exception('SCIP: maximal branching depth level exceeded!')
 *     else:
 *         raise Exception('SCIP: unknown return code!')             # <<<<<<<<<<<<<<
 * 
 * cdef class Event:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_unknown_return_code};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 354, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 354, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":315
 *     UNKNOWN   = SCIP_SOLORIGIN_UNKNOWN
 * 
 * def PY_SCIP_CALL(SCIP_RETCODE rc):             # <<<<<<<<<<<<<<
 *     if rc == SCIP_OKAY:
 *         pass
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.PY_SCIP_CALL", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":359
 *     """Base class holding a pointer to corresponding SCIP_EVENT."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_EVENT* scip_event):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_5Event_create(SCIP_EVENT *__pyx_v_scip_event) {
  struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_event = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":375
 * 
 *         """
 *         if scip_event == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Event with SCIP_EVENT* == NULL")
 *         event = Event()
*/
  __pyx_t_1 = (__pyx_v_scip_event == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":376
 *         """
 *         if scip_event == NULL:
 *             raise Warning("cannot create Event with SCIP_EVENT* == NULL")             # <<<<<<<<<<<<<<
 *         event = Event()
 *         event.event = scip_event
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_create_Event_with_SCIP_EV};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 376, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 376, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":375
 * 
 *         """
 *         if scip_event == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Event with SCIP_EVENT* == NULL")
 *         event = Event()
*/
  }

  /* "src/pyscipopt/scip.pxi":377
 *         if scip_event == NULL:
 *             raise Warning("cannot create Event with SCIP_EVENT* == NULL")
 *         event = Event()             # <<<<<<<<<<<<<<
 *         event.event = scip_event
 *         return event
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Event, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 377, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_event = ((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":378
 *             raise Warning("cannot create Event with SCIP_EVENT* == NULL")
 *         event = Event()
 *         event.event = scip_event             # <<<<<<<<<<<<<<
 *         return event
 * 
*/
  __pyx_v_event->event = __pyx_v_scip_event;

  /* "src/pyscipopt/scip.pxi":379
 *         event = Event()
 *         event.event = scip_event
 *         return event             # <<<<<<<<<<<<<<
 * 
 *     def getType(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_event);
  __pyx_r = ((PyObject *)__pyx_v_event);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":359
 *     """Base class holding a pointer to corresponding SCIP_EVENT."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_EVENT* scip_event):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Event.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_event);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":381
 *         return event
 * 
 *     def getType(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets type of event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_1getType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Event_getType, "\n        Gets type of event.\n\n        Returns\n        -------\n        PY_SCIP_EVENTTYPE\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Event_1getType = {"getType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_1getType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_getType};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_1getType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getType (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getType", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getType", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_getType(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_getType(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getType", 0);

  /* "src/pyscipopt/scip.pxi":390
 * 
 *         """
 *         return SCIPeventGetType(self.event)             # <<<<<<<<<<<<<<
 * 
 *     def getName(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIPeventGetType(__pyx_v_self->event)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":381
 *         return event
 * 
 *     def getType(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets type of event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Event.getType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":392
 *         return SCIPeventGetType(self.event)
 * 
 *     def getName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets name of event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_3getName(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Event_2getName, "\n        Gets name of event.\n\n        Returns\n        -------\n        str\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Event_3getName = {"getName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_3getName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_2getName};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_3getName(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getName (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getName", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getName", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_2getName(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_2getName(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getName", 0);

  /* "src/pyscipopt/scip.pxi":401
 * 
 *         """
 *         if not EventNames:             # <<<<<<<<<<<<<<
 *             self._getEventNames()
 *         return EventNames[self.getType()]
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_EventNames); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 401, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":402
 *         """
 *         if not EventNames:
 *             self._getEventNames()             # <<<<<<<<<<<<<<
 *         return EventNames[self.getType()]
 * 
*/
    __pyx_t_4 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getEventNames, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 402, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":401
 * 
 *         """
 *         if not EventNames:             # <<<<<<<<<<<<<<
 *             self._getEventNames()
 *         return EventNames[self.getType()]
*/
  }

  /* "src/pyscipopt/scip.pxi":403
 *         if not EventNames:
 *             self._getEventNames()
 *         return EventNames[self.getType()]             # <<<<<<<<<<<<<<
 * 
 *     def _getEventNames(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_EventNames); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getType, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":392
 *         return SCIPeventGetType(self.event)
 * 
 *     def getName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets name of event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Event.getName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":405
 *         return EventNames[self.getType()]
 * 
 *     def _getEventNames(self):             # <<<<<<<<<<<<<<
 *         """Gets event names."""
 *         for name in dir(PY_SCIP_EVENTTYPE):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_5_getEventNames(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Event_4_getEventNames, "Gets event names.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Event_5_getEventNames = {"_getEventNames", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_5_getEventNames, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_4_getEventNames};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_5_getEventNames(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_getEventNames (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("_getEventNames", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("_getEventNames", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_4_getEventNames(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_4_getEventNames(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_attr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *(*__pyx_t_4)(PyObject *);
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_getEventNames", 0);

  /* "src/pyscipopt/scip.pxi":407
 *     def _getEventNames(self):
 *         """Gets event names."""
 *         for name in dir(PY_SCIP_EVENTTYPE):             # <<<<<<<<<<<<<<
 *             attr = getattr(PY_SCIP_EVENTTYPE, name)
 *             if isinstance(attr, int):
*/
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 407, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 407, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_3;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 407, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3);
        #endif
        ++__pyx_t_3;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 407, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 407, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":408
 *         """Gets event names."""
 *         for name in dir(PY_SCIP_EVENTTYPE):
 *             attr = getattr(PY_SCIP_EVENTTYPE, name)             # <<<<<<<<<<<<<<
 *             if isinstance(attr, int):
 *                 EventNames[attr] = name
*/
    __pyx_t_1 = __Pyx_GetAttr(((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE), __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 408, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":409
 *         for name in dir(PY_SCIP_EVENTTYPE):
 *             attr = getattr(PY_SCIP_EVENTTYPE, name)
 *             if isinstance(attr, int):             # <<<<<<<<<<<<<<
 *                 EventNames[attr] = name
 * 
*/
    __pyx_t_5 = PyLong_Check(__pyx_v_attr); 
    if (__pyx_t_5) {

      /* "src/pyscipopt/scip.pxi":410
 *             attr = getattr(PY_SCIP_EVENTTYPE, name)
 *             if isinstance(attr, int):
 *                 EventNames[attr] = name             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
      __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_EventNames); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 410, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_v_attr, __pyx_v_name) < 0))) __PYX_ERR(2, 410, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/pyscipopt/scip.pxi":409
 *         for name in dir(PY_SCIP_EVENTTYPE):
 *             attr = getattr(PY_SCIP_EVENTTYPE, name)
 *             if isinstance(attr, int):             # <<<<<<<<<<<<<<
 *                 EventNames[attr] = name
 * 
*/
    }

    /* "src/pyscipopt/scip.pxi":407
 *     def _getEventNames(self):
 *         """Gets event names."""
 *         for name in dir(PY_SCIP_EVENTTYPE):             # <<<<<<<<<<<<<<
 *             attr = getattr(PY_SCIP_EVENTTYPE, name)
 *             if isinstance(attr, int):
*/
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":405
 *         return EventNames[self.getType()]
 * 
 *     def _getEventNames(self):             # <<<<<<<<<<<<<<
 *         """Gets event names."""
 *         for name in dir(PY_SCIP_EVENTTYPE):
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Event._getEventNames", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_attr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":412
 *                 EventNames[attr] = name
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return str(self.getType())
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_7__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_6__repr__(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_6__repr__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/scip.pxi":413
 * 
 *     def __repr__(self):
 *         return str(self.getType())             # <<<<<<<<<<<<<<
 * 
 *     def __str__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getType, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 413, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":412
 *                 EventNames[attr] = name
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return str(self.getType())
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Event.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":415
 *         return str(self.getType())
 * 
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return self.getName()
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_9__str__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_9__str__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_8__str__(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_8__str__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__str__", 0);

  /* "src/pyscipopt/scip.pxi":416
 * 
 *     def __str__(self):
 *         return self.getName()             # <<<<<<<<<<<<<<
 * 
 *     def getNewBound(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getName, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":415
 *         return str(self.getType())
 * 
 *     def __str__(self):             # <<<<<<<<<<<<<<
 *         return self.getName()
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Event.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":418
 *         return self.getName()
 * 
 *     def getNewBound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets new bound for a bound change event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_11getNewBound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Event_10getNewBound, "\n        Gets new bound for a bound change event.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Event_11getNewBound = {"getNewBound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_11getNewBound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_10getNewBound};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_11getNewBound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNewBound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNewBound", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNewBound", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_10getNewBound(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_10getNewBound(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNewBound", 0);

  /* "src/pyscipopt/scip.pxi":427
 * 
 *         """
 *         return SCIPeventGetNewbound(self.event)             # <<<<<<<<<<<<<<
 * 
 *     def getOldBound(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPeventGetNewbound(__pyx_v_self->event)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":418
 *         return self.getName()
 * 
 *     def getNewBound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets new bound for a bound change event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Event.getNewBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":429
 *         return SCIPeventGetNewbound(self.event)
 * 
 *     def getOldBound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets old bound for a bound change event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_13getOldBound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Event_12getOldBound, "\n        Gets old bound for a bound change event.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Event_13getOldBound = {"getOldBound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_13getOldBound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_12getOldBound};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_13getOldBound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getOldBound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getOldBound", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getOldBound", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_12getOldBound(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_12getOldBound(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getOldBound", 0);

  /* "src/pyscipopt/scip.pxi":438
 * 
 *         """
 *         return SCIPeventGetOldbound(self.event)             # <<<<<<<<<<<<<<
 * 
 *     def getVar(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPeventGetOldbound(__pyx_v_self->event)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":429
 *         return SCIPeventGetNewbound(self.event)
 * 
 *     def getOldBound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets old bound for a bound change event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Event.getOldBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":440
 *         return SCIPeventGetOldbound(self.event)
 * 
 *     def getVar(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets variable for a variable event (var added, var deleted, var fixed,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_15getVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Event_14getVar, "\n        Gets variable for a variable event (var added, var deleted, var fixed,\n        objective value or domain change, domain hole added or removed).\n\n        Returns\n        -------\n        Variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Event_15getVar = {"getVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_15getVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_14getVar};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_15getVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getVar", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getVar", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_14getVar(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_14getVar(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  SCIP_VAR *__pyx_v_var;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVar", 0);

  /* "src/pyscipopt/scip.pxi":450
 * 
 *         """
 *         cdef SCIP_VAR* var = SCIPeventGetVar(self.event)             # <<<<<<<<<<<<<<
 *         return Variable.create(var)
 * 
*/
  __pyx_v_var = SCIPeventGetVar(__pyx_v_self->event);

  /* "src/pyscipopt/scip.pxi":451
 *         """
 *         cdef SCIP_VAR* var = SCIPeventGetVar(self.event)
 *         return Variable.create(var)             # <<<<<<<<<<<<<<
 * 
 *     def getNode(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Variable_create(__pyx_v_var); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":440
 *         return SCIPeventGetOldbound(self.event)
 * 
 *     def getVar(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets variable for a variable event (var added, var deleted, var fixed,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Event.getVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":453
 *         return Variable.create(var)
 * 
 *     def getNode(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets node for a node or LP event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_17getNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Event_16getNode, "\n        Gets node for a node or LP event.\n\n        Returns\n        -------\n        Node\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Event_17getNode = {"getNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_17getNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_16getNode};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_17getNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNode", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNode", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_16getNode(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_16getNode(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  SCIP_NODE *__pyx_v_node;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNode", 0);

  /* "src/pyscipopt/scip.pxi":462
 * 
 *         """
 *         cdef SCIP_NODE* node = SCIPeventGetNode(self.event)             # <<<<<<<<<<<<<<
 *         return Node.create(node)
 * 
*/
  __pyx_v_node = SCIPeventGetNode(__pyx_v_self->event);

  /* "src/pyscipopt/scip.pxi":463
 *         """
 *         cdef SCIP_NODE* node = SCIPeventGetNode(self.event)
 *         return Node.create(node)             # <<<<<<<<<<<<<<
 * 
 *     def getRow(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(__pyx_v_node); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":453
 *         return Variable.create(var)
 * 
 *     def getNode(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets node for a node or LP event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Event.getNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":465
 *         return Node.create(node)
 * 
 *     def getRow(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets row for a row event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_19getRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Event_18getRow, "\n        Gets row for a row event.\n\n        Returns\n        -------\n        Row\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Event_19getRow = {"getRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_19getRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_18getRow};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_19getRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRow (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getRow", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getRow", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_18getRow(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_18getRow(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  SCIP_ROW *__pyx_v_row;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getRow", 0);

  /* "src/pyscipopt/scip.pxi":474
 * 
 *         """
 *         cdef SCIP_ROW* row = SCIPeventGetRow(self.event)             # <<<<<<<<<<<<<<
 *         return Row.create(row)
 * 
*/
  __pyx_v_row = SCIPeventGetRow(__pyx_v_self->event);

  /* "src/pyscipopt/scip.pxi":475
 *         """
 *         cdef SCIP_ROW* row = SCIPeventGetRow(self.event)
 *         return Row.create(row)             # <<<<<<<<<<<<<<
 * 
 *     def __hash__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_3Row_create(__pyx_v_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":465
 *         return Node.create(node)
 * 
 *     def getRow(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets row for a row event.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Event.getRow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":477
 *         return Row.create(row)
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self.event)
 * 
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_9pyscipopt_4scip_5Event_21__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_9pyscipopt_4scip_5Event_21__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_20__hash__(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_9pyscipopt_4scip_5Event_20__hash__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "src/pyscipopt/scip.pxi":478
 * 
 *     def __hash__(self):
 *         return hash(<size_t>self.event)             # <<<<<<<<<<<<<<
 * 
 *     def __eq__(self, other):
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((size_t)__pyx_v_self->event)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 478, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(2, 478, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":477
 *         return Row.create(row)
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self.event)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Event.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":480
 *         return hash(<size_t>self.event)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self.event == (<Event>other).event)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_23__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_23__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_22__eq__(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_22__eq__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "src/pyscipopt/scip.pxi":481
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self.event == (<Event>other).event)
 * 
*/
  __Pyx_XDECREF(__pyx_r);

  /* "src/pyscipopt/scip.pxi":482
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self.event == (<Event>other).event)             # <<<<<<<<<<<<<<
 * 
 * cdef class Column:
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "src/pyscipopt/scip.pxi":481
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self.event == (<Event>other).event)
 * 
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 481, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 481, __pyx_L1_error)
  if (__pyx_t_5) {
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_1 = __pyx_t_4;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L3_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":482
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self.event == (<Event>other).event)             # <<<<<<<<<<<<<<
 * 
 * cdef class Column:
*/
  __pyx_t_5 = (__pyx_v_self->event == ((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_other)->event);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __pyx_t_4;
  __pyx_t_4 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":480
 *         return hash(<size_t>self.event)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self.event == (<Event>other).event)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Event.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pyscipopt/scip.pxd":2132
 *     cdef SCIP_EVENT* event
 *     # can be used to store problem data
 *     cdef public object data             # <<<<<<<<<<<<<<
 *     @staticmethod
 *     cdef create(SCIP_EVENT* scip_event)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_4data_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_4data___get__(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->data);
  __pyx_r = __pyx_v_self->data;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_5Event_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_5Event_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_4data_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_5Event_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_5Event_4data_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_5Event_4data_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_4data_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_5Event_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.event cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_25__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Event_25__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_25__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_25__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_24__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_24__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.event cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.event cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_event_cannot_be_converted_t, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.event cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Event.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.event cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.event cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_27__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Event_27__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_27__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Event_27__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Event.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Event_26__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Event *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Event_26__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Event *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.event cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.event cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_event_cannot_be_converted_t, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.event cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.event cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Event.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":487
 *     """Base class holding a pointer to corresponding SCIP_COL."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_COL* scipcol):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_6Column_create(SCIP_COL *__pyx_v_scipcol) {
  struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_col = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":503
 * 
 *         """
 *         if scipcol == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Column with SCIP_COL* == NULL")
 *         col = Column()
*/
  __pyx_t_1 = (__pyx_v_scipcol == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":504
 *         """
 *         if scipcol == NULL:
 *             raise Warning("cannot create Column with SCIP_COL* == NULL")             # <<<<<<<<<<<<<<
 *         col = Column()
 *         col.scip_col = scipcol
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_create_Column_with_SCIP_C};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 504, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 504, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":503
 * 
 *         """
 *         if scipcol == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Column with SCIP_COL* == NULL")
 *         col = Column()
*/
  }

  /* "src/pyscipopt/scip.pxi":505
 *         if scipcol == NULL:
 *             raise Warning("cannot create Column with SCIP_COL* == NULL")
 *         col = Column()             # <<<<<<<<<<<<<<
 *         col.scip_col = scipcol
 *         return col
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Column, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 505, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_col = ((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":506
 *             raise Warning("cannot create Column with SCIP_COL* == NULL")
 *         col = Column()
 *         col.scip_col = scipcol             # <<<<<<<<<<<<<<
 *         return col
 * 
*/
  __pyx_v_col->scip_col = __pyx_v_scipcol;

  /* "src/pyscipopt/scip.pxi":507
 *         col = Column()
 *         col.scip_col = scipcol
 *         return col             # <<<<<<<<<<<<<<
 * 
 *     def getLPPos(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_col);
  __pyx_r = ((PyObject *)__pyx_v_col);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":487
 *     """Base class holding a pointer to corresponding SCIP_COL."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_COL* scipcol):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Column.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_col);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":509
 *         return col
 * 
 *     def getLPPos(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets position of column in current LP, or -1 if it is not in LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_1getLPPos(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Column_getLPPos, "\n        Gets position of column in current LP, or -1 if it is not in LP.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Column_1getLPPos = {"getLPPos", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_1getLPPos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_getLPPos};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_1getLPPos(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLPPos (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLPPos", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLPPos", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_getLPPos(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_getLPPos(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLPPos", 0);

  /* "src/pyscipopt/scip.pxi":518
 * 
 *         """
 *         return SCIPcolGetLPPos(self.scip_col)             # <<<<<<<<<<<<<<
 * 
 *     def getBasisStatus(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPcolGetLPPos(__pyx_v_self->scip_col)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":509
 *         return col
 * 
 *     def getLPPos(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets position of column in current LP, or -1 if it is not in LP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Column.getLPPos", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":520
 *         return SCIPcolGetLPPos(self.scip_col)
 * 
 *     def getBasisStatus(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the basis status of a column in the LP solution
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_3getBasisStatus(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Column_2getBasisStatus, "\n        Gets the basis status of a column in the LP solution\n\n        Returns\n        -------\n        str\n            Possible values are \"lower\", \"basic\", \"upper\", and \"zero\"\n\n        Raises\n        ------\n        Exception\n            If SCIP returns an unknown basis status\n\n        Notes\n        -----\n        Returns basis status \"zero\" for columns not in the current SCIP LP.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Column_3getBasisStatus = {"getBasisStatus", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_3getBasisStatus, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_2getBasisStatus};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_3getBasisStatus(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBasisStatus (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getBasisStatus", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getBasisStatus", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_2getBasisStatus(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_2getBasisStatus(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self) {
  SCIP_BASESTAT __pyx_v_stat;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBasisStatus", 0);

  /* "src/pyscipopt/scip.pxi":539
 * 
 *         """
 *         cdef SCIP_BASESTAT stat = SCIPcolGetBasisStatus(self.scip_col)             # <<<<<<<<<<<<<<
 *         if stat == SCIP_BASESTAT_LOWER:
 *             return "lower"
*/
  __pyx_v_stat = SCIPcolGetBasisStatus(__pyx_v_self->scip_col);

  /* "src/pyscipopt/scip.pxi":540
 *         """
 *         cdef SCIP_BASESTAT stat = SCIPcolGetBasisStatus(self.scip_col)
 *         if stat == SCIP_BASESTAT_LOWER:             # <<<<<<<<<<<<<<
 *             return "lower"
 *         elif stat == SCIP_BASESTAT_BASIC:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_BASESTAT_LOWER);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":541
 *         cdef SCIP_BASESTAT stat = SCIPcolGetBasisStatus(self.scip_col)
 *         if stat == SCIP_BASESTAT_LOWER:
 *             return "lower"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_BASESTAT_BASIC:
 *             return "basic"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_lower);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_lower;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":540
 *         """
 *         cdef SCIP_BASESTAT stat = SCIPcolGetBasisStatus(self.scip_col)
 *         if stat == SCIP_BASESTAT_LOWER:             # <<<<<<<<<<<<<<
 *             return "lower"
 *         elif stat == SCIP_BASESTAT_BASIC:
*/
  }

  /* "src/pyscipopt/scip.pxi":542
 *         if stat == SCIP_BASESTAT_LOWER:
 *             return "lower"
 *         elif stat == SCIP_BASESTAT_BASIC:             # <<<<<<<<<<<<<<
 *             return "basic"
 *         elif stat == SCIP_BASESTAT_UPPER:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_BASESTAT_BASIC);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":543
 *             return "lower"
 *         elif stat == SCIP_BASESTAT_BASIC:
 *             return "basic"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_BASESTAT_UPPER:
 *             return "upper"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_basic);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_basic;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":542
 *         if stat == SCIP_BASESTAT_LOWER:
 *             return "lower"
 *         elif stat == SCIP_BASESTAT_BASIC:             # <<<<<<<<<<<<<<
 *             return "basic"
 *         elif stat == SCIP_BASESTAT_UPPER:
*/
  }

  /* "src/pyscipopt/scip.pxi":544
 *         elif stat == SCIP_BASESTAT_BASIC:
 *             return "basic"
 *         elif stat == SCIP_BASESTAT_UPPER:             # <<<<<<<<<<<<<<
 *             return "upper"
 *         elif stat == SCIP_BASESTAT_ZERO:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_BASESTAT_UPPER);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":545
 *             return "basic"
 *         elif stat == SCIP_BASESTAT_UPPER:
 *             return "upper"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_BASESTAT_ZERO:
 *             return "zero"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_upper);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_upper;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":544
 *         elif stat == SCIP_BASESTAT_BASIC:
 *             return "basic"
 *         elif stat == SCIP_BASESTAT_UPPER:             # <<<<<<<<<<<<<<
 *             return "upper"
 *         elif stat == SCIP_BASESTAT_ZERO:
*/
  }

  /* "src/pyscipopt/scip.pxi":546
 *         elif stat == SCIP_BASESTAT_UPPER:
 *             return "upper"
 *         elif stat == SCIP_BASESTAT_ZERO:             # <<<<<<<<<<<<<<
 *             return "zero"
 *         else:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_BASESTAT_ZERO);
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":547
 *             return "upper"
 *         elif stat == SCIP_BASESTAT_ZERO:
 *             return "zero"             # <<<<<<<<<<<<<<
 *         else:
 *             raise Exception('SCIP returned unknown base status!')
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_zero);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_zero;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":546
 *         elif stat == SCIP_BASESTAT_UPPER:
 *             return "upper"
 *         elif stat == SCIP_BASESTAT_ZERO:             # <<<<<<<<<<<<<<
 *             return "zero"
 *         else:
*/
  }

  /* "src/pyscipopt/scip.pxi":549
 *             return "zero"
 *         else:
 *             raise Exception('SCIP returned unknown base status!')             # <<<<<<<<<<<<<<
 * 
 *     def isIntegral(self):
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_returned_unknown_base_statu};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 549, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 549, __pyx_L1_error)
  }

  /* "src/pyscipopt/scip.pxi":520
 *         return SCIPcolGetLPPos(self.scip_col)
 * 
 *     def getBasisStatus(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the basis status of a column in the LP solution
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Column.getBasisStatus", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":551
 *             raise Exception('SCIP returned unknown base status!')
 * 
 *     def isIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the associated variable is of integral type (binary, integer, implicit integer).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_5isIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Column_4isIntegral, "\n        Returns whether the associated variable is of integral type (binary, integer, implicit integer).\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Column_5isIntegral = {"isIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_5isIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_4isIntegral};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_5isIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isIntegral (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isIntegral", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isIntegral", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_4isIntegral(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_4isIntegral(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isIntegral", 0);

  /* "src/pyscipopt/scip.pxi":560
 * 
 *         """
 *         return SCIPcolIsIntegral(self.scip_col)             # <<<<<<<<<<<<<<
 * 
 *     def getVar(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPcolIsIntegral(__pyx_v_self->scip_col)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":551
 *             raise Exception('SCIP returned unknown base status!')
 * 
 *     def isIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the associated variable is of integral type (binary, integer, implicit integer).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Column.isIntegral", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":562
 *         return SCIPcolIsIntegral(self.scip_col)
 * 
 *     def getVar(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets variable this column represents.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_7getVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Column_6getVar, "\n        Gets variable this column represents.\n\n        Returns\n        -------\n        Variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Column_7getVar = {"getVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_7getVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_6getVar};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_7getVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getVar", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getVar", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_6getVar(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_6getVar(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self) {
  SCIP_VAR *__pyx_v_var;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVar", 0);

  /* "src/pyscipopt/scip.pxi":571
 * 
 *         """
 *         cdef SCIP_VAR* var = SCIPcolGetVar(self.scip_col)             # <<<<<<<<<<<<<<
 *         return Variable.create(var)
 * 
*/
  __pyx_v_var = SCIPcolGetVar(__pyx_v_self->scip_col);

  /* "src/pyscipopt/scip.pxi":572
 *         """
 *         cdef SCIP_VAR* var = SCIPcolGetVar(self.scip_col)
 *         return Variable.create(var)             # <<<<<<<<<<<<<<
 * 
 *     def getPrimsol(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Variable_create(__pyx_v_var); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 572, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":562
 *         return SCIPcolIsIntegral(self.scip_col)
 * 
 *     def getVar(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets variable this column represents.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Column.getVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":574
 *         return Variable.create(var)
 * 
 *     def getPrimsol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the primal LP solution of a column.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_9getPrimsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Column_8getPrimsol, "\n        Gets the primal LP solution of a column.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Column_9getPrimsol = {"getPrimsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_9getPrimsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_8getPrimsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_9getPrimsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPrimsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPrimsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPrimsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_8getPrimsol(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_8getPrimsol(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPrimsol", 0);

  /* "src/pyscipopt/scip.pxi":583
 * 
 *         """
 *         return SCIPcolGetPrimsol(self.scip_col)             # <<<<<<<<<<<<<<
 * 
 *     def getLb(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPcolGetPrimsol(__pyx_v_self->scip_col)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":574
 *         return Variable.create(var)
 * 
 *     def getPrimsol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the primal LP solution of a column.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Column.getPrimsol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":585
 *         return SCIPcolGetPrimsol(self.scip_col)
 * 
 *     def getLb(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets lower bound of column.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_11getLb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Column_10getLb, "\n        Gets lower bound of column.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Column_11getLb = {"getLb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_11getLb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_10getLb};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_11getLb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLb (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLb", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLb", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_10getLb(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_10getLb(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLb", 0);

  /* "src/pyscipopt/scip.pxi":594
 * 
 *         """
 *         return SCIPcolGetLb(self.scip_col)             # <<<<<<<<<<<<<<
 * 
 *     def getUb(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPcolGetLb(__pyx_v_self->scip_col)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 594, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":585
 *         return SCIPcolGetPrimsol(self.scip_col)
 * 
 *     def getLb(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets lower bound of column.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Column.getLb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":596
 *         return SCIPcolGetLb(self.scip_col)
 * 
 *     def getUb(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets upper bound of column.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_13getUb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Column_12getUb, "\n        Gets upper bound of column.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Column_13getUb = {"getUb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_13getUb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_12getUb};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_13getUb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getUb (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getUb", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getUb", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_12getUb(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_12getUb(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getUb", 0);

  /* "src/pyscipopt/scip.pxi":605
 * 
 *         """
 *         return SCIPcolGetUb(self.scip_col)             # <<<<<<<<<<<<<<
 * 
 *     def getObjCoeff(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPcolGetUb(__pyx_v_self->scip_col)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":596
 *         return SCIPcolGetLb(self.scip_col)
 * 
 *     def getUb(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets upper bound of column.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Column.getUb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":607
 *         return SCIPcolGetUb(self.scip_col)
 * 
 *     def getObjCoeff(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets objective value coefficient of a column.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_15getObjCoeff(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Column_14getObjCoeff, "\n        Gets objective value coefficient of a column.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Column_15getObjCoeff = {"getObjCoeff", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_15getObjCoeff, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_14getObjCoeff};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_15getObjCoeff(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getObjCoeff (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getObjCoeff", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getObjCoeff", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_14getObjCoeff(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_14getObjCoeff(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getObjCoeff", 0);

  /* "src/pyscipopt/scip.pxi":616
 * 
 *         """
 *         return SCIPcolGetObj(self.scip_col)             # <<<<<<<<<<<<<<
 * 
 *     def getAge(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPcolGetObj(__pyx_v_self->scip_col)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":607
 *         return SCIPcolGetUb(self.scip_col)
 * 
 *     def getObjCoeff(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets objective value coefficient of a column.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Column.getObjCoeff", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":618
 *         return SCIPcolGetObj(self.scip_col)
 * 
 *     def getAge(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the age of the column, i.e., the total number of successive times a column was in the LP
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_17getAge(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_6Column_16getAge, "\n        Gets the age of the column, i.e., the total number of successive times a column was in the LP\n        and was 0.0 in the solution.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Column_17getAge = {"getAge", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_17getAge, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_16getAge};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_17getAge(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getAge (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getAge", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getAge", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_16getAge(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_16getAge(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getAge", 0);

  /* "src/pyscipopt/scip.pxi":628
 * 
 *         """
 *         return SCIPcolGetAge(self.scip_col)             # <<<<<<<<<<<<<<
 * 
 *     def __hash__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPcolGetAge(__pyx_v_self->scip_col)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":618
 *         return SCIPcolGetObj(self.scip_col)
 * 
 *     def getAge(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the age of the column, i.e., the total number of successive times a column was in the LP
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Column.getAge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":630
 *         return SCIPcolGetAge(self.scip_col)
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self.scip_col)
 * 
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_9pyscipopt_4scip_6Column_19__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_9pyscipopt_4scip_6Column_19__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_18__hash__(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_9pyscipopt_4scip_6Column_18__hash__(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "src/pyscipopt/scip.pxi":631
 * 
 *     def __hash__(self):
 *         return hash(<size_t>self.scip_col)             # <<<<<<<<<<<<<<
 * 
 *     def __eq__(self, other):
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((size_t)__pyx_v_self->scip_col)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(2, 631, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":630
 *         return SCIPcolGetAge(self.scip_col)
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self.scip_col)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Column.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":633
 *         return hash(<size_t>self.scip_col)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self.scip_col == (<Column>other).scip_col)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_21__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_21__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_20__eq__(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_20__eq__(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "src/pyscipopt/scip.pxi":634
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self.scip_col == (<Column>other).scip_col)
 * 
*/
  __Pyx_XDECREF(__pyx_r);

  /* "src/pyscipopt/scip.pxi":635
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self.scip_col == (<Column>other).scip_col)             # <<<<<<<<<<<<<<
 * 
 * cdef class ColumnExact:
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "src/pyscipopt/scip.pxi":634
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self.scip_col == (<Column>other).scip_col)
 * 
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 634, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 634, __pyx_L1_error)
  if (__pyx_t_5) {
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_1 = __pyx_t_4;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L3_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":635
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self.scip_col == (<Column>other).scip_col)             # <<<<<<<<<<<<<<
 * 
 * cdef class ColumnExact:
*/
  __pyx_t_5 = (__pyx_v_self->scip_col == ((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_other)->scip_col);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __pyx_t_4;
  __pyx_t_4 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":633
 *         return hash(<size_t>self.scip_col)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self.scip_col == (<Column>other).scip_col)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Column.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pyscipopt/scip.pxd":2139
 *     cdef SCIP_COL* scip_col
 *     # can be used to store problem data
 *     cdef public object data             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_4data_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_4data___get__(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->data);
  __pyx_r = __pyx_v_self->data;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_6Column_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_6Column_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_4data_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_6Column_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_6Column_4data_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_6Column_4data_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_4data_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_6Column_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_col cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_23__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Column_23__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_23__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_23__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_22__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_22__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_col cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_col cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_col_cannot_be_converte, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_col cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Column.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_col cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_col cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_25__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_6Column_25__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_25__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_6Column_25__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Column.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_6Column_24__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Column *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_6Column_24__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.scip_col cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_col cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_col_cannot_be_converte, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_col cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_col cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Column.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":640
 *     """Base class holding a pointer to corresponding SCIP_COLEXACT."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_COLEXACT* scipcolexact):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_11ColumnExact_create(SCIP_COLEXACT *__pyx_v_scipcolexact) {
  struct __pyx_obj_9pyscipopt_4scip_ColumnExact *__pyx_v_col = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":656
 * 
 *         """
 *         if scipcolexact == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create ColumnExact with SCIP_COLEXACT* == NULL")
 *         col = ColumnExact()
*/
  __pyx_t_1 = (__pyx_v_scipcolexact == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":657
 *         """
 *         if scipcolexact == NULL:
 *             raise Warning("cannot create ColumnExact with SCIP_COLEXACT* == NULL")             # <<<<<<<<<<<<<<
 *         col = ColumnExact()
 *         col.scip_col_exact = scipcolexact
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_create_ColumnExact_with_S};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 657, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 657, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":656
 * 
 *         """
 *         if scipcolexact == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create ColumnExact with SCIP_COLEXACT* == NULL")
 *         col = ColumnExact()
*/
  }

  /* "src/pyscipopt/scip.pxi":658
 *         if scipcolexact == NULL:
 *             raise Warning("cannot create ColumnExact with SCIP_COLEXACT* == NULL")
 *         col = ColumnExact()             # <<<<<<<<<<<<<<
 *         col.scip_col_exact = scipcolexact
 *         return col
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ColumnExact, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 658, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_col = ((struct __pyx_obj_9pyscipopt_4scip_ColumnExact *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":659
 *             raise Warning("cannot create ColumnExact with SCIP_COLEXACT* == NULL")
 *         col = ColumnExact()
 *         col.scip_col_exact = scipcolexact             # <<<<<<<<<<<<<<
 *         return col
 * 
*/
  __pyx_v_col->scip_col_exact = __pyx_v_scipcolexact;

  /* "src/pyscipopt/scip.pxi":660
 *         col = ColumnExact()
 *         col.scip_col_exact = scipcolexact
 *         return col             # <<<<<<<<<<<<<<
 * 
 * cdef class Row:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_col);
  __pyx_r = ((PyObject *)__pyx_v_col);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":640
 *     """Base class holding a pointer to corresponding SCIP_COLEXACT."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_COLEXACT* scipcolexact):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.ColumnExact.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_col);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pyscipopt/scip.pxd":2147
 *     cdef SCIP_COLEXACT* scip_col_exact
 *     # can be used to store problem data
 *     cdef public object data             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_11ColumnExact_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_11ColumnExact_4data_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_11ColumnExact_4data___get__(((struct __pyx_obj_9pyscipopt_4scip_ColumnExact *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_11ColumnExact_4data___get__(struct __pyx_obj_9pyscipopt_4scip_ColumnExact *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->data);
  __pyx_r = __pyx_v_self->data;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_11ColumnExact_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_11ColumnExact_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_11ColumnExact_4data_2__set__(((struct __pyx_obj_9pyscipopt_4scip_ColumnExact *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_11ColumnExact_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_ColumnExact *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_11ColumnExact_4data_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_11ColumnExact_4data_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_11ColumnExact_4data_4__del__(((struct __pyx_obj_9pyscipopt_4scip_ColumnExact *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_11ColumnExact_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_ColumnExact *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_col_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_11ColumnExact_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_11ColumnExact_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11ColumnExact_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_11ColumnExact_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_11ColumnExact___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_ColumnExact *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_11ColumnExact___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_ColumnExact *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_col_exact cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_col_exact cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_col_exact_cannot_be_co, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_col_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.ColumnExact.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_col_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_col_exact cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_11ColumnExact_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_11ColumnExact_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11ColumnExact_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_11ColumnExact_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.ColumnExact.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_11ColumnExact_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_ColumnExact *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_11ColumnExact_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_ColumnExact *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.scip_col_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_col_exact cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_col_exact_cannot_be_co, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_col_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_col_exact cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.ColumnExact.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":665
 *     """Base class holding a pointer to corresponding SCIP_ROW."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_ROW* sciprow):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_3Row_create(SCIP_ROW *__pyx_v_sciprow) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":681
 * 
 *         """
 *         if sciprow == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Row with SCIP_ROW* == NULL")
 *         row = Row()
*/
  __pyx_t_1 = (__pyx_v_sciprow == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":682
 *         """
 *         if sciprow == NULL:
 *             raise Warning("cannot create Row with SCIP_ROW* == NULL")             # <<<<<<<<<<<<<<
 *         row = Row()
 *         row.scip_row = sciprow
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_create_Row_with_SCIP_ROW};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 682, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 682, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":681
 * 
 *         """
 *         if sciprow == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Row with SCIP_ROW* == NULL")
 *         row = Row()
*/
  }

  /* "src/pyscipopt/scip.pxi":683
 *         if sciprow == NULL:
 *             raise Warning("cannot create Row with SCIP_ROW* == NULL")
 *         row = Row()             # <<<<<<<<<<<<<<
 *         row.scip_row = sciprow
 *         return row
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 683, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":684
 *             raise Warning("cannot create Row with SCIP_ROW* == NULL")
 *         row = Row()
 *         row.scip_row = sciprow             # <<<<<<<<<<<<<<
 *         return row
 * 
*/
  __pyx_v_row->scip_row = __pyx_v_sciprow;

  /* "src/pyscipopt/scip.pxi":685
 *         row = Row()
 *         row.scip_row = sciprow
 *         return row             # <<<<<<<<<<<<<<
 * 
 *     property name:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_row);
  __pyx_r = ((PyObject *)__pyx_v_row);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":665
 *     """Base class holding a pointer to corresponding SCIP_ROW."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_ROW* sciprow):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Row.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_row);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":688
 * 
 *     property name:
 *         def __get__(self):             # <<<<<<<<<<<<<<
 *             cname = bytes( SCIProwGetName(self.scip_row) )
 *             return cname.decode('utf-8')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_4name___get__(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/pyscipopt/scip.pxi":689
 *     property name:
 *         def __get__(self):
 *             cname = bytes( SCIProwGetName(self.scip_row) )             # <<<<<<<<<<<<<<
 *             return cname.decode('utf-8')
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIProwGetName(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 689, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 689, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_cname = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":690
 *         def __get__(self):
 *             cname = bytes( SCIProwGetName(self.scip_row) )
 *             return cname.decode('utf-8')             # <<<<<<<<<<<<<<
 * 
 *     def getLhs(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_decode_bytes(__pyx_v_cname, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 690, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":688
 * 
 *     property name:
 *         def __get__(self):             # <<<<<<<<<<<<<<
 *             cname = bytes( SCIProwGetName(self.scip_row) )
 *             return cname.decode('utf-8')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Row.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":692
 *             return cname.decode('utf-8')
 * 
 *     def getLhs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the left hand side of row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_1getLhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_getLhs, "\n        Returns the left hand side of row.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_1getLhs = {"getLhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_1getLhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_getLhs};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_1getLhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLhs (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLhs", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLhs", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_getLhs(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_getLhs(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLhs", 0);

  /* "src/pyscipopt/scip.pxi":701
 * 
 *         """
 *         return SCIProwGetLhs(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getRhs(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIProwGetLhs(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":692
 *             return cname.decode('utf-8')
 * 
 *     def getLhs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the left hand side of row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getLhs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":703
 *         return SCIProwGetLhs(self.scip_row)
 * 
 *     def getRhs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the right hand side of row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_3getRhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_2getRhs, "\n        Returns the right hand side of row.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_3getRhs = {"getRhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_3getRhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_2getRhs};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_3getRhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRhs (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getRhs", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getRhs", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_2getRhs(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_2getRhs(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getRhs", 0);

  /* "src/pyscipopt/scip.pxi":712
 * 
 *         """
 *         return SCIProwGetRhs(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getConstant(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIProwGetRhs(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":703
 *         return SCIProwGetLhs(self.scip_row)
 * 
 *     def getRhs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the right hand side of row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getRhs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":714
 *         return SCIProwGetRhs(self.scip_row)
 * 
 *     def getConstant(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets constant shift of row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_5getConstant(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_4getConstant, "\n        Gets constant shift of row.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_5getConstant = {"getConstant", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_5getConstant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_4getConstant};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_5getConstant(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getConstant (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getConstant", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getConstant", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_4getConstant(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_4getConstant(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getConstant", 0);

  /* "src/pyscipopt/scip.pxi":723
 * 
 *         """
 *         return SCIProwGetConstant(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getDualsol(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIProwGetConstant(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":714
 *         return SCIProwGetRhs(self.scip_row)
 * 
 *     def getConstant(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets constant shift of row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getConstant", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":725
 *         return SCIProwGetConstant(self.scip_row)
 * 
 *     def getDualsol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the dual solution of row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_7getDualsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_6getDualsol, "\n        Returns the dual solution of row.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_7getDualsol = {"getDualsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_7getDualsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_6getDualsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_7getDualsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDualsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getDualsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getDualsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_6getDualsol(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_6getDualsol(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDualsol", 0);

  /* "src/pyscipopt/scip.pxi":734
 * 
 *         """
 *         return SCIProwGetDualsol(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getDualfarkas(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIProwGetDualsol(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":725
 *         return SCIProwGetConstant(self.scip_row)
 * 
 *     def getDualsol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the dual solution of row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getDualsol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":736
 *         return SCIProwGetDualsol(self.scip_row)
 * 
 *     def getDualfarkas(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the dual Farkas solution of row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_9getDualfarkas(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_8getDualfarkas, "\n        Returns the dual Farkas solution of row.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_9getDualfarkas = {"getDualfarkas", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_9getDualfarkas, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_8getDualfarkas};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_9getDualfarkas(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDualfarkas (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getDualfarkas", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getDualfarkas", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_8getDualfarkas(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_8getDualfarkas(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDualfarkas", 0);

  /* "src/pyscipopt/scip.pxi":745
 * 
 *         """
 *         return SCIProwGetDualfarkas(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getLPPos(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIProwGetDualfarkas(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":736
 *         return SCIProwGetDualsol(self.scip_row)
 * 
 *     def getDualfarkas(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the dual Farkas solution of row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getDualfarkas", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":747
 *         return SCIProwGetDualfarkas(self.scip_row)
 * 
 *     def getLPPos(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets position of row in current LP, or -1 if it is not in LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_11getLPPos(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_10getLPPos, "\n        Gets position of row in current LP, or -1 if it is not in LP.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_11getLPPos = {"getLPPos", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_11getLPPos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_10getLPPos};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_11getLPPos(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLPPos (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLPPos", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLPPos", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_10getLPPos(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_10getLPPos(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLPPos", 0);

  /* "src/pyscipopt/scip.pxi":756
 * 
 *         """
 *         return SCIProwGetLPPos(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getBasisStatus(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIProwGetLPPos(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":747
 *         return SCIProwGetDualfarkas(self.scip_row)
 * 
 *     def getLPPos(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets position of row in current LP, or -1 if it is not in LP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getLPPos", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":758
 *         return SCIProwGetLPPos(self.scip_row)
 * 
 *     def getBasisStatus(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the basis status of a row in the LP solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_13getBasisStatus(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_12getBasisStatus, "\n        Gets the basis status of a row in the LP solution.\n\n        Returns\n        -------\n        str\n            Possible values are \"lower\", \"basic\", and \"upper\"\n\n        Raises\n        ------\n        Exception\n            If SCIP returns an unknown or \"zero\" basis status\n\n        Notes\n        -----\n        Returns basis status \"basic\" for rows not in the current SCIP LP.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_13getBasisStatus = {"getBasisStatus", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_13getBasisStatus, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_12getBasisStatus};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_13getBasisStatus(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBasisStatus (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getBasisStatus", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getBasisStatus", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_12getBasisStatus(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_12getBasisStatus(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  SCIP_BASESTAT __pyx_v_stat;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBasisStatus", 0);

  /* "src/pyscipopt/scip.pxi":777
 * 
 *         """
 *         cdef SCIP_BASESTAT stat = SCIProwGetBasisStatus(self.scip_row)             # <<<<<<<<<<<<<<
 *         if stat == SCIP_BASESTAT_LOWER:
 *             return "lower"
*/
  __pyx_v_stat = SCIProwGetBasisStatus(__pyx_v_self->scip_row);

  /* "src/pyscipopt/scip.pxi":778
 *         """
 *         cdef SCIP_BASESTAT stat = SCIProwGetBasisStatus(self.scip_row)
 *         if stat == SCIP_BASESTAT_LOWER:             # <<<<<<<<<<<<<<
 *             return "lower"
 *         elif stat == SCIP_BASESTAT_BASIC:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_BASESTAT_LOWER);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":779
 *         cdef SCIP_BASESTAT stat = SCIProwGetBasisStatus(self.scip_row)
 *         if stat == SCIP_BASESTAT_LOWER:
 *             return "lower"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_BASESTAT_BASIC:
 *             return "basic"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_lower);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_lower;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":778
 *         """
 *         cdef SCIP_BASESTAT stat = SCIProwGetBasisStatus(self.scip_row)
 *         if stat == SCIP_BASESTAT_LOWER:             # <<<<<<<<<<<<<<
 *             return "lower"
 *         elif stat == SCIP_BASESTAT_BASIC:
*/
  }

  /* "src/pyscipopt/scip.pxi":780
 *         if stat == SCIP_BASESTAT_LOWER:
 *             return "lower"
 *         elif stat == SCIP_BASESTAT_BASIC:             # <<<<<<<<<<<<<<
 *             return "basic"
 *         elif stat == SCIP_BASESTAT_UPPER:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_BASESTAT_BASIC);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":781
 *             return "lower"
 *         elif stat == SCIP_BASESTAT_BASIC:
 *             return "basic"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_BASESTAT_UPPER:
 *             return "upper"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_basic);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_basic;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":780
 *         if stat == SCIP_BASESTAT_LOWER:
 *             return "lower"
 *         elif stat == SCIP_BASESTAT_BASIC:             # <<<<<<<<<<<<<<
 *             return "basic"
 *         elif stat == SCIP_BASESTAT_UPPER:
*/
  }

  /* "src/pyscipopt/scip.pxi":782
 *         elif stat == SCIP_BASESTAT_BASIC:
 *             return "basic"
 *         elif stat == SCIP_BASESTAT_UPPER:             # <<<<<<<<<<<<<<
 *             return "upper"
 *         elif stat == SCIP_BASESTAT_ZERO:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_BASESTAT_UPPER);
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":783
 *             return "basic"
 *         elif stat == SCIP_BASESTAT_UPPER:
 *             return "upper"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_BASESTAT_ZERO:
 *             # this shouldn't happen!
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_upper);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_upper;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":782
 *         elif stat == SCIP_BASESTAT_BASIC:
 *             return "basic"
 *         elif stat == SCIP_BASESTAT_UPPER:             # <<<<<<<<<<<<<<
 *             return "upper"
 *         elif stat == SCIP_BASESTAT_ZERO:
*/
  }

  /* "src/pyscipopt/scip.pxi":784
 *         elif stat == SCIP_BASESTAT_UPPER:
 *             return "upper"
 *         elif stat == SCIP_BASESTAT_ZERO:             # <<<<<<<<<<<<<<
 *             # this shouldn't happen!
 *             raise Exception('SCIP returned base status zero for a row!')
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_BASESTAT_ZERO);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":786
 *         elif stat == SCIP_BASESTAT_ZERO:
 *             # this shouldn't happen!
 *             raise Exception('SCIP returned base status zero for a row!')             # <<<<<<<<<<<<<<
 *         else:
 *             raise Exception('SCIP returned unknown base status!')
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_returned_base_status_zero_f};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 786, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 786, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":784
 *         elif stat == SCIP_BASESTAT_UPPER:
 *             return "upper"
 *         elif stat == SCIP_BASESTAT_ZERO:             # <<<<<<<<<<<<<<
 *             # this shouldn't happen!
 *             raise Exception('SCIP returned base status zero for a row!')
*/
  }

  /* "src/pyscipopt/scip.pxi":788
 *             raise Exception('SCIP returned base status zero for a row!')
 *         else:
 *             raise Exception('SCIP returned unknown base status!')             # <<<<<<<<<<<<<<
 * 
 *     def isIntegral(self):
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_returned_unknown_base_statu};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 788, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 788, __pyx_L1_error)
  }

  /* "src/pyscipopt/scip.pxi":758
 *         return SCIProwGetLPPos(self.scip_row)
 * 
 *     def getBasisStatus(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the basis status of a row in the LP solution.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getBasisStatus", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":790
 *             raise Exception('SCIP returned unknown base status!')
 * 
 *     def isIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE iff the activity of the row (without the row's constant)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_15isIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_14isIntegral, "\n        Returns TRUE iff the activity of the row (without the row's constant)\n        is always integral in a feasible solution.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_15isIntegral = {"isIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_15isIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_14isIntegral};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_15isIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isIntegral (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isIntegral", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isIntegral", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_14isIntegral(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_14isIntegral(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isIntegral", 0);

  /* "src/pyscipopt/scip.pxi":800
 * 
 *         """
 *         return SCIProwIsIntegral(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def isLocal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIProwIsIntegral(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":790
 *             raise Exception('SCIP returned unknown base status!')
 * 
 *     def isIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE iff the activity of the row (without the row's constant)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.isIntegral", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":802
 *         return SCIProwIsIntegral(self.scip_row)
 * 
 *     def isLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE iff the row is only valid locally.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_17isLocal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_16isLocal, "\n        Returns TRUE iff the row is only valid locally.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_17isLocal = {"isLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_17isLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_16isLocal};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_17isLocal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isLocal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isLocal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isLocal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_16isLocal(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_16isLocal(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isLocal", 0);

  /* "src/pyscipopt/scip.pxi":811
 * 
 *         """
 *         return SCIProwIsLocal(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def isModifiable(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIProwIsLocal(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 811, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":802
 *         return SCIProwIsIntegral(self.scip_row)
 * 
 *     def isLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE iff the row is only valid locally.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.isLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":813
 *         return SCIProwIsLocal(self.scip_row)
 * 
 *     def isModifiable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE iff row is modifiable during node processing (subject to column generation).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_19isModifiable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_18isModifiable, "\n        Returns TRUE iff row is modifiable during node processing (subject to column generation).\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_19isModifiable = {"isModifiable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_19isModifiable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_18isModifiable};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_19isModifiable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isModifiable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isModifiable", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isModifiable", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_18isModifiable(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_18isModifiable(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isModifiable", 0);

  /* "src/pyscipopt/scip.pxi":822
 * 
 *         """
 *         return SCIProwIsModifiable(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def isRemovable(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIProwIsModifiable(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":813
 *         return SCIProwIsLocal(self.scip_row)
 * 
 *     def isModifiable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE iff row is modifiable during node processing (subject to column generation).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.isModifiable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":824
 *         return SCIProwIsModifiable(self.scip_row)
 * 
 *     def isRemovable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE iff row is removable from the LP (due to aging or cleanup).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_21isRemovable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_20isRemovable, "\n        Returns TRUE iff row is removable from the LP (due to aging or cleanup).\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_21isRemovable = {"isRemovable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_21isRemovable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_20isRemovable};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_21isRemovable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isRemovable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isRemovable", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isRemovable", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_20isRemovable(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_20isRemovable(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isRemovable", 0);

  /* "src/pyscipopt/scip.pxi":833
 * 
 *         """
 *         return SCIProwIsRemovable(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def isInGlobalCutpool(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIProwIsRemovable(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":824
 *         return SCIProwIsModifiable(self.scip_row)
 * 
 *     def isRemovable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE iff row is removable from the LP (due to aging or cleanup).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.isRemovable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":835
 *         return SCIProwIsRemovable(self.scip_row)
 * 
 *     def isInGlobalCutpool(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return TRUE iff row is a member of the global cut pool.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_23isInGlobalCutpool(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_22isInGlobalCutpool, "\n        Return TRUE iff row is a member of the global cut pool.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_23isInGlobalCutpool = {"isInGlobalCutpool", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_23isInGlobalCutpool, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_22isInGlobalCutpool};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_23isInGlobalCutpool(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isInGlobalCutpool (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isInGlobalCutpool", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isInGlobalCutpool", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_22isInGlobalCutpool(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_22isInGlobalCutpool(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isInGlobalCutpool", 0);

  /* "src/pyscipopt/scip.pxi":844
 * 
 *         """
 *         return SCIProwIsInGlobalCutpool(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getOrigintype(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIProwIsInGlobalCutpool(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 844, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":835
 *         return SCIProwIsRemovable(self.scip_row)
 * 
 *     def isInGlobalCutpool(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return TRUE iff row is a member of the global cut pool.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.isInGlobalCutpool", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":846
 *         return SCIProwIsInGlobalCutpool(self.scip_row)
 * 
 *     def getOrigintype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns type of origin that created the row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_25getOrigintype(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_24getOrigintype, "\n        Returns type of origin that created the row.\n\n        Returns\n        -------\n        PY_SCIP_ROWORIGINTYPE\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_25getOrigintype = {"getOrigintype", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_25getOrigintype, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_24getOrigintype};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_25getOrigintype(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getOrigintype (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getOrigintype", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getOrigintype", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_24getOrigintype(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_24getOrigintype(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getOrigintype", 0);

  /* "src/pyscipopt/scip.pxi":855
 * 
 *         """
 *         return SCIProwGetOrigintype(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getConsOriginConshdlrtype(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_ROWORIGINTYPE(SCIProwGetOrigintype(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":846
 *         return SCIProwIsInGlobalCutpool(self.scip_row)
 * 
 *     def getOrigintype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns type of origin that created the row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getOrigintype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":857
 *         return SCIProwGetOrigintype(self.scip_row)
 * 
 *     def getConsOriginConshdlrtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns type of constraint handler that created the row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_27getConsOriginConshdlrtype(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_26getConsOriginConshdlrtype, "\n        Returns type of constraint handler that created the row.\n\n        Returns\n        -------\n        str\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_27getConsOriginConshdlrtype = {"getConsOriginConshdlrtype", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_27getConsOriginConshdlrtype, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_26getConsOriginConshdlrtype};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_27getConsOriginConshdlrtype(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getConsOriginConshdlrtype (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getConsOriginConshdlrtype", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getConsOriginConshdlrtype", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_26getConsOriginConshdlrtype(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_26getConsOriginConshdlrtype(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  SCIP_CONS *__pyx_v_scip_con;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getConsOriginConshdlrtype", 0);

  /* "src/pyscipopt/scip.pxi":866
 * 
 *         """
 *         cdef SCIP_CONS* scip_con = SCIProwGetOriginCons(self.scip_row)             # <<<<<<<<<<<<<<
 *         return bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(scip_con))).decode('UTF-8')
 * 
*/
  __pyx_v_scip_con = SCIProwGetOriginCons(__pyx_v_self->scip_row);

  /* "src/pyscipopt/scip.pxi":867
 *         """
 *         cdef SCIP_CONS* scip_con = SCIProwGetOriginCons(self.scip_row)
 *         return bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(scip_con))).decode('UTF-8')             # <<<<<<<<<<<<<<
 * 
 *     def getNNonz(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_scip_con))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":857
 *         return SCIProwGetOrigintype(self.scip_row)
 * 
 *     def getConsOriginConshdlrtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns type of constraint handler that created the row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getConsOriginConshdlrtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":869
 *         return bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(scip_con))).decode('UTF-8')
 * 
 *     def getNNonz(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get number of nonzero entries in row vector.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_29getNNonz(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_28getNNonz, "\n        Get number of nonzero entries in row vector.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_29getNNonz = {"getNNonz", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_29getNNonz, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_28getNNonz};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_29getNNonz(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNNonz (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNNonz", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNNonz", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_28getNNonz(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_28getNNonz(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNNonz", 0);

  /* "src/pyscipopt/scip.pxi":878
 * 
 *         """
 *         return SCIProwGetNNonz(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getNLPNonz(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIProwGetNNonz(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":869
 *         return bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(scip_con))).decode('UTF-8')
 * 
 *     def getNNonz(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get number of nonzero entries in row vector.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getNNonz", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":880
 *         return SCIProwGetNNonz(self.scip_row)
 * 
 *     def getNLPNonz(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get number of nonzero entries in row vector that correspond to columns currently in the SCIP LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_31getNLPNonz(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_30getNLPNonz, "\n        Get number of nonzero entries in row vector that correspond to columns currently in the SCIP LP.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_31getNLPNonz = {"getNLPNonz", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_31getNLPNonz, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_30getNLPNonz};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_31getNLPNonz(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNLPNonz (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNLPNonz", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNLPNonz", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_30getNLPNonz(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_30getNLPNonz(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNLPNonz", 0);

  /* "src/pyscipopt/scip.pxi":889
 * 
 *         """
 *         return SCIProwGetNLPNonz(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getCols(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIProwGetNLPNonz(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 889, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":880
 *         return SCIProwGetNNonz(self.scip_row)
 * 
 *     def getNLPNonz(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get number of nonzero entries in row vector that correspond to columns currently in the SCIP LP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getNLPNonz", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":891
 *         return SCIProwGetNLPNonz(self.scip_row)
 * 
 *     def getCols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets list with columns of nonzero entries
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_33getCols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_32getCols, "\n        Gets list with columns of nonzero entries\n\n        Returns\n        -------\n        list of Column\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_33getCols = {"getCols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_33getCols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_32getCols};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_33getCols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCols (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getCols", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getCols", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_32getCols(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_32getCols(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  SCIP_COL **__pyx_v_cols;
  int __pyx_9genexpr24__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getCols", 0);

  /* "src/pyscipopt/scip.pxi":900
 * 
 *         """
 *         cdef SCIP_COL** cols = SCIProwGetCols(self.scip_row)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         return [Column.create(cols[i]) for i in range(self.getNNonz())]
*/
  __pyx_v_cols = SCIProwGetCols(__pyx_v_self->scip_row);

  /* "src/pyscipopt/scip.pxi":902
 *         cdef SCIP_COL** cols = SCIProwGetCols(self.scip_row)
 *         cdef int i
 *         return [Column.create(cols[i]) for i in range(self.getNNonz())]             # <<<<<<<<<<<<<<
 * 
 *     def getVals(self):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getNNonz, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 902, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 902, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_6 = __pyx_t_5;
    for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
      __pyx_9genexpr24__pyx_v_i = __pyx_t_7;
      __pyx_t_2 = __pyx_f_9pyscipopt_4scip_6Column_create((__pyx_v_cols[__pyx_9genexpr24__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 902, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(2, 902, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":891
 *         return SCIProwGetNLPNonz(self.scip_row)
 * 
 *     def getCols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets list with columns of nonzero entries
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getCols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":904
 *         return [Column.create(cols[i]) for i in range(self.getNNonz())]
 * 
 *     def getVals(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets list with coefficients of nonzero entries.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_35getVals(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_34getVals, "\n        Gets list with coefficients of nonzero entries.\n\n        Returns\n        -------\n        list of int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_35getVals = {"getVals", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_35getVals, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_34getVals};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_35getVals(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVals (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getVals", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getVals", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_34getVals(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_34getVals(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  SCIP_Real *__pyx_v_vals;
  int __pyx_9genexpr25__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVals", 0);

  /* "src/pyscipopt/scip.pxi":913
 * 
 *         """
 *         cdef SCIP_Real* vals = SCIProwGetVals(self.scip_row)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         return [vals[i] for i in range(self.getNNonz())]
*/
  __pyx_v_vals = SCIProwGetVals(__pyx_v_self->scip_row);

  /* "src/pyscipopt/scip.pxi":915
 *         cdef SCIP_Real* vals = SCIProwGetVals(self.scip_row)
 *         cdef int i
 *         return [vals[i] for i in range(self.getNNonz())]             # <<<<<<<<<<<<<<
 * 
 *     def getAge(self):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 915, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getNNonz, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 915, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 915, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_6 = __pyx_t_5;
    for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
      __pyx_9genexpr25__pyx_v_i = __pyx_t_7;
      __pyx_t_2 = PyFloat_FromDouble((__pyx_v_vals[__pyx_9genexpr25__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 915, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(2, 915, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":904
 *         return [Column.create(cols[i]) for i in range(self.getNNonz())]
 * 
 *     def getVals(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets list with coefficients of nonzero entries.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getVals", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":917
 *         return [vals[i] for i in range(self.getNNonz())]
 * 
 *     def getAge(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the age of the row. (The consecutive times the row has been non-active in the LP).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_37getAge(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_36getAge, "\n        Gets the age of the row. (The consecutive times the row has been non-active in the LP).\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_37getAge = {"getAge", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_37getAge, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_36getAge};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_37getAge(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getAge (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getAge", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getAge", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_36getAge(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_36getAge(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getAge", 0);

  /* "src/pyscipopt/scip.pxi":926
 * 
 *         """
 *         return SCIProwGetAge(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getNorm(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIProwGetAge(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":917
 *         return [vals[i] for i in range(self.getNNonz())]
 * 
 *     def getAge(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the age of the row. (The consecutive times the row has been non-active in the LP).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getAge", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":928
 *         return SCIProwGetAge(self.scip_row)
 * 
 *     def getNorm(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets Euclidean norm of row vector.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_39getNorm(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3Row_38getNorm, "\n        Gets Euclidean norm of row vector.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_39getNorm = {"getNorm", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_39getNorm, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_38getNorm};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_39getNorm(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNorm (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNorm", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNorm", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_38getNorm(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_38getNorm(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNorm", 0);

  /* "src/pyscipopt/scip.pxi":937
 * 
 *         """
 *         return SCIProwGetNorm(self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def __hash__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIProwGetNorm(__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 937, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":928
 *         return SCIProwGetAge(self.scip_row)
 * 
 *     def getNorm(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets Euclidean norm of row vector.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.getNorm", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":939
 *         return SCIProwGetNorm(self.scip_row)
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self.scip_row)
 * 
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_9pyscipopt_4scip_3Row_41__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_9pyscipopt_4scip_3Row_41__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_40__hash__(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_9pyscipopt_4scip_3Row_40__hash__(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "src/pyscipopt/scip.pxi":940
 * 
 *     def __hash__(self):
 *         return hash(<size_t>self.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def __eq__(self, other):
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((size_t)__pyx_v_self->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(2, 940, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":939
 *         return SCIProwGetNorm(self.scip_row)
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self.scip_row)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Row.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":942
 *         return hash(<size_t>self.scip_row)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self.scip_row == (<Row>other).scip_row)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_43__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_43__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_42__eq__(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_42__eq__(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "src/pyscipopt/scip.pxi":943
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self.scip_row == (<Row>other).scip_row)
 * 
*/
  __Pyx_XDECREF(__pyx_r);

  /* "src/pyscipopt/scip.pxi":944
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self.scip_row == (<Row>other).scip_row)             # <<<<<<<<<<<<<<
 * 
 * cdef class RowExact:
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "src/pyscipopt/scip.pxi":943
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self.scip_row == (<Row>other).scip_row)
 * 
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 943, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 943, __pyx_L1_error)
  if (__pyx_t_5) {
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_1 = __pyx_t_4;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L3_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":944
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self.scip_row == (<Row>other).scip_row)             # <<<<<<<<<<<<<<
 * 
 * cdef class RowExact:
*/
  __pyx_t_5 = (__pyx_v_self->scip_row == ((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_other)->scip_row);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __pyx_t_4;
  __pyx_t_4 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":942
 *         return hash(<size_t>self.scip_row)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self.scip_row == (<Row>other).scip_row)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Row.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pyscipopt/scip.pxd":2155
 *     cdef SCIP_ROW* scip_row
 *     # can be used to store problem data
 *     cdef public object data             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_4data_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_4data___get__(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->data);
  __pyx_r = __pyx_v_self->data;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_3Row_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_3Row_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_4data_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_3Row_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_3Row_4data_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_3Row_4data_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_4data_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_3Row_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_row cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_45__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_45__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_45__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_45__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_44__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_44__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_row cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_row cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_row_cannot_be_converte, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_row cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Row.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_row cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_row cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_47__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3Row_47__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_47__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_3Row_47__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Row.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3Row_46__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Row *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3Row_46__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.scip_row cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_row cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_row_cannot_be_converte, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_row cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_row cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Row.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":949
 *     """Base class holding a pointer to corresponding SCIP_ROW."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_ROWEXACT* sciprowexact):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_8RowExact_create(SCIP_ROWEXACT *__pyx_v_sciprowexact) {
  struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_row_exact = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":965
 * 
 *         """
 *         if sciprowexact == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Row with SCIP_ROWEXACT* == NULL")
 *         row_exact = RowExact()
*/
  __pyx_t_1 = (__pyx_v_sciprowexact == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":966
 *         """
 *         if sciprowexact == NULL:
 *             raise Warning("cannot create Row with SCIP_ROWEXACT* == NULL")             # <<<<<<<<<<<<<<
 *         row_exact = RowExact()
 *         row_exact.scip_row_exact = sciprowexact
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_create_Row_with_SCIP_ROWE};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 966, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 966, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":965
 * 
 *         """
 *         if sciprowexact == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Row with SCIP_ROWEXACT* == NULL")
 *         row_exact = RowExact()
*/
  }

  /* "src/pyscipopt/scip.pxi":967
 *         if sciprowexact == NULL:
 *             raise Warning("cannot create Row with SCIP_ROWEXACT* == NULL")
 *         row_exact = RowExact()             # <<<<<<<<<<<<<<
 *         row_exact.scip_row_exact = sciprowexact
 *         return row_exact
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_RowExact, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 967, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_row_exact = ((struct __pyx_obj_9pyscipopt_4scip_RowExact *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":968
 *             raise Warning("cannot create Row with SCIP_ROWEXACT* == NULL")
 *         row_exact = RowExact()
 *         row_exact.scip_row_exact = sciprowexact             # <<<<<<<<<<<<<<
 *         return row_exact
 * 
*/
  __pyx_v_row_exact->scip_row_exact = __pyx_v_sciprowexact;

  /* "src/pyscipopt/scip.pxi":969
 *         row_exact = RowExact()
 *         row_exact.scip_row_exact = sciprowexact
 *         return row_exact             # <<<<<<<<<<<<<<
 * 
 * cdef class NLRow:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_row_exact);
  __pyx_r = ((PyObject *)__pyx_v_row_exact);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":949
 *     """Base class holding a pointer to corresponding SCIP_ROW."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_ROWEXACT* sciprowexact):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.RowExact.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_row_exact);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pyscipopt/scip.pxd":2163
 *     cdef SCIP_ROWEXACT* scip_row_exact
 *     # can be used to store problem data
 *     cdef public object data             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8RowExact_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8RowExact_4data_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8RowExact_4data___get__(((struct __pyx_obj_9pyscipopt_4scip_RowExact *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8RowExact_4data___get__(struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->data);
  __pyx_r = __pyx_v_self->data;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8RowExact_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8RowExact_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8RowExact_4data_2__set__(((struct __pyx_obj_9pyscipopt_4scip_RowExact *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8RowExact_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8RowExact_4data_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8RowExact_4data_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8RowExact_4data_4__del__(((struct __pyx_obj_9pyscipopt_4scip_RowExact *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8RowExact_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_row_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8RowExact_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8RowExact_1__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8RowExact_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8RowExact_1__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8RowExact___reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_RowExact *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8RowExact___reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_row_exact cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_row_exact cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_row_exact_cannot_be_co, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_row_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.RowExact.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_row_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_row_exact cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8RowExact_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8RowExact_3__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8RowExact_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8RowExact_3__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.RowExact.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8RowExact_2__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_RowExact *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8RowExact_2__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.scip_row_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_row_exact cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_row_exact_cannot_be_co, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_row_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_row_exact cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.RowExact.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":974
 *     """Base class holding a pointer to corresponding SCIP_NLROW."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_NLROW* scipnlrow):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_5NLRow_create(SCIP_NLROW *__pyx_v_scipnlrow) {
  struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_nlrow = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":990
 * 
 *         """
 *         if scipnlrow == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create NLRow with SCIP_NLROW* == NULL")
 *         nlrow = NLRow()
*/
  __pyx_t_1 = (__pyx_v_scipnlrow == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":991
 *         """
 *         if scipnlrow == NULL:
 *             raise Warning("cannot create NLRow with SCIP_NLROW* == NULL")             # <<<<<<<<<<<<<<
 *         nlrow = NLRow()
 *         nlrow.scip_nlrow = scipnlrow
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_create_NLRow_with_SCIP_NL};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 991, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 991, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":990
 * 
 *         """
 *         if scipnlrow == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create NLRow with SCIP_NLROW* == NULL")
 *         nlrow = NLRow()
*/
  }

  /* "src/pyscipopt/scip.pxi":992
 *         if scipnlrow == NULL:
 *             raise Warning("cannot create NLRow with SCIP_NLROW* == NULL")
 *         nlrow = NLRow()             # <<<<<<<<<<<<<<
 *         nlrow.scip_nlrow = scipnlrow
 *         return nlrow
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_NLRow, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 992, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_nlrow = ((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":993
 *             raise Warning("cannot create NLRow with SCIP_NLROW* == NULL")
 *         nlrow = NLRow()
 *         nlrow.scip_nlrow = scipnlrow             # <<<<<<<<<<<<<<
 *         return nlrow
 * 
*/
  __pyx_v_nlrow->scip_nlrow = __pyx_v_scipnlrow;

  /* "src/pyscipopt/scip.pxi":994
 *         nlrow = NLRow()
 *         nlrow.scip_nlrow = scipnlrow
 *         return nlrow             # <<<<<<<<<<<<<<
 * 
 *     property name:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_nlrow);
  __pyx_r = ((PyObject *)__pyx_v_nlrow);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":974
 *     """Base class holding a pointer to corresponding SCIP_NLROW."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_NLROW* scipnlrow):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.NLRow.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_nlrow);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":997
 * 
 *     property name:
 *         def __get__(self):             # <<<<<<<<<<<<<<
 *             cname = bytes( SCIPnlrowGetName(self.scip_nlrow) )
 *             return cname.decode('utf-8')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5NLRow_4name___get__(((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_4name___get__(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self) {
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/pyscipopt/scip.pxi":998
 *     property name:
 *         def __get__(self):
 *             cname = bytes( SCIPnlrowGetName(self.scip_nlrow) )             # <<<<<<<<<<<<<<
 *             return cname.decode('utf-8')
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPnlrowGetName(__pyx_v_self->scip_nlrow)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_cname = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":999
 *         def __get__(self):
 *             cname = bytes( SCIPnlrowGetName(self.scip_nlrow) )
 *             return cname.decode('utf-8')             # <<<<<<<<<<<<<<
 * 
 *     def getConstant(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_decode_bytes(__pyx_v_cname, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 999, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":997
 * 
 *     property name:
 *         def __get__(self):             # <<<<<<<<<<<<<<
 *             cname = bytes( SCIPnlrowGetName(self.scip_nlrow) )
 *             return cname.decode('utf-8')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.NLRow.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1001
 *             return cname.decode('utf-8')
 * 
 *     def getConstant(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the constant of a nonlinear row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_1getConstant(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5NLRow_getConstant, "\n        Returns the constant of a nonlinear row.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5NLRow_1getConstant = {"getConstant", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_1getConstant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5NLRow_getConstant};
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_1getConstant(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getConstant (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getConstant", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getConstant", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5NLRow_getConstant(((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_getConstant(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getConstant", 0);

  /* "src/pyscipopt/scip.pxi":1010
 * 
 *         """
 *         return SCIPnlrowGetConstant(self.scip_nlrow)             # <<<<<<<<<<<<<<
 * 
 *     def getLinearTerms(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPnlrowGetConstant(__pyx_v_self->scip_nlrow)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1010, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1001
 *             return cname.decode('utf-8')
 * 
 *     def getConstant(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the constant of a nonlinear row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.NLRow.getConstant", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1012
 *         return SCIPnlrowGetConstant(self.scip_nlrow)
 * 
 *     def getLinearTerms(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns a list of tuples (var, coef) representing the linear part of a nonlinear row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_3getLinearTerms(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5NLRow_2getLinearTerms, "\n        Returns a list of tuples (var, coef) representing the linear part of a nonlinear row.\n\n        Returns\n        -------\n        list of tuple\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5NLRow_3getLinearTerms = {"getLinearTerms", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_3getLinearTerms, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5NLRow_2getLinearTerms};
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_3getLinearTerms(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLinearTerms (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLinearTerms", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLinearTerms", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5NLRow_2getLinearTerms(((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_2getLinearTerms(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self) {
  SCIP_VAR **__pyx_v_linvars;
  SCIP_Real *__pyx_v_lincoefs;
  int __pyx_v_nlinvars;
  int __pyx_9genexpr26__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLinearTerms", 0);

  /* "src/pyscipopt/scip.pxi":1021
 * 
 *         """
 *         cdef SCIP_VAR** linvars = SCIPnlrowGetLinearVars(self.scip_nlrow)             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* lincoefs = SCIPnlrowGetLinearCoefs(self.scip_nlrow)
 *         cdef int nlinvars = SCIPnlrowGetNLinearVars(self.scip_nlrow)
*/
  __pyx_v_linvars = SCIPnlrowGetLinearVars(__pyx_v_self->scip_nlrow);

  /* "src/pyscipopt/scip.pxi":1022
 *         """
 *         cdef SCIP_VAR** linvars = SCIPnlrowGetLinearVars(self.scip_nlrow)
 *         cdef SCIP_Real* lincoefs = SCIPnlrowGetLinearCoefs(self.scip_nlrow)             # <<<<<<<<<<<<<<
 *         cdef int nlinvars = SCIPnlrowGetNLinearVars(self.scip_nlrow)
 *         cdef int i
*/
  __pyx_v_lincoefs = SCIPnlrowGetLinearCoefs(__pyx_v_self->scip_nlrow);

  /* "src/pyscipopt/scip.pxi":1023
 *         cdef SCIP_VAR** linvars = SCIPnlrowGetLinearVars(self.scip_nlrow)
 *         cdef SCIP_Real* lincoefs = SCIPnlrowGetLinearCoefs(self.scip_nlrow)
 *         cdef int nlinvars = SCIPnlrowGetNLinearVars(self.scip_nlrow)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         return [(Variable.create(linvars[i]), lincoefs[i]) for i in range(nlinvars)]
*/
  __pyx_v_nlinvars = SCIPnlrowGetNLinearVars(__pyx_v_self->scip_nlrow);

  /* "src/pyscipopt/scip.pxi":1025
 *         cdef int nlinvars = SCIPnlrowGetNLinearVars(self.scip_nlrow)
 *         cdef int i
 *         return [(Variable.create(linvars[i]), lincoefs[i]) for i in range(nlinvars)]             # <<<<<<<<<<<<<<
 * 
 *     def getLhs(self):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1025, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = __pyx_v_nlinvars;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_9genexpr26__pyx_v_i = __pyx_t_4;
      __pyx_t_5 = __pyx_f_9pyscipopt_4scip_8Variable_create((__pyx_v_linvars[__pyx_9genexpr26__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 1025, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = PyFloat_FromDouble((__pyx_v_lincoefs[__pyx_9genexpr26__pyx_v_i])); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1025, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1025, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GIVEREF(__pyx_t_5);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5) != (0)) __PYX_ERR(2, 1025, __pyx_L1_error);
      __Pyx_GIVEREF(__pyx_t_6);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6) != (0)) __PYX_ERR(2, 1025, __pyx_L1_error);
      __pyx_t_5 = 0;
      __pyx_t_6 = 0;
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(2, 1025, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1012
 *         return SCIPnlrowGetConstant(self.scip_nlrow)
 * 
 *     def getLinearTerms(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns a list of tuples (var, coef) representing the linear part of a nonlinear row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.NLRow.getLinearTerms", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1027
 *         return [(Variable.create(linvars[i]), lincoefs[i]) for i in range(nlinvars)]
 * 
 *     def getLhs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the left hand side of a nonlinear row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_5getLhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5NLRow_4getLhs, "\n        Returns the left hand side of a nonlinear row.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5NLRow_5getLhs = {"getLhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_5getLhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5NLRow_4getLhs};
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_5getLhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLhs (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLhs", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLhs", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5NLRow_4getLhs(((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_4getLhs(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLhs", 0);

  /* "src/pyscipopt/scip.pxi":1036
 * 
 *         """
 *         return SCIPnlrowGetLhs(self.scip_nlrow)             # <<<<<<<<<<<<<<
 * 
 *     def getRhs(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPnlrowGetLhs(__pyx_v_self->scip_nlrow)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1027
 *         return [(Variable.create(linvars[i]), lincoefs[i]) for i in range(nlinvars)]
 * 
 *     def getLhs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the left hand side of a nonlinear row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.NLRow.getLhs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1038
 *         return SCIPnlrowGetLhs(self.scip_nlrow)
 * 
 *     def getRhs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the right hand side of a nonlinear row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_7getRhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5NLRow_6getRhs, "\n        Returns the right hand side of a nonlinear row.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5NLRow_7getRhs = {"getRhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_7getRhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5NLRow_6getRhs};
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_7getRhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRhs (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getRhs", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getRhs", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5NLRow_6getRhs(((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_6getRhs(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getRhs", 0);

  /* "src/pyscipopt/scip.pxi":1047
 * 
 *         """
 *         return SCIPnlrowGetRhs(self.scip_nlrow)             # <<<<<<<<<<<<<<
 * 
 *     def getDualsol(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPnlrowGetRhs(__pyx_v_self->scip_nlrow)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1038
 *         return SCIPnlrowGetLhs(self.scip_nlrow)
 * 
 *     def getRhs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the right hand side of a nonlinear row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.NLRow.getRhs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1049
 *         return SCIPnlrowGetRhs(self.scip_nlrow)
 * 
 *     def getDualsol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the dual NLP solution of a nonlinear row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_9getDualsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5NLRow_8getDualsol, "\n        Gets the dual NLP solution of a nonlinear row.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5NLRow_9getDualsol = {"getDualsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_9getDualsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5NLRow_8getDualsol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_9getDualsol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDualsol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getDualsol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getDualsol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5NLRow_8getDualsol(((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_8getDualsol(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDualsol", 0);

  /* "src/pyscipopt/scip.pxi":1058
 * 
 *         """
 *         return SCIPnlrowGetDualsol(self.scip_nlrow)             # <<<<<<<<<<<<<<
 * 
 *     def __hash__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPnlrowGetDualsol(__pyx_v_self->scip_nlrow)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1058, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1049
 *         return SCIPnlrowGetRhs(self.scip_nlrow)
 * 
 *     def getDualsol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the dual NLP solution of a nonlinear row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.NLRow.getDualsol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1060
 *         return SCIPnlrowGetDualsol(self.scip_nlrow)
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self.scip_nlrow)
 * 
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_9pyscipopt_4scip_5NLRow_11__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_9pyscipopt_4scip_5NLRow_11__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5NLRow_10__hash__(((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_9pyscipopt_4scip_5NLRow_10__hash__(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "src/pyscipopt/scip.pxi":1061
 * 
 *     def __hash__(self):
 *         return hash(<size_t>self.scip_nlrow)             # <<<<<<<<<<<<<<
 * 
 *     def __eq__(self, other):
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((size_t)__pyx_v_self->scip_nlrow)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(2, 1061, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1060
 *         return SCIPnlrowGetDualsol(self.scip_nlrow)
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self.scip_nlrow)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.NLRow.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1063
 *         return hash(<size_t>self.scip_nlrow)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self.scip_nlrow == (<NLRow>other).scip_nlrow)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_13__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_13__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5NLRow_12__eq__(((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_12__eq__(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "src/pyscipopt/scip.pxi":1064
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self.scip_nlrow == (<NLRow>other).scip_nlrow)
 * 
*/
  __Pyx_XDECREF(__pyx_r);

  /* "src/pyscipopt/scip.pxi":1065
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self.scip_nlrow == (<NLRow>other).scip_nlrow)             # <<<<<<<<<<<<<<
 * 
 * cdef class Solution:
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "src/pyscipopt/scip.pxi":1064
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self.scip_nlrow == (<NLRow>other).scip_nlrow)
 * 
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1064, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1064, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 1064, __pyx_L1_error)
  if (__pyx_t_5) {
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_1 = __pyx_t_4;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L3_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":1065
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self.scip_nlrow == (<NLRow>other).scip_nlrow)             # <<<<<<<<<<<<<<
 * 
 * cdef class Solution:
*/
  __pyx_t_5 = (__pyx_v_self->scip_nlrow == ((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_other)->scip_nlrow);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1065, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __pyx_t_4;
  __pyx_t_4 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1063
 *         return hash(<size_t>self.scip_nlrow)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self.scip_nlrow == (<NLRow>other).scip_nlrow)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.NLRow.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pyscipopt/scip.pxd":2171
 *     cdef SCIP_NLROW* scip_nlrow
 *     # can be used to store problem data
 *     cdef public object data             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_4data_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5NLRow_4data___get__(((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_4data___get__(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->data);
  __pyx_r = __pyx_v_self->data;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_5NLRow_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_5NLRow_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5NLRow_4data_2__set__(((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_5NLRow_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_5NLRow_4data_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_5NLRow_4data_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5NLRow_4data_4__del__(((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_5NLRow_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_nlrow cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_15__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5NLRow_15__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_15__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_15__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5NLRow_14__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_14__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_nlrow cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_nlrow cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_nlrow_cannot_be_conver, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_nlrow cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.NLRow.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_nlrow cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_nlrow cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_17__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5NLRow_17__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_17__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5NLRow_17__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.NLRow.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5NLRow_16__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_NLRow *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5NLRow_16__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.scip_nlrow cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_nlrow cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_nlrow_cannot_be_conver, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_nlrow cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_nlrow cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.NLRow.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1071
 * 
 *     # We are raising an error here to avoid creating a solution without an associated model. See Issue #625
 *     def __init__(self, raise_error = True):             # <<<<<<<<<<<<<<
 *         if raise_error:
 *             raise ValueError("To create a solution you should use the createSol method of the Model class.")
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8Solution_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8Solution_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_raise_error = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_raise_error,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 1071, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1071, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(2, 1071, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1071, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_raise_error = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 1071, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Solution.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Solution___init__(((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_self), __pyx_v_raise_error);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8Solution___init__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, PyObject *__pyx_v_raise_error) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "src/pyscipopt/scip.pxi":1072
 *     # We are raising an error here to avoid creating a solution without an associated model. See Issue #625
 *     def __init__(self, raise_error = True):
 *         if raise_error:             # <<<<<<<<<<<<<<
 *             raise ValueError("To create a solution you should use the createSol method of the Model class.")
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_raise_error); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 1072, __pyx_L1_error)
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":1073
 *     def __init__(self, raise_error = True):
 *         if raise_error:
 *             raise ValueError("To create a solution you should use the createSol method of the Model class.")             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_To_create_a_solution_you_should};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1073, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 1073, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":1072
 *     # We are raising an error here to avoid creating a solution without an associated model. See Issue #625
 *     def __init__(self, raise_error = True):
 *         if raise_error:             # <<<<<<<<<<<<<<
 *             raise ValueError("To create a solution you should use the createSol method of the Model class.")
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":1071
 * 
 *     # We are raising an error here to avoid creating a solution without an associated model. See Issue #625
 *     def __init__(self, raise_error = True):             # <<<<<<<<<<<<<<
 *         if raise_error:
 *             raise ValueError("To create a solution you should use the createSol method of the Model class.")
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Solution.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1075
 *             raise ValueError("To create a solution you should use the createSol method of the Model class.")
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP* scip, SCIP_SOL* scip_sol):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_8Solution_create(SCIP *__pyx_v_scip, SCIP_SOL *__pyx_v_scip_sol) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":1094
 * 
 *         """
 *         if scip == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Solution with SCIP* == NULL")
 *         sol = Solution(raise_error=False)
*/
  __pyx_t_1 = (__pyx_v_scip == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":1095
 *         """
 *         if scip == NULL:
 *             raise Warning("cannot create Solution with SCIP* == NULL")             # <<<<<<<<<<<<<<
 *         sol = Solution(raise_error=False)
 *         sol.sol = scip_sol
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_create_Solution_with_SCIP};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1095, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 1095, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":1094
 * 
 *         """
 *         if scip == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Solution with SCIP* == NULL")
 *         sol = Solution(raise_error=False)
*/
  }

  /* "src/pyscipopt/scip.pxi":1096
 *         if scip == NULL:
 *             raise Warning("cannot create Solution with SCIP* == NULL")
 *         sol = Solution(raise_error=False)             # <<<<<<<<<<<<<<
 *         sol.sol = scip_sol
 *         sol.scip = scip
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 1096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_raise_error, Py_False, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 1096, __pyx_L1_error)
    __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1096, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":1097
 *             raise Warning("cannot create Solution with SCIP* == NULL")
 *         sol = Solution(raise_error=False)
 *         sol.sol = scip_sol             # <<<<<<<<<<<<<<
 *         sol.scip = scip
 *         return sol
*/
  __pyx_v_sol->sol = __pyx_v_scip_sol;

  /* "src/pyscipopt/scip.pxi":1098
 *         sol = Solution(raise_error=False)
 *         sol.sol = scip_sol
 *         sol.scip = scip             # <<<<<<<<<<<<<<
 *         return sol
 * 
*/
  __pyx_v_sol->scip = __pyx_v_scip;

  /* "src/pyscipopt/scip.pxi":1099
 *         sol.sol = scip_sol
 *         sol.scip = scip
 *         return sol             # <<<<<<<<<<<<<<
 * 
 *     def __getitem__(
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_sol);
  __pyx_r = ((PyObject *)__pyx_v_sol);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1075
 *             raise ValueError("To create a solution you should use the createSol method of the Model class.")
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP* scip, SCIP_SOL* scip_sol):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Solution.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_sol);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1101
 *         return sol
 * 
 *     def __getitem__(             # <<<<<<<<<<<<<<
 *         self,
 *         expr: Union[Expr, GenExpr, MatrixExpr],
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_3__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_expr); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_3__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_expr) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Solution_2__getitem__(((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_self), ((PyObject *)__pyx_v_expr));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_2__getitem__(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, PyObject *__pyx_v_expr) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__getitem__", 0);

  /* "src/pyscipopt/scip.pxi":1105
 *         expr: Union[Expr, GenExpr, MatrixExpr],
 *     ) -> Union[float, np.ndarray]:
 *         if not isinstance(expr, (Expr, GenExpr, MatrixExpr)):             # <<<<<<<<<<<<<<
 *             raise TypeError(
 *                 "Argument 'expr' has incorrect type, expected 'Expr', 'GenExpr', or "
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_MatrixExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_expr, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr); 
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_expr, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); 
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_expr, __pyx_t_1); 
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (unlikely(__pyx_t_3)) {

    /* "src/pyscipopt/scip.pxi":1106
 *     ) -> Union[float, np.ndarray]:
 *         if not isinstance(expr, (Expr, GenExpr, MatrixExpr)):
 *             raise TypeError(             # <<<<<<<<<<<<<<
 *                 "Argument 'expr' has incorrect type, expected 'Expr', 'GenExpr', or "
 *                 f"'MatrixExpr', got {type(expr).__name__!r}"
*/
    __pyx_t_4 = NULL;

    /* "src/pyscipopt/scip.pxi":1108
 *             raise TypeError(
 *                 "Argument 'expr' has incorrect type, expected 'Expr', 'GenExpr', or "
 *                 f"'MatrixExpr', got {type(expr).__name__!r}"             # <<<<<<<<<<<<<<
 *             )
 * 
*/
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)Py_TYPE(__pyx_v_expr)), __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 1108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_t_5), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":1107
 *         if not isinstance(expr, (Expr, GenExpr, MatrixExpr)):
 *             raise TypeError(
 *                 "Argument 'expr' has incorrect type, expected 'Expr', 'GenExpr', or "             # <<<<<<<<<<<<<<
 *                 f"'MatrixExpr', got {type(expr).__name__!r}"
 *             )
*/
    __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Argument_expr_has_incorrect_type, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 1107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1106, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 1106, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":1105
 *         expr: Union[Expr, GenExpr, MatrixExpr],
 *     ) -> Union[float, np.ndarray]:
 *         if not isinstance(expr, (Expr, GenExpr, MatrixExpr)):             # <<<<<<<<<<<<<<
 *             raise TypeError(
 *                 "Argument 'expr' has incorrect type, expected 'Expr', 'GenExpr', or "
*/
  }

  /* "src/pyscipopt/scip.pxi":1111
 *             )
 * 
 *         self._checkStage("SCIPgetSolVal")             # <<<<<<<<<<<<<<
 *         return expr._evaluate(self)
 * 
*/
  __pyx_t_5 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_n_u_SCIPgetSolVal};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_checkStage, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1111, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":1112
 * 
 *         self._checkStage("SCIPgetSolVal")
 *         return expr._evaluate(self)             # <<<<<<<<<<<<<<
 * 
 *     def __setitem__(self, Variable var, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_5 = __pyx_v_expr;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_evaluate, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1101
 *         return sol
 * 
 *     def __getitem__(             # <<<<<<<<<<<<<<
 *         self,
 *         expr: Union[Expr, GenExpr, MatrixExpr],
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Solution.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1114
 *         return expr._evaluate(self)
 * 
 *     def __setitem__(self, Variable var, value):             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPsetSolVal(self.scip, self.sol, var.scip_var, value))
 * 
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8Solution_5__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_var, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8Solution_5__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_var, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 1114, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Solution_4__setitem__(((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_self), ((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_var), ((PyObject *)__pyx_v_value));

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  goto __pyx_L5_cleaned_up;
  __pyx_L0:;
  __pyx_L5_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8Solution_4__setitem__(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setitem__", 0);

  /* "src/pyscipopt/scip.pxi":1115
 * 
 *     def __setitem__(self, Variable var, value):
 *         PY_SCIP_CALL(SCIPsetSolVal(self.scip, self.sol, var.scip_var, value))             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 1115, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetSolVal(__pyx_v_self->scip, __pyx_v_self->sol, __pyx_v_var->scip_var, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 1115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1115, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":1114
 *         return expr._evaluate(self)
 * 
 *     def __setitem__(self, Variable var, value):             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPsetSolVal(self.scip, self.sol, var.scip_var, value))
 * 
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Solution.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1117
 *         PY_SCIP_CALL(SCIPsetSolVal(self.scip, self.sol, var.scip_var, value))
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         cdef SCIP_VAR* scip_var
 *         cdef int i
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_7__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_7__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Solution_6__repr__(((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_6__repr__(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self) {
  SCIP_VAR *__pyx_v_scip_var;
  int __pyx_v_i;
  PyObject *__pyx_v_vals = NULL;
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/scip.pxi":1120
 *         cdef SCIP_VAR* scip_var
 *         cdef int i
 *         vals = {}             # <<<<<<<<<<<<<<
 *         self._checkStage("SCIPgetSolVal")
 *         for i in range(SCIPgetNOrigVars(self.scip)):
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_vals = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":1121
 *         cdef int i
 *         vals = {}
 *         self._checkStage("SCIPgetSolVal")             # <<<<<<<<<<<<<<
 *         for i in range(SCIPgetNOrigVars(self.scip)):
 *             scip_var = SCIPgetOrigVars(self.scip)[i]
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_n_u_SCIPgetSolVal};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_checkStage, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":1122
 *         vals = {}
 *         self._checkStage("SCIPgetSolVal")
 *         for i in range(SCIPgetNOrigVars(self.scip)):             # <<<<<<<<<<<<<<
 *             scip_var = SCIPgetOrigVars(self.scip)[i]
 *             # extract name
*/
  __pyx_t_4 = SCIPgetNOrigVars(__pyx_v_self->scip);
  __pyx_t_5 = __pyx_t_4;
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
    __pyx_v_i = __pyx_t_6;

    /* "src/pyscipopt/scip.pxi":1123
 *         self._checkStage("SCIPgetSolVal")
 *         for i in range(SCIPgetNOrigVars(self.scip)):
 *             scip_var = SCIPgetOrigVars(self.scip)[i]             # <<<<<<<<<<<<<<
 *             # extract name
 *             cname = bytes(SCIPvarGetName(scip_var))
*/
    __pyx_v_scip_var = (SCIPgetOrigVars(__pyx_v_self->scip)[__pyx_v_i]);

    /* "src/pyscipopt/scip.pxi":1125
 *             scip_var = SCIPgetOrigVars(self.scip)[i]
 *             # extract name
 *             cname = bytes(SCIPvarGetName(scip_var))             # <<<<<<<<<<<<<<
 *             name = cname.decode('utf-8')
 *             vals[name] = SCIPgetSolVal(self.scip, self.sol, scip_var)
*/
    __pyx_t_2 = NULL;
    __pyx_t_7 = __Pyx_PyBytes_FromString(SCIPvarGetName(__pyx_v_scip_var)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1125, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1125, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_XDECREF_SET(__pyx_v_cname, ((PyObject*)__pyx_t_1));
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":1126
 *             # extract name
 *             cname = bytes(SCIPvarGetName(scip_var))
 *             name = cname.decode('utf-8')             # <<<<<<<<<<<<<<
 *             vals[name] = SCIPgetSolVal(self.scip, self.sol, scip_var)
 *         return str(vals)
*/
    __pyx_t_1 = __Pyx_decode_bytes(__pyx_v_cname, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1126, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_name, ((PyObject*)__pyx_t_1));
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":1127
 *             cname = bytes(SCIPvarGetName(scip_var))
 *             name = cname.decode('utf-8')
 *             vals[name] = SCIPgetSolVal(self.scip, self.sol, scip_var)             # <<<<<<<<<<<<<<
 *         return str(vals)
 * 
*/
    __pyx_t_1 = PyFloat_FromDouble(SCIPgetSolVal(__pyx_v_self->scip, __pyx_v_self->sol, __pyx_v_scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1127, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (unlikely((PyDict_SetItem(__pyx_v_vals, __pyx_v_name, __pyx_t_1) < 0))) __PYX_ERR(2, 1127, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/scip.pxi":1128
 *             name = cname.decode('utf-8')
 *             vals[name] = SCIPgetSolVal(self.scip, self.sol, scip_var)
 *         return str(vals)             # <<<<<<<<<<<<<<
 * 
 *     def _checkStage(self, method):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_Unicode(__pyx_v_vals); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1117
 *         PY_SCIP_CALL(SCIPsetSolVal(self.scip, self.sol, var.scip_var, value))
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         cdef SCIP_VAR* scip_var
 *         cdef int i
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Solution.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_vals);
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1130
 *         return str(vals)
 * 
 *     def _checkStage(self, method):             # <<<<<<<<<<<<<<
 *         if method in ["SCIPgetSolVal", "getSolObjVal"]:
 *             stage_check = SCIPgetStage(self.scip) not in [SCIP_STAGE_INIT, SCIP_STAGE_FREE]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_9_checkStage(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Solution_9_checkStage = {"_checkStage", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Solution_9_checkStage, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_9_checkStage(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_method = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_checkStage (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_method,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 1130, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1130, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "_checkStage", 0) < (0)) __PYX_ERR(2, 1130, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_checkStage", 1, 1, 1, i); __PYX_ERR(2, 1130, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1130, __pyx_L3_error)
    }
    __pyx_v_method = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_checkStage", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 1130, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Solution._checkStage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Solution_8_checkStage(((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_self), __pyx_v_method);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_8_checkStage(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, PyObject *__pyx_v_method) {
  int __pyx_v_stage_check;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  SCIP_STAGE __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8[4];
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_checkStage", 0);

  /* "src/pyscipopt/scip.pxi":1131
 * 
 *     def _checkStage(self, method):
 *         if method in ["SCIPgetSolVal", "getSolObjVal"]:             # <<<<<<<<<<<<<<
 *             stage_check = SCIPgetStage(self.scip) not in [SCIP_STAGE_INIT, SCIP_STAGE_FREE]
 *             if not stage_check or self.sol == NULL and SCIPgetStage(self.scip) != SCIP_STAGE_SOLVING:
*/
  __Pyx_INCREF(__pyx_v_method);
  __pyx_t_1 = __pyx_v_method;
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_SCIPgetSolVal, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 1131, __pyx_L1_error)
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_getSolObjVal, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 1131, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_t_2;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":1132
 *     def _checkStage(self, method):
 *         if method in ["SCIPgetSolVal", "getSolObjVal"]:
 *             stage_check = SCIPgetStage(self.scip) not in [SCIP_STAGE_INIT, SCIP_STAGE_FREE]             # <<<<<<<<<<<<<<
 *             if not stage_check or self.sol == NULL and SCIPgetStage(self.scip) != SCIP_STAGE_SOLVING:
 *                 raise Warning(f"{method} can only be called with a valid solution or in stage SOLVING (current stage: {SCIPgetStage(self.scip)})")
*/
    __pyx_t_4 = SCIPgetStage(__pyx_v_self->scip);
    __pyx_t_2 = (__pyx_t_4 != SCIP_STAGE_INIT);
    if (__pyx_t_2) {
    } else {
      __pyx_t_3 = __pyx_t_2;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_2 = (__pyx_t_4 != SCIP_STAGE_FREE);
    __pyx_t_3 = __pyx_t_2;
    __pyx_L6_bool_binop_done:;
    __pyx_v_stage_check = __pyx_t_3;

    /* "src/pyscipopt/scip.pxi":1133
 *         if method in ["SCIPgetSolVal", "getSolObjVal"]:
 *             stage_check = SCIPgetStage(self.scip) not in [SCIP_STAGE_INIT, SCIP_STAGE_FREE]
 *             if not stage_check or self.sol == NULL and SCIPgetStage(self.scip) != SCIP_STAGE_SOLVING:             # <<<<<<<<<<<<<<
 *                 raise Warning(f"{method} can only be called with a valid solution or in stage SOLVING (current stage: {SCIPgetStage(self.scip)})")
 * 
*/
    __pyx_t_2 = (!__pyx_v_stage_check);
    if (!__pyx_t_2) {
    } else {
      __pyx_t_3 = __pyx_t_2;
      goto __pyx_L9_bool_binop_done;
    }
    __pyx_t_2 = (__pyx_v_self->sol == NULL);
    if (__pyx_t_2) {
    } else {
      __pyx_t_3 = __pyx_t_2;
      goto __pyx_L9_bool_binop_done;
    }
    __pyx_t_2 = (SCIPgetStage(__pyx_v_self->scip) != SCIP_STAGE_SOLVING);
    __pyx_t_3 = __pyx_t_2;
    __pyx_L9_bool_binop_done:;
    if (unlikely(__pyx_t_3)) {

      /* "src/pyscipopt/scip.pxi":1134
 *             stage_check = SCIPgetStage(self.scip) not in [SCIP_STAGE_INIT, SCIP_STAGE_FREE]
 *             if not stage_check or self.sol == NULL and SCIPgetStage(self.scip) != SCIP_STAGE_SOLVING:
 *                 raise Warning(f"{method} can only be called with a valid solution or in stage SOLVING (current stage: {SCIPgetStage(self.scip)})")             # <<<<<<<<<<<<<<
 * 
 *     def getOrigin(self):
*/
      __pyx_t_5 = NULL;
      __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_method, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1134, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_7 = __Pyx_PyUnicode_From_SCIP_STAGE(SCIPgetStage(__pyx_v_self->scip), 0, ' ', 'd'); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1134, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_8[0] = __pyx_t_6;
      __pyx_t_8[1] = __pyx_mstate_global->__pyx_kp_u_can_only_be_called_with_a_valid;
      __pyx_t_8[2] = __pyx_t_7;
      __pyx_t_8[3] = __pyx_mstate_global->__pyx_kp_u__5;
      __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_8, 4, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 78 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_7) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
      if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 1134, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_10 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1134, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(2, 1134, __pyx_L1_error)

      /* "src/pyscipopt/scip.pxi":1133
 *         if method in ["SCIPgetSolVal", "getSolObjVal"]:
 *             stage_check = SCIPgetStage(self.scip) not in [SCIP_STAGE_INIT, SCIP_STAGE_FREE]
 *             if not stage_check or self.sol == NULL and SCIPgetStage(self.scip) != SCIP_STAGE_SOLVING:             # <<<<<<<<<<<<<<
 *                 raise Warning(f"{method} can only be called with a valid solution or in stage SOLVING (current stage: {SCIPgetStage(self.scip)})")
 * 
*/
    }

    /* "src/pyscipopt/scip.pxi":1131
 * 
 *     def _checkStage(self, method):
 *         if method in ["SCIPgetSolVal", "getSolObjVal"]:             # <<<<<<<<<<<<<<
 *             stage_check = SCIPgetStage(self.scip) not in [SCIP_STAGE_INIT, SCIP_STAGE_FREE]
 *             if not stage_check or self.sol == NULL and SCIPgetStage(self.scip) != SCIP_STAGE_SOLVING:
*/
  }

  /* "src/pyscipopt/scip.pxi":1130
 *         return str(vals)
 * 
 *     def _checkStage(self, method):             # <<<<<<<<<<<<<<
 *         if method in ["SCIPgetSolVal", "getSolObjVal"]:
 *             stage_check = SCIPgetStage(self.scip) not in [SCIP_STAGE_INIT, SCIP_STAGE_FREE]
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.Solution._checkStage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1136
 *                 raise Warning(f"{method} can only be called with a valid solution or in stage SOLVING (current stage: {SCIPgetStage(self.scip)})")
 * 
 *     def getOrigin(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns origin of solution: where to retrieve uncached elements.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_11getOrigin(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Solution_10getOrigin, "\n        Returns origin of solution: where to retrieve uncached elements.\n\n        Returns\n        -------\n        PY_SCIP_SOLORIGIN\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Solution_11getOrigin = {"getOrigin", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Solution_11getOrigin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Solution_10getOrigin};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_11getOrigin(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getOrigin (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getOrigin", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getOrigin", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Solution_10getOrigin(((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_10getOrigin(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getOrigin", 0);

  /* "src/pyscipopt/scip.pxi":1144
 *         PY_SCIP_SOLORIGIN
 *         """
 *         return SCIPsolGetOrigin(self.sol)             # <<<<<<<<<<<<<<
 * 
 *     def retransform(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_SOLORIGIN(SCIPsolGetOrigin(__pyx_v_self->sol)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1136
 *                 raise Warning(f"{method} can only be called with a valid solution or in stage SOLVING (current stage: {SCIPgetStage(self.scip)})")
 * 
 *     def getOrigin(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns origin of solution: where to retrieve uncached elements.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Solution.getOrigin", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1146
 *         return SCIPsolGetOrigin(self.sol)
 * 
 *     def retransform(self):             # <<<<<<<<<<<<<<
 *         """ retransforms solution to original problem space """
 *         PY_SCIP_CALL(SCIPretransformSol(self.scip, self.sol))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_13retransform(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Solution_12retransform, " retransforms solution to original problem space ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Solution_13retransform = {"retransform", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Solution_13retransform, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Solution_12retransform};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_13retransform(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("retransform (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("retransform", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("retransform", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Solution_12retransform(((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_12retransform(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("retransform", 0);

  /* "src/pyscipopt/scip.pxi":1148
 *     def retransform(self):
 *         """ retransforms solution to original problem space """
 *         PY_SCIP_CALL(SCIPretransformSol(self.scip, self.sol))             # <<<<<<<<<<<<<<
 * 
 *     def translate(self, Model target):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPretransformSol(__pyx_v_self->scip, __pyx_v_self->sol)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":1146
 *         return SCIPsolGetOrigin(self.sol)
 * 
 *     def retransform(self):             # <<<<<<<<<<<<<<
 *         """ retransforms solution to original problem space """
 *         PY_SCIP_CALL(SCIPretransformSol(self.scip, self.sol))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Solution.retransform", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1150
 *         PY_SCIP_CALL(SCIPretransformSol(self.scip, self.sol))
 * 
 *     def translate(self, Model target):             # <<<<<<<<<<<<<<
 *         """
 *         translate solution to a target model solution
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_15translate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Solution_14translate, "\n        translate solution to a target model solution\n\n        Parameters\n        ----------\n        target : Model\n\n        Returns\n        -------\n        targetSol: Solution\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Solution_15translate = {"translate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Solution_15translate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Solution_14translate};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_15translate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_target = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("translate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_target,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 1150, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1150, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "translate", 0) < (0)) __PYX_ERR(2, 1150, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("translate", 1, 1, 1, i); __PYX_ERR(2, 1150, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1150, __pyx_L3_error)
    }
    __pyx_v_target = ((struct __pyx_obj_9pyscipopt_4scip_Model *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("translate", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 1150, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Solution.translate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_target), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, 1, "target", 0))) __PYX_ERR(2, 1150, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Solution_14translate(((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_self), __pyx_v_target);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_14translate(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_target) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_targetSol = 0;
  SCIP_VAR **__pyx_v_source_vars;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("translate", 0);

  /* "src/pyscipopt/scip.pxi":1162
 *         targetSol: Solution
 *         """
 *         if self.getOrigin() != SCIP_SOLORIGIN_ORIGINAL:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPretransformSol(self.scip, self.sol))
 *         cdef Solution targetSol = Solution.create(target._scip, NULL)
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getOrigin, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1162, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_SOLORIGIN(SCIP_SOLORIGIN_ORIGINAL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 1162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_5) {

    /* "src/pyscipopt/scip.pxi":1163
 *         """
 *         if self.getOrigin() != SCIP_SOLORIGIN_ORIGINAL:
 *             PY_SCIP_CALL(SCIPretransformSol(self.scip, self.sol))             # <<<<<<<<<<<<<<
 *         cdef Solution targetSol = Solution.create(target._scip, NULL)
 *         cdef SCIP_VAR** source_vars = SCIPgetOrigVars(self.scip)
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPretransformSol(__pyx_v_self->scip, __pyx_v_self->sol)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_3 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_3 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1163, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":1162
 *         targetSol: Solution
 *         """
 *         if self.getOrigin() != SCIP_SOLORIGIN_ORIGINAL:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPretransformSol(self.scip, self.sol))
 *         cdef Solution targetSol = Solution.create(target._scip, NULL)
*/
  }

  /* "src/pyscipopt/scip.pxi":1164
 *         if self.getOrigin() != SCIP_SOLORIGIN_ORIGINAL:
 *             PY_SCIP_CALL(SCIPretransformSol(self.scip, self.sol))
 *         cdef Solution targetSol = Solution.create(target._scip, NULL)             # <<<<<<<<<<<<<<
 *         cdef SCIP_VAR** source_vars = SCIPgetOrigVars(self.scip)
 *         PY_SCIP_CALL(SCIPtranslateSubSol(target._scip, self.scip, self.sol, NULL, source_vars, &(targetSol.sol)))
*/
  __pyx_t_4 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_target->_scip, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution))))) __PYX_ERR(2, 1164, __pyx_L1_error)
  __pyx_v_targetSol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":1165
 *             PY_SCIP_CALL(SCIPretransformSol(self.scip, self.sol))
 *         cdef Solution targetSol = Solution.create(target._scip, NULL)
 *         cdef SCIP_VAR** source_vars = SCIPgetOrigVars(self.scip)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPtranslateSubSol(target._scip, self.scip, self.sol, NULL, source_vars, &(targetSol.sol)))
 *         return targetSol
*/
  __pyx_v_source_vars = SCIPgetOrigVars(__pyx_v_self->scip);

  /* "src/pyscipopt/scip.pxi":1166
 *         cdef Solution targetSol = Solution.create(target._scip, NULL)
 *         cdef SCIP_VAR** source_vars = SCIPgetOrigVars(self.scip)
 *         PY_SCIP_CALL(SCIPtranslateSubSol(target._scip, self.scip, self.sol, NULL, source_vars, &(targetSol.sol)))             # <<<<<<<<<<<<<<
 *         return targetSol
 * 
*/
  __pyx_t_1 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPtranslateSubSol(__pyx_v_target->_scip, __pyx_v_self->scip, __pyx_v_self->sol, NULL, __pyx_v_source_vars, (&__pyx_v_targetSol->sol))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":1167
 *         cdef SCIP_VAR** source_vars = SCIPgetOrigVars(self.scip)
 *         PY_SCIP_CALL(SCIPtranslateSubSol(target._scip, self.scip, self.sol, NULL, source_vars, &(targetSol.sol)))
 *         return targetSol             # <<<<<<<<<<<<<<
 * 
 * cdef class BoundChange:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_targetSol);
  __pyx_r = ((PyObject *)__pyx_v_targetSol);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1150
 *         PY_SCIP_CALL(SCIPretransformSol(self.scip, self.sol))
 * 
 *     def translate(self, Model target):             # <<<<<<<<<<<<<<
 *         """
 *         translate solution to a target model solution
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Solution.translate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_targetSol);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pyscipopt/scip.pxd":2180
 *     cdef SCIP* scip
 *     # can be used to store problem data
 *     cdef public object data             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_4data_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Solution_4data___get__(((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->data);
  __pyx_r = __pyx_v_self->data;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8Solution_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8Solution_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Solution_4data_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8Solution_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8Solution_4data_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8Solution_4data_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Solution_4data_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8Solution_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip,self.sol cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Solution_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Solution_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Solution_16__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip,self.sol cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip,self.sol cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_self_sol_cannot_be_con, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip,self.sol cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Solution.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip,self.sol cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip,self.sol cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Solution_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Solution_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Solution_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Solution.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Solution_18__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Solution_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.scip,self.sol cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip,self.sol cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_self_sol_cannot_be_con, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip,self.sol cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip,self.sol cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Solution.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1172
 *     """Bound change."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_BOUNDCHG* scip_boundchg):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_11BoundChange_create(SCIP_BOUNDCHG *__pyx_v_scip_boundchg) {
  struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_boundchg = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":1188
 * 
 *         """
 *         if scip_boundchg == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create BoundChange with SCIP_BOUNDCHG* == NULL")
 *         boundchg = BoundChange()
*/
  __pyx_t_1 = (__pyx_v_scip_boundchg == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":1189
 *         """
 *         if scip_boundchg == NULL:
 *             raise Warning("cannot create BoundChange with SCIP_BOUNDCHG* == NULL")             # <<<<<<<<<<<<<<
 *         boundchg = BoundChange()
 *         boundchg.scip_boundchg = scip_boundchg
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_create_BoundChange_with_S};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1189, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 1189, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":1188
 * 
 *         """
 *         if scip_boundchg == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create BoundChange with SCIP_BOUNDCHG* == NULL")
 *         boundchg = BoundChange()
*/
  }

  /* "src/pyscipopt/scip.pxi":1190
 *         if scip_boundchg == NULL:
 *             raise Warning("cannot create BoundChange with SCIP_BOUNDCHG* == NULL")
 *         boundchg = BoundChange()             # <<<<<<<<<<<<<<
 *         boundchg.scip_boundchg = scip_boundchg
 *         return boundchg
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_BoundChange, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1190, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_boundchg = ((struct __pyx_obj_9pyscipopt_4scip_BoundChange *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":1191
 *             raise Warning("cannot create BoundChange with SCIP_BOUNDCHG* == NULL")
 *         boundchg = BoundChange()
 *         boundchg.scip_boundchg = scip_boundchg             # <<<<<<<<<<<<<<
 *         return boundchg
 * 
*/
  __pyx_v_boundchg->scip_boundchg = __pyx_v_scip_boundchg;

  /* "src/pyscipopt/scip.pxi":1192
 *         boundchg = BoundChange()
 *         boundchg.scip_boundchg = scip_boundchg
 *         return boundchg             # <<<<<<<<<<<<<<
 * 
 *     def getNewBound(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_boundchg);
  __pyx_r = ((PyObject *)__pyx_v_boundchg);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1172
 *     """Bound change."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_BOUNDCHG* scip_boundchg):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.BoundChange.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_boundchg);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1194
 *         return boundchg
 * 
 *     def getNewBound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the new value of the bound in the bound change.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_1getNewBound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_11BoundChange_getNewBound, "\n        Returns the new value of the bound in the bound change.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_11BoundChange_1getNewBound = {"getNewBound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_1getNewBound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_11BoundChange_getNewBound};
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_1getNewBound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNewBound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNewBound", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNewBound", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_11BoundChange_getNewBound(((struct __pyx_obj_9pyscipopt_4scip_BoundChange *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_getNewBound(struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNewBound", 0);

  /* "src/pyscipopt/scip.pxi":1203
 * 
 *         """
 *         return SCIPboundchgGetNewbound(self.scip_boundchg)             # <<<<<<<<<<<<<<
 * 
 *     def getVar(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPboundchgGetNewbound(__pyx_v_self->scip_boundchg)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1194
 *         return boundchg
 * 
 *     def getNewBound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the new value of the bound in the bound change.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.BoundChange.getNewBound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1205
 *         return SCIPboundchgGetNewbound(self.scip_boundchg)
 * 
 *     def getVar(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the variable of the bound change.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_3getVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_11BoundChange_2getVar, "\n        Returns the variable of the bound change.\n\n        Returns\n        -------\n        Variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_11BoundChange_3getVar = {"getVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_3getVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_11BoundChange_2getVar};
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_3getVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getVar", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getVar", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_11BoundChange_2getVar(((struct __pyx_obj_9pyscipopt_4scip_BoundChange *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_2getVar(struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVar", 0);

  /* "src/pyscipopt/scip.pxi":1214
 * 
 *         """
 *         return Variable.create(SCIPboundchgGetVar(self.scip_boundchg))             # <<<<<<<<<<<<<<
 * 
 *     def getBoundchgtype(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Variable_create(SCIPboundchgGetVar(__pyx_v_self->scip_boundchg)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1205
 *         return SCIPboundchgGetNewbound(self.scip_boundchg)
 * 
 *     def getVar(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the variable of the bound change.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.BoundChange.getVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1216
 *         return Variable.create(SCIPboundchgGetVar(self.scip_boundchg))
 * 
 *     def getBoundchgtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the bound change type of the bound change.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_5getBoundchgtype(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_11BoundChange_4getBoundchgtype, "\n        Returns the bound change type of the bound change.\n\n        Returns\n        -------\n        int\n            (0 = branching, 1 = consinfer, 2 = propinfer)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_11BoundChange_5getBoundchgtype = {"getBoundchgtype", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_5getBoundchgtype, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_11BoundChange_4getBoundchgtype};
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_5getBoundchgtype(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBoundchgtype (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getBoundchgtype", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getBoundchgtype", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_11BoundChange_4getBoundchgtype(((struct __pyx_obj_9pyscipopt_4scip_BoundChange *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_4getBoundchgtype(struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBoundchgtype", 0);

  /* "src/pyscipopt/scip.pxi":1226
 * 
 *         """
 *         return SCIPboundchgGetBoundchgtype(self.scip_boundchg)             # <<<<<<<<<<<<<<
 * 
 *     def getBoundtype(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_BOUNDCHGTYPE(SCIPboundchgGetBoundchgtype(__pyx_v_self->scip_boundchg)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1216
 *         return Variable.create(SCIPboundchgGetVar(self.scip_boundchg))
 * 
 *     def getBoundchgtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the bound change type of the bound change.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.BoundChange.getBoundchgtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1228
 *         return SCIPboundchgGetBoundchgtype(self.scip_boundchg)
 * 
 *     def getBoundtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the bound type of the bound change.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_7getBoundtype(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_11BoundChange_6getBoundtype, "\n        Returns the bound type of the bound change.\n\n        Returns\n        -------\n        int\n            (0 = lower, 1 = upper)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_11BoundChange_7getBoundtype = {"getBoundtype", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_7getBoundtype, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_11BoundChange_6getBoundtype};
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_7getBoundtype(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBoundtype (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getBoundtype", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getBoundtype", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_11BoundChange_6getBoundtype(((struct __pyx_obj_9pyscipopt_4scip_BoundChange *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_6getBoundtype(struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBoundtype", 0);

  /* "src/pyscipopt/scip.pxi":1238
 * 
 *         """
 *         return SCIPboundchgGetBoundtype(self.scip_boundchg)             # <<<<<<<<<<<<<<
 * 
 *     def isRedundant(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_BOUNDTYPE(SCIPboundchgGetBoundtype(__pyx_v_self->scip_boundchg)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1228
 *         return SCIPboundchgGetBoundchgtype(self.scip_boundchg)
 * 
 *     def getBoundtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the bound type of the bound change.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.BoundChange.getBoundtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1240
 *         return SCIPboundchgGetBoundtype(self.scip_boundchg)
 * 
 *     def isRedundant(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the bound change is redundant due to a more global bound that is at least as strong.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_9isRedundant(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_11BoundChange_8isRedundant, "\n        Returns whether the bound change is redundant due to a more global bound that is at least as strong.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_11BoundChange_9isRedundant = {"isRedundant", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_9isRedundant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_11BoundChange_8isRedundant};
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_9isRedundant(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isRedundant (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isRedundant", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isRedundant", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_11BoundChange_8isRedundant(((struct __pyx_obj_9pyscipopt_4scip_BoundChange *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_8isRedundant(struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isRedundant", 0);

  /* "src/pyscipopt/scip.pxi":1249
 * 
 *         """
 *         return SCIPboundchgIsRedundant(self.scip_boundchg)             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPboundchgIsRedundant(__pyx_v_self->scip_boundchg)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1240
 *         return SCIPboundchgGetBoundtype(self.scip_boundchg)
 * 
 *     def isRedundant(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the bound change is redundant due to a more global bound that is at least as strong.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.BoundChange.isRedundant", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1251
 *         return SCIPboundchgIsRedundant(self.scip_boundchg)
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "{} {} {}".format(self.getVar(),
 *                                  _SCIP_BOUNDTYPE_TO_STRING[self.getBoundtype()],
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_11__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_11__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_11BoundChange_10__repr__(((struct __pyx_obj_9pyscipopt_4scip_BoundChange *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_10__repr__(struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/scip.pxi":1252
 * 
 *     def __repr__(self):
 *         return "{} {} {}".format(self.getVar(),             # <<<<<<<<<<<<<<
 *                                  _SCIP_BOUNDTYPE_TO_STRING[self.getBoundtype()],
 *                                  self.getNewBound())
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_mstate_global->__pyx_kp_u__10;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getVar, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1252, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }

  /* "src/pyscipopt/scip.pxi":1253
 *     def __repr__(self):
 *         return "{} {} {}".format(self.getVar(),
 *                                  _SCIP_BOUNDTYPE_TO_STRING[self.getBoundtype()],             # <<<<<<<<<<<<<<
 *                                  self.getNewBound())
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_SCIP_BOUNDTYPE_TO_STRING); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
    __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getBoundtype, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1253, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 1253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "src/pyscipopt/scip.pxi":1254
 *         return "{} {} {}".format(self.getVar(),
 *                                  _SCIP_BOUNDTYPE_TO_STRING[self.getBoundtype()],
 *                                  self.getNewBound())             # <<<<<<<<<<<<<<
 * 
 * cdef class DomainChanges:
*/
  __pyx_t_4 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getNewBound, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_2, __pyx_t_3, __pyx_t_7, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_5, (4-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1252, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1251
 *         return SCIPboundchgIsRedundant(self.scip_boundchg)
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return "{} {} {}".format(self.getVar(),
 *                                  _SCIP_BOUNDTYPE_TO_STRING[self.getBoundtype()],
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.BoundChange.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_boundchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_11BoundChange_13__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_13__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_11BoundChange_12__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_BoundChange *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_12__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_boundchg cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_boundchg cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_boundchg_cannot_be_con, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_boundchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.BoundChange.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_boundchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_boundchg cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_11BoundChange_15__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_11BoundChange_15__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.BoundChange.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_11BoundChange_14__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_BoundChange *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_11BoundChange_14__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_BoundChange *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.scip_boundchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_boundchg cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_boundchg_cannot_be_con, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_boundchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_boundchg cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.BoundChange.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1259
 *     """Set of domain changes."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_DOMCHG* scip_domchg):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_13DomainChanges_create(SCIP_DOMCHG *__pyx_v_scip_domchg) {
  struct __pyx_obj_9pyscipopt_4scip_DomainChanges *__pyx_v_domchg = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":1275
 * 
 *         """
 *         if scip_domchg == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create DomainChanges with SCIP_DOMCHG* == NULL")
 *         domchg = DomainChanges()
*/
  __pyx_t_1 = (__pyx_v_scip_domchg == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":1276
 *         """
 *         if scip_domchg == NULL:
 *             raise Warning("cannot create DomainChanges with SCIP_DOMCHG* == NULL")             # <<<<<<<<<<<<<<
 *         domchg = DomainChanges()
 *         domchg.scip_domchg = scip_domchg
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_create_DomainChanges_with};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1276, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 1276, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":1275
 * 
 *         """
 *         if scip_domchg == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create DomainChanges with SCIP_DOMCHG* == NULL")
 *         domchg = DomainChanges()
*/
  }

  /* "src/pyscipopt/scip.pxi":1277
 *         if scip_domchg == NULL:
 *             raise Warning("cannot create DomainChanges with SCIP_DOMCHG* == NULL")
 *         domchg = DomainChanges()             # <<<<<<<<<<<<<<
 *         domchg.scip_domchg = scip_domchg
 *         return domchg
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_DomainChanges, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1277, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_domchg = ((struct __pyx_obj_9pyscipopt_4scip_DomainChanges *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":1278
 *             raise Warning("cannot create DomainChanges with SCIP_DOMCHG* == NULL")
 *         domchg = DomainChanges()
 *         domchg.scip_domchg = scip_domchg             # <<<<<<<<<<<<<<
 *         return domchg
 * 
*/
  __pyx_v_domchg->scip_domchg = __pyx_v_scip_domchg;

  /* "src/pyscipopt/scip.pxi":1279
 *         domchg = DomainChanges()
 *         domchg.scip_domchg = scip_domchg
 *         return domchg             # <<<<<<<<<<<<<<
 * 
 *     def getBoundchgs(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_domchg);
  __pyx_r = ((PyObject *)__pyx_v_domchg);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1259
 *     """Set of domain changes."""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_DOMCHG* scip_domchg):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.DomainChanges.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_domchg);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1281
 *         return domchg
 * 
 *     def getBoundchgs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the bound changes in the domain change.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_13DomainChanges_1getBoundchgs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_13DomainChanges_getBoundchgs, "\n        Returns the bound changes in the domain change.\n\n        Returns\n        -------\n        list of BoundChange\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_13DomainChanges_1getBoundchgs = {"getBoundchgs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_13DomainChanges_1getBoundchgs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_13DomainChanges_getBoundchgs};
static PyObject *__pyx_pw_9pyscipopt_4scip_13DomainChanges_1getBoundchgs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBoundchgs (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getBoundchgs", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getBoundchgs", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_13DomainChanges_getBoundchgs(((struct __pyx_obj_9pyscipopt_4scip_DomainChanges *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_13DomainChanges_getBoundchgs(struct __pyx_obj_9pyscipopt_4scip_DomainChanges *__pyx_v_self) {
  int __pyx_v_nboundchgs;
  int __pyx_9genexpr27__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBoundchgs", 0);

  /* "src/pyscipopt/scip.pxi":1290
 * 
 *         """
 *         cdef int nboundchgs = SCIPdomchgGetNBoundchgs(self.scip_domchg)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         return [BoundChange.create(SCIPdomchgGetBoundchg(self.scip_domchg, i))
*/
  __pyx_v_nboundchgs = SCIPdomchgGetNBoundchgs(__pyx_v_self->scip_domchg);

  /* "src/pyscipopt/scip.pxi":1292
 *         cdef int nboundchgs = SCIPdomchgGetNBoundchgs(self.scip_domchg)
 *         cdef int i
 *         return [BoundChange.create(SCIPdomchgGetBoundchg(self.scip_domchg, i))             # <<<<<<<<<<<<<<
 *                 for i in range(nboundchgs)]
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);

    /* "src/pyscipopt/scip.pxi":1293
 *         cdef int i
 *         return [BoundChange.create(SCIPdomchgGetBoundchg(self.scip_domchg, i))
 *                 for i in range(nboundchgs)]             # <<<<<<<<<<<<<<
 * 
 * cdef class Node:
*/
    __pyx_t_2 = __pyx_v_nboundchgs;
    __pyx_t_3 = __pyx_t_2;
    for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
      __pyx_9genexpr27__pyx_v_i = __pyx_t_4;

      /* "src/pyscipopt/scip.pxi":1292
 *         cdef int nboundchgs = SCIPdomchgGetNBoundchgs(self.scip_domchg)
 *         cdef int i
 *         return [BoundChange.create(SCIPdomchgGetBoundchg(self.scip_domchg, i))             # <<<<<<<<<<<<<<
 *                 for i in range(nboundchgs)]
 * 
*/
      __pyx_t_5 = __pyx_f_9pyscipopt_4scip_11BoundChange_create(SCIPdomchgGetBoundchg(__pyx_v_self->scip_domchg, __pyx_9genexpr27__pyx_v_i)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 1292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(2, 1292, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1281
 *         return domchg
 * 
 *     def getBoundchgs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the bound changes in the domain change.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.DomainChanges.getBoundchgs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_domchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_13DomainChanges_3__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_13DomainChanges_3__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_13DomainChanges_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_13DomainChanges_3__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_13DomainChanges_2__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_DomainChanges *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_13DomainChanges_2__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_DomainChanges *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_domchg cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_domchg cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_domchg_cannot_be_conve, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_domchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.DomainChanges.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_domchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_domchg cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_13DomainChanges_5__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_13DomainChanges_5__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_13DomainChanges_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_13DomainChanges_5__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.DomainChanges.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_13DomainChanges_4__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_DomainChanges *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_13DomainChanges_4__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_DomainChanges *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.scip_domchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_domchg cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_domchg_cannot_be_conve, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_domchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_domchg cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.DomainChanges.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1298
 *     """Base class holding a pointer to corresponding SCIP_NODE"""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_NODE* scipnode):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_4Node_create(SCIP_NODE *__pyx_v_scipnode) {
  struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":1314
 * 
 *         """
 *         if scipnode == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         node = Node()
*/
  __pyx_t_1 = (__pyx_v_scipnode == NULL);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1315
 *         """
 *         if scipnode == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         node = Node()
 *         node.scip_node = scipnode
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1314
 * 
 *         """
 *         if scipnode == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         node = Node()
*/
  }

  /* "src/pyscipopt/scip.pxi":1316
 *         if scipnode == NULL:
 *             return None
 *         node = Node()             # <<<<<<<<<<<<<<
 *         node.scip_node = scipnode
 *         return node
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1316, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_node = ((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":1317
 *             return None
 *         node = Node()
 *         node.scip_node = scipnode             # <<<<<<<<<<<<<<
 *         return node
 * 
*/
  __pyx_v_node->scip_node = __pyx_v_scipnode;

  /* "src/pyscipopt/scip.pxi":1318
 *         node = Node()
 *         node.scip_node = scipnode
 *         return node             # <<<<<<<<<<<<<<
 * 
 *     def getParent(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_node);
  __pyx_r = ((PyObject *)__pyx_v_node);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1298
 *     """Base class holding a pointer to corresponding SCIP_NODE"""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_NODE* scipnode):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Node.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_node);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1320
 *         return node
 * 
 *     def getParent(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve parent node (or None if the node has no parent node).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_1getParent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_getParent, "\n        Retrieve parent node (or None if the node has no parent node).\n\n        Returns\n        -------\n        Node\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_1getParent = {"getParent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_1getParent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_getParent};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_1getParent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getParent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getParent", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getParent", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_getParent(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_getParent(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getParent", 0);

  /* "src/pyscipopt/scip.pxi":1329
 * 
 *         """
 *         return Node.create(SCIPnodeGetParent(self.scip_node))             # <<<<<<<<<<<<<<
 * 
 *     def getNumber(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(SCIPnodeGetParent(__pyx_v_self->scip_node)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1320
 *         return node
 * 
 *     def getParent(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve parent node (or None if the node has no parent node).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Node.getParent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1331
 *         return Node.create(SCIPnodeGetParent(self.scip_node))
 * 
 *     def getNumber(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_3getNumber(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_2getNumber, "\n        Retrieve number of node.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_3getNumber = {"getNumber", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_3getNumber, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_2getNumber};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_3getNumber(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNumber (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNumber", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNumber", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_2getNumber(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_2getNumber(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNumber", 0);

  /* "src/pyscipopt/scip.pxi":1340
 * 
 *         """
 *         return SCIPnodeGetNumber(self.scip_node)             # <<<<<<<<<<<<<<
 * 
 *     def getDepth(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(SCIPnodeGetNumber(__pyx_v_self->scip_node)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1331
 *         return Node.create(SCIPnodeGetParent(self.scip_node))
 * 
 *     def getNumber(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Node.getNumber", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1342
 *         return SCIPnodeGetNumber(self.scip_node)
 * 
 *     def getDepth(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve depth of node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_5getDepth(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_4getDepth, "\n        Retrieve depth of node.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_5getDepth = {"getDepth", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_5getDepth, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_4getDepth};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_5getDepth(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDepth (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getDepth", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getDepth", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_4getDepth(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_4getDepth(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDepth", 0);

  /* "src/pyscipopt/scip.pxi":1351
 * 
 *         """
 *         return SCIPnodeGetDepth(self.scip_node)             # <<<<<<<<<<<<<<
 * 
 *     def getType(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPnodeGetDepth(__pyx_v_self->scip_node)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1342
 *         return SCIPnodeGetNumber(self.scip_node)
 * 
 *     def getDepth(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve depth of node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Node.getDepth", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1353
 *         return SCIPnodeGetDepth(self.scip_node)
 * 
 *     def getType(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve type of node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_7getType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_6getType, "\n        Retrieve type of node.\n\n        Returns\n        -------\n        PY_SCIP_NODETYPE\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_7getType = {"getType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_7getType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_6getType};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_7getType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getType (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getType", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getType", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_6getType(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_6getType(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getType", 0);

  /* "src/pyscipopt/scip.pxi":1362
 * 
 *         """
 *         return SCIPnodeGetType(self.scip_node)             # <<<<<<<<<<<<<<
 * 
 *     def getLowerbound(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_NODETYPE(SCIPnodeGetType(__pyx_v_self->scip_node)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1353
 *         return SCIPnodeGetDepth(self.scip_node)
 * 
 *     def getType(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve type of node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Node.getType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1364
 *         return SCIPnodeGetType(self.scip_node)
 * 
 *     def getLowerbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve lower bound of node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_9getLowerbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_8getLowerbound, "\n        Retrieve lower bound of node.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_9getLowerbound = {"getLowerbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_9getLowerbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_8getLowerbound};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_9getLowerbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLowerbound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLowerbound", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLowerbound", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_8getLowerbound(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_8getLowerbound(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLowerbound", 0);

  /* "src/pyscipopt/scip.pxi":1373
 * 
 *         """
 *         return SCIPnodeGetLowerbound(self.scip_node)             # <<<<<<<<<<<<<<
 * 
 *     def getEstimate(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPnodeGetLowerbound(__pyx_v_self->scip_node)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1373, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1364
 *         return SCIPnodeGetType(self.scip_node)
 * 
 *     def getLowerbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve lower bound of node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Node.getLowerbound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1375
 *         return SCIPnodeGetLowerbound(self.scip_node)
 * 
 *     def getEstimate(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the estimated value of the best feasible solution in subtree of the node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_11getEstimate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_10getEstimate, "\n        Retrieve the estimated value of the best feasible solution in subtree of the node.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_11getEstimate = {"getEstimate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_11getEstimate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_10getEstimate};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_11getEstimate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getEstimate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getEstimate", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getEstimate", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_10getEstimate(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_10getEstimate(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getEstimate", 0);

  /* "src/pyscipopt/scip.pxi":1384
 * 
 *         """
 *         return SCIPnodeGetEstimate(self.scip_node)             # <<<<<<<<<<<<<<
 * 
 *     def getAddedConss(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPnodeGetEstimate(__pyx_v_self->scip_node)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1375
 *         return SCIPnodeGetLowerbound(self.scip_node)
 * 
 *     def getEstimate(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the estimated value of the best feasible solution in subtree of the node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Node.getEstimate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1386
 *         return SCIPnodeGetEstimate(self.scip_node)
 * 
 *     def getAddedConss(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve all constraints added at this node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_13getAddedConss(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_12getAddedConss, "\n        Retrieve all constraints added at this node.\n\n        Returns\n        -------\n        list of Constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_13getAddedConss = {"getAddedConss", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_13getAddedConss, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_12getAddedConss};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_13getAddedConss(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getAddedConss (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getAddedConss", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getAddedConss", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_12getAddedConss(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_12getAddedConss(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  int __pyx_v_addedconsssize;
  SCIP_CONS **__pyx_v_addedconss;
  int __pyx_v_nconss;
  PyObject *__pyx_v_constraints = NULL;
  int __pyx_9genexpr28__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getAddedConss", 0);

  /* "src/pyscipopt/scip.pxi":1395
 * 
 *         """
 *         cdef int addedconsssize = SCIPnodeGetNAddedConss(self.scip_node)             # <<<<<<<<<<<<<<
 *         if addedconsssize == 0:
 *             return []
*/
  __pyx_v_addedconsssize = SCIPnodeGetNAddedConss(__pyx_v_self->scip_node);

  /* "src/pyscipopt/scip.pxi":1396
 *         """
 *         cdef int addedconsssize = SCIPnodeGetNAddedConss(self.scip_node)
 *         if addedconsssize == 0:             # <<<<<<<<<<<<<<
 *             return []
 *         cdef SCIP_CONS** addedconss = <SCIP_CONS**> malloc(addedconsssize * sizeof(SCIP_CONS*))
*/
  __pyx_t_1 = (__pyx_v_addedconsssize == 0);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1397
 *         cdef int addedconsssize = SCIPnodeGetNAddedConss(self.scip_node)
 *         if addedconsssize == 0:
 *             return []             # <<<<<<<<<<<<<<
 *         cdef SCIP_CONS** addedconss = <SCIP_CONS**> malloc(addedconsssize * sizeof(SCIP_CONS*))
 *         cdef int nconss
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1396
 *         """
 *         cdef int addedconsssize = SCIPnodeGetNAddedConss(self.scip_node)
 *         if addedconsssize == 0:             # <<<<<<<<<<<<<<
 *             return []
 *         cdef SCIP_CONS** addedconss = <SCIP_CONS**> malloc(addedconsssize * sizeof(SCIP_CONS*))
*/
  }

  /* "src/pyscipopt/scip.pxi":1398
 *         if addedconsssize == 0:
 *             return []
 *         cdef SCIP_CONS** addedconss = <SCIP_CONS**> malloc(addedconsssize * sizeof(SCIP_CONS*))             # <<<<<<<<<<<<<<
 *         cdef int nconss
 *         cdef int i
*/
  __pyx_v_addedconss = ((SCIP_CONS **)malloc((__pyx_v_addedconsssize * (sizeof(SCIP_CONS *)))));

  /* "src/pyscipopt/scip.pxi":1401
 *         cdef int nconss
 *         cdef int i
 *         SCIPnodeGetAddedConss(self.scip_node, addedconss, &nconss, addedconsssize)             # <<<<<<<<<<<<<<
 *         assert nconss == addedconsssize
 *         constraints = [Constraint.create(addedconss[i]) for i in range(nconss)]
*/
  SCIPnodeGetAddedConss(__pyx_v_self->scip_node, __pyx_v_addedconss, (&__pyx_v_nconss), __pyx_v_addedconsssize);

  /* "src/pyscipopt/scip.pxi":1402
 *         cdef int i
 *         SCIPnodeGetAddedConss(self.scip_node, addedconss, &nconss, addedconsssize)
 *         assert nconss == addedconsssize             # <<<<<<<<<<<<<<
 *         constraints = [Constraint.create(addedconss[i]) for i in range(nconss)]
 *         free(addedconss)
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (__pyx_v_nconss == __pyx_v_addedconsssize);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(2, 1402, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 1402, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":1403
 *         SCIPnodeGetAddedConss(self.scip_node, addedconss, &nconss, addedconsssize)
 *         assert nconss == addedconsssize
 *         constraints = [Constraint.create(addedconss[i]) for i in range(nconss)]             # <<<<<<<<<<<<<<
 *         free(addedconss)
 *         return constraints
*/
  { /* enter inner scope */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1403, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_v_nconss;
    __pyx_t_4 = __pyx_t_3;
    for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
      __pyx_9genexpr28__pyx_v_i = __pyx_t_5;
      __pyx_t_6 = __pyx_f_9pyscipopt_4scip_10Constraint_create((__pyx_v_addedconss[__pyx_9genexpr28__pyx_v_i])); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1403, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(2, 1403, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  } /* exit inner scope */
  __pyx_v_constraints = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":1404
 *         assert nconss == addedconsssize
 *         constraints = [Constraint.create(addedconss[i]) for i in range(nconss)]
 *         free(addedconss)             # <<<<<<<<<<<<<<
 *         return constraints
 * 
*/
  free(__pyx_v_addedconss);

  /* "src/pyscipopt/scip.pxi":1405
 *         constraints = [Constraint.create(addedconss[i]) for i in range(nconss)]
 *         free(addedconss)
 *         return constraints             # <<<<<<<<<<<<<<
 * 
 *     def getNAddedConss(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_constraints);
  __pyx_r = __pyx_v_constraints;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1386
 *         return SCIPnodeGetEstimate(self.scip_node)
 * 
 *     def getAddedConss(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve all constraints added at this node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Node.getAddedConss", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1407
 *         return constraints
 * 
 *     def getNAddedConss(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of added constraints at this node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_15getNAddedConss(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_14getNAddedConss, "\n        Retrieve number of added constraints at this node.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_15getNAddedConss = {"getNAddedConss", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_15getNAddedConss, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_14getNAddedConss};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_15getNAddedConss(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNAddedConss (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNAddedConss", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNAddedConss", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_14getNAddedConss(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_14getNAddedConss(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNAddedConss", 0);

  /* "src/pyscipopt/scip.pxi":1416
 * 
 *         """
 *         return SCIPnodeGetNAddedConss(self.scip_node)             # <<<<<<<<<<<<<<
 * 
 *     def isActive(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPnodeGetNAddedConss(__pyx_v_self->scip_node)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1407
 *         return constraints
 * 
 *     def getNAddedConss(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of added constraints at this node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Node.getNAddedConss", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1418
 *         return SCIPnodeGetNAddedConss(self.scip_node)
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Is the node in the path to the current node?
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_17isActive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_16isActive, "\n        Is the node in the path to the current node?\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_17isActive = {"isActive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_17isActive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_16isActive};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_17isActive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isActive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isActive", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isActive", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_16isActive(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_16isActive(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isActive", 0);

  /* "src/pyscipopt/scip.pxi":1427
 * 
 *         """
 *         return SCIPnodeIsActive(self.scip_node)             # <<<<<<<<<<<<<<
 * 
 *     def isPropagatedAgain(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPnodeIsActive(__pyx_v_self->scip_node)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1418
 *         return SCIPnodeGetNAddedConss(self.scip_node)
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Is the node in the path to the current node?
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Node.isActive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1429
 *         return SCIPnodeIsActive(self.scip_node)
 * 
 *     def isPropagatedAgain(self):             # <<<<<<<<<<<<<<
 *         """
 *         Is the node marked to be propagated again?
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_19isPropagatedAgain(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_18isPropagatedAgain, "\n        Is the node marked to be propagated again?\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_19isPropagatedAgain = {"isPropagatedAgain", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_19isPropagatedAgain, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_18isPropagatedAgain};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_19isPropagatedAgain(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isPropagatedAgain (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isPropagatedAgain", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isPropagatedAgain", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_18isPropagatedAgain(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_18isPropagatedAgain(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isPropagatedAgain", 0);

  /* "src/pyscipopt/scip.pxi":1438
 * 
 *         """
 *         return SCIPnodeIsPropagatedAgain(self.scip_node)             # <<<<<<<<<<<<<<
 * 
 *     def getNParentBranchings(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPnodeIsPropagatedAgain(__pyx_v_self->scip_node)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1429
 *         return SCIPnodeIsActive(self.scip_node)
 * 
 *     def isPropagatedAgain(self):             # <<<<<<<<<<<<<<
 *         """
 *         Is the node marked to be propagated again?
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Node.isPropagatedAgain", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1440
 *         return SCIPnodeIsPropagatedAgain(self.scip_node)
 * 
 *     def getNParentBranchings(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of variable branchings that were performed in the parent node to create this node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_21getNParentBranchings(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_20getNParentBranchings, "\n        Retrieve the number of variable branchings that were performed in the parent node to create this node.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_21getNParentBranchings = {"getNParentBranchings", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_21getNParentBranchings, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_20getNParentBranchings};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_21getNParentBranchings(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNParentBranchings (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNParentBranchings", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNParentBranchings", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_20getNParentBranchings(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_20getNParentBranchings(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  SCIP_VAR *__pyx_v_dummy_branchvars;
  SCIP_Real __pyx_v_dummy_branchbounds;
  SCIP_BOUNDTYPE __pyx_v_dummy_boundtypes;
  int __pyx_v_nbranchvars;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNParentBranchings", 0);

  /* "src/pyscipopt/scip.pxi":1456
 *         # number of parent branchings, i.e., SCIPnodeGetNParentBranchings() does
 *         # not exist.
 *         SCIPnodeGetParentBranchings(self.scip_node, &dummy_branchvars,             # <<<<<<<<<<<<<<
 *                                     &dummy_branchbounds, &dummy_boundtypes,
 *                                     &nbranchvars, 0)
*/
  SCIPnodeGetParentBranchings(__pyx_v_self->scip_node, (&__pyx_v_dummy_branchvars), (&__pyx_v_dummy_branchbounds), (&__pyx_v_dummy_boundtypes), (&__pyx_v_nbranchvars), 0);

  /* "src/pyscipopt/scip.pxi":1459
 *                                     &dummy_branchbounds, &dummy_boundtypes,
 *                                     &nbranchvars, 0)
 *         return nbranchvars             # <<<<<<<<<<<<<<
 * 
 *     def getParentBranchings(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_nbranchvars); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1440
 *         return SCIPnodeIsPropagatedAgain(self.scip_node)
 * 
 *     def getNParentBranchings(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of variable branchings that were performed in the parent node to create this node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Node.getNParentBranchings", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1461
 *         return nbranchvars
 * 
 *     def getParentBranchings(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the set of variable branchings that were performed in the parent node to create this node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_23getParentBranchings(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_22getParentBranchings, "\n        Retrieve the set of variable branchings that were performed in the parent node to create this node.\n\n        Returns\n        -------\n        list of Variable\n        list of float\n        list of int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_23getParentBranchings = {"getParentBranchings", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_23getParentBranchings, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_22getParentBranchings};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_23getParentBranchings(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getParentBranchings (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getParentBranchings", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getParentBranchings", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_22getParentBranchings(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_22getParentBranchings(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  int __pyx_v_nbranchvars;
  SCIP_VAR **__pyx_v_branchvars;
  SCIP_Real *__pyx_v_branchbounds;
  SCIP_BOUNDTYPE *__pyx_v_boundtypes;
  PyObject *__pyx_v_py_variables = NULL;
  PyObject *__pyx_v_py_branchbounds = NULL;
  PyObject *__pyx_v_py_boundtypes = NULL;
  int __pyx_9genexpr29__pyx_v_i;
  int __pyx_9genexpr30__pyx_v_i;
  int __pyx_9genexpr31__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getParentBranchings", 0);

  /* "src/pyscipopt/scip.pxi":1472
 * 
 *         """
 *         cdef int nbranchvars = self.getNParentBranchings()             # <<<<<<<<<<<<<<
 *         if nbranchvars == 0:
 *             return None
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getNParentBranchings, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1472, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 1472, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_nbranchvars = __pyx_t_4;

  /* "src/pyscipopt/scip.pxi":1473
 *         """
 *         cdef int nbranchvars = self.getNParentBranchings()
 *         if nbranchvars == 0:             # <<<<<<<<<<<<<<
 *             return None
 *         cdef SCIP_VAR** branchvars = <SCIP_VAR**> malloc(nbranchvars * sizeof(SCIP_VAR*))
*/
  __pyx_t_5 = (__pyx_v_nbranchvars == 0);
  if (__pyx_t_5) {

    /* "src/pyscipopt/scip.pxi":1474
 *         cdef int nbranchvars = self.getNParentBranchings()
 *         if nbranchvars == 0:
 *             return None             # <<<<<<<<<<<<<<
 *         cdef SCIP_VAR** branchvars = <SCIP_VAR**> malloc(nbranchvars * sizeof(SCIP_VAR*))
 *         cdef SCIP_Real* branchbounds = <SCIP_Real*> malloc(nbranchvars * sizeof(SCIP_Real))
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1473
 *         """
 *         cdef int nbranchvars = self.getNParentBranchings()
 *         if nbranchvars == 0:             # <<<<<<<<<<<<<<
 *             return None
 *         cdef SCIP_VAR** branchvars = <SCIP_VAR**> malloc(nbranchvars * sizeof(SCIP_VAR*))
*/
  }

  /* "src/pyscipopt/scip.pxi":1475
 *         if nbranchvars == 0:
 *             return None
 *         cdef SCIP_VAR** branchvars = <SCIP_VAR**> malloc(nbranchvars * sizeof(SCIP_VAR*))             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* branchbounds = <SCIP_Real*> malloc(nbranchvars * sizeof(SCIP_Real))
 *         cdef SCIP_BOUNDTYPE* boundtypes = <SCIP_BOUNDTYPE*> malloc(nbranchvars * sizeof(SCIP_BOUNDTYPE))
*/
  __pyx_v_branchvars = ((SCIP_VAR **)malloc((__pyx_v_nbranchvars * (sizeof(SCIP_VAR *)))));

  /* "src/pyscipopt/scip.pxi":1476
 *             return None
 *         cdef SCIP_VAR** branchvars = <SCIP_VAR**> malloc(nbranchvars * sizeof(SCIP_VAR*))
 *         cdef SCIP_Real* branchbounds = <SCIP_Real*> malloc(nbranchvars * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef SCIP_BOUNDTYPE* boundtypes = <SCIP_BOUNDTYPE*> malloc(nbranchvars * sizeof(SCIP_BOUNDTYPE))
 *         cdef int i
*/
  __pyx_v_branchbounds = ((SCIP_Real *)malloc((__pyx_v_nbranchvars * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/scip.pxi":1477
 *         cdef SCIP_VAR** branchvars = <SCIP_VAR**> malloc(nbranchvars * sizeof(SCIP_VAR*))
 *         cdef SCIP_Real* branchbounds = <SCIP_Real*> malloc(nbranchvars * sizeof(SCIP_Real))
 *         cdef SCIP_BOUNDTYPE* boundtypes = <SCIP_BOUNDTYPE*> malloc(nbranchvars * sizeof(SCIP_BOUNDTYPE))             # <<<<<<<<<<<<<<
 *         cdef int i
 *         SCIPnodeGetParentBranchings(self.scip_node, branchvars, branchbounds,
*/
  __pyx_v_boundtypes = ((SCIP_BOUNDTYPE *)malloc((__pyx_v_nbranchvars * (sizeof(SCIP_BOUNDTYPE)))));

  /* "src/pyscipopt/scip.pxi":1479
 *         cdef SCIP_BOUNDTYPE* boundtypes = <SCIP_BOUNDTYPE*> malloc(nbranchvars * sizeof(SCIP_BOUNDTYPE))
 *         cdef int i
 *         SCIPnodeGetParentBranchings(self.scip_node, branchvars, branchbounds,             # <<<<<<<<<<<<<<
 *                                     boundtypes, &nbranchvars, nbranchvars)
 * 
*/
  SCIPnodeGetParentBranchings(__pyx_v_self->scip_node, __pyx_v_branchvars, __pyx_v_branchbounds, __pyx_v_boundtypes, (&__pyx_v_nbranchvars), __pyx_v_nbranchvars);

  /* "src/pyscipopt/scip.pxi":1482
 *                                     boundtypes, &nbranchvars, nbranchvars)
 * 
 *         py_variables = [Variable.create(branchvars[i]) for i in range(nbranchvars)]             # <<<<<<<<<<<<<<
 *         py_branchbounds = [branchbounds[i] for i in range(nbranchvars)]
 *         py_boundtypes = [boundtypes[i] for i in range(nbranchvars)]
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __pyx_v_nbranchvars;
    __pyx_t_6 = __pyx_t_4;
    for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
      __pyx_9genexpr29__pyx_v_i = __pyx_t_7;
      __pyx_t_2 = __pyx_f_9pyscipopt_4scip_8Variable_create((__pyx_v_branchvars[__pyx_9genexpr29__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1482, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(2, 1482, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
  } /* exit inner scope */
  __pyx_v_py_variables = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":1483
 * 
 *         py_variables = [Variable.create(branchvars[i]) for i in range(nbranchvars)]
 *         py_branchbounds = [branchbounds[i] for i in range(nbranchvars)]             # <<<<<<<<<<<<<<
 *         py_boundtypes = [boundtypes[i] for i in range(nbranchvars)]
 *         free(boundtypes)
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __pyx_v_nbranchvars;
    __pyx_t_6 = __pyx_t_4;
    for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
      __pyx_9genexpr30__pyx_v_i = __pyx_t_7;
      __pyx_t_2 = PyFloat_FromDouble((__pyx_v_branchbounds[__pyx_9genexpr30__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1483, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(2, 1483, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
  } /* exit inner scope */
  __pyx_v_py_branchbounds = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":1484
 *         py_variables = [Variable.create(branchvars[i]) for i in range(nbranchvars)]
 *         py_branchbounds = [branchbounds[i] for i in range(nbranchvars)]
 *         py_boundtypes = [boundtypes[i] for i in range(nbranchvars)]             # <<<<<<<<<<<<<<
 *         free(boundtypes)
 *         free(branchbounds)
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __pyx_v_nbranchvars;
    __pyx_t_6 = __pyx_t_4;
    for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
      __pyx_9genexpr31__pyx_v_i = __pyx_t_7;
      __pyx_t_2 = __Pyx_PyLong_From_SCIP_BOUNDTYPE((__pyx_v_boundtypes[__pyx_9genexpr31__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1484, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(2, 1484, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
  } /* exit inner scope */
  __pyx_v_py_boundtypes = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":1485
 *         py_branchbounds = [branchbounds[i] for i in range(nbranchvars)]
 *         py_boundtypes = [boundtypes[i] for i in range(nbranchvars)]
 *         free(boundtypes)             # <<<<<<<<<<<<<<
 *         free(branchbounds)
 *         free(branchvars)
*/
  free(__pyx_v_boundtypes);

  /* "src/pyscipopt/scip.pxi":1486
 *         py_boundtypes = [boundtypes[i] for i in range(nbranchvars)]
 *         free(boundtypes)
 *         free(branchbounds)             # <<<<<<<<<<<<<<
 *         free(branchvars)
 *         return py_variables, py_branchbounds, py_boundtypes
*/
  free(__pyx_v_branchbounds);

  /* "src/pyscipopt/scip.pxi":1487
 *         free(boundtypes)
 *         free(branchbounds)
 *         free(branchvars)             # <<<<<<<<<<<<<<
 *         return py_variables, py_branchbounds, py_boundtypes
 * 
*/
  free(__pyx_v_branchvars);

  /* "src/pyscipopt/scip.pxi":1488
 *         free(branchbounds)
 *         free(branchvars)
 *         return py_variables, py_branchbounds, py_boundtypes             # <<<<<<<<<<<<<<
 * 
 *     def getNDomchg(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_py_variables);
  __Pyx_GIVEREF(__pyx_v_py_variables);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_py_variables) != (0)) __PYX_ERR(2, 1488, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_py_branchbounds);
  __Pyx_GIVEREF(__pyx_v_py_branchbounds);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_py_branchbounds) != (0)) __PYX_ERR(2, 1488, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_py_boundtypes);
  __Pyx_GIVEREF(__pyx_v_py_boundtypes);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_py_boundtypes) != (0)) __PYX_ERR(2, 1488, __pyx_L1_error);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1461
 *         return nbranchvars
 * 
 *     def getParentBranchings(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the set of variable branchings that were performed in the parent node to create this node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Node.getParentBranchings", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_py_variables);
  __Pyx_XDECREF(__pyx_v_py_branchbounds);
  __Pyx_XDECREF(__pyx_v_py_boundtypes);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1490
 *         return py_variables, py_branchbounds, py_boundtypes
 * 
 *     def getNDomchg(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of bound changes due to branching, constraint propagation, and propagation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_25getNDomchg(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_24getNDomchg, "\n        Retrieve the number of bound changes due to branching, constraint propagation, and propagation.\n\n        Returns\n        -------\n        nbranchings : int\n        nconsprop : int\n        nprop : int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_25getNDomchg = {"getNDomchg", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_25getNDomchg, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_24getNDomchg};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_25getNDomchg(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNDomchg (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNDomchg", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNDomchg", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_24getNDomchg(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_24getNDomchg(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  int __pyx_v_nbranchings;
  int __pyx_v_nconsprop;
  int __pyx_v_nprop;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNDomchg", 0);

  /* "src/pyscipopt/scip.pxi":1504
 *         cdef int nconsprop
 *         cdef int nprop
 *         SCIPnodeGetNDomchg(self.scip_node, &nbranchings, &nconsprop, &nprop)             # <<<<<<<<<<<<<<
 *         return nbranchings, nconsprop, nprop
 * 
*/
  SCIPnodeGetNDomchg(__pyx_v_self->scip_node, (&__pyx_v_nbranchings), (&__pyx_v_nconsprop), (&__pyx_v_nprop));

  /* "src/pyscipopt/scip.pxi":1505
 *         cdef int nprop
 *         SCIPnodeGetNDomchg(self.scip_node, &nbranchings, &nconsprop, &nprop)
 *         return nbranchings, nconsprop, nprop             # <<<<<<<<<<<<<<
 * 
 *     def getDomchg(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_nbranchings); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_nconsprop); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_nprop); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 1505, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2) != (0)) __PYX_ERR(2, 1505, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3) != (0)) __PYX_ERR(2, 1505, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1490
 *         return py_variables, py_branchbounds, py_boundtypes
 * 
 *     def getNDomchg(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of bound changes due to branching, constraint propagation, and propagation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Node.getNDomchg", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1507
 *         return nbranchings, nconsprop, nprop
 * 
 *     def getDomchg(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve domain changes for this node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_27getDomchg(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_4Node_26getDomchg, "\n        Retrieve domain changes for this node.\n\n        Returns\n        -------\n        DomainChanges\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_27getDomchg = {"getDomchg", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_27getDomchg, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_26getDomchg};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_27getDomchg(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDomchg (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getDomchg", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getDomchg", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_26getDomchg(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_26getDomchg(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  SCIP_DOMCHG *__pyx_v_domchg;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDomchg", 0);

  /* "src/pyscipopt/scip.pxi":1516
 * 
 *         """
 *         cdef SCIP_DOMCHG* domchg = SCIPnodeGetDomchg(self.scip_node)             # <<<<<<<<<<<<<<
 *         if domchg == NULL:
 *             return None
*/
  __pyx_v_domchg = SCIPnodeGetDomchg(__pyx_v_self->scip_node);

  /* "src/pyscipopt/scip.pxi":1517
 *         """
 *         cdef SCIP_DOMCHG* domchg = SCIPnodeGetDomchg(self.scip_node)
 *         if domchg == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return DomainChanges.create(domchg)
*/
  __pyx_t_1 = (__pyx_v_domchg == NULL);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1518
 *         cdef SCIP_DOMCHG* domchg = SCIPnodeGetDomchg(self.scip_node)
 *         if domchg == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return DomainChanges.create(domchg)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1517
 *         """
 *         cdef SCIP_DOMCHG* domchg = SCIPnodeGetDomchg(self.scip_node)
 *         if domchg == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return DomainChanges.create(domchg)
*/
  }

  /* "src/pyscipopt/scip.pxi":1519
 *         if domchg == NULL:
 *             return None
 *         return DomainChanges.create(domchg)             # <<<<<<<<<<<<<<
 * 
 *     def __hash__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip_13DomainChanges_create(__pyx_v_domchg); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1507
 *         return nbranchings, nconsprop, nprop
 * 
 *     def getDomchg(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve domain changes for this node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Node.getDomchg", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1521
 *         return DomainChanges.create(domchg)
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self.scip_node)
 * 
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_9pyscipopt_4scip_4Node_29__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_9pyscipopt_4scip_4Node_29__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_28__hash__(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_9pyscipopt_4scip_4Node_28__hash__(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "src/pyscipopt/scip.pxi":1522
 * 
 *     def __hash__(self):
 *         return hash(<size_t>self.scip_node)             # <<<<<<<<<<<<<<
 * 
 *     def __eq__(self, other):
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((size_t)__pyx_v_self->scip_node)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(2, 1522, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1521
 *         return DomainChanges.create(domchg)
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self.scip_node)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Node.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1524
 *         return hash(<size_t>self.scip_node)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self.scip_node == (<Node>other).scip_node)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_31__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_31__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_30__eq__(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_30__eq__(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "src/pyscipopt/scip.pxi":1525
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self.scip_node == (<Node>other).scip_node)
 * 
*/
  __Pyx_XDECREF(__pyx_r);

  /* "src/pyscipopt/scip.pxi":1526
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self.scip_node == (<Node>other).scip_node)             # <<<<<<<<<<<<<<
 * 
 * cdef class Variable(Expr):
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "src/pyscipopt/scip.pxi":1525
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self.scip_node == (<Node>other).scip_node)
 * 
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1525, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 1525, __pyx_L1_error)
  if (__pyx_t_5) {
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_1 = __pyx_t_4;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L3_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":1526
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self.scip_node == (<Node>other).scip_node)             # <<<<<<<<<<<<<<
 * 
 * cdef class Variable(Expr):
*/
  __pyx_t_5 = (__pyx_v_self->scip_node == ((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_other)->scip_node);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __pyx_t_4;
  __pyx_t_4 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1524
 *         return hash(<size_t>self.scip_node)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self.scip_node == (<Node>other).scip_node)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Node.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pyscipopt/scip.pxd":2200
 *     cdef SCIP_NODE* scip_node
 *     # can be used to store problem data
 *     cdef public object data             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_4data_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_4data___get__(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->data);
  __pyx_r = __pyx_v_self->data;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Node_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Node_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_4data_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Node_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_4Node_4data_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_4Node_4data_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_4data_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_4Node_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_node cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_33__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_33__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_33__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_33__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_32__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_32__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_node cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_node cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_node_cannot_be_convert, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_node cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Node.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_node cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_node cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_35__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_4Node_35__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_35__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_4Node_35__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Node.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_4Node_34__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Node *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_4Node_34__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.scip_node cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_node cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_node_cannot_be_convert, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_node cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_node cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Node.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1531
 *     """Is a linear expression and has SCIP_VAR*"""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_VAR* scipvar):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_8Variable_create(SCIP_VAR *__pyx_v_scipvar) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":1547
 * 
 *         """
 *         if scipvar == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Variable with SCIP_VAR* == NULL")
 *         var = Variable()
*/
  __pyx_t_1 = (__pyx_v_scipvar == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":1548
 *         """
 *         if scipvar == NULL:
 *             raise Warning("cannot create Variable with SCIP_VAR* == NULL")             # <<<<<<<<<<<<<<
 *         var = Variable()
 *         var.scip_var = scipvar
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_create_Variable_with_SCIP};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1548, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 1548, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":1547
 * 
 *         """
 *         if scipvar == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Variable with SCIP_VAR* == NULL")
 *         var = Variable()
*/
  }

  /* "src/pyscipopt/scip.pxi":1549
 *         if scipvar == NULL:
 *             raise Warning("cannot create Variable with SCIP_VAR* == NULL")
 *         var = Variable()             # <<<<<<<<<<<<<<
 *         var.scip_var = scipvar
 *         Expr.__init__(var, {Term(var) : 1.0})
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1549, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":1550
 *             raise Warning("cannot create Variable with SCIP_VAR* == NULL")
 *         var = Variable()
 *         var.scip_var = scipvar             # <<<<<<<<<<<<<<
 *         Expr.__init__(var, {Term(var) : 1.0})
 *         return var
*/
  __pyx_v_var->scip_var = __pyx_v_scipvar;

  /* "src/pyscipopt/scip.pxi":1551
 *         var = Variable()
 *         var.scip_var = scipvar
 *         Expr.__init__(var, {Term(var) : 1.0})             # <<<<<<<<<<<<<<
 *         return var
 * 
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 1551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, ((PyObject *)__pyx_v_var)};
    __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1551, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_6);
  }
  if (PyDict_SetItem(__pyx_t_5, ((PyObject *)__pyx_t_6), __pyx_mstate_global->__pyx_float_1_0) < (0)) __PYX_ERR(2, 1551, __pyx_L1_error)
  __Pyx_DECREF((PyObject *)__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, ((PyObject *)__pyx_v_var), __pyx_t_5};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_init, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":1552
 *         var.scip_var = scipvar
 *         Expr.__init__(var, {Term(var) : 1.0})
 *         return var             # <<<<<<<<<<<<<<
 * 
 *     property name:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_var);
  __pyx_r = ((PyObject *)__pyx_v_var);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1531
 *     """Is a linear expression and has SCIP_VAR*"""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_VAR* scipvar):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_var);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1555
 * 
 *     property name:
 *         def __get__(self):             # <<<<<<<<<<<<<<
 *             if self.scip_var == NULL:
 *                 return ""
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_4name___get__(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/pyscipopt/scip.pxi":1556
 *     property name:
 *         def __get__(self):
 *             if self.scip_var == NULL:             # <<<<<<<<<<<<<<
 *                 return ""
 *             cname = bytes( SCIPvarGetName(self.scip_var) )
*/
  __pyx_t_1 = (__pyx_v_self->scip_var == NULL);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1557
 *         def __get__(self):
 *             if self.scip_var == NULL:
 *                 return ""             # <<<<<<<<<<<<<<
 *             cname = bytes( SCIPvarGetName(self.scip_var) )
 *             return cname.decode('utf-8')
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__11);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__11;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1556
 *     property name:
 *         def __get__(self):
 *             if self.scip_var == NULL:             # <<<<<<<<<<<<<<
 *                 return ""
 *             cname = bytes( SCIPvarGetName(self.scip_var) )
*/
  }

  /* "src/pyscipopt/scip.pxi":1558
 *             if self.scip_var == NULL:
 *                 return ""
 *             cname = bytes( SCIPvarGetName(self.scip_var) )             # <<<<<<<<<<<<<<
 *             return cname.decode('utf-8')
 * 
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = __Pyx_PyBytes_FromString(SCIPvarGetName(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1558, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1558, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_cname = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":1559
 *                 return ""
 *             cname = bytes( SCIPvarGetName(self.scip_var) )
 *             return cname.decode('utf-8')             # <<<<<<<<<<<<<<
 * 
 *     def ptr(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_decode_bytes(__pyx_v_cname, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1555
 * 
 *     property name:
 *         def __get__(self):             # <<<<<<<<<<<<<<
 *             if self.scip_var == NULL:
 *                 return ""
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1561
 *             return cname.decode('utf-8')
 * 
 *     def ptr(self):             # <<<<<<<<<<<<<<
 *         """ """
 *         return <size_t>(self.scip_var)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_1ptr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_ptr, " ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_1ptr = {"ptr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_1ptr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_ptr};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_1ptr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ptr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("ptr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("ptr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_ptr(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_ptr(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("ptr", 0);

  /* "src/pyscipopt/scip.pxi":1563
 *     def ptr(self):
 *         """ """
 *         return <size_t>(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((size_t)__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1561
 *             return cname.decode('utf-8')
 * 
 *     def ptr(self):             # <<<<<<<<<<<<<<
 *         """ """
 *         return <size_t>(self.scip_var)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.ptr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1565
 *         return <size_t>(self.scip_var)
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self.name
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_3__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_3__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_2__repr__(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_2__repr__(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/scip.pxi":1566
 * 
 *     def __repr__(self):
 *         return self.name             # <<<<<<<<<<<<<<
 * 
 *     def vtype(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1565
 *         return <size_t>(self.scip_var)
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self.name
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1568
 *         return self.name
 * 
 *     def vtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the variables type (BINARY, INTEGER, CONTINUOUS, or IMPLINT)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_5vtype(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_4vtype, "\n        Retrieve the variables type (BINARY, INTEGER, CONTINUOUS, or IMPLINT)\n\n        Returns\n        -------\n        str\n            \"BINARY\", \"INTEGER\", \"CONTINUOUS\", or \"IMPLINT\"\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_5vtype = {"vtype", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_5vtype, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_4vtype};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_5vtype(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("vtype (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("vtype", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("vtype", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_4vtype(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_4vtype(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  SCIP_VARTYPE __pyx_v_vartype;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("vtype", 0);

  /* "src/pyscipopt/scip.pxi":1578
 * 
 *         """
 *         vartype = SCIPvarGetType(self.scip_var)             # <<<<<<<<<<<<<<
 *         if vartype == SCIP_VARTYPE_BINARY:
 *             return "BINARY"
*/
  __pyx_v_vartype = SCIPvarGetType(__pyx_v_self->scip_var);

  /* "src/pyscipopt/scip.pxi":1579
 *         """
 *         vartype = SCIPvarGetType(self.scip_var)
 *         if vartype == SCIP_VARTYPE_BINARY:             # <<<<<<<<<<<<<<
 *             return "BINARY"
 *         elif vartype == SCIP_VARTYPE_INTEGER:
*/
  __pyx_t_1 = (__pyx_v_vartype == SCIP_VARTYPE_BINARY);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1580
 *         vartype = SCIPvarGetType(self.scip_var)
 *         if vartype == SCIP_VARTYPE_BINARY:
 *             return "BINARY"             # <<<<<<<<<<<<<<
 *         elif vartype == SCIP_VARTYPE_INTEGER:
 *             return "INTEGER"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_BINARY);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_BINARY;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1579
 *         """
 *         vartype = SCIPvarGetType(self.scip_var)
 *         if vartype == SCIP_VARTYPE_BINARY:             # <<<<<<<<<<<<<<
 *             return "BINARY"
 *         elif vartype == SCIP_VARTYPE_INTEGER:
*/
  }

  /* "src/pyscipopt/scip.pxi":1581
 *         if vartype == SCIP_VARTYPE_BINARY:
 *             return "BINARY"
 *         elif vartype == SCIP_VARTYPE_INTEGER:             # <<<<<<<<<<<<<<
 *             return "INTEGER"
 *         elif vartype == SCIP_VARTYPE_CONTINUOUS:
*/
  __pyx_t_1 = (__pyx_v_vartype == SCIP_VARTYPE_INTEGER);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1582
 *             return "BINARY"
 *         elif vartype == SCIP_VARTYPE_INTEGER:
 *             return "INTEGER"             # <<<<<<<<<<<<<<
 *         elif vartype == SCIP_VARTYPE_CONTINUOUS:
 *             return "CONTINUOUS"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_INTEGER);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_INTEGER;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1581
 *         if vartype == SCIP_VARTYPE_BINARY:
 *             return "BINARY"
 *         elif vartype == SCIP_VARTYPE_INTEGER:             # <<<<<<<<<<<<<<
 *             return "INTEGER"
 *         elif vartype == SCIP_VARTYPE_CONTINUOUS:
*/
  }

  /* "src/pyscipopt/scip.pxi":1583
 *         elif vartype == SCIP_VARTYPE_INTEGER:
 *             return "INTEGER"
 *         elif vartype == SCIP_VARTYPE_CONTINUOUS:             # <<<<<<<<<<<<<<
 *             return "CONTINUOUS"
 *         elif vartype == SCIP_DEPRECATED_VARTYPE_IMPLINT:
*/
  __pyx_t_1 = (__pyx_v_vartype == SCIP_VARTYPE_CONTINUOUS);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1584
 *             return "INTEGER"
 *         elif vartype == SCIP_VARTYPE_CONTINUOUS:
 *             return "CONTINUOUS"             # <<<<<<<<<<<<<<
 *         elif vartype == SCIP_DEPRECATED_VARTYPE_IMPLINT:
 *             return "IMPLINT"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_CONTINUOUS);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_CONTINUOUS;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1583
 *         elif vartype == SCIP_VARTYPE_INTEGER:
 *             return "INTEGER"
 *         elif vartype == SCIP_VARTYPE_CONTINUOUS:             # <<<<<<<<<<<<<<
 *             return "CONTINUOUS"
 *         elif vartype == SCIP_DEPRECATED_VARTYPE_IMPLINT:
*/
  }

  /* "src/pyscipopt/scip.pxi":1585
 *         elif vartype == SCIP_VARTYPE_CONTINUOUS:
 *             return "CONTINUOUS"
 *         elif vartype == SCIP_DEPRECATED_VARTYPE_IMPLINT:             # <<<<<<<<<<<<<<
 *             return "IMPLINT"
 * 
*/
  __pyx_t_1 = (__pyx_v_vartype == SCIP_DEPRECATED_VARTYPE_IMPLINT);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1586
 *             return "CONTINUOUS"
 *         elif vartype == SCIP_DEPRECATED_VARTYPE_IMPLINT:
 *             return "IMPLINT"             # <<<<<<<<<<<<<<
 * 
 *     def isBinary(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_IMPLINT);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_IMPLINT;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1585
 *         elif vartype == SCIP_VARTYPE_CONTINUOUS:
 *             return "CONTINUOUS"
 *         elif vartype == SCIP_DEPRECATED_VARTYPE_IMPLINT:             # <<<<<<<<<<<<<<
 *             return "IMPLINT"
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":1568
 *         return self.name
 * 
 *     def vtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the variables type (BINARY, INTEGER, CONTINUOUS, or IMPLINT)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1588
 *             return "IMPLINT"
 * 
 *     def isBinary(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is of BINARY type.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_7isBinary(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_6isBinary, "\n        Returns whether variable is of BINARY type.\n\n        Returns\n        -------\n        bool\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_7isBinary = {"isBinary", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_7isBinary, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_6isBinary};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_7isBinary(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isBinary (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isBinary", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isBinary", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_6isBinary(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_6isBinary(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isBinary", 0);

  /* "src/pyscipopt/scip.pxi":1596
 *         bool
 *         """
 *         return SCIPvarIsBinary(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def isIntegral(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPvarIsBinary(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1588
 *             return "IMPLINT"
 * 
 *     def isBinary(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is of BINARY type.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.isBinary", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1598
 *         return SCIPvarIsBinary(self.scip_var)
 * 
 *     def isIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is of INTEGER type.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_9isIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_8isIntegral, "\n        Returns whether variable is of INTEGER type.\n\n        Returns\n        -------\n        bool\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_9isIntegral = {"isIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_9isIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_8isIntegral};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_9isIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isIntegral (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isIntegral", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isIntegral", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_8isIntegral(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_8isIntegral(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isIntegral", 0);

  /* "src/pyscipopt/scip.pxi":1606
 *         bool
 *         """
 *         return SCIPvarIsIntegral(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def isImpliedIntegral(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPvarIsIntegral(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1598
 *         return SCIPvarIsBinary(self.scip_var)
 * 
 *     def isIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is of INTEGER type.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.isIntegral", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1608
 *         return SCIPvarIsIntegral(self.scip_var)
 * 
 *     def isImpliedIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is implied integral (weakly or strongly).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_11isImpliedIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_10isImpliedIntegral, "\n        Returns whether variable is implied integral (weakly or strongly).\n\n        Returns\n        -------\n        bool\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_11isImpliedIntegral = {"isImpliedIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_11isImpliedIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_10isImpliedIntegral};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_11isImpliedIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isImpliedIntegral (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isImpliedIntegral", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isImpliedIntegral", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_10isImpliedIntegral(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_10isImpliedIntegral(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isImpliedIntegral", 0);

  /* "src/pyscipopt/scip.pxi":1616
 *         bool
 *         """
 *         return SCIPvarIsImpliedIntegral(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def isNonImpliedIntegral(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPvarIsImpliedIntegral(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1616, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1608
 *         return SCIPvarIsIntegral(self.scip_var)
 * 
 *     def isImpliedIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is implied integral (weakly or strongly).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.isImpliedIntegral", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1618
 *         return SCIPvarIsImpliedIntegral(self.scip_var)
 * 
 *     def isNonImpliedIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE if the variable is integral, but not implied integral..
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_13isNonImpliedIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_12isNonImpliedIntegral, "\n        Returns TRUE if the variable is integral, but not implied integral..\n\n        Returns\n        -------\n        bool\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_13isNonImpliedIntegral = {"isNonImpliedIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_13isNonImpliedIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_12isNonImpliedIntegral};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_13isNonImpliedIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isNonImpliedIntegral (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isNonImpliedIntegral", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isNonImpliedIntegral", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_12isNonImpliedIntegral(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_12isNonImpliedIntegral(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isNonImpliedIntegral", 0);

  /* "src/pyscipopt/scip.pxi":1626
 *         bool
 *         """
 *         return SCIPvarIsNonimpliedIntegral(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getImplType(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPvarIsNonimpliedIntegral(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1618
 *         return SCIPvarIsImpliedIntegral(self.scip_var)
 * 
 *     def isNonImpliedIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE if the variable is integral, but not implied integral..
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.isNonImpliedIntegral", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1628
 *         return SCIPvarIsNonimpliedIntegral(self.scip_var)
 * 
 *     def getImplType(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the implied integral type of the variable
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_15getImplType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_14getImplType, "\n        Returns the implied integral type of the variable\n\n        Returns\n        -------\n        PY_SCIP_IMPLINTTYPE\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_15getImplType = {"getImplType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_15getImplType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_14getImplType};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_15getImplType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getImplType (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getImplType", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getImplType", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_14getImplType(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_14getImplType(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getImplType", 0);

  /* "src/pyscipopt/scip.pxi":1636
 *         PY_SCIP_IMPLINTTYPE
 *         """
 *         return SCIPvarGetImplType(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getStatus(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_IMPLINTTYPE(SCIPvarGetImplType(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1628
 *         return SCIPvarIsNonimpliedIntegral(self.scip_var)
 * 
 *     def getImplType(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the implied integral type of the variable
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getImplType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1638
 *         return SCIPvarGetImplType(self.scip_var)
 * 
 *     def getStatus(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the variable status (ORIGINAL, LOOSE, COLUMN, FIXED, AGGREGATED, MULTAGGR, NEGATED)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_17getStatus(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_16getStatus, "\n        Retrieve the variable status (ORIGINAL, LOOSE, COLUMN, FIXED, AGGREGATED, MULTAGGR, NEGATED)\n\n        Returns\n        -------\n        str\n            \"ORIGINAL\", \"LOOSE\", \"COLUMN\", \"FIXED\", \"AGGREGATED\", \"MULTAGGR\", \"NEGATED\"\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_17getStatus = {"getStatus", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_17getStatus, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_16getStatus};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_17getStatus(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getStatus (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getStatus", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getStatus", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_16getStatus(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_16getStatus(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  SCIP_VARSTATUS __pyx_v_varstatus;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("getStatus", 0);

  /* "src/pyscipopt/scip.pxi":1648
 * 
 *         """
 *         varstatus = SCIPvarGetStatus(self.scip_var)             # <<<<<<<<<<<<<<
 *         if varstatus == SCIP_VARSTATUS_ORIGINAL:
 *             return "ORIGINAL"
*/
  __pyx_v_varstatus = SCIPvarGetStatus(__pyx_v_self->scip_var);

  /* "src/pyscipopt/scip.pxi":1649
 *         """
 *         varstatus = SCIPvarGetStatus(self.scip_var)
 *         if varstatus == SCIP_VARSTATUS_ORIGINAL:             # <<<<<<<<<<<<<<
 *             return "ORIGINAL"
 *         elif varstatus == SCIP_VARSTATUS_LOOSE:
*/
  __pyx_t_1 = (__pyx_v_varstatus == SCIP_VARSTATUS_ORIGINAL);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1650
 *         varstatus = SCIPvarGetStatus(self.scip_var)
 *         if varstatus == SCIP_VARSTATUS_ORIGINAL:
 *             return "ORIGINAL"             # <<<<<<<<<<<<<<
 *         elif varstatus == SCIP_VARSTATUS_LOOSE:
 *             return "LOOSE"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_ORIGINAL);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_ORIGINAL;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1649
 *         """
 *         varstatus = SCIPvarGetStatus(self.scip_var)
 *         if varstatus == SCIP_VARSTATUS_ORIGINAL:             # <<<<<<<<<<<<<<
 *             return "ORIGINAL"
 *         elif varstatus == SCIP_VARSTATUS_LOOSE:
*/
  }

  /* "src/pyscipopt/scip.pxi":1651
 *         if varstatus == SCIP_VARSTATUS_ORIGINAL:
 *             return "ORIGINAL"
 *         elif varstatus == SCIP_VARSTATUS_LOOSE:             # <<<<<<<<<<<<<<
 *             return "LOOSE"
 *         elif varstatus == SCIP_VARSTATUS_COLUMN:
*/
  __pyx_t_1 = (__pyx_v_varstatus == SCIP_VARSTATUS_LOOSE);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1652
 *             return "ORIGINAL"
 *         elif varstatus == SCIP_VARSTATUS_LOOSE:
 *             return "LOOSE"             # <<<<<<<<<<<<<<
 *         elif varstatus == SCIP_VARSTATUS_COLUMN:
 *             return "COLUMN"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_LOOSE);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_LOOSE;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1651
 *         if varstatus == SCIP_VARSTATUS_ORIGINAL:
 *             return "ORIGINAL"
 *         elif varstatus == SCIP_VARSTATUS_LOOSE:             # <<<<<<<<<<<<<<
 *             return "LOOSE"
 *         elif varstatus == SCIP_VARSTATUS_COLUMN:
*/
  }

  /* "src/pyscipopt/scip.pxi":1653
 *         elif varstatus == SCIP_VARSTATUS_LOOSE:
 *             return "LOOSE"
 *         elif varstatus == SCIP_VARSTATUS_COLUMN:             # <<<<<<<<<<<<<<
 *             return "COLUMN"
 *         elif varstatus == SCIP_VARSTATUS_FIXED:
*/
  __pyx_t_1 = (__pyx_v_varstatus == SCIP_VARSTATUS_COLUMN);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1654
 *             return "LOOSE"
 *         elif varstatus == SCIP_VARSTATUS_COLUMN:
 *             return "COLUMN"             # <<<<<<<<<<<<<<
 *         elif varstatus == SCIP_VARSTATUS_FIXED:
 *             return "FIXED"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_COLUMN);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_COLUMN;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1653
 *         elif varstatus == SCIP_VARSTATUS_LOOSE:
 *             return "LOOSE"
 *         elif varstatus == SCIP_VARSTATUS_COLUMN:             # <<<<<<<<<<<<<<
 *             return "COLUMN"
 *         elif varstatus == SCIP_VARSTATUS_FIXED:
*/
  }

  /* "src/pyscipopt/scip.pxi":1655
 *         elif varstatus == SCIP_VARSTATUS_COLUMN:
 *             return "COLUMN"
 *         elif varstatus == SCIP_VARSTATUS_FIXED:             # <<<<<<<<<<<<<<
 *             return "FIXED"
 *         elif varstatus == SCIP_VARSTATUS_AGGREGATED:
*/
  __pyx_t_1 = (__pyx_v_varstatus == SCIP_VARSTATUS_FIXED);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1656
 *             return "COLUMN"
 *         elif varstatus == SCIP_VARSTATUS_FIXED:
 *             return "FIXED"             # <<<<<<<<<<<<<<
 *         elif varstatus == SCIP_VARSTATUS_AGGREGATED:
 *             return "AGGREGATED"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_FIXED);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_FIXED;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1655
 *         elif varstatus == SCIP_VARSTATUS_COLUMN:
 *             return "COLUMN"
 *         elif varstatus == SCIP_VARSTATUS_FIXED:             # <<<<<<<<<<<<<<
 *             return "FIXED"
 *         elif varstatus == SCIP_VARSTATUS_AGGREGATED:
*/
  }

  /* "src/pyscipopt/scip.pxi":1657
 *         elif varstatus == SCIP_VARSTATUS_FIXED:
 *             return "FIXED"
 *         elif varstatus == SCIP_VARSTATUS_AGGREGATED:             # <<<<<<<<<<<<<<
 *             return "AGGREGATED"
 *         elif varstatus == SCIP_VARSTATUS_MULTAGGR:
*/
  __pyx_t_1 = (__pyx_v_varstatus == SCIP_VARSTATUS_AGGREGATED);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1658
 *             return "FIXED"
 *         elif varstatus == SCIP_VARSTATUS_AGGREGATED:
 *             return "AGGREGATED"             # <<<<<<<<<<<<<<
 *         elif varstatus == SCIP_VARSTATUS_MULTAGGR:
 *             return "MULTAGGR"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_AGGREGATED);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_AGGREGATED;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1657
 *         elif varstatus == SCIP_VARSTATUS_FIXED:
 *             return "FIXED"
 *         elif varstatus == SCIP_VARSTATUS_AGGREGATED:             # <<<<<<<<<<<<<<
 *             return "AGGREGATED"
 *         elif varstatus == SCIP_VARSTATUS_MULTAGGR:
*/
  }

  /* "src/pyscipopt/scip.pxi":1659
 *         elif varstatus == SCIP_VARSTATUS_AGGREGATED:
 *             return "AGGREGATED"
 *         elif varstatus == SCIP_VARSTATUS_MULTAGGR:             # <<<<<<<<<<<<<<
 *             return "MULTAGGR"
 *         elif varstatus == SCIP_VARSTATUS_NEGATED:
*/
  __pyx_t_1 = (__pyx_v_varstatus == SCIP_VARSTATUS_MULTAGGR);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1660
 *             return "AGGREGATED"
 *         elif varstatus == SCIP_VARSTATUS_MULTAGGR:
 *             return "MULTAGGR"             # <<<<<<<<<<<<<<
 *         elif varstatus == SCIP_VARSTATUS_NEGATED:
 *             return "NEGATED"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_MULTAGGR);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_MULTAGGR;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1659
 *         elif varstatus == SCIP_VARSTATUS_AGGREGATED:
 *             return "AGGREGATED"
 *         elif varstatus == SCIP_VARSTATUS_MULTAGGR:             # <<<<<<<<<<<<<<
 *             return "MULTAGGR"
 *         elif varstatus == SCIP_VARSTATUS_NEGATED:
*/
  }

  /* "src/pyscipopt/scip.pxi":1661
 *         elif varstatus == SCIP_VARSTATUS_MULTAGGR:
 *             return "MULTAGGR"
 *         elif varstatus == SCIP_VARSTATUS_NEGATED:             # <<<<<<<<<<<<<<
 *             return "NEGATED"
 * 
*/
  __pyx_t_1 = (__pyx_v_varstatus == SCIP_VARSTATUS_NEGATED);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":1662
 *             return "MULTAGGR"
 *         elif varstatus == SCIP_VARSTATUS_NEGATED:
 *             return "NEGATED"             # <<<<<<<<<<<<<<
 * 
 *     def isOriginal(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_NEGATED);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_NEGATED;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":1661
 *         elif varstatus == SCIP_VARSTATUS_MULTAGGR:
 *             return "MULTAGGR"
 *         elif varstatus == SCIP_VARSTATUS_NEGATED:             # <<<<<<<<<<<<<<
 *             return "NEGATED"
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":1638
 *         return SCIPvarGetImplType(self.scip_var)
 * 
 *     def getStatus(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the variable status (ORIGINAL, LOOSE, COLUMN, FIXED, AGGREGATED, MULTAGGR, NEGATED)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1664
 *             return "NEGATED"
 * 
 *     def isOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the variable belongs to the original problem
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_19isOriginal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_18isOriginal, "\n        Retrieve whether the variable belongs to the original problem\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_19isOriginal = {"isOriginal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_19isOriginal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_18isOriginal};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_19isOriginal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isOriginal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isOriginal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isOriginal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_18isOriginal(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_18isOriginal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isOriginal", 0);

  /* "src/pyscipopt/scip.pxi":1673
 * 
 *         """
 *         return SCIPvarIsOriginal(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def isActive(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPvarIsOriginal(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1664
 *             return "NEGATED"
 * 
 *     def isOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the variable belongs to the original problem
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.isOriginal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1675
 *         return SCIPvarIsOriginal(self.scip_var)
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the variable is active
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_21isActive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_20isActive, "\n        Retrieve whether the variable is active\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_21isActive = {"isActive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_21isActive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_20isActive};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_21isActive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isActive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isActive", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isActive", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_20isActive(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_20isActive(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isActive", 0);

  /* "src/pyscipopt/scip.pxi":1684
 * 
 *         """
 *         return SCIPvarIsActive(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def isInLP(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPvarIsActive(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1684, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1675
 *         return SCIPvarIsOriginal(self.scip_var)
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the variable is active
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.isActive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1686
 *         return SCIPvarIsActive(self.scip_var)
 * 
 *     def isInLP(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the variable is a COLUMN variable that is member of the current LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_23isInLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_22isInLP, "\n        Retrieve whether the variable is a COLUMN variable that is member of the current LP.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_23isInLP = {"isInLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_23isInLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_22isInLP};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_23isInLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isInLP (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isInLP", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isInLP", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_22isInLP(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_22isInLP(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isInLP", 0);

  /* "src/pyscipopt/scip.pxi":1695
 * 
 *         """
 *         return SCIPvarIsInLP(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getIndex(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPvarIsInLP(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1686
 *         return SCIPvarIsActive(self.scip_var)
 * 
 *     def isInLP(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the variable is a COLUMN variable that is member of the current LP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.isInLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1697
 *         return SCIPvarIsInLP(self.scip_var)
 * 
 *     def getIndex(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the unique index of the variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_25getIndex(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_24getIndex, "\n        Retrieve the unique index of the variable.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_25getIndex = {"getIndex", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_25getIndex, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_24getIndex};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_25getIndex(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getIndex (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getIndex", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getIndex", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_24getIndex(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_24getIndex(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getIndex", 0);

  /* "src/pyscipopt/scip.pxi":1706
 * 
 *         """
 *         return SCIPvarGetIndex(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getCol(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPvarGetIndex(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1697
 *         return SCIPvarIsInLP(self.scip_var)
 * 
 *     def getIndex(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the unique index of the variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getIndex", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1708
 *         return SCIPvarGetIndex(self.scip_var)
 * 
 *     def getCol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve column of COLUMN variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_27getCol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_26getCol, "\n        Retrieve column of COLUMN variable.\n\n        Returns\n        -------\n        Column\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_27getCol = {"getCol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_27getCol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_26getCol};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_27getCol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getCol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getCol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_26getCol(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_26getCol(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  SCIP_COL *__pyx_v_scip_col;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getCol", 0);

  /* "src/pyscipopt/scip.pxi":1718
 *         """
 *         cdef SCIP_COL* scip_col
 *         scip_col = SCIPvarGetCol(self.scip_var)             # <<<<<<<<<<<<<<
 *         return Column.create(scip_col)
 * 
*/
  __pyx_v_scip_col = SCIPvarGetCol(__pyx_v_self->scip_var);

  /* "src/pyscipopt/scip.pxi":1719
 *         cdef SCIP_COL* scip_col
 *         scip_col = SCIPvarGetCol(self.scip_var)
 *         return Column.create(scip_col)             # <<<<<<<<<<<<<<
 * 
 *     def getLbOriginal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_6Column_create(__pyx_v_scip_col); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1708
 *         return SCIPvarGetIndex(self.scip_var)
 * 
 *     def getCol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve column of COLUMN variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getCol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1721
 *         return Column.create(scip_col)
 * 
 *     def getLbOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve original lower bound of variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_29getLbOriginal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_28getLbOriginal, "\n        Retrieve original lower bound of variable.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_29getLbOriginal = {"getLbOriginal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_29getLbOriginal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_28getLbOriginal};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_29getLbOriginal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLbOriginal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLbOriginal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLbOriginal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_28getLbOriginal(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_28getLbOriginal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLbOriginal", 0);

  /* "src/pyscipopt/scip.pxi":1730
 * 
 *         """
 *         return SCIPvarGetLbOriginal(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getUbOriginal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPvarGetLbOriginal(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1721
 *         return Column.create(scip_col)
 * 
 *     def getLbOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve original lower bound of variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getLbOriginal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1732
 *         return SCIPvarGetLbOriginal(self.scip_var)
 * 
 *     def getUbOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve original upper bound of variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_31getUbOriginal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_30getUbOriginal, "\n        Retrieve original upper bound of variable.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_31getUbOriginal = {"getUbOriginal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_31getUbOriginal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_30getUbOriginal};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_31getUbOriginal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getUbOriginal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getUbOriginal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getUbOriginal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_30getUbOriginal(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_30getUbOriginal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getUbOriginal", 0);

  /* "src/pyscipopt/scip.pxi":1741
 * 
 *         """
 *         return SCIPvarGetUbOriginal(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getLbGlobal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPvarGetUbOriginal(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1732
 *         return SCIPvarGetLbOriginal(self.scip_var)
 * 
 *     def getUbOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve original upper bound of variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getUbOriginal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1743
 *         return SCIPvarGetUbOriginal(self.scip_var)
 * 
 *     def getLbGlobal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve global lower bound of variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_33getLbGlobal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_32getLbGlobal, "\n        Retrieve global lower bound of variable.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_33getLbGlobal = {"getLbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_33getLbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_32getLbGlobal};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_33getLbGlobal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLbGlobal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLbGlobal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLbGlobal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_32getLbGlobal(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_32getLbGlobal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLbGlobal", 0);

  /* "src/pyscipopt/scip.pxi":1752
 * 
 *         """
 *         return SCIPvarGetLbGlobal(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getUbGlobal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPvarGetLbGlobal(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1743
 *         return SCIPvarGetUbOriginal(self.scip_var)
 * 
 *     def getLbGlobal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve global lower bound of variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getLbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1754
 *         return SCIPvarGetLbGlobal(self.scip_var)
 * 
 *     def getUbGlobal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve global upper bound of variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_35getUbGlobal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_34getUbGlobal, "\n        Retrieve global upper bound of variable.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_35getUbGlobal = {"getUbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_35getUbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_34getUbGlobal};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_35getUbGlobal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getUbGlobal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getUbGlobal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getUbGlobal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_34getUbGlobal(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_34getUbGlobal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getUbGlobal", 0);

  /* "src/pyscipopt/scip.pxi":1763
 * 
 *         """
 *         return SCIPvarGetUbGlobal(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getLbLocal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPvarGetUbGlobal(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1754
 *         return SCIPvarGetLbGlobal(self.scip_var)
 * 
 *     def getUbGlobal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve global upper bound of variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getUbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1765
 *         return SCIPvarGetUbGlobal(self.scip_var)
 * 
 *     def getLbLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current lower bound of variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_37getLbLocal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_36getLbLocal, "\n        Retrieve current lower bound of variable.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_37getLbLocal = {"getLbLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_37getLbLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_36getLbLocal};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_37getLbLocal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLbLocal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLbLocal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLbLocal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_36getLbLocal(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_36getLbLocal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLbLocal", 0);

  /* "src/pyscipopt/scip.pxi":1774
 * 
 *         """
 *         return SCIPvarGetLbLocal(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getUbLocal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPvarGetLbLocal(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1765
 *         return SCIPvarGetUbGlobal(self.scip_var)
 * 
 *     def getLbLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current lower bound of variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getLbLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1776
 *         return SCIPvarGetLbLocal(self.scip_var)
 * 
 *     def getUbLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current upper bound of variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_39getUbLocal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_38getUbLocal, "\n        Retrieve current upper bound of variable.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_39getUbLocal = {"getUbLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_39getUbLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_38getUbLocal};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_39getUbLocal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getUbLocal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getUbLocal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getUbLocal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_38getUbLocal(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_38getUbLocal(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getUbLocal", 0);

  /* "src/pyscipopt/scip.pxi":1785
 * 
 *         """
 *         return SCIPvarGetUbLocal(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getObj(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPvarGetUbLocal(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1785, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1776
 *         return SCIPvarGetLbLocal(self.scip_var)
 * 
 *     def getUbLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current upper bound of variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getUbLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1787
 *         return SCIPvarGetUbLocal(self.scip_var)
 * 
 *     def getObj(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current objective value of variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_41getObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_40getObj, "\n        Retrieve current objective value of variable.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_41getObj = {"getObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_41getObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_40getObj};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_41getObj(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getObj (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getObj", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getObj", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_40getObj(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_40getObj(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getObj", 0);

  /* "src/pyscipopt/scip.pxi":1796
 * 
 *         """
 *         return SCIPvarGetObj(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getLPSol(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPvarGetObj(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1787
 *         return SCIPvarGetUbLocal(self.scip_var)
 * 
 *     def getObj(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current objective value of variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getObj", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1798
 *         return SCIPvarGetObj(self.scip_var)
 * 
 *     def getLPSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current LP solution value of variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_43getLPSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_42getLPSol, "\n        Retrieve the current LP solution value of variable.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_43getLPSol = {"getLPSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_43getLPSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_42getLPSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_43getLPSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLPSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLPSol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLPSol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_42getLPSol(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_42getLPSol(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLPSol", 0);

  /* "src/pyscipopt/scip.pxi":1807
 * 
 *         """
 *         return SCIPvarGetLPSol(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getAvgSol(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPvarGetLPSol(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1807, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1798
 *         return SCIPvarGetObj(self.scip_var)
 * 
 *     def getLPSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current LP solution value of variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getLPSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1809
 *         return SCIPvarGetLPSol(self.scip_var)
 * 
 *     def getAvgSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the weighted average solution of variable in all feasible primal solutions found.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_45getAvgSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_44getAvgSol, "\n        Get the weighted average solution of variable in all feasible primal solutions found.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_45getAvgSol = {"getAvgSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_45getAvgSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_44getAvgSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_45getAvgSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getAvgSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getAvgSol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getAvgSol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_44getAvgSol(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_44getAvgSol(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getAvgSol", 0);

  /* "src/pyscipopt/scip.pxi":1818
 * 
 *         """
 *         return SCIPvarGetAvgSol(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def markRelaxationOnly(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPvarGetAvgSol(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1809
 *         return SCIPvarGetLPSol(self.scip_var)
 * 
 *     def getAvgSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the weighted average solution of variable in all feasible primal solutions found.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getAvgSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1820
 *         return SCIPvarGetAvgSol(self.scip_var)
 * 
 *     def markRelaxationOnly(self):             # <<<<<<<<<<<<<<
 *         """
 *         marks that this variable has only been introduced to define a relaxation
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_47markRelaxationOnly(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_46markRelaxationOnly, "\n        marks that this variable has only been introduced to define a relaxation\n\n        The variable must not have a coefficient in the objective and must be deletable.\n        If it is not marked deletable, it will be marked as deletable, which is only possible before\n        the variable is added to a problem.\n\n        Returns\n        -------\n        None\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_47markRelaxationOnly = {"markRelaxationOnly", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_47markRelaxationOnly, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_46markRelaxationOnly};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_47markRelaxationOnly(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("markRelaxationOnly (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("markRelaxationOnly", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("markRelaxationOnly", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_46markRelaxationOnly(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_46markRelaxationOnly(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("markRelaxationOnly", 0);

  /* "src/pyscipopt/scip.pxi":1833
 * 
 *         """
 *         SCIPvarMarkRelaxationOnly(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def isRelaxationOnly(self):
*/
  SCIPvarMarkRelaxationOnly(__pyx_v_self->scip_var);

  /* "src/pyscipopt/scip.pxi":1820
 *         return SCIPvarGetAvgSol(self.scip_var)
 * 
 *     def markRelaxationOnly(self):             # <<<<<<<<<<<<<<
 *         """
 *         marks that this variable has only been introduced to define a relaxation
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1835
 *         SCIPvarMarkRelaxationOnly(self.scip_var)
 * 
 *     def isRelaxationOnly(self):             # <<<<<<<<<<<<<<
 *         """
 *         returns whether a variable has been introduced to define a relaxation
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_49isRelaxationOnly(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_48isRelaxationOnly, "\n        returns whether a variable has been introduced to define a relaxation\n\n        These variables are only valid for the current SCIP solve round, they are not contained in any (checked)\n        constraints, but may be used in cutting planes, for example. Relaxation-only variables are not copied \n        by SCIPcopyVars and cuts that contain these variables are not added as linear constraints when \n        restarting or transferring information from a copied SCIP to a SCIP. Also conflicts with relaxation-only\n        variables are not generated at the moment. Relaxation-only variables do not appear in the objective.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_49isRelaxationOnly = {"isRelaxationOnly", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_49isRelaxationOnly, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_48isRelaxationOnly};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_49isRelaxationOnly(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isRelaxationOnly (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isRelaxationOnly", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isRelaxationOnly", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_48isRelaxationOnly(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_48isRelaxationOnly(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isRelaxationOnly", 0);

  /* "src/pyscipopt/scip.pxi":1850
 * 
 *         """
 *         return SCIPvarIsRelaxationOnly(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def isDeletable(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPvarIsRelaxationOnly(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1850, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1835
 *         SCIPvarMarkRelaxationOnly(self.scip_var)
 * 
 *     def isRelaxationOnly(self):             # <<<<<<<<<<<<<<
 *         """
 *         returns whether a variable has been introduced to define a relaxation
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.isRelaxationOnly", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1852
 *         return SCIPvarIsRelaxationOnly(self.scip_var)
 * 
 *     def isDeletable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is allowed to be deleted completely from the problem.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_51isDeletable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_50isDeletable, "\n        Returns whether variable is allowed to be deleted completely from the problem.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_51isDeletable = {"isDeletable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_51isDeletable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_50isDeletable};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_51isDeletable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDeletable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isDeletable", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isDeletable", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_50isDeletable(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_50isDeletable(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isDeletable", 0);

  /* "src/pyscipopt/scip.pxi":1861
 * 
 *         """
 *         return SCIPvarIsDeletable(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def isActive(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPvarIsDeletable(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1852
 *         return SCIPvarIsRelaxationOnly(self.scip_var)
 * 
 *     def isDeletable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is allowed to be deleted completely from the problem.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.isDeletable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1863
 *         return SCIPvarIsDeletable(self.scip_var)
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is an active (neither fixed nor aggregated) variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_53isActive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_52isActive, "\n        Returns whether variable is an active (neither fixed nor aggregated) variable.\n\n        Returns\n        -------\n        boolean\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_53isActive = {"isActive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_53isActive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_52isActive};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_53isActive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isActive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isActive", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isActive", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_52isActive(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_52isActive(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isActive", 0);

  /* "src/pyscipopt/scip.pxi":1871
 *         boolean
 *         """
 *         return SCIPvarIsActive(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getNLocksDown(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPvarIsActive(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1863
 *         return SCIPvarIsDeletable(self.scip_var)
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is an active (neither fixed nor aggregated) variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.isActive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1873
 *         return SCIPvarIsActive(self.scip_var)
 * 
 *     def getNLocksDown(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the number of locks for rounding down.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_55getNLocksDown(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_54getNLocksDown, "\n        Returns the number of locks for rounding down.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_55getNLocksDown = {"getNLocksDown", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_55getNLocksDown, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_54getNLocksDown};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_55getNLocksDown(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNLocksDown (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNLocksDown", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNLocksDown", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_54getNLocksDown(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_54getNLocksDown(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNLocksDown", 0);

  /* "src/pyscipopt/scip.pxi":1882
 * 
 *         """
 *         return SCIPvarGetNLocksDown(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getNLocksUp(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPvarGetNLocksDown(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1882, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1873
 *         return SCIPvarIsActive(self.scip_var)
 * 
 *     def getNLocksDown(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the number of locks for rounding down.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getNLocksDown", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1884
 *         return SCIPvarGetNLocksDown(self.scip_var)
 * 
 *     def getNLocksUp(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the number of locks for rounding up.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_57getNLocksUp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_56getNLocksUp, "\n        Returns the number of locks for rounding up.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_57getNLocksUp = {"getNLocksUp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_57getNLocksUp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_56getNLocksUp};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_57getNLocksUp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNLocksUp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNLocksUp", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNLocksUp", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_56getNLocksUp(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_56getNLocksUp(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNLocksUp", 0);

  /* "src/pyscipopt/scip.pxi":1893
 * 
 *         """
 *         return SCIPvarGetNLocksUp(self.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getNLocksDownType(self, locktype):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPvarGetNLocksUp(__pyx_v_self->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1893, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1884
 *         return SCIPvarGetNLocksDown(self.scip_var)
 * 
 *     def getNLocksUp(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the number of locks for rounding up.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getNLocksUp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1895
 *         return SCIPvarGetNLocksUp(self.scip_var)
 * 
 *     def getNLocksDownType(self, locktype):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the number of locks for rounding down of a certain type.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_59getNLocksDownType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_58getNLocksDownType, "\n        Returns the number of locks for rounding down of a certain type.\n\n        Parameters\n        ----------\n        locktype : SCIP_LOCKTYPE\n            type of variable locks\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_59getNLocksDownType = {"getNLocksDownType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_59getNLocksDownType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_58getNLocksDownType};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_59getNLocksDownType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_locktype = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNLocksDownType (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_locktype,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 1895, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1895, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getNLocksDownType", 0) < (0)) __PYX_ERR(2, 1895, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getNLocksDownType", 1, 1, 1, i); __PYX_ERR(2, 1895, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1895, __pyx_L3_error)
    }
    __pyx_v_locktype = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getNLocksDownType", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 1895, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getNLocksDownType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_58getNLocksDownType(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self), __pyx_v_locktype);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_58getNLocksDownType(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, PyObject *__pyx_v_locktype) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_LOCKTYPE __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNLocksDownType", 0);

  /* "src/pyscipopt/scip.pxi":1909
 * 
 *         """
 *         return SCIPvarGetNLocksDownType(self.scip_var, locktype)             # <<<<<<<<<<<<<<
 * 
 *     def getNLocksUpType(self, locktype):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_As_SCIP_LOCKTYPE(__pyx_v_locktype); if (unlikely((__pyx_t_1 == ((SCIP_LOCKTYPE)-1)) && PyErr_Occurred())) __PYX_ERR(2, 1909, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyLong_From_int(SCIPvarGetNLocksDownType(__pyx_v_self->scip_var, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1895
 *         return SCIPvarGetNLocksUp(self.scip_var)
 * 
 *     def getNLocksDownType(self, locktype):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the number of locks for rounding down of a certain type.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getNLocksDownType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1911
 *         return SCIPvarGetNLocksDownType(self.scip_var, locktype)
 * 
 *     def getNLocksUpType(self, locktype):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the number of locks for rounding up of a certain type.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_61getNLocksUpType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_60getNLocksUpType, "\n        Returns the number of locks for rounding up of a certain type.\n\n        Parameters\n        ----------\n        locktype : SCIP_LOCKTYPE\n            type of variable locks\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_61getNLocksUpType = {"getNLocksUpType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_61getNLocksUpType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_60getNLocksUpType};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_61getNLocksUpType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_locktype = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNLocksUpType (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_locktype,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 1911, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1911, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getNLocksUpType", 0) < (0)) __PYX_ERR(2, 1911, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getNLocksUpType", 1, 1, 1, i); __PYX_ERR(2, 1911, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1911, __pyx_L3_error)
    }
    __pyx_v_locktype = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getNLocksUpType", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 1911, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getNLocksUpType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_60getNLocksUpType(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self), __pyx_v_locktype);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_60getNLocksUpType(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, PyObject *__pyx_v_locktype) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_LOCKTYPE __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNLocksUpType", 0);

  /* "src/pyscipopt/scip.pxi":1925
 * 
 *         """
 *         return SCIPvarGetNLocksUpType(self.scip_var, locktype)             # <<<<<<<<<<<<<<
 * 
 *     def varMayRound(self, direction="down"):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_As_SCIP_LOCKTYPE(__pyx_v_locktype); if (unlikely((__pyx_t_1 == ((SCIP_LOCKTYPE)-1)) && PyErr_Occurred())) __PYX_ERR(2, 1925, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyLong_From_int(SCIPvarGetNLocksUpType(__pyx_v_self->scip_var, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1911
 *         return SCIPvarGetNLocksDownType(self.scip_var, locktype)
 * 
 *     def getNLocksUpType(self, locktype):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the number of locks for rounding up of a certain type.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getNLocksUpType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1927
 *         return SCIPvarGetNLocksUpType(self.scip_var, locktype)
 * 
 *     def varMayRound(self, direction="down"):             # <<<<<<<<<<<<<<
 *         """
 *         Checks whether it is possible to round variable up / down and stay feasible for the relaxation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_63varMayRound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_62varMayRound, "\n        Checks whether it is possible to round variable up / down and stay feasible for the relaxation.\n\n        Parameters\n        ----------\n        direction : str\n            \"up\" or \"down\"\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_63varMayRound = {"varMayRound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_63varMayRound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_62varMayRound};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_63varMayRound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_direction = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("varMayRound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_direction,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 1927, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1927, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "varMayRound", 0) < (0)) __PYX_ERR(2, 1927, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_down));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1927, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_down));
    }
    __pyx_v_direction = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("varMayRound", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 1927, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Variable.varMayRound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_62varMayRound(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self), __pyx_v_direction);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_62varMayRound(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, PyObject *__pyx_v_direction) {
  SCIP_Bool __pyx_v_mayround;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("varMayRound", 0);

  /* "src/pyscipopt/scip.pxi":1941
 * 
 *         """
 *         if direction not in ("down", "up"):             # <<<<<<<<<<<<<<
 *             raise Warning(f"Unrecognized direction for rounding: {direction}")
 *         cdef SCIP_Bool mayround
*/
  __Pyx_INCREF(__pyx_v_direction);
  __pyx_t_1 = __pyx_v_direction;
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_down, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 1941, __pyx_L1_error)
  if (__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_up, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 1941, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_t_2;
  if (unlikely(__pyx_t_3)) {

    /* "src/pyscipopt/scip.pxi":1942
 *         """
 *         if direction not in ("down", "up"):
 *             raise Warning(f"Unrecognized direction for rounding: {direction}")             # <<<<<<<<<<<<<<
 *         cdef SCIP_Bool mayround
 *         if direction == "down":
*/
    __pyx_t_4 = NULL;
    __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_direction, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 1942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Unrecognized_direction_for_round, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1942, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 1942, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":1941
 * 
 *         """
 *         if direction not in ("down", "up"):             # <<<<<<<<<<<<<<
 *             raise Warning(f"Unrecognized direction for rounding: {direction}")
 *         cdef SCIP_Bool mayround
*/
  }

  /* "src/pyscipopt/scip.pxi":1944
 *             raise Warning(f"Unrecognized direction for rounding: {direction}")
 *         cdef SCIP_Bool mayround
 *         if direction == "down":             # <<<<<<<<<<<<<<
 *             mayround = SCIPvarMayRoundDown(self.scip_var)
 *         else:
*/
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_direction, __pyx_mstate_global->__pyx_n_u_down, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 1944, __pyx_L1_error)
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":1945
 *         cdef SCIP_Bool mayround
 *         if direction == "down":
 *             mayround = SCIPvarMayRoundDown(self.scip_var)             # <<<<<<<<<<<<<<
 *         else:
 *             mayround = SCIPvarMayRoundUp(self.scip_var)
*/
    __pyx_v_mayround = SCIPvarMayRoundDown(__pyx_v_self->scip_var);

    /* "src/pyscipopt/scip.pxi":1944
 *             raise Warning(f"Unrecognized direction for rounding: {direction}")
 *         cdef SCIP_Bool mayround
 *         if direction == "down":             # <<<<<<<<<<<<<<
 *             mayround = SCIPvarMayRoundDown(self.scip_var)
 *         else:
*/
    goto __pyx_L6;
  }

  /* "src/pyscipopt/scip.pxi":1947
 *             mayround = SCIPvarMayRoundDown(self.scip_var)
 *         else:
 *             mayround = SCIPvarMayRoundUp(self.scip_var)             # <<<<<<<<<<<<<<
 *         return mayround
 * 
*/
  /*else*/ {
    __pyx_v_mayround = SCIPvarMayRoundUp(__pyx_v_self->scip_var);
  }
  __pyx_L6:;

  /* "src/pyscipopt/scip.pxi":1948
 *         else:
 *             mayround = SCIPvarMayRoundUp(self.scip_var)
 *         return mayround             # <<<<<<<<<<<<<<
 * 
 *     def getNBranchings(self, branchdir):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_mayround); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1927
 *         return SCIPvarGetNLocksUpType(self.scip_var, locktype)
 * 
 *     def varMayRound(self, direction="down"):             # <<<<<<<<<<<<<<
 *         """
 *         Checks whether it is possible to round variable up / down and stay feasible for the relaxation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.varMayRound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1950
 *         return mayround
 * 
 *     def getNBranchings(self, branchdir):             # <<<<<<<<<<<<<<
 *         """
 *         returns the number of times a bound of the variable was changed in given direction due to branching
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_65getNBranchings(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_64getNBranchings, "\n        returns the number of times a bound of the variable was changed in given direction due to branching\n\n        Parameters\n        ----------\n        branchdir : PY_SCIP_BRANCHDIR\n            branching direction (downwards, or upwards)\n\n        Returns\n        -------\n        int\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_65getNBranchings = {"getNBranchings", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_65getNBranchings, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_64getNBranchings};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_65getNBranchings(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_branchdir = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNBranchings (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_branchdir,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 1950, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1950, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getNBranchings", 0) < (0)) __PYX_ERR(2, 1950, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getNBranchings", 1, 1, 1, i); __PYX_ERR(2, 1950, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1950, __pyx_L3_error)
    }
    __pyx_v_branchdir = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getNBranchings", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 1950, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getNBranchings", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_64getNBranchings(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self), __pyx_v_branchdir);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_64getNBranchings(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, PyObject *__pyx_v_branchdir) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_BRANCHDIR __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNBranchings", 0);

  /* "src/pyscipopt/scip.pxi":1963
 *         int
 *         """
 *         return SCIPvarGetNBranchings(self.scip_var, branchdir)             # <<<<<<<<<<<<<<
 * 
 *     def getNBranchingsCurrentRun(self, branchdir):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_As_SCIP_BRANCHDIR(__pyx_v_branchdir); if (unlikely((__pyx_t_1 == ((SCIP_BRANCHDIR)-1)) && PyErr_Occurred())) __PYX_ERR(2, 1963, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_Longint(SCIPvarGetNBranchings(__pyx_v_self->scip_var, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1950
 *         return mayround
 * 
 *     def getNBranchings(self, branchdir):             # <<<<<<<<<<<<<<
 *         """
 *         returns the number of times a bound of the variable was changed in given direction due to branching
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getNBranchings", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1965
 *         return SCIPvarGetNBranchings(self.scip_var, branchdir)
 * 
 *     def getNBranchingsCurrentRun(self, branchdir):             # <<<<<<<<<<<<<<
 *         """
 *         returns the number of times a bound of the variable was changed in given direction due to branching in the
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_67getNBranchingsCurrentRun(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_8Variable_66getNBranchingsCurrentRun, "\n        returns the number of times a bound of the variable was changed in given direction due to branching in the\n        current run\n\n        Parameters\n        ----------\n        branchdir : PY_SCIP_BRANCHDIR\n            branching direction (downwards, or upwards)\n\n        Returns\n        -------\n        int\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_67getNBranchingsCurrentRun = {"getNBranchingsCurrentRun", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_67getNBranchingsCurrentRun, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_66getNBranchingsCurrentRun};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_67getNBranchingsCurrentRun(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_branchdir = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNBranchingsCurrentRun (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_branchdir,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 1965, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1965, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getNBranchingsCurrentRun", 0) < (0)) __PYX_ERR(2, 1965, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getNBranchingsCurrentRun", 1, 1, 1, i); __PYX_ERR(2, 1965, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1965, __pyx_L3_error)
    }
    __pyx_v_branchdir = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getNBranchingsCurrentRun", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 1965, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getNBranchingsCurrentRun", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_66getNBranchingsCurrentRun(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self), __pyx_v_branchdir);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_66getNBranchingsCurrentRun(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, PyObject *__pyx_v_branchdir) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_BRANCHDIR __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNBranchingsCurrentRun", 0);

  /* "src/pyscipopt/scip.pxi":1979
 *         int
 *         """
 *         return SCIPvarGetNBranchingsCurrentRun(self.scip_var, branchdir)             # <<<<<<<<<<<<<<
 * 
 * class MatrixVariable(MatrixExpr):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_As_SCIP_BRANCHDIR(__pyx_v_branchdir); if (unlikely((__pyx_t_1 == ((SCIP_BRANCHDIR)-1)) && PyErr_Occurred())) __PYX_ERR(2, 1979, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_Longint(SCIPvarGetNBranchingsCurrentRun(__pyx_v_self->scip_var, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 1979, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1965
 *         return SCIPvarGetNBranchings(self.scip_var, branchdir)
 * 
 *     def getNBranchingsCurrentRun(self, branchdir):             # <<<<<<<<<<<<<<
 *         """
 *         returns the number of times a bound of the variable was changed in given direction due to branching in the
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Variable.getNBranchingsCurrentRun", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pyscipopt/scip.pxd":2208
 *     cdef SCIP_VAR* scip_var
 *     # can be used to store problem data
 *     cdef public object data             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_4data_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_4data___get__(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->data);
  __pyx_r = __pyx_v_self->data;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8Variable_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8Variable_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_4data_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8Variable_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_8Variable_4data_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_8Variable_4data_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_4data_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_8Variable_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_var cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_69__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_69__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_69__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_69__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_68__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_68__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_var cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_var cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_var_cannot_be_converte, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_var cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Variable.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_var cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_var cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_71__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_8Variable_71__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_71__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_8Variable_71__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Variable.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_8Variable_70__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_8Variable_70__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.scip_var cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_var cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_var_cannot_be_converte, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_var cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_var cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Variable.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1983
 * class MatrixVariable(MatrixExpr):
 * 
 *     def vtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the matrix variables type (BINARY, INTEGER, IMPLINT or CONTINUOUS)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_1vtype(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_vtype, "\n        Retrieve the matrix variables type (BINARY, INTEGER, IMPLINT or CONTINUOUS)\n\n        Returns\n        -------\n        np.ndarray\n            A matrix containing \"BINARY\", \"INTEGER\", \"CONTINUOUS\", or \"IMPLINT\"\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_1vtype = {"vtype", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_1vtype, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_vtype};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_1vtype(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("vtype (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 1983, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1983, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "vtype", 0) < (0)) __PYX_ERR(2, 1983, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("vtype", 1, 1, 1, i); __PYX_ERR(2, 1983, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1983, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("vtype", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 1983, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.vtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_vtype(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_vtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_vtypes = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("vtype", 0);

  /* "src/pyscipopt/scip.pxi":1993
 * 
 *         """
 *         vtypes = np.empty(self.shape, dtype=object)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             vtypes[idx] = self[idx].vtype()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1993, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 1993, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_vtypes = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":1994
 *         """
 *         vtypes = np.empty(self.shape, dtype=object)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             vtypes[idx] = self[idx].vtype()
 *         return vtypes
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 1994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 1994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1994, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 1994, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 1994, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1994, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 1994, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":1995
 *         vtypes = np.empty(self.shape, dtype=object)
 *         for idx in np.ndindex(self.shape):
 *             vtypes[idx] = self[idx].vtype()             # <<<<<<<<<<<<<<
 *         return vtypes
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1995, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_vtype, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1995, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_vtypes, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 1995, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":1994
 *         """
 *         vtypes = np.empty(self.shape, dtype=object)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             vtypes[idx] = self[idx].vtype()
 *         return vtypes
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":1996
 *         for idx in np.ndindex(self.shape):
 *             vtypes[idx] = self[idx].vtype()
 *         return vtypes             # <<<<<<<<<<<<<<
 * 
 *     def isInLP(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_vtypes);
  __pyx_r = __pyx_v_vtypes;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1983
 * class MatrixVariable(MatrixExpr):
 * 
 *     def vtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the matrix variables type (BINARY, INTEGER, IMPLINT or CONTINUOUS)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.vtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_vtypes);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":1998
 *         return vtypes
 * 
 *     def isInLP(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the matrix variable is a COLUMN variable that is member of the current LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_3isInLP(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_2isInLP, "\n        Retrieve whether the matrix variable is a COLUMN variable that is member of the current LP.\n\n        Returns\n        -------\n        np.ndarray\n            An array of bools\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_3isInLP = {"isInLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_3isInLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_2isInLP};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_3isInLP(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isInLP (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 1998, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1998, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isInLP", 0) < (0)) __PYX_ERR(2, 1998, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isInLP", 1, 1, 1, i); __PYX_ERR(2, 1998, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 1998, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isInLP", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 1998, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.isInLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_2isInLP(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_2isInLP(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_in_lp = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isInLP", 0);

  /* "src/pyscipopt/scip.pxi":2008
 * 
 *         """
 *         in_lp = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             in_lp[idx] = self[idx].isInLP()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2008, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2008, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2008, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2008, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_in_lp = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2009
 *         """
 *         in_lp = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             in_lp[idx] = self[idx].isInLP()
 *         return in_lp
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2009, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2009, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2009, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2009, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2009, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2009, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2010
 *         in_lp = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self.shape):
 *             in_lp[idx] = self[idx].isInLP()             # <<<<<<<<<<<<<<
 *         return in_lp
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isInLP, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2010, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_in_lp, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2010, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2009
 *         """
 *         in_lp = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             in_lp[idx] = self[idx].isInLP()
 *         return in_lp
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2011
 *         for idx in np.ndindex(self.shape):
 *             in_lp[idx] = self[idx].isInLP()
 *         return in_lp             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_in_lp);
  __pyx_r = __pyx_v_in_lp;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":1998
 *         return vtypes
 * 
 *     def isInLP(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the matrix variable is a COLUMN variable that is member of the current LP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.isInLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_in_lp);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2014
 * 
 * 
 *     def getIndex(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the unique index of the matrix variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_5getIndex(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_4getIndex, "\n        Retrieve the unique index of the matrix variable.\n\n        Returns\n        -------\n        np.ndarray\n            An array of integers. No two should be the same\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_5getIndex = {"getIndex", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_5getIndex, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_4getIndex};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_5getIndex(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getIndex (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2014, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2014, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getIndex", 0) < (0)) __PYX_ERR(2, 2014, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getIndex", 1, 1, 1, i); __PYX_ERR(2, 2014, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2014, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getIndex", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2014, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getIndex", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_4getIndex(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_4getIndex(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_indices = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getIndex", 0);

  /* "src/pyscipopt/scip.pxi":2023
 *             An array of integers. No two should be the same
 *         """
 *         indices = np.empty(self.shape, dtype=int)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             indices[idx] = self[idx].getIndex()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyLong_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2023, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2023, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_indices = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2024
 *         """
 *         indices = np.empty(self.shape, dtype=int)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             indices[idx] = self[idx].getIndex()
 *         return indices
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2024, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2024, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2024, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2024, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2024, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2024, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2025
 *         indices = np.empty(self.shape, dtype=int)
 *         for idx in np.ndindex(self.shape):
 *             indices[idx] = self[idx].getIndex()             # <<<<<<<<<<<<<<
 *         return indices
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2025, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getIndex, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2025, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_indices, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2025, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2024
 *         """
 *         indices = np.empty(self.shape, dtype=int)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             indices[idx] = self[idx].getIndex()
 *         return indices
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2026
 *         for idx in np.ndindex(self.shape):
 *             indices[idx] = self[idx].getIndex()
 *         return indices             # <<<<<<<<<<<<<<
 * 
 *     def getCol(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_indices);
  __pyx_r = __pyx_v_indices;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2014
 * 
 * 
 *     def getIndex(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the unique index of the matrix variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getIndex", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_indices);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2028
 *         return indices
 * 
 *     def getCol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve matrix of columns of COLUMN variables.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_7getCol(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_6getCol, "\n        Retrieve matrix of columns of COLUMN variables.\n\n        Returns\n        -------\n        np.ndarray\n            An array of Column objects\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_7getCol = {"getCol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_7getCol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_6getCol};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_7getCol(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2028, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2028, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getCol", 0) < (0)) __PYX_ERR(2, 2028, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getCol", 1, 1, 1, i); __PYX_ERR(2, 2028, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2028, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getCol", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2028, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getCol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_6getCol(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_6getCol(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_columns = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getCol", 0);

  /* "src/pyscipopt/scip.pxi":2038
 *         """
 * 
 *         columns = np.empty(self.shape, dtype=object)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             columns[idx] = self[idx].getCol()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2038, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2038, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_columns = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2039
 * 
 *         columns = np.empty(self.shape, dtype=object)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             columns[idx] = self[idx].getCol()
 *         return columns
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2039, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2039, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2039, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2039, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2039, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2039, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2039, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2040
 *         columns = np.empty(self.shape, dtype=object)
 *         for idx in np.ndindex(self.shape):
 *             columns[idx] = self[idx].getCol()             # <<<<<<<<<<<<<<
 *         return columns
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2040, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getCol, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2040, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_columns, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2040, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2039
 * 
 *         columns = np.empty(self.shape, dtype=object)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             columns[idx] = self[idx].getCol()
 *         return columns
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2041
 *         for idx in np.ndindex(self.shape):
 *             columns[idx] = self[idx].getCol()
 *         return columns             # <<<<<<<<<<<<<<
 * 
 *     def getLbOriginal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_columns);
  __pyx_r = __pyx_v_columns;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2028
 *         return indices
 * 
 *     def getCol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve matrix of columns of COLUMN variables.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getCol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_columns);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2043
 *         return columns
 * 
 *     def getLbOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve original lower bound of matrix variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_9getLbOriginal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_8getLbOriginal, "\n        Retrieve original lower bound of matrix variable.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_9getLbOriginal = {"getLbOriginal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_9getLbOriginal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_8getLbOriginal};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_9getLbOriginal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLbOriginal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2043, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2043, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getLbOriginal", 0) < (0)) __PYX_ERR(2, 2043, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getLbOriginal", 1, 1, 1, i); __PYX_ERR(2, 2043, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2043, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getLbOriginal", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2043, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getLbOriginal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_8getLbOriginal(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_8getLbOriginal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_lbs = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLbOriginal", 0);

  /* "src/pyscipopt/scip.pxi":2052
 * 
 *         """
 *         lbs = np.empty(self.shape, dtype=float)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             lbs[idx] = self[idx].getLbOriginal()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyFloat_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2052, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2052, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_lbs = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2053
 *         """
 *         lbs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             lbs[idx] = self[idx].getLbOriginal()
 *         return lbs
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2053, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2053, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2053, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2053, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2053, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2054
 *         lbs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):
 *             lbs[idx] = self[idx].getLbOriginal()             # <<<<<<<<<<<<<<
 *         return lbs
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getLbOriginal, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2054, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_lbs, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2054, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2053
 *         """
 *         lbs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             lbs[idx] = self[idx].getLbOriginal()
 *         return lbs
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2055
 *         for idx in np.ndindex(self.shape):
 *             lbs[idx] = self[idx].getLbOriginal()
 *         return lbs             # <<<<<<<<<<<<<<
 * 
 *     def getUbOriginal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_lbs);
  __pyx_r = __pyx_v_lbs;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2043
 *         return columns
 * 
 *     def getLbOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve original lower bound of matrix variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getLbOriginal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_lbs);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2057
 *         return lbs
 * 
 *     def getUbOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve original upper bound of matrixvariable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_11getUbOriginal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_10getUbOriginal, "\n        Retrieve original upper bound of matrixvariable.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_11getUbOriginal = {"getUbOriginal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_11getUbOriginal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_10getUbOriginal};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_11getUbOriginal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getUbOriginal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2057, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2057, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getUbOriginal", 0) < (0)) __PYX_ERR(2, 2057, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getUbOriginal", 1, 1, 1, i); __PYX_ERR(2, 2057, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2057, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getUbOriginal", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2057, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getUbOriginal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_10getUbOriginal(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_10getUbOriginal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_ubs = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getUbOriginal", 0);

  /* "src/pyscipopt/scip.pxi":2066
 * 
 *         """
 *         ubs = np.empty(self.shape, dtype=float)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             ubs[idx] = self[idx].getUbOriginal()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyFloat_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2066, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_ubs = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2067
 *         """
 *         ubs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             ubs[idx] = self[idx].getUbOriginal()
 *         return ubs
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2067, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2067, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2067, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2067, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2067, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2068
 *         ubs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):
 *             ubs[idx] = self[idx].getUbOriginal()             # <<<<<<<<<<<<<<
 *         return ubs
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2068, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getUbOriginal, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2068, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_ubs, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2068, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2067
 *         """
 *         ubs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             ubs[idx] = self[idx].getUbOriginal()
 *         return ubs
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2069
 *         for idx in np.ndindex(self.shape):
 *             ubs[idx] = self[idx].getUbOriginal()
 *         return ubs             # <<<<<<<<<<<<<<
 * 
 *     def getLbGlobal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_ubs);
  __pyx_r = __pyx_v_ubs;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2057
 *         return lbs
 * 
 *     def getUbOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve original upper bound of matrixvariable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getUbOriginal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ubs);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2071
 *         return ubs
 * 
 *     def getLbGlobal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve global lower bound of matrix variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_13getLbGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_12getLbGlobal, "\n        Retrieve global lower bound of matrix variable.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_13getLbGlobal = {"getLbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_13getLbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_12getLbGlobal};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_13getLbGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLbGlobal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2071, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2071, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getLbGlobal", 0) < (0)) __PYX_ERR(2, 2071, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getLbGlobal", 1, 1, 1, i); __PYX_ERR(2, 2071, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2071, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getLbGlobal", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2071, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getLbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_12getLbGlobal(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_12getLbGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_lbs = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLbGlobal", 0);

  /* "src/pyscipopt/scip.pxi":2080
 * 
 *         """
 *         lbs = np.empty(self.shape, dtype=float)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             lbs[idx] = self[idx].getLbGlobal()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyFloat_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2080, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_lbs = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2081
 *         """
 *         lbs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             lbs[idx] = self[idx].getLbGlobal()
 *         return lbs
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2081, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2081, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2081, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2081, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2081, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2082
 *         lbs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):
 *             lbs[idx] = self[idx].getLbGlobal()             # <<<<<<<<<<<<<<
 *         return lbs
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2082, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getLbGlobal, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2082, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_lbs, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2082, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2081
 *         """
 *         lbs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             lbs[idx] = self[idx].getLbGlobal()
 *         return lbs
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2083
 *         for idx in np.ndindex(self.shape):
 *             lbs[idx] = self[idx].getLbGlobal()
 *         return lbs             # <<<<<<<<<<<<<<
 * 
 *     def getUbGlobal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_lbs);
  __pyx_r = __pyx_v_lbs;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2071
 *         return ubs
 * 
 *     def getLbGlobal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve global lower bound of matrix variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getLbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_lbs);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2085
 *         return lbs
 * 
 *     def getUbGlobal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve global upper bound of matrix variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_15getUbGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_14getUbGlobal, "\n        Retrieve global upper bound of matrix variable.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_15getUbGlobal = {"getUbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_15getUbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_14getUbGlobal};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_15getUbGlobal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getUbGlobal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2085, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2085, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getUbGlobal", 0) < (0)) __PYX_ERR(2, 2085, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getUbGlobal", 1, 1, 1, i); __PYX_ERR(2, 2085, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2085, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getUbGlobal", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2085, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getUbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_14getUbGlobal(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_14getUbGlobal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_ubs = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getUbGlobal", 0);

  /* "src/pyscipopt/scip.pxi":2094
 * 
 *         """
 *         ubs = np.empty(self.shape, dtype=float)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             ubs[idx] = self[idx].getUbGlobal()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyFloat_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2094, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_ubs = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2095
 *         """
 *         ubs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             ubs[idx] = self[idx].getUbGlobal()
 *         return ubs
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2095, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2095, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2095, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2095, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2095, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2095, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2096
 *         ubs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):
 *             ubs[idx] = self[idx].getUbGlobal()             # <<<<<<<<<<<<<<
 *         return ubs
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getUbGlobal, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2096, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_ubs, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2096, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2095
 *         """
 *         ubs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             ubs[idx] = self[idx].getUbGlobal()
 *         return ubs
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2097
 *         for idx in np.ndindex(self.shape):
 *             ubs[idx] = self[idx].getUbGlobal()
 *         return ubs             # <<<<<<<<<<<<<<
 * 
 *     def getLbLocal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_ubs);
  __pyx_r = __pyx_v_ubs;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2085
 *         return lbs
 * 
 *     def getUbGlobal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve global upper bound of matrix variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getUbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ubs);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2099
 *         return ubs
 * 
 *     def getLbLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current lower bound of matrix variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_17getLbLocal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_16getLbLocal, "\n        Retrieve current lower bound of matrix variable.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_17getLbLocal = {"getLbLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_17getLbLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_16getLbLocal};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_17getLbLocal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLbLocal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2099, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2099, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getLbLocal", 0) < (0)) __PYX_ERR(2, 2099, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getLbLocal", 1, 1, 1, i); __PYX_ERR(2, 2099, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2099, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getLbLocal", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2099, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getLbLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_16getLbLocal(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_16getLbLocal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_lbs = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLbLocal", 0);

  /* "src/pyscipopt/scip.pxi":2108
 * 
 *         """
 *         lbs = np.empty(self.shape, dtype=float)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             lbs[idx] = self[idx].getLbLocal()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyFloat_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2108, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2108, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_lbs = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2109
 *         """
 *         lbs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             lbs[idx] = self[idx].getLbLocal()
 *         return lbs
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2109, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2109, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2109, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2109, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2109, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2109, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2110
 *         lbs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):
 *             lbs[idx] = self[idx].getLbLocal()             # <<<<<<<<<<<<<<
 *         return lbs
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getLbLocal, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2110, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_lbs, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2110, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2109
 *         """
 *         lbs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             lbs[idx] = self[idx].getLbLocal()
 *         return lbs
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2111
 *         for idx in np.ndindex(self.shape):
 *             lbs[idx] = self[idx].getLbLocal()
 *         return lbs             # <<<<<<<<<<<<<<
 * 
 *     def getUbLocal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_lbs);
  __pyx_r = __pyx_v_lbs;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2099
 *         return ubs
 * 
 *     def getLbLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current lower bound of matrix variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getLbLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_lbs);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2113
 *         return lbs
 * 
 *     def getUbLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current upper bound of matrix variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_19getUbLocal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_18getUbLocal, "\n        Retrieve current upper bound of matrix variable.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_19getUbLocal = {"getUbLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_19getUbLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_18getUbLocal};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_19getUbLocal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getUbLocal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2113, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2113, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getUbLocal", 0) < (0)) __PYX_ERR(2, 2113, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getUbLocal", 1, 1, 1, i); __PYX_ERR(2, 2113, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2113, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getUbLocal", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2113, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getUbLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_18getUbLocal(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_18getUbLocal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_ubs = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getUbLocal", 0);

  /* "src/pyscipopt/scip.pxi":2122
 * 
 *         """
 *         ubs = np.empty(self.shape, dtype=float)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             ubs[idx] = self[idx].getUbLocal()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyFloat_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2122, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_ubs = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2123
 *         """
 *         ubs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             ubs[idx] = self[idx].getUbLocal()
 *         return ubs
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2123, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2123, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2123, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2123, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2123, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2123, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2124
 *         ubs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):
 *             ubs[idx] = self[idx].getUbLocal()             # <<<<<<<<<<<<<<
 *         return ubs
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2124, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getUbLocal, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2124, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_ubs, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2124, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2123
 *         """
 *         ubs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             ubs[idx] = self[idx].getUbLocal()
 *         return ubs
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2125
 *         for idx in np.ndindex(self.shape):
 *             ubs[idx] = self[idx].getUbLocal()
 *         return ubs             # <<<<<<<<<<<<<<
 * 
 *     def getObj(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_ubs);
  __pyx_r = __pyx_v_ubs;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2113
 *         return lbs
 * 
 *     def getUbLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current upper bound of matrix variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getUbLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ubs);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2127
 *         return ubs
 * 
 *     def getObj(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current objective value of matrix variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_21getObj(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_20getObj, "\n        Retrieve current objective value of matrix variable.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_21getObj = {"getObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_21getObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_20getObj};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_21getObj(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getObj (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2127, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2127, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getObj", 0) < (0)) __PYX_ERR(2, 2127, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getObj", 1, 1, 1, i); __PYX_ERR(2, 2127, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2127, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getObj", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2127, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getObj", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_20getObj(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_20getObj(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_objs = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getObj", 0);

  /* "src/pyscipopt/scip.pxi":2136
 * 
 *         """
 *         objs = np.empty(self.shape, dtype=float)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             objs[idx] = self[idx].getObj()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyFloat_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2136, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2136, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_objs = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2137
 *         """
 *         objs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             objs[idx] = self[idx].getObj()
 *         return objs
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2137, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2137, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2137, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2137, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2137, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2138
 *         objs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):
 *             objs[idx] = self[idx].getObj()             # <<<<<<<<<<<<<<
 *         return objs
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2138, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getObj, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2138, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_objs, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2138, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2137
 *         """
 *         objs = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             objs[idx] = self[idx].getObj()
 *         return objs
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2139
 *         for idx in np.ndindex(self.shape):
 *             objs[idx] = self[idx].getObj()
 *         return objs             # <<<<<<<<<<<<<<
 * 
 *     def getLPSol(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_objs);
  __pyx_r = __pyx_v_objs;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2127
 *         return ubs
 * 
 *     def getObj(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current objective value of matrix variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getObj", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_objs);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2141
 *         return objs
 * 
 *     def getLPSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current LP solution value of matrix variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_23getLPSol(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_22getLPSol, "\n        Retrieve the current LP solution value of matrix variable.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_23getLPSol = {"getLPSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_23getLPSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_22getLPSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_23getLPSol(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLPSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2141, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2141, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getLPSol", 0) < (0)) __PYX_ERR(2, 2141, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getLPSol", 1, 1, 1, i); __PYX_ERR(2, 2141, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2141, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getLPSol", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2141, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getLPSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_22getLPSol(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_22getLPSol(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_lpsols = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLPSol", 0);

  /* "src/pyscipopt/scip.pxi":2150
 * 
 *         """
 *         lpsols = np.empty(self.shape, dtype=float)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             lpsols[idx] = self[idx].getLPSol()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyFloat_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2150, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2150, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_lpsols = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2151
 *         """
 *         lpsols = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             lpsols[idx] = self[idx].getLPSol()
 *         return lpsols
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2151, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2151, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2151, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2151, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2151, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2152
 *         lpsols = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):
 *             lpsols[idx] = self[idx].getLPSol()             # <<<<<<<<<<<<<<
 *         return lpsols
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getLPSol, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2152, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_lpsols, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2152, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2151
 *         """
 *         lpsols = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             lpsols[idx] = self[idx].getLPSol()
 *         return lpsols
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2153
 *         for idx in np.ndindex(self.shape):
 *             lpsols[idx] = self[idx].getLPSol()
 *         return lpsols             # <<<<<<<<<<<<<<
 * 
 *     def getAvgSol(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_lpsols);
  __pyx_r = __pyx_v_lpsols;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2141
 *         return objs
 * 
 *     def getLPSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current LP solution value of matrix variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getLPSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_lpsols);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2155
 *         return lpsols
 * 
 *     def getAvgSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the weighted average solution of matrix variable in all feasible primal solutions found.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_25getAvgSol(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_24getAvgSol, "\n        Get the weighted average solution of matrix variable in all feasible primal solutions found.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_25getAvgSol = {"getAvgSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_25getAvgSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_24getAvgSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_25getAvgSol(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getAvgSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2155, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2155, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getAvgSol", 0) < (0)) __PYX_ERR(2, 2155, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getAvgSol", 1, 1, 1, i); __PYX_ERR(2, 2155, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2155, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getAvgSol", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2155, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getAvgSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_24getAvgSol(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_24getAvgSol(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_avgsols = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getAvgSol", 0);

  /* "src/pyscipopt/scip.pxi":2164
 * 
 *         """
 *         avgsols = np.empty(self.shape, dtype=float)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             avgsols[idx] = self[idx].getAvgSol()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyFloat_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2164, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2164, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_avgsols = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2165
 *         """
 *         avgsols = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             avgsols[idx] = self[idx].getAvgSol()
 *         return avgsols
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2165, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2165, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2165, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2165, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2165, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2166
 *         avgsols = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):
 *             avgsols[idx] = self[idx].getAvgSol()             # <<<<<<<<<<<<<<
 *         return avgsols
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getAvgSol, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2166, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_avgsols, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2166, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2165
 *         """
 *         avgsols = np.empty(self.shape, dtype=float)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             avgsols[idx] = self[idx].getAvgSol()
 *         return avgsols
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2167
 *         for idx in np.ndindex(self.shape):
 *             avgsols[idx] = self[idx].getAvgSol()
 *         return avgsols             # <<<<<<<<<<<<<<
 * 
 *     def varMayRound(self, direction="down"):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_avgsols);
  __pyx_r = __pyx_v_avgsols;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2155
 *         return lpsols
 * 
 *     def getAvgSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the weighted average solution of matrix variable in all feasible primal solutions found.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.getAvgSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_avgsols);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2169
 *         return avgsols
 * 
 *     def varMayRound(self, direction="down"):             # <<<<<<<<<<<<<<
 *         """
 *         Checks whether it is possible to round variable up / down and stay feasible for the relaxation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_27varMayRound(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_14MatrixVariable_26varMayRound, "\n        Checks whether it is possible to round variable up / down and stay feasible for the relaxation.\n\n        Parameters\n        ----------\n        direction : str\n            \"up\" or \"down\"\n\n        Returns\n        -------\n        np.ndarray\n            An array of bools\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_14MatrixVariable_27varMayRound = {"varMayRound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14MatrixVariable_27varMayRound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_14MatrixVariable_26varMayRound};
static PyObject *__pyx_pw_9pyscipopt_4scip_14MatrixVariable_27varMayRound(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  CYTHON_UNUSED PyObject *__pyx_v_direction = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("varMayRound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_direction,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2169, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 2169, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2169, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "varMayRound", 0) < (0)) __PYX_ERR(2, 2169, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)((PyObject*)__pyx_mstate_global->__pyx_n_u_down)));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("varMayRound", 0, 1, 2, i); __PYX_ERR(2, 2169, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 2169, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2169, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)((PyObject*)__pyx_mstate_global->__pyx_n_u_down)));
    }
    __pyx_v_self = values[0];
    __pyx_v_direction = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("varMayRound", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 2169, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.varMayRound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_14MatrixVariable_26varMayRound(__pyx_self, __pyx_v_self, __pyx_v_direction);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_14MatrixVariable_26varMayRound(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_direction) {
  PyObject *__pyx_v_mayround = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("varMayRound", 0);

  /* "src/pyscipopt/scip.pxi":2184
 * 
 *         """
 *         mayround = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self.shape):
 *             mayround[idx] = self[idx].varMayRound()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2184, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_mayround = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2185
 *         """
 *         mayround = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             mayround[idx] = self[idx].varMayRound()
 *         return mayround
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2185, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2185, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2185, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2185, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2185, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2185, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2186
 *         mayround = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self.shape):
 *             mayround[idx] = self[idx].varMayRound()             # <<<<<<<<<<<<<<
 *         return mayround
 * 
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_t_4;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_varMayRound, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2186, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_mayround, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2186, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2185
 *         """
 *         mayround = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self.shape):             # <<<<<<<<<<<<<<
 *             mayround[idx] = self[idx].varMayRound()
 *         return mayround
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2187
 *         for idx in np.ndindex(self.shape):
 *             mayround[idx] = self[idx].varMayRound()
 *         return mayround             # <<<<<<<<<<<<<<
 * 
 * cdef class Constraint:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_mayround);
  __pyx_r = __pyx_v_mayround;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2169
 *         return avgsols
 * 
 *     def varMayRound(self, direction="down"):             # <<<<<<<<<<<<<<
 *         """
 *         Checks whether it is possible to round variable up / down and stay feasible for the relaxation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixVariable.varMayRound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_mayround);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2192
 *     """Base class holding a pointer to corresponding SCIP_CONS"""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_CONS* scipcons):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_10Constraint_create(SCIP_CONS *__pyx_v_scipcons) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":2208
 * 
 *         """
 *         if scipcons == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Constraint with SCIP_CONS* == NULL")
 *         cons = Constraint()
*/
  __pyx_t_1 = (__pyx_v_scipcons == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":2209
 *         """
 *         if scipcons == NULL:
 *             raise Warning("cannot create Constraint with SCIP_CONS* == NULL")             # <<<<<<<<<<<<<<
 *         cons = Constraint()
 *         cons.scip_cons = scipcons
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_create_Constraint_with_SC};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2209, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 2209, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":2208
 * 
 *         """
 *         if scipcons == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Constraint with SCIP_CONS* == NULL")
 *         cons = Constraint()
*/
  }

  /* "src/pyscipopt/scip.pxi":2210
 *         if scipcons == NULL:
 *             raise Warning("cannot create Constraint with SCIP_CONS* == NULL")
 *         cons = Constraint()             # <<<<<<<<<<<<<<
 *         cons.scip_cons = scipcons
 *         return cons
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2210, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":2211
 *             raise Warning("cannot create Constraint with SCIP_CONS* == NULL")
 *         cons = Constraint()
 *         cons.scip_cons = scipcons             # <<<<<<<<<<<<<<
 *         return cons
 * 
*/
  __pyx_v_cons->scip_cons = __pyx_v_scipcons;

  /* "src/pyscipopt/scip.pxi":2212
 *         cons = Constraint()
 *         cons.scip_cons = scipcons
 *         return cons             # <<<<<<<<<<<<<<
 * 
 *     property name:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_cons);
  __pyx_r = ((PyObject *)__pyx_v_cons);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2192
 *     """Base class holding a pointer to corresponding SCIP_CONS"""
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_CONS* scipcons):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_cons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2215
 * 
 *     property name:
 *         def __get__(self):             # <<<<<<<<<<<<<<
 *             if self.scip_cons == NULL:
 *                 return ""
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_4name_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_4name___get__(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_4name___get__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/pyscipopt/scip.pxi":2216
 *     property name:
 *         def __get__(self):
 *             if self.scip_cons == NULL:             # <<<<<<<<<<<<<<
 *                 return ""
 *             cname = bytes( SCIPconsGetName(self.scip_cons) )
*/
  __pyx_t_1 = (__pyx_v_self->scip_cons == NULL);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":2217
 *         def __get__(self):
 *             if self.scip_cons == NULL:
 *                 return ""             # <<<<<<<<<<<<<<
 *             cname = bytes( SCIPconsGetName(self.scip_cons) )
 *             return cname.decode('utf-8')
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u__11);
    __pyx_r = __pyx_mstate_global->__pyx_kp_u__11;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":2216
 *     property name:
 *         def __get__(self):
 *             if self.scip_cons == NULL:             # <<<<<<<<<<<<<<
 *                 return ""
 *             cname = bytes( SCIPconsGetName(self.scip_cons) )
*/
  }

  /* "src/pyscipopt/scip.pxi":2218
 *             if self.scip_cons == NULL:
 *                 return ""
 *             cname = bytes( SCIPconsGetName(self.scip_cons) )             # <<<<<<<<<<<<<<
 *             return cname.decode('utf-8')
 * 
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = __Pyx_PyBytes_FromString(SCIPconsGetName(__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_cname = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":2219
 *                 return ""
 *             cname = bytes( SCIPconsGetName(self.scip_cons) )
 *             return cname.decode('utf-8')             # <<<<<<<<<<<<<<
 * 
 *     def ptr(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_decode_bytes(__pyx_v_cname, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2215
 * 
 *     property name:
 *         def __get__(self):             # <<<<<<<<<<<<<<
 *             if self.scip_cons == NULL:
 *                 return ""
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2221
 *             return cname.decode('utf-8')
 * 
 *     def ptr(self):             # <<<<<<<<<<<<<<
 *         return <size_t>(self.scip_cons)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_1ptr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_1ptr = {"ptr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_1ptr, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_1ptr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ptr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("ptr", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("ptr", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_ptr(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_ptr(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("ptr", 0);

  /* "src/pyscipopt/scip.pxi":2222
 * 
 *     def ptr(self):
 *         return <size_t>(self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def __repr__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((size_t)__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2221
 *             return cname.decode('utf-8')
 * 
 *     def ptr(self):             # <<<<<<<<<<<<<<
 *         return <size_t>(self.scip_cons)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.ptr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2224
 *         return <size_t>(self.scip_cons)
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self.name
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_3__repr__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_3__repr__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_2__repr__(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_2__repr__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__repr__", 0);

  /* "src/pyscipopt/scip.pxi":2225
 * 
 *     def __repr__(self):
 *         return self.name             # <<<<<<<<<<<<<<
 * 
 *     def isOriginal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2224
 *         return <size_t>(self.scip_cons)
 * 
 *     def __repr__(self):             # <<<<<<<<<<<<<<
 *         return self.name
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2227
 *         return self.name
 * 
 *     def isOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the constraint belongs to the original problem.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_5isOriginal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_4isOriginal, "\n        Retrieve whether the constraint belongs to the original problem.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_5isOriginal = {"isOriginal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_5isOriginal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_4isOriginal};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_5isOriginal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isOriginal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isOriginal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isOriginal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_4isOriginal(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_4isOriginal(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isOriginal", 0);

  /* "src/pyscipopt/scip.pxi":2236
 * 
 *         """
 *         return SCIPconsIsOriginal(self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def isInitial(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPconsIsOriginal(__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2227
 *         return self.name
 * 
 *     def isOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the constraint belongs to the original problem.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isOriginal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2238
 *         return SCIPconsIsOriginal(self.scip_cons)
 * 
 *     def isInitial(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if the relaxation of the constraint should be in the initial LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_7isInitial(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_6isInitial, "\n        Returns True if the relaxation of the constraint should be in the initial LP.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_7isInitial = {"isInitial", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_7isInitial, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_6isInitial};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_7isInitial(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isInitial (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isInitial", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isInitial", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_6isInitial(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_6isInitial(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isInitial", 0);

  /* "src/pyscipopt/scip.pxi":2247
 * 
 *         """
 *         return SCIPconsIsInitial(self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def isSeparated(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPconsIsInitial(__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2238
 *         return SCIPconsIsOriginal(self.scip_cons)
 * 
 *     def isInitial(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if the relaxation of the constraint should be in the initial LP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isInitial", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2249
 *         return SCIPconsIsInitial(self.scip_cons)
 * 
 *     def isSeparated(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be separated during LP processing.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_9isSeparated(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_8isSeparated, "\n        Returns True if constraint should be separated during LP processing.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_9isSeparated = {"isSeparated", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_9isSeparated, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_8isSeparated};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_9isSeparated(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isSeparated (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isSeparated", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isSeparated", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_8isSeparated(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_8isSeparated(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isSeparated", 0);

  /* "src/pyscipopt/scip.pxi":2258
 * 
 *         """
 *         return SCIPconsIsSeparated(self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def isEnforced(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPconsIsSeparated(__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2249
 *         return SCIPconsIsInitial(self.scip_cons)
 * 
 *     def isSeparated(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be separated during LP processing.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isSeparated", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2260
 *         return SCIPconsIsSeparated(self.scip_cons)
 * 
 *     def isEnforced(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be enforced during node processing.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_11isEnforced(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_10isEnforced, "\n        Returns True if constraint should be enforced during node processing.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_11isEnforced = {"isEnforced", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_11isEnforced, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_10isEnforced};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_11isEnforced(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isEnforced (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isEnforced", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isEnforced", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_10isEnforced(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_10isEnforced(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isEnforced", 0);

  /* "src/pyscipopt/scip.pxi":2269
 * 
 *         """
 *         return SCIPconsIsEnforced(self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def isChecked(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPconsIsEnforced(__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2260
 *         return SCIPconsIsSeparated(self.scip_cons)
 * 
 *     def isEnforced(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be enforced during node processing.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isEnforced", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2271
 *         return SCIPconsIsEnforced(self.scip_cons)
 * 
 *     def isChecked(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be checked for feasibility.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_13isChecked(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_12isChecked, "\n        Returns True if constraint should be checked for feasibility.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_13isChecked = {"isChecked", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_13isChecked, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_12isChecked};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_13isChecked(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isChecked (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isChecked", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isChecked", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_12isChecked(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_12isChecked(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isChecked", 0);

  /* "src/pyscipopt/scip.pxi":2280
 * 
 *         """
 *         return SCIPconsIsChecked(self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def isPropagated(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPconsIsChecked(__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2271
 *         return SCIPconsIsEnforced(self.scip_cons)
 * 
 *     def isChecked(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be checked for feasibility.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isChecked", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2282
 *         return SCIPconsIsChecked(self.scip_cons)
 * 
 *     def isPropagated(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be propagated during node processing.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_15isPropagated(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_14isPropagated, "\n        Returns True if constraint should be propagated during node processing.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_15isPropagated = {"isPropagated", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_15isPropagated, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_14isPropagated};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_15isPropagated(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isPropagated (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isPropagated", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isPropagated", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_14isPropagated(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_14isPropagated(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isPropagated", 0);

  /* "src/pyscipopt/scip.pxi":2291
 * 
 *         """
 *         return SCIPconsIsPropagated(self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def isLocal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPconsIsPropagated(__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2282
 *         return SCIPconsIsChecked(self.scip_cons)
 * 
 *     def isPropagated(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be propagated during node processing.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isPropagated", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2293
 *         return SCIPconsIsPropagated(self.scip_cons)
 * 
 *     def isLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is only locally valid or not added to any (sub)problem.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_17isLocal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_16isLocal, "\n        Returns True if constraint is only locally valid or not added to any (sub)problem.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_17isLocal = {"isLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_17isLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_16isLocal};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_17isLocal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isLocal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isLocal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isLocal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_16isLocal(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_16isLocal(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isLocal", 0);

  /* "src/pyscipopt/scip.pxi":2302
 * 
 *         """
 *         return SCIPconsIsLocal(self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def isModifiable(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPconsIsLocal(__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2293
 *         return SCIPconsIsPropagated(self.scip_cons)
 * 
 *     def isLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is only locally valid or not added to any (sub)problem.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2304
 *         return SCIPconsIsLocal(self.scip_cons)
 * 
 *     def isModifiable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is modifiable (subject to column generation).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_19isModifiable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_18isModifiable, "\n        Returns True if constraint is modifiable (subject to column generation).\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_19isModifiable = {"isModifiable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_19isModifiable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_18isModifiable};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_19isModifiable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isModifiable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isModifiable", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isModifiable", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_18isModifiable(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_18isModifiable(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isModifiable", 0);

  /* "src/pyscipopt/scip.pxi":2313
 * 
 *         """
 *         return SCIPconsIsModifiable(self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def isDynamic(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPconsIsModifiable(__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2304
 *         return SCIPconsIsLocal(self.scip_cons)
 * 
 *     def isModifiable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is modifiable (subject to column generation).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isModifiable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2315
 *         return SCIPconsIsModifiable(self.scip_cons)
 * 
 *     def isDynamic(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is subject to aging.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_21isDynamic(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_20isDynamic, "\n        Returns True if constraint is subject to aging.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_21isDynamic = {"isDynamic", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_21isDynamic, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_20isDynamic};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_21isDynamic(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDynamic (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isDynamic", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isDynamic", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_20isDynamic(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_20isDynamic(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isDynamic", 0);

  /* "src/pyscipopt/scip.pxi":2324
 * 
 *         """
 *         return SCIPconsIsDynamic(self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def isRemovable(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPconsIsDynamic(__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2324, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2315
 *         return SCIPconsIsModifiable(self.scip_cons)
 * 
 *     def isDynamic(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is subject to aging.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isDynamic", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2326
 *         return SCIPconsIsDynamic(self.scip_cons)
 * 
 *     def isRemovable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint's relaxation should be removed from the LP due to aging or cleanup.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_23isRemovable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_22isRemovable, "\n        Returns True if constraint's relaxation should be removed from the LP due to aging or cleanup.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_23isRemovable = {"isRemovable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_23isRemovable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_22isRemovable};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_23isRemovable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isRemovable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isRemovable", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isRemovable", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_22isRemovable(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_22isRemovable(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isRemovable", 0);

  /* "src/pyscipopt/scip.pxi":2335
 * 
 *         """
 *         return SCIPconsIsRemovable(self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def isStickingAtNode(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPconsIsRemovable(__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2335, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2326
 *         return SCIPconsIsDynamic(self.scip_cons)
 * 
 *     def isRemovable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint's relaxation should be removed from the LP due to aging or cleanup.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isRemovable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2337
 *         return SCIPconsIsRemovable(self.scip_cons)
 * 
 *     def isStickingAtNode(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is only locally valid or not added to any (sub)problem.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_25isStickingAtNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_24isStickingAtNode, "\n        Returns True if constraint is only locally valid or not added to any (sub)problem.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_25isStickingAtNode = {"isStickingAtNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_25isStickingAtNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_24isStickingAtNode};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_25isStickingAtNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isStickingAtNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isStickingAtNode", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isStickingAtNode", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_24isStickingAtNode(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_24isStickingAtNode(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isStickingAtNode", 0);

  /* "src/pyscipopt/scip.pxi":2346
 * 
 *         """
 *         return SCIPconsIsStickingAtNode(self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def isActive(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPconsIsStickingAtNode(__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2346, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2337
 *         return SCIPconsIsRemovable(self.scip_cons)
 * 
 *     def isStickingAtNode(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is only locally valid or not added to any (sub)problem.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isStickingAtNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2348
 *         return SCIPconsIsStickingAtNode(self.scip_cons)
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True iff constraint is active in the current node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_27isActive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_26isActive, "\n        Returns True iff constraint is active in the current node.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_27isActive = {"isActive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_27isActive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_26isActive};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_27isActive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isActive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isActive", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isActive", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_26isActive(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_26isActive(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isActive", 0);

  /* "src/pyscipopt/scip.pxi":2357
 * 
 *         """
 *         return SCIPconsIsActive(self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def isLinear(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPconsIsActive(__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2348
 *         return SCIPconsIsStickingAtNode(self.scip_cons)
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True iff constraint is active in the current node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isActive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2359
 *         return SCIPconsIsActive(self.scip_cons)
 * 
 *     def isLinear(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is linear
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_29isLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_28isLinear, "\n        Returns True if constraint is linear\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_29isLinear = {"isLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_29isLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_28isLinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_29isLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isLinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isLinear", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isLinear", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_28isLinear(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_28isLinear(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isLinear", 0);

  /* "src/pyscipopt/scip.pxi":2368
 * 
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(self.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         return constype == 'linear'
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_self->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2369
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(self.scip_cons))).decode('UTF-8')
 *         return constype == 'linear'             # <<<<<<<<<<<<<<
 * 
 *     def isKnapsack(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_linear, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 2369, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2359
 *         return SCIPconsIsActive(self.scip_cons)
 * 
 *     def isLinear(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is linear
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2371
 *         return constype == 'linear'
 * 
 *     def isKnapsack(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is a knapsack constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_31isKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_30isKnapsack, "\n        Returns True if constraint is a knapsack constraint.\n        This is a special case of a linear constraint.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_31isKnapsack = {"isKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_31isKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_30isKnapsack};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_31isKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isKnapsack (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isKnapsack", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isKnapsack", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_30isKnapsack(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_30isKnapsack(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isKnapsack", 0);

  /* "src/pyscipopt/scip.pxi":2381
 * 
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(self.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         return constype == 'knapsack'
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_self->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2381, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2382
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(self.scip_cons))).decode('UTF-8')
 *         return constype == 'knapsack'             # <<<<<<<<<<<<<<
 * 
 *     def isLinearType(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_knapsack, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 2382, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2382, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2371
 *         return constype == 'linear'
 * 
 *     def isKnapsack(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is a knapsack constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2384
 *         return constype == 'knapsack'
 * 
 *     def isLinearType(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint can be represented as a linear constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_33isLinearType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_32isLinearType, "\n        Returns True if constraint can be represented as a linear constraint.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_33isLinearType = {"isLinearType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_33isLinearType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_32isLinearType};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_33isLinearType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isLinearType (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isLinearType", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isLinearType", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_32isLinearType(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_32isLinearType(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isLinearType", 0);

  /* "src/pyscipopt/scip.pxi":2393
 * 
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(self.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         return constype in ('linear', 'knapsack', 'setppc', 'logicor', 'varbound')
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_self->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2394
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(self.scip_cons))).decode('UTF-8')
 *         return constype in ('linear', 'knapsack', 'setppc', 'logicor', 'varbound')             # <<<<<<<<<<<<<<
 * 
 *     def isNonlinear(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_constype);
  __pyx_t_5 = __pyx_v_constype;
  __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_linear, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 2394, __pyx_L1_error)
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_knapsack, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 2394, __pyx_L1_error)
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_setppc, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 2394, __pyx_L1_error)
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_logicor, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 2394, __pyx_L1_error)
  if (!__pyx_t_7) {
  } else {
    __pyx_t_6 = __pyx_t_7;
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_varbound, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 2394, __pyx_L1_error)
  __pyx_t_6 = __pyx_t_7;
  __pyx_L3_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2384
 *         return constype == 'knapsack'
 * 
 *     def isLinearType(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint can be represented as a linear constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isLinearType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2396
 *         return constype in ('linear', 'knapsack', 'setppc', 'logicor', 'varbound')
 * 
 *     def isNonlinear(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is nonlinear.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_35isNonlinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_34isNonlinear, "\n        Returns True if constraint is nonlinear.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_35isNonlinear = {"isNonlinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_35isNonlinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_34isNonlinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_35isNonlinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isNonlinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isNonlinear", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isNonlinear", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_34isNonlinear(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_34isNonlinear(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isNonlinear", 0);

  /* "src/pyscipopt/scip.pxi":2405
 * 
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(self.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         return constype == 'nonlinear'
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_self->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2405, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2406
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(self.scip_cons))).decode('UTF-8')
 *         return constype == 'nonlinear'             # <<<<<<<<<<<<<<
 * 
 *     def getConshdlrName(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_nonlinear, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 2406, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2396
 *         return constype in ('linear', 'knapsack', 'setppc', 'logicor', 'varbound')
 * 
 *     def isNonlinear(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is nonlinear.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.isNonlinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2408
 *         return constype == 'nonlinear'
 * 
 *     def getConshdlrName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the constraint handler's name.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_37getConshdlrName(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_10Constraint_36getConshdlrName, "\n        Return the constraint handler's name.\n\n        Returns\n        -------\n        str\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_37getConshdlrName = {"getConshdlrName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_37getConshdlrName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_36getConshdlrName};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_37getConshdlrName(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getConshdlrName (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getConshdlrName", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getConshdlrName", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_36getConshdlrName(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_36getConshdlrName(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getConshdlrName", 0);

  /* "src/pyscipopt/scip.pxi":2417
 * 
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(self.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         return constype
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_self->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2417, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2418
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(self.scip_cons))).decode('UTF-8')
 *         return constype             # <<<<<<<<<<<<<<
 * 
 *     def __hash__(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_constype);
  __pyx_r = __pyx_v_constype;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2408
 *         return constype == 'nonlinear'
 * 
 *     def getConshdlrName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the constraint handler's name.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.getConshdlrName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2420
 *         return constype
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self.scip_cons)
 * 
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_9pyscipopt_4scip_10Constraint_39__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_9pyscipopt_4scip_10Constraint_39__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_38__hash__(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_9pyscipopt_4scip_10Constraint_38__hash__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "src/pyscipopt/scip.pxi":2421
 * 
 *     def __hash__(self):
 *         return hash(<size_t>self.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def __eq__(self, other):
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((size_t)__pyx_v_self->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(2, 2421, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2420
 *         return constype
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self.scip_cons)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2423
 *         return hash(<size_t>self.scip_cons)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self.scip_cons == (<Constraint>other).scip_cons)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_41__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_41__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_40__eq__(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_40__eq__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "src/pyscipopt/scip.pxi":2424
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self.scip_cons == (<Constraint>other).scip_cons)
 * 
*/
  __Pyx_XDECREF(__pyx_r);

  /* "src/pyscipopt/scip.pxi":2425
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self.scip_cons == (<Constraint>other).scip_cons)             # <<<<<<<<<<<<<<
 * 
 * class MatrixConstraint(np.ndarray):
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "src/pyscipopt/scip.pxi":2424
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self.scip_cons == (<Constraint>other).scip_cons)
 * 
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2424, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2424, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 2424, __pyx_L1_error)
  if (__pyx_t_5) {
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_1 = __pyx_t_4;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L3_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":2425
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self.scip_cons == (<Constraint>other).scip_cons)             # <<<<<<<<<<<<<<
 * 
 * class MatrixConstraint(np.ndarray):
*/
  __pyx_t_5 = (__pyx_v_self->scip_cons == ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_other)->scip_cons);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __pyx_t_4;
  __pyx_t_4 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2423
 *         return hash(<size_t>self.scip_cons)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self.scip_cons == (<Constraint>other).scip_cons)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pyscipopt/scip.pxd":2216
 *     cdef SCIP_CONS* scip_cons
 *     # can be used to store problem data
 *     cdef public object data             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_4data_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_4data___get__(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->data);
  __pyx_r = __pyx_v_self->data;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_10Constraint_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_10Constraint_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_4data_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_10Constraint_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_10Constraint_4data_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_10Constraint_4data_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_4data_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_10Constraint_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_cons cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_43__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_43__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_43__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_43__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_42__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_42__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_cons cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_cons cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_cons_cannot_be_convert, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_cons cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_cons cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_cons cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_45__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Constraint_45__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_45__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Constraint_45__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Constraint_44__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Constraint_44__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self.scip_cons cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self.scip_cons cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self_scip_cons_cannot_be_convert, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_cons cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_cons cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Constraint.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2429
 * class MatrixConstraint(np.ndarray):
 * 
 *     def isInitial(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if the relaxation of the constraint should be in the initial LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_1isInitial(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_isInitial, "\n        Returns True if the relaxation of the constraint should be in the initial LP.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_1isInitial = {"isInitial", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_1isInitial, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_isInitial};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_1isInitial(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isInitial (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2429, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isInitial", 0) < (0)) __PYX_ERR(2, 2429, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isInitial", 1, 1, 1, i); __PYX_ERR(2, 2429, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2429, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isInitial", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2429, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isInitial", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_isInitial(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_isInitial(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_initial = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isInitial", 0);

  /* "src/pyscipopt/scip.pxi":2438
 * 
 *         """
 *         initial = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             initial[idx] = self[idx].isInitial()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2438, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_initial = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2439
 *         """
 *         initial = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             initial[idx] = self[idx].isInitial()
 *         return initial
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2439, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2439, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2439, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2439, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2439, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2440
 *         initial = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             initial[idx] = self[idx].isInitial()             # <<<<<<<<<<<<<<
 *         return initial
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isInitial, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2440, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_initial, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2440, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2439
 *         """
 *         initial = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             initial[idx] = self[idx].isInitial()
 *         return initial
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2441
 *         for idx in np.ndindex(self):
 *             initial[idx] = self[idx].isInitial()
 *         return initial             # <<<<<<<<<<<<<<
 * 
 *     def isSeparated(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_initial);
  __pyx_r = __pyx_v_initial;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2429
 * class MatrixConstraint(np.ndarray):
 * 
 *     def isInitial(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if the relaxation of the constraint should be in the initial LP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isInitial", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_initial);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2443
 *         return initial
 * 
 *     def isSeparated(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be separated during LP processing.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_3isSeparated(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_2isSeparated, "\n        Returns True if constraint should be separated during LP processing.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_3isSeparated = {"isSeparated", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_3isSeparated, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_2isSeparated};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_3isSeparated(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isSeparated (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2443, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2443, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isSeparated", 0) < (0)) __PYX_ERR(2, 2443, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isSeparated", 1, 1, 1, i); __PYX_ERR(2, 2443, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2443, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isSeparated", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2443, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isSeparated", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_2isSeparated(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_2isSeparated(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_separated = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isSeparated", 0);

  /* "src/pyscipopt/scip.pxi":2452
 * 
 *         """
 *         separated = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             separated[idx] = self[idx].isSeparated()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2452, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2452, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_separated = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2453
 *         """
 *         separated = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             separated[idx] = self[idx].isSeparated()
 *         return separated
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2453, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2453, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2453, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2453, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2453, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2453, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2453, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2454
 *         separated = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             separated[idx] = self[idx].isSeparated()             # <<<<<<<<<<<<<<
 *         return separated
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2454, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isSeparated, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2454, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_separated, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2454, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2453
 *         """
 *         separated = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             separated[idx] = self[idx].isSeparated()
 *         return separated
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2455
 *         for idx in np.ndindex(self):
 *             separated[idx] = self[idx].isSeparated()
 *         return separated             # <<<<<<<<<<<<<<
 * 
 *     def isEnforced(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_separated);
  __pyx_r = __pyx_v_separated;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2443
 *         return initial
 * 
 *     def isSeparated(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be separated during LP processing.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isSeparated", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_separated);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2457
 *         return separated
 * 
 *     def isEnforced(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be enforced during node processing.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_5isEnforced(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_4isEnforced, "\n        Returns True if constraint should be enforced during node processing.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_5isEnforced = {"isEnforced", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_5isEnforced, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_4isEnforced};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_5isEnforced(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isEnforced (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2457, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2457, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isEnforced", 0) < (0)) __PYX_ERR(2, 2457, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isEnforced", 1, 1, 1, i); __PYX_ERR(2, 2457, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2457, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isEnforced", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2457, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isEnforced", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_4isEnforced(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_4isEnforced(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_enforced = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isEnforced", 0);

  /* "src/pyscipopt/scip.pxi":2466
 * 
 *         """
 *         enforced = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             enforced[idx] = self[idx].isEnforced()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2466, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2466, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_enforced = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2467
 *         """
 *         enforced = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             enforced[idx] = self[idx].isEnforced()
 *         return enforced
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2467, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2467, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2467, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2467, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2467, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2468
 *         enforced = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             enforced[idx] = self[idx].isEnforced()             # <<<<<<<<<<<<<<
 *         return enforced
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isEnforced, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_enforced, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2468, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2467
 *         """
 *         enforced = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             enforced[idx] = self[idx].isEnforced()
 *         return enforced
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2469
 *         for idx in np.ndindex(self):
 *             enforced[idx] = self[idx].isEnforced()
 *         return enforced             # <<<<<<<<<<<<<<
 * 
 *     def isChecked(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_enforced);
  __pyx_r = __pyx_v_enforced;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2457
 *         return separated
 * 
 *     def isEnforced(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be enforced during node processing.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isEnforced", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_enforced);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2471
 *         return enforced
 * 
 *     def isChecked(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be checked for feasibility.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_7isChecked(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_6isChecked, "\n        Returns True if constraint should be checked for feasibility.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_7isChecked = {"isChecked", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_7isChecked, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_6isChecked};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_7isChecked(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isChecked (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2471, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2471, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isChecked", 0) < (0)) __PYX_ERR(2, 2471, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isChecked", 1, 1, 1, i); __PYX_ERR(2, 2471, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2471, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isChecked", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2471, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isChecked", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_6isChecked(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_6isChecked(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_checked = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isChecked", 0);

  /* "src/pyscipopt/scip.pxi":2480
 * 
 *         """
 *         checked = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             checked[idx] = self[idx].isCheced()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2480, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_checked = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2481
 *         """
 *         checked = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             checked[idx] = self[idx].isCheced()
 *         return checked
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2481, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2481, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2481, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2481, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2481, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2482
 *         checked = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             checked[idx] = self[idx].isCheced()             # <<<<<<<<<<<<<<
 *         return checked
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isCheced, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2482, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_checked, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2482, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2481
 *         """
 *         checked = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             checked[idx] = self[idx].isCheced()
 *         return checked
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2483
 *         for idx in np.ndindex(self):
 *             checked[idx] = self[idx].isCheced()
 *         return checked             # <<<<<<<<<<<<<<
 * 
 *     def isPropagated(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_checked);
  __pyx_r = __pyx_v_checked;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2471
 *         return enforced
 * 
 *     def isChecked(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be checked for feasibility.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isChecked", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_checked);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2485
 *         return checked
 * 
 *     def isPropagated(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be propagated during node processing.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_9isPropagated(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_8isPropagated, "\n        Returns True if constraint should be propagated during node processing.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_9isPropagated = {"isPropagated", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_9isPropagated, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_8isPropagated};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_9isPropagated(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isPropagated (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2485, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2485, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isPropagated", 0) < (0)) __PYX_ERR(2, 2485, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isPropagated", 1, 1, 1, i); __PYX_ERR(2, 2485, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2485, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isPropagated", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2485, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isPropagated", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_8isPropagated(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_8isPropagated(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_propagated = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isPropagated", 0);

  /* "src/pyscipopt/scip.pxi":2494
 * 
 *         """
 *         propagated = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             propagated[idx] = self[idx].isPropagated()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2494, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_propagated = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2495
 *         """
 *         propagated = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             propagated[idx] = self[idx].isPropagated()
 *         return propagated
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2495, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2495, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2495, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2495, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2495, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2496
 *         propagated = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             propagated[idx] = self[idx].isPropagated()             # <<<<<<<<<<<<<<
 *         return propagated
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isPropagated, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2496, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_propagated, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2496, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2495
 *         """
 *         propagated = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             propagated[idx] = self[idx].isPropagated()
 *         return propagated
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2497
 *         for idx in np.ndindex(self):
 *             propagated[idx] = self[idx].isPropagated()
 *         return propagated             # <<<<<<<<<<<<<<
 * 
 *     def isLocal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_propagated);
  __pyx_r = __pyx_v_propagated;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2485
 *         return checked
 * 
 *     def isPropagated(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be propagated during node processing.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isPropagated", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_propagated);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2499
 *         return propagated
 * 
 *     def isLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is only locally valid or not added to any (sub)problem.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_11isLocal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_10isLocal, "\n        Returns True if constraint is only locally valid or not added to any (sub)problem.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_11isLocal = {"isLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_11isLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_10isLocal};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_11isLocal(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isLocal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2499, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2499, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isLocal", 0) < (0)) __PYX_ERR(2, 2499, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isLocal", 1, 1, 1, i); __PYX_ERR(2, 2499, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2499, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isLocal", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2499, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_10isLocal(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_10isLocal(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_local = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isLocal", 0);

  /* "src/pyscipopt/scip.pxi":2508
 * 
 *         """
 *         local = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             local[idx] = self[idx].isLocal()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2508, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2508, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2508, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_local = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2509
 *         """
 *         local = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             local[idx] = self[idx].isLocal()
 *         return local
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2509, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2509, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2509, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2509, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2509, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2510
 *         local = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             local[idx] = self[idx].isLocal()             # <<<<<<<<<<<<<<
 *         return local
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2510, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isLocal, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2510, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_local, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2510, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2509
 *         """
 *         local = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             local[idx] = self[idx].isLocal()
 *         return local
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2511
 *         for idx in np.ndindex(self):
 *             local[idx] = self[idx].isLocal()
 *         return local             # <<<<<<<<<<<<<<
 * 
 *     def isModifiable(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_local);
  __pyx_r = __pyx_v_local;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2499
 *         return propagated
 * 
 *     def isLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is only locally valid or not added to any (sub)problem.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_local);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2513
 *         return local
 * 
 *     def isModifiable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is modifiable (subject to column generation).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_13isModifiable(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_12isModifiable, "\n        Returns True if constraint is modifiable (subject to column generation).\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_13isModifiable = {"isModifiable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_13isModifiable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_12isModifiable};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_13isModifiable(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isModifiable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2513, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2513, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isModifiable", 0) < (0)) __PYX_ERR(2, 2513, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isModifiable", 1, 1, 1, i); __PYX_ERR(2, 2513, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2513, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isModifiable", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2513, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isModifiable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_12isModifiable(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_12isModifiable(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_modifiable = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isModifiable", 0);

  /* "src/pyscipopt/scip.pxi":2522
 * 
 *         """
 *         modifiable = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             modifiable[idx] = self[idx].isModifiable()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2522, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_modifiable = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2523
 *         """
 *         modifiable = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             modifiable[idx] = self[idx].isModifiable()
 *         return modifiable
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2523, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2523, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2523, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2523, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2523, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2523, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2524
 *         modifiable = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             modifiable[idx] = self[idx].isModifiable()             # <<<<<<<<<<<<<<
 *         return modifiable
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2524, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isModifiable, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2524, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_modifiable, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2524, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2523
 *         """
 *         modifiable = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             modifiable[idx] = self[idx].isModifiable()
 *         return modifiable
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2525
 *         for idx in np.ndindex(self):
 *             modifiable[idx] = self[idx].isModifiable()
 *         return modifiable             # <<<<<<<<<<<<<<
 * 
 *     def isDynamic(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_modifiable);
  __pyx_r = __pyx_v_modifiable;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2513
 *         return local
 * 
 *     def isModifiable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is modifiable (subject to column generation).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isModifiable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_modifiable);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2527
 *         return modifiable
 * 
 *     def isDynamic(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is subject to aging.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_15isDynamic(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_14isDynamic, "\n        Returns True if constraint is subject to aging.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_15isDynamic = {"isDynamic", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_15isDynamic, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_14isDynamic};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_15isDynamic(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isDynamic (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2527, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2527, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isDynamic", 0) < (0)) __PYX_ERR(2, 2527, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isDynamic", 1, 1, 1, i); __PYX_ERR(2, 2527, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2527, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isDynamic", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2527, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isDynamic", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_14isDynamic(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_14isDynamic(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_dynamic = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isDynamic", 0);

  /* "src/pyscipopt/scip.pxi":2536
 * 
 *         """
 *         dynamic = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             dynamic[idx] = self[idx].isDynamic()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2536, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_dynamic = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2537
 *         """
 *         dynamic = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             dynamic[idx] = self[idx].isDynamic()
 *         return dynamic
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2537, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2537, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2537, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2537, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2537, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2538
 *         dynamic = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             dynamic[idx] = self[idx].isDynamic()             # <<<<<<<<<<<<<<
 *         return dynamic
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2538, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isDynamic, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2538, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_dynamic, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2538, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2537
 *         """
 *         dynamic = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             dynamic[idx] = self[idx].isDynamic()
 *         return dynamic
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2539
 *         for idx in np.ndindex(self):
 *             dynamic[idx] = self[idx].isDynamic()
 *         return dynamic             # <<<<<<<<<<<<<<
 * 
 *     def isRemovable(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_dynamic);
  __pyx_r = __pyx_v_dynamic;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2527
 *         return modifiable
 * 
 *     def isDynamic(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is subject to aging.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isDynamic", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_dynamic);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2541
 *         return dynamic
 * 
 *     def isRemovable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint's relaxation should be removed from the LP due to aging or cleanup.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_17isRemovable(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_16isRemovable, "\n        Returns True if constraint's relaxation should be removed from the LP due to aging or cleanup.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_17isRemovable = {"isRemovable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_17isRemovable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_16isRemovable};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_17isRemovable(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isRemovable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2541, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2541, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isRemovable", 0) < (0)) __PYX_ERR(2, 2541, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isRemovable", 1, 1, 1, i); __PYX_ERR(2, 2541, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2541, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isRemovable", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2541, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isRemovable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_16isRemovable(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_16isRemovable(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_removable = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isRemovable", 0);

  /* "src/pyscipopt/scip.pxi":2550
 * 
 *         """
 *         removable = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             removable[idx] = self[idx].isRemovable()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2550, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2550, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_removable = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2551
 *         """
 *         removable = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             removable[idx] = self[idx].isRemovable()
 *         return removable
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2551, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2551, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2551, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2551, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2551, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2552
 *         removable = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             removable[idx] = self[idx].isRemovable()             # <<<<<<<<<<<<<<
 *         return removable
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isRemovable, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2552, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_removable, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2552, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2551
 *         """
 *         removable = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             removable[idx] = self[idx].isRemovable()
 *         return removable
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2553
 *         for idx in np.ndindex(self):
 *             removable[idx] = self[idx].isRemovable()
 *         return removable             # <<<<<<<<<<<<<<
 * 
 *     def isStickingAtNode(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_removable);
  __pyx_r = __pyx_v_removable;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2541
 *         return dynamic
 * 
 *     def isRemovable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint's relaxation should be removed from the LP due to aging or cleanup.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isRemovable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_removable);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2555
 *         return removable
 * 
 *     def isStickingAtNode(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is only locally valid or not added to any (sub)problem.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_19isStickingAtNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_18isStickingAtNode, "\n        Returns True if constraint is only locally valid or not added to any (sub)problem.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_19isStickingAtNode = {"isStickingAtNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_19isStickingAtNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_18isStickingAtNode};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_19isStickingAtNode(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isStickingAtNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2555, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2555, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isStickingAtNode", 0) < (0)) __PYX_ERR(2, 2555, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isStickingAtNode", 1, 1, 1, i); __PYX_ERR(2, 2555, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2555, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isStickingAtNode", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2555, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isStickingAtNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_18isStickingAtNode(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_18isStickingAtNode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_stickingatnode = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isStickingAtNode", 0);

  /* "src/pyscipopt/scip.pxi":2564
 * 
 *         """
 *         stickingatnode = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             stickingatnode[idx] = self[idx].isStickingAtNode()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2564, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_stickingatnode = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2565
 *         """
 *         stickingatnode = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             stickingatnode[idx] = self[idx].isStickingAtNode()
 *         return stickingatnode
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2565, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2565, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2565, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2565, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2565, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2566
 *         stickingatnode = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             stickingatnode[idx] = self[idx].isStickingAtNode()             # <<<<<<<<<<<<<<
 *         return stickingatnode
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isStickingAtNode, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2566, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_stickingatnode, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2566, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2565
 *         """
 *         stickingatnode = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             stickingatnode[idx] = self[idx].isStickingAtNode()
 *         return stickingatnode
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2567
 *         for idx in np.ndindex(self):
 *             stickingatnode[idx] = self[idx].isStickingAtNode()
 *         return stickingatnode             # <<<<<<<<<<<<<<
 * 
 *     def isActive(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_stickingatnode);
  __pyx_r = __pyx_v_stickingatnode;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2555
 *         return removable
 * 
 *     def isStickingAtNode(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is only locally valid or not added to any (sub)problem.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isStickingAtNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_stickingatnode);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2569
 *         return stickingatnode
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True iff constraint is active in the current node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_21isActive(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_20isActive, "\n        Returns True iff constraint is active in the current node.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_21isActive = {"isActive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_21isActive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_20isActive};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_21isActive(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isActive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2569, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2569, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isActive", 0) < (0)) __PYX_ERR(2, 2569, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isActive", 1, 1, 1, i); __PYX_ERR(2, 2569, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2569, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isActive", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2569, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isActive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_20isActive(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_20isActive(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_active = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isActive", 0);

  /* "src/pyscipopt/scip.pxi":2578
 * 
 *         """
 *         active = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             active[idx] = self[idx].isActive()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2578, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2578, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_active = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2579
 *         """
 *         active = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             active[idx] = self[idx].isActive()
 *         return active
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2579, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2579, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2579, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2579, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2579, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2580
 *         active = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             active[idx] = self[idx].isActive()             # <<<<<<<<<<<<<<
 *         return active
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isActive, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2580, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_active, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2580, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2579
 *         """
 *         active = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             active[idx] = self[idx].isActive()
 *         return active
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2581
 *         for idx in np.ndindex(self):
 *             active[idx] = self[idx].isActive()
 *         return active             # <<<<<<<<<<<<<<
 * 
 *     def isLinear(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_active);
  __pyx_r = __pyx_v_active;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2569
 *         return stickingatnode
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True iff constraint is active in the current node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isActive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_active);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2583
 *         return active
 * 
 *     def isLinear(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is linear
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_23isLinear(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_22isLinear, "\n        Returns True if constraint is linear\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_23isLinear = {"isLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_23isLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_22isLinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_23isLinear(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isLinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2583, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2583, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isLinear", 0) < (0)) __PYX_ERR(2, 2583, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isLinear", 1, 1, 1, i); __PYX_ERR(2, 2583, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2583, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isLinear", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2583, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_22isLinear(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_22isLinear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_islinear = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isLinear", 0);

  /* "src/pyscipopt/scip.pxi":2592
 * 
 *         """
 *         islinear = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             islinear[idx] = self[idx].isLinear()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2592, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2592, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2592, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_islinear = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2593
 *         """
 *         islinear = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             islinear[idx] = self[idx].isLinear()
 *         return islinear
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2593, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2593, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2593, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2593, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2593, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2594
 *         islinear = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             islinear[idx] = self[idx].isLinear()             # <<<<<<<<<<<<<<
 *         return islinear
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2594, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isLinear, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2594, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_islinear, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2594, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2593
 *         """
 *         islinear = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             islinear[idx] = self[idx].isLinear()
 *         return islinear
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2595
 *         for idx in np.ndindex(self):
 *             islinear[idx] = self[idx].isLinear()
 *         return islinear             # <<<<<<<<<<<<<<
 * 
 *     def isNonlinear(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_islinear);
  __pyx_r = __pyx_v_islinear;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2583
 *         return active
 * 
 *     def isLinear(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is linear
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_islinear);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2597
 *         return islinear
 * 
 *     def isNonlinear(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is nonlinear.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_25isNonlinear(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_24isNonlinear, "\n        Returns True if constraint is nonlinear.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_25isNonlinear = {"isNonlinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_25isNonlinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_24isNonlinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_25isNonlinear(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isNonlinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2597, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2597, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isNonlinear", 0) < (0)) __PYX_ERR(2, 2597, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isNonlinear", 1, 1, 1, i); __PYX_ERR(2, 2597, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2597, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isNonlinear", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2597, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isNonlinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_24isNonlinear(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_24isNonlinear(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_isnonlinear = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isNonlinear", 0);

  /* "src/pyscipopt/scip.pxi":2606
 * 
 *         """
 *         isnonlinear = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             isnonlinear[idx] = self[idx].isNonlinear()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2606, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2606, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2606, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2606, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_isnonlinear = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2607
 *         """
 *         isnonlinear = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             isnonlinear[idx] = self[idx].isNonlinear()
 *         return isnonlinear
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2607, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2607, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2607, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2607, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2607, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2608
 *         isnonlinear = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             isnonlinear[idx] = self[idx].isNonlinear()             # <<<<<<<<<<<<<<
 *         return isnonlinear
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isNonlinear, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2608, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_isnonlinear, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2608, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2607
 *         """
 *         isnonlinear = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             isnonlinear[idx] = self[idx].isNonlinear()
 *         return isnonlinear
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2609
 *         for idx in np.ndindex(self):
 *             isnonlinear[idx] = self[idx].isNonlinear()
 *         return isnonlinear             # <<<<<<<<<<<<<<
 * 
 *     def getConshdlrName(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_isnonlinear);
  __pyx_r = __pyx_v_isnonlinear;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2597
 *         return islinear
 * 
 *     def isNonlinear(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is nonlinear.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.isNonlinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_isnonlinear);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2611
 *         return isnonlinear
 * 
 *     def getConshdlrName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the constraint handler's name.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_27getConshdlrName(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_16MatrixConstraint_26getConshdlrName, "\n        Return the constraint handler's name.\n\n        Returns\n        -------\n        np.ndarray\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_27getConshdlrName = {"getConshdlrName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_27getConshdlrName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_16MatrixConstraint_26getConshdlrName};
static PyObject *__pyx_pw_9pyscipopt_4scip_16MatrixConstraint_27getConshdlrName(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getConshdlrName (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2611, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2611, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getConshdlrName", 0) < (0)) __PYX_ERR(2, 2611, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getConshdlrName", 1, 1, 1, i); __PYX_ERR(2, 2611, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2611, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getConshdlrName", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2611, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.getConshdlrName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_16MatrixConstraint_26getConshdlrName(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_16MatrixConstraint_26getConshdlrName(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  Py_ssize_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getConshdlrName", 0);

  /* "src/pyscipopt/scip.pxi":2620
 * 
 *         """
 *         name = np.empty(self.shape, dtype=bool)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(self):
 *             name[idx] = self[idx].getConshdlrName()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2620, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_6 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2620, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_6, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 2620, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2620, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_name = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2621
 *         """
 *         name = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             name[idx] = self[idx].getConshdlrName()
 *         return name
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2621, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_self};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3);
    __pyx_t_7 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 2621, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_3))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2621, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_3, __pyx_t_7, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_7;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2621, __pyx_L1_error)
          #endif
          if (__pyx_t_7 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_7);
        #endif
        ++__pyx_t_7;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2621, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_8(__pyx_t_3);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2621, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2622
 *         name = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):
 *             name[idx] = self[idx].getConshdlrName()             # <<<<<<<<<<<<<<
 *         return name
 * 
*/
    __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_self, __pyx_v_idx); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getConshdlrName, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2622, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyObject_SetItem(__pyx_v_name, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 2622, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":2621
 *         """
 *         name = np.empty(self.shape, dtype=bool)
 *         for idx in np.ndindex(self):             # <<<<<<<<<<<<<<
 *             name[idx] = self[idx].getConshdlrName()
 *         return name
*/
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2623
 *         for idx in np.ndindex(self):
 *             name[idx] = self[idx].getConshdlrName()
 *         return name             # <<<<<<<<<<<<<<
 * 
 * cdef void relayMessage(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *msg) noexcept:
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_name);
  __pyx_r = __pyx_v_name;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2611
 *         return isnonlinear
 * 
 *     def getConshdlrName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the constraint handler's name.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.MatrixConstraint.getConshdlrName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2625
 *         return name
 * 
 * cdef void relayMessage(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *msg) noexcept:             # <<<<<<<<<<<<<<
 *     if file is stdout:
 *         sys.stdout.write(msg.decode('UTF-8'))
*/

static void __pyx_f_9pyscipopt_4scip_relayMessage(CYTHON_UNUSED SCIP_MESSAGEHDLR *__pyx_v_messagehdlr, FILE *__pyx_v_file, char const *__pyx_v_msg) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("relayMessage", 0);

  /* "src/pyscipopt/scip.pxi":2626
 * 
 * cdef void relayMessage(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *msg) noexcept:
 *     if file is stdout:             # <<<<<<<<<<<<<<
 *         sys.stdout.write(msg.decode('UTF-8'))
 *     elif file is stderr:
*/
  __pyx_t_1 = (__pyx_v_file == stdout);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":2627
 * cdef void relayMessage(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *msg) noexcept:
 *     if file is stdout:
 *         sys.stdout.write(msg.decode('UTF-8'))             # <<<<<<<<<<<<<<
 *     elif file is stderr:
 *         sys.stderr.write(msg.decode('UTF-8'))
*/
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_sys); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_stdout); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 2627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_3 = __pyx_t_5;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_ssize_strlen(__pyx_v_msg); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(2, 2627, __pyx_L1_error)
    __pyx_t_4 = __Pyx_decode_c_string(__pyx_v_msg, 0, __pyx_t_6, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_write, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2627, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":2626
 * 
 * cdef void relayMessage(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *msg) noexcept:
 *     if file is stdout:             # <<<<<<<<<<<<<<
 *         sys.stdout.write(msg.decode('UTF-8'))
 *     elif file is stderr:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":2628
 *     if file is stdout:
 *         sys.stdout.write(msg.decode('UTF-8'))
 *     elif file is stderr:             # <<<<<<<<<<<<<<
 *         sys.stderr.write(msg.decode('UTF-8'))
 *     else:
*/
  __pyx_t_1 = (__pyx_v_file == stderr);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":2629
 *         sys.stdout.write(msg.decode('UTF-8'))
 *     elif file is stderr:
 *         sys.stderr.write(msg.decode('UTF-8'))             # <<<<<<<<<<<<<<
 *     else:
 *         if msg is not NULL:
*/
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_sys); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_stderr); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_5 = __pyx_t_3;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_ssize_strlen(__pyx_v_msg); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(2, 2629, __pyx_L1_error)
    __pyx_t_4 = __Pyx_decode_c_string(__pyx_v_msg, 0, __pyx_t_6, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_write, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2629, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":2628
 *     if file is stdout:
 *         sys.stdout.write(msg.decode('UTF-8'))
 *     elif file is stderr:             # <<<<<<<<<<<<<<
 *         sys.stderr.write(msg.decode('UTF-8'))
 *     else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":2631
 *         sys.stderr.write(msg.decode('UTF-8'))
 *     else:
 *         if msg is not NULL:             # <<<<<<<<<<<<<<
 *             fputs(msg, file)
 *         fflush(file)
*/
  /*else*/ {
    __pyx_t_1 = (__pyx_v_msg != NULL);
    if (__pyx_t_1) {

      /* "src/pyscipopt/scip.pxi":2632
 *     else:
 *         if msg is not NULL:
 *             fputs(msg, file)             # <<<<<<<<<<<<<<
 *         fflush(file)
 * 
*/
      (void)(fputs(__pyx_v_msg, __pyx_v_file));

      /* "src/pyscipopt/scip.pxi":2631
 *         sys.stderr.write(msg.decode('UTF-8'))
 *     else:
 *         if msg is not NULL:             # <<<<<<<<<<<<<<
 *             fputs(msg, file)
 *         fflush(file)
*/
    }

    /* "src/pyscipopt/scip.pxi":2633
 *         if msg is not NULL:
 *             fputs(msg, file)
 *         fflush(file)             # <<<<<<<<<<<<<<
 * 
 * cdef void relayErrorMessage(void *messagehdlr, FILE *file, const char *msg) noexcept:
*/
    (void)(fflush(__pyx_v_file));
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":2625
 *         return name
 * 
 * cdef void relayMessage(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *msg) noexcept:             # <<<<<<<<<<<<<<
 *     if file is stdout:
 *         sys.stdout.write(msg.decode('UTF-8'))
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_WriteUnraisable("pyscipopt.scip.relayMessage", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/pyscipopt/scip.pxi":2635
 *         fflush(file)
 * 
 * cdef void relayErrorMessage(void *messagehdlr, FILE *file, const char *msg) noexcept:             # <<<<<<<<<<<<<<
 *     if file is NULL:
 *         sys.stderr.write(msg.decode('UTF-8'))
*/

static void __pyx_f_9pyscipopt_4scip_relayErrorMessage(CYTHON_UNUSED void *__pyx_v_messagehdlr, FILE *__pyx_v_file, char const *__pyx_v_msg) {
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  Py_ssize_t __pyx_t_6;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("relayErrorMessage", 0);

  /* "src/pyscipopt/scip.pxi":2636
 * 
 * cdef void relayErrorMessage(void *messagehdlr, FILE *file, const char *msg) noexcept:
 *     if file is NULL:             # <<<<<<<<<<<<<<
 *         sys.stderr.write(msg.decode('UTF-8'))
 *     else:
*/
  __pyx_t_1 = (__pyx_v_file == NULL);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":2637
 * cdef void relayErrorMessage(void *messagehdlr, FILE *file, const char *msg) noexcept:
 *     if file is NULL:
 *         sys.stderr.write(msg.decode('UTF-8'))             # <<<<<<<<<<<<<<
 *     else:
 *         if msg is not NULL:
*/
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_sys); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_stderr); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 2637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_3 = __pyx_t_5;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_ssize_strlen(__pyx_v_msg); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(2, 2637, __pyx_L1_error)
    __pyx_t_4 = __Pyx_decode_c_string(__pyx_v_msg, 0, __pyx_t_6, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_write, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2637, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":2636
 * 
 * cdef void relayErrorMessage(void *messagehdlr, FILE *file, const char *msg) noexcept:
 *     if file is NULL:             # <<<<<<<<<<<<<<
 *         sys.stderr.write(msg.decode('UTF-8'))
 *     else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":2639
 *         sys.stderr.write(msg.decode('UTF-8'))
 *     else:
 *         if msg is not NULL:             # <<<<<<<<<<<<<<
 *             fputs(msg, file)
 *         fflush(file)
*/
  /*else*/ {
    __pyx_t_1 = (__pyx_v_msg != NULL);
    if (__pyx_t_1) {

      /* "src/pyscipopt/scip.pxi":2640
 *     else:
 *         if msg is not NULL:
 *             fputs(msg, file)             # <<<<<<<<<<<<<<
 *         fflush(file)
 * 
*/
      (void)(fputs(__pyx_v_msg, __pyx_v_file));

      /* "src/pyscipopt/scip.pxi":2639
 *         sys.stderr.write(msg.decode('UTF-8'))
 *     else:
 *         if msg is not NULL:             # <<<<<<<<<<<<<<
 *             fputs(msg, file)
 *         fflush(file)
*/
    }

    /* "src/pyscipopt/scip.pxi":2641
 *         if msg is not NULL:
 *             fputs(msg, file)
 *         fflush(file)             # <<<<<<<<<<<<<<
 * 
 * cdef class _VarArray:
*/
    (void)(fflush(__pyx_v_file));
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":2635
 *         fflush(file)
 * 
 * cdef void relayErrorMessage(void *messagehdlr, FILE *file, const char *msg) noexcept:             # <<<<<<<<<<<<<<
 *     if file is NULL:
 *         sys.stderr.write(msg.decode('UTF-8'))
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_WriteUnraisable("pyscipopt.scip.relayErrorMessage", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
}

/* "src/pyscipopt/scip.pxi":2647
 *     cdef int size
 * 
 *     def __cinit__(self, object vars):             # <<<<<<<<<<<<<<
 *         self.ptr = NULL
 *         self.size = 0
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_9_VarArray_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_9_VarArray_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_vars = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_vars,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2647, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2647, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__cinit__", 0) < (0)) __PYX_ERR(2, 2647, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, i); __PYX_ERR(2, 2647, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2647, __pyx_L3_error)
    }
    __pyx_v_vars = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2647, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip._VarArray.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9_VarArray___cinit__(((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_v_self), __pyx_v_vars);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_9_VarArray___cinit__(struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_self, PyObject *__pyx_v_vars) {
  PyObject *__pyx_v_i = NULL;
  PyObject *__pyx_v_var = NULL;
  PyObject *__pyx_v_ndim = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  PyObject *__pyx_t_8[3];
  Py_ssize_t __pyx_t_9;
  PyObject *(*__pyx_t_10)(PyObject *);
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  SCIP_VAR *__pyx_t_13;
  Py_ssize_t __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__cinit__", 0);
  __Pyx_INCREF(__pyx_v_vars);

  /* "src/pyscipopt/scip.pxi":2648
 * 
 *     def __cinit__(self, object vars):
 *         self.ptr = NULL             # <<<<<<<<<<<<<<
 *         self.size = 0
 * 
*/
  __pyx_v_self->ptr = NULL;

  /* "src/pyscipopt/scip.pxi":2649
 *     def __cinit__(self, object vars):
 *         self.ptr = NULL
 *         self.size = 0             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(vars, Variable):
*/
  __pyx_v_self->size = 0;

  /* "src/pyscipopt/scip.pxi":2651
 *         self.size = 0
 * 
 *         if isinstance(vars, Variable):             # <<<<<<<<<<<<<<
 *             vars = [vars]
 *         elif isinstance(vars, (list, tuple, MatrixVariable)):
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_vars, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable); 
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":2652
 * 
 *         if isinstance(vars, Variable):
 *             vars = [vars]             # <<<<<<<<<<<<<<
 *         elif isinstance(vars, (list, tuple, MatrixVariable)):
 *             if (ndim := np.ndim(vars)) != 1:
*/
    __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v_vars);
    __Pyx_GIVEREF(__pyx_v_vars);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_v_vars) != (0)) __PYX_ERR(2, 2652, __pyx_L1_error);
    __Pyx_DECREF_SET(__pyx_v_vars, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":2651
 *         self.size = 0
 * 
 *         if isinstance(vars, Variable):             # <<<<<<<<<<<<<<
 *             vars = [vars]
 *         elif isinstance(vars, (list, tuple, MatrixVariable)):
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":2653
 *         if isinstance(vars, Variable):
 *             vars = [vars]
 *         elif isinstance(vars, (list, tuple, MatrixVariable)):             # <<<<<<<<<<<<<<
 *             if (ndim := np.ndim(vars)) != 1:
 *                 raise ValueError(f"Expected a 1D array, but got a {ndim}D array.")
*/
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_MatrixVariable); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyList_Check(__pyx_v_vars); 
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = PyTuple_Check(__pyx_v_vars); 
  if (!__pyx_t_3) {
  } else {
    __pyx_t_1 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_vars, __pyx_t_2); 
  __pyx_t_1 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":2654
 *             vars = [vars]
 *         elif isinstance(vars, (list, tuple, MatrixVariable)):
 *             if (ndim := np.ndim(vars)) != 1:             # <<<<<<<<<<<<<<
 *                 raise ValueError(f"Expected a 1D array, but got a {ndim}D array.")
 *         else:
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 2654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ndim); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_vars};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2654, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_INCREF(__pyx_t_2);
    __pyx_v_ndim = __pyx_t_2;
    __pyx_t_1 = (__Pyx_PyLong_BoolNeObjC(__pyx_t_2, __pyx_mstate_global->__pyx_int_1, 1, 0)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 2654, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(__pyx_t_1)) {

      /* "src/pyscipopt/scip.pxi":2655
 *         elif isinstance(vars, (list, tuple, MatrixVariable)):
 *             if (ndim := np.ndim(vars)) != 1:
 *                 raise ValueError(f"Expected a 1D array, but got a {ndim}D array.")             # <<<<<<<<<<<<<<
 *         else:
 *             raise TypeError(f"Expected Variable or list of Variable, got {type(vars)}.")
*/
      __pyx_t_6 = NULL;
      __pyx_t_4 = __Pyx_PyObject_FormatSimple(__pyx_v_ndim, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2655, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_8[0] = __pyx_mstate_global->__pyx_kp_u_Expected_a_1D_array_but_got_a;
      __pyx_t_8[1] = __pyx_t_4;
      __pyx_t_8[2] = __pyx_mstate_global->__pyx_kp_u_D_array;
      __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_8, 3, 31 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4) + 8, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4));
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 2655, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_7 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2655, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(2, 2655, __pyx_L1_error)

      /* "src/pyscipopt/scip.pxi":2654
 *             vars = [vars]
 *         elif isinstance(vars, (list, tuple, MatrixVariable)):
 *             if (ndim := np.ndim(vars)) != 1:             # <<<<<<<<<<<<<<
 *                 raise ValueError(f"Expected a 1D array, but got a {ndim}D array.")
 *         else:
*/
    }

    /* "src/pyscipopt/scip.pxi":2653
 *         if isinstance(vars, Variable):
 *             vars = [vars]
 *         elif isinstance(vars, (list, tuple, MatrixVariable)):             # <<<<<<<<<<<<<<
 *             if (ndim := np.ndim(vars)) != 1:
 *                 raise ValueError(f"Expected a 1D array, but got a {ndim}D array.")
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":2657
 *                 raise ValueError(f"Expected a 1D array, but got a {ndim}D array.")
 *         else:
 *             raise TypeError(f"Expected Variable or list of Variable, got {type(vars)}.")             # <<<<<<<<<<<<<<
 * 
 *         self.size = len(vars)
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __pyx_t_6 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_vars)), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8[0] = __pyx_mstate_global->__pyx_kp_u_Expected_Variable_or_list_of_Var;
    __pyx_t_8[1] = __pyx_t_6;
    __pyx_t_8[2] = __pyx_mstate_global->__pyx_kp_u__2;
    __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_8, 3, 43 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6));
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2657, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 2657, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":2659
 *             raise TypeError(f"Expected Variable or list of Variable, got {type(vars)}.")
 * 
 *         self.size = len(vars)             # <<<<<<<<<<<<<<
 *         if self.size:
 *             self.ptr = <SCIP_VAR**> malloc(self.size * sizeof(SCIP_VAR*))
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_vars); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(2, 2659, __pyx_L1_error)
  __pyx_v_self->size = __pyx_t_9;

  /* "src/pyscipopt/scip.pxi":2660
 * 
 *         self.size = len(vars)
 *         if self.size:             # <<<<<<<<<<<<<<
 *             self.ptr = <SCIP_VAR**> malloc(self.size * sizeof(SCIP_VAR*))
 *             for i, var in enumerate(vars):
*/
  __pyx_t_1 = (__pyx_v_self->size != 0);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":2661
 *         self.size = len(vars)
 *         if self.size:
 *             self.ptr = <SCIP_VAR**> malloc(self.size * sizeof(SCIP_VAR*))             # <<<<<<<<<<<<<<
 *             for i, var in enumerate(vars):
 *                 if not isinstance(var, Variable):
*/
    __pyx_v_self->ptr = ((SCIP_VAR **)malloc((__pyx_v_self->size * (sizeof(SCIP_VAR *)))));

    /* "src/pyscipopt/scip.pxi":2662
 *         if self.size:
 *             self.ptr = <SCIP_VAR**> malloc(self.size * sizeof(SCIP_VAR*))
 *             for i, var in enumerate(vars):             # <<<<<<<<<<<<<<
 *                 if not isinstance(var, Variable):
 *                     raise TypeError(f"Expected Variable, got {type(var)}.")
*/
    __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
    __pyx_t_2 = __pyx_mstate_global->__pyx_int_0;
    if (likely(PyList_CheckExact(__pyx_v_vars)) || PyTuple_CheckExact(__pyx_v_vars)) {
      __pyx_t_4 = __pyx_v_vars; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_9 = 0;
      __pyx_t_10 = NULL;
    } else {
      __pyx_t_9 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_vars); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2662, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2662, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_10)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2662, __pyx_L1_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          __pyx_t_5 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_9, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_9;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2662, __pyx_L1_error)
            #endif
            if (__pyx_t_9 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_9));
          #else
          __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_9);
          #endif
          ++__pyx_t_9;
        }
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 2662, __pyx_L1_error)
      } else {
        __pyx_t_5 = __pyx_t_10(__pyx_t_4);
        if (unlikely(!__pyx_t_5)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2662, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_v_var, __pyx_t_5);
      __pyx_t_5 = 0;
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_2);
      __pyx_t_5 = __Pyx_PyLong_AddObjC(__pyx_t_2, __pyx_mstate_global->__pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 2662, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_2);
      __pyx_t_2 = __pyx_t_5;
      __pyx_t_5 = 0;

      /* "src/pyscipopt/scip.pxi":2663
 *             self.ptr = <SCIP_VAR**> malloc(self.size * sizeof(SCIP_VAR*))
 *             for i, var in enumerate(vars):
 *                 if not isinstance(var, Variable):             # <<<<<<<<<<<<<<
 *                     raise TypeError(f"Expected Variable, got {type(var)}.")
 *                 self.ptr[i] = (<Variable>var).scip_var
*/
      __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_var, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable); 
      __pyx_t_3 = (!__pyx_t_1);
      if (unlikely(__pyx_t_3)) {

        /* "src/pyscipopt/scip.pxi":2664
 *             for i, var in enumerate(vars):
 *                 if not isinstance(var, Variable):
 *                     raise TypeError(f"Expected Variable, got {type(var)}.")             # <<<<<<<<<<<<<<
 *                 self.ptr[i] = (<Variable>var).scip_var
 * 
*/
        __pyx_t_6 = NULL;
        __pyx_t_11 = __Pyx_PyObject_FormatSimple(((PyObject *)Py_TYPE(__pyx_v_var)), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2664, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_8[0] = __pyx_mstate_global->__pyx_kp_u_Expected_Variable_got;
        __pyx_t_8[1] = __pyx_t_11;
        __pyx_t_8[2] = __pyx_mstate_global->__pyx_kp_u__2;
        __pyx_t_12 = __Pyx_PyUnicode_Join(__pyx_t_8, 3, 23 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11) + 1, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_11));
        if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 2664, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_12);
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __pyx_t_7 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_12};
          __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 2664, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
        }
        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __PYX_ERR(2, 2664, __pyx_L1_error)

        /* "src/pyscipopt/scip.pxi":2663
 *             self.ptr = <SCIP_VAR**> malloc(self.size * sizeof(SCIP_VAR*))
 *             for i, var in enumerate(vars):
 *                 if not isinstance(var, Variable):             # <<<<<<<<<<<<<<
 *                     raise TypeError(f"Expected Variable, got {type(var)}.")
 *                 self.ptr[i] = (<Variable>var).scip_var
*/
      }

      /* "src/pyscipopt/scip.pxi":2665
 *                 if not isinstance(var, Variable):
 *                     raise TypeError(f"Expected Variable, got {type(var)}.")
 *                 self.ptr[i] = (<Variable>var).scip_var             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
      __pyx_t_13 = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_var)->scip_var;
      __pyx_t_14 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_14 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 2665, __pyx_L1_error)
      (__pyx_v_self->ptr[__pyx_t_14]) = __pyx_t_13;

      /* "src/pyscipopt/scip.pxi":2662
 *         if self.size:
 *             self.ptr = <SCIP_VAR**> malloc(self.size * sizeof(SCIP_VAR*))
 *             for i, var in enumerate(vars):             # <<<<<<<<<<<<<<
 *                 if not isinstance(var, Variable):
 *                     raise TypeError(f"Expected Variable, got {type(var)}.")
*/
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":2660
 * 
 *         self.size = len(vars)
 *         if self.size:             # <<<<<<<<<<<<<<
 *             self.ptr = <SCIP_VAR**> malloc(self.size * sizeof(SCIP_VAR*))
 *             for i, var in enumerate(vars):
*/
  }

  /* "src/pyscipopt/scip.pxi":2647
 *     cdef int size
 * 
 *     def __cinit__(self, object vars):             # <<<<<<<<<<<<<<
 *         self.ptr = NULL
 *         self.size = 0
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("pyscipopt.scip._VarArray.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XDECREF(__pyx_v_var);
  __Pyx_XDECREF(__pyx_v_ndim);
  __Pyx_XDECREF(__pyx_v_vars);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2667
 *                 self.ptr[i] = (<Variable>var).scip_var
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self.ptr != NULL:
 *             free(self.ptr)
*/

/* Python wrapper */
static void __pyx_pw_9pyscipopt_4scip_9_VarArray_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9pyscipopt_4scip_9_VarArray_3__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_9pyscipopt_4scip_9_VarArray_2__dealloc__(((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9pyscipopt_4scip_9_VarArray_2__dealloc__(struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_self) {
  int __pyx_t_1;

  /* "src/pyscipopt/scip.pxi":2668
 * 
 *     def __dealloc__(self):
 *         if self.ptr != NULL:             # <<<<<<<<<<<<<<
 *             free(self.ptr)
 * 
*/
  __pyx_t_1 = (__pyx_v_self->ptr != NULL);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":2669
 *     def __dealloc__(self):
 *         if self.ptr != NULL:
 *             free(self.ptr)             # <<<<<<<<<<<<<<
 * 
 * cdef class IIS:
*/
    free(__pyx_v_self->ptr);

    /* "src/pyscipopt/scip.pxi":2668
 * 
 *     def __dealloc__(self):
 *         if self.ptr != NULL:             # <<<<<<<<<<<<<<
 *             free(self.ptr)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":2667
 *                 self.ptr[i] = (<Variable>var).scip_var
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         if self.ptr != NULL:
 *             free(self.ptr)
*/

  /* function exit code */
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9_VarArray_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9_VarArray_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9_VarArray_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_9_VarArray_5__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9_VarArray_4__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9_VarArray_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip._VarArray.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_9_VarArray_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_9_VarArray_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9_VarArray_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_9_VarArray_7__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip._VarArray.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_9_VarArray_6__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_9_VarArray_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip._VarArray.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2673
 * cdef class IIS:
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_IIS* scip_iis):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_3IIS_create(SCIP_IIS *__pyx_v_scip_iis) {
  struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_iis = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":2689
 * 
 *         """
 *         iis = IIS()             # <<<<<<<<<<<<<<
 *         iis._iis = scip_iis
 *         return iis
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IIS, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2689, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_iis = ((struct __pyx_obj_9pyscipopt_4scip_IIS *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2690
 *         """
 *         iis = IIS()
 *         iis._iis = scip_iis             # <<<<<<<<<<<<<<
 *         return iis
 * 
*/
  __pyx_v_iis->_iis = __pyx_v_scip_iis;

  /* "src/pyscipopt/scip.pxi":2691
 *         iis = IIS()
 *         iis._iis = scip_iis
 *         return iis             # <<<<<<<<<<<<<<
 * 
 *     def getTime(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_iis);
  __pyx_r = ((PyObject *)__pyx_v_iis);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2673
 * cdef class IIS:
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP_IIS* scip_iis):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.IIS.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_iis);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2693
 *         return iis
 * 
 *     def getTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the solving time of the IIS.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_1getTime(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3IIS_getTime, "\n        Retrieve the solving time of the IIS.\n\n        Returns\n        -------\n        float\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3IIS_1getTime = {"getTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_1getTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_getTime};
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_1getTime(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getTime (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getTime", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getTime", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3IIS_getTime(((struct __pyx_obj_9pyscipopt_4scip_IIS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_getTime(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getTime", 0);

  /* "src/pyscipopt/scip.pxi":2701
 *         float
 *         """
 *         return SCIPiisGetTime(self._iis)             # <<<<<<<<<<<<<<
 * 
 *     def isSubscipIrreducible(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPiisGetTime(__pyx_v_self->_iis)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2701, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2693
 *         return iis
 * 
 *     def getTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the solving time of the IIS.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.IIS.getTime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2703
 *         return SCIPiisGetTime(self._iis)
 * 
 *     def isSubscipIrreducible(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the IIS is irreducible.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_3isSubscipIrreducible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3IIS_2isSubscipIrreducible, "\n        Returns whether the IIS is irreducible.\n\n        Returns\n        -------\n        bool\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3IIS_3isSubscipIrreducible = {"isSubscipIrreducible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_3isSubscipIrreducible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_2isSubscipIrreducible};
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_3isSubscipIrreducible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isSubscipIrreducible (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isSubscipIrreducible", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isSubscipIrreducible", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3IIS_2isSubscipIrreducible(((struct __pyx_obj_9pyscipopt_4scip_IIS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_2isSubscipIrreducible(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isSubscipIrreducible", 0);

  /* "src/pyscipopt/scip.pxi":2711
 *         bool
 *         """
 *         return SCIPiisIsSubscipIrreducible(self._iis)             # <<<<<<<<<<<<<<
 * 
 *     def isSubscipInfeasible(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPiisIsSubscipIrreducible(__pyx_v_self->_iis)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2703
 *         return SCIPiisGetTime(self._iis)
 * 
 *     def isSubscipIrreducible(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the IIS is irreducible.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.IIS.isSubscipIrreducible", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2713
 *         return SCIPiisIsSubscipIrreducible(self._iis)
 * 
 *     def isSubscipInfeasible(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the IIS is infeasible.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_5isSubscipInfeasible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3IIS_4isSubscipInfeasible, "\n        Returns whether the IIS is infeasible.\n\n        Returns\n        -------\n        bool\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3IIS_5isSubscipInfeasible = {"isSubscipInfeasible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_5isSubscipInfeasible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_4isSubscipInfeasible};
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_5isSubscipInfeasible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isSubscipInfeasible (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isSubscipInfeasible", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isSubscipInfeasible", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3IIS_4isSubscipInfeasible(((struct __pyx_obj_9pyscipopt_4scip_IIS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_4isSubscipInfeasible(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isSubscipInfeasible", 0);

  /* "src/pyscipopt/scip.pxi":2721
 *         bool
 *         """
 *         return SCIPiisIsSubscipInfeasible(self._iis)             # <<<<<<<<<<<<<<
 * 
 *     def setSubscipIrreducible(self, irreducible):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPiisIsSubscipInfeasible(__pyx_v_self->_iis)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2713
 *         return SCIPiisIsSubscipIrreducible(self._iis)
 * 
 *     def isSubscipInfeasible(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the IIS is infeasible.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.IIS.isSubscipInfeasible", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2723
 *         return SCIPiisIsSubscipInfeasible(self._iis)
 * 
 *     def setSubscipIrreducible(self, irreducible):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the flag that states whether the IIS subscip is irreducible.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_7setSubscipIrreducible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3IIS_6setSubscipIrreducible, "\n        Sets the flag that states whether the IIS subscip is irreducible.\n\n        Parameters\n        ----------\n        irreducible : bool\n            the value to set the irreducible flag to\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3IIS_7setSubscipIrreducible = {"setSubscipIrreducible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_7setSubscipIrreducible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_6setSubscipIrreducible};
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_7setSubscipIrreducible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_irreducible = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setSubscipIrreducible (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_irreducible,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2723, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2723, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setSubscipIrreducible", 0) < (0)) __PYX_ERR(2, 2723, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setSubscipIrreducible", 1, 1, 1, i); __PYX_ERR(2, 2723, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2723, __pyx_L3_error)
    }
    __pyx_v_irreducible = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setSubscipIrreducible", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2723, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.IIS.setSubscipIrreducible", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3IIS_6setSubscipIrreducible(((struct __pyx_obj_9pyscipopt_4scip_IIS *)__pyx_v_self), __pyx_v_irreducible);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_6setSubscipIrreducible(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self, PyObject *__pyx_v_irreducible) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Bool __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setSubscipIrreducible", 0);

  /* "src/pyscipopt/scip.pxi":2733
 *         """
 * 
 *         SCIPiisSetSubscipIrreducible(self._iis, irreducible)             # <<<<<<<<<<<<<<
 * 
 *     def setSubscipInfeasible(self, infeasible):
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_irreducible); if (unlikely((__pyx_t_1 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 2733, __pyx_L1_error)
  (void)(SCIPiisSetSubscipIrreducible(__pyx_v_self->_iis, __pyx_t_1));

  /* "src/pyscipopt/scip.pxi":2723
 *         return SCIPiisIsSubscipInfeasible(self._iis)
 * 
 *     def setSubscipIrreducible(self, irreducible):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the flag that states whether the IIS subscip is irreducible.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.IIS.setSubscipIrreducible", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2735
 *         SCIPiisSetSubscipIrreducible(self._iis, irreducible)
 * 
 *     def setSubscipInfeasible(self, infeasible):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the flag that states whether the IIS subscip is infeasible.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_9setSubscipInfeasible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3IIS_8setSubscipInfeasible, "\n        Sets the flag that states whether the IIS subscip is infeasible.\n\n        Parameters\n        ----------\n        infeasible : bool\n            the value to set the infeasible flag to\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3IIS_9setSubscipInfeasible = {"setSubscipInfeasible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_9setSubscipInfeasible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_8setSubscipInfeasible};
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_9setSubscipInfeasible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_infeasible = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setSubscipInfeasible (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_infeasible,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2735, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2735, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setSubscipInfeasible", 0) < (0)) __PYX_ERR(2, 2735, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setSubscipInfeasible", 1, 1, 1, i); __PYX_ERR(2, 2735, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2735, __pyx_L3_error)
    }
    __pyx_v_infeasible = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setSubscipInfeasible", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2735, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.IIS.setSubscipInfeasible", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3IIS_8setSubscipInfeasible(((struct __pyx_obj_9pyscipopt_4scip_IIS *)__pyx_v_self), __pyx_v_infeasible);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_8setSubscipInfeasible(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self, PyObject *__pyx_v_infeasible) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Bool __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setSubscipInfeasible", 0);

  /* "src/pyscipopt/scip.pxi":2745
 *         """
 * 
 *         SCIPiisSetSubscipInfeasible(self._iis, infeasible)             # <<<<<<<<<<<<<<
 * 
 *     def getNNodes(self):
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_infeasible); if (unlikely((__pyx_t_1 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 2745, __pyx_L1_error)
  (void)(SCIPiisSetSubscipInfeasible(__pyx_v_self->_iis, __pyx_t_1));

  /* "src/pyscipopt/scip.pxi":2735
 *         SCIPiisSetSubscipIrreducible(self._iis, irreducible)
 * 
 *     def setSubscipInfeasible(self, infeasible):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the flag that states whether the IIS subscip is infeasible.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.IIS.setSubscipInfeasible", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2747
 *         SCIPiisSetSubscipInfeasible(self._iis, infeasible)
 * 
 *     def getNNodes(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of nodes in the IIS solve.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_11getNNodes(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3IIS_10getNNodes, "\n        Gets number of nodes in the IIS solve.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3IIS_11getNNodes = {"getNNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_11getNNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_10getNNodes};
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_11getNNodes(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNNodes (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNNodes", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNNodes", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3IIS_10getNNodes(((struct __pyx_obj_9pyscipopt_4scip_IIS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_10getNNodes(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNNodes", 0);

  /* "src/pyscipopt/scip.pxi":2756
 * 
 *         """
 *         return SCIPiisGetNNodes(self._iis)             # <<<<<<<<<<<<<<
 * 
 *     def getSubscip(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(SCIPiisGetNNodes(__pyx_v_self->_iis)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2747
 *         SCIPiisSetSubscipInfeasible(self._iis, infeasible)
 * 
 *     def getNNodes(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of nodes in the IIS solve.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.IIS.getNNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2758
 *         return SCIPiisGetNNodes(self._iis)
 * 
 *     def getSubscip(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the subscip of an IIS.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_13getSubscip(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3IIS_12getSubscip, "\n        Get the subscip of an IIS.\n\n        Returns\n        -------\n        Model\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3IIS_13getSubscip = {"getSubscip", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_13getSubscip, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_12getSubscip};
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_13getSubscip(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSubscip (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getSubscip", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getSubscip", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3IIS_12getSubscip(((struct __pyx_obj_9pyscipopt_4scip_IIS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_12getSubscip(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self) {
  SCIP *__pyx_v_subscip;
  PyObject *__pyx_v_model = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getSubscip", 0);

  /* "src/pyscipopt/scip.pxi":2768
 *         cdef SCIP* subscip
 * 
 *         subscip = SCIPiisGetSubscip(self._iis)             # <<<<<<<<<<<<<<
 *         model = Model.create(subscip)
 *         return model
*/
  __pyx_v_subscip = SCIPiisGetSubscip(__pyx_v_self->_iis);

  /* "src/pyscipopt/scip.pxi":2769
 * 
 *         subscip = SCIPiisGetSubscip(self._iis)
 *         model = Model.create(subscip)             # <<<<<<<<<<<<<<
 *         return model
 * 
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_5Model_create(__pyx_v_subscip); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_model = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2770
 *         subscip = SCIPiisGetSubscip(self._iis)
 *         model = Model.create(subscip)
 *         return model             # <<<<<<<<<<<<<<
 * 
 *     def greedyMakeIrreducible(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_model);
  __pyx_r = __pyx_v_model;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2758
 *         return SCIPiisGetNNodes(self._iis)
 * 
 *     def getSubscip(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the subscip of an IIS.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.IIS.getSubscip", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_model);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2772
 *         return model
 * 
 *     def greedyMakeIrreducible(self):             # <<<<<<<<<<<<<<
 *        """
 *        Perform the greedy deletion algorithm with singleton batches to obtain an irreducible infeasible subsystem (IIS)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_15greedyMakeIrreducible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_3IIS_14greedyMakeIrreducible, "\n       Perform the greedy deletion algorithm with singleton batches to obtain an irreducible infeasible subsystem (IIS)\n       ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3IIS_15greedyMakeIrreducible = {"greedyMakeIrreducible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_15greedyMakeIrreducible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_14greedyMakeIrreducible};
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_15greedyMakeIrreducible(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("greedyMakeIrreducible (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("greedyMakeIrreducible", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("greedyMakeIrreducible", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3IIS_14greedyMakeIrreducible(((struct __pyx_obj_9pyscipopt_4scip_IIS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_14greedyMakeIrreducible(struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("greedyMakeIrreducible", 0);

  /* "src/pyscipopt/scip.pxi":2777
 *        """
 * 
 *        PY_SCIP_CALL(SCIPiisGreedyMakeIrreducible(self._iis))             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPiisGreedyMakeIrreducible(__pyx_v_self->_iis)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2777, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2772
 *         return model
 * 
 *     def greedyMakeIrreducible(self):             # <<<<<<<<<<<<<<
 *        """
 *        Perform the greedy deletion algorithm with singleton batches to obtain an irreducible infeasible subsystem (IIS)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.IIS.greedyMakeIrreducible", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._iis cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3IIS_17__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_17__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3IIS_16__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_IIS *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_16__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self._iis cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self._iis cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self__iis_cannot_be_converted_to, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._iis cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.IIS.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self._iis cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._iis cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_3IIS_19__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_3IIS_19__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.IIS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_3IIS_18__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_IIS *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_3IIS_18__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_IIS *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self._iis cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self._iis cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self__iis_cannot_be_converted_to, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self._iis cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._iis cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.IIS.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2788
 * cdef class Model:
 * 
 *     def __init__(self, problemName='model', defaultPlugins=True, Model sourceModel=None, origcopy=False, globalcopy=True, enablepricing=True, createscip=True, threadsafe=False):             # <<<<<<<<<<<<<<
 *         """
 *         Main class holding a pointer to SCIP for managing most interactions
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_5Model_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model___init__, "\n        Main class holding a pointer to SCIP for managing most interactions\n\n        Parameters\n        ----------\n        problemName : str, optional\n            name of the problem (default 'model')\n        defaultPlugins : bool, optional\n            use default plugins? (default True)\n        sourceModel : Model or None, optional\n            create a copy of the given Model instance (default None)\n        origcopy : bool, optional\n            whether to call copy or copyOrig (default False)\n        globalcopy : bool, optional\n            whether to create a global or a local copy (default True)\n        enablepricing : bool, optional\n            whether to enable pricing in copy (default True)\n        createscip : bool, optional\n            initialize the Model object and creates a SCIP instance (default True)\n        threadsafe : bool, optional\n            False if data can be safely shared between the source and target problem (default False)\n\n        ");
#if CYTHON_UPDATE_DESCRIPTOR_DOC
struct wrapperbase __pyx_wrapperbase_9pyscipopt_4scip_5Model___init__;
#endif
static int __pyx_pw_9pyscipopt_4scip_5Model_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyObject *__pyx_v_problemName = 0;
  PyObject *__pyx_v_defaultPlugins = 0;
  struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_sourceModel = 0;
  PyObject *__pyx_v_origcopy = 0;
  PyObject *__pyx_v_globalcopy = 0;
  PyObject *__pyx_v_enablepricing = 0;
  PyObject *__pyx_v_createscip = 0;
  PyObject *__pyx_v_threadsafe = 0;
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[8] = {0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
  #endif
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_problemName,&__pyx_mstate_global->__pyx_n_u_defaultPlugins,&__pyx_mstate_global->__pyx_n_u_sourceModel,&__pyx_mstate_global->__pyx_n_u_origcopy,&__pyx_mstate_global->__pyx_n_u_globalcopy,&__pyx_mstate_global->__pyx_n_u_enablepricing,&__pyx_mstate_global->__pyx_n_u_createscip,&__pyx_mstate_global->__pyx_n_u_threadsafe,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_VARARGS(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2788, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  8:
        values[7] = __Pyx_ArgRef_VARARGS(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_VARARGS(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_VARARGS(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_VARARGS(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_VARARGS(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(2, 2788, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_model));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[2]) values[2] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  8:
        values[7] = __Pyx_ArgRef_VARARGS(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_VARARGS(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_VARARGS(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_VARARGS(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_VARARGS(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_VARARGS(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_VARARGS(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_VARARGS(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2788, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_model));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[2]) values[2] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_problemName = values[0];
    __pyx_v_defaultPlugins = values[1];
    __pyx_v_sourceModel = ((struct __pyx_obj_9pyscipopt_4scip_Model *)values[2]);
    __pyx_v_origcopy = values[3];
    __pyx_v_globalcopy = values[4];
    __pyx_v_enablepricing = values[5];
    __pyx_v_createscip = values[6];
    __pyx_v_threadsafe = values[7];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 0, 0, 8, __pyx_nargs); __PYX_ERR(2, 2788, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return -1;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sourceModel), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, 1, "sourceModel", 0))) __PYX_ERR(2, 2788, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model___init__(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_problemName, __pyx_v_defaultPlugins, __pyx_v_sourceModel, __pyx_v_origcopy, __pyx_v_globalcopy, __pyx_v_enablepricing, __pyx_v_createscip, __pyx_v_threadsafe);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = -1;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_5Model___init__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_problemName, PyObject *__pyx_v_defaultPlugins, struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_sourceModel, PyObject *__pyx_v_origcopy, PyObject *__pyx_v_globalcopy, PyObject *__pyx_v_enablepricing, PyObject *__pyx_v_createscip, PyObject *__pyx_v_threadsafe) {
  PyObject *__pyx_v_n = NULL;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  char const *__pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  char const *__pyx_t_17;
  SCIP_Bool __pyx_t_18;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);

  /* "src/pyscipopt/scip.pxi":2812
 * 
 *         """
 *         if self.getMajorVersion() < MAJOR:             # <<<<<<<<<<<<<<
 *             raise Exception("linked SCIP is not compatible to this version of PySCIPOpt - use at least version", MAJOR)
 *         if self.getMajorVersion() == MAJOR and self.getMinorVersion() < MINOR:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getMajorVersion, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2812, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_MAJOR); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2812, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 2812, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(__pyx_t_5)) {

    /* "src/pyscipopt/scip.pxi":2813
 *         """
 *         if self.getMajorVersion() < MAJOR:
 *             raise Exception("linked SCIP is not compatible to this version of PySCIPOpt - use at least version", MAJOR)             # <<<<<<<<<<<<<<
 *         if self.getMajorVersion() == MAJOR and self.getMinorVersion() < MINOR:
 *             warnings.warn(
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_MAJOR); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2813, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_linked_SCIP_is_not_compatible_to, __pyx_t_1};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2813, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(2, 2813, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":2812
 * 
 *         """
 *         if self.getMajorVersion() < MAJOR:             # <<<<<<<<<<<<<<
 *             raise Exception("linked SCIP is not compatible to this version of PySCIPOpt - use at least version", MAJOR)
 *         if self.getMajorVersion() == MAJOR and self.getMinorVersion() < MINOR:
*/
  }

  /* "src/pyscipopt/scip.pxi":2814
 *         if self.getMajorVersion() < MAJOR:
 *             raise Exception("linked SCIP is not compatible to this version of PySCIPOpt - use at least version", MAJOR)
 *         if self.getMajorVersion() == MAJOR and self.getMinorVersion() < MINOR:             # <<<<<<<<<<<<<<
 *             warnings.warn(
 *                 "linked SCIP {}.{} is not recommended for this version of PySCIPOpt - use version {}.{}.{}".format(
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getMajorVersion, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_MAJOR); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2814, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 2814, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_5 = __pyx_t_6;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_1 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getMinorVersion, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2814, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_MINOR); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2814, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2814, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 2814, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_5 = __pyx_t_6;
  __pyx_L5_bool_binop_done:;
  if (__pyx_t_5) {

    /* "src/pyscipopt/scip.pxi":2815
 *             raise Exception("linked SCIP is not compatible to this version of PySCIPOpt - use at least version", MAJOR)
 *         if self.getMajorVersion() == MAJOR and self.getMinorVersion() < MINOR:
 *             warnings.warn(             # <<<<<<<<<<<<<<
 *                 "linked SCIP {}.{} is not recommended for this version of PySCIPOpt - use version {}.{}.{}".format(
 *                     self.getMajorVersion(), self.getMinorVersion(), MAJOR, MINOR, PATCH))
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_warnings); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_warn); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 2815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":2816
 *         if self.getMajorVersion() == MAJOR and self.getMinorVersion() < MINOR:
 *             warnings.warn(
 *                 "linked SCIP {}.{} is not recommended for this version of PySCIPOpt - use version {}.{}.{}".format(             # <<<<<<<<<<<<<<
 *                     self.getMajorVersion(), self.getMinorVersion(), MAJOR, MINOR, PATCH))
 * 
*/
    __pyx_t_8 = __pyx_mstate_global->__pyx_kp_u_linked_SCIP_is_not_recommended_f;
    __Pyx_INCREF(__pyx_t_8);

    /* "src/pyscipopt/scip.pxi":2817
 *             warnings.warn(
 *                 "linked SCIP {}.{} is not recommended for this version of PySCIPOpt - use version {}.{}.{}".format(
 *                     self.getMajorVersion(), self.getMinorVersion(), MAJOR, MINOR, PATCH))             # <<<<<<<<<<<<<<
 * 
 *         self._freescip = True
*/
    __pyx_t_10 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
      __pyx_t_9 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getMajorVersion, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 2817, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __pyx_t_11 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_11);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, NULL};
      __pyx_t_10 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getMinorVersion, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2817, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
    }
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_MAJOR); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_MINOR); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 2817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_PATCH); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[6] = {__pyx_t_8, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_t_13};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_format, __pyx_callargs+__pyx_t_3, (6-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2816, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_3 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
      __pyx_t_3 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2815, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":2814
 *         if self.getMajorVersion() < MAJOR:
 *             raise Exception("linked SCIP is not compatible to this version of PySCIPOpt - use at least version", MAJOR)
 *         if self.getMajorVersion() == MAJOR and self.getMinorVersion() < MINOR:             # <<<<<<<<<<<<<<
 *             warnings.warn(
 *                 "linked SCIP {}.{} is not recommended for this version of PySCIPOpt - use version {}.{}.{}".format(
*/
  }

  /* "src/pyscipopt/scip.pxi":2819
 *                     self.getMajorVersion(), self.getMinorVersion(), MAJOR, MINOR, PATCH))
 * 
 *         self._freescip = True             # <<<<<<<<<<<<<<
 *         self._modelvars = {}
 *         self._modelconss = {}
*/
  __pyx_v_self->_freescip = 1;

  /* "src/pyscipopt/scip.pxi":2820
 * 
 *         self._freescip = True
 *         self._modelvars = {}             # <<<<<<<<<<<<<<
 *         self._modelconss = {}
 *         self._generated_event_handlers_count = 0
*/
  __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __Pyx_GOTREF(__pyx_v_self->_modelvars);
  __Pyx_DECREF(__pyx_v_self->_modelvars);
  __pyx_v_self->_modelvars = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":2821
 *         self._freescip = True
 *         self._modelvars = {}
 *         self._modelconss = {}             # <<<<<<<<<<<<<<
 *         self._generated_event_handlers_count = 0
 *         self._benders_subproblems = []  # Keep references to Benders subproblem Models
*/
  __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2821, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __Pyx_GOTREF(__pyx_v_self->_modelconss);
  __Pyx_DECREF(__pyx_v_self->_modelconss);
  __pyx_v_self->_modelconss = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":2822
 *         self._modelvars = {}
 *         self._modelconss = {}
 *         self._generated_event_handlers_count = 0             # <<<<<<<<<<<<<<
 *         self._benders_subproblems = []  # Keep references to Benders subproblem Models
 *         self._iis = NULL
*/
  __pyx_v_self->_generated_event_handlers_count = 0;

  /* "src/pyscipopt/scip.pxi":2823
 *         self._modelconss = {}
 *         self._generated_event_handlers_count = 0
 *         self._benders_subproblems = []  # Keep references to Benders subproblem Models             # <<<<<<<<<<<<<<
 *         self._iis = NULL
 * 
*/
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  __Pyx_GOTREF(__pyx_v_self->_benders_subproblems);
  __Pyx_DECREF(__pyx_v_self->_benders_subproblems);
  __pyx_v_self->_benders_subproblems = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":2824
 *         self._generated_event_handlers_count = 0
 *         self._benders_subproblems = []  # Keep references to Benders subproblem Models
 *         self._iis = NULL             # <<<<<<<<<<<<<<
 * 
 *         if not createscip:
*/
  __pyx_v_self->_iis = NULL;

  /* "src/pyscipopt/scip.pxi":2826
 *         self._iis = NULL
 * 
 *         if not createscip:             # <<<<<<<<<<<<<<
 *             # if no SCIP instance should be created, then an empty Model object is created.
 *             self._scip = NULL
*/
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_createscip); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 2826, __pyx_L1_error)
  __pyx_t_6 = (!__pyx_t_5);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":2828
 *         if not createscip:
 *             # if no SCIP instance should be created, then an empty Model object is created.
 *             self._scip = NULL             # <<<<<<<<<<<<<<
 *             self._bestSol = None
 *             self._freescip = False
*/
    __pyx_v_self->_scip = NULL;

    /* "src/pyscipopt/scip.pxi":2829
 *             # if no SCIP instance should be created, then an empty Model object is created.
 *             self._scip = NULL
 *             self._bestSol = None             # <<<<<<<<<<<<<<
 *             self._freescip = False
 *         elif sourceModel is None:
*/
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_bestSol);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_bestSol);
    __pyx_v_self->_bestSol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None);

    /* "src/pyscipopt/scip.pxi":2830
 *             self._scip = NULL
 *             self._bestSol = None
 *             self._freescip = False             # <<<<<<<<<<<<<<
 *         elif sourceModel is None:
 *             PY_SCIP_CALL(SCIPcreate(&self._scip))
*/
    __pyx_v_self->_freescip = 0;

    /* "src/pyscipopt/scip.pxi":2826
 *         self._iis = NULL
 * 
 *         if not createscip:             # <<<<<<<<<<<<<<
 *             # if no SCIP instance should be created, then an empty Model object is created.
 *             self._scip = NULL
*/
    goto __pyx_L7;
  }

  /* "src/pyscipopt/scip.pxi":2831
 *             self._bestSol = None
 *             self._freescip = False
 *         elif sourceModel is None:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPcreate(&self._scip))
 *             self._bestSol = None
*/
  __pyx_t_6 = (((PyObject *)__pyx_v_sourceModel) == Py_None);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":2832
 *             self._freescip = False
 *         elif sourceModel is None:
 *             PY_SCIP_CALL(SCIPcreate(&self._scip))             # <<<<<<<<<<<<<<
 *             self._bestSol = None
 *             if defaultPlugins:
*/
    __pyx_t_7 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreate((&__pyx_v_self->_scip))); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_7);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_7);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_3 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_1};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2832, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":2833
 *         elif sourceModel is None:
 *             PY_SCIP_CALL(SCIPcreate(&self._scip))
 *             self._bestSol = None             # <<<<<<<<<<<<<<
 *             if defaultPlugins:
 *                 self.includeDefaultPlugins()
*/
    __Pyx_INCREF(Py_None);
    __Pyx_GIVEREF(Py_None);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_bestSol);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_bestSol);
    __pyx_v_self->_bestSol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None);

    /* "src/pyscipopt/scip.pxi":2834
 *             PY_SCIP_CALL(SCIPcreate(&self._scip))
 *             self._bestSol = None
 *             if defaultPlugins:             # <<<<<<<<<<<<<<
 *                 self.includeDefaultPlugins()
 *             self.createProbBasic(problemName)
*/
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_defaultPlugins); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 2834, __pyx_L1_error)
    if (__pyx_t_6) {

      /* "src/pyscipopt/scip.pxi":2835
 *             self._bestSol = None
 *             if defaultPlugins:
 *                 self.includeDefaultPlugins()             # <<<<<<<<<<<<<<
 *             self.createProbBasic(problemName)
 *         else:
*/
      __pyx_t_2 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
        __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_includeDefaultPlugins, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2835, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "src/pyscipopt/scip.pxi":2834
 *             PY_SCIP_CALL(SCIPcreate(&self._scip))
 *             self._bestSol = None
 *             if defaultPlugins:             # <<<<<<<<<<<<<<
 *                 self.includeDefaultPlugins()
 *             self.createProbBasic(problemName)
*/
    }

    /* "src/pyscipopt/scip.pxi":2836
 *             if defaultPlugins:
 *                 self.includeDefaultPlugins()
 *             self.createProbBasic(problemName)             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPcreate(&self._scip))
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_problemName};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_createProbBasic, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2836, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":2831
 *             self._bestSol = None
 *             self._freescip = False
 *         elif sourceModel is None:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPcreate(&self._scip))
 *             self._bestSol = None
*/
    goto __pyx_L7;
  }

  /* "src/pyscipopt/scip.pxi":2838
 *             self.createProbBasic(problemName)
 *         else:
 *             PY_SCIP_CALL(SCIPcreate(&self._scip))             # <<<<<<<<<<<<<<
 *             self._bestSol = <Solution> sourceModel._bestSol
 *             n = str_conversion(problemName)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreate((&__pyx_v_self->_scip))); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 2838, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_3 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2838, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":2839
 *         else:
 *             PY_SCIP_CALL(SCIPcreate(&self._scip))
 *             self._bestSol = <Solution> sourceModel._bestSol             # <<<<<<<<<<<<<<
 *             n = str_conversion(problemName)
 *             if origcopy:
*/
    __pyx_t_4 = ((PyObject *)__pyx_v_sourceModel->_bestSol);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_GIVEREF(__pyx_t_4);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_bestSol);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_bestSol);
    __pyx_v_self->_bestSol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":2840
 *             PY_SCIP_CALL(SCIPcreate(&self._scip))
 *             self._bestSol = <Solution> sourceModel._bestSol
 *             n = str_conversion(problemName)             # <<<<<<<<<<<<<<
 *             if origcopy:
 *                 PY_SCIP_CALL(SCIPcopyOrig(sourceModel._scip, self._scip, NULL, NULL, n, enablepricing, threadsafe, True, self._valid))
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 2840, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
      __pyx_t_3 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_problemName};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2840, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_v_n = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":2841
 *             self._bestSol = <Solution> sourceModel._bestSol
 *             n = str_conversion(problemName)
 *             if origcopy:             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPcopyOrig(sourceModel._scip, self._scip, NULL, NULL, n, enablepricing, threadsafe, True, self._valid))
 *             else:
*/
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_origcopy); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 2841, __pyx_L1_error)
    if (__pyx_t_6) {

      /* "src/pyscipopt/scip.pxi":2842
 *             n = str_conversion(problemName)
 *             if origcopy:
 *                 PY_SCIP_CALL(SCIPcopyOrig(sourceModel._scip, self._scip, NULL, NULL, n, enablepricing, threadsafe, True, self._valid))             # <<<<<<<<<<<<<<
 *             else:
 *                 PY_SCIP_CALL(SCIPcopy(sourceModel._scip, self._scip, NULL, NULL, n, globalcopy, enablepricing, threadsafe, True, self._valid))
*/
      __pyx_t_7 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2842, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_14 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_14) && PyErr_Occurred())) __PYX_ERR(2, 2842, __pyx_L1_error)
      __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_enablepricing); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 2842, __pyx_L1_error)
      __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_threadsafe); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 2842, __pyx_L1_error)
      __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcopyOrig(__pyx_v_sourceModel->_scip, __pyx_v_self->_scip, NULL, NULL, __pyx_t_14, __pyx_t_15, __pyx_t_16, 1, __pyx_v_self->_valid)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2842, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
        assert(__pyx_t_7);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
        __pyx_t_3 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
        __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2842, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "src/pyscipopt/scip.pxi":2841
 *             self._bestSol = <Solution> sourceModel._bestSol
 *             n = str_conversion(problemName)
 *             if origcopy:             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPcopyOrig(sourceModel._scip, self._scip, NULL, NULL, n, enablepricing, threadsafe, True, self._valid))
 *             else:
*/
      goto __pyx_L9;
    }

    /* "src/pyscipopt/scip.pxi":2844
 *                 PY_SCIP_CALL(SCIPcopyOrig(sourceModel._scip, self._scip, NULL, NULL, n, enablepricing, threadsafe, True, self._valid))
 *             else:
 *                 PY_SCIP_CALL(SCIPcopy(sourceModel._scip, self._scip, NULL, NULL, n, globalcopy, enablepricing, threadsafe, True, self._valid))             # <<<<<<<<<<<<<<
 * 
 *     def attachEventHandlerCallback(self,
*/
    /*else*/ {
      __pyx_t_1 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2844, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_17 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_17) && PyErr_Occurred())) __PYX_ERR(2, 2844, __pyx_L1_error)
      __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_globalcopy); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 2844, __pyx_L1_error)
      __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_enablepricing); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 2844, __pyx_L1_error)
      __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_v_threadsafe); if (unlikely((__pyx_t_18 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 2844, __pyx_L1_error)
      __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcopy(__pyx_v_sourceModel->_scip, __pyx_v_self->_scip, NULL, NULL, __pyx_t_17, __pyx_t_16, __pyx_t_15, __pyx_t_18, 1, __pyx_v_self->_valid)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 2844, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
        assert(__pyx_t_1);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_1);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
        __pyx_t_3 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_7};
        __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2844, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
    __pyx_L9:;
  }
  __pyx_L7:;

  /* "src/pyscipopt/scip.pxi":2788
 * cdef class Model:
 * 
 *     def __init__(self, problemName='model', defaultPlugins=True, Model sourceModel=None, origcopy=False, globalcopy=True, enablepricing=True, createscip=True, threadsafe=False):             # <<<<<<<<<<<<<<
 *         """
 *         Main class holding a pointer to SCIP for managing most interactions
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("pyscipopt.scip.Model.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2846
 *                 PY_SCIP_CALL(SCIPcopy(sourceModel._scip, self._scip, NULL, NULL, n, globalcopy, enablepricing, threadsafe, True, self._valid))
 * 
 *     def attachEventHandlerCallback(self,             # <<<<<<<<<<<<<<
 *         callback,
 *         events,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_3attachEventHandlerCallback(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_2attachEventHandlerCallback, "\n        Attach an event handler to the model using a callback function.\n\n        Parameters\n        ----------\n        callback : callable\n            The callback function to be called when an event occurs.\n            The callback function should have the following signature:\n            callback(model, event)\n        events : list of SCIP_EVENTTYPE\n            List of event types to attach the event handler to.\n        name : str, optional\n            Name of the event handler. If not provided, a unique default name will be generated.\n        description : str, optional\n            Description of the event handler. If not provided, an empty string will be used.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_3attachEventHandlerCallback = {"attachEventHandlerCallback", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_3attachEventHandlerCallback, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_2attachEventHandlerCallback};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_3attachEventHandlerCallback(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_callback = 0;
  PyObject *__pyx_v_events = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_description = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("attachEventHandlerCallback (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_callback,&__pyx_mstate_global->__pyx_n_u_events,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_description,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2846, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 2846, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 2846, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 2846, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2846, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "attachEventHandlerCallback", 0) < (0)) __PYX_ERR(2, 2846, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_eventhandler));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("attachEventHandlerCallback", 0, 2, 4, i); __PYX_ERR(2, 2846, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 2846, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 2846, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 2846, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2846, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_eventhandler));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));
    }
    __pyx_v_callback = values[0];
    __pyx_v_events = values[1];
    __pyx_v_name = values[2];
    __pyx_v_description = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("attachEventHandlerCallback", 0, 2, 4, __pyx_nargs); __PYX_ERR(2, 2846, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.attachEventHandlerCallback", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_2attachEventHandlerCallback(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_callback, __pyx_v_events, __pyx_v_name, __pyx_v_description);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2873
 * 
 *         class EventHandler(Eventhdlr):
 *             def __init__(self, callback):             # <<<<<<<<<<<<<<
 *                 super(EventHandler, self).__init__()
 *                 self.callback = callback
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_1__init__ = {"__init__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_1__init__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_1__init__(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_callback = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_callback,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2873, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 2873, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2873, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__init__", 0) < (0)) __PYX_ERR(2, 2873, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, i); __PYX_ERR(2, 2873, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2873, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 2873, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_callback = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 2873, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.attachEventHandlerCallback.EventHandler.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler___init__(__pyx_self, __pyx_v_self, __pyx_v_callback);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler___init__(PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_callback) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *__pyx_cur_scope;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *__pyx_outer_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__init__", 0);
  __pyx_outer_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;

  /* "src/pyscipopt/scip.pxi":2874
 *         class EventHandler(Eventhdlr):
 *             def __init__(self, callback):
 *                 super(EventHandler, self).__init__()             # <<<<<<<<<<<<<<
 *                 self.callback = callback
 * 
*/
  __pyx_t_4 = NULL;
  if (unlikely(!__pyx_cur_scope->__pyx_v_EventHandler)) { __Pyx_RaiseClosureNameError("EventHandler"); __PYX_ERR(2, 2874, __pyx_L1_error) }
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_cur_scope->__pyx_v_EventHandler, __pyx_v_self};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_super, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_2 = __pyx_t_3;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_init, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2874, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2875
 *             def __init__(self, callback):
 *                 super(EventHandler, self).__init__()
 *                 self.callback = callback             # <<<<<<<<<<<<<<
 * 
 *             def eventinit(self):
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_callback, __pyx_v_callback) < (0)) __PYX_ERR(2, 2875, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":2873
 * 
 *         class EventHandler(Eventhdlr):
 *             def __init__(self, callback):             # <<<<<<<<<<<<<<
 *                 super(EventHandler, self).__init__()
 *                 self.callback = callback
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.attachEventHandlerCallback.EventHandler.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2877
 *                 self.callback = callback
 * 
 *             def eventinit(self):             # <<<<<<<<<<<<<<
 *                 for event in events:
 *                     self.model.catchEvent(event, self)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_3eventinit(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_3eventinit = {"eventinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_3eventinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_3eventinit(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventinit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2877, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2877, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "eventinit", 0) < (0)) __PYX_ERR(2, 2877, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("eventinit", 1, 1, 1, i); __PYX_ERR(2, 2877, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2877, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("eventinit", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2877, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.attachEventHandlerCallback.EventHandler.eventinit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_2eventinit(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_2eventinit(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *__pyx_cur_scope;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *__pyx_outer_scope;
  PyObject *__pyx_v_event = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("eventinit", 0);
  __pyx_outer_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;

  /* "src/pyscipopt/scip.pxi":2878
 * 
 *             def eventinit(self):
 *                 for event in events:             # <<<<<<<<<<<<<<
 *                     self.model.catchEvent(event, self)
 * 
*/
  if (unlikely(!__pyx_cur_scope->__pyx_v_events)) { __Pyx_RaiseClosureNameError("events"); __PYX_ERR(2, 2878, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_events)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_events)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_events; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_events); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2878, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2878, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2878, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2878, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2878, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2878, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_event, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":2879
 *             def eventinit(self):
 *                 for event in events:
 *                     self.model.catchEvent(event, self)             # <<<<<<<<<<<<<<
 * 
 *             def eventexit(self):
*/
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_model); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2879, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_event, __pyx_v_self};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_catchEvent, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2879, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":2878
 * 
 *             def eventinit(self):
 *                 for event in events:             # <<<<<<<<<<<<<<
 *                     self.model.catchEvent(event, self)
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2877
 *                 self.callback = callback
 * 
 *             def eventinit(self):             # <<<<<<<<<<<<<<
 *                 for event in events:
 *                     self.model.catchEvent(event, self)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.attachEventHandlerCallback.EventHandler.eventinit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_event);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2881
 *                     self.model.catchEvent(event, self)
 * 
 *             def eventexit(self):             # <<<<<<<<<<<<<<
 *                 for event in events:
 *                     self.model.dropEvent(event, self)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_5eventexit(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_5eventexit = {"eventexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_5eventexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_5eventexit(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventexit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2881, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2881, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "eventexit", 0) < (0)) __PYX_ERR(2, 2881, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("eventexit", 1, 1, 1, i); __PYX_ERR(2, 2881, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2881, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("eventexit", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 2881, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.attachEventHandlerCallback.EventHandler.eventexit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_4eventexit(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_4eventexit(PyObject *__pyx_self, PyObject *__pyx_v_self) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *__pyx_cur_scope;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *__pyx_outer_scope;
  PyObject *__pyx_v_event = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  PyObject *(*__pyx_t_3)(PyObject *);
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("eventexit", 0);
  __pyx_outer_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;

  /* "src/pyscipopt/scip.pxi":2882
 * 
 *             def eventexit(self):
 *                 for event in events:             # <<<<<<<<<<<<<<
 *                     self.model.dropEvent(event, self)
 * 
*/
  if (unlikely(!__pyx_cur_scope->__pyx_v_events)) { __Pyx_RaiseClosureNameError("events"); __PYX_ERR(2, 2882, __pyx_L1_error) }
  if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_events)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_events)) {
    __pyx_t_1 = __pyx_cur_scope->__pyx_v_events; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_2 = 0;
    __pyx_t_3 = NULL;
  } else {
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_events); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2882, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2882, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_3)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2882, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_2, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_2;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 2882, __pyx_L1_error)
          #endif
          if (__pyx_t_2 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
        #endif
        ++__pyx_t_2;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2882, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 2882, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_event, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":2883
 *             def eventexit(self):
 *                 for event in events:
 *                     self.model.dropEvent(event, self)             # <<<<<<<<<<<<<<
 * 
 *             def eventexec(self, event):
*/
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_model); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 2883, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = __pyx_t_6;
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_event, __pyx_v_self};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_dropEvent, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2883, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":2882
 * 
 *             def eventexit(self):
 *                 for event in events:             # <<<<<<<<<<<<<<
 *                     self.model.dropEvent(event, self)
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2881
 *                     self.model.catchEvent(event, self)
 * 
 *             def eventexit(self):             # <<<<<<<<<<<<<<
 *                 for event in events:
 *                     self.model.dropEvent(event, self)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.attachEventHandlerCallback.EventHandler.eventexit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_event);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2885
 *                     self.model.dropEvent(event, self)
 * 
 *             def eventexec(self, event):             # <<<<<<<<<<<<<<
 *                 self.callback(model, event)
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_7eventexec(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_7eventexec = {"eventexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_7eventexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_7eventexec(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  PyObject *__pyx_v_event = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("eventexec (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,&__pyx_mstate_global->__pyx_n_u_event,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 2885, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 2885, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2885, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "eventexec", 0) < (0)) __PYX_ERR(2, 2885, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("eventexec", 1, 2, 2, i); __PYX_ERR(2, 2885, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 2885, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 2885, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
    __pyx_v_event = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("eventexec", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 2885, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.attachEventHandlerCallback.EventHandler.eventexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_6eventexec(__pyx_self, __pyx_v_self, __pyx_v_event);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_6eventexec(PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_event) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *__pyx_cur_scope;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *__pyx_outer_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("eventexec", 0);
  __pyx_outer_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *) __Pyx_CyFunction_GetClosure(__pyx_self);
  __pyx_cur_scope = __pyx_outer_scope;

  /* "src/pyscipopt/scip.pxi":2886
 * 
 *             def eventexec(self, event):
 *                 self.callback(model, event)             # <<<<<<<<<<<<<<
 * 
 *         event_handler = EventHandler(callback)
*/
  __pyx_t_2 = __pyx_v_self;
  __Pyx_INCREF(__pyx_t_2);
  if (unlikely(!__pyx_cur_scope->__pyx_v_model)) { __Pyx_RaiseClosureNameError("model"); __PYX_ERR(2, 2886, __pyx_L1_error) }
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, ((PyObject *)__pyx_cur_scope->__pyx_v_model), __pyx_v_event};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_callback, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2885
 *                     self.model.dropEvent(event, self)
 * 
 *             def eventexec(self, event):             # <<<<<<<<<<<<<<
 *                 self.callback(model, event)
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.attachEventHandlerCallback.EventHandler.eventexec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2846
 *                 PY_SCIP_CALL(SCIPcopy(sourceModel._scip, self._scip, NULL, NULL, n, globalcopy, enablepricing, threadsafe, True, self._valid))
 * 
 *     def attachEventHandlerCallback(self,             # <<<<<<<<<<<<<<
 *         callback,
 *         events,
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_2attachEventHandlerCallback(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_callback, PyObject *__pyx_v_events, PyObject *__pyx_v_name, PyObject *__pyx_v_description) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *__pyx_cur_scope;
  PyObject *__pyx_v_event_handler = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("attachEventHandlerCallback", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(2, 2846, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_v_events = __pyx_v_events;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_v_events);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_events);
  __Pyx_INCREF(__pyx_v_name);

  /* "src/pyscipopt/scip.pxi":2869
 *         """
 * 
 *         self._generated_event_handlers_count += 1             # <<<<<<<<<<<<<<
 *         model = self
 * 
*/
  __pyx_v_self->_generated_event_handlers_count = (__pyx_v_self->_generated_event_handlers_count + 1);

  /* "src/pyscipopt/scip.pxi":2870
 * 
 *         self._generated_event_handlers_count += 1
 *         model = self             # <<<<<<<<<<<<<<
 * 
 *         class EventHandler(Eventhdlr):
*/
  __Pyx_INCREF((PyObject *)__pyx_v_self);
  __Pyx_GIVEREF((PyObject *)__pyx_v_self);
  __pyx_cur_scope->__pyx_v_model = __pyx_v_self;

  /* "src/pyscipopt/scip.pxi":2872
 *         model = self
 * 
 *         class EventHandler(Eventhdlr):             # <<<<<<<<<<<<<<
 *             def __init__(self, callback):
 *                 super(EventHandler, self).__init__()
*/
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr);
  __Pyx_GIVEREF((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr)) != (0)) __PYX_ERR(2, 2872, __pyx_L1_error);
  __pyx_t_2 = __Pyx_PEP560_update_bases(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_3, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_EventHandler, __pyx_mstate_global->__pyx_n_u_attachEventHandlerCallback_local, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, (PyObject *) NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_2 != __pyx_t_1) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_1) < 0))) __PYX_ERR(2, 2872, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2873
 * 
 *         class EventHandler(Eventhdlr):
 *             def __init__(self, callback):             # <<<<<<<<<<<<<<
 *                 super(EventHandler, self).__init__()
 *                 self.callback = callback
*/
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_1__init__, 0, __pyx_mstate_global->__pyx_n_u_attachEventHandlerCallback_local_2, ((PyObject*)__pyx_cur_scope), __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[15])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_init, __pyx_t_1) < (0)) __PYX_ERR(2, 2873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2877
 *                 self.callback = callback
 * 
 *             def eventinit(self):             # <<<<<<<<<<<<<<
 *                 for event in events:
 *                     self.model.catchEvent(event, self)
*/
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_3eventinit, 0, __pyx_mstate_global->__pyx_n_u_attachEventHandlerCallback_local_3, ((PyObject*)__pyx_cur_scope), __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[16])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_eventinit, __pyx_t_1) < (0)) __PYX_ERR(2, 2877, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2881
 *                     self.model.catchEvent(event, self)
 * 
 *             def eventexit(self):             # <<<<<<<<<<<<<<
 *                 for event in events:
 *                     self.model.dropEvent(event, self)
*/
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_5eventexit, 0, __pyx_mstate_global->__pyx_n_u_attachEventHandlerCallback_local_4, ((PyObject*)__pyx_cur_scope), __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[17])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_eventexit, __pyx_t_1) < (0)) __PYX_ERR(2, 2881, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2885
 *                     self.model.dropEvent(event, self)
 * 
 *             def eventexec(self, event):             # <<<<<<<<<<<<<<
 *                 self.callback(model, event)
 * 
*/
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_26attachEventHandlerCallback_12EventHandler_7eventexec, 0, __pyx_mstate_global->__pyx_n_u_attachEventHandlerCallback_local_5, ((PyObject*)__pyx_cur_scope), __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[18])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_eventexec, __pyx_t_1) < (0)) __PYX_ERR(2, 2885, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2872
 *         model = self
 * 
 *         class EventHandler(Eventhdlr):             # <<<<<<<<<<<<<<
 *             def __init__(self, callback):
 *                 super(EventHandler, self).__init__()
*/
  __pyx_t_1 = __Pyx_Py3ClassCreate(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_EventHandler, __pyx_t_2, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_cur_scope->__pyx_v_EventHandler = __pyx_t_1;
  __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":2888
 *                 self.callback(model, event)
 * 
 *         event_handler = EventHandler(callback)             # <<<<<<<<<<<<<<
 * 
 *         if name == "eventhandler":
*/
  __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_cur_scope->__pyx_v_EventHandler, __pyx_v_callback); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_event_handler = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":2890
 *         event_handler = EventHandler(callback)
 * 
 *         if name == "eventhandler":             # <<<<<<<<<<<<<<
 *             name = f"eventhandler_{self._generated_event_handlers_count}"
 * 
*/
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_n_u_eventhandler, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 2890, __pyx_L1_error)
  if (__pyx_t_5) {

    /* "src/pyscipopt/scip.pxi":2891
 * 
 *         if name == "eventhandler":
 *             name = f"eventhandler_{self._generated_event_handlers_count}"             # <<<<<<<<<<<<<<
 * 
 *         self.includeEventhdlr(event_handler, name, description)
*/
    __pyx_t_2 = __Pyx_PyUnicode_From_int(__pyx_v_self->_generated_event_handlers_count, 0, ' ', 'd'); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_n_u_eventhandler_2, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2891, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":2890
 *         event_handler = EventHandler(callback)
 * 
 *         if name == "eventhandler":             # <<<<<<<<<<<<<<
 *             name = f"eventhandler_{self._generated_event_handlers_count}"
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":2893
 *             name = f"eventhandler_{self._generated_event_handlers_count}"
 * 
 *         self.includeEventhdlr(event_handler, name, description)             # <<<<<<<<<<<<<<
 * 
 *     def __dealloc__(self):
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_2, __pyx_v_event_handler, __pyx_v_name, __pyx_v_description};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_includeEventhdlr, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2893, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":2846
 *                 PY_SCIP_CALL(SCIPcopy(sourceModel._scip, self._scip, NULL, NULL, n, globalcopy, enablepricing, threadsafe, True, self._valid))
 * 
 *     def attachEventHandlerCallback(self,             # <<<<<<<<<<<<<<
 *         callback,
 *         events,
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.attachEventHandlerCallback", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_event_handler);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2895
 *         self.includeEventhdlr(event_handler, name, description)
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         # Declare all C variables at the beginning for Cython compatibility
 *         cdef SCIP_BENDERS** benders
*/

/* Python wrapper */
static void __pyx_pw_9pyscipopt_4scip_5Model_5__dealloc__(PyObject *__pyx_v_self); /*proto*/
static void __pyx_pw_9pyscipopt_4scip_5Model_5__dealloc__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_pf_9pyscipopt_4scip_5Model_4__dealloc__(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
}

static void __pyx_pf_9pyscipopt_4scip_5Model_4__dealloc__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_BENDERS **__pyx_v_benders;
  int __pyx_v_nbenders;
  int __pyx_v_nsubproblems;
  int __pyx_v_i;
  int __pyx_v_j;
  PyObject *__pyx_v_var = NULL;
  PyObject *__pyx_v_cons = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  size_t __pyx_t_13;
  Py_ssize_t __pyx_t_14;
  Py_ssize_t __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__dealloc__", 0);

  /* "src/pyscipopt/scip.pxi":2904
 *         # call C function directly, because we can no longer call this object's methods, according to
 *         # http://docs.cython.org/src/reference/extension_types.html#finalization-dealloc
 *         if self._scip is not NULL and self._freescip and PY_SCIP_CALL:             # <<<<<<<<<<<<<<
 *             # Free Benders subproblems before freeing the main SCIP instance
 *             if self._benders_subproblems:
*/
  __pyx_t_2 = (__pyx_v_self->_scip != NULL);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_self->_freescip != 0);
  if (__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 2904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":2906
 *         if self._scip is not NULL and self._freescip and PY_SCIP_CALL:
 *             # Free Benders subproblems before freeing the main SCIP instance
 *             if self._benders_subproblems:             # <<<<<<<<<<<<<<
 *                 benders = SCIPgetBenders(self._scip)
 *                 nbenders = SCIPgetNActiveBenders(self._scip)
*/
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->_benders_subproblems); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 2906, __pyx_L1_error)
    if (__pyx_t_1) {

      /* "src/pyscipopt/scip.pxi":2907
 *             # Free Benders subproblems before freeing the main SCIP instance
 *             if self._benders_subproblems:
 *                 benders = SCIPgetBenders(self._scip)             # <<<<<<<<<<<<<<
 *                 nbenders = SCIPgetNActiveBenders(self._scip)
 * 
*/
      __pyx_v_benders = SCIPgetBenders(__pyx_v_self->_scip);

      /* "src/pyscipopt/scip.pxi":2908
 *             if self._benders_subproblems:
 *                 benders = SCIPgetBenders(self._scip)
 *                 nbenders = SCIPgetNActiveBenders(self._scip)             # <<<<<<<<<<<<<<
 * 
 *                 for i in range(nbenders):
*/
      __pyx_v_nbenders = SCIPgetNActiveBenders(__pyx_v_self->_scip);

      /* "src/pyscipopt/scip.pxi":2910
 *                 nbenders = SCIPgetNActiveBenders(self._scip)
 * 
 *                 for i in range(nbenders):             # <<<<<<<<<<<<<<
 *                     nsubproblems = SCIPbendersGetNSubproblems(benders[i])
 *                     for j in range(nsubproblems):
*/
      __pyx_t_4 = __pyx_v_nbenders;
      __pyx_t_5 = __pyx_t_4;
      for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
        __pyx_v_i = __pyx_t_6;

        /* "src/pyscipopt/scip.pxi":2911
 * 
 *                 for i in range(nbenders):
 *                     nsubproblems = SCIPbendersGetNSubproblems(benders[i])             # <<<<<<<<<<<<<<
 *                     for j in range(nsubproblems):
 *                         PY_SCIP_CALL(SCIPfreeBendersSubproblem(self._scip, benders[i], j))
*/
        __pyx_v_nsubproblems = SCIPbendersGetNSubproblems((__pyx_v_benders[__pyx_v_i]));

        /* "src/pyscipopt/scip.pxi":2912
 *                 for i in range(nbenders):
 *                     nsubproblems = SCIPbendersGetNSubproblems(benders[i])
 *                     for j in range(nsubproblems):             # <<<<<<<<<<<<<<
 *                         PY_SCIP_CALL(SCIPfreeBendersSubproblem(self._scip, benders[i], j))
 * 
*/
        __pyx_t_7 = __pyx_v_nsubproblems;
        __pyx_t_8 = __pyx_t_7;
        for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
          __pyx_v_j = __pyx_t_9;

          /* "src/pyscipopt/scip.pxi":2913
 *                     nsubproblems = SCIPbendersGetNSubproblems(benders[i])
 *                     for j in range(nsubproblems):
 *                         PY_SCIP_CALL(SCIPfreeBendersSubproblem(self._scip, benders[i], j))             # <<<<<<<<<<<<<<
 * 
 *                 # Clear the references to allow Python GC to clean up the Model objects
*/
          __pyx_t_10 = NULL;
          __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2913, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_11);
          __pyx_t_12 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPfreeBendersSubproblem(__pyx_v_self->_scip, (__pyx_v_benders[__pyx_v_i]), __pyx_v_j)); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 2913, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_13 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_11))) {
            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
            assert(__pyx_t_10);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
            __Pyx_INCREF(__pyx_t_10);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
            __pyx_t_13 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_12};
            __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
            __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
            if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2913, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
      }

      /* "src/pyscipopt/scip.pxi":2916
 * 
 *                 # Clear the references to allow Python GC to clean up the Model objects
 *                 self._benders_subproblems = []             # <<<<<<<<<<<<<<
 * 
 *             # Invalidate all variable and constraint pointers before freeing SCIP. See issue #604.
*/
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2916, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF(__pyx_v_self->_benders_subproblems);
      __Pyx_DECREF(__pyx_v_self->_benders_subproblems);
      __pyx_v_self->_benders_subproblems = __pyx_t_3;
      __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":2906
 *         if self._scip is not NULL and self._freescip and PY_SCIP_CALL:
 *             # Free Benders subproblems before freeing the main SCIP instance
 *             if self._benders_subproblems:             # <<<<<<<<<<<<<<
 *                 benders = SCIPgetBenders(self._scip)
 *                 nbenders = SCIPgetNActiveBenders(self._scip)
*/
    }

    /* "src/pyscipopt/scip.pxi":2919
 * 
 *             # Invalidate all variable and constraint pointers before freeing SCIP. See issue #604.
 *             if self._modelvars:             # <<<<<<<<<<<<<<
 *                 for var in self._modelvars.values():
 *                     (<Variable>var).scip_var = NULL
*/
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->_modelvars); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 2919, __pyx_L1_error)
    if (__pyx_t_1) {

      /* "src/pyscipopt/scip.pxi":2920
 *             # Invalidate all variable and constraint pointers before freeing SCIP. See issue #604.
 *             if self._modelvars:
 *                 for var in self._modelvars.values():             # <<<<<<<<<<<<<<
 *                     (<Variable>var).scip_var = NULL
 *                 self._modelvars = {}
*/
      __pyx_t_14 = 0;
      if (unlikely(__pyx_v_self->_modelvars == Py_None)) {
        PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
        __PYX_ERR(2, 2920, __pyx_L1_error)
      }
      __pyx_t_11 = __Pyx_dict_iterator(__pyx_v_self->_modelvars, 0, __pyx_mstate_global->__pyx_n_u_values, (&__pyx_t_15), (&__pyx_t_4)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2920, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_XDECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_11;
      __pyx_t_11 = 0;
      while (1) {
        __pyx_t_5 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_15, &__pyx_t_14, NULL, &__pyx_t_11, NULL, __pyx_t_4);
        if (unlikely(__pyx_t_5 == 0)) break;
        if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(2, 2920, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_XDECREF_SET(__pyx_v_var, __pyx_t_11);
        __pyx_t_11 = 0;

        /* "src/pyscipopt/scip.pxi":2921
 *             if self._modelvars:
 *                 for var in self._modelvars.values():
 *                     (<Variable>var).scip_var = NULL             # <<<<<<<<<<<<<<
 *                 self._modelvars = {}
 *             if self._modelconss:
*/
        ((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_var)->scip_var = NULL;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":2922
 *                 for var in self._modelvars.values():
 *                     (<Variable>var).scip_var = NULL
 *                 self._modelvars = {}             # <<<<<<<<<<<<<<
 *             if self._modelconss:
 *                 for cons in self._modelconss.values():
*/
      __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2922, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF(__pyx_v_self->_modelvars);
      __Pyx_DECREF(__pyx_v_self->_modelvars);
      __pyx_v_self->_modelvars = __pyx_t_3;
      __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":2919
 * 
 *             # Invalidate all variable and constraint pointers before freeing SCIP. See issue #604.
 *             if self._modelvars:             # <<<<<<<<<<<<<<
 *                 for var in self._modelvars.values():
 *                     (<Variable>var).scip_var = NULL
*/
    }

    /* "src/pyscipopt/scip.pxi":2923
 *                     (<Variable>var).scip_var = NULL
 *                 self._modelvars = {}
 *             if self._modelconss:             # <<<<<<<<<<<<<<
 *                 for cons in self._modelconss.values():
 *                     (<Constraint>cons).scip_cons = NULL
*/
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->_modelconss); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 2923, __pyx_L1_error)
    if (__pyx_t_1) {

      /* "src/pyscipopt/scip.pxi":2924
 *                 self._modelvars = {}
 *             if self._modelconss:
 *                 for cons in self._modelconss.values():             # <<<<<<<<<<<<<<
 *                     (<Constraint>cons).scip_cons = NULL
 *                 self._modelconss = {}
*/
      __pyx_t_15 = 0;
      if (unlikely(__pyx_v_self->_modelconss == Py_None)) {
        PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
        __PYX_ERR(2, 2924, __pyx_L1_error)
      }
      __pyx_t_11 = __Pyx_dict_iterator(__pyx_v_self->_modelconss, 0, __pyx_mstate_global->__pyx_n_u_values, (&__pyx_t_14), (&__pyx_t_4)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2924, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_XDECREF(__pyx_t_3);
      __pyx_t_3 = __pyx_t_11;
      __pyx_t_11 = 0;
      while (1) {
        __pyx_t_5 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_14, &__pyx_t_15, NULL, &__pyx_t_11, NULL, __pyx_t_4);
        if (unlikely(__pyx_t_5 == 0)) break;
        if (unlikely(__pyx_t_5 == -1)) __PYX_ERR(2, 2924, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_XDECREF_SET(__pyx_v_cons, __pyx_t_11);
        __pyx_t_11 = 0;

        /* "src/pyscipopt/scip.pxi":2925
 *             if self._modelconss:
 *                 for cons in self._modelconss.values():
 *                     (<Constraint>cons).scip_cons = NULL             # <<<<<<<<<<<<<<
 *                 self._modelconss = {}
 * 
*/
        ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_cons)->scip_cons = NULL;
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":2926
 *                 for cons in self._modelconss.values():
 *                     (<Constraint>cons).scip_cons = NULL
 *                 self._modelconss = {}             # <<<<<<<<<<<<<<
 * 
 *             PY_SCIP_CALL( SCIPfree(&self._scip) )
*/
      __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2926, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_GIVEREF(__pyx_t_3);
      __Pyx_GOTREF(__pyx_v_self->_modelconss);
      __Pyx_DECREF(__pyx_v_self->_modelconss);
      __pyx_v_self->_modelconss = __pyx_t_3;
      __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":2923
 *                     (<Variable>var).scip_var = NULL
 *                 self._modelvars = {}
 *             if self._modelconss:             # <<<<<<<<<<<<<<
 *                 for cons in self._modelconss.values():
 *                     (<Constraint>cons).scip_cons = NULL
*/
    }

    /* "src/pyscipopt/scip.pxi":2928
 *                 self._modelconss = {}
 * 
 *             PY_SCIP_CALL( SCIPfree(&self._scip) )             # <<<<<<<<<<<<<<
 * 
 *     def __hash__(self):
*/
    __pyx_t_11 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 2928, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_10 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPfree((&__pyx_v_self->_scip))); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2928, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_13 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_12))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_12);
      assert(__pyx_t_11);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_12);
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_12, __pyx__function);
      __pyx_t_13 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_10};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_12, __pyx_callargs+__pyx_t_13, (2-__pyx_t_13) | (__pyx_t_13*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2928, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":2904
 *         # call C function directly, because we can no longer call this object's methods, according to
 *         # http://docs.cython.org/src/reference/extension_types.html#finalization-dealloc
 *         if self._scip is not NULL and self._freescip and PY_SCIP_CALL:             # <<<<<<<<<<<<<<
 *             # Free Benders subproblems before freeing the main SCIP instance
 *             if self._benders_subproblems:
*/
  }

  /* "src/pyscipopt/scip.pxi":2895
 *         self.includeEventhdlr(event_handler, name, description)
 * 
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
 *         # Declare all C variables at the beginning for Cython compatibility
 *         cdef SCIP_BENDERS** benders
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_WriteUnraisable("pyscipopt.scip.Model.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_var);
  __Pyx_XDECREF(__pyx_v_cons);
  __Pyx_RefNannyFinishContext();
}

/* "src/pyscipopt/scip.pxi":2930
 *             PY_SCIP_CALL( SCIPfree(&self._scip) )
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self._scip)
 * 
*/

/* Python wrapper */
static Py_hash_t __pyx_pw_9pyscipopt_4scip_5Model_7__hash__(PyObject *__pyx_v_self); /*proto*/
static Py_hash_t __pyx_pw_9pyscipopt_4scip_5Model_7__hash__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_6__hash__(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static Py_hash_t __pyx_pf_9pyscipopt_4scip_5Model_6__hash__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  Py_hash_t __pyx_r;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_hash_t __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__hash__", 0);

  /* "src/pyscipopt/scip.pxi":2931
 * 
 *     def __hash__(self):
 *         return hash(<size_t>self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def __eq__(self, other):
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(((size_t)__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == ((Py_hash_t)-1))) __PYX_ERR(2, 2931, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2930
 *             PY_SCIP_CALL( SCIPfree(&self._scip) )
 * 
 *     def __hash__(self):             # <<<<<<<<<<<<<<
 *         return hash(<size_t>self._scip)
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2933
 *         return hash(<size_t>self._scip)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self._scip == (<Model>other)._scip)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_9__eq__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__eq__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_8__eq__(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), ((PyObject *)__pyx_v_other));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_8__eq__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_other) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__eq__", 0);

  /* "src/pyscipopt/scip.pxi":2934
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self._scip == (<Model>other)._scip)
 * 
*/
  __Pyx_XDECREF(__pyx_r);

  /* "src/pyscipopt/scip.pxi":2935
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self._scip == (<Model>other)._scip)             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);

  /* "src/pyscipopt/scip.pxi":2934
 * 
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__             # <<<<<<<<<<<<<<
 *                 and self._scip == (<Model>other)._scip)
 * 
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 2934, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2934, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 2934, __pyx_L1_error)
  if (__pyx_t_5) {
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  } else {
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_1 = __pyx_t_4;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L3_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":2935
 *     def __eq__(self, other):
 *         return (self.__class__ == other.__class__
 *                 and self._scip == (<Model>other)._scip)             # <<<<<<<<<<<<<<
 * 
 *     @staticmethod
*/
  __pyx_t_5 = (__pyx_v_self->_scip == ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_other)->_scip);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __pyx_t_4;
  __pyx_t_4 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2933
 *         return hash(<size_t>self._scip)
 * 
 *     def __eq__(self, other):             # <<<<<<<<<<<<<<
 *         return (self.__class__ == other.__class__
 *                 and self._scip == (<Model>other)._scip)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.__eq__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2937
 *                 and self._scip == (<Model>other)._scip)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP* scip):
 *         """
*/

static PyObject *__pyx_f_9pyscipopt_4scip_5Model_create(SCIP *__pyx_v_scip) {
  struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_model = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("create", 0);

  /* "src/pyscipopt/scip.pxi":2952
 * 
 *         """
 *         if scip == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Model with SCIP* == NULL")
 *         model = Model(createscip=False)
*/
  __pyx_t_1 = (__pyx_v_scip == NULL);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":2953
 *         """
 *         if scip == NULL:
 *             raise Warning("cannot create Model with SCIP* == NULL")             # <<<<<<<<<<<<<<
 *         model = Model(createscip=False)
 *         model._scip = scip
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cannot_create_Model_with_SCIP_NU};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2953, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 2953, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":2952
 * 
 *         """
 *         if scip == NULL:             # <<<<<<<<<<<<<<
 *             raise Warning("cannot create Model with SCIP* == NULL")
 *         model = Model(createscip=False)
*/
  }

  /* "src/pyscipopt/scip.pxi":2954
 *         if scip == NULL:
 *             raise Warning("cannot create Model with SCIP* == NULL")
 *         model = Model(createscip=False)             # <<<<<<<<<<<<<<
 *         model._scip = scip
 *         model._bestSol = Solution.create(scip, SCIPgetBestSol(scip))
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 2954, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_createscip, Py_False, __pyx_t_5, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 2954, __pyx_L1_error)
    __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2954, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":2955
 *             raise Warning("cannot create Model with SCIP* == NULL")
 *         model = Model(createscip=False)
 *         model._scip = scip             # <<<<<<<<<<<<<<
 *         model._bestSol = Solution.create(scip, SCIPgetBestSol(scip))
 *         model._benders_subproblems = []  # Initialize Benders subproblems list
*/
  __pyx_v_model->_scip = __pyx_v_scip;

  /* "src/pyscipopt/scip.pxi":2956
 *         model = Model(createscip=False)
 *         model._scip = scip
 *         model._bestSol = Solution.create(scip, SCIPgetBestSol(scip))             # <<<<<<<<<<<<<<
 *         model._benders_subproblems = []  # Initialize Benders subproblems list
 *         return model
*/
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_scip, SCIPgetBestSol(__pyx_v_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution))))) __PYX_ERR(2, 2956, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_model->_bestSol);
  __Pyx_DECREF((PyObject *)__pyx_v_model->_bestSol);
  __pyx_v_model->_bestSol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":2957
 *         model._scip = scip
 *         model._bestSol = Solution.create(scip, SCIPgetBestSol(scip))
 *         model._benders_subproblems = []  # Initialize Benders subproblems list             # <<<<<<<<<<<<<<
 *         return model
 * 
*/
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 2957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_model->_benders_subproblems);
  __Pyx_DECREF(__pyx_v_model->_benders_subproblems);
  __pyx_v_model->_benders_subproblems = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":2958
 *         model._bestSol = Solution.create(scip, SCIPgetBestSol(scip))
 *         model._benders_subproblems = []  # Initialize Benders subproblems list
 *         return model             # <<<<<<<<<<<<<<
 * 
 *     cdef _getOrCreateCons(self, SCIP_CONS* scip_cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_model);
  __pyx_r = ((PyObject *)__pyx_v_model);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2937
 *                 and self._scip == (<Model>other)._scip)
 * 
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     cdef create(SCIP* scip):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_model);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2960
 *         return model
 * 
 *     cdef _getOrCreateCons(self, SCIP_CONS* scip_cons):             # <<<<<<<<<<<<<<
 *         """Get existing Constraint wrapper or create and track a new one."""
 *         cdef size_t ptr = <size_t>scip_cons
*/

static PyObject *__pyx_f_9pyscipopt_4scip_5Model__getOrCreateCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, SCIP_CONS *__pyx_v_scip_cons) {
  size_t __pyx_v_ptr;
  PyObject *__pyx_v_pyCons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_getOrCreateCons", 0);

  /* "src/pyscipopt/scip.pxi":2962
 *     cdef _getOrCreateCons(self, SCIP_CONS* scip_cons):
 *         """Get existing Constraint wrapper or create and track a new one."""
 *         cdef size_t ptr = <size_t>scip_cons             # <<<<<<<<<<<<<<
 *         if ptr in self._modelconss:
 *             return self._modelconss[ptr]
*/
  __pyx_v_ptr = ((size_t)__pyx_v_scip_cons);

  /* "src/pyscipopt/scip.pxi":2963
 *         """Get existing Constraint wrapper or create and track a new one."""
 *         cdef size_t ptr = <size_t>scip_cons
 *         if ptr in self._modelconss:             # <<<<<<<<<<<<<<
 *             return self._modelconss[ptr]
 *         pyCons = Constraint.create(scip_cons)
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(__pyx_v_ptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2963, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_v_self->_modelconss, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 2963, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":2964
 *         cdef size_t ptr = <size_t>scip_cons
 *         if ptr in self._modelconss:
 *             return self._modelconss[ptr]             # <<<<<<<<<<<<<<
 *         pyCons = Constraint.create(scip_cons)
 *         self._modelconss[ptr] = pyCons
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_self->_modelconss, __pyx_v_ptr, size_t, 0, __Pyx_PyLong_FromSize_t, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":2963
 *         """Get existing Constraint wrapper or create and track a new one."""
 *         cdef size_t ptr = <size_t>scip_cons
 *         if ptr in self._modelconss:             # <<<<<<<<<<<<<<
 *             return self._modelconss[ptr]
 *         pyCons = Constraint.create(scip_cons)
*/
  }

  /* "src/pyscipopt/scip.pxi":2965
 *         if ptr in self._modelconss:
 *             return self._modelconss[ptr]
 *         pyCons = Constraint.create(scip_cons)             # <<<<<<<<<<<<<<
 *         self._modelconss[ptr] = pyCons
 *         return pyCons
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_10Constraint_create(__pyx_v_scip_cons); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pyCons = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2966
 *             return self._modelconss[ptr]
 *         pyCons = Constraint.create(scip_cons)
 *         self._modelconss[ptr] = pyCons             # <<<<<<<<<<<<<<
 *         return pyCons
 * 
*/
  if (unlikely((__Pyx_SetItemInt(__pyx_v_self->_modelconss, __pyx_v_ptr, __pyx_v_pyCons, size_t, 0, __Pyx_PyLong_FromSize_t, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference) < 0))) __PYX_ERR(2, 2966, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":2967
 *         pyCons = Constraint.create(scip_cons)
 *         self._modelconss[ptr] = pyCons
 *         return pyCons             # <<<<<<<<<<<<<<
 * 
 *     cdef _getOrCreateVar(self, SCIP_VAR* scip_var):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pyCons);
  __pyx_r = __pyx_v_pyCons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2960
 *         return model
 * 
 *     cdef _getOrCreateCons(self, SCIP_CONS* scip_cons):             # <<<<<<<<<<<<<<
 *         """Get existing Constraint wrapper or create and track a new one."""
 *         cdef size_t ptr = <size_t>scip_cons
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model._getOrCreateCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pyCons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2969
 *         return pyCons
 * 
 *     cdef _getOrCreateVar(self, SCIP_VAR* scip_var):             # <<<<<<<<<<<<<<
 *         """Get existing Variable wrapper or create and track a new one."""
 *         cdef size_t ptr = <size_t>scip_var
*/

static PyObject *__pyx_f_9pyscipopt_4scip_5Model__getOrCreateVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, SCIP_VAR *__pyx_v_scip_var) {
  size_t __pyx_v_ptr;
  PyObject *__pyx_v_pyVar = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_getOrCreateVar", 0);

  /* "src/pyscipopt/scip.pxi":2971
 *     cdef _getOrCreateVar(self, SCIP_VAR* scip_var):
 *         """Get existing Variable wrapper or create and track a new one."""
 *         cdef size_t ptr = <size_t>scip_var             # <<<<<<<<<<<<<<
 *         if ptr in self._modelvars:
 *             return self._modelvars[ptr]
*/
  __pyx_v_ptr = ((size_t)__pyx_v_scip_var);

  /* "src/pyscipopt/scip.pxi":2972
 *         """Get existing Variable wrapper or create and track a new one."""
 *         cdef size_t ptr = <size_t>scip_var
 *         if ptr in self._modelvars:             # <<<<<<<<<<<<<<
 *             return self._modelvars[ptr]
 *         pyVar = Variable.create(scip_var)
*/
  __pyx_t_1 = __Pyx_PyLong_FromSize_t(__pyx_v_ptr); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_v_self->_modelvars, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 2972, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":2973
 *         cdef size_t ptr = <size_t>scip_var
 *         if ptr in self._modelvars:
 *             return self._modelvars[ptr]             # <<<<<<<<<<<<<<
 *         pyVar = Variable.create(scip_var)
 *         self._modelvars[ptr] = pyVar
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_self->_modelvars, __pyx_v_ptr, size_t, 0, __Pyx_PyLong_FromSize_t, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2973, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":2972
 *         """Get existing Variable wrapper or create and track a new one."""
 *         cdef size_t ptr = <size_t>scip_var
 *         if ptr in self._modelvars:             # <<<<<<<<<<<<<<
 *             return self._modelvars[ptr]
 *         pyVar = Variable.create(scip_var)
*/
  }

  /* "src/pyscipopt/scip.pxi":2974
 *         if ptr in self._modelvars:
 *             return self._modelvars[ptr]
 *         pyVar = Variable.create(scip_var)             # <<<<<<<<<<<<<<
 *         self._modelvars[ptr] = pyVar
 *         return pyVar
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Variable_create(__pyx_v_scip_var); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_pyVar = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":2975
 *             return self._modelvars[ptr]
 *         pyVar = Variable.create(scip_var)
 *         self._modelvars[ptr] = pyVar             # <<<<<<<<<<<<<<
 *         return pyVar
 * 
*/
  if (unlikely((__Pyx_SetItemInt(__pyx_v_self->_modelvars, __pyx_v_ptr, __pyx_v_pyVar, size_t, 0, __Pyx_PyLong_FromSize_t, 0, 0, 1, 1, __Pyx_ReferenceSharing_SharedReference) < 0))) __PYX_ERR(2, 2975, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":2976
 *         pyVar = Variable.create(scip_var)
 *         self._modelvars[ptr] = pyVar
 *         return pyVar             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pyVar);
  __pyx_r = __pyx_v_pyVar;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2969
 *         return pyCons
 * 
 *     cdef _getOrCreateVar(self, SCIP_VAR* scip_var):             # <<<<<<<<<<<<<<
 *         """Get existing Variable wrapper or create and track a new one."""
 *         cdef size_t ptr = <size_t>scip_var
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model._getOrCreateVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_pyVar);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2978
 *         return pyVar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def _freescip(self):
 *         """
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_9_freescip_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_9_freescip_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_9_freescip___get__(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_9_freescip___get__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__get__", 0);

  /* "src/pyscipopt/scip.pxi":2989
 * 
 *         """
 *         return self._freescip             # <<<<<<<<<<<<<<
 * 
 *     @_freescip.setter
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_self->_freescip); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 2989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":2978
 *         return pyVar
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def _freescip(self):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model._freescip.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":2991
 *         return self._freescip
 * 
 *     @_freescip.setter             # <<<<<<<<<<<<<<
 *     def _freescip(self, val):
 *         """
*/

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_5Model_9_freescip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_5Model_9_freescip_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_9_freescip_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), ((PyObject *)__pyx_v_val));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_5Model_9_freescip_2__set__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val) {
  int __pyx_r;
  SCIP_Bool __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;

  /* "src/pyscipopt/scip.pxi":3002
 * 
 *         """
 *         self._freescip = val             # <<<<<<<<<<<<<<
 * 
 *     @cython.always_allow_keywords(True)
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_val); if (unlikely((__pyx_t_1 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3002, __pyx_L1_error)
  __pyx_v_self->_freescip = __pyx_t_1;

  /* "src/pyscipopt/scip.pxi":2991
 *         return self._freescip
 * 
 *     @_freescip.setter             # <<<<<<<<<<<<<<
 *     def _freescip(self, val):
 *         """
*/

  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Model._freescip.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = -1;
  __pyx_L0:;
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3004
 *         self._freescip = val
 * 
 *     @cython.always_allow_keywords(True)             # <<<<<<<<<<<<<<
 *     @staticmethod
 *     def from_ptr(capsule, take_ownership):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_11from_ptr(CYTHON_UNUSED PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_10from_ptr, "\n        Create a Model from a given pointer.\n\n        Parameters\n        ----------\n        capsule\n            The PyCapsule containing the SCIP pointer under the name \"scip\"\n        take_ownership : bool\n            Whether the newly created Model assumes ownership of the\n            underlying Scip pointer (see ``_freescip``)\n\n        Returns\n        -------\n        Model\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_11from_ptr = {"from_ptr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_11from_ptr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_10from_ptr};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_11from_ptr(CYTHON_UNUSED PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_capsule = 0;
  PyObject *__pyx_v_take_ownership = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("from_ptr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_capsule,&__pyx_mstate_global->__pyx_n_u_take_ownership,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3004, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3004, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3004, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "from_ptr", 0) < (0)) __PYX_ERR(2, 3004, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("from_ptr", 1, 2, 2, i); __PYX_ERR(2, 3004, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3004, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3004, __pyx_L3_error)
    }
    __pyx_v_capsule = values[0];
    __pyx_v_take_ownership = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("from_ptr", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 3004, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.from_ptr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_10from_ptr(__pyx_v_capsule, __pyx_v_take_ownership);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_10from_ptr(PyObject *__pyx_v_capsule, PyObject *__pyx_v_take_ownership) {
  PyObject *__pyx_v_model = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  void *__pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("from_ptr", 0);

  /* "src/pyscipopt/scip.pxi":3023
 * 
 *         """
 *         if not PyCapsule_IsValid(capsule, "scip"):             # <<<<<<<<<<<<<<
 *             raise ValueError("The given capsule does not contain a valid scip pointer")
 *         model = Model.create(<SCIP*>PyCapsule_GetPointer(capsule, "scip"))
*/
  __pyx_t_1 = (!PyCapsule_IsValid(__pyx_v_capsule, __pyx_k_scip));
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":3024
 *         """
 *         if not PyCapsule_IsValid(capsule, "scip"):
 *             raise ValueError("The given capsule does not contain a valid scip pointer")             # <<<<<<<<<<<<<<
 *         model = Model.create(<SCIP*>PyCapsule_GetPointer(capsule, "scip"))
 *         model._freescip = take_ownership
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_The_given_capsule_does_not_conta};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3024, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 3024, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":3023
 * 
 *         """
 *         if not PyCapsule_IsValid(capsule, "scip"):             # <<<<<<<<<<<<<<
 *             raise ValueError("The given capsule does not contain a valid scip pointer")
 *         model = Model.create(<SCIP*>PyCapsule_GetPointer(capsule, "scip"))
*/
  }

  /* "src/pyscipopt/scip.pxi":3025
 *         if not PyCapsule_IsValid(capsule, "scip"):
 *             raise ValueError("The given capsule does not contain a valid scip pointer")
 *         model = Model.create(<SCIP*>PyCapsule_GetPointer(capsule, "scip"))             # <<<<<<<<<<<<<<
 *         model._freescip = take_ownership
 *         return model
*/
  __pyx_t_5 = PyCapsule_GetPointer(__pyx_v_capsule, __pyx_k_scip); if (unlikely(__pyx_t_5 == ((void *)NULL) && PyErr_Occurred())) __PYX_ERR(2, 3025, __pyx_L1_error)
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip_5Model_create(((SCIP *)__pyx_t_5)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_model = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":3026
 *             raise ValueError("The given capsule does not contain a valid scip pointer")
 *         model = Model.create(<SCIP*>PyCapsule_GetPointer(capsule, "scip"))
 *         model._freescip = take_ownership             # <<<<<<<<<<<<<<
 *         return model
 * 
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_model, __pyx_mstate_global->__pyx_n_u_freescip, __pyx_v_take_ownership) < (0)) __PYX_ERR(2, 3026, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":3027
 *         model = Model.create(<SCIP*>PyCapsule_GetPointer(capsule, "scip"))
 *         model._freescip = take_ownership
 *         return model             # <<<<<<<<<<<<<<
 * 
 *     @cython.always_allow_keywords(True)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_model);
  __pyx_r = __pyx_v_model;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3004
 *         self._freescip = val
 * 
 *     @cython.always_allow_keywords(True)             # <<<<<<<<<<<<<<
 *     @staticmethod
 *     def from_ptr(capsule, take_ownership):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.from_ptr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_model);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3029
 *         return model
 * 
 *     @cython.always_allow_keywords(True)             # <<<<<<<<<<<<<<
 *     def to_ptr(self, give_ownership):
 *         """
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_13to_ptr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_12to_ptr, "\n        Return the underlying Scip pointer to the current Model.\n\n        Parameters\n        ----------\n        give_ownership : bool\n            Whether the current Model gives away ownership of the\n            underlying Scip pointer (see ``_freescip``)\n\n        Returns\n        -------\n        capsule\n            The underlying pointer to the current Model, wrapped in a\n            PyCapsule under the name \"scip\".\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_13to_ptr = {"to_ptr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_13to_ptr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_12to_ptr};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_13to_ptr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_give_ownership = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("to_ptr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_give_ownership,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3029, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3029, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "to_ptr", 0) < (0)) __PYX_ERR(2, 3029, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("to_ptr", 1, 1, 1, i); __PYX_ERR(2, 3029, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3029, __pyx_L3_error)
    }
    __pyx_v_give_ownership = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("to_ptr", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3029, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.to_ptr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_12to_ptr(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_give_ownership);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_12to_ptr(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_give_ownership) {
  PyObject *__pyx_v_capsule = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("to_ptr", 0);

  /* "src/pyscipopt/scip.pxi":3047
 * 
 *         """
 *         capsule = PyCapsule_New(<void*>self._scip, "scip", NULL)             # <<<<<<<<<<<<<<
 *         if give_ownership:
 *             self._freescip = False
*/
  __pyx_t_1 = PyCapsule_New(((void *)__pyx_v_self->_scip), __pyx_k_scip, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_capsule = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3048
 *         """
 *         capsule = PyCapsule_New(<void*>self._scip, "scip", NULL)
 *         if give_ownership:             # <<<<<<<<<<<<<<
 *             self._freescip = False
 *         return capsule
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_give_ownership); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 3048, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":3049
 *         capsule = PyCapsule_New(<void*>self._scip, "scip", NULL)
 *         if give_ownership:
 *             self._freescip = False             # <<<<<<<<<<<<<<
 *         return capsule
 * 
*/
    __pyx_v_self->_freescip = 0;

    /* "src/pyscipopt/scip.pxi":3048
 *         """
 *         capsule = PyCapsule_New(<void*>self._scip, "scip", NULL)
 *         if give_ownership:             # <<<<<<<<<<<<<<
 *             self._freescip = False
 *         return capsule
*/
  }

  /* "src/pyscipopt/scip.pxi":3050
 *         if give_ownership:
 *             self._freescip = False
 *         return capsule             # <<<<<<<<<<<<<<
 * 
 *     def includeDefaultPlugins(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_capsule);
  __pyx_r = __pyx_v_capsule;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3029
 *         return model
 * 
 *     @cython.always_allow_keywords(True)             # <<<<<<<<<<<<<<
 *     def to_ptr(self, give_ownership):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.to_ptr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_capsule);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3052
 *         return capsule
 * 
 *     def includeDefaultPlugins(self):             # <<<<<<<<<<<<<<
 *         """Includes all default plug-ins into SCIP."""
 *         PY_SCIP_CALL(SCIPincludeDefaultPlugins(self._scip))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_15includeDefaultPlugins(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_14includeDefaultPlugins, "Includes all default plug-ins into SCIP.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_15includeDefaultPlugins = {"includeDefaultPlugins", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_15includeDefaultPlugins, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_14includeDefaultPlugins};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_15includeDefaultPlugins(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeDefaultPlugins (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("includeDefaultPlugins", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("includeDefaultPlugins", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_14includeDefaultPlugins(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_14includeDefaultPlugins(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeDefaultPlugins", 0);

  /* "src/pyscipopt/scip.pxi":3054
 *     def includeDefaultPlugins(self):
 *         """Includes all default plug-ins into SCIP."""
 *         PY_SCIP_CALL(SCIPincludeDefaultPlugins(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def createProbBasic(self, problemName='model'):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeDefaultPlugins(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 3054, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3052
 *         return capsule
 * 
 *     def includeDefaultPlugins(self):             # <<<<<<<<<<<<<<
 *         """Includes all default plug-ins into SCIP."""
 *         PY_SCIP_CALL(SCIPincludeDefaultPlugins(self._scip))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeDefaultPlugins", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3056
 *         PY_SCIP_CALL(SCIPincludeDefaultPlugins(self._scip))
 * 
 *     def createProbBasic(self, problemName='model'):             # <<<<<<<<<<<<<<
 *         """
 *         Create new problem instance with given name.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_17createProbBasic(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_16createProbBasic, "\n        Create new problem instance with given name.\n\n        Parameters\n        ----------\n        problemName : str, optional\n            name of model or problem (Default value = 'model')\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_17createProbBasic = {"createProbBasic", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_17createProbBasic, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_16createProbBasic};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_17createProbBasic(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_problemName = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("createProbBasic (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_problemName,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3056, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3056, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "createProbBasic", 0) < (0)) __PYX_ERR(2, 3056, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_model));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3056, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_model));
    }
    __pyx_v_problemName = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("createProbBasic", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 3056, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.createProbBasic", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_16createProbBasic(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_problemName);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_16createProbBasic(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_problemName) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char *__pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("createProbBasic", 0);

  /* "src/pyscipopt/scip.pxi":3066
 * 
 *         """
 *         n = str_conversion(problemName)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPcreateProbBasic(self._scip, n))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3066, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_problemName};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3067
 *         """
 *         n = str_conversion(problemName)
 *         PY_SCIP_CALL(SCIPcreateProbBasic(self._scip, n))             # <<<<<<<<<<<<<<
 * 
 *     def freeProb(self):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 3067, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateProbBasic(__pyx_v_self->_scip, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 3067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3056
 *         PY_SCIP_CALL(SCIPincludeDefaultPlugins(self._scip))
 * 
 *     def createProbBasic(self, problemName='model'):             # <<<<<<<<<<<<<<
 *         """
 *         Create new problem instance with given name.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.createProbBasic", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3069
 *         PY_SCIP_CALL(SCIPcreateProbBasic(self._scip, n))
 * 
 *     def freeProb(self):             # <<<<<<<<<<<<<<
 *         """Frees problem and solution process data."""
 *         PY_SCIP_CALL(SCIPfreeProb(self._scip))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_19freeProb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_18freeProb, "Frees problem and solution process data.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_19freeProb = {"freeProb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_19freeProb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_18freeProb};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_19freeProb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("freeProb (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("freeProb", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("freeProb", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_18freeProb(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_18freeProb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("freeProb", 0);

  /* "src/pyscipopt/scip.pxi":3071
 *     def freeProb(self):
 *         """Frees problem and solution process data."""
 *         PY_SCIP_CALL(SCIPfreeProb(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def freeTransform(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3071, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPfreeProb(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 3071, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3071, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3069
 *         PY_SCIP_CALL(SCIPcreateProbBasic(self._scip, n))
 * 
 *     def freeProb(self):             # <<<<<<<<<<<<<<
 *         """Frees problem and solution process data."""
 *         PY_SCIP_CALL(SCIPfreeProb(self._scip))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.freeProb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3073
 *         PY_SCIP_CALL(SCIPfreeProb(self._scip))
 * 
 *     def freeTransform(self):             # <<<<<<<<<<<<<<
 *         """Frees all solution process data including presolving and
 *         transformed problem, only original problem is kept."""
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_21freeTransform(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_20freeTransform, "Frees all solution process data including presolving and\n        transformed problem, only original problem is kept.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_21freeTransform = {"freeTransform", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_21freeTransform, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_20freeTransform};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_21freeTransform(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("freeTransform (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("freeTransform", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("freeTransform", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_20freeTransform(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_20freeTransform(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_v_origvars = NULL;
  PyObject *__pyx_v_ptr = NULL;
  PyObject *__pyx_v_var = NULL;
  PyObject *__pyx_v_origconss = NULL;
  PyObject *__pyx_v_cons = NULL;
  PyObject *__pyx_9genexpr32__pyx_v_ptr = NULL;
  PyObject *__pyx_9genexpr32__pyx_v_var = NULL;
  PyObject *__pyx_9genexpr33__pyx_v_ptr = NULL;
  PyObject *__pyx_9genexpr33__pyx_v_cons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  int __pyx_t_10;
  int __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("freeTransform", 0);

  /* "src/pyscipopt/scip.pxi":3076
 *         """Frees all solution process data including presolving and
 *         transformed problem, only original problem is kept."""
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_INIT); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":3077
 *         transformed problem, only original problem is kept."""
 *         if self.getStage() not in [SCIP_STAGE_INIT,
 *                                  SCIP_STAGE_PROBLEM,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_TRANSFORMED,
 *                                  SCIP_STAGE_PRESOLVING,
*/
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_PROBLEM); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "src/pyscipopt/scip.pxi":3076
 *         """Frees all solution process data including presolving and
 *         transformed problem, only original problem is kept."""
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":3078
 *         if self.getStage() not in [SCIP_STAGE_INIT,
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PRESOLVING,
 *                                  SCIP_STAGE_PRESOLVED,
*/
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_TRANSFORMED); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":3076
 *         """Frees all solution process data including presolving and
 *         transformed problem, only original problem is kept."""
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":3079
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
 *                                  SCIP_STAGE_PRESOLVING,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PRESOLVED,
 *                                  SCIP_STAGE_SOLVING,
*/
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_PRESOLVING); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3079, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "src/pyscipopt/scip.pxi":3076
 *         """Frees all solution process data including presolving and
 *         transformed problem, only original problem is kept."""
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":3080
 *                                  SCIP_STAGE_TRANSFORMED,
 *                                  SCIP_STAGE_PRESOLVING,
 *                                  SCIP_STAGE_PRESOLVED,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_SOLVING,
 *                                  SCIP_STAGE_SOLVED]:
*/
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_PRESOLVED); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":3076
 *         """Frees all solution process data including presolving and
 *         transformed problem, only original problem is kept."""
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":3081
 *                                  SCIP_STAGE_PRESOLVING,
 *                                  SCIP_STAGE_PRESOLVED,
 *                                  SCIP_STAGE_SOLVING,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_SOLVED]:
 *             raise Warning("method cannot be called in stage %i." % self.getStage())
*/
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_SOLVING); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "src/pyscipopt/scip.pxi":3076
 *         """Frees all solution process data including presolving and
 *         transformed problem, only original problem is kept."""
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":3082
 *                                  SCIP_STAGE_PRESOLVED,
 *                                  SCIP_STAGE_SOLVING,
 *                                  SCIP_STAGE_SOLVED]:             # <<<<<<<<<<<<<<
 *             raise Warning("method cannot be called in stage %i." % self.getStage())
 * 
*/
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_SOLVED); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":3076
 *         """Frees all solution process data including presolving and
 *         transformed problem, only original problem is kept."""
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 3076, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_4 = __pyx_t_6;
  __pyx_L4_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_6 = __pyx_t_4;
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":3083
 *                                  SCIP_STAGE_SOLVING,
 *                                  SCIP_STAGE_SOLVED]:
 *             raise Warning("method cannot be called in stage %i." % self.getStage())             # <<<<<<<<<<<<<<
 * 
 *         # Invalidate transformed variables. See issue #604.
*/
    __pyx_t_5 = NULL;
    __pyx_t_7 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3083, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_7 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_in_stage, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 3083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_3 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3083, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 3083, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":3076
 *         """Frees all solution process data including presolving and
 *         transformed problem, only original problem is kept."""
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  }

  /* "src/pyscipopt/scip.pxi":3086
 * 
 *         # Invalidate transformed variables. See issue #604.
 *         origvars = {ptr: var for ptr, var in self._modelvars.items() if var.isOriginal()}             # <<<<<<<<<<<<<<
 *         for ptr, var in self._modelvars.items():
 *             if ptr not in origvars:
*/
  { /* enter inner scope */
    __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3086, __pyx_L13_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = 0;
    if (unlikely(__pyx_v_self->_modelvars == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
      __PYX_ERR(2, 3086, __pyx_L13_error)
    }
    __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_self->_modelvars, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_9), (&__pyx_t_10)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3086, __pyx_L13_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF(__pyx_t_7);
    __pyx_t_7 = __pyx_t_5;
    __pyx_t_5 = 0;
    while (1) {
      __pyx_t_11 = __Pyx_dict_iter_next(__pyx_t_7, __pyx_t_9, &__pyx_t_8, &__pyx_t_5, &__pyx_t_2, NULL, __pyx_t_10);
      if (unlikely(__pyx_t_11 == 0)) break;
      if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(2, 3086, __pyx_L13_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_XDECREF_SET(__pyx_9genexpr32__pyx_v_ptr, __pyx_t_5);
      __pyx_t_5 = 0;
      __Pyx_XDECREF_SET(__pyx_9genexpr32__pyx_v_var, __pyx_t_2);
      __pyx_t_2 = 0;
      __pyx_t_5 = __pyx_9genexpr32__pyx_v_var;
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isOriginal, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3086, __pyx_L13_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 3086, __pyx_L13_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (__pyx_t_6) {
        if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_9genexpr32__pyx_v_ptr, (PyObject*)__pyx_9genexpr32__pyx_v_var))) __PYX_ERR(2, 3086, __pyx_L13_error)
      }
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF(__pyx_9genexpr32__pyx_v_ptr); __pyx_9genexpr32__pyx_v_ptr = 0;
    __Pyx_XDECREF(__pyx_9genexpr32__pyx_v_var); __pyx_9genexpr32__pyx_v_var = 0;
    goto __pyx_L17_exit_scope;
    __pyx_L13_error:;
    __Pyx_XDECREF(__pyx_9genexpr32__pyx_v_ptr); __pyx_9genexpr32__pyx_v_ptr = 0;
    __Pyx_XDECREF(__pyx_9genexpr32__pyx_v_var); __pyx_9genexpr32__pyx_v_var = 0;
    goto __pyx_L1_error;
    __pyx_L17_exit_scope:;
  } /* exit inner scope */
  __pyx_v_origvars = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3087
 *         # Invalidate transformed variables. See issue #604.
 *         origvars = {ptr: var for ptr, var in self._modelvars.items() if var.isOriginal()}
 *         for ptr, var in self._modelvars.items():             # <<<<<<<<<<<<<<
 *             if ptr not in origvars:
 *                 (<Variable>var).scip_var = NULL
*/
  __pyx_t_9 = 0;
  if (unlikely(__pyx_v_self->_modelvars == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(2, 3087, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_self->_modelvars, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_8), (&__pyx_t_10)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 3087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_7;
  __pyx_t_7 = 0;
  while (1) {
    __pyx_t_11 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_8, &__pyx_t_9, &__pyx_t_7, &__pyx_t_2, NULL, __pyx_t_10);
    if (unlikely(__pyx_t_11 == 0)) break;
    if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(2, 3087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_ptr, __pyx_t_7);
    __pyx_t_7 = 0;
    __Pyx_XDECREF_SET(__pyx_v_var, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":3088
 *         origvars = {ptr: var for ptr, var in self._modelvars.items() if var.isOriginal()}
 *         for ptr, var in self._modelvars.items():
 *             if ptr not in origvars:             # <<<<<<<<<<<<<<
 *                 (<Variable>var).scip_var = NULL
 *         self._modelvars = origvars
*/
    __pyx_t_6 = (__Pyx_PyDict_ContainsTF(__pyx_v_ptr, __pyx_v_origvars, Py_NE)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 3088, __pyx_L1_error)
    if (__pyx_t_6) {

      /* "src/pyscipopt/scip.pxi":3089
 *         for ptr, var in self._modelvars.items():
 *             if ptr not in origvars:
 *                 (<Variable>var).scip_var = NULL             # <<<<<<<<<<<<<<
 *         self._modelvars = origvars
 * 
*/
      ((struct __pyx_obj_9pyscipopt_4scip_Variable *)__pyx_v_var)->scip_var = NULL;

      /* "src/pyscipopt/scip.pxi":3088
 *         origvars = {ptr: var for ptr, var in self._modelvars.items() if var.isOriginal()}
 *         for ptr, var in self._modelvars.items():
 *             if ptr not in origvars:             # <<<<<<<<<<<<<<
 *                 (<Variable>var).scip_var = NULL
 *         self._modelvars = origvars
*/
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3090
 *             if ptr not in origvars:
 *                 (<Variable>var).scip_var = NULL
 *         self._modelvars = origvars             # <<<<<<<<<<<<<<
 * 
 *         # Invalidate transformed constraints. See issue #604.
*/
  __Pyx_INCREF(__pyx_v_origvars);
  __Pyx_GIVEREF(__pyx_v_origvars);
  __Pyx_GOTREF(__pyx_v_self->_modelvars);
  __Pyx_DECREF(__pyx_v_self->_modelvars);
  __pyx_v_self->_modelvars = __pyx_v_origvars;

  /* "src/pyscipopt/scip.pxi":3093
 * 
 *         # Invalidate transformed constraints. See issue #604.
 *         origconss = {ptr: cons for ptr, cons in self._modelconss.items() if cons.isOriginal()}             # <<<<<<<<<<<<<<
 *         for ptr, cons in self._modelconss.items():
 *             if ptr not in origconss:
*/
  { /* enter inner scope */
    __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3093, __pyx_L23_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = 0;
    if (unlikely(__pyx_v_self->_modelconss == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
      __PYX_ERR(2, 3093, __pyx_L23_error)
    }
    __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_self->_modelconss, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_9), (&__pyx_t_10)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 3093, __pyx_L23_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_2);
    __pyx_t_2 = __pyx_t_7;
    __pyx_t_7 = 0;
    while (1) {
      __pyx_t_11 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_9, &__pyx_t_8, &__pyx_t_7, &__pyx_t_5, NULL, __pyx_t_10);
      if (unlikely(__pyx_t_11 == 0)) break;
      if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(2, 3093, __pyx_L23_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_XDECREF_SET(__pyx_9genexpr33__pyx_v_ptr, __pyx_t_7);
      __pyx_t_7 = 0;
      __Pyx_XDECREF_SET(__pyx_9genexpr33__pyx_v_cons, __pyx_t_5);
      __pyx_t_5 = 0;
      __pyx_t_7 = __pyx_9genexpr33__pyx_v_cons;
      __Pyx_INCREF(__pyx_t_7);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
        __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isOriginal, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3093, __pyx_L23_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 3093, __pyx_L23_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (__pyx_t_6) {
        if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_9genexpr33__pyx_v_ptr, (PyObject*)__pyx_9genexpr33__pyx_v_cons))) __PYX_ERR(2, 3093, __pyx_L23_error)
      }
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_9genexpr33__pyx_v_cons); __pyx_9genexpr33__pyx_v_cons = 0;
    __Pyx_XDECREF(__pyx_9genexpr33__pyx_v_ptr); __pyx_9genexpr33__pyx_v_ptr = 0;
    goto __pyx_L27_exit_scope;
    __pyx_L23_error:;
    __Pyx_XDECREF(__pyx_9genexpr33__pyx_v_cons); __pyx_9genexpr33__pyx_v_cons = 0;
    __Pyx_XDECREF(__pyx_9genexpr33__pyx_v_ptr); __pyx_9genexpr33__pyx_v_ptr = 0;
    goto __pyx_L1_error;
    __pyx_L27_exit_scope:;
  } /* exit inner scope */
  __pyx_v_origconss = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3094
 *         # Invalidate transformed constraints. See issue #604.
 *         origconss = {ptr: cons for ptr, cons in self._modelconss.items() if cons.isOriginal()}
 *         for ptr, cons in self._modelconss.items():             # <<<<<<<<<<<<<<
 *             if ptr not in origconss:
 *                 (<Constraint>cons).scip_cons = NULL
*/
  __pyx_t_9 = 0;
  if (unlikely(__pyx_v_self->_modelconss == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(2, 3094, __pyx_L1_error)
  }
  __pyx_t_2 = __Pyx_dict_iterator(__pyx_v_self->_modelconss, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_8), (&__pyx_t_10)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_2;
  __pyx_t_2 = 0;
  while (1) {
    __pyx_t_11 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_8, &__pyx_t_9, &__pyx_t_2, &__pyx_t_5, NULL, __pyx_t_10);
    if (unlikely(__pyx_t_11 == 0)) break;
    if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(2, 3094, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v_ptr, __pyx_t_2);
    __pyx_t_2 = 0;
    __Pyx_XDECREF_SET(__pyx_v_cons, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":3095
 *         origconss = {ptr: cons for ptr, cons in self._modelconss.items() if cons.isOriginal()}
 *         for ptr, cons in self._modelconss.items():
 *             if ptr not in origconss:             # <<<<<<<<<<<<<<
 *                 (<Constraint>cons).scip_cons = NULL
 *         self._modelconss = origconss
*/
    __pyx_t_6 = (__Pyx_PyDict_ContainsTF(__pyx_v_ptr, __pyx_v_origconss, Py_NE)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 3095, __pyx_L1_error)
    if (__pyx_t_6) {

      /* "src/pyscipopt/scip.pxi":3096
 *         for ptr, cons in self._modelconss.items():
 *             if ptr not in origconss:
 *                 (<Constraint>cons).scip_cons = NULL             # <<<<<<<<<<<<<<
 *         self._modelconss = origconss
 * 
*/
      ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_cons)->scip_cons = NULL;

      /* "src/pyscipopt/scip.pxi":3095
 *         origconss = {ptr: cons for ptr, cons in self._modelconss.items() if cons.isOriginal()}
 *         for ptr, cons in self._modelconss.items():
 *             if ptr not in origconss:             # <<<<<<<<<<<<<<
 *                 (<Constraint>cons).scip_cons = NULL
 *         self._modelconss = origconss
*/
    }
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3097
 *             if ptr not in origconss:
 *                 (<Constraint>cons).scip_cons = NULL
 *         self._modelconss = origconss             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPfreeTransform(self._scip))
*/
  __Pyx_INCREF(__pyx_v_origconss);
  __Pyx_GIVEREF(__pyx_v_origconss);
  __Pyx_GOTREF(__pyx_v_self->_modelconss);
  __Pyx_DECREF(__pyx_v_self->_modelconss);
  __pyx_v_self->_modelconss = __pyx_v_origconss;

  /* "src/pyscipopt/scip.pxi":3099
 *         self._modelconss = origconss
 * 
 *         PY_SCIP_CALL(SCIPfreeTransform(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def version(self):
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPfreeTransform(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 3099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3099, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3073
 *         PY_SCIP_CALL(SCIPfreeProb(self._scip))
 * 
 *     def freeTransform(self):             # <<<<<<<<<<<<<<
 *         """Frees all solution process data including presolving and
 *         transformed problem, only original problem is kept."""
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.freeTransform", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_origvars);
  __Pyx_XDECREF(__pyx_v_ptr);
  __Pyx_XDECREF(__pyx_v_var);
  __Pyx_XDECREF(__pyx_v_origconss);
  __Pyx_XDECREF(__pyx_v_cons);
  __Pyx_XDECREF(__pyx_9genexpr32__pyx_v_ptr);
  __Pyx_XDECREF(__pyx_9genexpr32__pyx_v_var);
  __Pyx_XDECREF(__pyx_9genexpr33__pyx_v_ptr);
  __Pyx_XDECREF(__pyx_9genexpr33__pyx_v_cons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3101
 *         PY_SCIP_CALL(SCIPfreeTransform(self._scip))
 * 
 *     def version(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP version.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_23version(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_22version, "\n        Retrieve SCIP version.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_23version = {"version", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_23version, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_22version};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_23version(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("version (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("version", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("version", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_22version(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_22version(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("version", 0);

  /* "src/pyscipopt/scip.pxi":3110
 * 
 *         """
 *         return SCIPversion()             # <<<<<<<<<<<<<<
 * 
 *     def getMajorVersion(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPversion()); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3101
 *         PY_SCIP_CALL(SCIPfreeTransform(self._scip))
 * 
 *     def version(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP version.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.version", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3112
 *         return SCIPversion()
 * 
 *     def getMajorVersion(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP major version.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_25getMajorVersion(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_24getMajorVersion, "\n        Retrieve SCIP major version.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_25getMajorVersion = {"getMajorVersion", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_25getMajorVersion, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_24getMajorVersion};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_25getMajorVersion(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getMajorVersion (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getMajorVersion", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getMajorVersion", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_24getMajorVersion(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_24getMajorVersion(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getMajorVersion", 0);

  /* "src/pyscipopt/scip.pxi":3121
 * 
 *         """
 *         return SCIPmajorVersion()             # <<<<<<<<<<<<<<
 * 
 *     def getMinorVersion(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPmajorVersion()); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3121, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3112
 *         return SCIPversion()
 * 
 *     def getMajorVersion(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP major version.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getMajorVersion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3123
 *         return SCIPmajorVersion()
 * 
 *     def getMinorVersion(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP minor version.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_27getMinorVersion(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_26getMinorVersion, "\n        Retrieve SCIP minor version.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_27getMinorVersion = {"getMinorVersion", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_27getMinorVersion, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_26getMinorVersion};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_27getMinorVersion(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getMinorVersion (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getMinorVersion", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getMinorVersion", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_26getMinorVersion(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_26getMinorVersion(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getMinorVersion", 0);

  /* "src/pyscipopt/scip.pxi":3132
 * 
 *         """
 *         return SCIPminorVersion()             # <<<<<<<<<<<<<<
 * 
 *     def getTechVersion(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPminorVersion()); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3123
 *         return SCIPmajorVersion()
 * 
 *     def getMinorVersion(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP minor version.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getMinorVersion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3134
 *         return SCIPminorVersion()
 * 
 *     def getTechVersion(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP technical version.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_29getTechVersion(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_28getTechVersion, "\n        Retrieve SCIP technical version.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_29getTechVersion = {"getTechVersion", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_29getTechVersion, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_28getTechVersion};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_29getTechVersion(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getTechVersion (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getTechVersion", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getTechVersion", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_28getTechVersion(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_28getTechVersion(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getTechVersion", 0);

  /* "src/pyscipopt/scip.pxi":3143
 * 
 *         """
 *         return SCIPtechVersion()             # <<<<<<<<<<<<<<
 * 
 *     def printVersion(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPtechVersion()); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3134
 *         return SCIPminorVersion()
 * 
 *     def getTechVersion(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP technical version.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getTechVersion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3145
 *         return SCIPtechVersion()
 * 
 *     def printVersion(self):             # <<<<<<<<<<<<<<
 *         """Print version, copyright information and compile mode."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_31printVersion(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_30printVersion, "Print version, copyright information and compile mode.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_31printVersion = {"printVersion", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_31printVersion, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_30printVersion};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_31printVersion(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("printVersion (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("printVersion", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("printVersion", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_30printVersion(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_30printVersion(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("printVersion", 0);

  /* "src/pyscipopt/scip.pxi":3147
 *     def printVersion(self):
 *         """Print version, copyright information and compile mode."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 3147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 3147, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3148
 *         """Print version, copyright information and compile mode."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         SCIPprintVersion(self._scip, NULL)
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3150
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         SCIPprintVersion(self._scip, NULL)             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
  SCIPprintVersion(__pyx_v_self->_scip, NULL);

  /* "src/pyscipopt/scip.pxi":3152
 *         SCIPprintVersion(self._scip, NULL)
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def printExternalCodeVersions(self):
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 3152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3145
 *         return SCIPtechVersion()
 * 
 *     def printVersion(self):             # <<<<<<<<<<<<<<
 *         """Print version, copyright information and compile mode."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.printVersion", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3154
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def printExternalCodeVersions(self):             # <<<<<<<<<<<<<<
 *         """Print external code versions, e.g. symmetry, non-linear solver, lp solver."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_33printExternalCodeVersions(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_32printExternalCodeVersions, "Print external code versions, e.g. symmetry, non-linear solver, lp solver.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_33printExternalCodeVersions = {"printExternalCodeVersions", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_33printExternalCodeVersions, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_32printExternalCodeVersions};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_33printExternalCodeVersions(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("printExternalCodeVersions (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("printExternalCodeVersions", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("printExternalCodeVersions", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_32printExternalCodeVersions(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_32printExternalCodeVersions(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("printExternalCodeVersions", 0);

  /* "src/pyscipopt/scip.pxi":3156
 *     def printExternalCodeVersions(self):
 *         """Print external code versions, e.g. symmetry, non-linear solver, lp solver."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 3156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 3156, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3157
 *         """Print external code versions, e.g. symmetry, non-linear solver, lp solver."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         SCIPprintExternalCodes(self._scip, NULL)
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3157, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3159
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         SCIPprintExternalCodes(self._scip, NULL)             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
  SCIPprintExternalCodes(__pyx_v_self->_scip, NULL);

  /* "src/pyscipopt/scip.pxi":3161
 *         SCIPprintExternalCodes(self._scip, NULL)
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def getProbName(self):
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 3161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3154
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def printExternalCodeVersions(self):             # <<<<<<<<<<<<<<
 *         """Print external code versions, e.g. symmetry, non-linear solver, lp solver."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.printExternalCodeVersions", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3163
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def getProbName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve problem name.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_35getProbName(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_34getProbName, "\n        Retrieve problem name.\n\n        Returns\n        -------\n        str\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_35getProbName = {"getProbName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_35getProbName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_34getProbName};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_35getProbName(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getProbName (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getProbName", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getProbName", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_34getProbName(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_34getProbName(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getProbName", 0);

  /* "src/pyscipopt/scip.pxi":3172
 * 
 *         """
 *         return bytes(SCIPgetProbName(self._scip)).decode('UTF-8')             # <<<<<<<<<<<<<<
 * 
 *     def getTotalTime(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPgetProbName(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3163
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def getProbName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve problem name.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getProbName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3174
 *         return bytes(SCIPgetProbName(self._scip)).decode('UTF-8')
 * 
 *     def getTotalTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current total SCIP time in seconds,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_37getTotalTime(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_36getTotalTime, "\n        Retrieve the current total SCIP time in seconds,\n        i.e. the total time since the SCIP instance has been created.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_37getTotalTime = {"getTotalTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_37getTotalTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_36getTotalTime};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_37getTotalTime(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getTotalTime (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getTotalTime", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getTotalTime", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_36getTotalTime(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_36getTotalTime(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getTotalTime", 0);

  /* "src/pyscipopt/scip.pxi":3184
 * 
 *         """
 *         return SCIPgetTotalTime(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getSolvingTime(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetTotalTime(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3174
 *         return bytes(SCIPgetProbName(self._scip)).decode('UTF-8')
 * 
 *     def getTotalTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current total SCIP time in seconds,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getTotalTime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3186
 *         return SCIPgetTotalTime(self._scip)
 * 
 *     def getSolvingTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current solving time in seconds.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_39getSolvingTime(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_38getSolvingTime, "\n        Retrieve the current solving time in seconds.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_39getSolvingTime = {"getSolvingTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_39getSolvingTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_38getSolvingTime};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_39getSolvingTime(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSolvingTime (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getSolvingTime", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getSolvingTime", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_38getSolvingTime(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_38getSolvingTime(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getSolvingTime", 0);

  /* "src/pyscipopt/scip.pxi":3195
 * 
 *         """
 *         return SCIPgetSolvingTime(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getReadingTime(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetSolvingTime(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3195, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3186
 *         return SCIPgetTotalTime(self._scip)
 * 
 *     def getSolvingTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current solving time in seconds.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getSolvingTime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3197
 *         return SCIPgetSolvingTime(self._scip)
 * 
 *     def getReadingTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current reading time in seconds.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_41getReadingTime(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_40getReadingTime, "\n        Retrieve the current reading time in seconds.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_41getReadingTime = {"getReadingTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_41getReadingTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_40getReadingTime};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_41getReadingTime(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getReadingTime (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getReadingTime", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getReadingTime", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_40getReadingTime(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_40getReadingTime(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getReadingTime", 0);

  /* "src/pyscipopt/scip.pxi":3206
 * 
 *         """
 *         return SCIPgetReadingTime(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getPresolvingTime(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetReadingTime(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3197
 *         return SCIPgetSolvingTime(self._scip)
 * 
 *     def getReadingTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current reading time in seconds.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getReadingTime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3208
 *         return SCIPgetReadingTime(self._scip)
 * 
 *     def getPresolvingTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the current presolving time in seconds.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_43getPresolvingTime(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_42getPresolvingTime, "\n        Returns the current presolving time in seconds.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_43getPresolvingTime = {"getPresolvingTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_43getPresolvingTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_42getPresolvingTime};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_43getPresolvingTime(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPresolvingTime (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPresolvingTime", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPresolvingTime", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_42getPresolvingTime(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_42getPresolvingTime(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPresolvingTime", 0);

  /* "src/pyscipopt/scip.pxi":3217
 * 
 *         """
 *         return SCIPgetPresolvingTime(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNLPIterations(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetPresolvingTime(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3208
 *         return SCIPgetReadingTime(self._scip)
 * 
 *     def getPresolvingTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the current presolving time in seconds.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getPresolvingTime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3219
 *         return SCIPgetPresolvingTime(self._scip)
 * 
 *     def getNLPIterations(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the total number of LP iterations so far.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_45getNLPIterations(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_44getNLPIterations, "\n        Returns the total number of LP iterations so far.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_45getNLPIterations = {"getNLPIterations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_45getNLPIterations, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_44getNLPIterations};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_45getNLPIterations(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNLPIterations (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNLPIterations", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNLPIterations", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_44getNLPIterations(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_44getNLPIterations(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNLPIterations", 0);

  /* "src/pyscipopt/scip.pxi":3228
 * 
 *         """
 *         return SCIPgetNLPIterations(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNNodes(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(SCIPgetNLPIterations(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3219
 *         return SCIPgetPresolvingTime(self._scip)
 * 
 *     def getNLPIterations(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the total number of LP iterations so far.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNLPIterations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3230
 *         return SCIPgetNLPIterations(self._scip)
 * 
 *     def getNNodes(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of processed nodes in current run, including the focus node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_47getNNodes(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_46getNNodes, "\n        Gets number of processed nodes in current run, including the focus node.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_47getNNodes = {"getNNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_47getNNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_46getNNodes};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_47getNNodes(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNNodes (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNNodes", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNNodes", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_46getNNodes(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_46getNNodes(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNNodes", 0);

  /* "src/pyscipopt/scip.pxi":3239
 * 
 *         """
 *         return SCIPgetNNodes(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNTotalNodes(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(SCIPgetNNodes(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3230
 *         return SCIPgetNLPIterations(self._scip)
 * 
 *     def getNNodes(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of processed nodes in current run, including the focus node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3241
 *         return SCIPgetNNodes(self._scip)
 * 
 *     def getNTotalNodes(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of processed nodes in all runs, including the focus node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_49getNTotalNodes(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_48getNTotalNodes, "\n        Gets number of processed nodes in all runs, including the focus node.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_49getNTotalNodes = {"getNTotalNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_49getNTotalNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_48getNTotalNodes};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_49getNTotalNodes(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNTotalNodes (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNTotalNodes", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNTotalNodes", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_48getNTotalNodes(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_48getNTotalNodes(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNTotalNodes", 0);

  /* "src/pyscipopt/scip.pxi":3250
 * 
 *         """
 *         return SCIPgetNTotalNodes(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNFeasibleLeaves(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(SCIPgetNTotalNodes(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3241
 *         return SCIPgetNNodes(self._scip)
 * 
 *     def getNTotalNodes(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of processed nodes in all runs, including the focus node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNTotalNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3252
 *         return SCIPgetNTotalNodes(self._scip)
 * 
 *     def getNFeasibleLeaves(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of leaf nodes processed with feasible relaxation solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_51getNFeasibleLeaves(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_50getNFeasibleLeaves, "\n        Retrieve number of leaf nodes processed with feasible relaxation solution.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_51getNFeasibleLeaves = {"getNFeasibleLeaves", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_51getNFeasibleLeaves, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_50getNFeasibleLeaves};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_51getNFeasibleLeaves(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNFeasibleLeaves (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNFeasibleLeaves", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNFeasibleLeaves", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_50getNFeasibleLeaves(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_50getNFeasibleLeaves(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNFeasibleLeaves", 0);

  /* "src/pyscipopt/scip.pxi":3261
 * 
 *         """
 *         return SCIPgetNFeasibleLeaves(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNInfeasibleLeaves(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(SCIPgetNFeasibleLeaves(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3252
 *         return SCIPgetNTotalNodes(self._scip)
 * 
 *     def getNFeasibleLeaves(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of leaf nodes processed with feasible relaxation solution.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNFeasibleLeaves", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3263
 *         return SCIPgetNFeasibleLeaves(self._scip)
 * 
 *     def getNInfeasibleLeaves(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of infeasible leaf nodes processed.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_53getNInfeasibleLeaves(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_52getNInfeasibleLeaves, "\n        Gets number of infeasible leaf nodes processed.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_53getNInfeasibleLeaves = {"getNInfeasibleLeaves", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_53getNInfeasibleLeaves, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_52getNInfeasibleLeaves};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_53getNInfeasibleLeaves(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNInfeasibleLeaves (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNInfeasibleLeaves", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNInfeasibleLeaves", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_52getNInfeasibleLeaves(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_52getNInfeasibleLeaves(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNInfeasibleLeaves", 0);

  /* "src/pyscipopt/scip.pxi":3272
 * 
 *         """
 *         return SCIPgetNInfeasibleLeaves(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNLeaves(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(SCIPgetNInfeasibleLeaves(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3263
 *         return SCIPgetNFeasibleLeaves(self._scip)
 * 
 *     def getNInfeasibleLeaves(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of infeasible leaf nodes processed.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNInfeasibleLeaves", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3274
 *         return SCIPgetNInfeasibleLeaves(self._scip)
 * 
 *     def getNLeaves(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of leaves in the tree.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_55getNLeaves(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_54getNLeaves, "\n        Gets number of leaves in the tree.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_55getNLeaves = {"getNLeaves", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_55getNLeaves, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_54getNLeaves};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_55getNLeaves(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNLeaves (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNLeaves", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNLeaves", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_54getNLeaves(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_54getNLeaves(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNLeaves", 0);

  /* "src/pyscipopt/scip.pxi":3283
 * 
 *         """
 *         return SCIPgetNLeaves(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNChildren(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(SCIPgetNLeaves(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3274
 *         return SCIPgetNInfeasibleLeaves(self._scip)
 * 
 *     def getNLeaves(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of leaves in the tree.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNLeaves", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3285
 *         return SCIPgetNLeaves(self._scip)
 * 
 *     def getNChildren(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of children of focus node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_57getNChildren(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_56getNChildren, "\n        Gets number of children of focus node.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_57getNChildren = {"getNChildren", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_57getNChildren, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_56getNChildren};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_57getNChildren(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNChildren (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNChildren", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNChildren", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_56getNChildren(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_56getNChildren(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNChildren", 0);

  /* "src/pyscipopt/scip.pxi":3294
 * 
 *         """
 *         return SCIPgetNChildren(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNSiblings(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(SCIPgetNChildren(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3285
 *         return SCIPgetNLeaves(self._scip)
 * 
 *     def getNChildren(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of children of focus node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNChildren", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3296
 *         return SCIPgetNChildren(self._scip)
 * 
 *     def getNSiblings(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of siblings of focus node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_59getNSiblings(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_58getNSiblings, "\n        Gets number of siblings of focus node.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_59getNSiblings = {"getNSiblings", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_59getNSiblings, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_58getNSiblings};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_59getNSiblings(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNSiblings (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNSiblings", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNSiblings", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_58getNSiblings(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_58getNSiblings(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNSiblings", 0);

  /* "src/pyscipopt/scip.pxi":3305
 * 
 *         """
 *         return SCIPgetNSiblings(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getCurrentNode(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetNSiblings(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3296
 *         return SCIPgetNChildren(self._scip)
 * 
 *     def getNSiblings(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of siblings of focus node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNSiblings", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3307
 *         return SCIPgetNSiblings(self._scip)
 * 
 *     def getCurrentNode(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_61getCurrentNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_60getCurrentNode, "\n        Retrieve current node.\n\n        Returns\n        -------\n        Node\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_61getCurrentNode = {"getCurrentNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_61getCurrentNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_60getCurrentNode};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_61getCurrentNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCurrentNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getCurrentNode", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getCurrentNode", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_60getCurrentNode(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_60getCurrentNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getCurrentNode", 0);

  /* "src/pyscipopt/scip.pxi":3316
 * 
 *         """
 *         return Node.create(SCIPgetCurrentNode(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def getGap(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(SCIPgetCurrentNode(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3307
 *         return SCIPgetNSiblings(self._scip)
 * 
 *     def getCurrentNode(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getCurrentNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3318
 *         return Node.create(SCIPgetCurrentNode(self._scip))
 * 
 *     def getGap(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the gap,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_63getGap(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_62getGap, "\n        Retrieve the gap,\n        i.e. abs((primalbound - dualbound)/min(abs(primalbound),abs(dualbound)))\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_63getGap = {"getGap", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_63getGap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_62getGap};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_63getGap(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getGap (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getGap", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getGap", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_62getGap(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_62getGap(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getGap", 0);

  /* "src/pyscipopt/scip.pxi":3328
 * 
 *         """
 *         return SCIPgetGap(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getDepth(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetGap(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3318
 *         return Node.create(SCIPgetCurrentNode(self._scip))
 * 
 *     def getGap(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the gap,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getGap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3330
 *         return SCIPgetGap(self._scip)
 * 
 *     def getDepth(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the depth of the current node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_65getDepth(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_64getDepth, "\n        Retrieve the depth of the current node.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_65getDepth = {"getDepth", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_65getDepth, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_64getDepth};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_65getDepth(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDepth (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getDepth", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getDepth", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_64getDepth(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_64getDepth(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDepth", 0);

  /* "src/pyscipopt/scip.pxi":3339
 * 
 *         """
 *         return SCIPgetDepth(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getMaxDepth(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetDepth(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3339, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3330
 *         return SCIPgetGap(self._scip)
 * 
 *     def getDepth(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the depth of the current node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDepth", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3341
 *         return SCIPgetDepth(self._scip)
 * 
 *     def getMaxDepth(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets maximal depth of the branch-and-bound tree processed during solving (excluding probing nodes).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_67getMaxDepth(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_66getMaxDepth, "\n        Gets maximal depth of the branch-and-bound tree processed during solving (excluding probing nodes).\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_67getMaxDepth = {"getMaxDepth", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_67getMaxDepth, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_66getMaxDepth};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_67getMaxDepth(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getMaxDepth (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getMaxDepth", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getMaxDepth", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_66getMaxDepth(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_66getMaxDepth(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getMaxDepth", 0);

  /* "src/pyscipopt/scip.pxi":3350
 * 
 *         """
 *         return SCIPgetMaxDepth(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getPlungeDepth(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetMaxDepth(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3350, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3341
 *         return SCIPgetDepth(self._scip)
 * 
 *     def getMaxDepth(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets maximal depth of the branch-and-bound tree processed during solving (excluding probing nodes).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getMaxDepth", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3352
 *         return SCIPgetMaxDepth(self._scip)
 * 
 *     def getPlungeDepth(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets current plunging depth (successive selections of child/sibling nodes).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_69getPlungeDepth(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_68getPlungeDepth, "\n        Gets current plunging depth (successive selections of child/sibling nodes).\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_69getPlungeDepth = {"getPlungeDepth", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_69getPlungeDepth, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_68getPlungeDepth};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_69getPlungeDepth(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPlungeDepth (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPlungeDepth", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPlungeDepth", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_68getPlungeDepth(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_68getPlungeDepth(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPlungeDepth", 0);

  /* "src/pyscipopt/scip.pxi":3361
 * 
 *         """
 *         return SCIPgetPlungeDepth(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getLowerbound(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetPlungeDepth(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3352
 *         return SCIPgetMaxDepth(self._scip)
 * 
 *     def getPlungeDepth(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets current plunging depth (successive selections of child/sibling nodes).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getPlungeDepth", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3363
 *         return SCIPgetPlungeDepth(self._scip)
 * 
 *     def getLowerbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets global lower (dual) bound of the transformed problem.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_71getLowerbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_70getLowerbound, "\n        Gets global lower (dual) bound of the transformed problem.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_71getLowerbound = {"getLowerbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_71getLowerbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_70getLowerbound};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_71getLowerbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLowerbound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLowerbound", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLowerbound", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_70getLowerbound(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_70getLowerbound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLowerbound", 0);

  /* "src/pyscipopt/scip.pxi":3372
 * 
 *         """
 *         return SCIPgetLowerbound(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getCutoffbound(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetLowerbound(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3363
 *         return SCIPgetPlungeDepth(self._scip)
 * 
 *     def getLowerbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets global lower (dual) bound of the transformed problem.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLowerbound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3374
 *         return SCIPgetLowerbound(self._scip)
 * 
 *     def getCutoffbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the cutoff bound of the transformed problem.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_73getCutoffbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_72getCutoffbound, "\n        Gets the cutoff bound of the transformed problem.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_73getCutoffbound = {"getCutoffbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_73getCutoffbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_72getCutoffbound};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_73getCutoffbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCutoffbound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getCutoffbound", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getCutoffbound", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_72getCutoffbound(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_72getCutoffbound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getCutoffbound", 0);

  /* "src/pyscipopt/scip.pxi":3383
 * 
 *         """
 *         return SCIPgetCutoffbound(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNNodeLPIterations(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetCutoffbound(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3374
 *         return SCIPgetLowerbound(self._scip)
 * 
 *     def getCutoffbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the cutoff bound of the transformed problem.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getCutoffbound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3385
 *         return SCIPgetCutoffbound(self._scip)
 * 
 *     def getNNodeLPIterations(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of LP iterations used for solving node relaxations so far.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_75getNNodeLPIterations(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_74getNNodeLPIterations, "\n        Gets number of LP iterations used for solving node relaxations so far.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_75getNNodeLPIterations = {"getNNodeLPIterations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_75getNNodeLPIterations, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_74getNNodeLPIterations};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_75getNNodeLPIterations(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNNodeLPIterations (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNNodeLPIterations", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNNodeLPIterations", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_74getNNodeLPIterations(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_74getNNodeLPIterations(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNNodeLPIterations", 0);

  /* "src/pyscipopt/scip.pxi":3394
 * 
 *         """
 *         return SCIPgetNNodeLPIterations(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNStrongbranchLPIterations(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(SCIPgetNNodeLPIterations(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3394, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3385
 *         return SCIPgetCutoffbound(self._scip)
 * 
 *     def getNNodeLPIterations(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of LP iterations used for solving node relaxations so far.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNNodeLPIterations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3396
 *         return SCIPgetNNodeLPIterations(self._scip)
 * 
 *     def getNStrongbranchLPIterations(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of LP iterations used for strong branching so far.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_77getNStrongbranchLPIterations(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_76getNStrongbranchLPIterations, "\n        Gets number of LP iterations used for strong branching so far.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_77getNStrongbranchLPIterations = {"getNStrongbranchLPIterations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_77getNStrongbranchLPIterations, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_76getNStrongbranchLPIterations};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_77getNStrongbranchLPIterations(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNStrongbranchLPIterations (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNStrongbranchLPIterations", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNStrongbranchLPIterations", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_76getNStrongbranchLPIterations(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_76getNStrongbranchLPIterations(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNStrongbranchLPIterations", 0);

  /* "src/pyscipopt/scip.pxi":3405
 * 
 *         """
 *         return SCIPgetNStrongbranchLPIterations(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getPrimalDualIntegral(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(SCIPgetNStrongbranchLPIterations(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3396
 *         return SCIPgetNNodeLPIterations(self._scip)
 * 
 *     def getNStrongbranchLPIterations(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of LP iterations used for strong branching so far.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNStrongbranchLPIterations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3407
 *         return SCIPgetNStrongbranchLPIterations(self._scip)
 * 
 *     def getPrimalDualIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Recomputes and returns the primal dual gap stored in the stats
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_79getPrimalDualIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_78getPrimalDualIntegral, "\n        Recomputes and returns the primal dual gap stored in the stats\n\n        Returns\n        ------\n        float\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_79getPrimalDualIntegral = {"getPrimalDualIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_79getPrimalDualIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_78getPrimalDualIntegral};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_79getPrimalDualIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPrimalDualIntegral (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPrimalDualIntegral", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPrimalDualIntegral", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_78getPrimalDualIntegral(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_78getPrimalDualIntegral(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPrimalDualIntegral", 0);

  /* "src/pyscipopt/scip.pxi":3415
 *         float
 *         """
 *         return SCIPgetPrimalDualIntegral(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def cutoffNode(self, Node node):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetPrimalDualIntegral(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3407
 *         return SCIPgetNStrongbranchLPIterations(self._scip)
 * 
 *     def getPrimalDualIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Recomputes and returns the primal dual gap stored in the stats
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getPrimalDualIntegral", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3417
 *         return SCIPgetPrimalDualIntegral(self._scip)
 * 
 *     def cutoffNode(self, Node node):             # <<<<<<<<<<<<<<
 *         """
 *         marks node and whole subtree to be cut off from the branch and bound tree.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_81cutoffNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_80cutoffNode, "\n        marks node and whole subtree to be cut off from the branch and bound tree.\n\n        Parameters\n        ----------\n        node : Node\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_81cutoffNode = {"cutoffNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_81cutoffNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_80cutoffNode};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_81cutoffNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cutoffNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_node,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3417, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3417, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cutoffNode", 0) < (0)) __PYX_ERR(2, 3417, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cutoffNode", 1, 1, 1, i); __PYX_ERR(2, 3417, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3417, __pyx_L3_error)
    }
    __pyx_v_node = ((struct __pyx_obj_9pyscipopt_4scip_Node *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cutoffNode", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3417, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.cutoffNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_node), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, 1, "node", 0))) __PYX_ERR(2, 3417, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_80cutoffNode(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_node);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_80cutoffNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cutoffNode", 0);

  /* "src/pyscipopt/scip.pxi":3425
 *         node : Node
 *         """
 *         PY_SCIP_CALL( SCIPcutoffNode(self._scip, node.scip_node) )             # <<<<<<<<<<<<<<
 * 
 *     def infinity(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcutoffNode(__pyx_v_self->_scip, __pyx_v_node->scip_node)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 3425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3417
 *         return SCIPgetPrimalDualIntegral(self._scip)
 * 
 *     def cutoffNode(self, Node node):             # <<<<<<<<<<<<<<
 *         """
 *         marks node and whole subtree to be cut off from the branch and bound tree.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.cutoffNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3427
 *         PY_SCIP_CALL( SCIPcutoffNode(self._scip, node.scip_node) )
 * 
 *     def infinity(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP's infinity value.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_83infinity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_82infinity, "\n        Retrieve SCIP's infinity value.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_83infinity = {"infinity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_83infinity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_82infinity};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_83infinity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("infinity (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("infinity", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("infinity", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_82infinity(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_82infinity(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("infinity", 0);

  /* "src/pyscipopt/scip.pxi":3436
 * 
 *         """
 *         return SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def epsilon(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPinfinity(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3436, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3427
 *         PY_SCIP_CALL( SCIPcutoffNode(self._scip, node.scip_node) )
 * 
 *     def infinity(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP's infinity value.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.infinity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3438
 *         return SCIPinfinity(self._scip)
 * 
 *     def epsilon(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve epsilon for e.g. equality checks.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_85epsilon(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_84epsilon, "\n        Retrieve epsilon for e.g. equality checks.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_85epsilon = {"epsilon", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_85epsilon, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_84epsilon};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_85epsilon(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("epsilon (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("epsilon", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("epsilon", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_84epsilon(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_84epsilon(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("epsilon", 0);

  /* "src/pyscipopt/scip.pxi":3447
 * 
 *         """
 *         return SCIPepsilon(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def feastol(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPepsilon(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3447, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3438
 *         return SCIPinfinity(self._scip)
 * 
 *     def epsilon(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve epsilon for e.g. equality checks.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.epsilon", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3449
 *         return SCIPepsilon(self._scip)
 * 
 *     def feastol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve feasibility tolerance.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_87feastol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_86feastol, "\n        Retrieve feasibility tolerance.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_87feastol = {"feastol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_87feastol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_86feastol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_87feastol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("feastol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("feastol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("feastol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_86feastol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_86feastol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("feastol", 0);

  /* "src/pyscipopt/scip.pxi":3458
 * 
 *         """
 *         return SCIPfeastol(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def feasFrac(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPfeastol(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3449
 *         return SCIPepsilon(self._scip)
 * 
 *     def feastol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve feasibility tolerance.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.feastol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3460
 *         return SCIPfeastol(self._scip)
 * 
 *     def feasFrac(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns fractional part of value, i.e. x - floor(x) in feasible tolerance: x - floor(x+feastol).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_89feasFrac(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_88feasFrac, "\n        Returns fractional part of value, i.e. x - floor(x) in feasible tolerance: x - floor(x+feastol).\n\n        Parameters\n        ----------\n        value : float\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_89feasFrac = {"feasFrac", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_89feasFrac, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_88feasFrac};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_89feasFrac(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("feasFrac (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3460, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3460, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "feasFrac", 0) < (0)) __PYX_ERR(2, 3460, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("feasFrac", 1, 1, 1, i); __PYX_ERR(2, 3460, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3460, __pyx_L3_error)
    }
    __pyx_v_value = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("feasFrac", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3460, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.feasFrac", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_88feasFrac(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_88feasFrac(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("feasFrac", 0);

  /* "src/pyscipopt/scip.pxi":3473
 * 
 *         """
 *         return SCIPfeasFrac(self._scip, value)             # <<<<<<<<<<<<<<
 * 
 *     def frac(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3473, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(SCIPfeasFrac(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3460
 *         return SCIPfeastol(self._scip)
 * 
 *     def feasFrac(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns fractional part of value, i.e. x - floor(x) in feasible tolerance: x - floor(x+feastol).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.feasFrac", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3475
 *         return SCIPfeasFrac(self._scip, value)
 * 
 *     def frac(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns fractional part of value, i.e. x - floor(x) in epsilon tolerance: x - floor(x+eps).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_91frac(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_90frac, "\n        Returns fractional part of value, i.e. x - floor(x) in epsilon tolerance: x - floor(x+eps).\n\n        Parameters\n        ----------\n        value : float\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_91frac = {"frac", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_91frac, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_90frac};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_91frac(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("frac (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3475, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3475, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "frac", 0) < (0)) __PYX_ERR(2, 3475, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("frac", 1, 1, 1, i); __PYX_ERR(2, 3475, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3475, __pyx_L3_error)
    }
    __pyx_v_value = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("frac", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3475, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.frac", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_90frac(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_90frac(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("frac", 0);

  /* "src/pyscipopt/scip.pxi":3488
 * 
 *         """
 *         return SCIPfrac(self._scip, value)             # <<<<<<<<<<<<<<
 * 
 *     def feasFloor(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3488, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(SCIPfrac(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3475
 *         return SCIPfeasFrac(self._scip, value)
 * 
 *     def frac(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns fractional part of value, i.e. x - floor(x) in epsilon tolerance: x - floor(x+eps).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.frac", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3490
 *         return SCIPfrac(self._scip, value)
 * 
 *     def feasFloor(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Rounds value + feasibility tolerance down to the next integer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_93feasFloor(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_92feasFloor, "\n        Rounds value + feasibility tolerance down to the next integer.\n\n        Parameters\n        ----------\n        value : float\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_93feasFloor = {"feasFloor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_93feasFloor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_92feasFloor};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_93feasFloor(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("feasFloor (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3490, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3490, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "feasFloor", 0) < (0)) __PYX_ERR(2, 3490, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("feasFloor", 1, 1, 1, i); __PYX_ERR(2, 3490, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3490, __pyx_L3_error)
    }
    __pyx_v_value = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("feasFloor", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3490, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.feasFloor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_92feasFloor(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_92feasFloor(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("feasFloor", 0);

  /* "src/pyscipopt/scip.pxi":3503
 * 
 *         """
 *         return SCIPfeasFloor(self._scip, value)             # <<<<<<<<<<<<<<
 * 
 *     def feasCeil(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3503, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(SCIPfeasFloor(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3490
 *         return SCIPfrac(self._scip, value)
 * 
 *     def feasFloor(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Rounds value + feasibility tolerance down to the next integer.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.feasFloor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3505
 *         return SCIPfeasFloor(self._scip, value)
 * 
 *     def feasCeil(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Rounds value - feasibility tolerance up to the next integer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_95feasCeil(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_94feasCeil, "\n        Rounds value - feasibility tolerance up to the next integer.\n\n        Parameters\n        ----------\n        value : float\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_95feasCeil = {"feasCeil", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_95feasCeil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_94feasCeil};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_95feasCeil(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("feasCeil (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3505, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3505, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "feasCeil", 0) < (0)) __PYX_ERR(2, 3505, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("feasCeil", 1, 1, 1, i); __PYX_ERR(2, 3505, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3505, __pyx_L3_error)
    }
    __pyx_v_value = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("feasCeil", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3505, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.feasCeil", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_94feasCeil(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_94feasCeil(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("feasCeil", 0);

  /* "src/pyscipopt/scip.pxi":3518
 * 
 *         """
 *         return SCIPfeasCeil(self._scip, value)             # <<<<<<<<<<<<<<
 * 
 *     def feasRound(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3518, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(SCIPfeasCeil(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3505
 *         return SCIPfeasFloor(self._scip, value)
 * 
 *     def feasCeil(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Rounds value - feasibility tolerance up to the next integer.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.feasCeil", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3520
 *         return SCIPfeasCeil(self._scip, value)
 * 
 *     def feasRound(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Rounds value to the nearest integer in feasibility tolerance.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_97feasRound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_96feasRound, "\n        Rounds value to the nearest integer in feasibility tolerance.\n\n        Parameters\n        ----------\n        value : float\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_97feasRound = {"feasRound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_97feasRound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_96feasRound};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_97feasRound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("feasRound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3520, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3520, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "feasRound", 0) < (0)) __PYX_ERR(2, 3520, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("feasRound", 1, 1, 1, i); __PYX_ERR(2, 3520, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3520, __pyx_L3_error)
    }
    __pyx_v_value = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("feasRound", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3520, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.feasRound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_96feasRound(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_96feasRound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("feasRound", 0);

  /* "src/pyscipopt/scip.pxi":3533
 * 
 *         """
 *         return SCIPfeasRound(self._scip, value)             # <<<<<<<<<<<<<<
 * 
 *     def isZero(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3533, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(SCIPfeasRound(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3520
 *         return SCIPfeasCeil(self._scip, value)
 * 
 *     def feasRound(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Rounds value to the nearest integer in feasibility tolerance.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.feasRound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3535
 *         return SCIPfeasRound(self._scip, value)
 * 
 *     def isZero(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether abs(value) < eps.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_99isZero(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_98isZero, "\n        Returns whether abs(value) < eps.\n\n        Parameters\n        ----------\n        value : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_99isZero = {"isZero", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_99isZero, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_98isZero};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_99isZero(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isZero (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3535, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3535, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isZero", 0) < (0)) __PYX_ERR(2, 3535, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isZero", 1, 1, 1, i); __PYX_ERR(2, 3535, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3535, __pyx_L3_error)
    }
    __pyx_v_value = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isZero", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3535, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isZero", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_98isZero(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_98isZero(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isZero", 0);

  /* "src/pyscipopt/scip.pxi":3548
 * 
 *         """
 *         return SCIPisZero(self._scip, value)             # <<<<<<<<<<<<<<
 * 
 *     def isFeasZero(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3548, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong(SCIPisZero(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3535
 *         return SCIPfeasRound(self._scip, value)
 * 
 *     def isZero(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether abs(value) < eps.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isZero", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3550
 *         return SCIPisZero(self._scip, value)
 * 
 *     def isFeasZero(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether abs(value) < feastol.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_101isFeasZero(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_100isFeasZero, "\n        Returns whether abs(value) < feastol.\n\n        Parameters\n        ----------\n        value : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_101isFeasZero = {"isFeasZero", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_101isFeasZero, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_100isFeasZero};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_101isFeasZero(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isFeasZero (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3550, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3550, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isFeasZero", 0) < (0)) __PYX_ERR(2, 3550, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isFeasZero", 1, 1, 1, i); __PYX_ERR(2, 3550, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3550, __pyx_L3_error)
    }
    __pyx_v_value = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isFeasZero", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3550, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasZero", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_100isFeasZero(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_100isFeasZero(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isFeasZero", 0);

  /* "src/pyscipopt/scip.pxi":3563
 * 
 *         """
 *         return SCIPisFeasZero(self._scip, value)             # <<<<<<<<<<<<<<
 * 
 *     def isInfinity(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3563, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong(SCIPisFeasZero(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3550
 *         return SCIPisZero(self._scip, value)
 * 
 *     def isFeasZero(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether abs(value) < feastol.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasZero", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3565
 *         return SCIPisFeasZero(self._scip, value)
 * 
 *     def isInfinity(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value is SCIP's infinity.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_103isInfinity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_102isInfinity, "\n        Returns whether value is SCIP's infinity.\n\n        Parameters\n        ----------\n        value : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_103isInfinity = {"isInfinity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_103isInfinity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_102isInfinity};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_103isInfinity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isInfinity (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3565, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3565, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isInfinity", 0) < (0)) __PYX_ERR(2, 3565, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isInfinity", 1, 1, 1, i); __PYX_ERR(2, 3565, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3565, __pyx_L3_error)
    }
    __pyx_v_value = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isInfinity", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3565, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isInfinity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_102isInfinity(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_102isInfinity(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isInfinity", 0);

  /* "src/pyscipopt/scip.pxi":3578
 * 
 *         """
 *         return SCIPisInfinity(self._scip, value)             # <<<<<<<<<<<<<<
 * 
 *     def isFeasNegative(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3578, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong(SCIPisInfinity(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3578, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3565
 *         return SCIPisFeasZero(self._scip, value)
 * 
 *     def isInfinity(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value is SCIP's infinity.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isInfinity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3580
 *         return SCIPisInfinity(self._scip, value)
 * 
 *     def isFeasNegative(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value < -feastol.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_105isFeasNegative(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_104isFeasNegative, "\n        Returns whether value < -feastol.\n\n        Parameters\n        ----------\n        value : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_105isFeasNegative = {"isFeasNegative", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_105isFeasNegative, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_104isFeasNegative};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_105isFeasNegative(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isFeasNegative (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3580, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3580, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isFeasNegative", 0) < (0)) __PYX_ERR(2, 3580, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isFeasNegative", 1, 1, 1, i); __PYX_ERR(2, 3580, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3580, __pyx_L3_error)
    }
    __pyx_v_value = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isFeasNegative", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3580, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasNegative", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_104isFeasNegative(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_104isFeasNegative(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isFeasNegative", 0);

  /* "src/pyscipopt/scip.pxi":3593
 * 
 *         """
 *         return SCIPisFeasNegative(self._scip, value)             # <<<<<<<<<<<<<<
 * 
 *     def isFeasPositive(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3593, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong(SCIPisFeasNegative(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3580
 *         return SCIPisInfinity(self._scip, value)
 * 
 *     def isFeasNegative(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value < -feastol.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasNegative", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3595
 *         return SCIPisFeasNegative(self._scip, value)
 * 
 *     def isFeasPositive(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value > feastol.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_107isFeasPositive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_106isFeasPositive, "\n        Returns whether value > feastol.\n\n        Parameters\n        ----------\n        value : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_107isFeasPositive = {"isFeasPositive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_107isFeasPositive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_106isFeasPositive};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_107isFeasPositive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isFeasPositive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3595, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3595, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isFeasPositive", 0) < (0)) __PYX_ERR(2, 3595, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isFeasPositive", 1, 1, 1, i); __PYX_ERR(2, 3595, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3595, __pyx_L3_error)
    }
    __pyx_v_value = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isFeasPositive", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3595, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasPositive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_106isFeasPositive(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_106isFeasPositive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isFeasPositive", 0);

  /* "src/pyscipopt/scip.pxi":3608
 * 
 *         """
 *         return SCIPisFeasPositive(self._scip, value)             # <<<<<<<<<<<<<<
 * 
 *     def isFeasIntegral(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3608, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong(SCIPisFeasPositive(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3595
 *         return SCIPisFeasNegative(self._scip, value)
 * 
 *     def isFeasPositive(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value > feastol.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasPositive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3610
 *         return SCIPisFeasPositive(self._scip, value)
 * 
 *     def isFeasIntegral(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value is integral within the LP feasibility bounds.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_109isFeasIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_108isFeasIntegral, "\n        Returns whether value is integral within the LP feasibility bounds.\n\n        Parameters\n        ----------\n        value : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_109isFeasIntegral = {"isFeasIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_109isFeasIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_108isFeasIntegral};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_109isFeasIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isFeasIntegral (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3610, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3610, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isFeasIntegral", 0) < (0)) __PYX_ERR(2, 3610, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isFeasIntegral", 1, 1, 1, i); __PYX_ERR(2, 3610, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3610, __pyx_L3_error)
    }
    __pyx_v_value = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isFeasIntegral", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3610, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasIntegral", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_108isFeasIntegral(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_108isFeasIntegral(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isFeasIntegral", 0);

  /* "src/pyscipopt/scip.pxi":3623
 * 
 *         """
 *         return SCIPisFeasIntegral(self._scip, value)             # <<<<<<<<<<<<<<
 * 
 *     def isIntegral(self, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3623, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong(SCIPisFeasIntegral(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3623, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3610
 *         return SCIPisFeasPositive(self._scip, value)
 * 
 *     def isFeasIntegral(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value is integral within the LP feasibility bounds.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasIntegral", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3625
 *         return SCIPisFeasIntegral(self._scip, value)
 * 
 *     def isIntegral(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value is integral within epsilon tolerance.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_111isIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_110isIntegral, "\n        Returns whether value is integral within epsilon tolerance.\n\n        Parameters\n        ----------\n        value : float\n            value to check\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_111isIntegral = {"isIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_111isIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_110isIntegral};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_111isIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isIntegral (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3625, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3625, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isIntegral", 0) < (0)) __PYX_ERR(2, 3625, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isIntegral", 1, 1, 1, i); __PYX_ERR(2, 3625, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3625, __pyx_L3_error)
    }
    __pyx_v_value = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isIntegral", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3625, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isIntegral", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_110isIntegral(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_110isIntegral(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isIntegral", 0);

  /* "src/pyscipopt/scip.pxi":3639
 * 
 *         """
 *         return SCIPisIntegral(self._scip, value)             # <<<<<<<<<<<<<<
 * 
 *     def adjustedVarLb(self, Variable var, lb):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3639, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong(SCIPisIntegral(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3639, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3625
 *         return SCIPisFeasIntegral(self._scip, value)
 * 
 *     def isIntegral(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value is integral within epsilon tolerance.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isIntegral", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3641
 *         return SCIPisIntegral(self._scip, value)
 * 
 *     def adjustedVarLb(self, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the adjusted (i.e. rounded, if the given variable is of integral type) lower bound value;
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_113adjustedVarLb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_112adjustedVarLb, "\n        Returns the adjusted (i.e. rounded, if the given variable is of integral type) lower bound value;\n        does not change the bounds of the variable.\n\n        Parameters\n        ----------\n        var : Variable\n            variable for which the bound is adjusted\n        lb : float\n            lower bound value to adjust\n\n        Returns\n        -------\n        float\n            adjusted lower bound\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_113adjustedVarLb = {"adjustedVarLb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_113adjustedVarLb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_112adjustedVarLb};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_113adjustedVarLb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_lb = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("adjustedVarLb (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_lb,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3641, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3641, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3641, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "adjustedVarLb", 0) < (0)) __PYX_ERR(2, 3641, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("adjustedVarLb", 1, 2, 2, i); __PYX_ERR(2, 3641, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3641, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3641, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_lb = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("adjustedVarLb", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 3641, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.adjustedVarLb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 3641, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_112adjustedVarLb(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_lb);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_112adjustedVarLb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("adjustedVarLb", 0);

  /* "src/pyscipopt/scip.pxi":3659
 * 
 *         """
 *         return SCIPadjustedVarLb(self._scip, var.scip_var, lb)             # <<<<<<<<<<<<<<
 * 
 *     def adjustedVarUb(self, Variable var, ub):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3659, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(SCIPadjustedVarLb(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3641
 *         return SCIPisIntegral(self._scip, value)
 * 
 *     def adjustedVarLb(self, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the adjusted (i.e. rounded, if the given variable is of integral type) lower bound value;
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.adjustedVarLb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3661
 *         return SCIPadjustedVarLb(self._scip, var.scip_var, lb)
 * 
 *     def adjustedVarUb(self, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the adjusted (i.e. rounded, if the given variable is of integral type) upper bound value;
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_115adjustedVarUb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_114adjustedVarUb, "\n        Returns the adjusted (i.e. rounded, if the given variable is of integral type) upper bound value;\n        does not change the bounds of the variable.\n\n        Parameters\n        ----------\n        var : Variable\n            variable for which the bound is adjusted\n        ub : float\n            upper bound value to adjust\n\n        Returns\n        -------\n        float\n            adjusted upper bound\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_115adjustedVarUb = {"adjustedVarUb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_115adjustedVarUb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_114adjustedVarUb};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_115adjustedVarUb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_ub = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("adjustedVarUb (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_ub,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3661, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3661, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3661, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "adjustedVarUb", 0) < (0)) __PYX_ERR(2, 3661, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("adjustedVarUb", 1, 2, 2, i); __PYX_ERR(2, 3661, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3661, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3661, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_ub = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("adjustedVarUb", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 3661, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.adjustedVarUb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 3661, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_114adjustedVarUb(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_ub);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_114adjustedVarUb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("adjustedVarUb", 0);

  /* "src/pyscipopt/scip.pxi":3679
 * 
 *         """
 *         return SCIPadjustedVarUb(self._scip, var.scip_var, ub)             # <<<<<<<<<<<<<<
 * 
 *     def isEQ(self, val1, val2):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_ub); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3679, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(SCIPadjustedVarUb(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3661
 *         return SCIPadjustedVarLb(self._scip, var.scip_var, lb)
 * 
 *     def adjustedVarUb(self, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the adjusted (i.e. rounded, if the given variable is of integral type) upper bound value;
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.adjustedVarUb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3681
 *         return SCIPadjustedVarUb(self._scip, var.scip_var, ub)
 * 
 *     def isEQ(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Checks, if values are in range of epsilon.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_117isEQ(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_116isEQ, "\n        Checks, if values are in range of epsilon.\n\n        Parameters\n        ----------\n        val1 : float\n        val2 : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_117isEQ = {"isEQ", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_117isEQ, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_116isEQ};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_117isEQ(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val1 = 0;
  PyObject *__pyx_v_val2 = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isEQ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val1,&__pyx_mstate_global->__pyx_n_u_val2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3681, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3681, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3681, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isEQ", 0) < (0)) __PYX_ERR(2, 3681, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isEQ", 1, 2, 2, i); __PYX_ERR(2, 3681, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3681, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3681, __pyx_L3_error)
    }
    __pyx_v_val1 = values[0];
    __pyx_v_val2 = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isEQ", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 3681, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isEQ", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_116isEQ(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_val1, __pyx_v_val2);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_116isEQ(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  SCIP_Real __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isEQ", 0);

  /* "src/pyscipopt/scip.pxi":3695
 * 
 *         """
 *         return SCIPisEQ(self._scip, val1, val2)             # <<<<<<<<<<<<<<
 * 
 *     def isFeasEQ(self, val1, val2):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val1); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3695, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_val2); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3695, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong(SCIPisEQ(__pyx_v_self->_scip, __pyx_t_1, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3695, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3681
 *         return SCIPadjustedVarUb(self._scip, var.scip_var, ub)
 * 
 *     def isEQ(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Checks, if values are in range of epsilon.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isEQ", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3697
 *         return SCIPisEQ(self._scip, val1, val2)
 * 
 *     def isFeasEQ(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if relative difference between val1 and val2 is in range of feasibility tolerance.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_119isFeasEQ(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_118isFeasEQ, "\n        Returns if relative difference between val1 and val2 is in range of feasibility tolerance.\n\n        Parameters\n        ----------\n        val1 : float\n        val2 : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_119isFeasEQ = {"isFeasEQ", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_119isFeasEQ, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_118isFeasEQ};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_119isFeasEQ(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val1 = 0;
  PyObject *__pyx_v_val2 = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isFeasEQ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val1,&__pyx_mstate_global->__pyx_n_u_val2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3697, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3697, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3697, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isFeasEQ", 0) < (0)) __PYX_ERR(2, 3697, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isFeasEQ", 1, 2, 2, i); __PYX_ERR(2, 3697, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3697, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3697, __pyx_L3_error)
    }
    __pyx_v_val1 = values[0];
    __pyx_v_val2 = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isFeasEQ", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 3697, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasEQ", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_118isFeasEQ(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_val1, __pyx_v_val2);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_118isFeasEQ(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  SCIP_Real __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isFeasEQ", 0);

  /* "src/pyscipopt/scip.pxi":3711
 * 
 *         """
 *         return SCIPisFeasEQ(self._scip, val1, val2)             # <<<<<<<<<<<<<<
 * 
 *     def isFeasLT(self, val1, val2):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val1); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3711, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_val2); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3711, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong(SCIPisFeasEQ(__pyx_v_self->_scip, __pyx_t_1, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3697
 *         return SCIPisEQ(self._scip, val1, val2)
 * 
 *     def isFeasEQ(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if relative difference between val1 and val2 is in range of feasibility tolerance.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasEQ", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3713
 *         return SCIPisFeasEQ(self._scip, val1, val2)
 * 
 *     def isFeasLT(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether relative difference between val1 and val2 is lower than minus feasibility tolerance.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_121isFeasLT(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_120isFeasLT, "\n        Returns whether relative difference between val1 and val2 is lower than minus feasibility tolerance.\n\n        Parameters\n        ----------\n        val1 : float\n        val2 : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_121isFeasLT = {"isFeasLT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_121isFeasLT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_120isFeasLT};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_121isFeasLT(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val1 = 0;
  PyObject *__pyx_v_val2 = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isFeasLT (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val1,&__pyx_mstate_global->__pyx_n_u_val2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3713, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3713, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3713, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isFeasLT", 0) < (0)) __PYX_ERR(2, 3713, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isFeasLT", 1, 2, 2, i); __PYX_ERR(2, 3713, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3713, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3713, __pyx_L3_error)
    }
    __pyx_v_val1 = values[0];
    __pyx_v_val2 = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isFeasLT", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 3713, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasLT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_120isFeasLT(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_val1, __pyx_v_val2);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_120isFeasLT(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  SCIP_Real __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isFeasLT", 0);

  /* "src/pyscipopt/scip.pxi":3727
 * 
 *         """
 *         return SCIPisFeasLT(self._scip, val1, val2)             # <<<<<<<<<<<<<<
 * 
 *     def isFeasLE(self, val1, val2):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val1); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3727, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_val2); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3727, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong(SCIPisFeasLT(__pyx_v_self->_scip, __pyx_t_1, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3713
 *         return SCIPisFeasEQ(self._scip, val1, val2)
 * 
 *     def isFeasLT(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether relative difference between val1 and val2 is lower than minus feasibility tolerance.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasLT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3729
 *         return SCIPisFeasLT(self._scip, val1, val2)
 * 
 *     def isFeasLE(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether relative difference between val1 and val2 is not greater than feasibility tolerance.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_123isFeasLE(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_122isFeasLE, "\n        Returns whether relative difference between val1 and val2 is not greater than feasibility tolerance.\n\n        Parameters\n        ----------\n        val1 : float\n        val2 : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_123isFeasLE = {"isFeasLE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_123isFeasLE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_122isFeasLE};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_123isFeasLE(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val1 = 0;
  PyObject *__pyx_v_val2 = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isFeasLE (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val1,&__pyx_mstate_global->__pyx_n_u_val2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3729, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3729, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3729, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isFeasLE", 0) < (0)) __PYX_ERR(2, 3729, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isFeasLE", 1, 2, 2, i); __PYX_ERR(2, 3729, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3729, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3729, __pyx_L3_error)
    }
    __pyx_v_val1 = values[0];
    __pyx_v_val2 = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isFeasLE", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 3729, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasLE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_122isFeasLE(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_val1, __pyx_v_val2);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_122isFeasLE(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  SCIP_Real __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isFeasLE", 0);

  /* "src/pyscipopt/scip.pxi":3743
 * 
 *         """
 *         return SCIPisFeasLE(self._scip, val1, val2)             # <<<<<<<<<<<<<<
 * 
 *     def isFeasGT(self, val1, val2):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val1); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3743, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_val2); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3743, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong(SCIPisFeasLE(__pyx_v_self->_scip, __pyx_t_1, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3729
 *         return SCIPisFeasLT(self._scip, val1, val2)
 * 
 *     def isFeasLE(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether relative difference between val1 and val2 is not greater than feasibility tolerance.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasLE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3745
 *         return SCIPisFeasLE(self._scip, val1, val2)
 * 
 *     def isFeasGT(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether relative difference between val1 and val2 is greater than feasibility tolerance.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_125isFeasGT(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_124isFeasGT, "\n        Returns whether relative difference between val1 and val2 is greater than feasibility tolerance.\n\n        Parameters\n        ----------\n        val1 : float\n        val2 : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_125isFeasGT = {"isFeasGT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_125isFeasGT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_124isFeasGT};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_125isFeasGT(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val1 = 0;
  PyObject *__pyx_v_val2 = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isFeasGT (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val1,&__pyx_mstate_global->__pyx_n_u_val2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3745, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3745, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3745, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isFeasGT", 0) < (0)) __PYX_ERR(2, 3745, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isFeasGT", 1, 2, 2, i); __PYX_ERR(2, 3745, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3745, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3745, __pyx_L3_error)
    }
    __pyx_v_val1 = values[0];
    __pyx_v_val2 = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isFeasGT", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 3745, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasGT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_124isFeasGT(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_val1, __pyx_v_val2);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_124isFeasGT(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  SCIP_Real __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isFeasGT", 0);

  /* "src/pyscipopt/scip.pxi":3759
 * 
 *         """
 *         return SCIPisFeasGT(self._scip, val1, val2)             # <<<<<<<<<<<<<<
 * 
 *     def isFeasGE(self, val1, val2):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val1); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3759, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_val2); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3759, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong(SCIPisFeasGT(__pyx_v_self->_scip, __pyx_t_1, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3745
 *         return SCIPisFeasLE(self._scip, val1, val2)
 * 
 *     def isFeasGT(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether relative difference between val1 and val2 is greater than feasibility tolerance.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasGT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3761
 *         return SCIPisFeasGT(self._scip, val1, val2)
 * 
 *     def isFeasGE(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether relative difference of val1 and val2 is not lower than minus feasibility tolerance.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_127isFeasGE(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_126isFeasGE, "\n        Returns whether relative difference of val1 and val2 is not lower than minus feasibility tolerance.\n\n        Parameters\n        ----------\n        val1 : float\n        val2 : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_127isFeasGE = {"isFeasGE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_127isFeasGE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_126isFeasGE};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_127isFeasGE(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val1 = 0;
  PyObject *__pyx_v_val2 = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isFeasGE (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val1,&__pyx_mstate_global->__pyx_n_u_val2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3761, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3761, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3761, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isFeasGE", 0) < (0)) __PYX_ERR(2, 3761, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isFeasGE", 1, 2, 2, i); __PYX_ERR(2, 3761, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3761, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3761, __pyx_L3_error)
    }
    __pyx_v_val1 = values[0];
    __pyx_v_val2 = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isFeasGE", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 3761, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasGE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_126isFeasGE(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_val1, __pyx_v_val2);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_126isFeasGE(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  SCIP_Real __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isFeasGE", 0);

  /* "src/pyscipopt/scip.pxi":3775
 * 
 *         """
 *         return SCIPisFeasGE(self._scip, val1, val2)             # <<<<<<<<<<<<<<
 * 
 *     def isLE(self, val1, val2):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val1); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3775, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_val2); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3775, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong(SCIPisFeasGE(__pyx_v_self->_scip, __pyx_t_1, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3761
 *         return SCIPisFeasGT(self._scip, val1, val2)
 * 
 *     def isFeasGE(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether relative difference of val1 and val2 is not lower than minus feasibility tolerance.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isFeasGE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3777
 *         return SCIPisFeasGE(self._scip, val1, val2)
 * 
 *     def isLE(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val1 <= val2 + eps.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_129isLE(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_128isLE, "\n        Returns whether val1 <= val2 + eps.\n\n        Parameters\n        ----------\n        val1 : float\n        val2 : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_129isLE = {"isLE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_129isLE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_128isLE};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_129isLE(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val1 = 0;
  PyObject *__pyx_v_val2 = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isLE (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val1,&__pyx_mstate_global->__pyx_n_u_val2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3777, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3777, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3777, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isLE", 0) < (0)) __PYX_ERR(2, 3777, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isLE", 1, 2, 2, i); __PYX_ERR(2, 3777, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3777, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3777, __pyx_L3_error)
    }
    __pyx_v_val1 = values[0];
    __pyx_v_val2 = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isLE", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 3777, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isLE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_128isLE(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_val1, __pyx_v_val2);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_128isLE(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  SCIP_Real __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isLE", 0);

  /* "src/pyscipopt/scip.pxi":3791
 * 
 *         """
 *         return SCIPisLE(self._scip, val1, val2)             # <<<<<<<<<<<<<<
 * 
 *     def isLT(self, val1, val2):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val1); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3791, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_val2); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3791, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong(SCIPisLE(__pyx_v_self->_scip, __pyx_t_1, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3777
 *         return SCIPisFeasGE(self._scip, val1, val2)
 * 
 *     def isLE(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val1 <= val2 + eps.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isLE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3793
 *         return SCIPisLE(self._scip, val1, val2)
 * 
 *     def isLT(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val1 < val2 - eps.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_131isLT(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_130isLT, "\n        Returns whether val1 < val2 - eps.\n\n        Parameters\n        ----------\n        val1 : float\n        val2 : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_131isLT = {"isLT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_131isLT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_130isLT};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_131isLT(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val1 = 0;
  PyObject *__pyx_v_val2 = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isLT (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val1,&__pyx_mstate_global->__pyx_n_u_val2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3793, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3793, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3793, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isLT", 0) < (0)) __PYX_ERR(2, 3793, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isLT", 1, 2, 2, i); __PYX_ERR(2, 3793, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3793, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3793, __pyx_L3_error)
    }
    __pyx_v_val1 = values[0];
    __pyx_v_val2 = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isLT", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 3793, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isLT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_130isLT(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_val1, __pyx_v_val2);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_130isLT(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  SCIP_Real __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isLT", 0);

  /* "src/pyscipopt/scip.pxi":3807
 * 
 *         """
 *         return SCIPisLT(self._scip, val1, val2)             # <<<<<<<<<<<<<<
 * 
 *     def isGE(self, val1, val2):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val1); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3807, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_val2); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3807, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong(SCIPisLT(__pyx_v_self->_scip, __pyx_t_1, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3807, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3793
 *         return SCIPisLE(self._scip, val1, val2)
 * 
 *     def isLT(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val1 < val2 - eps.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isLT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3809
 *         return SCIPisLT(self._scip, val1, val2)
 * 
 *     def isGE(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val1 >= val2 - eps.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_133isGE(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_132isGE, "\n        Returns whether val1 >= val2 - eps.\n\n        Parameters\n        ----------\n        val1 : float\n        val2 : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_133isGE = {"isGE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_133isGE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_132isGE};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_133isGE(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val1 = 0;
  PyObject *__pyx_v_val2 = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isGE (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val1,&__pyx_mstate_global->__pyx_n_u_val2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3809, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3809, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3809, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isGE", 0) < (0)) __PYX_ERR(2, 3809, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isGE", 1, 2, 2, i); __PYX_ERR(2, 3809, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3809, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3809, __pyx_L3_error)
    }
    __pyx_v_val1 = values[0];
    __pyx_v_val2 = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isGE", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 3809, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isGE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_132isGE(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_val1, __pyx_v_val2);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_132isGE(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  SCIP_Real __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isGE", 0);

  /* "src/pyscipopt/scip.pxi":3823
 * 
 *         """
 *         return SCIPisGE(self._scip, val1, val2)             # <<<<<<<<<<<<<<
 * 
 *     def isGT(self, val1, val2):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val1); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3823, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_val2); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3823, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong(SCIPisGE(__pyx_v_self->_scip, __pyx_t_1, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3823, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3809
 *         return SCIPisLT(self._scip, val1, val2)
 * 
 *     def isGE(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val1 >= val2 - eps.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isGE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3825
 *         return SCIPisGE(self._scip, val1, val2)
 * 
 *     def isGT(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val1 > val2 + eps.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_135isGT(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_134isGT, "\n        Returns whether val1 > val2 + eps.\n\n        Parameters\n        ----------\n        val1 : float\n        val2 : foat\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_135isGT = {"isGT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_135isGT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_134isGT};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_135isGT(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val1 = 0;
  PyObject *__pyx_v_val2 = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isGT (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val1,&__pyx_mstate_global->__pyx_n_u_val2,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3825, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3825, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3825, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isGT", 0) < (0)) __PYX_ERR(2, 3825, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isGT", 1, 2, 2, i); __PYX_ERR(2, 3825, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3825, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3825, __pyx_L3_error)
    }
    __pyx_v_val1 = values[0];
    __pyx_v_val2 = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isGT", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 3825, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isGT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_134isGT(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_val1, __pyx_v_val2);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_134isGT(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val1, PyObject *__pyx_v_val2) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  SCIP_Real __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isGT", 0);

  /* "src/pyscipopt/scip.pxi":3839
 * 
 *         """
 *         return SCIPisGT(self._scip, val1, val2)             # <<<<<<<<<<<<<<
 * 
 *     def isHugeValue(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val1); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3839, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_val2); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3839, __pyx_L1_error)
  __pyx_t_3 = __Pyx_PyBool_FromLong(SCIPisGT(__pyx_v_self->_scip, __pyx_t_1, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3825
 *         return SCIPisGE(self._scip, val1, val2)
 * 
 *     def isGT(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val1 > val2 + eps.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isGT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3841
 *         return SCIPisGT(self._scip, val1, val2)
 * 
 *     def isHugeValue(self, val):             # <<<<<<<<<<<<<<
 *         """
 *         Checks if value is huge and should be
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_137isHugeValue(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_136isHugeValue, "\n        Checks if value is huge and should be\n        handled separately (e.g., in activity computation).\n\n        Parameters\n        ----------\n        val : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_137isHugeValue = {"isHugeValue", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_137isHugeValue, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_136isHugeValue};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_137isHugeValue(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isHugeValue (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3841, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3841, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isHugeValue", 0) < (0)) __PYX_ERR(2, 3841, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isHugeValue", 1, 1, 1, i); __PYX_ERR(2, 3841, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3841, __pyx_L3_error)
    }
    __pyx_v_val = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isHugeValue", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3841, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isHugeValue", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_136isHugeValue(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_val);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_136isHugeValue(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isHugeValue", 0);

  /* "src/pyscipopt/scip.pxi":3855
 * 
 *         """
 *         return SCIPisHugeValue(self._scip, val)             # <<<<<<<<<<<<<<
 * 
 *     def isPositive(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3855, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong(SCIPisHugeValue(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3855, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3841
 *         return SCIPisGT(self._scip, val1, val2)
 * 
 *     def isHugeValue(self, val):             # <<<<<<<<<<<<<<
 *         """
 *         Checks if value is huge and should be
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isHugeValue", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3857
 *         return SCIPisHugeValue(self._scip, val)
 * 
 *     def isPositive(self, val):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val > eps.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_139isPositive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_138isPositive, "\n        Returns whether val > eps.\n\n        Parameters\n        ----------\n        val : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_139isPositive = {"isPositive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_139isPositive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_138isPositive};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_139isPositive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isPositive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3857, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3857, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isPositive", 0) < (0)) __PYX_ERR(2, 3857, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isPositive", 1, 1, 1, i); __PYX_ERR(2, 3857, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3857, __pyx_L3_error)
    }
    __pyx_v_val = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isPositive", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3857, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isPositive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_138isPositive(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_val);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_138isPositive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isPositive", 0);

  /* "src/pyscipopt/scip.pxi":3870
 * 
 *         """
 *         return SCIPisPositive(self._scip, val)             # <<<<<<<<<<<<<<
 * 
 *     def isNegative(self, val):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3870, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong(SCIPisPositive(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3857
 *         return SCIPisHugeValue(self._scip, val)
 * 
 *     def isPositive(self, val):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val > eps.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isPositive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3872
 *         return SCIPisPositive(self._scip, val)
 * 
 *     def isNegative(self, val):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val < -eps.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_141isNegative(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_140isNegative, "\n        Returns whether val < -eps.\n\n        Parameters\n        ----------\n        val : float\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_141isNegative = {"isNegative", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_141isNegative, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_140isNegative};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_141isNegative(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_val = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isNegative (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_val,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3872, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3872, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isNegative", 0) < (0)) __PYX_ERR(2, 3872, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isNegative", 1, 1, 1, i); __PYX_ERR(2, 3872, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3872, __pyx_L3_error)
    }
    __pyx_v_val = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isNegative", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3872, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isNegative", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_140isNegative(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_val);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_140isNegative(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_val) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isNegative", 0);

  /* "src/pyscipopt/scip.pxi":3885
 * 
 *         """
 *         return SCIPisNegative(self._scip, val)             # <<<<<<<<<<<<<<
 * 
 *     def getCondition(self, exact=False):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_val); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3885, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyBool_FromLong(SCIPisNegative(__pyx_v_self->_scip, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3885, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3872
 *         return SCIPisPositive(self._scip, val)
 * 
 *     def isNegative(self, val):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val < -eps.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isNegative", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3887
 *         return SCIPisNegative(self._scip, val)
 * 
 *     def getCondition(self, exact=False):             # <<<<<<<<<<<<<<
 *         """
 *         Get the current LP's condition number.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_143getCondition(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_142getCondition, "\n        Get the current LP's condition number.\n\n        Parameters\n        ----------\n        exact : bool, optional\n            whether to get an estimate or the exact value (Default value = False)\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_143getCondition = {"getCondition", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_143getCondition, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_142getCondition};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_143getCondition(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_exact = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCondition (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_exact,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3887, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3887, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getCondition", 0) < (0)) __PYX_ERR(2, 3887, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3887, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_exact = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getCondition", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 3887, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getCondition", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_142getCondition(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_exact);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_142getCondition(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_exact) {
  SCIP_LPI *__pyx_v_lpi;
  SCIP_Real __pyx_v_quality;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getCondition", 0);

  /* "src/pyscipopt/scip.pxi":3902
 *         """
 *         cdef SCIP_LPI* lpi
 *         PY_SCIP_CALL(SCIPgetLPI(self._scip, &lpi))             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real quality = 0
 *         if exact:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetLPI(__pyx_v_self->_scip, (&__pyx_v_lpi))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 3902, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3902, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3903
 *         cdef SCIP_LPI* lpi
 *         PY_SCIP_CALL(SCIPgetLPI(self._scip, &lpi))
 *         cdef SCIP_Real quality = 0             # <<<<<<<<<<<<<<
 *         if exact:
 *             PY_SCIP_CALL(SCIPlpiGetRealSolQuality(lpi, SCIP_LPSOLQUALITY_EXACTCONDITION, &quality))
*/
  __pyx_v_quality = 0.0;

  /* "src/pyscipopt/scip.pxi":3904
 *         PY_SCIP_CALL(SCIPgetLPI(self._scip, &lpi))
 *         cdef SCIP_Real quality = 0
 *         if exact:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPlpiGetRealSolQuality(lpi, SCIP_LPSOLQUALITY_EXACTCONDITION, &quality))
 *         else:
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_exact); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 3904, __pyx_L1_error)
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":3905
 *         cdef SCIP_Real quality = 0
 *         if exact:
 *             PY_SCIP_CALL(SCIPlpiGetRealSolQuality(lpi, SCIP_LPSOLQUALITY_EXACTCONDITION, &quality))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPlpiGetRealSolQuality(lpi, SCIP_LPSOLQUALITY_ESTIMCONDITION, &quality))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 3905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetRealSolQuality(__pyx_v_lpi, SCIP_LPSOLQUALITY_EXACTCONDITION, (&__pyx_v_quality))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3905, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":3904
 *         PY_SCIP_CALL(SCIPgetLPI(self._scip, &lpi))
 *         cdef SCIP_Real quality = 0
 *         if exact:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPlpiGetRealSolQuality(lpi, SCIP_LPSOLQUALITY_EXACTCONDITION, &quality))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":3907
 *             PY_SCIP_CALL(SCIPlpiGetRealSolQuality(lpi, SCIP_LPSOLQUALITY_EXACTCONDITION, &quality))
 *         else:
 *             PY_SCIP_CALL(SCIPlpiGetRealSolQuality(lpi, SCIP_LPSOLQUALITY_ESTIMCONDITION, &quality))             # <<<<<<<<<<<<<<
 * 
 *         return quality
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3907, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetRealSolQuality(__pyx_v_lpi, SCIP_LPSOLQUALITY_ESTIMCONDITION, (&__pyx_v_quality))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3907, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3907, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":3909
 *             PY_SCIP_CALL(SCIPlpiGetRealSolQuality(lpi, SCIP_LPSOLQUALITY_ESTIMCONDITION, &quality))
 * 
 *         return quality             # <<<<<<<<<<<<<<
 * 
 *     def enableReoptimization(self, enable=True):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_quality); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3887
 *         return SCIPisNegative(self._scip, val)
 * 
 *     def getCondition(self, exact=False):             # <<<<<<<<<<<<<<
 *         """
 *         Get the current LP's condition number.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getCondition", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3911
 *         return quality
 * 
 *     def enableReoptimization(self, enable=True):             # <<<<<<<<<<<<<<
 *         """
 *         Include specific heuristics and branching rules for reoptimization.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_145enableReoptimization(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_144enableReoptimization, "\n        Include specific heuristics and branching rules for reoptimization.\n\n        Parameters\n        ----------\n        enable : bool, optional\n            True to enable and False to disable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_145enableReoptimization = {"enableReoptimization", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_145enableReoptimization, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_144enableReoptimization};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_145enableReoptimization(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_enable = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("enableReoptimization (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_enable,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3911, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3911, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "enableReoptimization", 0) < (0)) __PYX_ERR(2, 3911, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3911, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_enable = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("enableReoptimization", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 3911, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.enableReoptimization", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_144enableReoptimization(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_enable);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_144enableReoptimization(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_enable) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Bool __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("enableReoptimization", 0);

  /* "src/pyscipopt/scip.pxi":3921
 * 
 *         """
 *         PY_SCIP_CALL(SCIPenableReoptimization(self._scip, enable))             # <<<<<<<<<<<<<<
 * 
 *     def lpiGetIterations(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_enable); if (unlikely((__pyx_t_4 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3921, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPenableReoptimization(__pyx_v_self->_scip, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3921, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3921, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3911
 *         return quality
 * 
 *     def enableReoptimization(self, enable=True):             # <<<<<<<<<<<<<<
 *         """
 *         Include specific heuristics and branching rules for reoptimization.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.enableReoptimization", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3923
 *         PY_SCIP_CALL(SCIPenableReoptimization(self._scip, enable))
 * 
 *     def lpiGetIterations(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the iteration count of the last solved LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_147lpiGetIterations(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_146lpiGetIterations, "\n        Get the iteration count of the last solved LP.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_147lpiGetIterations = {"lpiGetIterations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_147lpiGetIterations, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_146lpiGetIterations};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_147lpiGetIterations(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("lpiGetIterations (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("lpiGetIterations", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("lpiGetIterations", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_146lpiGetIterations(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_146lpiGetIterations(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_LPI *__pyx_v_lpi;
  int __pyx_v_iters;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("lpiGetIterations", 0);

  /* "src/pyscipopt/scip.pxi":3933
 *         """
 *         cdef SCIP_LPI* lpi
 *         cdef int iters = 0             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPgetLPI(self._scip, &lpi))
*/
  __pyx_v_iters = 0;

  /* "src/pyscipopt/scip.pxi":3935
 *         cdef int iters = 0
 * 
 *         PY_SCIP_CALL(SCIPgetLPI(self._scip, &lpi))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPlpiGetIterations(lpi, &iters))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetLPI(__pyx_v_self->_scip, (&__pyx_v_lpi))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 3935, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3935, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3936
 * 
 *         PY_SCIP_CALL(SCIPgetLPI(self._scip, &lpi))
 *         PY_SCIP_CALL(SCIPlpiGetIterations(lpi, &iters))             # <<<<<<<<<<<<<<
 * 
 *         return iters
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 3936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPlpiGetIterations(__pyx_v_lpi, (&__pyx_v_iters))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 3936, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3938
 *         PY_SCIP_CALL(SCIPlpiGetIterations(lpi, &iters))
 * 
 *         return iters             # <<<<<<<<<<<<<<
 * 
 *     # Objective function
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_iters); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3923
 *         PY_SCIP_CALL(SCIPenableReoptimization(self._scip, enable))
 * 
 *     def lpiGetIterations(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the iteration count of the last solved LP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.lpiGetIterations", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3941
 * 
 *     # Objective function
 *     def setMinimize(self):             # <<<<<<<<<<<<<<
 *         """Set the objective sense to minimization."""
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MINIMIZE))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_149setMinimize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_148setMinimize, "Set the objective sense to minimization.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_149setMinimize = {"setMinimize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_149setMinimize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_148setMinimize};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_149setMinimize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setMinimize (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("setMinimize", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("setMinimize", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_148setMinimize(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_148setMinimize(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setMinimize", 0);

  /* "src/pyscipopt/scip.pxi":3943
 *     def setMinimize(self):
 *         """Set the objective sense to minimization."""
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MINIMIZE))             # <<<<<<<<<<<<<<
 * 
 *     def setMaximize(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetObjsense(__pyx_v_self->_scip, SCIP_OBJSENSE_MINIMIZE)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 3943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3941
 * 
 *     # Objective function
 *     def setMinimize(self):             # <<<<<<<<<<<<<<
 *         """Set the objective sense to minimization."""
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MINIMIZE))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setMinimize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3945
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MINIMIZE))
 * 
 *     def setMaximize(self):             # <<<<<<<<<<<<<<
 *         """Set the objective sense to maximization."""
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MAXIMIZE))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_151setMaximize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_150setMaximize, "Set the objective sense to maximization.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_151setMaximize = {"setMaximize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_151setMaximize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_150setMaximize};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_151setMaximize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setMaximize (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("setMaximize", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("setMaximize", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_150setMaximize(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_150setMaximize(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setMaximize", 0);

  /* "src/pyscipopt/scip.pxi":3947
 *     def setMaximize(self):
 *         """Set the objective sense to maximization."""
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MAXIMIZE))             # <<<<<<<<<<<<<<
 * 
 *     def setObjlimit(self, objlimit):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetObjsense(__pyx_v_self->_scip, SCIP_OBJSENSE_MAXIMIZE)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 3947, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3947, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3945
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MINIMIZE))
 * 
 *     def setMaximize(self):             # <<<<<<<<<<<<<<
 *         """Set the objective sense to maximization."""
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MAXIMIZE))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setMaximize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3949
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MAXIMIZE))
 * 
 *     def setObjlimit(self, objlimit):             # <<<<<<<<<<<<<<
 *         """
 *         Set a limit on the objective function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_153setObjlimit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_152setObjlimit, "\n        Set a limit on the objective function.\n        Only solutions with objective value better than this limit are accepted.\n\n        Parameters\n        ----------\n        objlimit : float\n            limit on the objective function\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_153setObjlimit = {"setObjlimit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_153setObjlimit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_152setObjlimit};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_153setObjlimit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_objlimit = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setObjlimit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_objlimit,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3949, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3949, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setObjlimit", 0) < (0)) __PYX_ERR(2, 3949, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setObjlimit", 1, 1, 1, i); __PYX_ERR(2, 3949, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3949, __pyx_L3_error)
    }
    __pyx_v_objlimit = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setObjlimit", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 3949, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setObjlimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_152setObjlimit(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_objlimit);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_152setObjlimit(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_objlimit) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setObjlimit", 0);

  /* "src/pyscipopt/scip.pxi":3960
 * 
 *         """
 *         PY_SCIP_CALL(SCIPsetObjlimit(self._scip, objlimit))             # <<<<<<<<<<<<<<
 * 
 *     def getObjlimit(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_objlimit); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 3960, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetObjlimit(__pyx_v_self->_scip, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3960, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":3949
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MAXIMIZE))
 * 
 *     def setObjlimit(self, objlimit):             # <<<<<<<<<<<<<<
 *         """
 *         Set a limit on the objective function.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setObjlimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3962
 *         PY_SCIP_CALL(SCIPsetObjlimit(self._scip, objlimit))
 * 
 *     def getObjlimit(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns current limit on objective function.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_155getObjlimit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_154getObjlimit, "\n        Returns current limit on objective function.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_155getObjlimit = {"getObjlimit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_155getObjlimit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_154getObjlimit};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_155getObjlimit(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getObjlimit (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getObjlimit", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getObjlimit", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_154getObjlimit(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_154getObjlimit(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getObjlimit", 0);

  /* "src/pyscipopt/scip.pxi":3971
 * 
 *         """
 *         return SCIPgetObjlimit(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def setObjective(self, expr, sense = 'minimize', clear = 'true'):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetObjlimit(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":3962
 *         PY_SCIP_CALL(SCIPsetObjlimit(self._scip, objlimit))
 * 
 *     def getObjlimit(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns current limit on objective function.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getObjlimit", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":3973
 *         return SCIPgetObjlimit(self._scip)
 * 
 *     def setObjective(self, expr, sense = 'minimize', clear = 'true'):             # <<<<<<<<<<<<<<
 *         """
 *         Establish the objective function as a linear expression.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_157setObjective(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_156setObjective, "\n        Establish the objective function as a linear expression.\n\n        Parameters\n        ----------\n        expr : Expr or float\n            the objective function SCIP Expr, or constant value\n        sense : str, optional\n            the objective sense (\"minimize\" or \"maximize\") (Default value = 'minimize')\n        clear : bool, optional\n            set all other variables objective coefficient to zero (Default value = 'true')\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_157setObjective = {"setObjective", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_157setObjective, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_156setObjective};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_157setObjective(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_expr = 0;
  PyObject *__pyx_v_sense = 0;
  PyObject *__pyx_v_clear = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setObjective (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_expr,&__pyx_mstate_global->__pyx_n_u_sense,&__pyx_mstate_global->__pyx_n_u_clear,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 3973, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 3973, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3973, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3973, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setObjective", 0) < (0)) __PYX_ERR(2, 3973, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_minimize));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_true));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setObjective", 0, 1, 3, i); __PYX_ERR(2, 3973, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 3973, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 3973, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 3973, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_minimize));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_true));
    }
    __pyx_v_expr = values[0];
    __pyx_v_sense = values[1];
    __pyx_v_clear = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setObjective", 0, 1, 3, __pyx_nargs); __PYX_ERR(2, 3973, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setObjective", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_156setObjective(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_expr, __pyx_v_sense, __pyx_v_clear);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_156setObjective(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_expr, PyObject *__pyx_v_sense, PyObject *__pyx_v_clear) {
  SCIP_VAR **__pyx_v_vars;
  int __pyx_v_nvars;
  SCIP_Real __pyx_v_coef;
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  PyObject *__pyx_v_term = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  Py_ssize_t __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  SCIP_Real __pyx_t_13;
  Py_ssize_t __pyx_t_14;
  PyObject *__pyx_t_15 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setObjective", 0);
  __Pyx_INCREF(__pyx_v_expr);

  /* "src/pyscipopt/scip.pxi":3994
 * 
 *         # turn the constant value into an Expr instance for further processing
 *         if not isinstance(expr, Expr):             # <<<<<<<<<<<<<<
 *             assert(_is_number(expr)), "given coefficients are neither Expr or number but %s" % expr.__class__.__name__
 *             expr = Expr() + expr
*/
  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_expr, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr); 
  __pyx_t_2 = (!__pyx_t_1);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":3995
 *         # turn the constant value into an Expr instance for further processing
 *         if not isinstance(expr, Expr):
 *             assert(_is_number(expr)), "given coefficients are neither Expr or number but %s" % expr.__class__.__name__             # <<<<<<<<<<<<<<
 *             expr = Expr() + expr
 * 
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_4 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3995, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
        assert(__pyx_t_4);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_expr};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3995, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 3995, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) {
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3995, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3995, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_given_coefficients_are_neither_E, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3995, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_3, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(2, 3995, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 3995, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":3996
 *         if not isinstance(expr, Expr):
 *             assert(_is_number(expr)), "given coefficients are neither Expr or number but %s" % expr.__class__.__name__
 *             expr = Expr() + expr             # <<<<<<<<<<<<<<
 * 
 *         if expr.degree() > 1:
*/
    __pyx_t_5 = NULL;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3996, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_3);
    }
    __pyx_t_5 = PyNumber_Add(((PyObject *)__pyx_t_3), __pyx_v_expr); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF((PyObject *)__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_expr, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":3994
 * 
 *         # turn the constant value into an Expr instance for further processing
 *         if not isinstance(expr, Expr):             # <<<<<<<<<<<<<<
 *             assert(_is_number(expr)), "given coefficients are neither Expr or number but %s" % expr.__class__.__name__
 *             expr = Expr() + expr
*/
  }

  /* "src/pyscipopt/scip.pxi":3998
 *             expr = Expr() + expr
 * 
 *         if expr.degree() > 1:             # <<<<<<<<<<<<<<
 *             raise ValueError("SCIP does not support nonlinear objective functions. Consider using set_nonlinear_objective in the pyscipopt.recipe.nonlinear")
 * 
*/
  __pyx_t_3 = __pyx_v_expr;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_6 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_degree, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 3998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_mstate_global->__pyx_int_1, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3998, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 3998, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (unlikely(__pyx_t_2)) {

    /* "src/pyscipopt/scip.pxi":3999
 * 
 *         if expr.degree() > 1:
 *             raise ValueError("SCIP does not support nonlinear objective functions. Consider using set_nonlinear_objective in the pyscipopt.recipe.nonlinear")             # <<<<<<<<<<<<<<
 * 
 *         if clear:
*/
    __pyx_t_5 = NULL;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_SCIP_does_not_support_nonlinear};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 3999, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 3999, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":3998
 *             expr = Expr() + expr
 * 
 *         if expr.degree() > 1:             # <<<<<<<<<<<<<<
 *             raise ValueError("SCIP does not support nonlinear objective functions. Consider using set_nonlinear_objective in the pyscipopt.recipe.nonlinear")
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":4001
 *             raise ValueError("SCIP does not support nonlinear objective functions. Consider using set_nonlinear_objective in the pyscipopt.recipe.nonlinear")
 * 
 *         if clear:             # <<<<<<<<<<<<<<
 *             # clear existing objective function
 *             self.addObjoffset(-self.getObjoffset())
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_clear); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 4001, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":4003
 *         if clear:
 *             # clear existing objective function
 *             self.addObjoffset(-self.getObjoffset())             # <<<<<<<<<<<<<<
 *             vars = SCIPgetOrigVars(self._scip)
 *             nvars = SCIPgetNOrigVars(self._scip)
*/
    __pyx_t_5 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_7 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getObjoffset, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4003, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_7 = PyNumber_Negative(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 4003, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_addObjoffset, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4003, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":4004
 *             # clear existing objective function
 *             self.addObjoffset(-self.getObjoffset())
 *             vars = SCIPgetOrigVars(self._scip)             # <<<<<<<<<<<<<<
 *             nvars = SCIPgetNOrigVars(self._scip)
 *             for i in range(nvars):
*/
    __pyx_v_vars = SCIPgetOrigVars(__pyx_v_self->_scip);

    /* "src/pyscipopt/scip.pxi":4005
 *             self.addObjoffset(-self.getObjoffset())
 *             vars = SCIPgetOrigVars(self._scip)
 *             nvars = SCIPgetNOrigVars(self._scip)             # <<<<<<<<<<<<<<
 *             for i in range(nvars):
 *                 PY_SCIP_CALL(SCIPchgVarObj(self._scip, vars[i], 0.0))
*/
    __pyx_v_nvars = SCIPgetNOrigVars(__pyx_v_self->_scip);

    /* "src/pyscipopt/scip.pxi":4006
 *             vars = SCIPgetOrigVars(self._scip)
 *             nvars = SCIPgetNOrigVars(self._scip)
 *             for i in range(nvars):             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPchgVarObj(self._scip, vars[i], 0.0))
 * 
*/
    __pyx_t_8 = __pyx_v_nvars;
    __pyx_t_9 = __pyx_t_8;
    for (__pyx_t_10 = 0; __pyx_t_10 < __pyx_t_9; __pyx_t_10+=1) {
      __pyx_v_i = __pyx_t_10;

      /* "src/pyscipopt/scip.pxi":4007
 *             nvars = SCIPgetNOrigVars(self._scip)
 *             for i in range(nvars):
 *                 PY_SCIP_CALL(SCIPchgVarObj(self._scip, vars[i], 0.0))             # <<<<<<<<<<<<<<
 * 
 *         if expr[CONST] != 0.0:
*/
      __pyx_t_7 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4007, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarObj(__pyx_v_self->_scip, (__pyx_v_vars[__pyx_v_i]), 0.0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4007, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
        assert(__pyx_t_7);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4007, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }

    /* "src/pyscipopt/scip.pxi":4001
 *             raise ValueError("SCIP does not support nonlinear objective functions. Consider using set_nonlinear_objective in the pyscipopt.recipe.nonlinear")
 * 
 *         if clear:             # <<<<<<<<<<<<<<
 *             # clear existing objective function
 *             self.addObjoffset(-self.getObjoffset())
*/
  }

  /* "src/pyscipopt/scip.pxi":4009
 *                 PY_SCIP_CALL(SCIPchgVarObj(self._scip, vars[i], 0.0))
 * 
 *         if expr[CONST] != 0.0:             # <<<<<<<<<<<<<<
 *             self.addObjoffset(expr[CONST])
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CONST); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_expr, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_2 = (__Pyx_PyFloat_BoolNeObjC(__pyx_t_5, __pyx_mstate_global->__pyx_float_0_0, 0.0, 0, 0)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 4009, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":4010
 * 
 *         if expr[CONST] != 0.0:
 *             self.addObjoffset(expr[CONST])             # <<<<<<<<<<<<<<
 * 
 *         for term, coef in expr.terms.items():
*/
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CONST); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_expr, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 4010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_addObjoffset, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4010, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":4009
 *                 PY_SCIP_CALL(SCIPchgVarObj(self._scip, vars[i], 0.0))
 * 
 *         if expr[CONST] != 0.0:             # <<<<<<<<<<<<<<
 *             self.addObjoffset(expr[CONST])
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":4012
 *             self.addObjoffset(expr[CONST])
 * 
 *         for term, coef in expr.terms.items():             # <<<<<<<<<<<<<<
 *             # avoid CONST term of Expr
 *             if term != CONST:
*/
  __pyx_t_11 = 0;
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_expr, __pyx_mstate_global->__pyx_n_u_terms); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 4012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  if (unlikely(__pyx_t_7 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(2, 4012, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_dict_iterator(__pyx_t_7, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_12), (&__pyx_t_8)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __Pyx_XDECREF(__pyx_t_5);
  __pyx_t_5 = __pyx_t_3;
  __pyx_t_3 = 0;
  while (1) {
    __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_5, __pyx_t_12, &__pyx_t_11, &__pyx_t_3, &__pyx_t_7, NULL, __pyx_t_8);
    if (unlikely(__pyx_t_9 == 0)) break;
    if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(2, 4012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_13 = __Pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_13 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4012, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_XDECREF_SET(__pyx_v_term, __pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_v_coef = __pyx_t_13;

    /* "src/pyscipopt/scip.pxi":4014
 *         for term, coef in expr.terms.items():
 *             # avoid CONST term of Expr
 *             if term != CONST:             # <<<<<<<<<<<<<<
 *                 assert len(term) == 1
 *                 wrapper = _VarArray(term[0])
*/
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_CONST); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 4014, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = PyObject_RichCompare(__pyx_v_term, __pyx_t_7, Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4014, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 4014, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (__pyx_t_2) {

      /* "src/pyscipopt/scip.pxi":4015
 *             # avoid CONST term of Expr
 *             if term != CONST:
 *                 assert len(term) == 1             # <<<<<<<<<<<<<<
 *                 wrapper = _VarArray(term[0])
 *                 PY_SCIP_CALL(SCIPchgVarObj(self._scip, wrapper.ptr[0], coef))
*/
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {
        __pyx_t_14 = PyObject_Length(__pyx_v_term); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(2, 4015, __pyx_L1_error)
        __pyx_t_2 = (__pyx_t_14 == 1);
        if (unlikely(!__pyx_t_2)) {
          __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
          __PYX_ERR(2, 4015, __pyx_L1_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(2, 4015, __pyx_L1_error)
      #endif

      /* "src/pyscipopt/scip.pxi":4016
 *             if term != CONST:
 *                 assert len(term) == 1
 *                 wrapper = _VarArray(term[0])             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPchgVarObj(self._scip, wrapper.ptr[0], coef))
 * 
*/
      __pyx_t_7 = NULL;
      __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_term, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4016, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4016, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_3);
      }
      __Pyx_XDECREF_SET(__pyx_v_wrapper, ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_3));
      __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":4017
 *                 assert len(term) == 1
 *                 wrapper = _VarArray(term[0])
 *                 PY_SCIP_CALL(SCIPchgVarObj(self._scip, wrapper.ptr[0], coef))             # <<<<<<<<<<<<<<
 * 
 *         if sense == "minimize":
*/
      __pyx_t_4 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 4017, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_15 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarObj(__pyx_v_self->_scip, (__pyx_v_wrapper->ptr[0]), __pyx_v_coef)); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 4017, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_7))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
        assert(__pyx_t_4);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_15};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4017, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":4014
 *         for term, coef in expr.terms.items():
 *             # avoid CONST term of Expr
 *             if term != CONST:             # <<<<<<<<<<<<<<
 *                 assert len(term) == 1
 *                 wrapper = _VarArray(term[0])
*/
    }
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "src/pyscipopt/scip.pxi":4019
 *                 PY_SCIP_CALL(SCIPchgVarObj(self._scip, wrapper.ptr[0], coef))
 * 
 *         if sense == "minimize":             # <<<<<<<<<<<<<<
 *             self.setMinimize()
 *         elif sense == "maximize":
*/
  __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_sense, __pyx_mstate_global->__pyx_n_u_minimize, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 4019, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":4020
 * 
 *         if sense == "minimize":
 *             self.setMinimize()             # <<<<<<<<<<<<<<
 *         elif sense == "maximize":
 *             self.setMaximize()
*/
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_setMinimize, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4020, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":4019
 *                 PY_SCIP_CALL(SCIPchgVarObj(self._scip, wrapper.ptr[0], coef))
 * 
 *         if sense == "minimize":             # <<<<<<<<<<<<<<
 *             self.setMinimize()
 *         elif sense == "maximize":
*/
    goto __pyx_L12;
  }

  /* "src/pyscipopt/scip.pxi":4021
 *         if sense == "minimize":
 *             self.setMinimize()
 *         elif sense == "maximize":             # <<<<<<<<<<<<<<
 *             self.setMaximize()
 *         else:
*/
  __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_sense, __pyx_mstate_global->__pyx_n_u_maximize, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 4021, __pyx_L1_error)
  if (likely(__pyx_t_2)) {

    /* "src/pyscipopt/scip.pxi":4022
 *             self.setMinimize()
 *         elif sense == "maximize":
 *             self.setMaximize()             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("unrecognized optimization sense: %s" % sense)
*/
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_setMaximize, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4022, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":4021
 *         if sense == "minimize":
 *             self.setMinimize()
 *         elif sense == "maximize":             # <<<<<<<<<<<<<<
 *             self.setMaximize()
 *         else:
*/
    goto __pyx_L12;
  }

  /* "src/pyscipopt/scip.pxi":4024
 *             self.setMaximize()
 *         else:
 *             raise Warning("unrecognized optimization sense: %s" % sense)             # <<<<<<<<<<<<<<
 * 
 *     def getObjective(self):
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_7 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_unrecognized_optimization_sense, __pyx_v_sense); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 4024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4024, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __PYX_ERR(2, 4024, __pyx_L1_error)
  }
  __pyx_L12:;

  /* "src/pyscipopt/scip.pxi":3973
 *         return SCIPgetObjlimit(self._scip)
 * 
 *     def setObjective(self, expr, sense = 'minimize', clear = 'true'):             # <<<<<<<<<<<<<<
 *         """
 *         Establish the objective function as a linear expression.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setObjective", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XDECREF(__pyx_v_term);
  __Pyx_XDECREF(__pyx_v_expr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4026
 *             raise Warning("unrecognized optimization sense: %s" % sense)
 * 
 *     def getObjective(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve objective function as Expr.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_159getObjective(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_158getObjective, "\n        Retrieve objective function as Expr.\n\n        Returns\n        -------\n        Expr\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_159getObjective = {"getObjective", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_159getObjective, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_158getObjective};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_159getObjective(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getObjective (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getObjective", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getObjective", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_158getObjective(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_158getObjective(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_v_variables = NULL;
  PyObject *__pyx_v_objective = NULL;
  PyObject *__pyx_v_var = NULL;
  PyObject *__pyx_v_coeff = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getObjective", 0);

  /* "src/pyscipopt/scip.pxi":4035
 * 
 *         """
 *         variables = self.getVars()             # <<<<<<<<<<<<<<
 *         objective = Expr()
 *         for var in variables:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getVars, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_variables = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4036
 *         """
 *         variables = self.getVars()
 *         objective = Expr()             # <<<<<<<<<<<<<<
 *         for var in variables:
 *             coeff = var.getObj()
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4036, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_objective = ((PyObject *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4037
 *         variables = self.getVars()
 *         objective = Expr()
 *         for var in variables:             # <<<<<<<<<<<<<<
 *             coeff = var.getObj()
 *             if coeff != 0:
*/
  if (likely(PyList_CheckExact(__pyx_v_variables)) || PyTuple_CheckExact(__pyx_v_variables)) {
    __pyx_t_1 = __pyx_v_variables; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_4 = 0;
    __pyx_t_5 = NULL;
  } else {
    __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_variables); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4037, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4037, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_5)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 4037, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_4;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 4037, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4));
        #else
        __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_4);
        #endif
        ++__pyx_t_4;
      }
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4037, __pyx_L1_error)
    } else {
      __pyx_t_2 = __pyx_t_5(__pyx_t_1);
      if (unlikely(!__pyx_t_2)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 4037, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_var, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4038
 *         objective = Expr()
 *         for var in variables:
 *             coeff = var.getObj()             # <<<<<<<<<<<<<<
 *             if coeff != 0:
 *                 objective += coeff * var
*/
    __pyx_t_6 = __pyx_v_var;
    __Pyx_INCREF(__pyx_t_6);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getObj, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4038, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF_SET(__pyx_v_coeff, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4039
 *         for var in variables:
 *             coeff = var.getObj()
 *             if coeff != 0:             # <<<<<<<<<<<<<<
 *                 objective += coeff * var
 *         objective.normalize()
*/
    __pyx_t_7 = (__Pyx_PyLong_BoolNeObjC(__pyx_v_coeff, __pyx_mstate_global->__pyx_int_0, 0, 0)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 4039, __pyx_L1_error)
    if (__pyx_t_7) {

      /* "src/pyscipopt/scip.pxi":4040
 *             coeff = var.getObj()
 *             if coeff != 0:
 *                 objective += coeff * var             # <<<<<<<<<<<<<<
 *         objective.normalize()
 *         return objective
*/
      __pyx_t_2 = PyNumber_Multiply(__pyx_v_coeff, __pyx_v_var); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4040, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_objective, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4040, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF_SET(__pyx_v_objective, __pyx_t_6);
      __pyx_t_6 = 0;

      /* "src/pyscipopt/scip.pxi":4039
 *         for var in variables:
 *             coeff = var.getObj()
 *             if coeff != 0:             # <<<<<<<<<<<<<<
 *                 objective += coeff * var
 *         objective.normalize()
*/
    }

    /* "src/pyscipopt/scip.pxi":4037
 *         variables = self.getVars()
 *         objective = Expr()
 *         for var in variables:             # <<<<<<<<<<<<<<
 *             coeff = var.getObj()
 *             if coeff != 0:
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4041
 *             if coeff != 0:
 *                 objective += coeff * var
 *         objective.normalize()             # <<<<<<<<<<<<<<
 *         return objective
 * 
*/
  __pyx_t_6 = __pyx_v_objective;
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_normalize, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4042
 *                 objective += coeff * var
 *         objective.normalize()
 *         return objective             # <<<<<<<<<<<<<<
 * 
 *     def addObjoffset(self, offset, solutions = False):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_objective);
  __pyx_r = __pyx_v_objective;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4026
 *             raise Warning("unrecognized optimization sense: %s" % sense)
 * 
 *     def getObjective(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve objective function as Expr.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getObjective", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_variables);
  __Pyx_XDECREF(__pyx_v_objective);
  __Pyx_XDECREF(__pyx_v_var);
  __Pyx_XDECREF(__pyx_v_coeff);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4044
 *         return objective
 * 
 *     def addObjoffset(self, offset, solutions = False):             # <<<<<<<<<<<<<<
 *         """
 *         Add constant offset to objective.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_161addObjoffset(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_160addObjoffset, "\n        Add constant offset to objective.\n\n        Parameters\n        ----------\n        offset : float\n            offset to add\n        solutions : bool, optional\n            add offset also to existing solutions (Default value = False)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_161addObjoffset = {"addObjoffset", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_161addObjoffset, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_160addObjoffset};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_161addObjoffset(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_offset = 0;
  PyObject *__pyx_v_solutions = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addObjoffset (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_offset,&__pyx_mstate_global->__pyx_n_u_solutions,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4044, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4044, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4044, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addObjoffset", 0) < (0)) __PYX_ERR(2, 4044, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addObjoffset", 0, 1, 2, i); __PYX_ERR(2, 4044, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4044, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4044, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_offset = values[0];
    __pyx_v_solutions = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addObjoffset", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 4044, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addObjoffset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_160addObjoffset(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_offset, __pyx_v_solutions);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_160addObjoffset(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_offset, PyObject *__pyx_v_solutions) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addObjoffset", 0);

  /* "src/pyscipopt/scip.pxi":4056
 * 
 *         """
 *         if solutions:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddObjoffset(self._scip, offset))
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_solutions); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 4056, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4057
 *         """
 *         if solutions:
 *             PY_SCIP_CALL(SCIPaddObjoffset(self._scip, offset))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPaddOrigObjoffset(self._scip, offset))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_offset); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4057, __pyx_L1_error)
    __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddObjoffset(__pyx_v_self->_scip, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4057, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4057, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4056
 * 
 *         """
 *         if solutions:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddObjoffset(self._scip, offset))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":4059
 *             PY_SCIP_CALL(SCIPaddObjoffset(self._scip, offset))
 *         else:
 *             PY_SCIP_CALL(SCIPaddOrigObjoffset(self._scip, offset))             # <<<<<<<<<<<<<<
 * 
 *     def getObjoffset(self, original = True):
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_offset); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4059, __pyx_L1_error)
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddOrigObjoffset(__pyx_v_self->_scip, __pyx_t_5)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4059, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4059, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":4044
 *         return objective
 * 
 *     def addObjoffset(self, offset, solutions = False):             # <<<<<<<<<<<<<<
 *         """
 *         Add constant offset to objective.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addObjoffset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4061
 *             PY_SCIP_CALL(SCIPaddOrigObjoffset(self._scip, offset))
 * 
 *     def getObjoffset(self, original = True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve constant objective offset
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_163getObjoffset(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_162getObjoffset, "\n        Retrieve constant objective offset\n\n        Parameters\n        ----------\n        original : bool, optional\n            offset of original or transformed problem (Default value = True)\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_163getObjoffset = {"getObjoffset", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_163getObjoffset, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_162getObjoffset};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_163getObjoffset(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_original = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getObjoffset (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_original,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4061, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4061, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getObjoffset", 0) < (0)) __PYX_ERR(2, 4061, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4061, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_original = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getObjoffset", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 4061, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getObjoffset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_162getObjoffset(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_original);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_162getObjoffset(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_original) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getObjoffset", 0);

  /* "src/pyscipopt/scip.pxi":4075
 * 
 *         """
 *         if original:             # <<<<<<<<<<<<<<
 *             return SCIPgetOrigObjoffset(self._scip)
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_original); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 4075, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4076
 *         """
 *         if original:
 *             return SCIPgetOrigObjoffset(self._scip)             # <<<<<<<<<<<<<<
 *         else:
 *             return SCIPgetTransObjoffset(self._scip)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyFloat_FromDouble(SCIPgetOrigObjoffset(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":4075
 * 
 *         """
 *         if original:             # <<<<<<<<<<<<<<
 *             return SCIPgetOrigObjoffset(self._scip)
 *         else:
*/
  }

  /* "src/pyscipopt/scip.pxi":4078
 *             return SCIPgetOrigObjoffset(self._scip)
 *         else:
 *             return SCIPgetTransObjoffset(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def setObjIntegral(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyFloat_FromDouble(SCIPgetTransObjoffset(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/scip.pxi":4061
 *             PY_SCIP_CALL(SCIPaddOrigObjoffset(self._scip, offset))
 * 
 *     def getObjoffset(self, original = True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve constant objective offset
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getObjoffset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4080
 *             return SCIPgetTransObjoffset(self._scip)
 * 
 *     def setObjIntegral(self):             # <<<<<<<<<<<<<<
 *         """Informs SCIP that the objective value is always integral in every feasible solution.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_165setObjIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_164setObjIntegral, "Informs SCIP that the objective value is always integral in every feasible solution.\n\n        Notes\n        -----\n        This function should be used to inform SCIP that the objective function is integral,\n        helping to improve the performance. This is useful when using column generation.\n        If no column generation (pricing) is used, SCIP automatically detects whether the objective\n        function is integral or can be scaled to be integral. However, in any case, the user has to\n        make sure that no variable is added during the solving process that destroys this property.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_165setObjIntegral = {"setObjIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_165setObjIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_164setObjIntegral};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_165setObjIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setObjIntegral (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("setObjIntegral", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("setObjIntegral", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_164setObjIntegral(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_164setObjIntegral(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setObjIntegral", 0);

  /* "src/pyscipopt/scip.pxi":4091
 *         make sure that no variable is added during the solving process that destroys this property.
 *         """
 *         PY_SCIP_CALL(SCIPsetObjIntegral(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def isObjIntegral(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetObjIntegral(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4091, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4080
 *             return SCIPgetTransObjoffset(self._scip)
 * 
 *     def setObjIntegral(self):             # <<<<<<<<<<<<<<
 *         """Informs SCIP that the objective value is always integral in every feasible solution.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setObjIntegral", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4093
 *         PY_SCIP_CALL(SCIPsetObjIntegral(self._scip))
 * 
 *     def isObjIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the objective function is integral.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_167isObjIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_166isObjIntegral, "\n        Returns whether the objective function is integral.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_167isObjIntegral = {"isObjIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_167isObjIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_166isObjIntegral};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_167isObjIntegral(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isObjIntegral (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isObjIntegral", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isObjIntegral", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_166isObjIntegral(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_166isObjIntegral(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isObjIntegral", 0);

  /* "src/pyscipopt/scip.pxi":4102
 * 
 *         """
 *         return SCIPisObjIntegral(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getLocalEstimate(self, original = False):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPisObjIntegral(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4093
 *         PY_SCIP_CALL(SCIPsetObjIntegral(self._scip))
 * 
 *     def isObjIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the objective function is integral.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isObjIntegral", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4104
 *         return SCIPisObjIntegral(self._scip)
 * 
 *     def getLocalEstimate(self, original = False):             # <<<<<<<<<<<<<<
 *         """
 *         Gets estimate of best primal solution w.r.t. original or transformed problem contained in current subtree.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_169getLocalEstimate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_168getLocalEstimate, "\n        Gets estimate of best primal solution w.r.t. original or transformed problem contained in current subtree.\n\n        Parameters\n        ----------\n        original : bool, optional\n            get estimate of original or transformed problem (Default value = False)\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_169getLocalEstimate = {"getLocalEstimate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_169getLocalEstimate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_168getLocalEstimate};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_169getLocalEstimate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_original = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLocalEstimate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_original,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4104, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4104, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getLocalEstimate", 0) < (0)) __PYX_ERR(2, 4104, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4104, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_original = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getLocalEstimate", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 4104, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLocalEstimate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_168getLocalEstimate(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_original);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_168getLocalEstimate(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_original) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLocalEstimate", 0);

  /* "src/pyscipopt/scip.pxi":4118
 * 
 *         """
 *         if original:             # <<<<<<<<<<<<<<
 *             return SCIPgetLocalOrigEstimate(self._scip)
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_original); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 4118, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4119
 *         """
 *         if original:
 *             return SCIPgetLocalOrigEstimate(self._scip)             # <<<<<<<<<<<<<<
 *         else:
 *             return SCIPgetLocalTransEstimate(self._scip)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyFloat_FromDouble(SCIPgetLocalOrigEstimate(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4119, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":4118
 * 
 *         """
 *         if original:             # <<<<<<<<<<<<<<
 *             return SCIPgetLocalOrigEstimate(self._scip)
 *         else:
*/
  }

  /* "src/pyscipopt/scip.pxi":4121
 *             return SCIPgetLocalOrigEstimate(self._scip)
 *         else:
 *             return SCIPgetLocalTransEstimate(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     # Setting parameters
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyFloat_FromDouble(SCIPgetLocalTransEstimate(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4121, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/scip.pxi":4104
 *         return SCIPisObjIntegral(self._scip)
 * 
 *     def getLocalEstimate(self, original = False):             # <<<<<<<<<<<<<<
 *         """
 *         Gets estimate of best primal solution w.r.t. original or transformed problem contained in current subtree.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLocalEstimate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4124
 * 
 *     # Setting parameters
 *     def setPresolve(self, setting):             # <<<<<<<<<<<<<<
 *         """
 *         Set presolving parameter settings.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_171setPresolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_170setPresolve, "\n        Set presolving parameter settings.\n\n\n        Parameters\n        ----------\n        setting : SCIP_PARAMSETTING\n            the parameter settings, e.g. SCIP_PARAMSETTING.OFF\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_171setPresolve = {"setPresolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_171setPresolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_170setPresolve};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_171setPresolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_setting = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setPresolve (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_setting,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4124, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4124, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setPresolve", 0) < (0)) __PYX_ERR(2, 4124, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setPresolve", 1, 1, 1, i); __PYX_ERR(2, 4124, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4124, __pyx_L3_error)
    }
    __pyx_v_setting = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setPresolve", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 4124, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setPresolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_170setPresolve(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_setting);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_170setPresolve(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_setting) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_PARAMSETTING __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setPresolve", 0);

  /* "src/pyscipopt/scip.pxi":4135
 * 
 *         """
 *         PY_SCIP_CALL(SCIPsetPresolving(self._scip, setting, True))             # <<<<<<<<<<<<<<
 * 
 *     def setProbName(self, name):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_SCIP_PARAMSETTING(__pyx_v_setting); if (unlikely((__pyx_t_4 == ((SCIP_PARAMSETTING)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4135, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetPresolving(__pyx_v_self->_scip, __pyx_t_4, 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4135, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4124
 * 
 *     # Setting parameters
 *     def setPresolve(self, setting):             # <<<<<<<<<<<<<<
 *         """
 *         Set presolving parameter settings.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setPresolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4137
 *         PY_SCIP_CALL(SCIPsetPresolving(self._scip, setting, True))
 * 
 *     def setProbName(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Set problem name.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_173setProbName(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_172setProbName, "\n        Set problem name.\n\n        Parameters\n        ----------\n        name : str\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_173setProbName = {"setProbName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_173setProbName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_172setProbName};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_173setProbName(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setProbName (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4137, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4137, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setProbName", 0) < (0)) __PYX_ERR(2, 4137, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setProbName", 1, 1, 1, i); __PYX_ERR(2, 4137, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4137, __pyx_L3_error)
    }
    __pyx_v_name = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setProbName", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 4137, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setProbName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_172setProbName(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_172setProbName(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char *__pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setProbName", 0);

  /* "src/pyscipopt/scip.pxi":4146
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPsetProbName(self._scip, n))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4146, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4147
 *         """
 *         n = str_conversion(name)
 *         PY_SCIP_CALL(SCIPsetProbName(self._scip, n))             # <<<<<<<<<<<<<<
 * 
 *     def setSeparating(self, setting):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 4147, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetProbName(__pyx_v_self->_scip, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4147, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4137
 *         PY_SCIP_CALL(SCIPsetPresolving(self._scip, setting, True))
 * 
 *     def setProbName(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Set problem name.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setProbName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4149
 *         PY_SCIP_CALL(SCIPsetProbName(self._scip, n))
 * 
 *     def setSeparating(self, setting):             # <<<<<<<<<<<<<<
 *         """
 *         Set separating parameter settings.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_175setSeparating(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_174setSeparating, "\n        Set separating parameter settings.\n\n        Parameters\n        ----------\n        setting : SCIP_PARAMSETTING\n            the parameter settings, e.g. SCIP_PARAMSETTING.OFF\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_175setSeparating = {"setSeparating", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_175setSeparating, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_174setSeparating};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_175setSeparating(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_setting = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setSeparating (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_setting,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4149, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4149, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setSeparating", 0) < (0)) __PYX_ERR(2, 4149, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setSeparating", 1, 1, 1, i); __PYX_ERR(2, 4149, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4149, __pyx_L3_error)
    }
    __pyx_v_setting = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setSeparating", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 4149, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setSeparating", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_174setSeparating(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_setting);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_174setSeparating(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_setting) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_PARAMSETTING __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setSeparating", 0);

  /* "src/pyscipopt/scip.pxi":4159
 * 
 *         """
 *         PY_SCIP_CALL(SCIPsetSeparating(self._scip, setting, True))             # <<<<<<<<<<<<<<
 * 
 *     def setHeuristics(self, setting):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_SCIP_PARAMSETTING(__pyx_v_setting); if (unlikely((__pyx_t_4 == ((SCIP_PARAMSETTING)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4159, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetSeparating(__pyx_v_self->_scip, __pyx_t_4, 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4149
 *         PY_SCIP_CALL(SCIPsetProbName(self._scip, n))
 * 
 *     def setSeparating(self, setting):             # <<<<<<<<<<<<<<
 *         """
 *         Set separating parameter settings.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setSeparating", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4161
 *         PY_SCIP_CALL(SCIPsetSeparating(self._scip, setting, True))
 * 
 *     def setHeuristics(self, setting):             # <<<<<<<<<<<<<<
 *         """
 *         Set heuristics parameter settings.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_177setHeuristics(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_176setHeuristics, "\n        Set heuristics parameter settings.\n\n        Parameters\n        ----------\n        setting : SCIP_PARAMSETTING\n            the parameter settings, e.g. SCIP_PARAMSETTING.OFF\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_177setHeuristics = {"setHeuristics", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_177setHeuristics, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_176setHeuristics};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_177setHeuristics(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_setting = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setHeuristics (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_setting,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4161, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4161, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setHeuristics", 0) < (0)) __PYX_ERR(2, 4161, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setHeuristics", 1, 1, 1, i); __PYX_ERR(2, 4161, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4161, __pyx_L3_error)
    }
    __pyx_v_setting = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setHeuristics", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 4161, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setHeuristics", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_176setHeuristics(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_setting);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_176setHeuristics(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_setting) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_PARAMSETTING __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setHeuristics", 0);

  /* "src/pyscipopt/scip.pxi":4171
 * 
 *         """
 *         PY_SCIP_CALL(SCIPsetHeuristics(self._scip, setting, True))             # <<<<<<<<<<<<<<
 * 
 *     def setHeurTiming(self, heurname, heurtiming):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_SCIP_PARAMSETTING(__pyx_v_setting); if (unlikely((__pyx_t_4 == ((SCIP_PARAMSETTING)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4171, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetHeuristics(__pyx_v_self->_scip, __pyx_t_4, 1)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4161
 *         PY_SCIP_CALL(SCIPsetSeparating(self._scip, setting, True))
 * 
 *     def setHeuristics(self, setting):             # <<<<<<<<<<<<<<
 *         """
 *         Set heuristics parameter settings.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setHeuristics", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4173
 *         PY_SCIP_CALL(SCIPsetHeuristics(self._scip, setting, True))
 * 
 *     def setHeurTiming(self, heurname, heurtiming):             # <<<<<<<<<<<<<<
 *         """
 *         Set the timing of a heuristic
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_179setHeurTiming(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_178setHeurTiming, "\n        Set the timing of a heuristic\n\n        Parameters\n        ----------\n        heurname : string, name of the heuristic\n        heurtiming : PY_SCIP_HEURTIMING\n\t\t   positions in the node solving loop where heuristic should be executed\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_179setHeurTiming = {"setHeurTiming", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_179setHeurTiming, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_178setHeurTiming};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_179setHeurTiming(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_heurname = 0;
  PyObject *__pyx_v_heurtiming = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setHeurTiming (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_heurname,&__pyx_mstate_global->__pyx_n_u_heurtiming,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4173, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4173, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4173, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setHeurTiming", 0) < (0)) __PYX_ERR(2, 4173, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setHeurTiming", 1, 2, 2, i); __PYX_ERR(2, 4173, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4173, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4173, __pyx_L3_error)
    }
    __pyx_v_heurname = values[0];
    __pyx_v_heurtiming = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setHeurTiming", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 4173, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setHeurTiming", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_178setHeurTiming(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_heurname, __pyx_v_heurtiming);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_178setHeurTiming(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_heurname, PyObject *__pyx_v_heurtiming) {
  SCIP_HEUR *__pyx_v__heur;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  int __pyx_t_6;
  SCIP_HEURTIMING __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setHeurTiming", 0);

  /* "src/pyscipopt/scip.pxi":4184
 *         """
 *         cdef SCIP_HEUR* _heur
 *         n = str_conversion(heurname)             # <<<<<<<<<<<<<<
 *         _heur = SCIPfindHeur(self._scip, n)
 *         if _heur == NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_heurname};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4185
 *         cdef SCIP_HEUR* _heur
 *         n = str_conversion(heurname)
 *         _heur = SCIPfindHeur(self._scip, n)             # <<<<<<<<<<<<<<
 *         if _heur == NULL:
 *             raise ValueError("Could not find heuristic <%s>" % heurname)
*/
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 4185, __pyx_L1_error)
  __pyx_v__heur = SCIPfindHeur(__pyx_v_self->_scip, __pyx_t_5);

  /* "src/pyscipopt/scip.pxi":4186
 *         n = str_conversion(heurname)
 *         _heur = SCIPfindHeur(self._scip, n)
 *         if _heur == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Could not find heuristic <%s>" % heurname)
 *         SCIPheurSetTimingmask(_heur, heurtiming)
*/
  __pyx_t_6 = (__pyx_v__heur == NULL);
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":4187
 *         _heur = SCIPfindHeur(self._scip, n)
 *         if _heur == NULL:
 *             raise ValueError("Could not find heuristic <%s>" % heurname)             # <<<<<<<<<<<<<<
 *         SCIPheurSetTimingmask(_heur, heurtiming)
 * 
*/
    __pyx_t_3 = NULL;
    __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_Could_not_find_heuristic_s, __pyx_v_heurname); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4187, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 4187, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":4186
 *         n = str_conversion(heurname)
 *         _heur = SCIPfindHeur(self._scip, n)
 *         if _heur == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Could not find heuristic <%s>" % heurname)
 *         SCIPheurSetTimingmask(_heur, heurtiming)
*/
  }

  /* "src/pyscipopt/scip.pxi":4188
 *         if _heur == NULL:
 *             raise ValueError("Could not find heuristic <%s>" % heurname)
 *         SCIPheurSetTimingmask(_heur, heurtiming)             # <<<<<<<<<<<<<<
 * 
 *     def getHeurTiming(self, heurname):
*/
  __pyx_t_7 = __Pyx_PyLong_As_SCIP_HEURTIMING(__pyx_v_heurtiming); if (unlikely((__pyx_t_7 == ((SCIP_HEURTIMING)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4188, __pyx_L1_error)
  SCIPheurSetTimingmask(__pyx_v__heur, __pyx_t_7);

  /* "src/pyscipopt/scip.pxi":4173
 *         PY_SCIP_CALL(SCIPsetHeuristics(self._scip, setting, True))
 * 
 *     def setHeurTiming(self, heurname, heurtiming):             # <<<<<<<<<<<<<<
 *         """
 *         Set the timing of a heuristic
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setHeurTiming", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4190
 *         SCIPheurSetTimingmask(_heur, heurtiming)
 * 
 *     def getHeurTiming(self, heurname):             # <<<<<<<<<<<<<<
 *         """
 *         Get the timing of a heuristic
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_181getHeurTiming(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_180getHeurTiming, "\n        Get the timing of a heuristic\n\n        Parameters\n        ----------\n        heurname : string, name of the heuristic\n\n        Returns\n        -------\n        PY_SCIP_HEURTIMING\n\t\t   positions in the node solving loop where heuristic should be executed\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_181getHeurTiming = {"getHeurTiming", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_181getHeurTiming, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_180getHeurTiming};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_181getHeurTiming(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_heurname = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getHeurTiming (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_heurname,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4190, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4190, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getHeurTiming", 0) < (0)) __PYX_ERR(2, 4190, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getHeurTiming", 1, 1, 1, i); __PYX_ERR(2, 4190, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4190, __pyx_L3_error)
    }
    __pyx_v_heurname = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getHeurTiming", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 4190, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getHeurTiming", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_180getHeurTiming(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_heurname);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_180getHeurTiming(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_heurname) {
  SCIP_HEUR *__pyx_v__heur;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getHeurTiming", 0);

  /* "src/pyscipopt/scip.pxi":4204
 *         """
 *         cdef SCIP_HEUR* _heur
 *         n = str_conversion(heurname)             # <<<<<<<<<<<<<<
 *         _heur = SCIPfindHeur(self._scip, n)
 *         if _heur == NULL:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_heurname};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4204, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4205
 *         cdef SCIP_HEUR* _heur
 *         n = str_conversion(heurname)
 *         _heur = SCIPfindHeur(self._scip, n)             # <<<<<<<<<<<<<<
 *         if _heur == NULL:
 *             raise ValueError("Could not find heuristic <%s>" % heurname)
*/
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 4205, __pyx_L1_error)
  __pyx_v__heur = SCIPfindHeur(__pyx_v_self->_scip, __pyx_t_5);

  /* "src/pyscipopt/scip.pxi":4206
 *         n = str_conversion(heurname)
 *         _heur = SCIPfindHeur(self._scip, n)
 *         if _heur == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Could not find heuristic <%s>" % heurname)
 *         return SCIPheurGetTimingmask(_heur)
*/
  __pyx_t_6 = (__pyx_v__heur == NULL);
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":4207
 *         _heur = SCIPfindHeur(self._scip, n)
 *         if _heur == NULL:
 *             raise ValueError("Could not find heuristic <%s>" % heurname)             # <<<<<<<<<<<<<<
 *         return SCIPheurGetTimingmask(_heur)
 * 
*/
    __pyx_t_3 = NULL;
    __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_Could_not_find_heuristic_s, __pyx_v_heurname); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4207, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4207, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 4207, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":4206
 *         n = str_conversion(heurname)
 *         _heur = SCIPfindHeur(self._scip, n)
 *         if _heur == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Could not find heuristic <%s>" % heurname)
 *         return SCIPheurGetTimingmask(_heur)
*/
  }

  /* "src/pyscipopt/scip.pxi":4208
 *         if _heur == NULL:
 *             raise ValueError("Could not find heuristic <%s>" % heurname)
 *         return SCIPheurGetTimingmask(_heur)             # <<<<<<<<<<<<<<
 * 
 *     def disablePropagation(self, onlyroot=False):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIPheurGetTimingmask(__pyx_v__heur)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4190
 *         SCIPheurSetTimingmask(_heur, heurtiming)
 * 
 *     def getHeurTiming(self, heurname):             # <<<<<<<<<<<<<<
 *         """
 *         Get the timing of a heuristic
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getHeurTiming", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4210
 *         return SCIPheurGetTimingmask(_heur)
 * 
 *     def disablePropagation(self, onlyroot=False):             # <<<<<<<<<<<<<<
 *         """
 *         Disables propagation in SCIP to avoid modifying the original problem during transformation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_183disablePropagation(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_182disablePropagation, "\n        Disables propagation in SCIP to avoid modifying the original problem during transformation.\n\n        Parameters\n        ----------\n        onlyroot : bool, optional\n            use propagation when root processing is finished (Default value = False)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_183disablePropagation = {"disablePropagation", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_183disablePropagation, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_182disablePropagation};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_183disablePropagation(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_onlyroot = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("disablePropagation (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_onlyroot,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4210, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4210, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "disablePropagation", 0) < (0)) __PYX_ERR(2, 4210, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4210, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_onlyroot = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("disablePropagation", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 4210, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.disablePropagation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_182disablePropagation(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_onlyroot);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_182disablePropagation(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_onlyroot) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("disablePropagation", 0);

  /* "src/pyscipopt/scip.pxi":4220
 * 
 *         """
 *         self.setIntParam("propagating/maxroundsroot", 0)             # <<<<<<<<<<<<<<
 *         if not onlyroot:
 *             self.setIntParam("propagating/maxrounds", 0)
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_setIntParam); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[21], NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":4221
 *         """
 *         self.setIntParam("propagating/maxroundsroot", 0)
 *         if not onlyroot:             # <<<<<<<<<<<<<<
 *             self.setIntParam("propagating/maxrounds", 0)
 * 
*/
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_onlyroot); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 4221, __pyx_L1_error)
  __pyx_t_4 = (!__pyx_t_3);
  if (__pyx_t_4) {

    /* "src/pyscipopt/scip.pxi":4222
 *         self.setIntParam("propagating/maxroundsroot", 0)
 *         if not onlyroot:
 *             self.setIntParam("propagating/maxrounds", 0)             # <<<<<<<<<<<<<<
 * 
 *     def printProblem(self, ext='.cip', trans=False, genericnames=False):
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_setIntParam); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[22], NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4222, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4221
 *         """
 *         self.setIntParam("propagating/maxroundsroot", 0)
 *         if not onlyroot:             # <<<<<<<<<<<<<<
 *             self.setIntParam("propagating/maxrounds", 0)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":4210
 *         return SCIPheurGetTimingmask(_heur)
 * 
 *     def disablePropagation(self, onlyroot=False):             # <<<<<<<<<<<<<<
 *         """
 *         Disables propagation in SCIP to avoid modifying the original problem during transformation.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.disablePropagation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4224
 *             self.setIntParam("propagating/maxrounds", 0)
 * 
 *     def printProblem(self, ext='.cip', trans=False, genericnames=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write current model/problem to standard output.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_185printProblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_184printProblem, "\n        Write current model/problem to standard output.\n\n        Parameters\n        ----------\n        ext   : str, optional\n            the extension to be used (Default value = '.cip').\n            Should have an extension corresponding to one of the readable file formats,\n            described in https://www.scipopt.org/doc/html/group__FILEREADERS.php.\n        trans : bool, optional\n            indicates whether the transformed problem is written to file (Default value = False)\n        genericnames : bool, optional\n            indicates whether the problem should be written with generic variable\n            and constraint names (Default value = False)\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_185printProblem = {"printProblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_185printProblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_184printProblem};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_185printProblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_ext = 0;
  PyObject *__pyx_v_trans = 0;
  PyObject *__pyx_v_genericnames = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("printProblem (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_ext,&__pyx_mstate_global->__pyx_n_u_trans,&__pyx_mstate_global->__pyx_n_u_genericnames,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4224, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4224, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4224, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4224, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "printProblem", 0) < (0)) __PYX_ERR(2, 4224, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_cip));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4224, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4224, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4224, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_cip));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_ext = values[0];
    __pyx_v_trans = values[1];
    __pyx_v_genericnames = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("printProblem", 0, 0, 3, __pyx_nargs); __PYX_ERR(2, 4224, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.printProblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_184printProblem(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_ext, __pyx_v_trans, __pyx_v_genericnames);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_184printProblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_ext, PyObject *__pyx_v_trans, PyObject *__pyx_v_genericnames) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  char *__pyx_t_9;
  SCIP_Bool __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("printProblem", 0);

  /* "src/pyscipopt/scip.pxi":4240
 *             and constraint names (Default value = False)
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 4240, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4240, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4241
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         if trans:
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4241, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4243
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         if trans:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, NULL, str_conversion(ext)[1:], genericnames))
 *         else:
*/
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_trans); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 4243, __pyx_L1_error)
  if (__pyx_t_7) {

    /* "src/pyscipopt/scip.pxi":4244
 * 
 *         if trans:
 *             PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, NULL, str_conversion(ext)[1:], genericnames))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPwriteOrigProblem(self._scip, NULL, str_conversion(ext)[1:], genericnames))
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 4244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_ext};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4244, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_8 = __Pyx_PyObject_GetSlice(__pyx_t_4, 1, 0, NULL, NULL, &__pyx_mstate_global->__pyx_slice[1], 1, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 4244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_9 = __Pyx_PyObject_AsWritableString(__pyx_t_8); if (unlikely((!__pyx_t_9) && PyErr_Occurred())) __PYX_ERR(2, 4244, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_genericnames); if (unlikely((__pyx_t_10 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4244, __pyx_L1_error)
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPwriteTransProblem(__pyx_v_self->_scip, NULL, __pyx_t_9, __pyx_t_10)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4244, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4244, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4243
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         if trans:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, NULL, str_conversion(ext)[1:], genericnames))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":4246
 *             PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, NULL, str_conversion(ext)[1:], genericnames))
 *         else:
 *             PY_SCIP_CALL(SCIPwriteOrigProblem(self._scip, NULL, str_conversion(ext)[1:], genericnames))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_8);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_ext};
      __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4246, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_t_5, 1, 0, NULL, NULL, &__pyx_mstate_global->__pyx_slice[1], 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_9 = __Pyx_PyObject_AsWritableString(__pyx_t_3); if (unlikely((!__pyx_t_9) && PyErr_Occurred())) __PYX_ERR(2, 4246, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_genericnames); if (unlikely((__pyx_t_10 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4246, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPwriteOrigProblem(__pyx_v_self->_scip, NULL, __pyx_t_9, __pyx_t_10)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4246, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":4248
 *             PY_SCIP_CALL(SCIPwriteOrigProblem(self._scip, NULL, str_conversion(ext)[1:], genericnames))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def writeProblem(self, filename='model.cip', trans=False, genericnames=False, verbose=True):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4248, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4224
 *             self.setIntParam("propagating/maxrounds", 0)
 * 
 *     def printProblem(self, ext='.cip', trans=False, genericnames=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write current model/problem to standard output.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.printProblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4250
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeProblem(self, filename='model.cip', trans=False, genericnames=False, verbose=True):             # <<<<<<<<<<<<<<
 *         """
 *         Write current model/problem to a file.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_187writeProblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_186writeProblem, "\n        Write current model/problem to a file.\n\n        Parameters\n        ----------\n        filename : str, optional\n            the name of the file to be used (Default value = 'model.cip').\n            Should have an extension corresponding to one of the readable file formats,\n            described in https://www.scipopt.org/doc/html/group__FILEREADERS.php.\n        trans : bool, optional\n            indicates whether the transformed problem is written to file (Default value = False)\n        genericnames : bool, optional\n            indicates whether the problem should be written with generic variable\n            and constraint names (Default value = False)\n        verbose : bool, optional\n            indicates whether a success message should be printed\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_187writeProblem = {"writeProblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_187writeProblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_186writeProblem};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_187writeProblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  PyObject *__pyx_v_trans = 0;
  PyObject *__pyx_v_genericnames = 0;
  PyObject *__pyx_v_verbose = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeProblem (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,&__pyx_mstate_global->__pyx_n_u_trans,&__pyx_mstate_global->__pyx_n_u_genericnames,&__pyx_mstate_global->__pyx_n_u_verbose,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4250, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 4250, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4250, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4250, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4250, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "writeProblem", 0) < (0)) __PYX_ERR(2, 4250, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_model_cip));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 4250, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4250, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4250, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4250, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_model_cip));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_filename = values[0];
    __pyx_v_trans = values[1];
    __pyx_v_genericnames = values[2];
    __pyx_v_verbose = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeProblem", 0, 0, 4, __pyx_nargs); __PYX_ERR(2, 4250, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeProblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_186writeProblem(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_filename, __pyx_v_trans, __pyx_v_genericnames, __pyx_v_verbose);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_186writeProblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_trans, PyObject *__pyx_v_genericnames, PyObject *__pyx_v_verbose) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_str_absfile = NULL;
  PyObject *__pyx_v_absfile = NULL;
  PyObject *__pyx_v_fn = NULL;
  PyObject *__pyx_v_ext = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  Py_ssize_t __pyx_t_9;
  char *__pyx_t_10;
  char *__pyx_t_11;
  SCIP_Bool __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("writeProblem", 0);

  /* "src/pyscipopt/scip.pxi":4269
 * 
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 4269, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4270
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         if filename:
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4272
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         if filename:             # <<<<<<<<<<<<<<
 *             str_absfile = abspath(filename)
 *             absfile = str_conversion(str_absfile)
*/
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_filename); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 4272, __pyx_L1_error)
  if (__pyx_t_7) {

    /* "src/pyscipopt/scip.pxi":4273
 * 
 *         if filename:
 *             str_absfile = abspath(filename)             # <<<<<<<<<<<<<<
 *             absfile = str_conversion(str_absfile)
 *             fn, ext = splitext(absfile)
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_abspath); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_filename};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4273, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_str_absfile = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4274
 *         if filename:
 *             str_absfile = abspath(filename)
 *             absfile = str_conversion(str_absfile)             # <<<<<<<<<<<<<<
 *             fn, ext = splitext(absfile)
 *             if len(ext) == 0:
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4274, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_str_absfile};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4274, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_absfile = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4275
 *             str_absfile = abspath(filename)
 *             absfile = str_conversion(str_absfile)
 *             fn, ext = splitext(absfile)             # <<<<<<<<<<<<<<
 *             if len(ext) == 0:
 *                 ext = str_conversion('.cip')
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_splitext); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_absfile};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
      PyObject* sequence = __pyx_t_1;
      Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
      if (unlikely(size != 2)) {
        if (size > 2) __Pyx_RaiseTooManyValuesError(2);
        else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
        __PYX_ERR(2, 4275, __pyx_L1_error)
      }
      #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
      if (likely(PyTuple_CheckExact(sequence))) {
        __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
        __Pyx_INCREF(__pyx_t_2);
        __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1);
        __Pyx_INCREF(__pyx_t_5);
      } else {
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4275, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_2);
        __pyx_t_5 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4275, __pyx_L1_error)
        __Pyx_XGOTREF(__pyx_t_5);
      }
      #else
      __pyx_t_2 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      #endif
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    } else {
      Py_ssize_t index = -1;
      __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4275, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4);
      index = 0; __pyx_t_2 = __pyx_t_8(__pyx_t_4); if (unlikely(!__pyx_t_2)) goto __pyx_L4_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_2);
      index = 1; __pyx_t_5 = __pyx_t_8(__pyx_t_4); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed;
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_4), 2) < (0)) __PYX_ERR(2, 4275, __pyx_L1_error)
      __pyx_t_8 = NULL;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      goto __pyx_L5_unpacking_done;
      __pyx_L4_unpacking_failed:;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_8 = NULL;
      if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
      __PYX_ERR(2, 4275, __pyx_L1_error)
      __pyx_L5_unpacking_done:;
    }
    __pyx_v_fn = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_v_ext = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":4276
 *             absfile = str_conversion(str_absfile)
 *             fn, ext = splitext(absfile)
 *             if len(ext) == 0:             # <<<<<<<<<<<<<<
 *                 ext = str_conversion('.cip')
 *             fn = fn + ext
*/
    __pyx_t_9 = PyObject_Length(__pyx_v_ext); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(2, 4276, __pyx_L1_error)
    __pyx_t_7 = (__pyx_t_9 == 0);
    if (__pyx_t_7) {

      /* "src/pyscipopt/scip.pxi":4277
 *             fn, ext = splitext(absfile)
 *             if len(ext) == 0:
 *                 ext = str_conversion('.cip')             # <<<<<<<<<<<<<<
 *             fn = fn + ext
 *             ext = ext[1:]
*/
      __pyx_t_5 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4277, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
        assert(__pyx_t_5);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_cip};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4277, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF_SET(__pyx_v_ext, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "src/pyscipopt/scip.pxi":4276
 *             absfile = str_conversion(str_absfile)
 *             fn, ext = splitext(absfile)
 *             if len(ext) == 0:             # <<<<<<<<<<<<<<
 *                 ext = str_conversion('.cip')
 *             fn = fn + ext
*/
    }

    /* "src/pyscipopt/scip.pxi":4278
 *             if len(ext) == 0:
 *                 ext = str_conversion('.cip')
 *             fn = fn + ext             # <<<<<<<<<<<<<<
 *             ext = ext[1:]
 * 
*/
    __pyx_t_1 = PyNumber_Add(__pyx_v_fn, __pyx_v_ext); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_fn, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4279
 *                 ext = str_conversion('.cip')
 *             fn = fn + ext
 *             ext = ext[1:]             # <<<<<<<<<<<<<<
 * 
 *             if trans:
*/
    __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_ext, 1, 0, NULL, NULL, &__pyx_mstate_global->__pyx_slice[1], 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4279, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF_SET(__pyx_v_ext, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4281
 *             ext = ext[1:]
 * 
 *             if trans:             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, fn, ext, genericnames))
 *             else:
*/
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_trans); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 4281, __pyx_L1_error)
    if (__pyx_t_7) {

      /* "src/pyscipopt/scip.pxi":4282
 * 
 *             if trans:
 *                 PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, fn, ext, genericnames))             # <<<<<<<<<<<<<<
 *             else:
 *                 PY_SCIP_CALL(SCIPwriteOrigProblem(self._scip, fn, ext, genericnames))
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4282, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_10 = __Pyx_PyObject_AsWritableString(__pyx_v_fn); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) __PYX_ERR(2, 4282, __pyx_L1_error)
      __pyx_t_11 = __Pyx_PyObject_AsWritableString(__pyx_v_ext); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) __PYX_ERR(2, 4282, __pyx_L1_error)
      __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_genericnames); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4282, __pyx_L1_error)
      __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPwriteTransProblem(__pyx_v_self->_scip, __pyx_t_10, __pyx_t_11, __pyx_t_12)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4282, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4282, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/pyscipopt/scip.pxi":4281
 *             ext = ext[1:]
 * 
 *             if trans:             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, fn, ext, genericnames))
 *             else:
*/
      goto __pyx_L7;
    }

    /* "src/pyscipopt/scip.pxi":4284
 *                 PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, fn, ext, genericnames))
 *             else:
 *                 PY_SCIP_CALL(SCIPwriteOrigProblem(self._scip, fn, ext, genericnames))             # <<<<<<<<<<<<<<
 * 
 *             if verbose:
*/
    /*else*/ {
      __pyx_t_5 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4284, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_11 = __Pyx_PyObject_AsWritableString(__pyx_v_fn); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) __PYX_ERR(2, 4284, __pyx_L1_error)
      __pyx_t_10 = __Pyx_PyObject_AsWritableString(__pyx_v_ext); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) __PYX_ERR(2, 4284, __pyx_L1_error)
      __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_genericnames); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4284, __pyx_L1_error)
      __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPwriteOrigProblem(__pyx_v_self->_scip, __pyx_t_11, __pyx_t_10, __pyx_t_12)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4284, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
        assert(__pyx_t_5);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_5);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_2};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4284, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __pyx_L7:;

    /* "src/pyscipopt/scip.pxi":4286
 *                 PY_SCIP_CALL(SCIPwriteOrigProblem(self._scip, fn, ext, genericnames))
 * 
 *             if verbose:             # <<<<<<<<<<<<<<
 *                 print('wrote problem to file ' + str_absfile)
 *         else:
*/
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_verbose); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 4286, __pyx_L1_error)
    if (__pyx_t_7) {

      /* "src/pyscipopt/scip.pxi":4287
 * 
 *             if verbose:
 *                 print('wrote problem to file ' + str_absfile)             # <<<<<<<<<<<<<<
 *         else:
 *             if trans:
*/
      __pyx_t_4 = NULL;
      __pyx_t_2 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_wrote_problem_to_file, __pyx_v_str_absfile); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_print, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4287, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/pyscipopt/scip.pxi":4286
 *                 PY_SCIP_CALL(SCIPwriteOrigProblem(self._scip, fn, ext, genericnames))
 * 
 *             if verbose:             # <<<<<<<<<<<<<<
 *                 print('wrote problem to file ' + str_absfile)
 *         else:
*/
    }

    /* "src/pyscipopt/scip.pxi":4272
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         if filename:             # <<<<<<<<<<<<<<
 *             str_absfile = abspath(filename)
 *             absfile = str_conversion(str_absfile)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":4289
 *                 print('wrote problem to file ' + str_absfile)
 *         else:
 *             if trans:             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, NULL, str_conversion('.cip')[1:], genericnames))
 *             else:
*/
  /*else*/ {
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_trans); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 4289, __pyx_L1_error)
    if (__pyx_t_7) {

      /* "src/pyscipopt/scip.pxi":4290
 *         else:
 *             if trans:
 *                 PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, NULL, str_conversion('.cip')[1:], genericnames))             # <<<<<<<<<<<<<<
 *             else:
 *                 PY_SCIP_CALL(SCIPwriteOrigProblem(self._scip, NULL, str_conversion('.cip')[1:], genericnames))
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_3 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 4290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_13))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13);
        assert(__pyx_t_3);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_13);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_13, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_cip};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_13, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4290, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __pyx_t_13 = __Pyx_PyObject_GetSlice(__pyx_t_5, 1, 0, NULL, NULL, &__pyx_mstate_global->__pyx_slice[1], 1, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 4290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_10 = __Pyx_PyObject_AsWritableString(__pyx_t_13); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) __PYX_ERR(2, 4290, __pyx_L1_error)
      __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_genericnames); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4290, __pyx_L1_error)
      __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPwriteTransProblem(__pyx_v_self->_scip, NULL, __pyx_t_10, __pyx_t_12)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4290, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4290, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/pyscipopt/scip.pxi":4289
 *                 print('wrote problem to file ' + str_absfile)
 *         else:
 *             if trans:             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, NULL, str_conversion('.cip')[1:], genericnames))
 *             else:
*/
      goto __pyx_L9;
    }

    /* "src/pyscipopt/scip.pxi":4292
 *                 PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, NULL, str_conversion('.cip')[1:], genericnames))
 *             else:
 *                 PY_SCIP_CALL(SCIPwriteOrigProblem(self._scip, NULL, str_conversion('.cip')[1:], genericnames))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
    /*else*/ {
      __pyx_t_4 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_13 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
        assert(__pyx_t_13);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_13);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_mstate_global->__pyx_kp_u_cip};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4292, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_t_2, 1, 0, NULL, NULL, &__pyx_mstate_global->__pyx_slice[1], 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_10 = __Pyx_PyObject_AsWritableString(__pyx_t_3); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) __PYX_ERR(2, 4292, __pyx_L1_error)
      __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_genericnames); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4292, __pyx_L1_error)
      __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPwriteOrigProblem(__pyx_v_self->_scip, NULL, __pyx_t_10, __pyx_t_12)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4292, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
        assert(__pyx_t_4);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4292, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __pyx_L9:;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":4294
 *                 PY_SCIP_CALL(SCIPwriteOrigProblem(self._scip, NULL, str_conversion('.cip')[1:], genericnames))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     # Variable Functions
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4294, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4250
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeProblem(self, filename='model.cip', trans=False, genericnames=False, verbose=True):             # <<<<<<<<<<<<<<
 *         """
 *         Write current model/problem to a file.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeProblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_str_absfile);
  __Pyx_XDECREF(__pyx_v_absfile);
  __Pyx_XDECREF(__pyx_v_fn);
  __Pyx_XDECREF(__pyx_v_ext);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4297
 * 
 *     # Variable Functions
 *     def addVar(self, name='', vtype='C', lb=0.0, ub=None, obj=0.0, pricedVar=False, pricedVarScore=1.0, deletable=False):             # <<<<<<<<<<<<<<
 *         """
 *         Create a new variable. Default variable is non-negative and continuous.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_189addVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_188addVar, "\n        Create a new variable. Default variable is non-negative and continuous.\n\n        Parameters\n        ----------\n        name : str, optional\n            name of the variable, generic if empty (Default value = '')\n        vtype : str, optional\n            type of the variable: 'C' continuous, 'I' integer, 'B' binary, and 'M' implicit integer\n            (Default value = 'C')\n        lb : float or None, optional\n            lower bound of the variable, use None for -infinity (Default value = 0.0)\n        ub : float or None, optional\n            upper bound of the variable, use None for +infinity (Default value = None)\n        obj : float, optional\n            objective value of variable (Default value = 0.0)\n        pricedVar : bool, optional\n            is the variable a pricing candidate? (Default value = False)\n        pricedVarScore : float, optional\n            score of variable in case it is priced, the higher the better (Default value = 1.0)\n\n        Returns\n        -------\n        Variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_189addVar = {"addVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_189addVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_188addVar};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_189addVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_vtype = 0;
  PyObject *__pyx_v_lb = 0;
  PyObject *__pyx_v_ub = 0;
  PyObject *__pyx_v_obj = 0;
  PyObject *__pyx_v_pricedVar = 0;
  PyObject *__pyx_v_pricedVarScore = 0;
  PyObject *__pyx_v_deletable = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[8] = {0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addVar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_vtype,&__pyx_mstate_global->__pyx_n_u_lb,&__pyx_mstate_global->__pyx_n_u_ub,&__pyx_mstate_global->__pyx_n_u_obj,&__pyx_mstate_global->__pyx_n_u_pricedVar,&__pyx_mstate_global->__pyx_n_u_pricedVarScore,&__pyx_mstate_global->__pyx_n_u_deletable,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4297, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addVar", 0) < (0)) __PYX_ERR(2, 4297, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_C));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_1_0));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4297, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_C));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_1_0));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_name = values[0];
    __pyx_v_vtype = values[1];
    __pyx_v_lb = values[2];
    __pyx_v_ub = values[3];
    __pyx_v_obj = values[4];
    __pyx_v_pricedVar = values[5];
    __pyx_v_pricedVarScore = values[6];
    __pyx_v_deletable = values[7];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addVar", 0, 0, 8, __pyx_nargs); __PYX_ERR(2, 4297, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_188addVar(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_name, __pyx_v_vtype, __pyx_v_lb, __pyx_v_ub, __pyx_v_obj, __pyx_v_pricedVar, __pyx_v_pricedVarScore, __pyx_v_deletable);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_188addVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_vtype, PyObject *__pyx_v_lb, PyObject *__pyx_v_ub, PyObject *__pyx_v_obj, PyObject *__pyx_v_pricedVar, PyObject *__pyx_v_pricedVarScore, PyObject *__pyx_v_deletable) {
  SCIP_VAR *__pyx_v_scip_var;
  PyObject *__pyx_v_cname = NULL;
  PyObject *__pyx_v_pyVar = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  char *__pyx_t_7;
  SCIP_Real __pyx_t_8;
  SCIP_Real __pyx_t_9;
  SCIP_Real __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addVar", 0);
  __Pyx_INCREF(__pyx_v_name);
  __Pyx_INCREF(__pyx_v_vtype);
  __Pyx_INCREF(__pyx_v_lb);
  __Pyx_INCREF(__pyx_v_ub);

  /* "src/pyscipopt/scip.pxi":4327
 * 
 *         # replace empty name with generic one
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'x'+str(SCIPgetNVars(self._scip)+1)
 *         cname = str_conversion(name)
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 4327, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4328
 *         # replace empty name with generic one
 *         if name == '':
 *             name = 'x'+str(SCIPgetNVars(self._scip)+1)             # <<<<<<<<<<<<<<
 *         cname = str_conversion(name)
 * 
*/
    __pyx_t_2 = __Pyx_PyLong_From_long((SCIPgetNVars(__pyx_v_self->_scip) + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_n_u_x, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4328, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4327
 * 
 *         # replace empty name with generic one
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'x'+str(SCIPgetNVars(self._scip)+1)
 *         cname = str_conversion(name)
*/
  }

  /* "src/pyscipopt/scip.pxi":4329
 *         if name == '':
 *             name = 'x'+str(SCIPgetNVars(self._scip)+1)
 *         cname = str_conversion(name)             # <<<<<<<<<<<<<<
 * 
 *         # replace None with corresponding infinity
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_name};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4329, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_cname = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":4332
 * 
 *         # replace None with corresponding infinity
 *         if lb is None:             # <<<<<<<<<<<<<<
 *             lb = -SCIPinfinity(self._scip)
 *         if ub is None:
*/
  __pyx_t_1 = (__pyx_v_lb == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4333
 *         # replace None with corresponding infinity
 *         if lb is None:
 *             lb = -SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 *         if ub is None:
 *             ub = SCIPinfinity(self._scip)
*/
    __pyx_t_2 = PyFloat_FromDouble((-SCIPinfinity(__pyx_v_self->_scip))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4333, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_lb, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4332
 * 
 *         # replace None with corresponding infinity
 *         if lb is None:             # <<<<<<<<<<<<<<
 *             lb = -SCIPinfinity(self._scip)
 *         if ub is None:
*/
  }

  /* "src/pyscipopt/scip.pxi":4334
 *         if lb is None:
 *             lb = -SCIPinfinity(self._scip)
 *         if ub is None:             # <<<<<<<<<<<<<<
 *             ub = SCIPinfinity(self._scip)
 * 
*/
  __pyx_t_1 = (__pyx_v_ub == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4335
 *             lb = -SCIPinfinity(self._scip)
 *         if ub is None:
 *             ub = SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 * 
 *         vtype = vtype.upper()
*/
    __pyx_t_2 = PyFloat_FromDouble(SCIPinfinity(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4335, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_ub, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4334
 *         if lb is None:
 *             lb = -SCIPinfinity(self._scip)
 *         if ub is None:             # <<<<<<<<<<<<<<
 *             ub = SCIPinfinity(self._scip)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":4337
 *             ub = SCIPinfinity(self._scip)
 * 
 *         vtype = vtype.upper()             # <<<<<<<<<<<<<<
 *         if vtype in ['C', 'CONTINUOUS']:
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_CONTINUOUS))
*/
  __pyx_t_4 = __pyx_v_vtype;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_upper, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF_SET(__pyx_v_vtype, __pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":4338
 * 
 *         vtype = vtype.upper()
 *         if vtype in ['C', 'CONTINUOUS']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_CONTINUOUS))
 *         elif vtype in ['B', 'BINARY']:
*/
  __Pyx_INCREF(__pyx_v_vtype);
  __pyx_t_2 = __pyx_v_vtype;
  __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_C, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 4338, __pyx_L1_error)
  if (!__pyx_t_6) {
  } else {
    __pyx_t_1 = __pyx_t_6;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CONTINUOUS, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 4338, __pyx_L1_error)
  __pyx_t_1 = __pyx_t_6;
  __pyx_L7_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __pyx_t_1;
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":4339
 *         vtype = vtype.upper()
 *         if vtype in ['C', 'CONTINUOUS']:
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_CONTINUOUS))             # <<<<<<<<<<<<<<
 *         elif vtype in ['B', 'BINARY']:
 *             if ub > 1.0:
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_AsWritableString(__pyx_v_cname); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 4339, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_8 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4339, __pyx_L1_error)
    __pyx_t_9 = __Pyx_PyFloat_AsDouble(__pyx_v_ub); if (unlikely((__pyx_t_9 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4339, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_v_obj); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4339, __pyx_L1_error)
    __pyx_t_11 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateVarBasic(__pyx_v_self->_scip, (&__pyx_v_scip_var), __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10, SCIP_VARTYPE_CONTINUOUS)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4339, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_11};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4339, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4338
 * 
 *         vtype = vtype.upper()
 *         if vtype in ['C', 'CONTINUOUS']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_CONTINUOUS))
 *         elif vtype in ['B', 'BINARY']:
*/
    goto __pyx_L6;
  }

  /* "src/pyscipopt/scip.pxi":4340
 *         if vtype in ['C', 'CONTINUOUS']:
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_CONTINUOUS))
 *         elif vtype in ['B', 'BINARY']:             # <<<<<<<<<<<<<<
 *             if ub > 1.0:
 *                 ub = 1.0
*/
  __Pyx_INCREF(__pyx_v_vtype);
  __pyx_t_2 = __pyx_v_vtype;
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_B, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 4340, __pyx_L1_error)
  if (!__pyx_t_1) {
  } else {
    __pyx_t_6 = __pyx_t_1;
    goto __pyx_L9_bool_binop_done;
  }
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_BINARY, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 4340, __pyx_L1_error)
  __pyx_t_6 = __pyx_t_1;
  __pyx_L9_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __pyx_t_6;
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4341
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_CONTINUOUS))
 *         elif vtype in ['B', 'BINARY']:
 *             if ub > 1.0:             # <<<<<<<<<<<<<<
 *                 ub = 1.0
 *             if lb < 0.0:
*/
    __pyx_t_2 = PyObject_RichCompare(__pyx_v_ub, __pyx_mstate_global->__pyx_float_1_0, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4341, __pyx_L1_error)
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 4341, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_1) {

      /* "src/pyscipopt/scip.pxi":4342
 *         elif vtype in ['B', 'BINARY']:
 *             if ub > 1.0:
 *                 ub = 1.0             # <<<<<<<<<<<<<<
 *             if lb < 0.0:
 *                 lb = 0.0
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_float_1_0);
      __Pyx_DECREF_SET(__pyx_v_ub, __pyx_mstate_global->__pyx_float_1_0);

      /* "src/pyscipopt/scip.pxi":4341
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_CONTINUOUS))
 *         elif vtype in ['B', 'BINARY']:
 *             if ub > 1.0:             # <<<<<<<<<<<<<<
 *                 ub = 1.0
 *             if lb < 0.0:
*/
    }

    /* "src/pyscipopt/scip.pxi":4343
 *             if ub > 1.0:
 *                 ub = 1.0
 *             if lb < 0.0:             # <<<<<<<<<<<<<<
 *                 lb = 0.0
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_BINARY))
*/
    __pyx_t_2 = PyObject_RichCompare(__pyx_v_lb, __pyx_mstate_global->__pyx_float_0_0, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4343, __pyx_L1_error)
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 4343, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_1) {

      /* "src/pyscipopt/scip.pxi":4344
 *                 ub = 1.0
 *             if lb < 0.0:
 *                 lb = 0.0             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_BINARY))
 *         elif vtype in ['I', 'INTEGER']:
*/
      __Pyx_INCREF(__pyx_mstate_global->__pyx_float_0_0);
      __Pyx_DECREF_SET(__pyx_v_lb, __pyx_mstate_global->__pyx_float_0_0);

      /* "src/pyscipopt/scip.pxi":4343
 *             if ub > 1.0:
 *                 ub = 1.0
 *             if lb < 0.0:             # <<<<<<<<<<<<<<
 *                 lb = 0.0
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_BINARY))
*/
    }

    /* "src/pyscipopt/scip.pxi":4345
 *             if lb < 0.0:
 *                 lb = 0.0
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_BINARY))             # <<<<<<<<<<<<<<
 *         elif vtype in ['I', 'INTEGER']:
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_INTEGER))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_7 = __Pyx_PyObject_AsWritableString(__pyx_v_cname); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 4345, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4345, __pyx_L1_error)
    __pyx_t_9 = __Pyx_PyFloat_AsDouble(__pyx_v_ub); if (unlikely((__pyx_t_9 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4345, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyFloat_AsDouble(__pyx_v_obj); if (unlikely((__pyx_t_8 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4345, __pyx_L1_error)
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateVarBasic(__pyx_v_self->_scip, (&__pyx_v_scip_var), __pyx_t_7, __pyx_t_10, __pyx_t_9, __pyx_t_8, SCIP_VARTYPE_BINARY)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4340
 *         if vtype in ['C', 'CONTINUOUS']:
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_CONTINUOUS))
 *         elif vtype in ['B', 'BINARY']:             # <<<<<<<<<<<<<<
 *             if ub > 1.0:
 *                 ub = 1.0
*/
    goto __pyx_L6;
  }

  /* "src/pyscipopt/scip.pxi":4346
 *                 lb = 0.0
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_BINARY))
 *         elif vtype in ['I', 'INTEGER']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_INTEGER))
 *         elif vtype in ['M', 'IMPLINT']:
*/
  __Pyx_INCREF(__pyx_v_vtype);
  __pyx_t_2 = __pyx_v_vtype;
  __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_I, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 4346, __pyx_L1_error)
  if (!__pyx_t_6) {
  } else {
    __pyx_t_1 = __pyx_t_6;
    goto __pyx_L13_bool_binop_done;
  }
  __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_INTEGER, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 4346, __pyx_L1_error)
  __pyx_t_1 = __pyx_t_6;
  __pyx_L13_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __pyx_t_1;
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":4347
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_BINARY))
 *         elif vtype in ['I', 'INTEGER']:
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_INTEGER))             # <<<<<<<<<<<<<<
 *         elif vtype in ['M', 'IMPLINT']:
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_DEPRECATED_VARTYPE_IMPLINT))
*/
    __pyx_t_11 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = __Pyx_PyObject_AsWritableString(__pyx_v_cname); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 4347, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_8 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4347, __pyx_L1_error)
    __pyx_t_9 = __Pyx_PyFloat_AsDouble(__pyx_v_ub); if (unlikely((__pyx_t_9 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4347, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_v_obj); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4347, __pyx_L1_error)
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateVarBasic(__pyx_v_self->_scip, (&__pyx_v_scip_var), __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10, SCIP_VARTYPE_INTEGER)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_11);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4347, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4346
 *                 lb = 0.0
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_BINARY))
 *         elif vtype in ['I', 'INTEGER']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_INTEGER))
 *         elif vtype in ['M', 'IMPLINT']:
*/
    goto __pyx_L6;
  }

  /* "src/pyscipopt/scip.pxi":4348
 *         elif vtype in ['I', 'INTEGER']:
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_INTEGER))
 *         elif vtype in ['M', 'IMPLINT']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_DEPRECATED_VARTYPE_IMPLINT))
 *         else:
*/
  __Pyx_INCREF(__pyx_v_vtype);
  __pyx_t_2 = __pyx_v_vtype;
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_M, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 4348, __pyx_L1_error)
  if (!__pyx_t_1) {
  } else {
    __pyx_t_6 = __pyx_t_1;
    goto __pyx_L15_bool_binop_done;
  }
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_IMPLINT, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 4348, __pyx_L1_error)
  __pyx_t_6 = __pyx_t_1;
  __pyx_L15_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __pyx_t_6;
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":4349
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_INTEGER))
 *         elif vtype in ['M', 'IMPLINT']:
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_DEPRECATED_VARTYPE_IMPLINT))             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("unrecognized variable type")
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_AsWritableString(__pyx_v_cname); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 4349, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4349, __pyx_L1_error)
    __pyx_t_9 = __Pyx_PyFloat_AsDouble(__pyx_v_ub); if (unlikely((__pyx_t_9 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4349, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyFloat_AsDouble(__pyx_v_obj); if (unlikely((__pyx_t_8 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4349, __pyx_L1_error)
    __pyx_t_11 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateVarBasic(__pyx_v_self->_scip, (&__pyx_v_scip_var), __pyx_t_7, __pyx_t_10, __pyx_t_9, __pyx_t_8, SCIP_DEPRECATED_VARTYPE_IMPLINT)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_11};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4349, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4348
 *         elif vtype in ['I', 'INTEGER']:
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_VARTYPE_INTEGER))
 *         elif vtype in ['M', 'IMPLINT']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_DEPRECATED_VARTYPE_IMPLINT))
 *         else:
*/
    goto __pyx_L6;
  }

  /* "src/pyscipopt/scip.pxi":4351
 *             PY_SCIP_CALL(SCIPcreateVarBasic(self._scip, &scip_var, cname, lb, ub, obj, SCIP_DEPRECATED_VARTYPE_IMPLINT))
 *         else:
 *             raise Warning("unrecognized variable type")             # <<<<<<<<<<<<<<
 * 
 *         if deletable:
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_unrecognized_variable_type};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4351, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 4351, __pyx_L1_error)
  }
  __pyx_L6:;

  /* "src/pyscipopt/scip.pxi":4353
 *             raise Warning("unrecognized variable type")
 * 
 *         if deletable:             # <<<<<<<<<<<<<<
 *             SCIPvarMarkDeletable(scip_var)
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_deletable); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 4353, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4354
 * 
 *         if deletable:
 *             SCIPvarMarkDeletable(scip_var)             # <<<<<<<<<<<<<<
 * 
 *         if pricedVar:
*/
    SCIPvarMarkDeletable(__pyx_v_scip_var);

    /* "src/pyscipopt/scip.pxi":4353
 *             raise Warning("unrecognized variable type")
 * 
 *         if deletable:             # <<<<<<<<<<<<<<
 *             SCIPvarMarkDeletable(scip_var)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":4356
 *             SCIPvarMarkDeletable(scip_var)
 * 
 *         if pricedVar:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddPricedVar(self._scip, scip_var, pricedVarScore))
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_pricedVar); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 4356, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4357
 * 
 *         if pricedVar:
 *             PY_SCIP_CALL(SCIPaddPricedVar(self._scip, scip_var, pricedVarScore))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPaddVar(self._scip, scip_var))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_8 = __Pyx_PyFloat_AsDouble(__pyx_v_pricedVarScore); if (unlikely((__pyx_t_8 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4357, __pyx_L1_error)
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddPricedVar(__pyx_v_self->_scip, __pyx_v_scip_var, __pyx_t_8)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4357, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_11))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4357, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4356
 *             SCIPvarMarkDeletable(scip_var)
 * 
 *         if pricedVar:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddPricedVar(self._scip, scip_var, pricedVarScore))
 *         else:
*/
    goto __pyx_L18;
  }

  /* "src/pyscipopt/scip.pxi":4359
 *             PY_SCIP_CALL(SCIPaddPricedVar(self._scip, scip_var, pricedVarScore))
 *         else:
 *             PY_SCIP_CALL(SCIPaddVar(self._scip, scip_var))             # <<<<<<<<<<<<<<
 * 
 *         pyVar = self._getOrCreateVar(scip_var)
*/
  /*else*/ {
    __pyx_t_11 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddVar(__pyx_v_self->_scip, __pyx_v_scip_var)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_11);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4359, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_L18:;

  /* "src/pyscipopt/scip.pxi":4361
 *             PY_SCIP_CALL(SCIPaddVar(self._scip, scip_var))
 * 
 *         pyVar = self._getOrCreateVar(scip_var)             # <<<<<<<<<<<<<<
 * 
 *         #setting the variable data
*/
  __pyx_t_2 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, __pyx_v_scip_var); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4361, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pyVar = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":4364
 * 
 *         #setting the variable data
 *         SCIPvarSetData(scip_var, <SCIP_VARDATA*>pyVar)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPreleaseVar(self._scip, &scip_var))
 *         return pyVar
*/
  SCIPvarSetData(__pyx_v_scip_var, ((SCIP_VARDATA *)__pyx_v_pyVar));

  /* "src/pyscipopt/scip.pxi":4365
 *         #setting the variable data
 *         SCIPvarSetData(scip_var, <SCIP_VARDATA*>pyVar)
 *         PY_SCIP_CALL(SCIPreleaseVar(self._scip, &scip_var))             # <<<<<<<<<<<<<<
 *         return pyVar
 * 
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_11 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseVar(__pyx_v_self->_scip, (&__pyx_v_scip_var))); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_11};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4365, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":4366
 *         SCIPvarSetData(scip_var, <SCIP_VARDATA*>pyVar)
 *         PY_SCIP_CALL(SCIPreleaseVar(self._scip, &scip_var))
 *         return pyVar             # <<<<<<<<<<<<<<
 * 
 *     def addMatrixVar(self,
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pyVar);
  __pyx_r = __pyx_v_pyVar;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4297
 * 
 *     # Variable Functions
 *     def addVar(self, name='', vtype='C', lb=0.0, ub=None, obj=0.0, pricedVar=False, pricedVarScore=1.0, deletable=False):             # <<<<<<<<<<<<<<
 *         """
 *         Create a new variable. Default variable is non-negative and continuous.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_cname);
  __Pyx_XDECREF(__pyx_v_pyVar);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_vtype);
  __Pyx_XDECREF(__pyx_v_lb);
  __Pyx_XDECREF(__pyx_v_ub);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4368
 *         return pyVar
 * 
 *     def addMatrixVar(self,             # <<<<<<<<<<<<<<
 *                      shape: Union[int, Tuple],
 *                      name: Union[str, np.ndarray] = '',
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_191addMatrixVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_190addMatrixVar, "\n        Create a new matrix of variable. Default matrix variables are non-negative and continuous.\n\n        Parameters\n        ----------\n        shape : int or tuple\n            the shape of the resultant MatrixVariable\n        name : str or np.ndarray, optional\n            name of the matrix variable, generic if empty (Default value = '')\n        vtype : str or np.ndarray, optional\n            type of the matrix variable: 'C' continuous, 'I' integer, 'B' binary, and 'M' implicit integer\n            (Default value = 'C')\n        lb : float or np.ndarray or None, optional\n            lower bound of the matrix variable, use None for -infinity (Default value = 0.0)\n        ub : float or np.ndarray or None, optional\n            upper bound of the matrix variable, use None for +infinity (Default value = None)\n        obj : float or np.ndarray, optional\n            objective value of matrix variable (Default value = 0.0)\n        pricedVar : bool or np.ndarray, optional\n            is the matrix variable a pricing candidate? (Default value = False)\n        pricedVarScore : float or np.ndarray, optional\n            score of matrix variable in case it is priced, the higher the better (Default value = 1.0)\n\n        Returns\n        -------\n        MatrixVariable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_191addMatrixVar = {"addMatrixVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_191addMatrixVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_190addMatrixVar};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_191addMatrixVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_shape = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_vtype = 0;
  PyObject *__pyx_v_lb = 0;
  PyObject *__pyx_v_ub = 0;
  PyObject *__pyx_v_obj = 0;
  PyObject *__pyx_v_pricedVar = 0;
  PyObject *__pyx_v_pricedVarScore = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[8] = {0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addMatrixVar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_shape,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_vtype,&__pyx_mstate_global->__pyx_n_u_lb,&__pyx_mstate_global->__pyx_n_u_ub,&__pyx_mstate_global->__pyx_n_u_obj,&__pyx_mstate_global->__pyx_n_u_pricedVar,&__pyx_mstate_global->__pyx_n_u_pricedVarScore,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4368, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addMatrixVar", 0) < (0)) __PYX_ERR(2, 4368, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_C));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));

      /* "src/pyscipopt/scip.pxi":4373
 *                      vtype: Union[str, np.ndarray] = 'C',
 *                      lb: Union[int, float, np.ndarray, None] = 0.0,
 *                      ub: Union[int, float, np.ndarray, None] = None,             # <<<<<<<<<<<<<<
 *                      obj: Union[int, float, np.ndarray] = 0.0,
 *                      pricedVar: Union[bool, np.ndarray] = False,
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));

      /* "src/pyscipopt/scip.pxi":4375
 *                      ub: Union[int, float, np.ndarray, None] = None,
 *                      obj: Union[int, float, np.ndarray] = 0.0,
 *                      pricedVar: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                      pricedVarScore: Union[int, float, np.ndarray] = 1.0
 *                      ) -> MatrixVariable:
*/
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_1_0));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addMatrixVar", 0, 1, 8, i); __PYX_ERR(2, 4368, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4368, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4368, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_C));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));

      /* "src/pyscipopt/scip.pxi":4373
 *                      vtype: Union[str, np.ndarray] = 'C',
 *                      lb: Union[int, float, np.ndarray, None] = 0.0,
 *                      ub: Union[int, float, np.ndarray, None] = None,             # <<<<<<<<<<<<<<
 *                      obj: Union[int, float, np.ndarray] = 0.0,
 *                      pricedVar: Union[bool, np.ndarray] = False,
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));

      /* "src/pyscipopt/scip.pxi":4375
 *                      ub: Union[int, float, np.ndarray, None] = None,
 *                      obj: Union[int, float, np.ndarray] = 0.0,
 *                      pricedVar: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                      pricedVarScore: Union[int, float, np.ndarray] = 1.0
 *                      ) -> MatrixVariable:
*/
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_1_0));
    }
    __pyx_v_shape = values[0];
    __pyx_v_name = values[1];
    __pyx_v_vtype = values[2];
    __pyx_v_lb = values[3];
    __pyx_v_ub = values[4];
    __pyx_v_obj = values[5];
    __pyx_v_pricedVar = values[6];
    __pyx_v_pricedVarScore = values[7];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addMatrixVar", 0, 1, 8, __pyx_nargs); __PYX_ERR(2, 4368, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addMatrixVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_190addMatrixVar(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_shape, __pyx_v_name, __pyx_v_vtype, __pyx_v_lb, __pyx_v_ub, __pyx_v_obj, __pyx_v_pricedVar, __pyx_v_pricedVarScore);

  /* "src/pyscipopt/scip.pxi":4368
 *         return pyVar
 * 
 *     def addMatrixVar(self,             # <<<<<<<<<<<<<<
 *                      shape: Union[int, Tuple],
 *                      name: Union[str, np.ndarray] = '',
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_190addMatrixVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_shape, PyObject *__pyx_v_name, PyObject *__pyx_v_vtype, PyObject *__pyx_v_lb, PyObject *__pyx_v_ub, PyObject *__pyx_v_obj, PyObject *__pyx_v_pricedVar, PyObject *__pyx_v_pricedVarScore) {
  CYTHON_UNUSED Py_ssize_t __pyx_v_ndim;
  PyObject *__pyx_v_matrix_variable = NULL;
  PyObject *__pyx_v_matrix_names = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_v_matrix_vtypes = NULL;
  PyObject *__pyx_v_matrix_lbs = NULL;
  PyObject *__pyx_v_matrix_ubs = NULL;
  PyObject *__pyx_v_matrix_objs = NULL;
  PyObject *__pyx_v_matrix_priced_vars = NULL;
  PyObject *__pyx_v_matrix_priced_var_scores = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  PyObject *(*__pyx_t_8)(PyObject *);
  PyObject *__pyx_t_9[3];
  int __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addMatrixVar", 0);

  /* "src/pyscipopt/scip.pxi":4408
 *         # assert has_numpy, "Numpy is not installed. Please install numpy to use matrix variables."
 * 
 *         if isinstance(name, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert name.shape == shape
 *         if isinstance(vtype, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_name, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 4408, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4409
 * 
 *         if isinstance(name, np.ndarray):
 *             assert name.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(vtype, np.ndarray):
 *             assert vtype.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4409, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4409, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 4409, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 4409, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 4409, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":4408
 *         # assert has_numpy, "Numpy is not installed. Please install numpy to use matrix variables."
 * 
 *         if isinstance(name, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert name.shape == shape
 *         if isinstance(vtype, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":4410
 *         if isinstance(name, np.ndarray):
 *             assert name.shape == shape
 *         if isinstance(vtype, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert vtype.shape == shape
 *         if isinstance(lb, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4410, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_vtype, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 4410, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4411
 *             assert name.shape == shape
 *         if isinstance(vtype, np.ndarray):
 *             assert vtype.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(lb, np.ndarray):
 *             assert lb.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_vtype, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4411, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4411, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 4411, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 4411, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 4411, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":4410
 *         if isinstance(name, np.ndarray):
 *             assert name.shape == shape
 *         if isinstance(vtype, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert vtype.shape == shape
 *         if isinstance(lb, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":4412
 *         if isinstance(vtype, np.ndarray):
 *             assert vtype.shape == shape
 *         if isinstance(lb, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert lb.shape == shape
 *         if isinstance(ub, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_lb, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 4412, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4413
 *             assert vtype.shape == shape
 *         if isinstance(lb, np.ndarray):
 *             assert lb.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(ub, np.ndarray):
 *             assert ub.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_lb, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4413, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4413, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 4413, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 4413, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 4413, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":4412
 *         if isinstance(vtype, np.ndarray):
 *             assert vtype.shape == shape
 *         if isinstance(lb, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert lb.shape == shape
 *         if isinstance(ub, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":4414
 *         if isinstance(lb, np.ndarray):
 *             assert lb.shape == shape
 *         if isinstance(ub, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert ub.shape == shape
 *         if isinstance(obj, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_ub, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 4414, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4415
 *             assert lb.shape == shape
 *         if isinstance(ub, np.ndarray):
 *             assert ub.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(obj, np.ndarray):
 *             assert obj.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_ub, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4415, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4415, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 4415, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 4415, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 4415, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":4414
 *         if isinstance(lb, np.ndarray):
 *             assert lb.shape == shape
 *         if isinstance(ub, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert ub.shape == shape
 *         if isinstance(obj, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":4416
 *         if isinstance(ub, np.ndarray):
 *             assert ub.shape == shape
 *         if isinstance(obj, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert obj.shape == shape
 *         if isinstance(pricedVar, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_obj, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 4416, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4417
 *             assert ub.shape == shape
 *         if isinstance(obj, np.ndarray):
 *             assert obj.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(pricedVar, np.ndarray):
 *             assert pricedVar.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4417, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4417, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 4417, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 4417, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 4417, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":4416
 *         if isinstance(ub, np.ndarray):
 *             assert ub.shape == shape
 *         if isinstance(obj, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert obj.shape == shape
 *         if isinstance(pricedVar, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":4418
 *         if isinstance(obj, np.ndarray):
 *             assert obj.shape == shape
 *         if isinstance(pricedVar, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert pricedVar.shape == shape
 *         if isinstance(pricedVarScore, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_pricedVar, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 4418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4419
 *             assert obj.shape == shape
 *         if isinstance(pricedVar, np.ndarray):
 *             assert pricedVar.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(pricedVarScore, np.ndarray):
 *             assert pricedVarScore.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pricedVar, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4419, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4419, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 4419, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 4419, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 4419, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":4418
 *         if isinstance(obj, np.ndarray):
 *             assert obj.shape == shape
 *         if isinstance(pricedVar, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert pricedVar.shape == shape
 *         if isinstance(pricedVarScore, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":4420
 *         if isinstance(pricedVar, np.ndarray):
 *             assert pricedVar.shape == shape
 *         if isinstance(pricedVarScore, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert pricedVarScore.shape == shape
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_pricedVarScore, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 4420, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4421
 *             assert pricedVar.shape == shape
 *         if isinstance(pricedVarScore, np.ndarray):
 *             assert pricedVarScore.shape == shape             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(shape, int):
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_pricedVarScore, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4421, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4421, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 4421, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 4421, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 4421, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":4420
 *         if isinstance(pricedVar, np.ndarray):
 *             assert pricedVar.shape == shape
 *         if isinstance(pricedVarScore, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert pricedVarScore.shape == shape
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":4423
 *             assert pricedVarScore.shape == shape
 * 
 *         if isinstance(shape, int):             # <<<<<<<<<<<<<<
 *             ndim = 1
 *         else:
*/
  __pyx_t_3 = PyLong_Check(__pyx_v_shape); 
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4424
 * 
 *         if isinstance(shape, int):
 *             ndim = 1             # <<<<<<<<<<<<<<
 *         else:
 *             ndim = len(shape)
*/
    __pyx_v_ndim = 1;

    /* "src/pyscipopt/scip.pxi":4423
 *             assert pricedVarScore.shape == shape
 * 
 *         if isinstance(shape, int):             # <<<<<<<<<<<<<<
 *             ndim = 1
 *         else:
*/
    goto __pyx_L10;
  }

  /* "src/pyscipopt/scip.pxi":4426
 *             ndim = 1
 *         else:
 *             ndim = len(shape)             # <<<<<<<<<<<<<<
 * 
 *         matrix_variable = np.empty(shape, dtype=object)
*/
  /*else*/ {
    __pyx_t_4 = PyObject_Length(__pyx_v_shape); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 4426, __pyx_L1_error)
    __pyx_v_ndim = __pyx_t_4;
  }
  __pyx_L10:;

  /* "src/pyscipopt/scip.pxi":4428
 *             ndim = len(shape)
 * 
 *         matrix_variable = np.empty(shape, dtype=object)             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(name, str):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_shape};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_5, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 4428, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4428, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_matrix_variable = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4430
 *         matrix_variable = np.empty(shape, dtype=object)
 * 
 *         if isinstance(name, str):             # <<<<<<<<<<<<<<
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":
*/
  __pyx_t_3 = PyUnicode_Check(__pyx_v_name); 
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4431
 * 
 *         if isinstance(name, str):
 *             matrix_names = np.full(shape, name, dtype=object)             # <<<<<<<<<<<<<<
 *             if name != "":
 *                 for idx in np.ndindex(matrix_variable.shape):
*/
    __pyx_t_6 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4431, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_6);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, __pyx_v_shape, __pyx_v_name};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4431, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 4431, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4431, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_matrix_names = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4432
 *         if isinstance(name, str):
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":             # <<<<<<<<<<<<<<
 *                 for idx in np.ndindex(matrix_variable.shape):
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
*/
    __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 4432, __pyx_L1_error)
    if (__pyx_t_3) {

      /* "src/pyscipopt/scip.pxi":4433
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":
 *                 for idx in np.ndindex(matrix_variable.shape):             # <<<<<<<<<<<<<<
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
 *         else:
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_matrix_variable, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4433, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
        __pyx_t_6 = __pyx_t_1; __Pyx_INCREF(__pyx_t_6);
        __pyx_t_4 = 0;
        __pyx_t_8 = NULL;
      } else {
        __pyx_t_4 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4433, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 4433, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      for (;;) {
        if (likely(!__pyx_t_8)) {
          if (likely(PyList_CheckExact(__pyx_t_6))) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 4433, __pyx_L1_error)
              #endif
              if (__pyx_t_4 >= __pyx_temp) break;
            }
            __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_4;
          } else {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 4433, __pyx_L1_error)
              #endif
              if (__pyx_t_4 >= __pyx_temp) break;
            }
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_4));
            #else
            __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_4);
            #endif
            ++__pyx_t_4;
          }
          if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4433, __pyx_L1_error)
        } else {
          __pyx_t_1 = __pyx_t_8(__pyx_t_6);
          if (unlikely(!__pyx_t_1)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 4433, __pyx_L1_error)
              PyErr_Clear();
            }
            break;
          }
        }
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
        __pyx_t_1 = 0;

        /* "src/pyscipopt/scip.pxi":4434
 *             if name != "":
 *                 for idx in np.ndindex(matrix_variable.shape):
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_names = name
*/
        __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4434, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4434, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
        __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)(&PyUnicode_Type))) != (0)) __PYX_ERR(2, 4434, __pyx_L1_error);
        __Pyx_INCREF(__pyx_v_idx);
        __Pyx_GIVEREF(__pyx_v_idx);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_idx) != (0)) __PYX_ERR(2, 4434, __pyx_L1_error);
        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4434, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = PyUnicode_Join(__pyx_mstate_global->__pyx_n_u__9, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4434, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_9[0] = __pyx_t_1;
        __pyx_t_9[1] = __pyx_mstate_global->__pyx_n_u__9;
        __pyx_t_9[2] = __pyx_t_5;
        __pyx_t_2 = __Pyx_PyUnicode_Join(__pyx_t_9, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
        if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4434, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely((PyObject_SetItem(__pyx_v_matrix_names, __pyx_v_idx, __pyx_t_2) < 0))) __PYX_ERR(2, 4434, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "src/pyscipopt/scip.pxi":4433
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":
 *                 for idx in np.ndindex(matrix_variable.shape):             # <<<<<<<<<<<<<<
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
 *         else:
*/
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

      /* "src/pyscipopt/scip.pxi":4432
 *         if isinstance(name, str):
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":             # <<<<<<<<<<<<<<
 *                 for idx in np.ndindex(matrix_variable.shape):
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
*/
    }

    /* "src/pyscipopt/scip.pxi":4430
 *         matrix_variable = np.empty(shape, dtype=object)
 * 
 *         if isinstance(name, str):             # <<<<<<<<<<<<<<
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":
*/
    goto __pyx_L11;
  }

  /* "src/pyscipopt/scip.pxi":4436
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
 *         else:
 *             matrix_names = name             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(vtype, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_name);
    __pyx_v_matrix_names = __pyx_v_name;
  }
  __pyx_L11:;

  /* "src/pyscipopt/scip.pxi":4438
 *             matrix_names = name
 * 
 *         if not isinstance(vtype, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_vtypes = np.full(shape, vtype, dtype=str)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_vtype, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 4438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_10 = (!__pyx_t_3);
  if (__pyx_t_10) {

    /* "src/pyscipopt/scip.pxi":4439
 * 
 *         if not isinstance(vtype, np.ndarray):
 *             matrix_vtypes = np.full(shape, vtype, dtype=str)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_vtypes = vtype
*/
    __pyx_t_6 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4439, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_6);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, __pyx_v_shape, __pyx_v_vtype};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4439, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyUnicode_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 4439, __pyx_L1_error)
      __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4439, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_matrix_vtypes = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4438
 *             matrix_names = name
 * 
 *         if not isinstance(vtype, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_vtypes = np.full(shape, vtype, dtype=str)
 *         else:
*/
    goto __pyx_L16;
  }

  /* "src/pyscipopt/scip.pxi":4441
 *             matrix_vtypes = np.full(shape, vtype, dtype=str)
 *         else:
 *             matrix_vtypes = vtype             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(lb, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_vtype);
    __pyx_v_matrix_vtypes = __pyx_v_vtype;
  }
  __pyx_L16:;

  /* "src/pyscipopt/scip.pxi":4443
 *             matrix_vtypes = vtype
 * 
 *         if not isinstance(lb, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_lbs = np.full(shape, lb, dtype=object)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_10 = PyObject_IsInstance(__pyx_v_lb, __pyx_t_1); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(2, 4443, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (!__pyx_t_10);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4444
 * 
 *         if not isinstance(lb, np.ndarray):
 *             matrix_lbs = np.full(shape, lb, dtype=object)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_lbs = lb
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4444, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_shape, __pyx_v_lb};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 4444, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4444, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_matrix_lbs = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4443
 *             matrix_vtypes = vtype
 * 
 *         if not isinstance(lb, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_lbs = np.full(shape, lb, dtype=object)
 *         else:
*/
    goto __pyx_L17;
  }

  /* "src/pyscipopt/scip.pxi":4446
 *             matrix_lbs = np.full(shape, lb, dtype=object)
 *         else:
 *             matrix_lbs = lb             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(ub, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_lb);
    __pyx_v_matrix_lbs = __pyx_v_lb;
  }
  __pyx_L17:;

  /* "src/pyscipopt/scip.pxi":4448
 *             matrix_lbs = lb
 * 
 *         if not isinstance(ub, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_ubs = np.full(shape, ub, dtype=object)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4448, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_ub, __pyx_t_6); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 4448, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_10 = (!__pyx_t_3);
  if (__pyx_t_10) {

    /* "src/pyscipopt/scip.pxi":4449
 * 
 *         if not isinstance(ub, np.ndarray):
 *             matrix_ubs = np.full(shape, ub, dtype=object)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_ubs = ub
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, __pyx_v_shape, __pyx_v_ub};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4449, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 4449, __pyx_L1_error)
      __pyx_t_6 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4449, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_v_matrix_ubs = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":4448
 *             matrix_lbs = lb
 * 
 *         if not isinstance(ub, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_ubs = np.full(shape, ub, dtype=object)
 *         else:
*/
    goto __pyx_L18;
  }

  /* "src/pyscipopt/scip.pxi":4451
 *             matrix_ubs = np.full(shape, ub, dtype=object)
 *         else:
 *             matrix_ubs = ub             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(obj, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_ub);
    __pyx_v_matrix_ubs = __pyx_v_ub;
  }
  __pyx_L18:;

  /* "src/pyscipopt/scip.pxi":4453
 *             matrix_ubs = ub
 * 
 *         if not isinstance(obj, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_objs = np.full(shape, obj, dtype=float)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_10 = PyObject_IsInstance(__pyx_v_obj, __pyx_t_2); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(2, 4453, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = (!__pyx_t_10);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4454
 * 
 *         if not isinstance(obj, np.ndarray):
 *             matrix_objs = np.full(shape, obj, dtype=float)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_objs = obj
*/
    __pyx_t_6 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4454, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4454, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_6);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, __pyx_v_shape, __pyx_v_obj};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4454, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyFloat_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 4454, __pyx_L1_error)
      __pyx_t_2 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4454, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_matrix_objs = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4453
 *             matrix_ubs = ub
 * 
 *         if not isinstance(obj, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_objs = np.full(shape, obj, dtype=float)
 *         else:
*/
    goto __pyx_L19;
  }

  /* "src/pyscipopt/scip.pxi":4456
 *             matrix_objs = np.full(shape, obj, dtype=float)
 *         else:
 *             matrix_objs = obj             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(pricedVar, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_obj);
    __pyx_v_matrix_objs = __pyx_v_obj;
  }
  __pyx_L19:;

  /* "src/pyscipopt/scip.pxi":4458
 *             matrix_objs = obj
 * 
 *         if not isinstance(pricedVar, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_priced_vars = np.full(shape, pricedVar, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4458, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_pricedVar, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 4458, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_10 = (!__pyx_t_3);
  if (__pyx_t_10) {

    /* "src/pyscipopt/scip.pxi":4459
 * 
 *         if not isinstance(pricedVar, np.ndarray):
 *             matrix_priced_vars = np.full(shape, pricedVar, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_priced_vars = pricedVar
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_v_shape, __pyx_v_pricedVar};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4459, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 4459, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4459, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_matrix_priced_vars = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4458
 *             matrix_objs = obj
 * 
 *         if not isinstance(pricedVar, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_priced_vars = np.full(shape, pricedVar, dtype=bool)
 *         else:
*/
    goto __pyx_L20;
  }

  /* "src/pyscipopt/scip.pxi":4461
 *             matrix_priced_vars = np.full(shape, pricedVar, dtype=bool)
 *         else:
 *             matrix_priced_vars = pricedVar             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(pricedVarScore, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_pricedVar);
    __pyx_v_matrix_priced_vars = __pyx_v_pricedVar;
  }
  __pyx_L20:;

  /* "src/pyscipopt/scip.pxi":4463
 *             matrix_priced_vars = pricedVar
 * 
 *         if not isinstance(pricedVarScore, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_priced_var_scores = np.full(shape, pricedVarScore, dtype=float)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_10 = PyObject_IsInstance(__pyx_v_pricedVarScore, __pyx_t_6); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(2, 4463, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_3 = (!__pyx_t_10);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4464
 * 
 *         if not isinstance(pricedVarScore, np.ndarray):
 *             matrix_priced_var_scores = np.full(shape, pricedVarScore, dtype=float)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_priced_var_scores = pricedVarScore
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, __pyx_v_shape, __pyx_v_pricedVarScore};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyFloat_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 4464, __pyx_L1_error)
      __pyx_t_6 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_v_matrix_priced_var_scores = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":4463
 *             matrix_priced_vars = pricedVar
 * 
 *         if not isinstance(pricedVarScore, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_priced_var_scores = np.full(shape, pricedVarScore, dtype=float)
 *         else:
*/
    goto __pyx_L21;
  }

  /* "src/pyscipopt/scip.pxi":4466
 *             matrix_priced_var_scores = np.full(shape, pricedVarScore, dtype=float)
 *         else:
 *             matrix_priced_var_scores = pricedVarScore             # <<<<<<<<<<<<<<
 * 
 *         for idx in np.ndindex(matrix_variable.shape):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_pricedVarScore);
    __pyx_v_matrix_priced_var_scores = __pyx_v_pricedVarScore;
  }
  __pyx_L21:;

  /* "src/pyscipopt/scip.pxi":4468
 *             matrix_priced_var_scores = pricedVarScore
 * 
 *         for idx in np.ndindex(matrix_variable.shape):             # <<<<<<<<<<<<<<
 *             matrix_variable[idx] = self.addVar(name=matrix_names[idx], vtype=matrix_vtypes[idx], lb=matrix_lbs[idx],
 *                                                ub=matrix_ubs[idx], obj=matrix_objs[idx], pricedVar=matrix_priced_vars[idx],
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_matrix_variable, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
    __pyx_t_1 = __pyx_t_6; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_4 = 0;
    __pyx_t_8 = NULL;
  } else {
    __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_8 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 4468, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  for (;;) {
    if (likely(!__pyx_t_8)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 4468, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_4;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 4468, __pyx_L1_error)
          #endif
          if (__pyx_t_4 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4));
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_4);
        #endif
        ++__pyx_t_4;
      }
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4468, __pyx_L1_error)
    } else {
      __pyx_t_6 = __pyx_t_8(__pyx_t_1);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 4468, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":4469
 * 
 *         for idx in np.ndindex(matrix_variable.shape):
 *             matrix_variable[idx] = self.addVar(name=matrix_names[idx], vtype=matrix_vtypes[idx], lb=matrix_lbs[idx],             # <<<<<<<<<<<<<<
 *                                                ub=matrix_ubs[idx], obj=matrix_objs[idx], pricedVar=matrix_priced_vars[idx],
 *                                                pricedVarScore=matrix_priced_var_scores[idx])
*/
    __pyx_t_5 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_matrix_names, __pyx_v_idx); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_v_matrix_vtypes, __pyx_v_idx); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_matrix_lbs, __pyx_v_idx); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 4469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);

    /* "src/pyscipopt/scip.pxi":4470
 *         for idx in np.ndindex(matrix_variable.shape):
 *             matrix_variable[idx] = self.addVar(name=matrix_names[idx], vtype=matrix_vtypes[idx], lb=matrix_lbs[idx],
 *                                                ub=matrix_ubs[idx], obj=matrix_objs[idx], pricedVar=matrix_priced_vars[idx],             # <<<<<<<<<<<<<<
 *                                                pricedVarScore=matrix_priced_var_scores[idx])
 * 
*/
    __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_v_matrix_ubs, __pyx_v_idx); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 4470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_matrix_objs, __pyx_v_idx); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 4470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_v_matrix_priced_vars, __pyx_v_idx); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 4470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);

    /* "src/pyscipopt/scip.pxi":4471
 *             matrix_variable[idx] = self.addVar(name=matrix_names[idx], vtype=matrix_vtypes[idx], lb=matrix_lbs[idx],
 *                                                ub=matrix_ubs[idx], obj=matrix_objs[idx], pricedVar=matrix_priced_vars[idx],
 *                                                pricedVarScore=matrix_priced_var_scores[idx])             # <<<<<<<<<<<<<<
 * 
 *         return matrix_variable.view(MatrixVariable)
*/
    __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_v_matrix_priced_var_scores, __pyx_v_idx); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 4471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 7 : 0)] = {__pyx_t_5, NULL};
      __pyx_t_17 = __Pyx_MakeVectorcallBuilderKwds(7); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 4469, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_name, __pyx_t_2, __pyx_t_17, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 4469, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_vtype, __pyx_t_11, __pyx_t_17, __pyx_callargs+1, 1) < (0)) __PYX_ERR(2, 4469, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_lb, __pyx_t_12, __pyx_t_17, __pyx_callargs+1, 2) < (0)) __PYX_ERR(2, 4469, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_ub, __pyx_t_13, __pyx_t_17, __pyx_callargs+1, 3) < (0)) __PYX_ERR(2, 4469, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_obj, __pyx_t_14, __pyx_t_17, __pyx_callargs+1, 4) < (0)) __PYX_ERR(2, 4469, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_pricedVar, __pyx_t_15, __pyx_t_17, __pyx_callargs+1, 5) < (0)) __PYX_ERR(2, 4469, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_pricedVarScore, __pyx_t_16, __pyx_t_17, __pyx_callargs+1, 6) < (0)) __PYX_ERR(2, 4469, __pyx_L1_error)
      __pyx_t_6 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_addVar, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_17);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4469, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }

    /* "src/pyscipopt/scip.pxi":4469
 * 
 *         for idx in np.ndindex(matrix_variable.shape):
 *             matrix_variable[idx] = self.addVar(name=matrix_names[idx], vtype=matrix_vtypes[idx], lb=matrix_lbs[idx],             # <<<<<<<<<<<<<<
 *                                                ub=matrix_ubs[idx], obj=matrix_objs[idx], pricedVar=matrix_priced_vars[idx],
 *                                                pricedVarScore=matrix_priced_var_scores[idx])
*/
    if (unlikely((PyObject_SetItem(__pyx_v_matrix_variable, __pyx_v_idx, __pyx_t_6) < 0))) __PYX_ERR(2, 4469, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":4468
 *             matrix_priced_var_scores = pricedVarScore
 * 
 *         for idx in np.ndindex(matrix_variable.shape):             # <<<<<<<<<<<<<<
 *             matrix_variable[idx] = self.addVar(name=matrix_names[idx], vtype=matrix_vtypes[idx], lb=matrix_lbs[idx],
 *                                                ub=matrix_ubs[idx], obj=matrix_objs[idx], pricedVar=matrix_priced_vars[idx],
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4473
 *                                                pricedVarScore=matrix_priced_var_scores[idx])
 * 
 *         return matrix_variable.view(MatrixVariable)             # <<<<<<<<<<<<<<
 * 
 *     def getTransformedVar(self, Variable var):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_6 = __pyx_v_matrix_variable;
  __Pyx_INCREF(__pyx_t_6);
  __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_mstate_global->__pyx_n_u_MatrixVariable); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 4473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_17};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4473, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4368
 *         return pyVar
 * 
 *     def addMatrixVar(self,             # <<<<<<<<<<<<<<
 *                      shape: Union[int, Tuple],
 *                      name: Union[str, np.ndarray] = '',
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addMatrixVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_matrix_variable);
  __Pyx_XDECREF(__pyx_v_matrix_names);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XDECREF(__pyx_v_matrix_vtypes);
  __Pyx_XDECREF(__pyx_v_matrix_lbs);
  __Pyx_XDECREF(__pyx_v_matrix_ubs);
  __Pyx_XDECREF(__pyx_v_matrix_objs);
  __Pyx_XDECREF(__pyx_v_matrix_priced_vars);
  __Pyx_XDECREF(__pyx_v_matrix_priced_var_scores);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4475
 *         return matrix_variable.view(MatrixVariable)
 * 
 *     def getTransformedVar(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the transformed variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_193getTransformedVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_192getTransformedVar, "\n        Retrieve the transformed variable.\n\n        Parameters\n        ----------\n        var : Variable\n            original variable to get the transformed of\n\n        Returns\n        -------\n        Variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_193getTransformedVar = {"getTransformedVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_193getTransformedVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_192getTransformedVar};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_193getTransformedVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getTransformedVar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4475, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4475, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getTransformedVar", 0) < (0)) __PYX_ERR(2, 4475, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getTransformedVar", 1, 1, 1, i); __PYX_ERR(2, 4475, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4475, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getTransformedVar", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 4475, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getTransformedVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4475, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_192getTransformedVar(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_192getTransformedVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  SCIP_VAR *__pyx_v__tvar;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getTransformedVar", 0);

  /* "src/pyscipopt/scip.pxi":4490
 *         """
 *         cdef SCIP_VAR* _tvar
 *         PY_SCIP_CALL(SCIPgetTransformedVar(self._scip, var.scip_var, &_tvar))             # <<<<<<<<<<<<<<
 *         return self._getOrCreateVar(_tvar)
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetTransformedVar(__pyx_v_self->_scip, __pyx_v_var->scip_var, (&__pyx_v__tvar))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4490, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4491
 *         cdef SCIP_VAR* _tvar
 *         PY_SCIP_CALL(SCIPgetTransformedVar(self._scip, var.scip_var, &_tvar))
 *         return self._getOrCreateVar(_tvar)             # <<<<<<<<<<<<<<
 * 
 *     def addVarLocks(self, Variable var, int nlocksdown, int nlocksup):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, __pyx_v__tvar); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4475
 *         return matrix_variable.view(MatrixVariable)
 * 
 *     def getTransformedVar(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the transformed variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getTransformedVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4493
 *         return self._getOrCreateVar(_tvar)
 * 
 *     def addVarLocks(self, Variable var, int nlocksdown, int nlocksup):             # <<<<<<<<<<<<<<
 *         """
 *         Adds given values to lock numbers of variable for rounding.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_195addVarLocks(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_194addVarLocks, "\n        Adds given values to lock numbers of variable for rounding.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to adjust the locks for\n        nlocksdown : int\n            new number of down locks\n        nlocksup : int\n            new number of up locks\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_195addVarLocks = {"addVarLocks", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_195addVarLocks, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_194addVarLocks};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_195addVarLocks(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  int __pyx_v_nlocksdown;
  int __pyx_v_nlocksup;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addVarLocks (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_nlocksdown,&__pyx_mstate_global->__pyx_n_u_nlocksup,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4493, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4493, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4493, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4493, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addVarLocks", 0) < (0)) __PYX_ERR(2, 4493, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addVarLocks", 1, 3, 3, i); __PYX_ERR(2, 4493, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4493, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4493, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4493, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_nlocksdown = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_nlocksdown == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 4493, __pyx_L3_error)
    __pyx_v_nlocksup = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_nlocksup == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 4493, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addVarLocks", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 4493, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addVarLocks", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4493, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_194addVarLocks(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_nlocksdown, __pyx_v_nlocksup);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_194addVarLocks(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, int __pyx_v_nlocksdown, int __pyx_v_nlocksup) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addVarLocks", 0);

  /* "src/pyscipopt/scip.pxi":4507
 * 
 *         """
 *         PY_SCIP_CALL(SCIPaddVarLocks(self._scip, var.scip_var, nlocksdown, nlocksup))             # <<<<<<<<<<<<<<
 * 
 *     def addVarLocksType(self, Variable var, int locktype, int nlocksdown, int nlocksup):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddVarLocks(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_v_nlocksdown, __pyx_v_nlocksup)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4507, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4493
 *         return self._getOrCreateVar(_tvar)
 * 
 *     def addVarLocks(self, Variable var, int nlocksdown, int nlocksup):             # <<<<<<<<<<<<<<
 *         """
 *         Adds given values to lock numbers of variable for rounding.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addVarLocks", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4509
 *         PY_SCIP_CALL(SCIPaddVarLocks(self._scip, var.scip_var, nlocksdown, nlocksup))
 * 
 *     def addVarLocksType(self, Variable var, int locktype, int nlocksdown, int nlocksup):             # <<<<<<<<<<<<<<
 *         """
 *         adds given values to lock numbers of type locktype of variable for rounding
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_197addVarLocksType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_196addVarLocksType, "\n        adds given values to lock numbers of type locktype of variable for rounding\n\n        Parameters\n        ----------\n        var : Variable\n            variable to adjust the locks for\n        locktype : SCIP_LOCKTYPE\n            type of variable locks\n        nlocksdown : int\n            modification in number of down locks\n        nlocksup : int\n            modification in number of up locks\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_197addVarLocksType = {"addVarLocksType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_197addVarLocksType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_196addVarLocksType};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_197addVarLocksType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  int __pyx_v_locktype;
  int __pyx_v_nlocksdown;
  int __pyx_v_nlocksup;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addVarLocksType (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_locktype,&__pyx_mstate_global->__pyx_n_u_nlocksdown,&__pyx_mstate_global->__pyx_n_u_nlocksup,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4509, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 4509, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4509, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4509, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4509, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addVarLocksType", 0) < (0)) __PYX_ERR(2, 4509, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addVarLocksType", 1, 4, 4, i); __PYX_ERR(2, 4509, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4509, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4509, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4509, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 4509, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_locktype = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_locktype == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 4509, __pyx_L3_error)
    __pyx_v_nlocksdown = __Pyx_PyLong_As_int(values[2]); if (unlikely((__pyx_v_nlocksdown == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 4509, __pyx_L3_error)
    __pyx_v_nlocksup = __Pyx_PyLong_As_int(values[3]); if (unlikely((__pyx_v_nlocksup == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 4509, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addVarLocksType", 1, 4, 4, __pyx_nargs); __PYX_ERR(2, 4509, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addVarLocksType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4509, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_196addVarLocksType(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_locktype, __pyx_v_nlocksdown, __pyx_v_nlocksup);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_196addVarLocksType(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, int __pyx_v_locktype, int __pyx_v_nlocksdown, int __pyx_v_nlocksup) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addVarLocksType", 0);

  /* "src/pyscipopt/scip.pxi":4525
 * 
 *         """
 *         PY_SCIP_CALL(SCIPaddVarLocksType(self._scip, var.scip_var, locktype, nlocksdown, nlocksup))             # <<<<<<<<<<<<<<
 * 
 *     def fixVar(self, Variable var, val):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddVarLocksType(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_v_locktype, __pyx_v_nlocksdown, __pyx_v_nlocksup)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4509
 *         PY_SCIP_CALL(SCIPaddVarLocks(self._scip, var.scip_var, nlocksdown, nlocksup))
 * 
 *     def addVarLocksType(self, Variable var, int locktype, int nlocksdown, int nlocksup):             # <<<<<<<<<<<<<<
 *         """
 *         adds given values to lock numbers of type locktype of variable for rounding
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addVarLocksType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4527
 *         PY_SCIP_CALL(SCIPaddVarLocksType(self._scip, var.scip_var, locktype, nlocksdown, nlocksup))
 * 
 *     def fixVar(self, Variable var, val):             # <<<<<<<<<<<<<<
 *         """
 *         Fixes the variable var to the value val if possible.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_199fixVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_198fixVar, "\n        Fixes the variable var to the value val if possible.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to fix\n        val : float\n            the fix value\n\n        Returns\n        -------\n        infeasible : bool\n            Is the fixing infeasible?\n        fixed : bool\n            Was the fixing performed?\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_199fixVar = {"fixVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_199fixVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_198fixVar};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_199fixVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_val = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fixVar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_val,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4527, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4527, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4527, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "fixVar", 0) < (0)) __PYX_ERR(2, 4527, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("fixVar", 1, 2, 2, i); __PYX_ERR(2, 4527, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4527, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4527, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_val = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("fixVar", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 4527, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.fixVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4527, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_198fixVar(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_val);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_198fixVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_val) {
  SCIP_Bool __pyx_v_infeasible;
  SCIP_Bool __pyx_v_fixed;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("fixVar", 0);

  /* "src/pyscipopt/scip.pxi":4548
 *         cdef SCIP_Bool infeasible
 *         cdef SCIP_Bool fixed
 *         PY_SCIP_CALL(SCIPfixVar(self._scip, var.scip_var, val, &infeasible, &fixed))             # <<<<<<<<<<<<<<
 *         return infeasible, fixed
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_val); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4548, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPfixVar(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_4, (&__pyx_v_infeasible), (&__pyx_v_fixed))); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4548, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4548, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4549
 *         cdef SCIP_Bool fixed
 *         PY_SCIP_CALL(SCIPfixVar(self._scip, var.scip_var, val, &infeasible, &fixed))
 *         return infeasible, fixed             # <<<<<<<<<<<<<<
 * 
 *     def delVar(self, Variable var):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_infeasible); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_fixed); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4549, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 4549, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 4549, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4527
 *         PY_SCIP_CALL(SCIPaddVarLocksType(self._scip, var.scip_var, locktype, nlocksdown, nlocksup))
 * 
 *     def fixVar(self, Variable var, val):             # <<<<<<<<<<<<<<
 *         """
 *         Fixes the variable var to the value val if possible.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.fixVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4551
 *         return infeasible, fixed
 * 
 *     def delVar(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Delete a variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_201delVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_200delVar, "\n        Delete a variable.\n\n        Parameters\n        ----------\n        var : Variable\n            the variable which shall be deleted\n\n        Returns\n        -------\n        deleted : bool\n            Whether deleting was successfull\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_201delVar = {"delVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_201delVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_200delVar};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_201delVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("delVar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4551, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4551, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "delVar", 0) < (0)) __PYX_ERR(2, 4551, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("delVar", 1, 1, 1, i); __PYX_ERR(2, 4551, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4551, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("delVar", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 4551, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.delVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4551, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_200delVar(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_200delVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  SCIP_Bool __pyx_v_deleted;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("delVar", 0);

  /* "src/pyscipopt/scip.pxi":4567
 *         """
 *         cdef SCIP_Bool deleted
 *         del self._modelvars[var.ptr()]             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPdelVar(self._scip, var.scip_var, &deleted))
 *         # Invalidate pointer after deletion. See issue #604.
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_var);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_ptr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4567, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (unlikely((PyObject_DelItem(__pyx_v_self->_modelvars, __pyx_t_1) < 0))) __PYX_ERR(2, 4567, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4568
 *         cdef SCIP_Bool deleted
 *         del self._modelvars[var.ptr()]
 *         PY_SCIP_CALL(SCIPdelVar(self._scip, var.scip_var, &deleted))             # <<<<<<<<<<<<<<
 *         # Invalidate pointer after deletion. See issue #604.
 *         var.scip_var = NULL
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPdelVar(__pyx_v_self->_scip, __pyx_v_var->scip_var, (&__pyx_v_deleted))); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4568, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4570
 *         PY_SCIP_CALL(SCIPdelVar(self._scip, var.scip_var, &deleted))
 *         # Invalidate pointer after deletion. See issue #604.
 *         var.scip_var = NULL             # <<<<<<<<<<<<<<
 *         return deleted
 * 
*/
  __pyx_v_var->scip_var = NULL;

  /* "src/pyscipopt/scip.pxi":4571
 *         # Invalidate pointer after deletion. See issue #604.
 *         var.scip_var = NULL
 *         return deleted             # <<<<<<<<<<<<<<
 * 
 *     def aggregateVars(self, Variable varx, Variable vary, coefx=1.0, coefy=-1.0, rhs=0.0):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_deleted); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4551
 *         return infeasible, fixed
 * 
 *     def delVar(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Delete a variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.delVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4573
 *         return deleted
 * 
 *     def aggregateVars(self, Variable varx, Variable vary, coefx=1.0, coefy=-1.0, rhs=0.0):             # <<<<<<<<<<<<<<
 *         """
 *         Aggregate two variables by adding an aggregation constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_203aggregateVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_202aggregateVars, "\n        Aggregate two variables by adding an aggregation constraint.\n\n        The aggregation is defined by the linear equation:\n\n            coefx * varx + coefy * vary = rhs\n\n        After aggregation, varx becomes a redundant variable and vary remains active.\n        The aggregation effectively substitutes varx with: (rhs - coefy * vary) / coefx\n\n        This method can only be called during presolving.\n\n        Parameters\n        ----------\n        varx : Variable\n            variable to be aggregated (will become redundant)\n        vary : Variable\n            variable to aggregate with (will remain active)\n        coefx : float, optional\n            coefficient for varx in the aggregation equation (default: 1.0)\n        coefy : float, optional\n            coefficient for vary in the aggregation equation (default: -1.0)\n        rhs : float, optional\n            right-hand side of the aggregation equation (default: 0.0)\n\n        Returns\n        -------\n        infeasible : bool\n            whether the aggregation is infeasible (e.g., bounds are incompatible)\n        redundant : bool\n            whether the aggregation makes varx redundant\n        aggregated : bool\n            whether the aggregation was actually performed\n\n        Examples\n        --------\n        To express x = y (i.e., 1*x + (-1)*y = 0):\n\n            infeas, redun, aggr = model.aggregateVars(x, y, 1.0, -1.0, 0.0)\n\n        To express x = 5 - y (i.e., 1*x + 1*y = 5):\n\n            infeas, redun, aggr = model.aggregateVars(x, y, 1.0, 1.0, 5.0)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_203aggregateVars = {"aggregateVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_203aggregateVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_202aggregateVars};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_203aggregateVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_varx = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_vary = 0;
  PyObject *__pyx_v_coefx = 0;
  PyObject *__pyx_v_coefy = 0;
  PyObject *__pyx_v_rhs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("aggregateVars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_varx,&__pyx_mstate_global->__pyx_n_u_vary,&__pyx_mstate_global->__pyx_n_u_coefx,&__pyx_mstate_global->__pyx_n_u_coefy,&__pyx_mstate_global->__pyx_n_u_rhs,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4573, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 4573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 4573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "aggregateVars", 0) < (0)) __PYX_ERR(2, 4573, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_1_0));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_neg_1_0));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("aggregateVars", 0, 2, 5, i); __PYX_ERR(2, 4573, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 4573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 4573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4573, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4573, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_1_0));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_neg_1_0));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
    }
    __pyx_v_varx = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_vary = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
    __pyx_v_coefx = values[2];
    __pyx_v_coefy = values[3];
    __pyx_v_rhs = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("aggregateVars", 0, 2, 5, __pyx_nargs); __PYX_ERR(2, 4573, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.aggregateVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_varx), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "varx", 0))) __PYX_ERR(2, 4573, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_vary), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "vary", 0))) __PYX_ERR(2, 4573, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_202aggregateVars(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_varx, __pyx_v_vary, __pyx_v_coefx, __pyx_v_coefy, __pyx_v_rhs);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_202aggregateVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_varx, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_vary, PyObject *__pyx_v_coefx, PyObject *__pyx_v_coefy, PyObject *__pyx_v_rhs) {
  SCIP_Bool __pyx_v_infeasible;
  SCIP_Bool __pyx_v_redundant;
  SCIP_Bool __pyx_v_aggregated;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  SCIP_Real __pyx_t_5;
  SCIP_Real __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("aggregateVars", 0);

  /* "src/pyscipopt/scip.pxi":4622
 *         cdef SCIP_Bool redundant
 *         cdef SCIP_Bool aggregated
 *         PY_SCIP_CALL(SCIPaggregateVars(self._scip,             # <<<<<<<<<<<<<<
 *                                     varx.scip_var,
 *                                     vary.scip_var,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "src/pyscipopt/scip.pxi":4625
 *                                     varx.scip_var,
 *                                     vary.scip_var,
 *                                     coefx,             # <<<<<<<<<<<<<<
 *                                     coefy,
 *                                     rhs,
*/
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_coefx); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4625, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":4626
 *                                     vary.scip_var,
 *                                     coefx,
 *                                     coefy,             # <<<<<<<<<<<<<<
 *                                     rhs,
 *                                     &infeasible,
*/
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_coefy); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4626, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":4627
 *                                     coefx,
 *                                     coefy,
 *                                     rhs,             # <<<<<<<<<<<<<<
 *                                     &infeasible,
 *                                     &redundant,
*/
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_rhs); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4627, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":4622
 *         cdef SCIP_Bool redundant
 *         cdef SCIP_Bool aggregated
 *         PY_SCIP_CALL(SCIPaggregateVars(self._scip,             # <<<<<<<<<<<<<<
 *                                     varx.scip_var,
 *                                     vary.scip_var,
*/
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaggregateVars(__pyx_v_self->_scip, __pyx_v_varx->scip_var, __pyx_v_vary->scip_var, __pyx_t_4, __pyx_t_5, __pyx_t_6, (&__pyx_v_infeasible), (&__pyx_v_redundant), (&__pyx_v_aggregated))); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 4622, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_8 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4622, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4631
 *                                     &redundant,
 *                                     &aggregated))
 *         return infeasible, redundant, aggregated             # <<<<<<<<<<<<<<
 * 
 *     def tightenVarLb(self, Variable var, lb, force=False):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_infeasible); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_redundant); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyBool_FromLong(__pyx_v_aggregated); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 4631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4631, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 4631, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 4631, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_7) != (0)) __PYX_ERR(2, 4631, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4573
 *         return deleted
 * 
 *     def aggregateVars(self, Variable varx, Variable vary, coefx=1.0, coefy=-1.0, rhs=0.0):             # <<<<<<<<<<<<<<
 *         """
 *         Aggregate two variables by adding an aggregation constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.aggregateVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4633
 *         return infeasible, redundant, aggregated
 * 
 *     def tightenVarLb(self, Variable var, lb, force=False):             # <<<<<<<<<<<<<<
 *         """
 *         Tighten the lower bound in preprocessing or current node, if the bound is tighter.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_205tightenVarLb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_204tightenVarLb, "\n        Tighten the lower bound in preprocessing or current node, if the bound is tighter.\n\n        Parameters\n        ----------\n        var : Variable\n            SCIP variable\n        lb : float\n            possible new lower bound\n        force : bool, optional\n            force tightening even if below bound strengthening tolerance (default = False)\n\n        Returns\n        -------\n        infeasible : bool\n            Whether new domain is empty\n        tightened : bool\n            Whether the bound was tightened\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_205tightenVarLb = {"tightenVarLb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_205tightenVarLb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_204tightenVarLb};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_205tightenVarLb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_lb = 0;
  PyObject *__pyx_v_force = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("tightenVarLb (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_lb,&__pyx_mstate_global->__pyx_n_u_force,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4633, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4633, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4633, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4633, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "tightenVarLb", 0) < (0)) __PYX_ERR(2, 4633, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("tightenVarLb", 0, 2, 3, i); __PYX_ERR(2, 4633, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4633, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4633, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4633, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_lb = values[1];
    __pyx_v_force = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("tightenVarLb", 0, 2, 3, __pyx_nargs); __PYX_ERR(2, 4633, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.tightenVarLb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4633, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_204tightenVarLb(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_lb, __pyx_v_force);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_204tightenVarLb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb, PyObject *__pyx_v_force) {
  SCIP_Bool __pyx_v_infeasible;
  SCIP_Bool __pyx_v_tightened;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  SCIP_Bool __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("tightenVarLb", 0);

  /* "src/pyscipopt/scip.pxi":4656
 *         cdef SCIP_Bool infeasible
 *         cdef SCIP_Bool tightened
 *         PY_SCIP_CALL(SCIPtightenVarLb(self._scip, var.scip_var, lb, force, &infeasible, &tightened))             # <<<<<<<<<<<<<<
 *         return infeasible, tightened
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4656, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_force); if (unlikely((__pyx_t_5 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4656, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPtightenVarLb(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_4, __pyx_t_5, (&__pyx_v_infeasible), (&__pyx_v_tightened))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4656, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4656, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4657
 *         cdef SCIP_Bool tightened
 *         PY_SCIP_CALL(SCIPtightenVarLb(self._scip, var.scip_var, lb, force, &infeasible, &tightened))
 *         return infeasible, tightened             # <<<<<<<<<<<<<<
 * 
 *     def tightenVarUb(self, Variable var, ub, force=False):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_infeasible); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_tightened); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 4657, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 4657, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4633
 *         return infeasible, redundant, aggregated
 * 
 *     def tightenVarLb(self, Variable var, lb, force=False):             # <<<<<<<<<<<<<<
 *         """
 *         Tighten the lower bound in preprocessing or current node, if the bound is tighter.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.tightenVarLb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4659
 *         return infeasible, tightened
 * 
 *     def tightenVarUb(self, Variable var, ub, force=False):             # <<<<<<<<<<<<<<
 *         """
 *         Tighten the upper bound in preprocessing or current node, if the bound is tighter.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_207tightenVarUb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_206tightenVarUb, "\n        Tighten the upper bound in preprocessing or current node, if the bound is tighter.\n\n        Parameters\n        ----------\n        var : Variable\n            SCIP variable\n        ub : float\n            possible new upper bound\n        force : bool, optional\n            force tightening even if below bound strengthening tolerance\n\n        Returns\n        -------\n        infeasible : bool\n            Whether new domain is empty\n        tightened : bool\n            Whether the bound was tightened\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_207tightenVarUb = {"tightenVarUb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_207tightenVarUb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_206tightenVarUb};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_207tightenVarUb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_ub = 0;
  PyObject *__pyx_v_force = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("tightenVarUb (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_ub,&__pyx_mstate_global->__pyx_n_u_force,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4659, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4659, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4659, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4659, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "tightenVarUb", 0) < (0)) __PYX_ERR(2, 4659, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("tightenVarUb", 0, 2, 3, i); __PYX_ERR(2, 4659, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4659, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4659, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4659, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_ub = values[1];
    __pyx_v_force = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("tightenVarUb", 0, 2, 3, __pyx_nargs); __PYX_ERR(2, 4659, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.tightenVarUb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4659, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_206tightenVarUb(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_ub, __pyx_v_force);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_206tightenVarUb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub, PyObject *__pyx_v_force) {
  SCIP_Bool __pyx_v_infeasible;
  SCIP_Bool __pyx_v_tightened;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  SCIP_Bool __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("tightenVarUb", 0);

  /* "src/pyscipopt/scip.pxi":4682
 *         cdef SCIP_Bool infeasible
 *         cdef SCIP_Bool tightened
 *         PY_SCIP_CALL(SCIPtightenVarUb(self._scip, var.scip_var, ub, force, &infeasible, &tightened))             # <<<<<<<<<<<<<<
 *         return infeasible, tightened
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_ub); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4682, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_force); if (unlikely((__pyx_t_5 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4682, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPtightenVarUb(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_4, __pyx_t_5, (&__pyx_v_infeasible), (&__pyx_v_tightened))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4682, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4682, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4683
 *         cdef SCIP_Bool tightened
 *         PY_SCIP_CALL(SCIPtightenVarUb(self._scip, var.scip_var, ub, force, &infeasible, &tightened))
 *         return infeasible, tightened             # <<<<<<<<<<<<<<
 * 
 *     def tightenVarUbGlobal(self, Variable var, ub, force=False):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_infeasible); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_tightened); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 4683, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 4683, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4659
 *         return infeasible, tightened
 * 
 *     def tightenVarUb(self, Variable var, ub, force=False):             # <<<<<<<<<<<<<<
 *         """
 *         Tighten the upper bound in preprocessing or current node, if the bound is tighter.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.tightenVarUb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4685
 *         return infeasible, tightened
 * 
 *     def tightenVarUbGlobal(self, Variable var, ub, force=False):             # <<<<<<<<<<<<<<
 *         """
 *         Tighten the global upper bound, if the bound is tighter.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_209tightenVarUbGlobal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_208tightenVarUbGlobal, "\n        Tighten the global upper bound, if the bound is tighter.\n\n        Parameters\n        ----------\n        var : Variable\n            SCIP variable\n        ub : float\n            possible new upper bound\n        force : bool, optional\n            force tightening even if below bound strengthening tolerance\n\n        Returns\n        -------\n        infeasible : bool\n            Whether new domain is empty\n        tightened : bool\n            Whether the bound was tightened\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_209tightenVarUbGlobal = {"tightenVarUbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_209tightenVarUbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_208tightenVarUbGlobal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_209tightenVarUbGlobal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_ub = 0;
  PyObject *__pyx_v_force = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("tightenVarUbGlobal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_ub,&__pyx_mstate_global->__pyx_n_u_force,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4685, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4685, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4685, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4685, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "tightenVarUbGlobal", 0) < (0)) __PYX_ERR(2, 4685, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("tightenVarUbGlobal", 0, 2, 3, i); __PYX_ERR(2, 4685, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4685, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4685, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4685, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_ub = values[1];
    __pyx_v_force = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("tightenVarUbGlobal", 0, 2, 3, __pyx_nargs); __PYX_ERR(2, 4685, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.tightenVarUbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4685, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_208tightenVarUbGlobal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_ub, __pyx_v_force);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_208tightenVarUbGlobal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub, PyObject *__pyx_v_force) {
  SCIP_Bool __pyx_v_infeasible;
  SCIP_Bool __pyx_v_tightened;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  SCIP_Bool __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("tightenVarUbGlobal", 0);

  /* "src/pyscipopt/scip.pxi":4708
 *         cdef SCIP_Bool infeasible
 *         cdef SCIP_Bool tightened
 *         PY_SCIP_CALL(SCIPtightenVarUbGlobal(self._scip, var.scip_var, ub, force, &infeasible, &tightened))             # <<<<<<<<<<<<<<
 *         return infeasible, tightened
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_ub); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4708, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_force); if (unlikely((__pyx_t_5 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4708, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPtightenVarUbGlobal(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_4, __pyx_t_5, (&__pyx_v_infeasible), (&__pyx_v_tightened))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4708, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4709
 *         cdef SCIP_Bool tightened
 *         PY_SCIP_CALL(SCIPtightenVarUbGlobal(self._scip, var.scip_var, ub, force, &infeasible, &tightened))
 *         return infeasible, tightened             # <<<<<<<<<<<<<<
 * 
 *     def tightenVarLbGlobal(self, Variable var, lb, force=False):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_infeasible); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_tightened); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 4709, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 4709, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4685
 *         return infeasible, tightened
 * 
 *     def tightenVarUbGlobal(self, Variable var, ub, force=False):             # <<<<<<<<<<<<<<
 *         """
 *         Tighten the global upper bound, if the bound is tighter.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.tightenVarUbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4711
 *         return infeasible, tightened
 * 
 *     def tightenVarLbGlobal(self, Variable var, lb, force=False):             # <<<<<<<<<<<<<<
 *         """Tighten the global lower bound, if the bound is tighter.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_211tightenVarLbGlobal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_210tightenVarLbGlobal, "Tighten the global lower bound, if the bound is tighter.\n\n        Parameters\n        ----------\n        var : Variable\n            SCIP variable\n        lb : float\n            possible new lower bound\n        force : bool, optional\n            force tightening even if below bound strengthening tolerance\n\n        Returns\n        -------\n        infeasible : bool\n            Whether new domain is empty\n        tightened : bool\n            Whether the bound was tightened\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_211tightenVarLbGlobal = {"tightenVarLbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_211tightenVarLbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_210tightenVarLbGlobal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_211tightenVarLbGlobal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_lb = 0;
  PyObject *__pyx_v_force = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("tightenVarLbGlobal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_lb,&__pyx_mstate_global->__pyx_n_u_force,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4711, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4711, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4711, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4711, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "tightenVarLbGlobal", 0) < (0)) __PYX_ERR(2, 4711, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("tightenVarLbGlobal", 0, 2, 3, i); __PYX_ERR(2, 4711, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4711, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4711, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4711, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_lb = values[1];
    __pyx_v_force = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("tightenVarLbGlobal", 0, 2, 3, __pyx_nargs); __PYX_ERR(2, 4711, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.tightenVarLbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4711, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_210tightenVarLbGlobal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_lb, __pyx_v_force);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_210tightenVarLbGlobal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb, PyObject *__pyx_v_force) {
  SCIP_Bool __pyx_v_infeasible;
  SCIP_Bool __pyx_v_tightened;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  SCIP_Bool __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("tightenVarLbGlobal", 0);

  /* "src/pyscipopt/scip.pxi":4733
 *         cdef SCIP_Bool infeasible
 *         cdef SCIP_Bool tightened
 *         PY_SCIP_CALL(SCIPtightenVarLbGlobal(self._scip, var.scip_var, lb, force, &infeasible, &tightened))             # <<<<<<<<<<<<<<
 *         return infeasible, tightened
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4733, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_force); if (unlikely((__pyx_t_5 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4733, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPtightenVarLbGlobal(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_4, __pyx_t_5, (&__pyx_v_infeasible), (&__pyx_v_tightened))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4733, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4733, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4734
 *         cdef SCIP_Bool tightened
 *         PY_SCIP_CALL(SCIPtightenVarLbGlobal(self._scip, var.scip_var, lb, force, &infeasible, &tightened))
 *         return infeasible, tightened             # <<<<<<<<<<<<<<
 * 
 *     def chgVarLb(self, Variable var, lb):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_infeasible); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_tightened); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 4734, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 4734, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4711
 *         return infeasible, tightened
 * 
 *     def tightenVarLbGlobal(self, Variable var, lb, force=False):             # <<<<<<<<<<<<<<
 *         """Tighten the global lower bound, if the bound is tighter.
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.tightenVarLbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4736
 *         return infeasible, tightened
 * 
 *     def chgVarLb(self, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """
 *         Changes the lower bound of the specified variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_213chgVarLb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_212chgVarLb, "\n        Changes the lower bound of the specified variable.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to change bound of\n        lb : float or None\n            new lower bound (set to None for -infinity)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_213chgVarLb = {"chgVarLb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_213chgVarLb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_212chgVarLb};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_213chgVarLb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_lb = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarLb (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_lb,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4736, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4736, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4736, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarLb", 0) < (0)) __PYX_ERR(2, 4736, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarLb", 1, 2, 2, i); __PYX_ERR(2, 4736, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4736, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4736, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_lb = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarLb", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 4736, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarLb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4736, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_212chgVarLb(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_lb);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_212chgVarLb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarLb", 0);
  __Pyx_INCREF(__pyx_v_lb);

  /* "src/pyscipopt/scip.pxi":4748
 * 
 *         """
 *         if lb is None:             # <<<<<<<<<<<<<<
 *            lb = -SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarLb(self._scip, var.scip_var, lb))
*/
  __pyx_t_1 = (__pyx_v_lb == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4749
 *         """
 *         if lb is None:
 *            lb = -SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPchgVarLb(self._scip, var.scip_var, lb))
 * 
*/
    __pyx_t_2 = PyFloat_FromDouble((-SCIPinfinity(__pyx_v_self->_scip))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4749, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_lb, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4748
 * 
 *         """
 *         if lb is None:             # <<<<<<<<<<<<<<
 *            lb = -SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarLb(self._scip, var.scip_var, lb))
*/
  }

  /* "src/pyscipopt/scip.pxi":4750
 *         if lb is None:
 *            lb = -SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarLb(self._scip, var.scip_var, lb))             # <<<<<<<<<<<<<<
 * 
 *     def chgVarUb(self, Variable var, ub):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4750, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarLb(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4750, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":4736
 *         return infeasible, tightened
 * 
 *     def chgVarLb(self, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """
 *         Changes the lower bound of the specified variable.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarLb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_lb);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4752
 *         PY_SCIP_CALL(SCIPchgVarLb(self._scip, var.scip_var, lb))
 * 
 *     def chgVarUb(self, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """Changes the upper bound of the specified variable.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_215chgVarUb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_214chgVarUb, "Changes the upper bound of the specified variable.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to change bound of\n        lb : float or None\n            new upper bound (set to None for +infinity)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_215chgVarUb = {"chgVarUb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_215chgVarUb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_214chgVarUb};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_215chgVarUb(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_ub = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarUb (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_ub,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4752, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4752, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4752, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarUb", 0) < (0)) __PYX_ERR(2, 4752, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarUb", 1, 2, 2, i); __PYX_ERR(2, 4752, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4752, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4752, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_ub = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarUb", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 4752, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarUb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4752, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_214chgVarUb(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_ub);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_214chgVarUb(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarUb", 0);
  __Pyx_INCREF(__pyx_v_ub);

  /* "src/pyscipopt/scip.pxi":4763
 * 
 *         """
 *         if ub is None:             # <<<<<<<<<<<<<<
 *            ub = SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarUb(self._scip, var.scip_var, ub))
*/
  __pyx_t_1 = (__pyx_v_ub == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4764
 *         """
 *         if ub is None:
 *            ub = SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPchgVarUb(self._scip, var.scip_var, ub))
 * 
*/
    __pyx_t_2 = PyFloat_FromDouble(SCIPinfinity(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_ub, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4763
 * 
 *         """
 *         if ub is None:             # <<<<<<<<<<<<<<
 *            ub = SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarUb(self._scip, var.scip_var, ub))
*/
  }

  /* "src/pyscipopt/scip.pxi":4765
 *         if ub is None:
 *            ub = SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarUb(self._scip, var.scip_var, ub))             # <<<<<<<<<<<<<<
 * 
 *     def chgVarLbGlobal(self, Variable var, lb):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_ub); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4765, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarUb(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":4752
 *         PY_SCIP_CALL(SCIPchgVarLb(self._scip, var.scip_var, lb))
 * 
 *     def chgVarUb(self, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """Changes the upper bound of the specified variable.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarUb", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ub);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4767
 *         PY_SCIP_CALL(SCIPchgVarUb(self._scip, var.scip_var, ub))
 * 
 *     def chgVarLbGlobal(self, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """Changes the global lower bound of the specified variable.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_217chgVarLbGlobal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_216chgVarLbGlobal, "Changes the global lower bound of the specified variable.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to change bound of\n        lb : float or None\n            new lower bound (set to None for -infinity)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_217chgVarLbGlobal = {"chgVarLbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_217chgVarLbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_216chgVarLbGlobal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_217chgVarLbGlobal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_lb = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarLbGlobal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_lb,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4767, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4767, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4767, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarLbGlobal", 0) < (0)) __PYX_ERR(2, 4767, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarLbGlobal", 1, 2, 2, i); __PYX_ERR(2, 4767, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4767, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4767, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_lb = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarLbGlobal", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 4767, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarLbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4767, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_216chgVarLbGlobal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_lb);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_216chgVarLbGlobal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarLbGlobal", 0);
  __Pyx_INCREF(__pyx_v_lb);

  /* "src/pyscipopt/scip.pxi":4778
 * 
 *         """
 *         if lb is None:             # <<<<<<<<<<<<<<
 *            lb = -SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarLbGlobal(self._scip, var.scip_var, lb))
*/
  __pyx_t_1 = (__pyx_v_lb == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4779
 *         """
 *         if lb is None:
 *            lb = -SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPchgVarLbGlobal(self._scip, var.scip_var, lb))
 * 
*/
    __pyx_t_2 = PyFloat_FromDouble((-SCIPinfinity(__pyx_v_self->_scip))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_lb, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4778
 * 
 *         """
 *         if lb is None:             # <<<<<<<<<<<<<<
 *            lb = -SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarLbGlobal(self._scip, var.scip_var, lb))
*/
  }

  /* "src/pyscipopt/scip.pxi":4780
 *         if lb is None:
 *            lb = -SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarLbGlobal(self._scip, var.scip_var, lb))             # <<<<<<<<<<<<<<
 * 
 *     def chgVarUbGlobal(self, Variable var, ub):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4780, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarLbGlobal(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":4767
 *         PY_SCIP_CALL(SCIPchgVarUb(self._scip, var.scip_var, ub))
 * 
 *     def chgVarLbGlobal(self, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """Changes the global lower bound of the specified variable.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarLbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_lb);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4782
 *         PY_SCIP_CALL(SCIPchgVarLbGlobal(self._scip, var.scip_var, lb))
 * 
 *     def chgVarUbGlobal(self, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """Changes the global upper bound of the specified variable.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_219chgVarUbGlobal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_218chgVarUbGlobal, "Changes the global upper bound of the specified variable.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to change bound of\n        lb : float or None\n            new upper bound (set to None for +infinity)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_219chgVarUbGlobal = {"chgVarUbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_219chgVarUbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_218chgVarUbGlobal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_219chgVarUbGlobal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_ub = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarUbGlobal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_ub,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4782, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4782, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4782, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarUbGlobal", 0) < (0)) __PYX_ERR(2, 4782, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarUbGlobal", 1, 2, 2, i); __PYX_ERR(2, 4782, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4782, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4782, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_ub = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarUbGlobal", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 4782, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarUbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4782, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_218chgVarUbGlobal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_ub);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_218chgVarUbGlobal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarUbGlobal", 0);
  __Pyx_INCREF(__pyx_v_ub);

  /* "src/pyscipopt/scip.pxi":4793
 * 
 *         """
 *         if ub is None:             # <<<<<<<<<<<<<<
 *            ub = SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarUbGlobal(self._scip, var.scip_var, ub))
*/
  __pyx_t_1 = (__pyx_v_ub == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4794
 *         """
 *         if ub is None:
 *            ub = SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPchgVarUbGlobal(self._scip, var.scip_var, ub))
 * 
*/
    __pyx_t_2 = PyFloat_FromDouble(SCIPinfinity(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4794, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_ub, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4793
 * 
 *         """
 *         if ub is None:             # <<<<<<<<<<<<<<
 *            ub = SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarUbGlobal(self._scip, var.scip_var, ub))
*/
  }

  /* "src/pyscipopt/scip.pxi":4795
 *         if ub is None:
 *            ub = SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarUbGlobal(self._scip, var.scip_var, ub))             # <<<<<<<<<<<<<<
 * 
 *     def chgVarLbNode(self, Node node, Variable var, lb):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_ub); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4795, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarUbGlobal(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4795, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4795, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":4782
 *         PY_SCIP_CALL(SCIPchgVarLbGlobal(self._scip, var.scip_var, lb))
 * 
 *     def chgVarUbGlobal(self, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """Changes the global upper bound of the specified variable.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarUbGlobal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ub);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4797
 *         PY_SCIP_CALL(SCIPchgVarUbGlobal(self._scip, var.scip_var, ub))
 * 
 *     def chgVarLbNode(self, Node node, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """Changes the lower bound of the specified variable at the given node.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_221chgVarLbNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_220chgVarLbNode, "Changes the lower bound of the specified variable at the given node.\n\n        Parameters\n        ----------\n        node : Node\n            Node at which the variable bound will be changed\n        var : Variable\n            variable to change bound of\n        lb : float or None\n            new lower bound (set to None for -infinity)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_221chgVarLbNode = {"chgVarLbNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_221chgVarLbNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_220chgVarLbNode};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_221chgVarLbNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_lb = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarLbNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_node,&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_lb,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4797, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4797, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4797, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4797, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarLbNode", 0) < (0)) __PYX_ERR(2, 4797, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarLbNode", 1, 3, 3, i); __PYX_ERR(2, 4797, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4797, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4797, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4797, __pyx_L3_error)
    }
    __pyx_v_node = ((struct __pyx_obj_9pyscipopt_4scip_Node *)values[0]);
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
    __pyx_v_lb = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarLbNode", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 4797, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarLbNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_node), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, 1, "node", 0))) __PYX_ERR(2, 4797, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4797, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_220chgVarLbNode(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_node, __pyx_v_var, __pyx_v_lb);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_220chgVarLbNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarLbNode", 0);
  __Pyx_INCREF(__pyx_v_lb);

  /* "src/pyscipopt/scip.pxi":4811
 *         """
 * 
 *         if lb is None:             # <<<<<<<<<<<<<<
 *            lb = -SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarLbNode(self._scip, node.scip_node, var.scip_var, lb))
*/
  __pyx_t_1 = (__pyx_v_lb == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4812
 * 
 *         if lb is None:
 *            lb = -SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPchgVarLbNode(self._scip, node.scip_node, var.scip_var, lb))
 * 
*/
    __pyx_t_2 = PyFloat_FromDouble((-SCIPinfinity(__pyx_v_self->_scip))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4812, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_lb, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4811
 *         """
 * 
 *         if lb is None:             # <<<<<<<<<<<<<<
 *            lb = -SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarLbNode(self._scip, node.scip_node, var.scip_var, lb))
*/
  }

  /* "src/pyscipopt/scip.pxi":4813
 *         if lb is None:
 *            lb = -SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarLbNode(self._scip, node.scip_node, var.scip_var, lb))             # <<<<<<<<<<<<<<
 * 
 *     def chgVarUbNode(self, Node node, Variable var, ub):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4813, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarLbNode(__pyx_v_self->_scip, __pyx_v_node->scip_node, __pyx_v_var->scip_var, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4813, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":4797
 *         PY_SCIP_CALL(SCIPchgVarUbGlobal(self._scip, var.scip_var, ub))
 * 
 *     def chgVarLbNode(self, Node node, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """Changes the lower bound of the specified variable at the given node.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarLbNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_lb);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4815
 *         PY_SCIP_CALL(SCIPchgVarLbNode(self._scip, node.scip_node, var.scip_var, lb))
 * 
 *     def chgVarUbNode(self, Node node, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """Changes the upper bound of the specified variable at the given node.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_223chgVarUbNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_222chgVarUbNode, "Changes the upper bound of the specified variable at the given node.\n\n        Parameters\n        ----------\n        node : Node\n            Node at which the variable bound will be changed\n        var : Variable\n            variable to change bound of\n        lb : float or None\n            new upper bound (set to None for +infinity)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_223chgVarUbNode = {"chgVarUbNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_223chgVarUbNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_222chgVarUbNode};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_223chgVarUbNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_ub = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarUbNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_node,&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_ub,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4815, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4815, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4815, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4815, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarUbNode", 0) < (0)) __PYX_ERR(2, 4815, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarUbNode", 1, 3, 3, i); __PYX_ERR(2, 4815, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4815, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4815, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 4815, __pyx_L3_error)
    }
    __pyx_v_node = ((struct __pyx_obj_9pyscipopt_4scip_Node *)values[0]);
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
    __pyx_v_ub = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarUbNode", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 4815, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarUbNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_node), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, 1, "node", 0))) __PYX_ERR(2, 4815, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4815, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_222chgVarUbNode(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_node, __pyx_v_var, __pyx_v_ub);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_222chgVarUbNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarUbNode", 0);
  __Pyx_INCREF(__pyx_v_ub);

  /* "src/pyscipopt/scip.pxi":4828
 * 
 *         """
 *         if ub is None:             # <<<<<<<<<<<<<<
 *            ub = SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarUbNode(self._scip, node.scip_node, var.scip_var, ub))
*/
  __pyx_t_1 = (__pyx_v_ub == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4829
 *         """
 *         if ub is None:
 *            ub = SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPchgVarUbNode(self._scip, node.scip_node, var.scip_var, ub))
 * 
*/
    __pyx_t_2 = PyFloat_FromDouble(SCIPinfinity(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4829, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_ub, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":4828
 * 
 *         """
 *         if ub is None:             # <<<<<<<<<<<<<<
 *            ub = SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarUbNode(self._scip, node.scip_node, var.scip_var, ub))
*/
  }

  /* "src/pyscipopt/scip.pxi":4830
 *         if ub is None:
 *            ub = SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarUbNode(self._scip, node.scip_node, var.scip_var, ub))             # <<<<<<<<<<<<<<
 * 
 *     def chgVarType(self, Variable var, vtype):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_ub); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 4830, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarUbNode(__pyx_v_self->_scip, __pyx_v_node->scip_node, __pyx_v_var->scip_var, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":4815
 *         PY_SCIP_CALL(SCIPchgVarLbNode(self._scip, node.scip_node, var.scip_var, lb))
 * 
 *     def chgVarUbNode(self, Node node, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """Changes the upper bound of the specified variable at the given node.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarUbNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ub);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4832
 *         PY_SCIP_CALL(SCIPchgVarUbNode(self._scip, node.scip_node, var.scip_var, ub))
 * 
 *     def chgVarType(self, Variable var, vtype):             # <<<<<<<<<<<<<<
 *         """
 *         Changes the type of a variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_225chgVarType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_224chgVarType, "\n        Changes the type of a variable.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to change type of\n        vtype : str\n            new variable type. 'C' or \"CONTINUOUS\", 'I' or \"INTEGER\",\n            'B' or \"BINARY\", and 'M' \"IMPLINT\".\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_225chgVarType = {"chgVarType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_225chgVarType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_224chgVarType};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_225chgVarType(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_vtype = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarType (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_vtype,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4832, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4832, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4832, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarType", 0) < (0)) __PYX_ERR(2, 4832, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarType", 1, 2, 2, i); __PYX_ERR(2, 4832, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4832, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4832, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_vtype = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarType", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 4832, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4832, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_224chgVarType(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_vtype);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_224chgVarType(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_vtype) {
  SCIP_Bool __pyx_v_infeasible;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarType", 0);

  /* "src/pyscipopt/scip.pxi":4846
 *         """
 *         cdef SCIP_Bool infeasible
 *         if vtype in ['C', 'CONTINUOUS']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_CONTINUOUS, &infeasible))
 *         elif vtype in ['B', 'BINARY']:
*/
  __Pyx_INCREF(__pyx_v_vtype);
  __pyx_t_1 = __pyx_v_vtype;
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_C, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 4846, __pyx_L1_error)
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_CONTINUOUS, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 4846, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_t_2;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4847
 *         cdef SCIP_Bool infeasible
 *         if vtype in ['C', 'CONTINUOUS']:
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_CONTINUOUS, &infeasible))             # <<<<<<<<<<<<<<
 *         elif vtype in ['B', 'BINARY']:
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_BINARY, &infeasible))
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarType(__pyx_v_self->_scip, __pyx_v_var->scip_var, SCIP_VARTYPE_CONTINUOUS, (&__pyx_v_infeasible))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4847, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4847, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4846
 *         """
 *         cdef SCIP_Bool infeasible
 *         if vtype in ['C', 'CONTINUOUS']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_CONTINUOUS, &infeasible))
 *         elif vtype in ['B', 'BINARY']:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":4848
 *         if vtype in ['C', 'CONTINUOUS']:
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_CONTINUOUS, &infeasible))
 *         elif vtype in ['B', 'BINARY']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_BINARY, &infeasible))
 *         elif vtype in ['I', 'INTEGER']:
*/
  __Pyx_INCREF(__pyx_v_vtype);
  __pyx_t_1 = __pyx_v_vtype;
  __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_B, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 4848, __pyx_L1_error)
  if (!__pyx_t_2) {
  } else {
    __pyx_t_3 = __pyx_t_2;
    goto __pyx_L6_bool_binop_done;
  }
  __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_BINARY, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 4848, __pyx_L1_error)
  __pyx_t_3 = __pyx_t_2;
  __pyx_L6_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __pyx_t_3;
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":4849
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_CONTINUOUS, &infeasible))
 *         elif vtype in ['B', 'BINARY']:
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_BINARY, &infeasible))             # <<<<<<<<<<<<<<
 *         elif vtype in ['I', 'INTEGER']:
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_INTEGER, &infeasible))
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarType(__pyx_v_self->_scip, __pyx_v_var->scip_var, SCIP_VARTYPE_BINARY, (&__pyx_v_infeasible))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4849, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4848
 *         if vtype in ['C', 'CONTINUOUS']:
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_CONTINUOUS, &infeasible))
 *         elif vtype in ['B', 'BINARY']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_BINARY, &infeasible))
 *         elif vtype in ['I', 'INTEGER']:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":4850
 *         elif vtype in ['B', 'BINARY']:
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_BINARY, &infeasible))
 *         elif vtype in ['I', 'INTEGER']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_INTEGER, &infeasible))
 *         elif vtype in ['M', 'IMPLINT']:
*/
  __Pyx_INCREF(__pyx_v_vtype);
  __pyx_t_1 = __pyx_v_vtype;
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_I, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 4850, __pyx_L1_error)
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L8_bool_binop_done;
  }
  __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_INTEGER, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 4850, __pyx_L1_error)
  __pyx_t_2 = __pyx_t_3;
  __pyx_L8_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = __pyx_t_2;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":4851
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_BINARY, &infeasible))
 *         elif vtype in ['I', 'INTEGER']:
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_INTEGER, &infeasible))             # <<<<<<<<<<<<<<
 *         elif vtype in ['M', 'IMPLINT']:
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_DEPRECATED_VARTYPE_IMPLINT, &infeasible))
*/
    __pyx_t_6 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarType(__pyx_v_self->_scip, __pyx_v_var->scip_var, SCIP_VARTYPE_INTEGER, (&__pyx_v_infeasible))); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4851, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_6);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4851, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4850
 *         elif vtype in ['B', 'BINARY']:
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_BINARY, &infeasible))
 *         elif vtype in ['I', 'INTEGER']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_INTEGER, &infeasible))
 *         elif vtype in ['M', 'IMPLINT']:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":4852
 *         elif vtype in ['I', 'INTEGER']:
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_INTEGER, &infeasible))
 *         elif vtype in ['M', 'IMPLINT']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_DEPRECATED_VARTYPE_IMPLINT, &infeasible))
 *         else:
*/
  __Pyx_INCREF(__pyx_v_vtype);
  __pyx_t_1 = __pyx_v_vtype;
  __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_M, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 4852, __pyx_L1_error)
  if (!__pyx_t_2) {
  } else {
    __pyx_t_3 = __pyx_t_2;
    goto __pyx_L10_bool_binop_done;
  }
  __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_IMPLINT, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 4852, __pyx_L1_error)
  __pyx_t_3 = __pyx_t_2;
  __pyx_L10_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = __pyx_t_3;
  if (likely(__pyx_t_2)) {

    /* "src/pyscipopt/scip.pxi":4853
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_INTEGER, &infeasible))
 *         elif vtype in ['M', 'IMPLINT']:
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_DEPRECATED_VARTYPE_IMPLINT, &infeasible))             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("unrecognized variable type")
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarType(__pyx_v_self->_scip, __pyx_v_var->scip_var, SCIP_DEPRECATED_VARTYPE_IMPLINT, (&__pyx_v_infeasible))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4853, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4853, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4852
 *         elif vtype in ['I', 'INTEGER']:
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_VARTYPE_INTEGER, &infeasible))
 *         elif vtype in ['M', 'IMPLINT']:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_DEPRECATED_VARTYPE_IMPLINT, &infeasible))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":4855
 *             PY_SCIP_CALL(SCIPchgVarType(self._scip, var.scip_var, SCIP_DEPRECATED_VARTYPE_IMPLINT, &infeasible))
 *         else:
 *             raise Warning("unrecognized variable type")             # <<<<<<<<<<<<<<
 *         if infeasible:
 *             print('could not change variable type of variable %s' % var)
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_unrecognized_variable_type};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4855, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 4855, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":4856
 *         else:
 *             raise Warning("unrecognized variable type")
 *         if infeasible:             # <<<<<<<<<<<<<<
 *             print('could not change variable type of variable %s' % var)
 * 
*/
  __pyx_t_2 = (__pyx_v_infeasible != 0);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":4857
 *             raise Warning("unrecognized variable type")
 *         if infeasible:
 *             print('could not change variable type of variable %s' % var)             # <<<<<<<<<<<<<<
 * 
 *     def markDoNotAggrVar(self, Variable var):
*/
    __pyx_t_5 = NULL;
    __pyx_t_6 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_could_not_change_variable_type_o, ((PyObject *)__pyx_v_var)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4857, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_print, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4857, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4856
 *         else:
 *             raise Warning("unrecognized variable type")
 *         if infeasible:             # <<<<<<<<<<<<<<
 *             print('could not change variable type of variable %s' % var)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":4832
 *         PY_SCIP_CALL(SCIPchgVarUbNode(self._scip, node.scip_node, var.scip_var, ub))
 * 
 *     def chgVarType(self, Variable var, vtype):             # <<<<<<<<<<<<<<
 *         """
 *         Changes the type of a variable.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarType", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4859
 *             print('could not change variable type of variable %s' % var)
 * 
 *     def markDoNotAggrVar(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Marks a variable preventing it from being aggregated.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_227markDoNotAggrVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_226markDoNotAggrVar, "\n        Marks a variable preventing it from being aggregated.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to mark\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_227markDoNotAggrVar = {"markDoNotAggrVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_227markDoNotAggrVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_226markDoNotAggrVar};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_227markDoNotAggrVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("markDoNotAggrVar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4859, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4859, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "markDoNotAggrVar", 0) < (0)) __PYX_ERR(2, 4859, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("markDoNotAggrVar", 1, 1, 1, i); __PYX_ERR(2, 4859, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4859, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("markDoNotAggrVar", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 4859, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.markDoNotAggrVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4859, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_226markDoNotAggrVar(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_226markDoNotAggrVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("markDoNotAggrVar", 0);

  /* "src/pyscipopt/scip.pxi":4868
 *             variable to mark
 *         """
 *         PY_SCIP_CALL(SCIPmarkDoNotAggrVar(self._scip, var.scip_var))             # <<<<<<<<<<<<<<
 * 
 *     def markDoNotMultaggrVar(self, Variable var):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPmarkDoNotAggrVar(__pyx_v_self->_scip, __pyx_v_var->scip_var)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4859
 *             print('could not change variable type of variable %s' % var)
 * 
 *     def markDoNotAggrVar(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Marks a variable preventing it from being aggregated.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.markDoNotAggrVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4870
 *         PY_SCIP_CALL(SCIPmarkDoNotAggrVar(self._scip, var.scip_var))
 * 
 *     def markDoNotMultaggrVar(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Marks a variable preventing it from being multi-aggregated.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_229markDoNotMultaggrVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_228markDoNotMultaggrVar, "\n        Marks a variable preventing it from being multi-aggregated.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to mark\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_229markDoNotMultaggrVar = {"markDoNotMultaggrVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_229markDoNotMultaggrVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_228markDoNotMultaggrVar};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_229markDoNotMultaggrVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("markDoNotMultaggrVar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4870, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4870, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "markDoNotMultaggrVar", 0) < (0)) __PYX_ERR(2, 4870, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("markDoNotMultaggrVar", 1, 1, 1, i); __PYX_ERR(2, 4870, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4870, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("markDoNotMultaggrVar", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 4870, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.markDoNotMultaggrVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4870, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_228markDoNotMultaggrVar(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_228markDoNotMultaggrVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("markDoNotMultaggrVar", 0);

  /* "src/pyscipopt/scip.pxi":4879
 *             variable to mark
 *         """
 *         PY_SCIP_CALL(SCIPmarkDoNotMultaggrVar(self._scip, var.scip_var))             # <<<<<<<<<<<<<<
 * 
 *     def getVars(self, transformed=False):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 4879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPmarkDoNotMultaggrVar(__pyx_v_self->_scip, __pyx_v_var->scip_var)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4879, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4870
 *         PY_SCIP_CALL(SCIPmarkDoNotAggrVar(self._scip, var.scip_var))
 * 
 *     def markDoNotMultaggrVar(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Marks a variable preventing it from being multi-aggregated.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.markDoNotMultaggrVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4881
 *         PY_SCIP_CALL(SCIPmarkDoNotMultaggrVar(self._scip, var.scip_var))
 * 
 *     def getVars(self, transformed=False):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve all variables.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_231getVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_230getVars, "\n        Retrieve all variables.\n\n        Parameters\n        ----------\n        transformed : bool, optional\n            Get transformed variables instead of original (Default value = False)\n\n        Returns\n        -------\n        list of Variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_231getVars = {"getVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_231getVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_230getVars};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_231getVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_transformed = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_transformed,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4881, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4881, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getVars", 0) < (0)) __PYX_ERR(2, 4881, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4881, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_transformed = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getVars", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 4881, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_230getVars(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_transformed);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_230getVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_transformed) {
  SCIP_VAR **__pyx_v__vars;
  int __pyx_v_nvars;
  int __pyx_v_i;
  PyObject *__pyx_v_vars = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVars", 0);

  /* "src/pyscipopt/scip.pxi":4899
 *         cdef int i
 * 
 *         vars = []             # <<<<<<<<<<<<<<
 *         if transformed:
 *             _vars = SCIPgetVars(self._scip)
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_vars = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4900
 * 
 *         vars = []
 *         if transformed:             # <<<<<<<<<<<<<<
 *             _vars = SCIPgetVars(self._scip)
 *             nvars = SCIPgetNVars(self._scip)
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_transformed); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 4900, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":4901
 *         vars = []
 *         if transformed:
 *             _vars = SCIPgetVars(self._scip)             # <<<<<<<<<<<<<<
 *             nvars = SCIPgetNVars(self._scip)
 *         else:
*/
    __pyx_v__vars = SCIPgetVars(__pyx_v_self->_scip);

    /* "src/pyscipopt/scip.pxi":4902
 *         if transformed:
 *             _vars = SCIPgetVars(self._scip)
 *             nvars = SCIPgetNVars(self._scip)             # <<<<<<<<<<<<<<
 *         else:
 *             _vars = SCIPgetOrigVars(self._scip)
*/
    __pyx_v_nvars = SCIPgetNVars(__pyx_v_self->_scip);

    /* "src/pyscipopt/scip.pxi":4900
 * 
 *         vars = []
 *         if transformed:             # <<<<<<<<<<<<<<
 *             _vars = SCIPgetVars(self._scip)
 *             nvars = SCIPgetNVars(self._scip)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":4904
 *             nvars = SCIPgetNVars(self._scip)
 *         else:
 *             _vars = SCIPgetOrigVars(self._scip)             # <<<<<<<<<<<<<<
 *             nvars = SCIPgetNOrigVars(self._scip)
 * 
*/
  /*else*/ {
    __pyx_v__vars = SCIPgetOrigVars(__pyx_v_self->_scip);

    /* "src/pyscipopt/scip.pxi":4905
 *         else:
 *             _vars = SCIPgetOrigVars(self._scip)
 *             nvars = SCIPgetNOrigVars(self._scip)             # <<<<<<<<<<<<<<
 * 
 *         for i in range(nvars):
*/
    __pyx_v_nvars = SCIPgetNOrigVars(__pyx_v_self->_scip);
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":4907
 *             nvars = SCIPgetNOrigVars(self._scip)
 * 
 *         for i in range(nvars):             # <<<<<<<<<<<<<<
 *             vars.append(self._getOrCreateVar(_vars[i]))
 * 
*/
  __pyx_t_3 = __pyx_v_nvars;
  __pyx_t_4 = __pyx_t_3;
  for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
    __pyx_v_i = __pyx_t_5;

    /* "src/pyscipopt/scip.pxi":4908
 * 
 *         for i in range(nvars):
 *             vars.append(self._getOrCreateVar(_vars[i]))             # <<<<<<<<<<<<<<
 * 
 *         return vars
*/
    __pyx_t_1 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, (__pyx_v__vars[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_vars, __pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(2, 4908, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/scip.pxi":4910
 *             vars.append(self._getOrCreateVar(_vars[i]))
 * 
 *         return vars             # <<<<<<<<<<<<<<
 * 
 *     def getNVars(self, transformed=True):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_vars);
  __pyx_r = __pyx_v_vars;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4881
 *         PY_SCIP_CALL(SCIPmarkDoNotMultaggrVar(self._scip, var.scip_var))
 * 
 *     def getVars(self, transformed=False):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve all variables.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_vars);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4912
 *         return vars
 * 
 *     def getNVars(self, transformed=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of variables in the problems.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_233getNVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_232getNVars, "\n        Retrieve number of variables in the problems.\n\n        Parameters\n        ----------\n        transformed : bool, optional\n            Get transformed variables instead of original (Default value = True)\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_233getNVars = {"getNVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_233getNVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_232getNVars};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_233getNVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_transformed = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNVars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_transformed,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4912, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4912, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getNVars", 0) < (0)) __PYX_ERR(2, 4912, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4912, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_transformed = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getNVars", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 4912, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_232getNVars(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_transformed);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_232getNVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_transformed) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNVars", 0);

  /* "src/pyscipopt/scip.pxi":4926
 * 
 *         """
 *         if transformed:             # <<<<<<<<<<<<<<
 *             return SCIPgetNVars(self._scip)
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_transformed); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 4926, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":4927
 *         """
 *         if transformed:
 *             return SCIPgetNVars(self._scip)             # <<<<<<<<<<<<<<
 *         else:
 *             return SCIPgetNOrigVars(self._scip)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyLong_From_int(SCIPgetNVars(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":4926
 * 
 *         """
 *         if transformed:             # <<<<<<<<<<<<<<
 *             return SCIPgetNVars(self._scip)
 *         else:
*/
  }

  /* "src/pyscipopt/scip.pxi":4929
 *             return SCIPgetNVars(self._scip)
 *         else:
 *             return SCIPgetNOrigVars(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNIntVars(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyLong_From_int(SCIPgetNOrigVars(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/scip.pxi":4912
 *         return vars
 * 
 *     def getNVars(self, transformed=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of variables in the problems.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4931
 *             return SCIPgetNOrigVars(self._scip)
 * 
 *     def getNIntVars(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of integer active problem variables.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_235getNIntVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_234getNIntVars, "\n        Gets number of integer active problem variables.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_235getNIntVars = {"getNIntVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_235getNIntVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_234getNIntVars};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_235getNIntVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNIntVars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNIntVars", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNIntVars", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_234getNIntVars(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_234getNIntVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNIntVars", 0);

  /* "src/pyscipopt/scip.pxi":4940
 * 
 *         """
 *         return SCIPgetNIntVars(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNBinVars(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNIntVars(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4931
 *             return SCIPgetNOrigVars(self._scip)
 * 
 *     def getNIntVars(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of integer active problem variables.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNIntVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4942
 *         return SCIPgetNIntVars(self._scip)
 * 
 *     def getNBinVars(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of binary active problem variables.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_237getNBinVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_236getNBinVars, "\n        Gets number of binary active problem variables.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_237getNBinVars = {"getNBinVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_237getNBinVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_236getNBinVars};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_237getNBinVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNBinVars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNBinVars", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNBinVars", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_236getNBinVars(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_236getNBinVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNBinVars", 0);

  /* "src/pyscipopt/scip.pxi":4951
 * 
 *         """
 *         return SCIPgetNBinVars(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNImplVars(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNBinVars(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4942
 *         return SCIPgetNIntVars(self._scip)
 * 
 *     def getNBinVars(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of binary active problem variables.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNBinVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4953
 *         return SCIPgetNBinVars(self._scip)
 * 
 *     def getNImplVars(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of implicit integer active problem variables.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_239getNImplVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_238getNImplVars, "\n        Gets number of implicit integer active problem variables.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_239getNImplVars = {"getNImplVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_239getNImplVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_238getNImplVars};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_239getNImplVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNImplVars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNImplVars", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNImplVars", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_238getNImplVars(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_238getNImplVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNImplVars", 0);

  /* "src/pyscipopt/scip.pxi":4962
 * 
 *         """
 *         return SCIPgetNImplVars(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNContVars(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNImplVars(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4953
 *         return SCIPgetNBinVars(self._scip)
 * 
 *     def getNImplVars(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of implicit integer active problem variables.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNImplVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4964
 *         return SCIPgetNImplVars(self._scip)
 * 
 *     def getNContVars(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of continuous active problem variables.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_241getNContVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_240getNContVars, "\n        Gets number of continuous active problem variables.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_241getNContVars = {"getNContVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_241getNContVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_240getNContVars};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_241getNContVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNContVars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNContVars", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNContVars", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_240getNContVars(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_240getNContVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNContVars", 0);

  /* "src/pyscipopt/scip.pxi":4973
 * 
 *         """
 *         return SCIPgetNContVars(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getVarDict(self, transformed=False):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNContVars(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4964
 *         return SCIPgetNImplVars(self._scip)
 * 
 *     def getNContVars(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of continuous active problem variables.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNContVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4975
 *         return SCIPgetNContVars(self._scip)
 * 
 *     def getVarDict(self, transformed=False):             # <<<<<<<<<<<<<<
 *         """
 *         Gets dictionary with variables names as keys and current variable values as items.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_243getVarDict(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_242getVarDict, "\n        Gets dictionary with variables names as keys and current variable values as items.\n\n        Parameters\n        ----------\n        transformed : bool, optional\n            Get transformed variables instead of original (Default value = False)\n\n        Returns\n        -------\n        dict of str to float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_243getVarDict = {"getVarDict", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_243getVarDict, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_242getVarDict};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_243getVarDict(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_transformed = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVarDict (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_transformed,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4975, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4975, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getVarDict", 0) < (0)) __PYX_ERR(2, 4975, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4975, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_transformed = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getVarDict", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 4975, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarDict", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_242getVarDict(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_transformed);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_242getVarDict(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_transformed) {
  PyObject *__pyx_v_var_dict = NULL;
  PyObject *__pyx_v_var = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  Py_ssize_t __pyx_t_5;
  PyObject *(*__pyx_t_6)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVarDict", 0);

  /* "src/pyscipopt/scip.pxi":4989
 * 
 *         """
 *         var_dict = {}             # <<<<<<<<<<<<<<
 *         for var in self.getVars(transformed=transformed):
 *             var_dict[var.name] = self.getVal(var)
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4989, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_var_dict = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":4990
 *         """
 *         var_dict = {}
 *         for var in self.getVars(transformed=transformed):             # <<<<<<<<<<<<<<
 *             var_dict[var.name] = self.getVal(var)
 *         return var_dict
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_transformed, __pyx_v_transformed, __pyx_t_4, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 4990, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_getVars, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    __pyx_t_6 = NULL;
  } else {
    __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 4990, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 4990, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_6)) {
      if (likely(PyList_CheckExact(__pyx_t_4))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 4990, __pyx_L1_error)
          #endif
          if (__pyx_t_5 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_5;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 4990, __pyx_L1_error)
          #endif
          if (__pyx_t_5 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_5);
        #endif
        ++__pyx_t_5;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4990, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_6(__pyx_t_4);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 4990, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_var, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4991
 *         var_dict = {}
 *         for var in self.getVars(transformed=transformed):
 *             var_dict[var.name] = self.getVal(var)             # <<<<<<<<<<<<<<
 *         return var_dict
 * 
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_var};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getVal, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4991, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_var, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 4991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely((PyDict_SetItem(__pyx_v_var_dict, __pyx_t_2, __pyx_t_1) < 0))) __PYX_ERR(2, 4991, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":4990
 *         """
 *         var_dict = {}
 *         for var in self.getVars(transformed=transformed):             # <<<<<<<<<<<<<<
 *             var_dict[var.name] = self.getVal(var)
 *         return var_dict
*/
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":4992
 *         for var in self.getVars(transformed=transformed):
 *             var_dict[var.name] = self.getVal(var)
 *         return var_dict             # <<<<<<<<<<<<<<
 * 
 *     def getVarPseudocostScore(self, Variable var, solVal):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_var_dict);
  __pyx_r = __pyx_v_var_dict;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4975
 *         return SCIPgetNContVars(self._scip)
 * 
 *     def getVarDict(self, transformed=False):             # <<<<<<<<<<<<<<
 *         """
 *         Gets dictionary with variables names as keys and current variable values as items.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarDict", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_var_dict);
  __Pyx_XDECREF(__pyx_v_var);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":4994
 *         return var_dict
 * 
 *     def getVarPseudocostScore(self, Variable var, solVal):             # <<<<<<<<<<<<<<
 *         """
 *         gets the variable's pseudo cost score value for the given LP solution value
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_245getVarPseudocostScore(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_244getVarPseudocostScore, "\n        gets the variable's pseudo cost score value for the given LP solution value\n\n        Parameters\n        ----------\n        variable : Variable\n            problem variable\n        solVal : float\n            difference of variable's new LP value - old LP value\n\n        Returns\n        -------\n        float\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_245getVarPseudocostScore = {"getVarPseudocostScore", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_245getVarPseudocostScore, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_244getVarPseudocostScore};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_245getVarPseudocostScore(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_solVal = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVarPseudocostScore (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_solVal,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 4994, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4994, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4994, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getVarPseudocostScore", 0) < (0)) __PYX_ERR(2, 4994, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getVarPseudocostScore", 1, 2, 2, i); __PYX_ERR(2, 4994, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 4994, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 4994, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_solVal = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getVarPseudocostScore", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 4994, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarPseudocostScore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 4994, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_244getVarPseudocostScore(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_solVal);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_244getVarPseudocostScore(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_solVal) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVarPseudocostScore", 0);

  /* "src/pyscipopt/scip.pxi":5009
 *         float
 *         """
 *         return SCIPgetVarPseudocostScore(self._scip, var.scip_var, solVal)             # <<<<<<<<<<<<<<
 * 
 *     def getVarPseudocost(self, Variable var, branchdir):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_solVal); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5009, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(SCIPgetVarPseudocostScore(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5009, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":4994
 *         return var_dict
 * 
 *     def getVarPseudocostScore(self, Variable var, solVal):             # <<<<<<<<<<<<<<
 *         """
 *         gets the variable's pseudo cost score value for the given LP solution value
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarPseudocostScore", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5011
 *         return SCIPgetVarPseudocostScore(self._scip, var.scip_var, solVal)
 * 
 *     def getVarPseudocost(self, Variable var, branchdir):             # <<<<<<<<<<<<<<
 *         """
 *         gets the variable's pseudo cost value for the given direction
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_247getVarPseudocost(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_246getVarPseudocost, "\n        gets the variable's pseudo cost value for the given direction\n\n        Parameters\n        ----------\n        variable : Variable\n            problem variable\n        branchdir : PY_SCIP_BRANCHDIR\n            branching direction (downwards, or upwards)\n\n        Returns\n        -------\n        float\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_247getVarPseudocost = {"getVarPseudocost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_247getVarPseudocost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_246getVarPseudocost};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_247getVarPseudocost(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_branchdir = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVarPseudocost (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_branchdir,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5011, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5011, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5011, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getVarPseudocost", 0) < (0)) __PYX_ERR(2, 5011, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getVarPseudocost", 1, 2, 2, i); __PYX_ERR(2, 5011, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5011, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5011, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_branchdir = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getVarPseudocost", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 5011, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarPseudocost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 5011, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_246getVarPseudocost(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_branchdir);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_246getVarPseudocost(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_branchdir) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_BRANCHDIR __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVarPseudocost", 0);

  /* "src/pyscipopt/scip.pxi":5026
 *         float
 *         """
 *         return SCIPgetVarPseudocost(self._scip, var.scip_var, branchdir)             # <<<<<<<<<<<<<<
 * 
 *     def updateNodeLowerbound(self, Node node, lb):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_As_SCIP_BRANCHDIR(__pyx_v_branchdir); if (unlikely((__pyx_t_1 == ((SCIP_BRANCHDIR)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5026, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(SCIPgetVarPseudocost(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5011
 *         return SCIPgetVarPseudocostScore(self._scip, var.scip_var, solVal)
 * 
 *     def getVarPseudocost(self, Variable var, branchdir):             # <<<<<<<<<<<<<<
 *         """
 *         gets the variable's pseudo cost value for the given direction
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarPseudocost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5028
 *         return SCIPgetVarPseudocost(self._scip, var.scip_var, branchdir)
 * 
 *     def updateNodeLowerbound(self, Node node, lb):             # <<<<<<<<<<<<<<
 *         """
 *         If given value is larger than the node's lower bound (in transformed problem),
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_249updateNodeLowerbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_248updateNodeLowerbound, "\n        If given value is larger than the node's lower bound (in transformed problem),\n        sets the node's lower bound to the new value.\n\n        Parameters\n        ----------\n        node : Node\n            the node to update\n        lb : float\n            new bound (if greater) for the node\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_249updateNodeLowerbound = {"updateNodeLowerbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_249updateNodeLowerbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_248updateNodeLowerbound};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_249updateNodeLowerbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node = 0;
  PyObject *__pyx_v_lb = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("updateNodeLowerbound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_node,&__pyx_mstate_global->__pyx_n_u_lb,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5028, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5028, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5028, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "updateNodeLowerbound", 0) < (0)) __PYX_ERR(2, 5028, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("updateNodeLowerbound", 1, 2, 2, i); __PYX_ERR(2, 5028, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5028, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5028, __pyx_L3_error)
    }
    __pyx_v_node = ((struct __pyx_obj_9pyscipopt_4scip_Node *)values[0]);
    __pyx_v_lb = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("updateNodeLowerbound", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 5028, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.updateNodeLowerbound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_node), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, 1, "node", 0))) __PYX_ERR(2, 5028, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_248updateNodeLowerbound(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_node, __pyx_v_lb);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_248updateNodeLowerbound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node, PyObject *__pyx_v_lb) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("updateNodeLowerbound", 0);

  /* "src/pyscipopt/scip.pxi":5041
 * 
 *         """
 *         PY_SCIP_CALL(SCIPupdateNodeLowerbound(self._scip, node.scip_node, lb))             # <<<<<<<<<<<<<<
 * 
 *     def relax(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5041, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPupdateNodeLowerbound(__pyx_v_self->_scip, __pyx_v_node->scip_node, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5041, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5041, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5028
 *         return SCIPgetVarPseudocost(self._scip, var.scip_var, branchdir)
 * 
 *     def updateNodeLowerbound(self, Node node, lb):             # <<<<<<<<<<<<<<
 *         """
 *         If given value is larger than the node's lower bound (in transformed problem),
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.updateNodeLowerbound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5043
 *         PY_SCIP_CALL(SCIPupdateNodeLowerbound(self._scip, node.scip_node, lb))
 * 
 *     def relax(self):             # <<<<<<<<<<<<<<
 *         """Relaxes the integrality restrictions of the model."""
 *         if self.getStage() != SCIP_STAGE_PROBLEM:
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_251relax(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_250relax, "Relaxes the integrality restrictions of the model.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_251relax = {"relax", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_251relax, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_250relax};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_251relax(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("relax (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("relax", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("relax", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_250relax(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_250relax(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_v_var = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *(*__pyx_t_7)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("relax", 0);

  /* "src/pyscipopt/scip.pxi":5045
 *     def relax(self):
 *         """Relaxes the integrality restrictions of the model."""
 *         if self.getStage() != SCIP_STAGE_PROBLEM:             # <<<<<<<<<<<<<<
 *             raise Warning("method can only be called in stage PROBLEM")
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5045, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_PROBLEM); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5045, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 5045, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(__pyx_t_5)) {

    /* "src/pyscipopt/scip.pxi":5046
 *         """Relaxes the integrality restrictions of the model."""
 *         if self.getStage() != SCIP_STAGE_PROBLEM:
 *             raise Warning("method can only be called in stage PROBLEM")             # <<<<<<<<<<<<<<
 * 
 *         for var in self.getVars():
*/
    __pyx_t_2 = NULL;
    __pyx_t_3 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_method_can_only_be_called_in_sta};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5046, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(2, 5046, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":5045
 *     def relax(self):
 *         """Relaxes the integrality restrictions of the model."""
 *         if self.getStage() != SCIP_STAGE_PROBLEM:             # <<<<<<<<<<<<<<
 *             raise Warning("method can only be called in stage PROBLEM")
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":5048
 *             raise Warning("method can only be called in stage PROBLEM")
 * 
 *         for var in self.getVars():             # <<<<<<<<<<<<<<
 *             self.chgVarType(var, "C")
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getVars, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
    __pyx_t_2 = __pyx_t_4; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_6 = 0;
    __pyx_t_7 = NULL;
  } else {
    __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5048, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 5048, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  for (;;) {
    if (likely(!__pyx_t_7)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 5048, __pyx_L1_error)
          #endif
          if (__pyx_t_6 >= __pyx_temp) break;
        }
        __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_6, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_6;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 5048, __pyx_L1_error)
          #endif
          if (__pyx_t_6 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6));
        #else
        __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_6);
        #endif
        ++__pyx_t_6;
      }
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5048, __pyx_L1_error)
    } else {
      __pyx_t_4 = __pyx_t_7(__pyx_t_2);
      if (unlikely(!__pyx_t_4)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 5048, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_var, __pyx_t_4);
    __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":5049
 * 
 *         for var in self.getVars():
 *             self.chgVarType(var, "C")             # <<<<<<<<<<<<<<
 * 
 *     # Node methods
*/
    __pyx_t_1 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_v_var, __pyx_mstate_global->__pyx_n_u_C};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_chgVarType, __pyx_callargs+__pyx_t_3, (3-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5049, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":5048
 *             raise Warning("method can only be called in stage PROBLEM")
 * 
 *         for var in self.getVars():             # <<<<<<<<<<<<<<
 *             self.chgVarType(var, "C")
 * 
*/
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":5043
 *         PY_SCIP_CALL(SCIPupdateNodeLowerbound(self._scip, node.scip_node, lb))
 * 
 *     def relax(self):             # <<<<<<<<<<<<<<
 *         """Relaxes the integrality restrictions of the model."""
 *         if self.getStage() != SCIP_STAGE_PROBLEM:
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.relax", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_var);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5052
 * 
 *     # Node methods
 *     def getBestChild(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the best child of the focus node w.r.t. the node selection strategy.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_253getBestChild(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_252getBestChild, "\n        Gets the best child of the focus node w.r.t. the node selection strategy.\n\n        Returns\n        -------\n        Node\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_253getBestChild = {"getBestChild", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_253getBestChild, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_252getBestChild};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_253getBestChild(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBestChild (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getBestChild", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getBestChild", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_252getBestChild(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_252getBestChild(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBestChild", 0);

  /* "src/pyscipopt/scip.pxi":5061
 * 
 *         """
 *         return Node.create(SCIPgetBestChild(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def getChildren(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(SCIPgetBestChild(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5052
 * 
 *     # Node methods
 *     def getBestChild(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the best child of the focus node w.r.t. the node selection strategy.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBestChild", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5063
 *         return Node.create(SCIPgetBestChild(self._scip))
 * 
 *     def getChildren(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the children of the focus node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_255getChildren(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_254getChildren, "\n        Gets the children of the focus node.\n\n        Returns\n        -------\n        list of Nodes\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_255getChildren = {"getChildren", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_255getChildren, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_254getChildren};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_255getChildren(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getChildren (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getChildren", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getChildren", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_254getChildren(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_254getChildren(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_NODE **__pyx_v__children;
  int __pyx_v_n_children;
  int __pyx_9genexpr34__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getChildren", 0);

  /* "src/pyscipopt/scip.pxi":5076
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPgetChildren(self._scip, &_children, &n_children))             # <<<<<<<<<<<<<<
 * 
 *         return [Node.create(_children[i]) for i in range(n_children)]
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetChildren(__pyx_v_self->_scip, (&__pyx_v__children), (&__pyx_v_n_children))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5078
 *         PY_SCIP_CALL(SCIPgetChildren(self._scip, &_children, &n_children))
 * 
 *         return [Node.create(_children[i]) for i in range(n_children)]             # <<<<<<<<<<<<<<
 * 
 *     def getSiblings(self):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __pyx_v_n_children;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr34__pyx_v_i = __pyx_t_8;
      __pyx_t_3 = __pyx_f_9pyscipopt_4scip_4Node_create((__pyx_v__children[__pyx_9genexpr34__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5078, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 5078, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5063
 *         return Node.create(SCIPgetBestChild(self._scip))
 * 
 *     def getChildren(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the children of the focus node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getChildren", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5080
 *         return [Node.create(_children[i]) for i in range(n_children)]
 * 
 *     def getSiblings(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the siblings of the focus node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_257getSiblings(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_256getSiblings, "\n        Gets the siblings of the focus node.\n\n        Returns\n        -------\n        list of Nodes\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_257getSiblings = {"getSiblings", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_257getSiblings, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_256getSiblings};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_257getSiblings(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSiblings (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getSiblings", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getSiblings", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_256getSiblings(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_256getSiblings(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_NODE **__pyx_v__siblings;
  int __pyx_v_n_siblings;
  int __pyx_9genexpr35__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getSiblings", 0);

  /* "src/pyscipopt/scip.pxi":5093
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPgetSiblings(self._scip, &_siblings, &n_siblings))             # <<<<<<<<<<<<<<
 * 
 *         return [Node.create(_siblings[i]) for i in range(n_siblings)]
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetSiblings(__pyx_v_self->_scip, (&__pyx_v__siblings), (&__pyx_v_n_siblings))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5093, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5095
 *         PY_SCIP_CALL(SCIPgetSiblings(self._scip, &_siblings, &n_siblings))
 * 
 *         return [Node.create(_siblings[i]) for i in range(n_siblings)]             # <<<<<<<<<<<<<<
 * 
 *     def getLeaves(self):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5095, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __pyx_v_n_siblings;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr35__pyx_v_i = __pyx_t_8;
      __pyx_t_3 = __pyx_f_9pyscipopt_4scip_4Node_create((__pyx_v__siblings[__pyx_9genexpr35__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5095, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 5095, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5080
 *         return [Node.create(_children[i]) for i in range(n_children)]
 * 
 *     def getSiblings(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the siblings of the focus node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getSiblings", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5097
 *         return [Node.create(_siblings[i]) for i in range(n_siblings)]
 * 
 *     def getLeaves(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the leaves of the tree along with number of leaves.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_259getLeaves(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_258getLeaves, "\n        Gets the leaves of the tree along with number of leaves.\n\n        Returns\n        -------\n        list of Nodes\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_259getLeaves = {"getLeaves", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_259getLeaves, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_258getLeaves};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_259getLeaves(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLeaves (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLeaves", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLeaves", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_258getLeaves(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_258getLeaves(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_NODE **__pyx_v__leaves;
  int __pyx_v_n_leaves;
  int __pyx_9genexpr36__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLeaves", 0);

  /* "src/pyscipopt/scip.pxi":5110
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPgetLeaves(self._scip, &_leaves, &n_leaves))             # <<<<<<<<<<<<<<
 * 
 *         return [Node.create(_leaves[i]) for i in range(n_leaves)]
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetLeaves(__pyx_v_self->_scip, (&__pyx_v__leaves), (&__pyx_v_n_leaves))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5110, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5112
 *         PY_SCIP_CALL(SCIPgetLeaves(self._scip, &_leaves, &n_leaves))
 * 
 *         return [Node.create(_leaves[i]) for i in range(n_leaves)]             # <<<<<<<<<<<<<<
 * 
 *     def getBestSibling(self):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5112, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __pyx_v_n_leaves;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr36__pyx_v_i = __pyx_t_8;
      __pyx_t_3 = __pyx_f_9pyscipopt_4scip_4Node_create((__pyx_v__leaves[__pyx_9genexpr36__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5112, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 5112, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5097
 *         return [Node.create(_siblings[i]) for i in range(n_siblings)]
 * 
 *     def getLeaves(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the leaves of the tree along with number of leaves.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLeaves", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5114
 *         return [Node.create(_leaves[i]) for i in range(n_leaves)]
 * 
 *     def getBestSibling(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the best sibling of the focus node w.r.t. the node selection strategy.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_261getBestSibling(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_260getBestSibling, "\n        Gets the best sibling of the focus node w.r.t. the node selection strategy.\n\n        Returns\n        -------\n        Node\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_261getBestSibling = {"getBestSibling", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_261getBestSibling, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_260getBestSibling};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_261getBestSibling(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBestSibling (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getBestSibling", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getBestSibling", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_260getBestSibling(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_260getBestSibling(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBestSibling", 0);

  /* "src/pyscipopt/scip.pxi":5123
 * 
 *         """
 *         return Node.create(SCIPgetBestSibling(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def getPrioChild(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(SCIPgetBestSibling(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5114
 *         return [Node.create(_leaves[i]) for i in range(n_leaves)]
 * 
 *     def getBestSibling(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the best sibling of the focus node w.r.t. the node selection strategy.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBestSibling", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5125
 *         return Node.create(SCIPgetBestSibling(self._scip))
 * 
 *     def getPrioChild(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the best child of the focus node w.r.t. the node selection priority
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_263getPrioChild(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_262getPrioChild, "\n        Gets the best child of the focus node w.r.t. the node selection priority\n        assigned by the branching rule.\n\n        Returns\n        -------\n        Node\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_263getPrioChild = {"getPrioChild", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_263getPrioChild, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_262getPrioChild};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_263getPrioChild(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPrioChild (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPrioChild", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPrioChild", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_262getPrioChild(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_262getPrioChild(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPrioChild", 0);

  /* "src/pyscipopt/scip.pxi":5135
 * 
 *         """
 *         return Node.create(SCIPgetPrioChild(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def getPrioSibling(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(SCIPgetPrioChild(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5135, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5125
 *         return Node.create(SCIPgetBestSibling(self._scip))
 * 
 *     def getPrioChild(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the best child of the focus node w.r.t. the node selection priority
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getPrioChild", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5137
 *         return Node.create(SCIPgetPrioChild(self._scip))
 * 
 *     def getPrioSibling(self):             # <<<<<<<<<<<<<<
 *         """Gets the best sibling of the focus node w.r.t.
 *         the node selection priority assigned by the branching rule.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_265getPrioSibling(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_264getPrioSibling, "Gets the best sibling of the focus node w.r.t.\n        the node selection priority assigned by the branching rule.\n\n        Returns\n        -------\n        Node\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_265getPrioSibling = {"getPrioSibling", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_265getPrioSibling, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_264getPrioSibling};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_265getPrioSibling(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPrioSibling (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPrioSibling", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPrioSibling", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_264getPrioSibling(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_264getPrioSibling(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPrioSibling", 0);

  /* "src/pyscipopt/scip.pxi":5146
 * 
 *         """
 *         return Node.create(SCIPgetPrioSibling(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def getBestLeaf(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(SCIPgetPrioSibling(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5137
 *         return Node.create(SCIPgetPrioChild(self._scip))
 * 
 *     def getPrioSibling(self):             # <<<<<<<<<<<<<<
 *         """Gets the best sibling of the focus node w.r.t.
 *         the node selection priority assigned by the branching rule.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getPrioSibling", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5148
 *         return Node.create(SCIPgetPrioSibling(self._scip))
 * 
 *     def getBestLeaf(self):             # <<<<<<<<<<<<<<
 *         """Gets the best leaf from the node queue w.r.t. the node selection strategy.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_267getBestLeaf(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_266getBestLeaf, "Gets the best leaf from the node queue w.r.t. the node selection strategy.\n\n        Returns\n        -------\n        Node\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_267getBestLeaf = {"getBestLeaf", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_267getBestLeaf, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_266getBestLeaf};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_267getBestLeaf(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBestLeaf (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getBestLeaf", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getBestLeaf", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_266getBestLeaf(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_266getBestLeaf(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBestLeaf", 0);

  /* "src/pyscipopt/scip.pxi":5156
 * 
 *         """
 *         return Node.create(SCIPgetBestLeaf(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def getBestNode(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(SCIPgetBestLeaf(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5148
 *         return Node.create(SCIPgetPrioSibling(self._scip))
 * 
 *     def getBestLeaf(self):             # <<<<<<<<<<<<<<
 *         """Gets the best leaf from the node queue w.r.t. the node selection strategy.
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBestLeaf", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5158
 *         return Node.create(SCIPgetBestLeaf(self._scip))
 * 
 *     def getBestNode(self):             # <<<<<<<<<<<<<<
 *         """Gets the best node from the tree (child, sibling, or leaf) w.r.t. the node selection strategy.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_269getBestNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_268getBestNode, "Gets the best node from the tree (child, sibling, or leaf) w.r.t. the node selection strategy.\n\n        Returns\n        -------\n        Node\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_269getBestNode = {"getBestNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_269getBestNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_268getBestNode};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_269getBestNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBestNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getBestNode", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getBestNode", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_268getBestNode(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_268getBestNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBestNode", 0);

  /* "src/pyscipopt/scip.pxi":5166
 * 
 *         """
 *         return Node.create(SCIPgetBestNode(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def getBestboundNode(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(SCIPgetBestNode(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5158
 *         return Node.create(SCIPgetBestLeaf(self._scip))
 * 
 *     def getBestNode(self):             # <<<<<<<<<<<<<<
 *         """Gets the best node from the tree (child, sibling, or leaf) w.r.t. the node selection strategy.
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBestNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5168
 *         return Node.create(SCIPgetBestNode(self._scip))
 * 
 *     def getBestboundNode(self):             # <<<<<<<<<<<<<<
 *         """Gets the node with smallest lower bound from the tree (child, sibling, or leaf).
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_271getBestboundNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_270getBestboundNode, "Gets the node with smallest lower bound from the tree (child, sibling, or leaf).\n\n        Returns\n        -------\n        Node\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_271getBestboundNode = {"getBestboundNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_271getBestboundNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_270getBestboundNode};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_271getBestboundNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBestboundNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getBestboundNode", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getBestboundNode", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_270getBestboundNode(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_270getBestboundNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBestboundNode", 0);

  /* "src/pyscipopt/scip.pxi":5176
 * 
 *         """
 *         return Node.create(SCIPgetBestboundNode(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def getOpenNodes(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(SCIPgetBestboundNode(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5168
 *         return Node.create(SCIPgetBestNode(self._scip))
 * 
 *     def getBestboundNode(self):             # <<<<<<<<<<<<<<
 *         """Gets the node with smallest lower bound from the tree (child, sibling, or leaf).
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBestboundNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5178
 *         return Node.create(SCIPgetBestboundNode(self._scip))
 * 
 *     def getOpenNodes(self):             # <<<<<<<<<<<<<<
 *         """
 *         Access to all data of open nodes (leaves, children, and siblings).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_273getOpenNodes(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_272getOpenNodes, "\n        Access to all data of open nodes (leaves, children, and siblings).\n\n        Returns\n        -------\n        leaves : list of Node\n            list of all open leaf nodes\n        children : list of Node\n            list of all open children nodes\n        siblings : list of Node\n            list of all open sibling nodes\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_273getOpenNodes = {"getOpenNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_273getOpenNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_272getOpenNodes};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_273getOpenNodes(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getOpenNodes (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getOpenNodes", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getOpenNodes", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_272getOpenNodes(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_272getOpenNodes(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_NODE **__pyx_v__leaves;
  SCIP_NODE **__pyx_v__children;
  SCIP_NODE **__pyx_v__siblings;
  int __pyx_v__nleaves;
  int __pyx_v__nchildren;
  int __pyx_v__nsiblings;
  PyObject *__pyx_v_leaves = NULL;
  PyObject *__pyx_v_children = NULL;
  PyObject *__pyx_v_siblings = NULL;
  int __pyx_9genexpr37__pyx_v_i;
  int __pyx_9genexpr38__pyx_v_i;
  int __pyx_9genexpr39__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getOpenNodes", 0);

  /* "src/pyscipopt/scip.pxi":5200
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPgetOpenNodesData(self._scip, &_leaves, &_children, &_siblings, &_nleaves, &_nchildren, &_nsiblings))             # <<<<<<<<<<<<<<
 * 
 *         leaves   = [Node.create(_leaves[i]) for i in range(_nleaves)]
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetOpenNodesData(__pyx_v_self->_scip, (&__pyx_v__leaves), (&__pyx_v__children), (&__pyx_v__siblings), (&__pyx_v__nleaves), (&__pyx_v__nchildren), (&__pyx_v__nsiblings))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5200, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5202
 *         PY_SCIP_CALL(SCIPgetOpenNodesData(self._scip, &_leaves, &_children, &_siblings, &_nleaves, &_nchildren, &_nsiblings))
 * 
 *         leaves   = [Node.create(_leaves[i]) for i in range(_nleaves)]             # <<<<<<<<<<<<<<
 *         children = [Node.create(_children[i]) for i in range(_nchildren)]
 *         siblings = [Node.create(_siblings[i]) for i in range(_nsiblings)]
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5202, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __pyx_v__nleaves;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr37__pyx_v_i = __pyx_t_8;
      __pyx_t_3 = __pyx_f_9pyscipopt_4scip_4Node_create((__pyx_v__leaves[__pyx_9genexpr37__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5202, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 5202, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  } /* exit inner scope */
  __pyx_v_leaves = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5203
 * 
 *         leaves   = [Node.create(_leaves[i]) for i in range(_nleaves)]
 *         children = [Node.create(_children[i]) for i in range(_nchildren)]             # <<<<<<<<<<<<<<
 *         siblings = [Node.create(_siblings[i]) for i in range(_nsiblings)]
 * 
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5203, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __pyx_v__nchildren;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr38__pyx_v_i = __pyx_t_8;
      __pyx_t_3 = __pyx_f_9pyscipopt_4scip_4Node_create((__pyx_v__children[__pyx_9genexpr38__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5203, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 5203, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  } /* exit inner scope */
  __pyx_v_children = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5204
 *         leaves   = [Node.create(_leaves[i]) for i in range(_nleaves)]
 *         children = [Node.create(_children[i]) for i in range(_nchildren)]
 *         siblings = [Node.create(_siblings[i]) for i in range(_nsiblings)]             # <<<<<<<<<<<<<<
 * 
 *         return leaves, children, siblings
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5204, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __pyx_v__nsiblings;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr39__pyx_v_i = __pyx_t_8;
      __pyx_t_3 = __pyx_f_9pyscipopt_4scip_4Node_create((__pyx_v__siblings[__pyx_9genexpr39__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5204, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 5204, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  } /* exit inner scope */
  __pyx_v_siblings = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5206
 *         siblings = [Node.create(_siblings[i]) for i in range(_nsiblings)]
 * 
 *         return leaves, children, siblings             # <<<<<<<<<<<<<<
 * 
 *     def repropagateNode(self, Node node):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_v_leaves);
  __Pyx_GIVEREF(__pyx_v_leaves);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_leaves) != (0)) __PYX_ERR(2, 5206, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_children);
  __Pyx_GIVEREF(__pyx_v_children);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_children) != (0)) __PYX_ERR(2, 5206, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_siblings);
  __Pyx_GIVEREF(__pyx_v_siblings);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_siblings) != (0)) __PYX_ERR(2, 5206, __pyx_L1_error);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5178
 *         return Node.create(SCIPgetBestboundNode(self._scip))
 * 
 *     def getOpenNodes(self):             # <<<<<<<<<<<<<<
 *         """
 *         Access to all data of open nodes (leaves, children, and siblings).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getOpenNodes", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_leaves);
  __Pyx_XDECREF(__pyx_v_children);
  __Pyx_XDECREF(__pyx_v_siblings);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5208
 *         return leaves, children, siblings
 * 
 *     def repropagateNode(self, Node node):             # <<<<<<<<<<<<<<
 *         """Marks the given node to be propagated again the next time a node of its subtree is processed."""
 *         PY_SCIP_CALL(SCIPrepropagateNode(self._scip, node.scip_node))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_275repropagateNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_274repropagateNode, "Marks the given node to be propagated again the next time a node of its subtree is processed.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_275repropagateNode = {"repropagateNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_275repropagateNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_274repropagateNode};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_275repropagateNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("repropagateNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_node,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5208, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5208, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "repropagateNode", 0) < (0)) __PYX_ERR(2, 5208, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("repropagateNode", 1, 1, 1, i); __PYX_ERR(2, 5208, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5208, __pyx_L3_error)
    }
    __pyx_v_node = ((struct __pyx_obj_9pyscipopt_4scip_Node *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("repropagateNode", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5208, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.repropagateNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_node), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, 1, "node", 0))) __PYX_ERR(2, 5208, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_274repropagateNode(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_node);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_274repropagateNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("repropagateNode", 0);

  /* "src/pyscipopt/scip.pxi":5210
 *     def repropagateNode(self, Node node):
 *         """Marks the given node to be propagated again the next time a node of its subtree is processed."""
 *         PY_SCIP_CALL(SCIPrepropagateNode(self._scip, node.scip_node))             # <<<<<<<<<<<<<<
 * 
 *     # LP Methods
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPrepropagateNode(__pyx_v_self->_scip, __pyx_v_node->scip_node)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5210, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5208
 *         return leaves, children, siblings
 * 
 *     def repropagateNode(self, Node node):             # <<<<<<<<<<<<<<
 *         """Marks the given node to be propagated again the next time a node of its subtree is processed."""
 *         PY_SCIP_CALL(SCIPrepropagateNode(self._scip, node.scip_node))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.repropagateNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5213
 * 
 *     # LP Methods
 *     def getLPSolstat(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets solution status of current LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_277getLPSolstat(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_276getLPSolstat, "\n        Gets solution status of current LP.\n\n        Returns\n        -------\n        SCIP_LPSOLSTAT\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_277getLPSolstat = {"getLPSolstat", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_277getLPSolstat, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_276getLPSolstat};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_277getLPSolstat(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLPSolstat (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLPSolstat", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLPSolstat", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_276getLPSolstat(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_276getLPSolstat(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLPSolstat", 0);

  /* "src/pyscipopt/scip.pxi":5222
 * 
 *         """
 *         return SCIPgetLPSolstat(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def constructLP(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_LPSOLSTAT(SCIPgetLPSolstat(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5213
 * 
 *     # LP Methods
 *     def getLPSolstat(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets solution status of current LP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLPSolstat", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5224
 *         return SCIPgetLPSolstat(self._scip)
 * 
 *     def constructLP(self):             # <<<<<<<<<<<<<<
 *         """
 *         Makes sure that the LP of the current node is loaded and
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_279constructLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_278constructLP, "\n        Makes sure that the LP of the current node is loaded and\n        may be accessed through the LP information methods.\n\n\n        Returns\n        -------\n        cutoff : bool\n            Can the node be cutoff?\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_279constructLP = {"constructLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_279constructLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_278constructLP};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_279constructLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("constructLP (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("constructLP", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("constructLP", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_278constructLP(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_278constructLP(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_Bool __pyx_v_cutoff;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("constructLP", 0);

  /* "src/pyscipopt/scip.pxi":5237
 *         """
 *         cdef SCIP_Bool cutoff
 *         PY_SCIP_CALL(SCIPconstructLP(self._scip, &cutoff))             # <<<<<<<<<<<<<<
 *         return cutoff
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPconstructLP(__pyx_v_self->_scip, (&__pyx_v_cutoff))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5237, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5238
 *         cdef SCIP_Bool cutoff
 *         PY_SCIP_CALL(SCIPconstructLP(self._scip, &cutoff))
 *         return cutoff             # <<<<<<<<<<<<<<
 * 
 *     def getLPObjVal(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_cutoff); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5224
 *         return SCIPgetLPSolstat(self._scip)
 * 
 *     def constructLP(self):             # <<<<<<<<<<<<<<
 *         """
 *         Makes sure that the LP of the current node is loaded and
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.constructLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5240
 *         return cutoff
 * 
 *     def getLPObjVal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets objective value of current LP (which is the sum of column and loose objective value).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_281getLPObjVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_280getLPObjVal, "\n        Gets objective value of current LP (which is the sum of column and loose objective value).\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_281getLPObjVal = {"getLPObjVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_281getLPObjVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_280getLPObjVal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_281getLPObjVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLPObjVal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLPObjVal", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLPObjVal", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_280getLPObjVal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_280getLPObjVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLPObjVal", 0);

  /* "src/pyscipopt/scip.pxi":5250
 *         """
 * 
 *         return SCIPgetLPObjval(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getLPColsData(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetLPObjval(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5240
 *         return cutoff
 * 
 *     def getLPObjVal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets objective value of current LP (which is the sum of column and loose objective value).
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLPObjVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5252
 *         return SCIPgetLPObjval(self._scip)
 * 
 *     def getLPColsData(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current LP columns.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_283getLPColsData(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_282getLPColsData, "\n        Retrieve current LP columns.\n\n        Returns\n        -------\n        list of Column\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_283getLPColsData = {"getLPColsData", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_283getLPColsData, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_282getLPColsData};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_283getLPColsData(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLPColsData (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLPColsData", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLPColsData", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_282getLPColsData(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_282getLPColsData(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_COL **__pyx_v_cols;
  int __pyx_v_ncols;
  int __pyx_9genexpr40__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLPColsData", 0);

  /* "src/pyscipopt/scip.pxi":5265
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPgetLPColsData(self._scip, &cols, &ncols))             # <<<<<<<<<<<<<<
 * 
 *         return [Column.create(cols[i]) for i in range(ncols)]
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetLPColsData(__pyx_v_self->_scip, (&__pyx_v_cols), (&__pyx_v_ncols))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5265, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5267
 *         PY_SCIP_CALL(SCIPgetLPColsData(self._scip, &cols, &ncols))
 * 
 *         return [Column.create(cols[i]) for i in range(ncols)]             # <<<<<<<<<<<<<<
 * 
 *     def getLPRowsData(self):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5267, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __pyx_v_ncols;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr40__pyx_v_i = __pyx_t_8;
      __pyx_t_3 = __pyx_f_9pyscipopt_4scip_6Column_create((__pyx_v_cols[__pyx_9genexpr40__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5267, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 5267, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5252
 *         return SCIPgetLPObjval(self._scip)
 * 
 *     def getLPColsData(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current LP columns.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLPColsData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5269
 *         return [Column.create(cols[i]) for i in range(ncols)]
 * 
 *     def getLPRowsData(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current LP rows.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_285getLPRowsData(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_284getLPRowsData, "\n        Retrieve current LP rows.\n\n        Returns\n        -------\n        list of Row\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_285getLPRowsData = {"getLPRowsData", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_285getLPRowsData, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_284getLPRowsData};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_285getLPRowsData(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLPRowsData (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLPRowsData", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLPRowsData", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_284getLPRowsData(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_284getLPRowsData(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_ROW **__pyx_v_rows;
  int __pyx_v_nrows;
  int __pyx_9genexpr41__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLPRowsData", 0);

  /* "src/pyscipopt/scip.pxi":5282
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPgetLPRowsData(self._scip, &rows, &nrows))             # <<<<<<<<<<<<<<
 * 
 *         return [Row.create(rows[i]) for i in range(nrows)]
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetLPRowsData(__pyx_v_self->_scip, (&__pyx_v_rows), (&__pyx_v_nrows))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5284
 *         PY_SCIP_CALL(SCIPgetLPRowsData(self._scip, &rows, &nrows))
 * 
 *         return [Row.create(rows[i]) for i in range(nrows)]             # <<<<<<<<<<<<<<
 * 
 *     def getNLPRows(self):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5284, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __pyx_v_nrows;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr41__pyx_v_i = __pyx_t_8;
      __pyx_t_3 = __pyx_f_9pyscipopt_4scip_3Row_create((__pyx_v_rows[__pyx_9genexpr41__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5284, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 5284, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5269
 *         return [Column.create(cols[i]) for i in range(ncols)]
 * 
 *     def getLPRowsData(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current LP rows.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLPRowsData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5286
 *         return [Row.create(rows[i]) for i in range(nrows)]
 * 
 *     def getNLPRows(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of rows currently in the LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_287getNLPRows(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_286getNLPRows, "\n        Retrieve the number of rows currently in the LP.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_287getNLPRows = {"getNLPRows", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_287getNLPRows, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_286getNLPRows};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_287getNLPRows(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNLPRows (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNLPRows", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNLPRows", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_286getNLPRows(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_286getNLPRows(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNLPRows", 0);

  /* "src/pyscipopt/scip.pxi":5295
 * 
 *         """
 *         return SCIPgetNLPRows(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNLPCols(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNLPRows(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5286
 *         return [Row.create(rows[i]) for i in range(nrows)]
 * 
 *     def getNLPRows(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of rows currently in the LP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNLPRows", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5297
 *         return SCIPgetNLPRows(self._scip)
 * 
 *     def getNLPCols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of columns currently in the LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_289getNLPCols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_288getNLPCols, "\n        Retrieve the number of columns currently in the LP.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_289getNLPCols = {"getNLPCols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_289getNLPCols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_288getNLPCols};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_289getNLPCols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNLPCols (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNLPCols", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNLPCols", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_288getNLPCols(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_288getNLPCols(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNLPCols", 0);

  /* "src/pyscipopt/scip.pxi":5306
 * 
 *         """
 *         return SCIPgetNLPCols(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getLPBasisInd(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNLPCols(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5297
 *         return SCIPgetNLPRows(self._scip)
 * 
 *     def getNLPCols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of columns currently in the LP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNLPCols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5308
 *         return SCIPgetNLPCols(self._scip)
 * 
 *     def getLPBasisInd(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets all indices of basic columns and rows:
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_291getLPBasisInd(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_290getLPBasisInd, "\n        Gets all indices of basic columns and rows:\n        index i >= 0 corresponds to column i, index i < 0 to row -i-1\n\n        Returns\n        -------\n        list of int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_291getLPBasisInd = {"getLPBasisInd", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_291getLPBasisInd, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_290getLPBasisInd};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_291getLPBasisInd(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLPBasisInd (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLPBasisInd", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLPBasisInd", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_290getLPBasisInd(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_290getLPBasisInd(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  int __pyx_v_nrows;
  int *__pyx_v_inds;
  PyObject *__pyx_v_result = NULL;
  int __pyx_9genexpr42__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLPBasisInd", 0);

  /* "src/pyscipopt/scip.pxi":5318
 * 
 *         """
 *         cdef int nrows = SCIPgetNLPRows(self._scip)             # <<<<<<<<<<<<<<
 *         cdef int* inds = <int *> malloc(nrows * sizeof(int))
 *         cdef int i
*/
  __pyx_v_nrows = SCIPgetNLPRows(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":5319
 *         """
 *         cdef int nrows = SCIPgetNLPRows(self._scip)
 *         cdef int* inds = <int *> malloc(nrows * sizeof(int))             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_inds = ((int *)malloc((__pyx_v_nrows * (sizeof(int)))));

  /* "src/pyscipopt/scip.pxi":5322
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPgetLPBasisInd(self._scip, inds))             # <<<<<<<<<<<<<<
 *         result = [inds[i] for i in range(nrows)]
 *         free(inds)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetLPBasisInd(__pyx_v_self->_scip, __pyx_v_inds)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5322, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5323
 * 
 *         PY_SCIP_CALL(SCIPgetLPBasisInd(self._scip, inds))
 *         result = [inds[i] for i in range(nrows)]             # <<<<<<<<<<<<<<
 *         free(inds)
 * 
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __pyx_v_nrows;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr42__pyx_v_i = __pyx_t_8;
      __pyx_t_3 = __Pyx_PyLong_From_int((__pyx_v_inds[__pyx_9genexpr42__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5323, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 5323, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  } /* exit inner scope */
  __pyx_v_result = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5324
 *         PY_SCIP_CALL(SCIPgetLPBasisInd(self._scip, inds))
 *         result = [inds[i] for i in range(nrows)]
 *         free(inds)             # <<<<<<<<<<<<<<
 * 
 *         return result
*/
  free(__pyx_v_inds);

  /* "src/pyscipopt/scip.pxi":5326
 *         free(inds)
 * 
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     def getLPBInvRow(self, row):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5308
 *         return SCIPgetNLPCols(self._scip)
 * 
 *     def getLPBasisInd(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets all indices of basic columns and rows:
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLPBasisInd", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5328
 *         return result
 * 
 *     def getLPBInvRow(self, row):             # <<<<<<<<<<<<<<
 *         """
 *         Gets a row from the inverse basis matrix B^-1
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_293getLPBInvRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_292getLPBInvRow, "\n        Gets a row from the inverse basis matrix B^-1\n\n        Parameters\n        ----------\n        row : int\n            The row index of the inverse basis matrix\n\n        Returns\n        -------\n        list of float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_293getLPBInvRow = {"getLPBInvRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_293getLPBInvRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_292getLPBInvRow};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_293getLPBInvRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_row = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLPBInvRow (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5328, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5328, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getLPBInvRow", 0) < (0)) __PYX_ERR(2, 5328, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getLPBInvRow", 1, 1, 1, i); __PYX_ERR(2, 5328, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5328, __pyx_L3_error)
    }
    __pyx_v_row = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getLPBInvRow", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5328, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLPBInvRow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_292getLPBInvRow(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_292getLPBInvRow(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_row) {
  int __pyx_v_nrows;
  SCIP_Real *__pyx_v_coefs;
  PyObject *__pyx_v_result = NULL;
  int __pyx_9genexpr43__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLPBInvRow", 0);

  /* "src/pyscipopt/scip.pxi":5343
 *         """
 *         # TODO: sparsity information
 *         cdef int nrows = SCIPgetNLPRows(self._scip)             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* coefs = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))
 *         cdef int i
*/
  __pyx_v_nrows = SCIPgetNLPRows(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":5344
 *         # TODO: sparsity information
 *         cdef int nrows = SCIPgetNLPRows(self._scip)
 *         cdef SCIP_Real* coefs = <SCIP_Real*> malloc(nrows * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_coefs = ((SCIP_Real *)malloc((__pyx_v_nrows * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/scip.pxi":5347
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPgetLPBInvRow(self._scip, row, coefs, NULL, NULL))             # <<<<<<<<<<<<<<
 *         result = [coefs[i] for i in range(nrows)]
 *         free(coefs)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_v_row); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 5347, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetLPBInvRow(__pyx_v_self->_scip, __pyx_t_4, __pyx_v_coefs, NULL, NULL)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5347, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5348
 * 
 *         PY_SCIP_CALL(SCIPgetLPBInvRow(self._scip, row, coefs, NULL, NULL))
 *         result = [coefs[i] for i in range(nrows)]             # <<<<<<<<<<<<<<
 *         free(coefs)
 * 
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5348, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __pyx_v_nrows;
    __pyx_t_7 = __pyx_t_4;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr43__pyx_v_i = __pyx_t_8;
      __pyx_t_3 = PyFloat_FromDouble((__pyx_v_coefs[__pyx_9genexpr43__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5348, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 5348, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  } /* exit inner scope */
  __pyx_v_result = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5349
 *         PY_SCIP_CALL(SCIPgetLPBInvRow(self._scip, row, coefs, NULL, NULL))
 *         result = [coefs[i] for i in range(nrows)]
 *         free(coefs)             # <<<<<<<<<<<<<<
 * 
 *         return result
*/
  free(__pyx_v_coefs);

  /* "src/pyscipopt/scip.pxi":5351
 *         free(coefs)
 * 
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     def getLPBInvARow(self, row):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5328
 *         return result
 * 
 *     def getLPBInvRow(self, row):             # <<<<<<<<<<<<<<
 *         """
 *         Gets a row from the inverse basis matrix B^-1
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLPBInvRow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5353
 *         return result
 * 
 *     def getLPBInvARow(self, row):             # <<<<<<<<<<<<<<
 *         """
 *         Gets a row from B^-1 * A.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_295getLPBInvARow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_294getLPBInvARow, "\n        Gets a row from B^-1 * A.\n\n        Parameters\n        ----------\n        row : int\n            The row index of the inverse basis matrix multiplied by the coefficient matrix\n\n        Returns\n        -------\n        list of float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_295getLPBInvARow = {"getLPBInvARow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_295getLPBInvARow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_294getLPBInvARow};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_295getLPBInvARow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_row = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLPBInvARow (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5353, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5353, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getLPBInvARow", 0) < (0)) __PYX_ERR(2, 5353, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getLPBInvARow", 1, 1, 1, i); __PYX_ERR(2, 5353, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5353, __pyx_L3_error)
    }
    __pyx_v_row = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getLPBInvARow", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5353, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLPBInvARow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_294getLPBInvARow(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_294getLPBInvARow(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_row) {
  int __pyx_v_ncols;
  SCIP_Real *__pyx_v_coefs;
  PyObject *__pyx_v_result = NULL;
  int __pyx_9genexpr44__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLPBInvARow", 0);

  /* "src/pyscipopt/scip.pxi":5368
 *         """
 *         # TODO: sparsity information
 *         cdef int ncols = SCIPgetNLPCols(self._scip)             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* coefs = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))
 *         cdef int i
*/
  __pyx_v_ncols = SCIPgetNLPCols(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":5369
 *         # TODO: sparsity information
 *         cdef int ncols = SCIPgetNLPCols(self._scip)
 *         cdef SCIP_Real* coefs = <SCIP_Real*> malloc(ncols * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_coefs = ((SCIP_Real *)malloc((__pyx_v_ncols * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/scip.pxi":5372
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPgetLPBInvARow(self._scip, row, NULL, coefs, NULL, NULL))             # <<<<<<<<<<<<<<
 *         result = [coefs[i] for i in range(ncols)]
 *         free(coefs)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_v_row); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 5372, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetLPBInvARow(__pyx_v_self->_scip, __pyx_t_4, NULL, __pyx_v_coefs, NULL, NULL)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5373
 * 
 *         PY_SCIP_CALL(SCIPgetLPBInvARow(self._scip, row, NULL, coefs, NULL, NULL))
 *         result = [coefs[i] for i in range(ncols)]             # <<<<<<<<<<<<<<
 *         free(coefs)
 * 
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5373, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __pyx_v_ncols;
    __pyx_t_7 = __pyx_t_4;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr44__pyx_v_i = __pyx_t_8;
      __pyx_t_3 = PyFloat_FromDouble((__pyx_v_coefs[__pyx_9genexpr44__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5373, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 5373, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  } /* exit inner scope */
  __pyx_v_result = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5374
 *         PY_SCIP_CALL(SCIPgetLPBInvARow(self._scip, row, NULL, coefs, NULL, NULL))
 *         result = [coefs[i] for i in range(ncols)]
 *         free(coefs)             # <<<<<<<<<<<<<<
 * 
 *         return result
*/
  free(__pyx_v_coefs);

  /* "src/pyscipopt/scip.pxi":5376
 *         free(coefs)
 * 
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     def isLPSolBasic(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5353
 *         return result
 * 
 *     def getLPBInvARow(self, row):             # <<<<<<<<<<<<<<
 *         """
 *         Gets a row from B^-1 * A.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLPBInvARow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5378
 *         return result
 * 
 *     def isLPSolBasic(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the current LP solution is basic, i.e. is defined by a valid simplex basis.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_297isLPSolBasic(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_296isLPSolBasic, "\n        Returns whether the current LP solution is basic, i.e. is defined by a valid simplex basis.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_297isLPSolBasic = {"isLPSolBasic", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_297isLPSolBasic, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_296isLPSolBasic};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_297isLPSolBasic(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isLPSolBasic (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isLPSolBasic", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isLPSolBasic", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_296isLPSolBasic(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_296isLPSolBasic(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isLPSolBasic", 0);

  /* "src/pyscipopt/scip.pxi":5387
 * 
 *         """
 *         return SCIPisLPSolBasic(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def allColsInLP(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPisLPSolBasic(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5378
 *         return result
 * 
 *     def isLPSolBasic(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the current LP solution is basic, i.e. is defined by a valid simplex basis.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isLPSolBasic", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5389
 *         return SCIPisLPSolBasic(self._scip)
 * 
 *     def allColsInLP(self):             # <<<<<<<<<<<<<<
 *         """
 *         Checks if all columns, i.e. every variable with non-empty column is present in the LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_299allColsInLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_298allColsInLP, "\n        Checks if all columns, i.e. every variable with non-empty column is present in the LP.\n        This is not True when performing pricing for instance.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_299allColsInLP = {"allColsInLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_299allColsInLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_298allColsInLP};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_299allColsInLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("allColsInLP (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("allColsInLP", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("allColsInLP", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_298allColsInLP(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_298allColsInLP(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("allColsInLP", 0);

  /* "src/pyscipopt/scip.pxi":5400
 *         """
 * 
 *         return SCIPallColsInLP(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     # LP Col Methods
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPallColsInLP(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5400, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5389
 *         return SCIPisLPSolBasic(self._scip)
 * 
 *     def allColsInLP(self):             # <<<<<<<<<<<<<<
 *         """
 *         Checks if all columns, i.e. every variable with non-empty column is present in the LP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.allColsInLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5403
 * 
 *     # LP Col Methods
 *     def getColRedCost(self, Column col):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the reduced cost of the column in the current LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_301getColRedCost(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_300getColRedCost, "\n        Gets the reduced cost of the column in the current LP.\n\n        Parameters\n        ----------\n        col : Column\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_301getColRedCost = {"getColRedCost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_301getColRedCost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_300getColRedCost};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_301getColRedCost(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_col = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getColRedCost (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_col,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5403, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5403, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getColRedCost", 0) < (0)) __PYX_ERR(2, 5403, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getColRedCost", 1, 1, 1, i); __PYX_ERR(2, 5403, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5403, __pyx_L3_error)
    }
    __pyx_v_col = ((struct __pyx_obj_9pyscipopt_4scip_Column *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getColRedCost", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5403, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getColRedCost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_col), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Column, 1, "col", 0))) __PYX_ERR(2, 5403, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_300getColRedCost(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_col);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_300getColRedCost(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Column *__pyx_v_col) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getColRedCost", 0);

  /* "src/pyscipopt/scip.pxi":5416
 * 
 *         """
 *         return SCIPgetColRedcost(self._scip, col.scip_col)             # <<<<<<<<<<<<<<
 * 
 *     #TODO: documentation!!
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetColRedcost(__pyx_v_self->_scip, __pyx_v_col->scip_col)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5403
 * 
 *     # LP Col Methods
 *     def getColRedCost(self, Column col):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the reduced cost of the column in the current LP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getColRedCost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5420
 *     #TODO: documentation!!
 *     # LP Row Methods
 *     def createEmptyRowSepa(self, Sepa sepa, name="row", lhs = 0.0, rhs = None, local = True, modifiable = False, removable = True):             # <<<<<<<<<<<<<<
 *         """
 *         Creates and captures an LP row without any coefficients from a separator.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_303createEmptyRowSepa(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_302createEmptyRowSepa, "\n        Creates and captures an LP row without any coefficients from a separator.\n\n        Parameters\n        ----------\n        sepa : Sepa\n            separator that creates the row\n        name : str, optional\n            name of row (Default value = \"row\")\n        lhs : float or None, optional\n            left hand side of row (Default value = 0)\n        rhs : float or None, optional\n            right hand side of row (Default value = None)\n        local : bool, optional\n            is row only valid locally? (Default value = True)\n        modifiable : bool, optional\n            is row modifiable during node processing (subject to column generation)? (Default value = False)\n        removable : bool, optional\n            should the row be removed from the LP due to aging or cleanup? (Default value = True)\n\n        Returns\n        -------\n        Row\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_303createEmptyRowSepa = {"createEmptyRowSepa", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_303createEmptyRowSepa, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_302createEmptyRowSepa};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_303createEmptyRowSepa(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_sepa = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_lhs = 0;
  PyObject *__pyx_v_rhs = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_modifiable = 0;
  PyObject *__pyx_v_removable = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[7] = {0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("createEmptyRowSepa (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sepa,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_lhs,&__pyx_mstate_global->__pyx_n_u_rhs,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_modifiable,&__pyx_mstate_global->__pyx_n_u_removable,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5420, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 5420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 5420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 5420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 5420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 5420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "createEmptyRowSepa", 0) < (0)) __PYX_ERR(2, 5420, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_row));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("createEmptyRowSepa", 0, 1, 7, i); __PYX_ERR(2, 5420, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 5420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 5420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 5420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 5420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 5420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5420, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5420, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_row));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_sepa = ((struct __pyx_obj_9pyscipopt_4scip_Sepa *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_lhs = values[2];
    __pyx_v_rhs = values[3];
    __pyx_v_local = values[4];
    __pyx_v_modifiable = values[5];
    __pyx_v_removable = values[6];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("createEmptyRowSepa", 0, 1, 7, __pyx_nargs); __PYX_ERR(2, 5420, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.createEmptyRowSepa", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sepa), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Sepa, 1, "sepa", 0))) __PYX_ERR(2, 5420, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_302createEmptyRowSepa(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_sepa, __pyx_v_name, __pyx_v_lhs, __pyx_v_rhs, __pyx_v_local, __pyx_v_modifiable, __pyx_v_removable);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_302createEmptyRowSepa(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_sepa, PyObject *__pyx_v_name, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_removable) {
  SCIP_ROW *__pyx_v_row;
  SCIP_SEPA *__pyx_v_scip_sepa;
  PyObject *__pyx_v_PyRow = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  char const *__pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  char const *__pyx_t_10;
  SCIP_Real __pyx_t_11;
  SCIP_Real __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  SCIP_Bool __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("createEmptyRowSepa", 0);
  __Pyx_INCREF(__pyx_v_lhs);
  __Pyx_INCREF(__pyx_v_rhs);

  /* "src/pyscipopt/scip.pxi":5447
 *         """
 *         cdef SCIP_ROW* row
 *         lhs =  -SCIPinfinity(self._scip) if lhs is None else lhs             # <<<<<<<<<<<<<<
 *         rhs =  SCIPinfinity(self._scip) if rhs is None else rhs
 *         scip_sepa = SCIPfindSepa(self._scip, str_conversion(sepa.name))
*/
  __pyx_t_2 = (__pyx_v_lhs == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyFloat_FromDouble((-SCIPinfinity(__pyx_v_self->_scip))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5447, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_lhs);
    __pyx_t_1 = __pyx_v_lhs;
  }
  __Pyx_DECREF_SET(__pyx_v_lhs, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5448
 *         cdef SCIP_ROW* row
 *         lhs =  -SCIPinfinity(self._scip) if lhs is None else lhs
 *         rhs =  SCIPinfinity(self._scip) if rhs is None else rhs             # <<<<<<<<<<<<<<
 *         scip_sepa = SCIPfindSepa(self._scip, str_conversion(sepa.name))
 *         PY_SCIP_CALL(SCIPcreateEmptyRowSepa(self._scip, &row, scip_sepa, str_conversion(name), lhs, rhs, local, modifiable, removable))
*/
  __pyx_t_2 = (__pyx_v_rhs == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyFloat_FromDouble(SCIPinfinity(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5448, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_rhs);
    __pyx_t_1 = __pyx_v_rhs;
  }
  __Pyx_DECREF_SET(__pyx_v_rhs, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5449
 *         lhs =  -SCIPinfinity(self._scip) if lhs is None else lhs
 *         rhs =  SCIPinfinity(self._scip) if rhs is None else rhs
 *         scip_sepa = SCIPfindSepa(self._scip, str_conversion(sepa.name))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPcreateEmptyRowSepa(self._scip, &row, scip_sepa, str_conversion(name), lhs, rhs, local, modifiable, removable))
 *         PyRow = Row.create(row)
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_sepa->name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_t_1); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 5449, __pyx_L1_error)
  __pyx_v_scip_sepa = SCIPfindSepa(__pyx_v_self->_scip, __pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5450
 *         rhs =  SCIPinfinity(self._scip) if rhs is None else rhs
 *         scip_sepa = SCIPfindSepa(self._scip, str_conversion(sepa.name))
 *         PY_SCIP_CALL(SCIPcreateEmptyRowSepa(self._scip, &row, scip_sepa, str_conversion(name), lhs, rhs, local, modifiable, removable))             # <<<<<<<<<<<<<<
 *         PyRow = Row.create(row)
 *         return PyRow
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 5450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_9))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_name};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 5450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_10 = __Pyx_PyObject_AsString(__pyx_t_7); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) __PYX_ERR(2, 5450, __pyx_L1_error)
  __pyx_t_11 = __Pyx_PyFloat_AsDouble(__pyx_v_lhs); if (unlikely((__pyx_t_11 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5450, __pyx_L1_error)
  __pyx_t_12 = __Pyx_PyFloat_AsDouble(__pyx_v_rhs); if (unlikely((__pyx_t_12 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5450, __pyx_L1_error)
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_local); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5450, __pyx_L1_error)
  __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_modifiable); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5450, __pyx_L1_error)
  __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_removable); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5450, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateEmptyRowSepa(__pyx_v_self->_scip, (&__pyx_v_row), __pyx_v_scip_sepa, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15)); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 5450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5451
 *         scip_sepa = SCIPfindSepa(self._scip, str_conversion(sepa.name))
 *         PY_SCIP_CALL(SCIPcreateEmptyRowSepa(self._scip, &row, scip_sepa, str_conversion(name), lhs, rhs, local, modifiable, removable))
 *         PyRow = Row.create(row)             # <<<<<<<<<<<<<<
 *         return PyRow
 * 
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_3Row_create(__pyx_v_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyRow = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5452
 *         PY_SCIP_CALL(SCIPcreateEmptyRowSepa(self._scip, &row, scip_sepa, str_conversion(name), lhs, rhs, local, modifiable, removable))
 *         PyRow = Row.create(row)
 *         return PyRow             # <<<<<<<<<<<<<<
 * 
 *     def createEmptyRowUnspec(self, name="row", lhs = 0.0, rhs = None, local = True, modifiable = False, removable = True):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_PyRow);
  __pyx_r = __pyx_v_PyRow;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5420
 *     #TODO: documentation!!
 *     # LP Row Methods
 *     def createEmptyRowSepa(self, Sepa sepa, name="row", lhs = 0.0, rhs = None, local = True, modifiable = False, removable = True):             # <<<<<<<<<<<<<<
 *         """
 *         Creates and captures an LP row without any coefficients from a separator.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.Model.createEmptyRowSepa", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_PyRow);
  __Pyx_XDECREF(__pyx_v_lhs);
  __Pyx_XDECREF(__pyx_v_rhs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5454
 *         return PyRow
 * 
 *     def createEmptyRowUnspec(self, name="row", lhs = 0.0, rhs = None, local = True, modifiable = False, removable = True):             # <<<<<<<<<<<<<<
 *         """
 *         Creates and captures an LP row without any coefficients from an unspecified source.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_305createEmptyRowUnspec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_304createEmptyRowUnspec, "\n        Creates and captures an LP row without any coefficients from an unspecified source.\n\n        Parameters\n        ----------\n        name : str, optional\n            name of row (Default value = \"row\")\n        lhs : float or None, optional\n            left hand side of row (Default value = 0)\n        rhs : float or None, optional\n            right hand side of row (Default value = None)\n        local : bool, optional\n            is row only valid locally? (Default value = True)\n        modifiable : bool, optional\n            is row modifiable during node processing (subject to column generation)? (Default value = False)\n        removable : bool, optional\n            should the row be removed from the LP due to aging or cleanup? (Default value = True)\n\n        Returns\n        -------\n        Row\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_305createEmptyRowUnspec = {"createEmptyRowUnspec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_305createEmptyRowUnspec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_304createEmptyRowUnspec};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_305createEmptyRowUnspec(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_lhs = 0;
  PyObject *__pyx_v_rhs = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_modifiable = 0;
  PyObject *__pyx_v_removable = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("createEmptyRowUnspec (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_lhs,&__pyx_mstate_global->__pyx_n_u_rhs,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_modifiable,&__pyx_mstate_global->__pyx_n_u_removable,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5454, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 5454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 5454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 5454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 5454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "createEmptyRowUnspec", 0) < (0)) __PYX_ERR(2, 5454, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_row));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
    } else {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 5454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 5454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 5454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 5454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5454, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_row));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_0_0));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_name = values[0];
    __pyx_v_lhs = values[1];
    __pyx_v_rhs = values[2];
    __pyx_v_local = values[3];
    __pyx_v_modifiable = values[4];
    __pyx_v_removable = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("createEmptyRowUnspec", 0, 0, 6, __pyx_nargs); __PYX_ERR(2, 5454, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.createEmptyRowUnspec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_304createEmptyRowUnspec(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_name, __pyx_v_lhs, __pyx_v_rhs, __pyx_v_local, __pyx_v_modifiable, __pyx_v_removable);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_304createEmptyRowUnspec(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_lhs, PyObject *__pyx_v_rhs, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_removable) {
  SCIP_ROW *__pyx_v_row;
  PyObject *__pyx_v_PyRow = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  char const *__pyx_t_9;
  SCIP_Real __pyx_t_10;
  SCIP_Real __pyx_t_11;
  SCIP_Bool __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("createEmptyRowUnspec", 0);
  __Pyx_INCREF(__pyx_v_lhs);
  __Pyx_INCREF(__pyx_v_rhs);

  /* "src/pyscipopt/scip.pxi":5479
 *         """
 *         cdef SCIP_ROW* row
 *         lhs =  -SCIPinfinity(self._scip) if lhs is None else lhs             # <<<<<<<<<<<<<<
 *         rhs =  SCIPinfinity(self._scip) if rhs is None else rhs
 *         PY_SCIP_CALL(SCIPcreateEmptyRowUnspec(self._scip, &row, str_conversion(name), lhs, rhs, local, modifiable, removable))
*/
  __pyx_t_2 = (__pyx_v_lhs == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyFloat_FromDouble((-SCIPinfinity(__pyx_v_self->_scip))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_lhs);
    __pyx_t_1 = __pyx_v_lhs;
  }
  __Pyx_DECREF_SET(__pyx_v_lhs, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5480
 *         cdef SCIP_ROW* row
 *         lhs =  -SCIPinfinity(self._scip) if lhs is None else lhs
 *         rhs =  SCIPinfinity(self._scip) if rhs is None else rhs             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPcreateEmptyRowUnspec(self._scip, &row, str_conversion(name), lhs, rhs, local, modifiable, removable))
 *         PyRow = Row.create(row)
*/
  __pyx_t_2 = (__pyx_v_rhs == Py_None);
  if (__pyx_t_2) {
    __pyx_t_3 = PyFloat_FromDouble(SCIPinfinity(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __Pyx_INCREF(__pyx_v_rhs);
    __pyx_t_1 = __pyx_v_rhs;
  }
  __Pyx_DECREF_SET(__pyx_v_rhs, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5481
 *         lhs =  -SCIPinfinity(self._scip) if lhs is None else lhs
 *         rhs =  SCIPinfinity(self._scip) if rhs is None else rhs
 *         PY_SCIP_CALL(SCIPcreateEmptyRowUnspec(self._scip, &row, str_conversion(name), lhs, rhs, local, modifiable, removable))             # <<<<<<<<<<<<<<
 *         PyRow = Row.create(row)
 *         return PyRow
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 5481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_8 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_name};
    __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_9 = __Pyx_PyObject_AsString(__pyx_t_5); if (unlikely((!__pyx_t_9) && PyErr_Occurred())) __PYX_ERR(2, 5481, __pyx_L1_error)
  __pyx_t_10 = __Pyx_PyFloat_AsDouble(__pyx_v_lhs); if (unlikely((__pyx_t_10 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5481, __pyx_L1_error)
  __pyx_t_11 = __Pyx_PyFloat_AsDouble(__pyx_v_rhs); if (unlikely((__pyx_t_11 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5481, __pyx_L1_error)
  __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_local); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5481, __pyx_L1_error)
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_modifiable); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5481, __pyx_L1_error)
  __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_removable); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5481, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateEmptyRowUnspec(__pyx_v_self->_scip, (&__pyx_v_row), __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_t_14)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 5481, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_8 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_8 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5482
 *         rhs =  SCIPinfinity(self._scip) if rhs is None else rhs
 *         PY_SCIP_CALL(SCIPcreateEmptyRowUnspec(self._scip, &row, str_conversion(name), lhs, rhs, local, modifiable, removable))
 *         PyRow = Row.create(row)             # <<<<<<<<<<<<<<
 *         return PyRow
 * 
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_3Row_create(__pyx_v_row); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5482, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyRow = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5483
 *         PY_SCIP_CALL(SCIPcreateEmptyRowUnspec(self._scip, &row, str_conversion(name), lhs, rhs, local, modifiable, removable))
 *         PyRow = Row.create(row)
 *         return PyRow             # <<<<<<<<<<<<<<
 * 
 *     def getRowActivity(self, Row row):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_PyRow);
  __pyx_r = __pyx_v_PyRow;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5454
 *         return PyRow
 * 
 *     def createEmptyRowUnspec(self, name="row", lhs = 0.0, rhs = None, local = True, modifiable = False, removable = True):             # <<<<<<<<<<<<<<
 *         """
 *         Creates and captures an LP row without any coefficients from an unspecified source.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.createEmptyRowUnspec", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_PyRow);
  __Pyx_XDECREF(__pyx_v_lhs);
  __Pyx_XDECREF(__pyx_v_rhs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5485
 *         return PyRow
 * 
 *     def getRowActivity(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the activity of a row in the last LP or pseudo solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_307getRowActivity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_306getRowActivity, "\n        Returns the activity of a row in the last LP or pseudo solution.\n\n        Parameters\n        ----------\n        row : Row\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_307getRowActivity = {"getRowActivity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_307getRowActivity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_306getRowActivity};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_307getRowActivity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRowActivity (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5485, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5485, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getRowActivity", 0) < (0)) __PYX_ERR(2, 5485, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getRowActivity", 1, 1, 1, i); __PYX_ERR(2, 5485, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5485, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getRowActivity", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5485, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowActivity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 1, "row", 0))) __PYX_ERR(2, 5485, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_306getRowActivity(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_306getRowActivity(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getRowActivity", 0);

  /* "src/pyscipopt/scip.pxi":5498
 * 
 *         """
 *         return SCIPgetRowActivity(self._scip, row.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getRowLPActivity(self, Row row):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetRowActivity(__pyx_v_self->_scip, __pyx_v_row->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5498, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5485
 *         return PyRow
 * 
 *     def getRowActivity(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the activity of a row in the last LP or pseudo solution.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowActivity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5500
 *         return SCIPgetRowActivity(self._scip, row.scip_row)
 * 
 *     def getRowLPActivity(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the activity of a row in the last LP solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_309getRowLPActivity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_308getRowLPActivity, "\n        Returns the activity of a row in the last LP solution.\n\n        Parameters\n        ----------\n        row : Row\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_309getRowLPActivity = {"getRowLPActivity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_309getRowLPActivity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_308getRowLPActivity};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_309getRowLPActivity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRowLPActivity (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5500, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5500, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getRowLPActivity", 0) < (0)) __PYX_ERR(2, 5500, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getRowLPActivity", 1, 1, 1, i); __PYX_ERR(2, 5500, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5500, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getRowLPActivity", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5500, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowLPActivity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 1, "row", 0))) __PYX_ERR(2, 5500, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_308getRowLPActivity(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_308getRowLPActivity(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getRowLPActivity", 0);

  /* "src/pyscipopt/scip.pxi":5513
 * 
 *         """
 *         return SCIPgetRowLPActivity(self._scip, row.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     # TODO: do we need this? (also do we need release var??)
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetRowLPActivity(__pyx_v_self->_scip, __pyx_v_row->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5500
 *         return SCIPgetRowActivity(self._scip, row.scip_row)
 * 
 *     def getRowLPActivity(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the activity of a row in the last LP solution.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowLPActivity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5516
 * 
 *     # TODO: do we need this? (also do we need release var??)
 *     def releaseRow(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         Decreases usage counter of LP row, and frees memory if necessary.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_311releaseRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_310releaseRow, "\n        Decreases usage counter of LP row, and frees memory if necessary.\n\n        Parameters\n        ----------\n        row : Row\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_311releaseRow = {"releaseRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_311releaseRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_310releaseRow};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_311releaseRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("releaseRow (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5516, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5516, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "releaseRow", 0) < (0)) __PYX_ERR(2, 5516, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("releaseRow", 1, 1, 1, i); __PYX_ERR(2, 5516, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5516, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("releaseRow", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5516, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.releaseRow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 0, "row", 0))) __PYX_ERR(2, 5516, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_310releaseRow(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_310releaseRow(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("releaseRow", 0);

  /* "src/pyscipopt/scip.pxi":5525
 * 
 *         """
 *         PY_SCIP_CALL(SCIPreleaseRow(self._scip, &row.scip_row))             # <<<<<<<<<<<<<<
 * 
 *     def cacheRowExtensions(self, Row row not None):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseRow(__pyx_v_self->_scip, (&__pyx_v_row->scip_row))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5525, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5516
 * 
 *     # TODO: do we need this? (also do we need release var??)
 *     def releaseRow(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         Decreases usage counter of LP row, and frees memory if necessary.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.releaseRow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5527
 *         PY_SCIP_CALL(SCIPreleaseRow(self._scip, &row.scip_row))
 * 
 *     def cacheRowExtensions(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         Informs row that all subsequent additions of variables to the row
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_313cacheRowExtensions(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_312cacheRowExtensions, "\n        Informs row that all subsequent additions of variables to the row\n        should be cached and not directly applied;\n        after all additions were applied, flushRowExtensions() must be called;\n        while the caching of row extensions is activated, information methods of the\n        row give invalid results; caching should be used, if a row is build with addVarToRow()\n        calls variable by variable to increase the performance.\n\n        Parameters\n        ----------\n        row : Row\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_313cacheRowExtensions = {"cacheRowExtensions", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_313cacheRowExtensions, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_312cacheRowExtensions};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_313cacheRowExtensions(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("cacheRowExtensions (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5527, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5527, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "cacheRowExtensions", 0) < (0)) __PYX_ERR(2, 5527, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("cacheRowExtensions", 1, 1, 1, i); __PYX_ERR(2, 5527, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5527, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("cacheRowExtensions", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5527, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.cacheRowExtensions", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 0, "row", 0))) __PYX_ERR(2, 5527, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_312cacheRowExtensions(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_312cacheRowExtensions(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("cacheRowExtensions", 0);

  /* "src/pyscipopt/scip.pxi":5541
 * 
 *         """
 *         PY_SCIP_CALL(SCIPcacheRowExtensions(self._scip, row.scip_row))             # <<<<<<<<<<<<<<
 * 
 *     def flushRowExtensions(self, Row row not None):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcacheRowExtensions(__pyx_v_self->_scip, __pyx_v_row->scip_row)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5527
 *         PY_SCIP_CALL(SCIPreleaseRow(self._scip, &row.scip_row))
 * 
 *     def cacheRowExtensions(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         Informs row that all subsequent additions of variables to the row
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.cacheRowExtensions", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5543
 *         PY_SCIP_CALL(SCIPcacheRowExtensions(self._scip, row.scip_row))
 * 
 *     def flushRowExtensions(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         Flushes all cached row extensions after a call of cacheRowExtensions()
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_315flushRowExtensions(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_314flushRowExtensions, "\n        Flushes all cached row extensions after a call of cacheRowExtensions()\n        and merges coefficients with equal columns into a single coefficient\n\n        Parameters\n        ----------\n        row : Row\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_315flushRowExtensions = {"flushRowExtensions", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_315flushRowExtensions, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_314flushRowExtensions};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_315flushRowExtensions(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("flushRowExtensions (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5543, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "flushRowExtensions", 0) < (0)) __PYX_ERR(2, 5543, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("flushRowExtensions", 1, 1, 1, i); __PYX_ERR(2, 5543, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5543, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("flushRowExtensions", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5543, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.flushRowExtensions", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 0, "row", 0))) __PYX_ERR(2, 5543, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_314flushRowExtensions(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_314flushRowExtensions(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("flushRowExtensions", 0);

  /* "src/pyscipopt/scip.pxi":5553
 * 
 *         """
 *         PY_SCIP_CALL(SCIPflushRowExtensions(self._scip, row.scip_row))             # <<<<<<<<<<<<<<
 * 
 *     def addVarToRow(self, Row row not None, Variable var not None, value):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPflushRowExtensions(__pyx_v_self->_scip, __pyx_v_row->scip_row)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5543
 *         PY_SCIP_CALL(SCIPcacheRowExtensions(self._scip, row.scip_row))
 * 
 *     def flushRowExtensions(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         Flushes all cached row extensions after a call of cacheRowExtensions()
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.flushRowExtensions", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5555
 *         PY_SCIP_CALL(SCIPflushRowExtensions(self._scip, row.scip_row))
 * 
 *     def addVarToRow(self, Row row not None, Variable var not None, value):             # <<<<<<<<<<<<<<
 *         """
 *         Resolves variable to columns and adds them with the coefficient to the row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_317addVarToRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_316addVarToRow, "\n        Resolves variable to columns and adds them with the coefficient to the row.\n\n        Parameters\n        ----------\n        row : Row\n            Row in which the variable will be added\n        var : Variable\n            Variable which will be added to the row\n        value : float\n            Coefficient on the variable when placed in the row\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_317addVarToRow = {"addVarToRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_317addVarToRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_316addVarToRow};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_317addVarToRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addVarToRow (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5555, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 5555, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5555, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5555, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addVarToRow", 0) < (0)) __PYX_ERR(2, 5555, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addVarToRow", 1, 3, 3, i); __PYX_ERR(2, 5555, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5555, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5555, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 5555, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
    __pyx_v_value = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addVarToRow", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 5555, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addVarToRow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 0, "row", 0))) __PYX_ERR(2, 5555, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 0, "var", 0))) __PYX_ERR(2, 5555, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_316addVarToRow(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row, __pyx_v_var, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_316addVarToRow(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addVarToRow", 0);

  /* "src/pyscipopt/scip.pxi":5569
 * 
 *         """
 *         PY_SCIP_CALL(SCIPaddVarToRow(self._scip, row.scip_row, var.scip_var, value))             # <<<<<<<<<<<<<<
 * 
 *     def printRow(self, Row row not None):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5569, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddVarToRow(__pyx_v_self->_scip, __pyx_v_row->scip_row, __pyx_v_var->scip_var, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5569, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5555
 *         PY_SCIP_CALL(SCIPflushRowExtensions(self._scip, row.scip_row))
 * 
 *     def addVarToRow(self, Row row not None, Variable var not None, value):             # <<<<<<<<<<<<<<
 *         """
 *         Resolves variable to columns and adds them with the coefficient to the row.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addVarToRow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5571
 *         PY_SCIP_CALL(SCIPaddVarToRow(self._scip, row.scip_row, var.scip_var, value))
 * 
 *     def printRow(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         Prints row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_319printRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_318printRow, "\n        Prints row.\n\n        Parameters\n        ----------\n        row : Row\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_319printRow = {"printRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_319printRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_318printRow};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_319printRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("printRow (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5571, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5571, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "printRow", 0) < (0)) __PYX_ERR(2, 5571, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("printRow", 1, 1, 1, i); __PYX_ERR(2, 5571, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5571, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("printRow", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5571, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.printRow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 0, "row", 0))) __PYX_ERR(2, 5571, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_318printRow(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_318printRow(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("printRow", 0);

  /* "src/pyscipopt/scip.pxi":5580
 * 
 *         """
 *         PY_SCIP_CALL(SCIPprintRow(self._scip, row.scip_row, NULL))             # <<<<<<<<<<<<<<
 * 
 *     def getRowNumIntCols(self, Row row):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintRow(__pyx_v_self->_scip, __pyx_v_row->scip_row, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5571
 *         PY_SCIP_CALL(SCIPaddVarToRow(self._scip, row.scip_row, var.scip_var, value))
 * 
 *     def printRow(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         Prints row.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.printRow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5582
 *         PY_SCIP_CALL(SCIPprintRow(self._scip, row.scip_row, NULL))
 * 
 *     def getRowNumIntCols(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Returns number of intergal columns in the row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_321getRowNumIntCols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_320getRowNumIntCols, "\n        Returns number of intergal columns in the row.\n\n        Parameters\n        ----------\n        row : Row\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_321getRowNumIntCols = {"getRowNumIntCols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_321getRowNumIntCols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_320getRowNumIntCols};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_321getRowNumIntCols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRowNumIntCols (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5582, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5582, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getRowNumIntCols", 0) < (0)) __PYX_ERR(2, 5582, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getRowNumIntCols", 1, 1, 1, i); __PYX_ERR(2, 5582, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5582, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getRowNumIntCols", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5582, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowNumIntCols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 1, "row", 0))) __PYX_ERR(2, 5582, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_320getRowNumIntCols(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_320getRowNumIntCols(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getRowNumIntCols", 0);

  /* "src/pyscipopt/scip.pxi":5595
 * 
 *         """
 *         return SCIPgetRowNumIntCols(self._scip, row.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getRowObjParallelism(self, Row row):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetRowNumIntCols(__pyx_v_self->_scip, __pyx_v_row->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5582
 *         PY_SCIP_CALL(SCIPprintRow(self._scip, row.scip_row, NULL))
 * 
 *     def getRowNumIntCols(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Returns number of intergal columns in the row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowNumIntCols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5597
 *         return SCIPgetRowNumIntCols(self._scip, row.scip_row)
 * 
 *     def getRowObjParallelism(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Returns 1 if the row is parallel, and 0 if orthogonal.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_323getRowObjParallelism(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_322getRowObjParallelism, "\n        Returns 1 if the row is parallel, and 0 if orthogonal.\n\n        Parameters\n        ----------\n        row : Row\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_323getRowObjParallelism = {"getRowObjParallelism", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_323getRowObjParallelism, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_322getRowObjParallelism};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_323getRowObjParallelism(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRowObjParallelism (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5597, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5597, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getRowObjParallelism", 0) < (0)) __PYX_ERR(2, 5597, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getRowObjParallelism", 1, 1, 1, i); __PYX_ERR(2, 5597, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5597, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getRowObjParallelism", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5597, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowObjParallelism", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 1, "row", 0))) __PYX_ERR(2, 5597, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_322getRowObjParallelism(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_322getRowObjParallelism(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getRowObjParallelism", 0);

  /* "src/pyscipopt/scip.pxi":5610
 * 
 *         """
 *         return SCIPgetRowObjParallelism(self._scip, row.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getRowParallelism(self, Row row1, Row row2, orthofunc=101):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetRowObjParallelism(__pyx_v_self->_scip, __pyx_v_row->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5597
 *         return SCIPgetRowNumIntCols(self._scip, row.scip_row)
 * 
 *     def getRowObjParallelism(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Returns 1 if the row is parallel, and 0 if orthogonal.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowObjParallelism", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5612
 *         return SCIPgetRowObjParallelism(self._scip, row.scip_row)
 * 
 *     def getRowParallelism(self, Row row1, Row row2, orthofunc=101):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the degree of parallelism between hyplerplanes. 1 if perfectly parallel, 0 if orthogonal.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_325getRowParallelism(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_324getRowParallelism, "\n        Returns the degree of parallelism between hyplerplanes. 1 if perfectly parallel, 0 if orthogonal.\n        For two row vectors v, w the parallelism is calculated as: abs(v*w)/(abs(v)*abs(w)).\n        101 in this case is an 'e' (euclidean) in ASCII. The other acceptable input is 100 (d for discrete).\n\n        Parameters\n        ----------\n        row1 : Row\n        row2 : Row\n        orthofunc : int, optional\n            101 (default) is an 'e' (euclidean) in ASCII. Alternate value is 100 (d for discrete)\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_325getRowParallelism = {"getRowParallelism", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_325getRowParallelism, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_324getRowParallelism};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_325getRowParallelism(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row1 = 0;
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row2 = 0;
  PyObject *__pyx_v_orthofunc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRowParallelism (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row1,&__pyx_mstate_global->__pyx_n_u_row2,&__pyx_mstate_global->__pyx_n_u_orthofunc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5612, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 5612, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5612, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5612, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getRowParallelism", 0) < (0)) __PYX_ERR(2, 5612, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_101));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getRowParallelism", 0, 2, 3, i); __PYX_ERR(2, 5612, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 5612, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5612, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5612, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_101));
    }
    __pyx_v_row1 = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
    __pyx_v_row2 = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[1]);
    __pyx_v_orthofunc = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getRowParallelism", 0, 2, 3, __pyx_nargs); __PYX_ERR(2, 5612, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowParallelism", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row1), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 1, "row1", 0))) __PYX_ERR(2, 5612, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row2), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 1, "row2", 0))) __PYX_ERR(2, 5612, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_324getRowParallelism(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row1, __pyx_v_row2, __pyx_v_orthofunc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_324getRowParallelism(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row1, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row2, PyObject *__pyx_v_orthofunc) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getRowParallelism", 0);

  /* "src/pyscipopt/scip.pxi":5630
 * 
 *         """
 *         return SCIProwGetParallelism(row1.scip_row, row2.scip_row, orthofunc)             # <<<<<<<<<<<<<<
 * 
 *     def getRowDualSol(self, Row row):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_As_char(__pyx_v_orthofunc); if (unlikely((__pyx_t_1 == (char)-1) && PyErr_Occurred())) __PYX_ERR(2, 5630, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(SCIProwGetParallelism(__pyx_v_row1->scip_row, __pyx_v_row2->scip_row, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5630, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5612
 *         return SCIPgetRowObjParallelism(self._scip, row.scip_row)
 * 
 *     def getRowParallelism(self, Row row1, Row row2, orthofunc=101):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the degree of parallelism between hyplerplanes. 1 if perfectly parallel, 0 if orthogonal.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowParallelism", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5632
 *         return SCIProwGetParallelism(row1.scip_row, row2.scip_row, orthofunc)
 * 
 *     def getRowDualSol(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the dual LP solution of a row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_327getRowDualSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_326getRowDualSol, "\n        Gets the dual LP solution of a row.\n\n        Parameters\n        ----------\n        row : Row\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_327getRowDualSol = {"getRowDualSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_327getRowDualSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_326getRowDualSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_327getRowDualSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRowDualSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5632, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5632, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getRowDualSol", 0) < (0)) __PYX_ERR(2, 5632, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getRowDualSol", 1, 1, 1, i); __PYX_ERR(2, 5632, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5632, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getRowDualSol", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5632, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowDualSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 1, "row", 0))) __PYX_ERR(2, 5632, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_326getRowDualSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_326getRowDualSol(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getRowDualSol", 0);

  /* "src/pyscipopt/scip.pxi":5645
 * 
 *         """
 *         return SCIProwGetDualsol(row.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     # Cutting Plane Methods
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIProwGetDualsol(__pyx_v_row->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5632
 *         return SCIProwGetParallelism(row1.scip_row, row2.scip_row, orthofunc)
 * 
 *     def getRowDualSol(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the dual LP solution of a row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowDualSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5648
 * 
 *     # Cutting Plane Methods
 *     def addPoolCut(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         If not already existing, adds row to global cut pool.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_329addPoolCut(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_328addPoolCut, "\n        If not already existing, adds row to global cut pool.\n\n        Parameters\n        ----------\n        row : Row\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_329addPoolCut = {"addPoolCut", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_329addPoolCut, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_328addPoolCut};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_329addPoolCut(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addPoolCut (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5648, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5648, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addPoolCut", 0) < (0)) __PYX_ERR(2, 5648, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addPoolCut", 1, 1, 1, i); __PYX_ERR(2, 5648, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5648, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addPoolCut", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5648, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addPoolCut", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 0, "row", 0))) __PYX_ERR(2, 5648, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_328addPoolCut(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_328addPoolCut(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addPoolCut", 0);

  /* "src/pyscipopt/scip.pxi":5657
 * 
 *         """
 *         PY_SCIP_CALL(SCIPaddPoolCut(self._scip, row.scip_row))             # <<<<<<<<<<<<<<
 * 
 *     def getCutEfficacy(self, Row cut not None, Solution sol = None):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddPoolCut(__pyx_v_self->_scip, __pyx_v_row->scip_row)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 5657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5648
 * 
 *     # Cutting Plane Methods
 *     def addPoolCut(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         If not already existing, adds row to global cut pool.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addPoolCut", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5659
 *         PY_SCIP_CALL(SCIPaddPoolCut(self._scip, row.scip_row))
 * 
 *     def getCutEfficacy(self, Row cut not None, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns efficacy of the cut with respect to the given primal solution or the
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_331getCutEfficacy(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_330getCutEfficacy, "\n        Returns efficacy of the cut with respect to the given primal solution or the\n        current LP solution: e = -feasibility/norm\n\n        Parameters\n        ----------\n        cut : Row\n        sol : Solution or None, optional\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_331getCutEfficacy = {"getCutEfficacy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_331getCutEfficacy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_330getCutEfficacy};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_331getCutEfficacy(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_cut = 0;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCutEfficacy (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cut,&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5659, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5659, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5659, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getCutEfficacy", 0) < (0)) __PYX_ERR(2, 5659, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getCutEfficacy", 0, 1, 2, i); __PYX_ERR(2, 5659, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5659, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5659, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
    }
    __pyx_v_cut = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getCutEfficacy", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 5659, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getCutEfficacy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cut), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 0, "cut", 0))) __PYX_ERR(2, 5659, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(2, 5659, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_330getCutEfficacy(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cut, __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_330getCutEfficacy(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_cut, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  void *__pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getCutEfficacy", 0);

  /* "src/pyscipopt/scip.pxi":5674
 * 
 *         """
 *         return SCIPgetCutEfficacy(self._scip, NULL if sol is None else sol.sol, cut.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def isCutEfficacious(self, Row cut not None, Solution sol = None):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = (((PyObject *)__pyx_v_sol) == Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = NULL;
  } else {
    __pyx_t_1 = __pyx_v_sol->sol;
  }
  __pyx_t_3 = PyFloat_FromDouble(SCIPgetCutEfficacy(__pyx_v_self->_scip, __pyx_t_1, __pyx_v_cut->scip_row)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5659
 *         PY_SCIP_CALL(SCIPaddPoolCut(self._scip, row.scip_row))
 * 
 *     def getCutEfficacy(self, Row cut not None, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns efficacy of the cut with respect to the given primal solution or the
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getCutEfficacy", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5676
 *         return SCIPgetCutEfficacy(self._scip, NULL if sol is None else sol.sol, cut.scip_row)
 * 
 *     def isCutEfficacious(self, Row cut not None, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the cut's efficacy with respect to the given primal solution or the
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_333isCutEfficacious(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_332isCutEfficacious, "\n        Returns whether the cut's efficacy with respect to the given primal solution or the\n        current LP solution is greater than the minimal cut efficacy.\n\n        Parameters\n        ----------\n        cut : Row\n        sol : Solution or None, optional\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_333isCutEfficacious = {"isCutEfficacious", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_333isCutEfficacious, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_332isCutEfficacious};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_333isCutEfficacious(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_cut = 0;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isCutEfficacious (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cut,&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5676, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5676, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5676, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isCutEfficacious", 0) < (0)) __PYX_ERR(2, 5676, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isCutEfficacious", 0, 1, 2, i); __PYX_ERR(2, 5676, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5676, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5676, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
    }
    __pyx_v_cut = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isCutEfficacious", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 5676, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isCutEfficacious", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cut), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 0, "cut", 0))) __PYX_ERR(2, 5676, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(2, 5676, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_332isCutEfficacious(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cut, __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_332isCutEfficacious(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_cut, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  void *__pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isCutEfficacious", 0);

  /* "src/pyscipopt/scip.pxi":5691
 * 
 *         """
 *         return SCIPisCutEfficacious(self._scip, NULL if sol is None else sol.sol, cut.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def getCutLPSolCutoffDistance(self, Row cut not None, Solution sol not None):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = (((PyObject *)__pyx_v_sol) == Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = NULL;
  } else {
    __pyx_t_1 = __pyx_v_sol->sol;
  }
  __pyx_t_3 = __Pyx_PyBool_FromLong(SCIPisCutEfficacious(__pyx_v_self->_scip, __pyx_t_1, __pyx_v_cut->scip_row)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5676
 *         return SCIPgetCutEfficacy(self._scip, NULL if sol is None else sol.sol, cut.scip_row)
 * 
 *     def isCutEfficacious(self, Row cut not None, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the cut's efficacy with respect to the given primal solution or the
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isCutEfficacious", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5693
 *         return SCIPisCutEfficacious(self._scip, NULL if sol is None else sol.sol, cut.scip_row)
 * 
 *     def getCutLPSolCutoffDistance(self, Row cut not None, Solution sol not None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns row's cutoff distance in the direction of the given primal solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_335getCutLPSolCutoffDistance(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_334getCutLPSolCutoffDistance, "\n        Returns row's cutoff distance in the direction of the given primal solution.\n\n        Parameters\n        ----------\n        cut : Row\n        sol : Solution\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_335getCutLPSolCutoffDistance = {"getCutLPSolCutoffDistance", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_335getCutLPSolCutoffDistance, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_334getCutLPSolCutoffDistance};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_335getCutLPSolCutoffDistance(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_cut = 0;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCutLPSolCutoffDistance (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cut,&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5693, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5693, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5693, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getCutLPSolCutoffDistance", 0) < (0)) __PYX_ERR(2, 5693, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getCutLPSolCutoffDistance", 1, 2, 2, i); __PYX_ERR(2, 5693, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5693, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5693, __pyx_L3_error)
    }
    __pyx_v_cut = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getCutLPSolCutoffDistance", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 5693, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getCutLPSolCutoffDistance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cut), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 0, "cut", 0))) __PYX_ERR(2, 5693, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 0, "sol", 0))) __PYX_ERR(2, 5693, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_334getCutLPSolCutoffDistance(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cut, __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_334getCutLPSolCutoffDistance(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_cut, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getCutLPSolCutoffDistance", 0);

  /* "src/pyscipopt/scip.pxi":5707
 * 
 *         """
 *         return SCIPgetCutLPSolCutoffDistance(self._scip, sol.sol, cut.scip_row)             # <<<<<<<<<<<<<<
 * 
 *     def addCut(self, Row cut not None, forcecut = False):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetCutLPSolCutoffDistance(__pyx_v_self->_scip, __pyx_v_sol->sol, __pyx_v_cut->scip_row)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5707, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5693
 *         return SCIPisCutEfficacious(self._scip, NULL if sol is None else sol.sol, cut.scip_row)
 * 
 *     def getCutLPSolCutoffDistance(self, Row cut not None, Solution sol not None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns row's cutoff distance in the direction of the given primal solution.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getCutLPSolCutoffDistance", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5709
 *         return SCIPgetCutLPSolCutoffDistance(self._scip, sol.sol, cut.scip_row)
 * 
 *     def addCut(self, Row cut not None, forcecut = False):             # <<<<<<<<<<<<<<
 *         """
 *         Adds cut to separation storage and returns whether cut has been detected to be infeasible for local bounds.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_337addCut(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_336addCut, "\n        Adds cut to separation storage and returns whether cut has been detected to be infeasible for local bounds.\n\n        Parameters\n        ----------\n        cut : Row\n            The cut that will be added\n        forcecut : bool, optional\n            Whether the cut should be forced or not, i.e., selected no matter what\n\n        Returns\n        -------\n        infeasible : bool\n            Whether the cut has been detected to be infeasible from local bounds\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_337addCut = {"addCut", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_337addCut, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_336addCut};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_337addCut(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_cut = 0;
  PyObject *__pyx_v_forcecut = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addCut (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cut,&__pyx_mstate_global->__pyx_n_u_forcecut,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5709, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5709, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5709, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addCut", 0) < (0)) __PYX_ERR(2, 5709, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addCut", 0, 1, 2, i); __PYX_ERR(2, 5709, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5709, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5709, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_cut = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
    __pyx_v_forcecut = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addCut", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 5709, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addCut", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cut), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 0, "cut", 0))) __PYX_ERR(2, 5709, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_336addCut(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cut, __pyx_v_forcecut);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_336addCut(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_cut, PyObject *__pyx_v_forcecut) {
  SCIP_Bool __pyx_v_infeasible;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Bool __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addCut", 0);

  /* "src/pyscipopt/scip.pxi":5727
 *         """
 *         cdef SCIP_Bool infeasible
 *         PY_SCIP_CALL(SCIPaddRow(self._scip, cut.scip_row, forcecut, &infeasible))             # <<<<<<<<<<<<<<
 *         return infeasible
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_forcecut); if (unlikely((__pyx_t_4 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5727, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddRow(__pyx_v_self->_scip, __pyx_v_cut->scip_row, __pyx_t_4, (&__pyx_v_infeasible))); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5727, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5727, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5728
 *         cdef SCIP_Bool infeasible
 *         PY_SCIP_CALL(SCIPaddRow(self._scip, cut.scip_row, forcecut, &infeasible))
 *         return infeasible             # <<<<<<<<<<<<<<
 * 
 *     def getNCuts(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_infeasible); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5709
 *         return SCIPgetCutLPSolCutoffDistance(self._scip, sol.sol, cut.scip_row)
 * 
 *     def addCut(self, Row cut not None, forcecut = False):             # <<<<<<<<<<<<<<
 *         """
 *         Adds cut to separation storage and returns whether cut has been detected to be infeasible for local bounds.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addCut", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5730
 *         return infeasible
 * 
 *     def getNCuts(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve total number of cuts in storage.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_339getNCuts(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_338getNCuts, "\n        Retrieve total number of cuts in storage.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_339getNCuts = {"getNCuts", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_339getNCuts, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_338getNCuts};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_339getNCuts(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNCuts (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNCuts", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNCuts", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_338getNCuts(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_338getNCuts(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNCuts", 0);

  /* "src/pyscipopt/scip.pxi":5739
 * 
 *         """
 *         return SCIPgetNCuts(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNCutsApplied(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNCuts(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5730
 *         return infeasible
 * 
 *     def getNCuts(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve total number of cuts in storage.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNCuts", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5741
 *         return SCIPgetNCuts(self._scip)
 * 
 *     def getNCutsApplied(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of currently applied cuts.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_341getNCutsApplied(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_340getNCutsApplied, "\n        Retrieve number of currently applied cuts.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_341getNCutsApplied = {"getNCutsApplied", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_341getNCutsApplied, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_340getNCutsApplied};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_341getNCutsApplied(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNCutsApplied (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNCutsApplied", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNCutsApplied", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_340getNCutsApplied(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_340getNCutsApplied(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNCutsApplied", 0);

  /* "src/pyscipopt/scip.pxi":5750
 * 
 *         """
 *         return SCIPgetNCutsApplied(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNSepaRounds(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNCutsApplied(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5750, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5741
 *         return SCIPgetNCuts(self._scip)
 * 
 *     def getNCutsApplied(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of currently applied cuts.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNCutsApplied", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5752
 *         return SCIPgetNCutsApplied(self._scip)
 * 
 *     def getNSepaRounds(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of separation rounds that have been performed
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_343getNSepaRounds(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_342getNSepaRounds, "\n        Retrieve the number of separation rounds that have been performed\n        at the current node.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_343getNSepaRounds = {"getNSepaRounds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_343getNSepaRounds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_342getNSepaRounds};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_343getNSepaRounds(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNSepaRounds (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNSepaRounds", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNSepaRounds", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_342getNSepaRounds(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_342getNSepaRounds(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNSepaRounds", 0);

  /* "src/pyscipopt/scip.pxi":5762
 * 
 *         """
 *         return SCIPgetNSepaRounds(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def separateSol(self, Solution sol = None, pretendroot = False, allowlocal = True, onlydelayed = False):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNSepaRounds(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5752
 *         return SCIPgetNCutsApplied(self._scip)
 * 
 *     def getNSepaRounds(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of separation rounds that have been performed
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNSepaRounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5764
 *         return SCIPgetNSepaRounds(self._scip)
 * 
 *     def separateSol(self, Solution sol = None, pretendroot = False, allowlocal = True, onlydelayed = False):             # <<<<<<<<<<<<<<
 *         """
 *         Separates the given primal solution or the current LP solution by calling
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_345separateSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_344separateSol, "\n        Separates the given primal solution or the current LP solution by calling\n        the separators and constraint handlers' separation methods;\n        the generated cuts are stored in the separation storage and can be accessed\n        with the methods SCIPgetCuts() and SCIPgetNCuts();\n        after evaluating the cuts, you have to call SCIPclearCuts() in order to remove the cuts from the\n        separation storage; it is possible to call SCIPseparateSol() multiple times with\n        different solutions and evaluate the found cuts afterwards.\n\n        Parameters\n        ----------\n        sol : Solution or None, optional\n            solution to separate, None to use current lp solution (Default value = None)\n        pretendroot : bool, optional\n            should the cut separators be called as if we are at the root node? (Default value = \"False\")\n        allowlocal : bool, optional\n            should the separator be asked to separate local cuts (Default value = True)\n        onlydelayed : bool, optional\n            should only separators be called that were delayed in the previous round? (Default value = False)\n\n        Returns\n        -------\n        delayed : bool\n            whether a separator was delayed\n        cutoff : bool\n            whether the node can be cut off\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_345separateSol = {"separateSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_345separateSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_344separateSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_345separateSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  PyObject *__pyx_v_pretendroot = 0;
  PyObject *__pyx_v_allowlocal = 0;
  PyObject *__pyx_v_onlydelayed = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("separateSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sol,&__pyx_mstate_global->__pyx_n_u_pretendroot,&__pyx_mstate_global->__pyx_n_u_allowlocal,&__pyx_mstate_global->__pyx_n_u_onlydelayed,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5764, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 5764, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 5764, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5764, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5764, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "separateSol", 0) < (0)) __PYX_ERR(2, 5764, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 5764, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 5764, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 5764, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5764, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
    __pyx_v_pretendroot = values[1];
    __pyx_v_allowlocal = values[2];
    __pyx_v_onlydelayed = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("separateSol", 0, 0, 4, __pyx_nargs); __PYX_ERR(2, 5764, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.separateSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(2, 5764, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_344separateSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_sol, __pyx_v_pretendroot, __pyx_v_allowlocal, __pyx_v_onlydelayed);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_344separateSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, PyObject *__pyx_v_pretendroot, PyObject *__pyx_v_allowlocal, PyObject *__pyx_v_onlydelayed) {
  SCIP_Bool __pyx_v_delayed;
  SCIP_Bool __pyx_v_cutoff;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  void *__pyx_t_4;
  int __pyx_t_5;
  SCIP_Bool __pyx_t_6;
  SCIP_Bool __pyx_t_7;
  SCIP_Bool __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("separateSol", 0);

  /* "src/pyscipopt/scip.pxi":5796
 *         cdef SCIP_Bool cutoff
 * 
 *         PY_SCIP_CALL( SCIPseparateSol(self._scip, NULL if sol is None else sol.sol, pretendroot, allowlocal, onlydelayed, &delayed, &cutoff) )             # <<<<<<<<<<<<<<
 *         return delayed, cutoff
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = (((PyObject *)__pyx_v_sol) == Py_None);
  if (__pyx_t_5) {
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_4 = __pyx_v_sol->sol;
  }
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_pretendroot); if (unlikely((__pyx_t_6 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5796, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_allowlocal); if (unlikely((__pyx_t_7 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5796, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_onlydelayed); if (unlikely((__pyx_t_8 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5796, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPseparateSol(__pyx_v_self->_scip, __pyx_t_4, __pyx_t_6, __pyx_t_7, __pyx_t_8, (&__pyx_v_delayed), (&__pyx_v_cutoff))); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 5796, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_10 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5796, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5797
 * 
 *         PY_SCIP_CALL( SCIPseparateSol(self._scip, NULL if sol is None else sol.sol, pretendroot, allowlocal, onlydelayed, &delayed, &cutoff) )
 *         return delayed, cutoff             # <<<<<<<<<<<<<<
 * 
 *     def _createConsLinear(self, ExprCons lincons, **kwargs):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_delayed); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_cutoff); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 5797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 5797, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 5797, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5764
 *         return SCIPgetNSepaRounds(self._scip)
 * 
 *     def separateSol(self, Solution sol = None, pretendroot = False, allowlocal = True, onlydelayed = False):             # <<<<<<<<<<<<<<
 *         """
 *         Separates the given primal solution or the current LP solution by calling
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.Model.separateSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5799
 *         return delayed, cutoff
 * 
 *     def _createConsLinear(self, ExprCons lincons, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         The function for creating a linear constraint, but not adding it to the Model.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_347_createConsLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_346_createConsLinear, "\n        The function for creating a linear constraint, but not adding it to the Model.\n        Please do not use this function directly, but rather use createConsFromExpr\n\n        Parameters\n        ----------\n        lincons : ExprCons\n        kwargs : dict, optional\n\n        Returns\n        -------\n        Constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_347_createConsLinear = {"_createConsLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_347_createConsLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_346_createConsLinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_347_createConsLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_lincons = 0;
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_createConsLinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_lincons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5799, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5799, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, kwd_pos_args, __pyx_kwds_len, "_createConsLinear", 1) < (0)) __PYX_ERR(2, 5799, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_createConsLinear", 1, 1, 1, i); __PYX_ERR(2, 5799, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5799, __pyx_L3_error)
    }
    __pyx_v_lincons = ((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_createConsLinear", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5799, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("pyscipopt.scip.Model._createConsLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lincons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons, 1, "lincons", 0))) __PYX_ERR(2, 5799, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_346_createConsLinear(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_lincons, __pyx_v_kwargs);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_346_createConsLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_lincons, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_v_terms = NULL;
  int __pyx_v_nvars;
  SCIP_VAR **__pyx_v_vars_array;
  SCIP_Real *__pyx_v_coeffs_array;
  SCIP_CONS *__pyx_v_scip_cons;
  SCIP_Real __pyx_v_coeff;
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  PyObject *__pyx_v_key = NULL;
  PyObject *__pyx_v_PyCons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  int __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_t_10;
  SCIP_Real __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  char *__pyx_t_16;
  SCIP_Real __pyx_t_17;
  SCIP_Bool __pyx_t_18;
  SCIP_Bool __pyx_t_19;
  SCIP_Bool __pyx_t_20;
  SCIP_Bool __pyx_t_21;
  SCIP_Bool __pyx_t_22;
  SCIP_Bool __pyx_t_23;
  SCIP_Bool __pyx_t_24;
  SCIP_Bool __pyx_t_25;
  SCIP_Bool __pyx_t_26;
  SCIP_Bool __pyx_t_27;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_createConsLinear", 0);

  /* "src/pyscipopt/scip.pxi":5814
 * 
 *         """
 *         assert isinstance(lincons, ExprCons), "given constraint is not ExprCons but %s" % lincons.__class__.__name__             # <<<<<<<<<<<<<<
 * 
 *         assert lincons.expr.degree() <= 1, "given constraint is not linear, degree == %d" % lincons.expr.degree()
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_lincons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons); 
    if (unlikely(!__pyx_t_1)) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_lincons), __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5814, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5814, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_given_constraint_is_not_ExprCons, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5814, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_2, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(2, 5814, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 5814, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":5816
 *         assert isinstance(lincons, ExprCons), "given constraint is not ExprCons but %s" % lincons.__class__.__name__
 * 
 *         assert lincons.expr.degree() <= 1, "given constraint is not linear, degree == %d" % lincons.expr.degree()             # <<<<<<<<<<<<<<
 *         terms = lincons.expr.terms
 * 
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_3 = __pyx_v_lincons->expr;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_degree, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5816, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_mstate_global->__pyx_int_1, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5816, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 5816, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) {
      __pyx_t_2 = __pyx_v_lincons->expr;
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_4 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
        __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_degree, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5816, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_given_constraint_is_not_linear_d, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5816, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_2, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(2, 5816, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 5816, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":5817
 * 
 *         assert lincons.expr.degree() <= 1, "given constraint is not linear, degree == %d" % lincons.expr.degree()
 *         terms = lincons.expr.terms             # <<<<<<<<<<<<<<
 * 
 *         cdef int nvars = len(terms.items())
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_lincons->expr, __pyx_mstate_global->__pyx_n_u_terms); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_terms = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":5819
 *         terms = lincons.expr.terms
 * 
 *         cdef int nvars = len(terms.items())             # <<<<<<<<<<<<<<
 *         cdef SCIP_VAR** vars_array = <SCIP_VAR**> malloc(nvars * sizeof(SCIP_VAR*))
 *         cdef SCIP_Real* coeffs_array = <SCIP_Real*> malloc(nvars * sizeof(SCIP_Real))
*/
  __pyx_t_3 = __pyx_v_terms;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_items, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_5 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(2, 5819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_nvars = __pyx_t_5;

  /* "src/pyscipopt/scip.pxi":5820
 * 
 *         cdef int nvars = len(terms.items())
 *         cdef SCIP_VAR** vars_array = <SCIP_VAR**> malloc(nvars * sizeof(SCIP_VAR*))             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* coeffs_array = <SCIP_Real*> malloc(nvars * sizeof(SCIP_Real))
 *         cdef SCIP_CONS* scip_cons
*/
  __pyx_v_vars_array = ((SCIP_VAR **)malloc((__pyx_v_nvars * (sizeof(SCIP_VAR *)))));

  /* "src/pyscipopt/scip.pxi":5821
 *         cdef int nvars = len(terms.items())
 *         cdef SCIP_VAR** vars_array = <SCIP_VAR**> malloc(nvars * sizeof(SCIP_VAR*))
 *         cdef SCIP_Real* coeffs_array = <SCIP_Real*> malloc(nvars * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef SCIP_CONS* scip_cons
 *         cdef SCIP_Real coeff
*/
  __pyx_v_coeffs_array = ((SCIP_Real *)malloc((__pyx_v_nvars * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/scip.pxi":5827
 *         cdef _VarArray wrapper
 * 
 *         for i, (key, coeff) in enumerate(terms.items()):             # <<<<<<<<<<<<<<
 *             wrapper = _VarArray(key[0])
 *             vars_array[i] = wrapper.ptr[0]
*/
  __pyx_t_6 = 0;
  __pyx_t_5 = 0;
  if (unlikely(__pyx_v_terms == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(2, 5827, __pyx_L1_error)
  }
  __pyx_t_3 = __Pyx_dict_iterator(__pyx_v_terms, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_7), (&__pyx_t_8)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_2);
  __pyx_t_2 = __pyx_t_3;
  __pyx_t_3 = 0;
  while (1) {
    __pyx_t_10 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_7, &__pyx_t_5, &__pyx_t_3, &__pyx_t_9, NULL, __pyx_t_8);
    if (unlikely(__pyx_t_10 == 0)) break;
    if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(2, 5827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = __Pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_11 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5827, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_3);
    __pyx_t_3 = 0;
    __pyx_v_coeff = __pyx_t_11;
    __pyx_v_i = __pyx_t_6;
    __pyx_t_6 = (__pyx_t_6 + 1);

    /* "src/pyscipopt/scip.pxi":5828
 * 
 *         for i, (key, coeff) in enumerate(terms.items()):
 *             wrapper = _VarArray(key[0])             # <<<<<<<<<<<<<<
 *             vars_array[i] = wrapper.ptr[0]
 *             coeffs_array[i] = <SCIP_Real>coeff
*/
    __pyx_t_3 = NULL;
    __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_key, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 5828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_12};
      __pyx_t_9 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 5828, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_9);
    }
    __Pyx_XDECREF_SET(__pyx_v_wrapper, ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_9));
    __pyx_t_9 = 0;

    /* "src/pyscipopt/scip.pxi":5829
 *         for i, (key, coeff) in enumerate(terms.items()):
 *             wrapper = _VarArray(key[0])
 *             vars_array[i] = wrapper.ptr[0]             # <<<<<<<<<<<<<<
 *             coeffs_array[i] = <SCIP_Real>coeff
 * 
*/
    (__pyx_v_vars_array[__pyx_v_i]) = (__pyx_v_wrapper->ptr[0]);

    /* "src/pyscipopt/scip.pxi":5830
 *             wrapper = _VarArray(key[0])
 *             vars_array[i] = wrapper.ptr[0]
 *             coeffs_array[i] = <SCIP_Real>coeff             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPcreateConsLinear(
*/
    (__pyx_v_coeffs_array[__pyx_v_i]) = ((SCIP_Real)__pyx_v_coeff);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":5832
 *             coeffs_array[i] = <SCIP_Real>coeff
 * 
 *         PY_SCIP_CALL(SCIPcreateConsLinear(             # <<<<<<<<<<<<<<
 *             self._scip, &scip_cons, str_conversion(kwargs['name']), nvars, vars_array, coeffs_array,
 *             kwargs['lhs'], kwargs['rhs'], kwargs['initial'],
*/
  __pyx_t_9 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 5832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);

  /* "src/pyscipopt/scip.pxi":5833
 * 
 *         PY_SCIP_CALL(SCIPcreateConsLinear(
 *             self._scip, &scip_cons, str_conversion(kwargs['name']), nvars, vars_array, coeffs_array,             # <<<<<<<<<<<<<<
 *             kwargs['lhs'], kwargs['rhs'], kwargs['initial'],
 *             kwargs['separate'], kwargs['enforce'], kwargs['check'],
*/
  __pyx_t_13 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_15 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 5833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_15);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_14))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
    assert(__pyx_t_13);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_14);
    __Pyx_INCREF(__pyx_t_13);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_14, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_15};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_14, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5833, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_16 = __Pyx_PyObject_AsWritableString(__pyx_t_3); if (unlikely((!__pyx_t_16) && PyErr_Occurred())) __PYX_ERR(2, 5833, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":5834
 *         PY_SCIP_CALL(SCIPcreateConsLinear(
 *             self._scip, &scip_cons, str_conversion(kwargs['name']), nvars, vars_array, coeffs_array,
 *             kwargs['lhs'], kwargs['rhs'], kwargs['initial'],             # <<<<<<<<<<<<<<
 *             kwargs['separate'], kwargs['enforce'], kwargs['check'],
 *             kwargs['propagate'], kwargs['local'], kwargs['modifiable'],
*/
  __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_lhs); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_11 = __Pyx_PyFloat_AsDouble(__pyx_t_14); if (unlikely((__pyx_t_11 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5834, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_rhs); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_17 = __Pyx_PyFloat_AsDouble(__pyx_t_14); if (unlikely((__pyx_t_17 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5834, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_initial); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5834, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely((__pyx_t_18 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5834, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

  /* "src/pyscipopt/scip.pxi":5835
 *             self._scip, &scip_cons, str_conversion(kwargs['name']), nvars, vars_array, coeffs_array,
 *             kwargs['lhs'], kwargs['rhs'], kwargs['initial'],
 *             kwargs['separate'], kwargs['enforce'], kwargs['check'],             # <<<<<<<<<<<<<<
 *             kwargs['propagate'], kwargs['local'], kwargs['modifiable'],
 *             kwargs['dynamic'], kwargs['removable'], kwargs['stickingatnode']))
*/
  __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_separate); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely((__pyx_t_19 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_enforce); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely((__pyx_t_20 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_check); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely((__pyx_t_21 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

  /* "src/pyscipopt/scip.pxi":5836
 *             kwargs['lhs'], kwargs['rhs'], kwargs['initial'],
 *             kwargs['separate'], kwargs['enforce'], kwargs['check'],
 *             kwargs['propagate'], kwargs['local'], kwargs['modifiable'],             # <<<<<<<<<<<<<<
 *             kwargs['dynamic'], kwargs['removable'], kwargs['stickingatnode']))
 * 
*/
  __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_propagate); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely((__pyx_t_22 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_local); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_23 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely((__pyx_t_23 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_modifiable); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5836, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_24 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely((__pyx_t_24 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5836, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

  /* "src/pyscipopt/scip.pxi":5837
 *             kwargs['separate'], kwargs['enforce'], kwargs['check'],
 *             kwargs['propagate'], kwargs['local'], kwargs['modifiable'],
 *             kwargs['dynamic'], kwargs['removable'], kwargs['stickingatnode']))             # <<<<<<<<<<<<<<
 * 
 *         PyCons = Constraint.create(scip_cons)
*/
  __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_dynamic); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_25 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely((__pyx_t_25 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_removable); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_26 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely((__pyx_t_26 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_stickingatnode); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_27 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely((__pyx_t_27 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5837, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

  /* "src/pyscipopt/scip.pxi":5832
 *             coeffs_array[i] = <SCIP_Real>coeff
 * 
 *         PY_SCIP_CALL(SCIPcreateConsLinear(             # <<<<<<<<<<<<<<
 *             self._scip, &scip_cons, str_conversion(kwargs['name']), nvars, vars_array, coeffs_array,
 *             kwargs['lhs'], kwargs['rhs'], kwargs['initial'],
*/
  __pyx_t_14 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateConsLinear(__pyx_v_self->_scip, (&__pyx_v_scip_cons), __pyx_t_16, __pyx_v_nvars, __pyx_v_vars_array, __pyx_v_coeffs_array, __pyx_t_11, __pyx_t_17, __pyx_t_18, __pyx_t_19, __pyx_t_20, __pyx_t_21, __pyx_t_22, __pyx_t_23, __pyx_t_24, __pyx_t_25, __pyx_t_26, __pyx_t_27)); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 5832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_12))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_12);
    assert(__pyx_t_9);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_12);
    __Pyx_INCREF(__pyx_t_9);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_12, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_14};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_12, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5832, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":5839
 *             kwargs['dynamic'], kwargs['removable'], kwargs['stickingatnode']))
 * 
 *         PyCons = Constraint.create(scip_cons)             # <<<<<<<<<<<<<<
 * 
 *         free(vars_array)
*/
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip_10Constraint_create(__pyx_v_scip_cons); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_PyCons = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":5841
 *         PyCons = Constraint.create(scip_cons)
 * 
 *         free(vars_array)             # <<<<<<<<<<<<<<
 *         free(coeffs_array)
 * 
*/
  free(__pyx_v_vars_array);

  /* "src/pyscipopt/scip.pxi":5842
 * 
 *         free(vars_array)
 *         free(coeffs_array)             # <<<<<<<<<<<<<<
 * 
 *         return PyCons
*/
  free(__pyx_v_coeffs_array);

  /* "src/pyscipopt/scip.pxi":5844
 *         free(coeffs_array)
 * 
 *         return PyCons             # <<<<<<<<<<<<<<
 * 
 *     def _createConsQuadratic(self, ExprCons quadcons, **kwargs):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_PyCons);
  __pyx_r = __pyx_v_PyCons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5799
 *         return delayed, cutoff
 * 
 *     def _createConsLinear(self, ExprCons lincons, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         The function for creating a linear constraint, but not adding it to the Model.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_AddTraceback("pyscipopt.scip.Model._createConsLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_terms);
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XDECREF(__pyx_v_PyCons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5846
 *         return PyCons
 * 
 *     def _createConsQuadratic(self, ExprCons quadcons, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         The function for creating a quadratic constraint, but not adding it to the Model.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_349_createConsQuadratic(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_348_createConsQuadratic, "\n        The function for creating a quadratic constraint, but not adding it to the Model.\n        Please do not use this function directly, but rather use createConsFromExpr\n\n        Parameters\n        ----------\n        quadcons : ExprCons\n        kwargs : dict, optional\n\n        Returns\n        -------\n        Constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_349_createConsQuadratic = {"_createConsQuadratic", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_349_createConsQuadratic, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_348_createConsQuadratic};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_349_createConsQuadratic(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_quadcons = 0;
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_createConsQuadratic (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_quadcons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5846, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5846, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, kwd_pos_args, __pyx_kwds_len, "_createConsQuadratic", 1) < (0)) __PYX_ERR(2, 5846, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_createConsQuadratic", 1, 1, 1, i); __PYX_ERR(2, 5846, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5846, __pyx_L3_error)
    }
    __pyx_v_quadcons = ((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_createConsQuadratic", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5846, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("pyscipopt.scip.Model._createConsQuadratic", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_quadcons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons, 1, "quadcons", 0))) __PYX_ERR(2, 5846, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_348_createConsQuadratic(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_quadcons, __pyx_v_kwargs);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_348_createConsQuadratic(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_quadcons, PyObject *__pyx_v_kwargs) {
  PyObject *__pyx_v_terms = NULL;
  SCIP_CONS *__pyx_v_scip_cons;
  SCIP_EXPR *__pyx_v_prodexpr;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  PyObject *__pyx_v_v = NULL;
  PyObject *__pyx_v_c = NULL;
  SCIP_EXPR **__pyx_v_varexprs;
  PyObject *__pyx_v_PyCons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  char const *__pyx_t_10;
  SCIP_Real __pyx_t_11;
  SCIP_Real __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  SCIP_Bool __pyx_t_17;
  SCIP_Bool __pyx_t_18;
  SCIP_Bool __pyx_t_19;
  SCIP_Bool __pyx_t_20;
  SCIP_Bool __pyx_t_21;
  Py_ssize_t __pyx_t_22;
  Py_ssize_t __pyx_t_23;
  int __pyx_t_24;
  int __pyx_t_25;
  Py_ssize_t __pyx_t_26;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_createConsQuadratic", 0);

  /* "src/pyscipopt/scip.pxi":5861
 * 
 *         """
 *         terms = quadcons.expr.terms             # <<<<<<<<<<<<<<
 *         assert quadcons.expr.degree() <= 2, "given constraint is not quadratic, degree == %d" % quadcons.expr.degree()
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_quadcons->expr, __pyx_mstate_global->__pyx_n_u_terms); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_terms = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5862
 *         """
 *         terms = quadcons.expr.terms
 *         assert quadcons.expr.degree() <= 2, "given constraint is not quadratic, degree == %d" % quadcons.expr.degree()             # <<<<<<<<<<<<<<
 * 
 *         cdef SCIP_CONS* scip_cons
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_2 = __pyx_v_quadcons->expr;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_degree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5862, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_mstate_global->__pyx_int_2, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5862, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 5862, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) {
      __pyx_t_1 = __pyx_v_quadcons->expr;
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_degree, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5862, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_1 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_given_constraint_is_not_quadrati, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5862, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_1, 0, 0);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __PYX_ERR(2, 5862, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 5862, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":5867
 *         cdef SCIP_EXPR* prodexpr
 *         cdef _VarArray wrapper
 *         PY_SCIP_CALL(SCIPcreateConsQuadraticNonlinear(             # <<<<<<<<<<<<<<
 *             self._scip, &scip_cons, str_conversion(kwargs['name']),
 *             0, NULL, NULL,        # linear
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);

  /* "src/pyscipopt/scip.pxi":5868
 *         cdef _VarArray wrapper
 *         PY_SCIP_CALL(SCIPcreateConsQuadraticNonlinear(
 *             self._scip, &scip_cons, str_conversion(kwargs['name']),             # <<<<<<<<<<<<<<
 *             0, NULL, NULL,        # linear
 *             0, NULL, NULL, NULL,  # quadratc
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 5868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_9};
    __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5868, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_10 = __Pyx_PyObject_AsString(__pyx_t_6); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) __PYX_ERR(2, 5868, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":5871
 *             0, NULL, NULL,        # linear
 *             0, NULL, NULL, NULL,  # quadratc
 *             kwargs['lhs'], kwargs['rhs'],             # <<<<<<<<<<<<<<
 *             kwargs['initial'], kwargs['separate'], kwargs['enforce'],
 *             kwargs['check'], kwargs['propagate'], kwargs['local'],
*/
  __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_lhs); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_11 = __Pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_11 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5871, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_rhs); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_12 = __Pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_12 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5871, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "src/pyscipopt/scip.pxi":5872
 *             0, NULL, NULL, NULL,  # quadratc
 *             kwargs['lhs'], kwargs['rhs'],
 *             kwargs['initial'], kwargs['separate'], kwargs['enforce'],             # <<<<<<<<<<<<<<
 *             kwargs['check'], kwargs['propagate'], kwargs['local'],
 *             kwargs['modifiable'], kwargs['dynamic'], kwargs['removable']))
*/
  __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_initial); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5872, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_separate); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5872, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_enforce); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5872, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "src/pyscipopt/scip.pxi":5873
 *             kwargs['lhs'], kwargs['rhs'],
 *             kwargs['initial'], kwargs['separate'], kwargs['enforce'],
 *             kwargs['check'], kwargs['propagate'], kwargs['local'],             # <<<<<<<<<<<<<<
 *             kwargs['modifiable'], kwargs['dynamic'], kwargs['removable']))
 * 
*/
  __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_check); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_propagate); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_17 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_local); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_18 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "src/pyscipopt/scip.pxi":5874
 *             kwargs['initial'], kwargs['separate'], kwargs['enforce'],
 *             kwargs['check'], kwargs['propagate'], kwargs['local'],
 *             kwargs['modifiable'], kwargs['dynamic'], kwargs['removable']))             # <<<<<<<<<<<<<<
 * 
 *         for v, c in terms.items():
*/
  __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_modifiable); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_19 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5874, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_dynamic); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_20 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5874, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_removable); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5874, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_21 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5874, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "src/pyscipopt/scip.pxi":5867
 *         cdef SCIP_EXPR* prodexpr
 *         cdef _VarArray wrapper
 *         PY_SCIP_CALL(SCIPcreateConsQuadraticNonlinear(             # <<<<<<<<<<<<<<
 *             self._scip, &scip_cons, str_conversion(kwargs['name']),
 *             0, NULL, NULL,        # linear
*/
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateConsQuadraticNonlinear(__pyx_v_self->_scip, (&__pyx_v_scip_cons), __pyx_t_10, 0, NULL, NULL, 0, NULL, NULL, NULL, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_t_19, __pyx_t_20, __pyx_t_21)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5876
 *             kwargs['modifiable'], kwargs['dynamic'], kwargs['removable']))
 * 
 *         for v, c in terms.items():             # <<<<<<<<<<<<<<
 *             if len(v) == 1: # linear
 *                 wrapper = _VarArray(v[0])
*/
  __pyx_t_22 = 0;
  if (unlikely(__pyx_v_terms == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(2, 5876, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_terms, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_23), (&__pyx_t_24)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_25 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_23, &__pyx_t_22, &__pyx_t_5, &__pyx_t_8, NULL, __pyx_t_24);
    if (unlikely(__pyx_t_25 == 0)) break;
    if (unlikely(__pyx_t_25 == -1)) __PYX_ERR(2, 5876, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_8);
    __pyx_t_8 = 0;

    /* "src/pyscipopt/scip.pxi":5877
 * 
 *         for v, c in terms.items():
 *             if len(v) == 1: # linear             # <<<<<<<<<<<<<<
 *                 wrapper = _VarArray(v[0])
 *                 PY_SCIP_CALL(SCIPaddLinearVarNonlinear(self._scip, scip_cons, wrapper.ptr[0], c))
*/
    __pyx_t_26 = PyObject_Length(__pyx_v_v); if (unlikely(__pyx_t_26 == ((Py_ssize_t)-1))) __PYX_ERR(2, 5877, __pyx_L1_error)
    __pyx_t_4 = (__pyx_t_26 == 1);
    if (__pyx_t_4) {

      /* "src/pyscipopt/scip.pxi":5878
 *         for v, c in terms.items():
 *             if len(v) == 1: # linear
 *                 wrapper = _VarArray(v[0])             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPaddLinearVarNonlinear(self._scip, scip_cons, wrapper.ptr[0], c))
 *             else: # nonlinear
*/
      __pyx_t_5 = NULL;
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_v, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5878, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_2};
        __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5878, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_8);
      }
      __Pyx_XDECREF_SET(__pyx_v_wrapper, ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_8));
      __pyx_t_8 = 0;

      /* "src/pyscipopt/scip.pxi":5879
 *             if len(v) == 1: # linear
 *                 wrapper = _VarArray(v[0])
 *                 PY_SCIP_CALL(SCIPaddLinearVarNonlinear(self._scip, scip_cons, wrapper.ptr[0], c))             # <<<<<<<<<<<<<<
 *             else: # nonlinear
 *                 assert len(v) == 2, 'term length must be 1 or 2 but it is %s' % len(v)
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5879, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_12 = __Pyx_PyFloat_AsDouble(__pyx_v_c); if (unlikely((__pyx_t_12 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5879, __pyx_L1_error)
      __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddLinearVarNonlinear(__pyx_v_self->_scip, __pyx_v_scip_cons, (__pyx_v_wrapper->ptr[0]), __pyx_t_12)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5879, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_3 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
        __pyx_t_3 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5879, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "src/pyscipopt/scip.pxi":5877
 * 
 *         for v, c in terms.items():
 *             if len(v) == 1: # linear             # <<<<<<<<<<<<<<
 *                 wrapper = _VarArray(v[0])
 *                 PY_SCIP_CALL(SCIPaddLinearVarNonlinear(self._scip, scip_cons, wrapper.ptr[0], c))
*/
      goto __pyx_L5;
    }

    /* "src/pyscipopt/scip.pxi":5881
 *                 PY_SCIP_CALL(SCIPaddLinearVarNonlinear(self._scip, scip_cons, wrapper.ptr[0], c))
 *             else: # nonlinear
 *                 assert len(v) == 2, 'term length must be 1 or 2 but it is %s' % len(v)             # <<<<<<<<<<<<<<
 * 
 *                 varexprs = <SCIP_EXPR**> malloc(2 * sizeof(SCIP_EXPR*))
*/
    /*else*/ {
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {
        __pyx_t_26 = PyObject_Length(__pyx_v_v); if (unlikely(__pyx_t_26 == ((Py_ssize_t)-1))) __PYX_ERR(2, 5881, __pyx_L1_error)
        __pyx_t_4 = (__pyx_t_26 == 2);
        if (unlikely(!__pyx_t_4)) {
          __pyx_t_26 = PyObject_Length(__pyx_v_v); if (unlikely(__pyx_t_26 == ((Py_ssize_t)-1))) __PYX_ERR(2, 5881, __pyx_L1_error)
          __pyx_t_8 = PyLong_FromSsize_t(__pyx_t_26); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5881, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_5 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_term_length_must_be_1_or_2_but_i, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5881, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
          __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_5, 0, 0);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __PYX_ERR(2, 5881, __pyx_L1_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(2, 5881, __pyx_L1_error)
      #endif

      /* "src/pyscipopt/scip.pxi":5883
 *                 assert len(v) == 2, 'term length must be 1 or 2 but it is %s' % len(v)
 * 
 *                 varexprs = <SCIP_EXPR**> malloc(2 * sizeof(SCIP_EXPR*))             # <<<<<<<<<<<<<<
 *                 wrapper = _VarArray(v[0])
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &varexprs[0], wrapper.ptr[0], NULL, NULL) )
*/
      __pyx_v_varexprs = ((SCIP_EXPR **)malloc((2 * (sizeof(SCIP_EXPR *)))));

      /* "src/pyscipopt/scip.pxi":5884
 * 
 *                 varexprs = <SCIP_EXPR**> malloc(2 * sizeof(SCIP_EXPR*))
 *                 wrapper = _VarArray(v[0])             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &varexprs[0], wrapper.ptr[0], NULL, NULL) )
 *                 wrapper = _VarArray(v[1])
*/
      __pyx_t_8 = NULL;
      __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_v, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5884, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_3 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_6};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5884, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      __Pyx_XDECREF_SET(__pyx_v_wrapper, ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_5));
      __pyx_t_5 = 0;

      /* "src/pyscipopt/scip.pxi":5885
 *                 varexprs = <SCIP_EXPR**> malloc(2 * sizeof(SCIP_EXPR*))
 *                 wrapper = _VarArray(v[0])
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &varexprs[0], wrapper.ptr[0], NULL, NULL) )             # <<<<<<<<<<<<<<
 *                 wrapper = _VarArray(v[1])
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &varexprs[1], wrapper.ptr[0], NULL, NULL) )
*/
      __pyx_t_6 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5885, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprVar(__pyx_v_self->_scip, (&(__pyx_v_varexprs[0])), (__pyx_v_wrapper->ptr[0]), NULL, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5885, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_8))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8);
        assert(__pyx_t_6);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
        __pyx_t_3 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_2};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5885, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "src/pyscipopt/scip.pxi":5886
 *                 wrapper = _VarArray(v[0])
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &varexprs[0], wrapper.ptr[0], NULL, NULL) )
 *                 wrapper = _VarArray(v[1])             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &varexprs[1], wrapper.ptr[0], NULL, NULL) )
 *                 PY_SCIP_CALL( SCIPcreateExprProduct(self._scip, &prodexpr, 2, varexprs, 1.0, NULL, NULL) )
*/
      __pyx_t_8 = NULL;
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_v, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5886, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5886, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_5);
      }
      __Pyx_DECREF_SET(__pyx_v_wrapper, ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_5));
      __pyx_t_5 = 0;

      /* "src/pyscipopt/scip.pxi":5887
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &varexprs[0], wrapper.ptr[0], NULL, NULL) )
 *                 wrapper = _VarArray(v[1])
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &varexprs[1], wrapper.ptr[0], NULL, NULL) )             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprProduct(self._scip, &prodexpr, 2, varexprs, 1.0, NULL, NULL) )
 * 
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5887, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprVar(__pyx_v_self->_scip, (&(__pyx_v_varexprs[1])), (__pyx_v_wrapper->ptr[0]), NULL, NULL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5887, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_3 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_8))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
        __pyx_t_3 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5887, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "src/pyscipopt/scip.pxi":5888
 *                 wrapper = _VarArray(v[1])
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &varexprs[1], wrapper.ptr[0], NULL, NULL) )
 *                 PY_SCIP_CALL( SCIPcreateExprProduct(self._scip, &prodexpr, 2, varexprs, 1.0, NULL, NULL) )             # <<<<<<<<<<<<<<
 * 
 *                 PY_SCIP_CALL( SCIPaddExprNonlinear(self._scip, scip_cons, prodexpr, c) )
*/
      __pyx_t_8 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5888, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprProduct(__pyx_v_self->_scip, (&__pyx_v_prodexpr), 2, __pyx_v_varexprs, 1.0, NULL, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5888, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_8);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_3 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5888, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "src/pyscipopt/scip.pxi":5890
 *                 PY_SCIP_CALL( SCIPcreateExprProduct(self._scip, &prodexpr, 2, varexprs, 1.0, NULL, NULL) )
 * 
 *                 PY_SCIP_CALL( SCIPaddExprNonlinear(self._scip, scip_cons, prodexpr, c) )             # <<<<<<<<<<<<<<
 * 
 *                 PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &prodexpr) )
*/
      __pyx_t_6 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5890, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_12 = __Pyx_PyFloat_AsDouble(__pyx_v_c); if (unlikely((__pyx_t_12 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5890, __pyx_L1_error)
      __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddExprNonlinear(__pyx_v_self->_scip, __pyx_v_scip_cons, __pyx_v_prodexpr, __pyx_t_12)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5890, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_3 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
        assert(__pyx_t_6);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
        __pyx_t_3 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5890, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "src/pyscipopt/scip.pxi":5892
 *                 PY_SCIP_CALL( SCIPaddExprNonlinear(self._scip, scip_cons, prodexpr, c) )
 * 
 *                 PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &prodexpr) )             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &varexprs[1]) )
 *                 PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &varexprs[0]) )
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5892, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseExpr(__pyx_v_self->_scip, (&__pyx_v_prodexpr))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5892, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_3 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_8))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
        __pyx_t_3 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5892, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "src/pyscipopt/scip.pxi":5893
 * 
 *                 PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &prodexpr) )
 *                 PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &varexprs[1]) )             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &varexprs[0]) )
 *                 free(varexprs)
*/
      __pyx_t_8 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5893, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseExpr(__pyx_v_self->_scip, (&(__pyx_v_varexprs[1])))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5893, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_8);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_3 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5893, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "src/pyscipopt/scip.pxi":5894
 *                 PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &prodexpr) )
 *                 PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &varexprs[1]) )
 *                 PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &varexprs[0]) )             # <<<<<<<<<<<<<<
 *                 free(varexprs)
 * 
*/
      __pyx_t_6 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5894, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseExpr(__pyx_v_self->_scip, (&(__pyx_v_varexprs[0])))); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5894, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_3 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
        assert(__pyx_t_6);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
        __pyx_t_3 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_8};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5894, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

      /* "src/pyscipopt/scip.pxi":5895
 *                 PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &varexprs[1]) )
 *                 PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &varexprs[0]) )
 *                 free(varexprs)             # <<<<<<<<<<<<<<
 * 
 *         PyCons = Constraint.create(scip_cons)
*/
      free(__pyx_v_varexprs);
    }
    __pyx_L5:;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5897
 *                 free(varexprs)
 * 
 *         PyCons = Constraint.create(scip_cons)             # <<<<<<<<<<<<<<
 * 
 *         return PyCons
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_10Constraint_create(__pyx_v_scip_cons); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5897, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyCons = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5899
 *         PyCons = Constraint.create(scip_cons)
 * 
 *         return PyCons             # <<<<<<<<<<<<<<
 * 
 *     def _createConsNonlinear(self, cons, **kwargs):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_PyCons);
  __pyx_r = __pyx_v_PyCons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5846
 *         return PyCons
 * 
 *     def _createConsQuadratic(self, ExprCons quadcons, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         The function for creating a quadratic constraint, but not adding it to the Model.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.Model._createConsQuadratic", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_terms);
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_XDECREF(__pyx_v_c);
  __Pyx_XDECREF(__pyx_v_PyCons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5901
 *         return PyCons
 * 
 *     def _createConsNonlinear(self, cons, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         The function for creating a non-linear constraint, but not adding it to the Model.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_351_createConsNonlinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_350_createConsNonlinear, "\n        The function for creating a non-linear constraint, but not adding it to the Model.\n        Please do not use this function directly, but rather use createConsFromExpr\n\n        Parameters\n        ----------\n        cons : ExprCons\n        kwargs : dict, optional\n\n        Returns\n        -------\n        Constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_351_createConsNonlinear = {"_createConsNonlinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_351_createConsNonlinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_350_createConsNonlinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_351_createConsNonlinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_cons = 0;
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_createConsNonlinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5901, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5901, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, kwd_pos_args, __pyx_kwds_len, "_createConsNonlinear", 1) < (0)) __PYX_ERR(2, 5901, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_createConsNonlinear", 1, 1, 1, i); __PYX_ERR(2, 5901, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5901, __pyx_L3_error)
    }
    __pyx_v_cons = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_createConsNonlinear", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5901, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("pyscipopt.scip.Model._createConsNonlinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_350_createConsNonlinear(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_kwargs);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_350_createConsNonlinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_kwargs) {
  SCIP_EXPR *__pyx_v_expr;
  SCIP_EXPR **__pyx_v_monomials;
  SCIP_CONS *__pyx_v_scip_cons;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  int __pyx_v_i;
  PyObject *__pyx_v_terms = NULL;
  PyObject *__pyx_v_variables = NULL;
  SCIP_Real *__pyx_v_termcoefs;
  CYTHON_UNUSED PyObject *__pyx_v_term = NULL;
  PyObject *__pyx_v_coef = NULL;
  PyObject *__pyx_v_PyCons = NULL;
  int __pyx_9genexpr45__pyx_v_i;
  PyObject *__pyx_9genexpr45__pyx_v_term = NULL;
  PyObject *__pyx_9genexpr46__pyx_v_var = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  Py_ssize_t __pyx_t_4;
  PyObject *(*__pyx_t_5)(PyObject *);
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  Py_ssize_t __pyx_t_9;
  PyObject *(*__pyx_t_10)(PyObject *);
  PyObject *__pyx_t_11 = NULL;
  int __pyx_t_12;
  int __pyx_t_13;
  size_t __pyx_t_14;
  SCIP_Real __pyx_t_15;
  PyObject *__pyx_t_16 = NULL;
  char const *__pyx_t_17;
  SCIP_Real __pyx_t_18;
  SCIP_Bool __pyx_t_19;
  SCIP_Bool __pyx_t_20;
  SCIP_Bool __pyx_t_21;
  SCIP_Bool __pyx_t_22;
  SCIP_Bool __pyx_t_23;
  SCIP_Bool __pyx_t_24;
  SCIP_Bool __pyx_t_25;
  SCIP_Bool __pyx_t_26;
  SCIP_Bool __pyx_t_27;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_createConsNonlinear", 0);

  /* "src/pyscipopt/scip.pxi":5925
 *         cdef int j
 * 
 *         terms = cons.expr.terms             # <<<<<<<<<<<<<<
 * 
 *         # collect variables
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_expr); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_terms); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5925, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_terms = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":5928
 * 
 *         # collect variables
 *         variables = {i: [var for var in term] for i, term in enumerate(terms)}             # <<<<<<<<<<<<<<
 * 
 *         # create monomials for terms
*/
  { /* enter inner scope */
    __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5928, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = 0;
    if (likely(PyList_CheckExact(__pyx_v_terms)) || PyTuple_CheckExact(__pyx_v_terms)) {
      __pyx_t_1 = __pyx_v_terms; __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = 0;
      __pyx_t_5 = NULL;
    } else {
      __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_terms); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5928, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_5 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5928, __pyx_L5_error)
    }
    for (;;) {
      if (likely(!__pyx_t_5)) {
        if (likely(PyList_CheckExact(__pyx_t_1))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 5928, __pyx_L5_error)
            #endif
            if (__pyx_t_4 >= __pyx_temp) break;
          }
          __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_4, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_4;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 5928, __pyx_L5_error)
            #endif
            if (__pyx_t_4 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4));
          #else
          __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_4);
          #endif
          ++__pyx_t_4;
        }
        if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5928, __pyx_L5_error)
      } else {
        __pyx_t_6 = __pyx_t_5(__pyx_t_1);
        if (unlikely(!__pyx_t_6)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 5928, __pyx_L5_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_6);
      __Pyx_XDECREF_SET(__pyx_9genexpr45__pyx_v_term, __pyx_t_6);
      __pyx_t_6 = 0;
      __pyx_9genexpr45__pyx_v_i = __pyx_t_3;
      __pyx_t_3 = (__pyx_t_3 + 1);
      __pyx_t_6 = __Pyx_PyLong_From_int(__pyx_9genexpr45__pyx_v_i); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5928, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_6);
      { /* enter inner scope */
        __pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 5928, __pyx_L10_error)
        __Pyx_GOTREF(__pyx_t_7);
        if (likely(PyList_CheckExact(__pyx_9genexpr45__pyx_v_term)) || PyTuple_CheckExact(__pyx_9genexpr45__pyx_v_term)) {
          __pyx_t_8 = __pyx_9genexpr45__pyx_v_term; __Pyx_INCREF(__pyx_t_8);
          __pyx_t_9 = 0;
          __pyx_t_10 = NULL;
        } else {
          __pyx_t_9 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_9genexpr45__pyx_v_term); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5928, __pyx_L10_error)
          __Pyx_GOTREF(__pyx_t_8);
          __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 5928, __pyx_L10_error)
        }
        for (;;) {
          if (likely(!__pyx_t_10)) {
            if (likely(PyList_CheckExact(__pyx_t_8))) {
              {
                Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_8);
                #if !CYTHON_ASSUME_SAFE_SIZE
                if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 5928, __pyx_L10_error)
                #endif
                if (__pyx_t_9 >= __pyx_temp) break;
              }
              __pyx_t_11 = __Pyx_PyList_GetItemRefFast(__pyx_t_8, __pyx_t_9, __Pyx_ReferenceSharing_OwnStrongReference);
              ++__pyx_t_9;
            } else {
              {
                Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_8);
                #if !CYTHON_ASSUME_SAFE_SIZE
                if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 5928, __pyx_L10_error)
                #endif
                if (__pyx_t_9 >= __pyx_temp) break;
              }
              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
              __pyx_t_11 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_9));
              #else
              __pyx_t_11 = __Pyx_PySequence_ITEM(__pyx_t_8, __pyx_t_9);
              #endif
              ++__pyx_t_9;
            }
            if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5928, __pyx_L10_error)
          } else {
            __pyx_t_11 = __pyx_t_10(__pyx_t_8);
            if (unlikely(!__pyx_t_11)) {
              PyObject* exc_type = PyErr_Occurred();
              if (exc_type) {
                if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 5928, __pyx_L10_error)
                PyErr_Clear();
              }
              break;
            }
          }
          __Pyx_GOTREF(__pyx_t_11);
          __Pyx_XDECREF_SET(__pyx_9genexpr46__pyx_v_var, __pyx_t_11);
          __pyx_t_11 = 0;
          if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_9genexpr46__pyx_v_var))) __PYX_ERR(2, 5928, __pyx_L10_error)
        }
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_9genexpr46__pyx_v_var); __pyx_9genexpr46__pyx_v_var = 0;
        goto __pyx_L14_exit_scope;
        __pyx_L10_error:;
        __Pyx_XDECREF(__pyx_9genexpr46__pyx_v_var); __pyx_9genexpr46__pyx_v_var = 0;
        goto __pyx_L5_error;
        __pyx_L14_exit_scope:;
      } /* exit inner scope */
      if (unlikely(PyDict_SetItem(__pyx_t_2, (PyObject*)__pyx_t_6, (PyObject*)__pyx_t_7))) __PYX_ERR(2, 5928, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_9genexpr45__pyx_v_term); __pyx_9genexpr45__pyx_v_term = 0;
    goto __pyx_L16_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr45__pyx_v_term); __pyx_9genexpr45__pyx_v_term = 0;
    goto __pyx_L1_error;
    __pyx_L16_exit_scope:;
  } /* exit inner scope */
  __pyx_v_variables = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":5931
 * 
 *         # create monomials for terms
 *         monomials = <SCIP_EXPR**> malloc(len(terms) * sizeof(SCIP_EXPR*))             # <<<<<<<<<<<<<<
 *         termcoefs = <SCIP_Real*> malloc(len(terms) * sizeof(SCIP_Real))
 *         for i, (term, coef) in enumerate(terms.items()):
*/
  __pyx_t_4 = PyObject_Length(__pyx_v_terms); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 5931, __pyx_L1_error)
  __pyx_v_monomials = ((SCIP_EXPR **)malloc((__pyx_t_4 * (sizeof(SCIP_EXPR *)))));

  /* "src/pyscipopt/scip.pxi":5932
 *         # create monomials for terms
 *         monomials = <SCIP_EXPR**> malloc(len(terms) * sizeof(SCIP_EXPR*))
 *         termcoefs = <SCIP_Real*> malloc(len(terms) * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         for i, (term, coef) in enumerate(terms.items()):
 *             wrapper = _VarArray(variables[i])
*/
  __pyx_t_4 = PyObject_Length(__pyx_v_terms); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 5932, __pyx_L1_error)
  __pyx_v_termcoefs = ((SCIP_Real *)malloc((__pyx_t_4 * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/scip.pxi":5933
 *         monomials = <SCIP_EXPR**> malloc(len(terms) * sizeof(SCIP_EXPR*))
 *         termcoefs = <SCIP_Real*> malloc(len(terms) * sizeof(SCIP_Real))
 *         for i, (term, coef) in enumerate(terms.items()):             # <<<<<<<<<<<<<<
 *             wrapper = _VarArray(variables[i])
 * 
*/
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  if (unlikely(__pyx_v_terms == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(2, 5933, __pyx_L1_error)
  }
  __pyx_t_1 = __Pyx_dict_iterator(__pyx_v_terms, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_9), (&__pyx_t_12)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5933, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __pyx_t_2 = __pyx_t_1;
  __pyx_t_1 = 0;
  while (1) {
    __pyx_t_13 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_9, &__pyx_t_4, &__pyx_t_1, &__pyx_t_7, NULL, __pyx_t_12);
    if (unlikely(__pyx_t_13 == 0)) break;
    if (unlikely(__pyx_t_13 == -1)) __PYX_ERR(2, 5933, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_XDECREF_SET(__pyx_v_term, __pyx_t_1);
    __pyx_t_1 = 0;
    __Pyx_XDECREF_SET(__pyx_v_coef, __pyx_t_7);
    __pyx_t_7 = 0;
    __pyx_v_i = __pyx_t_3;
    __pyx_t_3 = (__pyx_t_3 + 1);

    /* "src/pyscipopt/scip.pxi":5934
 *         termcoefs = <SCIP_Real*> malloc(len(terms) * sizeof(SCIP_Real))
 *         for i, (term, coef) in enumerate(terms.items()):
 *             wrapper = _VarArray(variables[i])             # <<<<<<<<<<<<<<
 * 
 *             PY_SCIP_CALL( SCIPcreateExprMonomial(self._scip, &monomials[i], wrapper.size, wrapper.ptr, NULL, NULL, NULL) )
*/
    __pyx_t_1 = NULL;
    __pyx_t_6 = __Pyx_PyLong_From_int(__pyx_v_i); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_variables, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 5934, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_14 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_8};
      __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_14, (2-__pyx_t_14) | (__pyx_t_14*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 5934, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_7);
    }
    __Pyx_XDECREF_SET(__pyx_v_wrapper, ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_7));
    __pyx_t_7 = 0;

    /* "src/pyscipopt/scip.pxi":5936
 *             wrapper = _VarArray(variables[i])
 * 
 *             PY_SCIP_CALL( SCIPcreateExprMonomial(self._scip, &monomials[i], wrapper.size, wrapper.ptr, NULL, NULL, NULL) )             # <<<<<<<<<<<<<<
 *             termcoefs[i] = <SCIP_Real>coef
 * 
*/
    __pyx_t_8 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprMonomial(__pyx_v_self->_scip, (&(__pyx_v_monomials[__pyx_v_i])), __pyx_v_wrapper->size, __pyx_v_wrapper->ptr, NULL, NULL, NULL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5936, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_14 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_8);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_14 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_6};
      __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_14, (2-__pyx_t_14) | (__pyx_t_14*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 5936, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
    }
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

    /* "src/pyscipopt/scip.pxi":5937
 * 
 *             PY_SCIP_CALL( SCIPcreateExprMonomial(self._scip, &monomials[i], wrapper.size, wrapper.ptr, NULL, NULL, NULL) )
 *             termcoefs[i] = <SCIP_Real>coef             # <<<<<<<<<<<<<<
 * 
 *         # create polynomial from monomials
*/
    __pyx_t_15 = __Pyx_PyFloat_AsDouble(__pyx_v_coef); if (unlikely((__pyx_t_15 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5937, __pyx_L1_error)
    (__pyx_v_termcoefs[__pyx_v_i]) = ((SCIP_Real)__pyx_t_15);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":5940
 * 
 *         # create polynomial from monomials
 *         PY_SCIP_CALL( SCIPcreateExprSum(self._scip, &expr, <int>len(terms), monomials, termcoefs, 0.0, NULL, NULL))             # <<<<<<<<<<<<<<
 * 
 *         # create nonlinear constraint for expr
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_9 = PyObject_Length(__pyx_v_terms); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(2, 5940, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprSum(__pyx_v_self->_scip, (&__pyx_v_expr), ((int)__pyx_t_9), __pyx_v_monomials, __pyx_v_termcoefs, 0.0, NULL, NULL)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5940, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_14 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_14 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_14, (2-__pyx_t_14) | (__pyx_t_14*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5940, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":5943
 * 
 *         # create nonlinear constraint for expr
 *         PY_SCIP_CALL( SCIPcreateConsNonlinear(             # <<<<<<<<<<<<<<
 *             self._scip,
 *             &scip_cons,
*/
  __pyx_t_1 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);

  /* "src/pyscipopt/scip.pxi":5946
 *             self._scip,
 *             &scip_cons,
 *             str_conversion(kwargs['name']),             # <<<<<<<<<<<<<<
 *             expr,
 *             kwargs['lhs'],
*/
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_16 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 5946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_16);
  __pyx_t_14 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_11))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_11);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
    __pyx_t_14 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_16};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_14, (2-__pyx_t_14) | (__pyx_t_14*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 5946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_17 = __Pyx_PyObject_AsString(__pyx_t_7); if (unlikely((!__pyx_t_17) && PyErr_Occurred())) __PYX_ERR(2, 5946, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":5948
 *             str_conversion(kwargs['name']),
 *             expr,
 *             kwargs['lhs'],             # <<<<<<<<<<<<<<
 *             kwargs['rhs'],
 *             kwargs['initial'],
*/
  __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_lhs); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_15 = __Pyx_PyFloat_AsDouble(__pyx_t_11); if (unlikely((__pyx_t_15 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5948, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5949
 *             expr,
 *             kwargs['lhs'],
 *             kwargs['rhs'],             # <<<<<<<<<<<<<<
 *             kwargs['initial'],
 *             kwargs['separate'],
*/
  __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_rhs); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_18 = __Pyx_PyFloat_AsDouble(__pyx_t_11); if (unlikely((__pyx_t_18 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5949, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5950
 *             kwargs['lhs'],
 *             kwargs['rhs'],
 *             kwargs['initial'],             # <<<<<<<<<<<<<<
 *             kwargs['separate'],
 *             kwargs['enforce'],
*/
  __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_initial); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_19 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5950, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5951
 *             kwargs['rhs'],
 *             kwargs['initial'],
 *             kwargs['separate'],             # <<<<<<<<<<<<<<
 *             kwargs['enforce'],
 *             kwargs['check'],
*/
  __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_separate); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_20 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5952
 *             kwargs['initial'],
 *             kwargs['separate'],
 *             kwargs['enforce'],             # <<<<<<<<<<<<<<
 *             kwargs['check'],
 *             kwargs['propagate'],
*/
  __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_enforce); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_21 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5952, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5953
 *             kwargs['separate'],
 *             kwargs['enforce'],
 *             kwargs['check'],             # <<<<<<<<<<<<<<
 *             kwargs['propagate'],
 *             kwargs['local'],
*/
  __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_check); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_22 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5954
 *             kwargs['enforce'],
 *             kwargs['check'],
 *             kwargs['propagate'],             # <<<<<<<<<<<<<<
 *             kwargs['local'],
 *             kwargs['modifiable'],
*/
  __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_propagate); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_23 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_23 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5954, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5955
 *             kwargs['check'],
 *             kwargs['propagate'],
 *             kwargs['local'],             # <<<<<<<<<<<<<<
 *             kwargs['modifiable'],
 *             kwargs['dynamic'],
*/
  __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_local); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5955, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_24 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_24 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5955, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5956
 *             kwargs['propagate'],
 *             kwargs['local'],
 *             kwargs['modifiable'],             # <<<<<<<<<<<<<<
 *             kwargs['dynamic'],
 *             kwargs['removable']) )
*/
  __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_modifiable); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_25 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_25 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5956, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5957
 *             kwargs['local'],
 *             kwargs['modifiable'],
 *             kwargs['dynamic'],             # <<<<<<<<<<<<<<
 *             kwargs['removable']) )
 * 
*/
  __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_dynamic); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_26 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_26 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5957, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5958
 *             kwargs['modifiable'],
 *             kwargs['dynamic'],
 *             kwargs['removable']) )             # <<<<<<<<<<<<<<
 * 
 *         PyCons = Constraint.create(scip_cons)
*/
  __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_removable); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5958, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_27 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_27 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 5958, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5943
 * 
 *         # create nonlinear constraint for expr
 *         PY_SCIP_CALL( SCIPcreateConsNonlinear(             # <<<<<<<<<<<<<<
 *             self._scip,
 *             &scip_cons,
*/
  __pyx_t_11 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateConsNonlinear(__pyx_v_self->_scip, (&__pyx_v_scip_cons), __pyx_t_17, __pyx_v_expr, __pyx_t_15, __pyx_t_18, __pyx_t_19, __pyx_t_20, __pyx_t_21, __pyx_t_22, __pyx_t_23, __pyx_t_24, __pyx_t_25, __pyx_t_26, __pyx_t_27)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5943, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_14 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_14 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_11};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_14, (2-__pyx_t_14) | (__pyx_t_14*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":5960
 *             kwargs['removable']) )
 * 
 *         PyCons = Constraint.create(scip_cons)             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &expr) )
*/
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip_10Constraint_create(__pyx_v_scip_cons); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_PyCons = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":5962
 *         PyCons = Constraint.create(scip_cons)
 * 
 *         PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &expr) )             # <<<<<<<<<<<<<<
 *         for i in range(<int>len(terms)):
 *             PY_SCIP_CALL(SCIPreleaseExpr(self._scip, &monomials[i]))
*/
  __pyx_t_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseExpr(__pyx_v_self->_scip, (&__pyx_v_expr))); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_14 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_11))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_11);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
    __pyx_t_14 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_1};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_14, (2-__pyx_t_14) | (__pyx_t_14*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5962, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":5963
 * 
 *         PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &expr) )
 *         for i in range(<int>len(terms)):             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPreleaseExpr(self._scip, &monomials[i]))
 *         free(monomials)
*/
  __pyx_t_9 = PyObject_Length(__pyx_v_terms); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(2, 5963, __pyx_L1_error)
  __pyx_t_3 = ((int)__pyx_t_9);
  __pyx_t_12 = __pyx_t_3;
  for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
    __pyx_v_i = __pyx_t_13;

    /* "src/pyscipopt/scip.pxi":5964
 *         PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &expr) )
 *         for i in range(<int>len(terms)):
 *             PY_SCIP_CALL(SCIPreleaseExpr(self._scip, &monomials[i]))             # <<<<<<<<<<<<<<
 *         free(monomials)
 *         free(termcoefs)
*/
    __pyx_t_11 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseExpr(__pyx_v_self->_scip, (&(__pyx_v_monomials[__pyx_v_i])))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 5964, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_14 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_11);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_14 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_6};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_14, (2-__pyx_t_14) | (__pyx_t_14*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 5964, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/pyscipopt/scip.pxi":5965
 *         for i in range(<int>len(terms)):
 *             PY_SCIP_CALL(SCIPreleaseExpr(self._scip, &monomials[i]))
 *         free(monomials)             # <<<<<<<<<<<<<<
 *         free(termcoefs)
 * 
*/
  free(__pyx_v_monomials);

  /* "src/pyscipopt/scip.pxi":5966
 *             PY_SCIP_CALL(SCIPreleaseExpr(self._scip, &monomials[i]))
 *         free(monomials)
 *         free(termcoefs)             # <<<<<<<<<<<<<<
 * 
 *         return PyCons
*/
  free(__pyx_v_termcoefs);

  /* "src/pyscipopt/scip.pxi":5968
 *         free(termcoefs)
 * 
 *         return PyCons             # <<<<<<<<<<<<<<
 * 
 *     def _createConsGenNonlinear(self, cons, **kwargs):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_PyCons);
  __pyx_r = __pyx_v_PyCons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5901
 *         return PyCons
 * 
 *     def _createConsNonlinear(self, cons, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         The function for creating a non-linear constraint, but not adding it to the Model.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_AddTraceback("pyscipopt.scip.Model._createConsNonlinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XDECREF(__pyx_v_terms);
  __Pyx_XDECREF(__pyx_v_variables);
  __Pyx_XDECREF(__pyx_v_term);
  __Pyx_XDECREF(__pyx_v_coef);
  __Pyx_XDECREF(__pyx_v_PyCons);
  __Pyx_XDECREF(__pyx_9genexpr45__pyx_v_term);
  __Pyx_XDECREF(__pyx_9genexpr46__pyx_v_var);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":5970
 *         return PyCons
 * 
 *     def _createConsGenNonlinear(self, cons, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         The function for creating a general non-linear constraint, but not adding it to the Model.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_353_createConsGenNonlinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_352_createConsGenNonlinear, "\n        The function for creating a general non-linear constraint, but not adding it to the Model.\n        Please do not use this function directly, but rather use createConsFromExpr\n\n        Parameters\n        ----------\n        cons : ExprCons\n        kwargs : dict, optional\n\n        Returns\n        -------\n        Constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_353_createConsGenNonlinear = {"_createConsGenNonlinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_353_createConsGenNonlinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_352_createConsGenNonlinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_353_createConsGenNonlinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_cons = 0;
  PyObject *__pyx_v_kwargs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_createConsGenNonlinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL;
  __Pyx_GOTREF(__pyx_v_kwargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 5970, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5970, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values, kwd_pos_args, __pyx_kwds_len, "_createConsGenNonlinear", 1) < (0)) __PYX_ERR(2, 5970, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("_createConsGenNonlinear", 1, 1, 1, i); __PYX_ERR(2, 5970, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 5970, __pyx_L3_error)
    }
    __pyx_v_cons = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("_createConsGenNonlinear", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 5970, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0;
  __Pyx_AddTraceback("pyscipopt.scip.Model._createConsGenNonlinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_352_createConsGenNonlinear(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_kwargs);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_DECREF(__pyx_v_kwargs);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_352_createConsGenNonlinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_kwargs) {
  SCIP_EXPR **__pyx_v_childrenexpr;
  SCIP_EXPR **__pyx_v_scipexprs;
  SCIP_CONS *__pyx_v_scip_cons;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  int __pyx_v_nchildren;
  int __pyx_v_c;
  int __pyx_v_i;
  PyObject *__pyx_v_expr = NULL;
  PyObject *__pyx_v_nodes = NULL;
  PyObject *__pyx_v_nvars = NULL;
  PyObject *__pyx_v_node = NULL;
  PyObject *__pyx_v_opidx = NULL;
  PyObject *__pyx_v_pyvar = NULL;
  PyObject *__pyx_v_value = NULL;
  SCIP_Real *__pyx_v_coefs;
  PyObject *__pyx_v_pos = NULL;
  PyObject *__pyx_v_valuenode = NULL;
  PyObject *__pyx_v_exponent = NULL;
  PyObject *__pyx_v_PyCons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  PyObject *(*__pyx_t_6)(PyObject *);
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  int __pyx_t_9;
  Py_ssize_t __pyx_t_10;
  PyObject *__pyx_t_11 = NULL;
  SCIP_Real __pyx_t_12;
  int __pyx_t_13;
  PyObject *(*__pyx_t_14)(PyObject *);
  Py_ssize_t __pyx_t_15;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  char const *__pyx_t_18;
  SCIP_Real __pyx_t_19;
  SCIP_Bool __pyx_t_20;
  SCIP_Bool __pyx_t_21;
  SCIP_Bool __pyx_t_22;
  SCIP_Bool __pyx_t_23;
  SCIP_Bool __pyx_t_24;
  SCIP_Bool __pyx_t_25;
  SCIP_Bool __pyx_t_26;
  SCIP_Bool __pyx_t_27;
  SCIP_Bool __pyx_t_28;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_createConsGenNonlinear", 0);

  /* "src/pyscipopt/scip.pxi":5994
 * 
 *         # get arrays from python's expression tree
 *         expr = cons.expr             # <<<<<<<<<<<<<<
 *         nodes = expr_to_nodes(expr)
 * 
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_expr); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_expr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":5995
 *         # get arrays from python's expression tree
 *         expr = cons.expr
 *         nodes = expr_to_nodes(expr)             # <<<<<<<<<<<<<<
 * 
 *         # in nodes we have a list of tuples: each tuple is of the form
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_expr_to_nodes); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 5995, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_expr};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5995, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_nodes = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6005
 *         # Note2: we need to compute the number of variable operators to find out
 *         # how many variables are there.
 *         nvars = 0             # <<<<<<<<<<<<<<
 *         for node in nodes:
 *             if node[0] == Operator.varidx:
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_v_nvars = __pyx_mstate_global->__pyx_int_0;

  /* "src/pyscipopt/scip.pxi":6006
 *         # how many variables are there.
 *         nvars = 0
 *         for node in nodes:             # <<<<<<<<<<<<<<
 *             if node[0] == Operator.varidx:
 *                 nvars += 1
*/
  if (likely(PyList_CheckExact(__pyx_v_nodes)) || PyTuple_CheckExact(__pyx_v_nodes)) {
    __pyx_t_1 = __pyx_v_nodes; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_5 = 0;
    __pyx_t_6 = NULL;
  } else {
    __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6006, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_6)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6006, __pyx_L1_error)
          #endif
          if (__pyx_t_5 >= __pyx_temp) break;
        }
        __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_5;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6006, __pyx_L1_error)
          #endif
          if (__pyx_t_5 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5));
        #else
        __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_5);
        #endif
        ++__pyx_t_5;
      }
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6006, __pyx_L1_error)
    } else {
      __pyx_t_3 = __pyx_t_6(__pyx_t_1);
      if (unlikely(!__pyx_t_3)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 6006, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":6007
 *         nvars = 0
 *         for node in nodes:
 *             if node[0] == Operator.varidx:             # <<<<<<<<<<<<<<
 *                 nvars += 1
 * 
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_node, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_varidx); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6007, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6007, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 6007, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/scip.pxi":6008
 *         for node in nodes:
 *             if node[0] == Operator.varidx:
 *                 nvars += 1             # <<<<<<<<<<<<<<
 * 
 *         scipexprs = <SCIP_EXPR**> malloc(len(nodes) * sizeof(SCIP_EXPR*))
*/
      __pyx_t_2 = __Pyx_PyLong_AddObjC(__pyx_v_nvars, __pyx_mstate_global->__pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6008, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF_SET(__pyx_v_nvars, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "src/pyscipopt/scip.pxi":6007
 *         nvars = 0
 *         for node in nodes:
 *             if node[0] == Operator.varidx:             # <<<<<<<<<<<<<<
 *                 nvars += 1
 * 
*/
    }

    /* "src/pyscipopt/scip.pxi":6006
 *         # how many variables are there.
 *         nvars = 0
 *         for node in nodes:             # <<<<<<<<<<<<<<
 *             if node[0] == Operator.varidx:
 *                 nvars += 1
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6010
 *                 nvars += 1
 * 
 *         scipexprs = <SCIP_EXPR**> malloc(len(nodes) * sizeof(SCIP_EXPR*))             # <<<<<<<<<<<<<<
 *         for i,node in enumerate(nodes):
 *             opidx = node[0]
*/
  __pyx_t_5 = PyObject_Length(__pyx_v_nodes); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6010, __pyx_L1_error)
  __pyx_v_scipexprs = ((SCIP_EXPR **)malloc((__pyx_t_5 * (sizeof(SCIP_EXPR *)))));

  /* "src/pyscipopt/scip.pxi":6011
 * 
 *         scipexprs = <SCIP_EXPR**> malloc(len(nodes) * sizeof(SCIP_EXPR*))
 *         for i,node in enumerate(nodes):             # <<<<<<<<<<<<<<
 *             opidx = node[0]
 *             if opidx == Operator.varidx:
*/
  __pyx_t_9 = 0;
  if (likely(PyList_CheckExact(__pyx_v_nodes)) || PyTuple_CheckExact(__pyx_v_nodes)) {
    __pyx_t_1 = __pyx_v_nodes; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_5 = 0;
    __pyx_t_6 = NULL;
  } else {
    __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6011, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6011, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_6)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6011, __pyx_L1_error)
          #endif
          if (__pyx_t_5 >= __pyx_temp) break;
        }
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_5;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6011, __pyx_L1_error)
          #endif
          if (__pyx_t_5 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5));
        #else
        __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_5);
        #endif
        ++__pyx_t_5;
      }
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6011, __pyx_L1_error)
    } else {
      __pyx_t_2 = __pyx_t_6(__pyx_t_1);
      if (unlikely(!__pyx_t_2)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 6011, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_v_i = __pyx_t_9;
    __pyx_t_9 = (__pyx_t_9 + 1);

    /* "src/pyscipopt/scip.pxi":6012
 *         scipexprs = <SCIP_EXPR**> malloc(len(nodes) * sizeof(SCIP_EXPR*))
 *         for i,node in enumerate(nodes):
 *             opidx = node[0]             # <<<<<<<<<<<<<<
 *             if opidx == Operator.varidx:
 *                 assert len(node[1]) == 1
*/
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_node, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_opidx, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":6013
 *         for i,node in enumerate(nodes):
 *             opidx = node[0]
 *             if opidx == Operator.varidx:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 pyvar = node[1][0] # for vars we store the actual var!
*/
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_varidx); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyObject_RichCompare(__pyx_v_opidx, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6013, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 6013, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/scip.pxi":6014
 *             opidx = node[0]
 *             if opidx == Operator.varidx:
 *                 assert len(node[1]) == 1             # <<<<<<<<<<<<<<
 *                 pyvar = node[1][0] # for vars we store the actual var!
 *                 wrapper = _VarArray(pyvar)
*/
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {
        __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6014, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6014, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __pyx_t_8 = (__pyx_t_10 == 1);
        if (unlikely(!__pyx_t_8)) {
          __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
          __PYX_ERR(2, 6014, __pyx_L1_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(2, 6014, __pyx_L1_error)
      #endif

      /* "src/pyscipopt/scip.pxi":6015
 *             if opidx == Operator.varidx:
 *                 assert len(node[1]) == 1
 *                 pyvar = node[1][0] # for vars we store the actual var!             # <<<<<<<<<<<<<<
 *                 wrapper = _VarArray(pyvar)
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &scipexprs[i], wrapper.ptr[0], NULL, NULL) )
*/
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6015, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6015, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_XDECREF_SET(__pyx_v_pyvar, __pyx_t_7);
      __pyx_t_7 = 0;

      /* "src/pyscipopt/scip.pxi":6016
 *                 assert len(node[1]) == 1
 *                 pyvar = node[1][0] # for vars we store the actual var!
 *                 wrapper = _VarArray(pyvar)             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &scipexprs[i], wrapper.ptr[0], NULL, NULL) )
 *                 continue
*/
      __pyx_t_2 = NULL;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_pyvar};
        __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6016, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      __Pyx_XDECREF_SET(__pyx_v_wrapper, ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_7));
      __pyx_t_7 = 0;

      /* "src/pyscipopt/scip.pxi":6017
 *                 pyvar = node[1][0] # for vars we store the actual var!
 *                 wrapper = _VarArray(pyvar)
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &scipexprs[i], wrapper.ptr[0], NULL, NULL) )             # <<<<<<<<<<<<<<
 *                 continue
 *             if opidx == Operator.const:
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6017, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_11 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprVar(__pyx_v_self->_scip, (&(__pyx_v_scipexprs[__pyx_v_i])), (__pyx_v_wrapper->ptr[0]), NULL, NULL)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6017, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_11};
        __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6017, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
      }
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "src/pyscipopt/scip.pxi":6018
 *                 wrapper = _VarArray(pyvar)
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &scipexprs[i], wrapper.ptr[0], NULL, NULL) )
 *                 continue             # <<<<<<<<<<<<<<
 *             if opidx == Operator.const:
 *                 assert len(node[1]) == 1
*/
      goto __pyx_L7_continue;

      /* "src/pyscipopt/scip.pxi":6013
 *         for i,node in enumerate(nodes):
 *             opidx = node[0]
 *             if opidx == Operator.varidx:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 pyvar = node[1][0] # for vars we store the actual var!
*/
    }

    /* "src/pyscipopt/scip.pxi":6019
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &scipexprs[i], wrapper.ptr[0], NULL, NULL) )
 *                 continue
 *             if opidx == Operator.const:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 value = node[1][0]
*/
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_const); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_7 = PyObject_RichCompare(__pyx_v_opidx, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6019, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 6019, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/scip.pxi":6020
 *                 continue
 *             if opidx == Operator.const:
 *                 assert len(node[1]) == 1             # <<<<<<<<<<<<<<
 *                 value = node[1][0]
 *                 PY_SCIP_CALL( SCIPcreateExprValue(self._scip, &scipexprs[i], <SCIP_Real>value, NULL, NULL) )
*/
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {
        __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6020, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_10 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6020, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_8 = (__pyx_t_10 == 1);
        if (unlikely(!__pyx_t_8)) {
          __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
          __PYX_ERR(2, 6020, __pyx_L1_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(2, 6020, __pyx_L1_error)
      #endif

      /* "src/pyscipopt/scip.pxi":6021
 *             if opidx == Operator.const:
 *                 assert len(node[1]) == 1
 *                 value = node[1][0]             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprValue(self._scip, &scipexprs[i], <SCIP_Real>value, NULL, NULL) )
 *                 continue
*/
      __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6021, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_7, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6021, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_3);
      __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":6022
 *                 assert len(node[1]) == 1
 *                 value = node[1][0]
 *                 PY_SCIP_CALL( SCIPcreateExprValue(self._scip, &scipexprs[i], <SCIP_Real>value, NULL, NULL) )             # <<<<<<<<<<<<<<
 *                 continue
 *             if opidx == Operator.add:
*/
      __pyx_t_7 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6022, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_12 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_12 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6022, __pyx_L1_error)
      __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprValue(__pyx_v_self->_scip, (&(__pyx_v_scipexprs[__pyx_v_i])), ((SCIP_Real)__pyx_t_12), NULL, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6022, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_11))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_11);
        assert(__pyx_t_7);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6022, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":6023
 *                 value = node[1][0]
 *                 PY_SCIP_CALL( SCIPcreateExprValue(self._scip, &scipexprs[i], <SCIP_Real>value, NULL, NULL) )
 *                 continue             # <<<<<<<<<<<<<<
 *             if opidx == Operator.add:
 *                 nchildren = len(node[1])
*/
      goto __pyx_L7_continue;

      /* "src/pyscipopt/scip.pxi":6019
 *                 PY_SCIP_CALL( SCIPcreateExprVar(self._scip, &scipexprs[i], wrapper.ptr[0], NULL, NULL) )
 *                 continue
 *             if opidx == Operator.const:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 value = node[1][0]
*/
    }

    /* "src/pyscipopt/scip.pxi":6024
 *                 PY_SCIP_CALL( SCIPcreateExprValue(self._scip, &scipexprs[i], <SCIP_Real>value, NULL, NULL) )
 *                 continue
 *             if opidx == Operator.add:             # <<<<<<<<<<<<<<
 *                 nchildren = len(node[1])
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))
*/
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_add_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6024, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyObject_RichCompare(__pyx_v_opidx, __pyx_t_11, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6024, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 6024, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/scip.pxi":6025
 *                 continue
 *             if opidx == Operator.add:
 *                 nchildren = len(node[1])             # <<<<<<<<<<<<<<
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))
 *                 coefs = <SCIP_Real*> malloc(nchildren * sizeof(SCIP_Real))
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6025, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_10 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6025, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_v_nchildren = __pyx_t_10;

      /* "src/pyscipopt/scip.pxi":6026
 *             if opidx == Operator.add:
 *                 nchildren = len(node[1])
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))             # <<<<<<<<<<<<<<
 *                 coefs = <SCIP_Real*> malloc(nchildren * sizeof(SCIP_Real))
 *                 for c, pos in enumerate(node[1]):
*/
      __pyx_v_childrenexpr = ((SCIP_EXPR **)malloc((__pyx_v_nchildren * (sizeof(SCIP_EXPR *)))));

      /* "src/pyscipopt/scip.pxi":6027
 *                 nchildren = len(node[1])
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))
 *                 coefs = <SCIP_Real*> malloc(nchildren * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *                 for c, pos in enumerate(node[1]):
 *                     childrenexpr[c] = scipexprs[pos]
*/
      __pyx_v_coefs = ((SCIP_Real *)malloc((__pyx_v_nchildren * (sizeof(SCIP_Real)))));

      /* "src/pyscipopt/scip.pxi":6028
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))
 *                 coefs = <SCIP_Real*> malloc(nchildren * sizeof(SCIP_Real))
 *                 for c, pos in enumerate(node[1]):             # <<<<<<<<<<<<<<
 *                     childrenexpr[c] = scipexprs[pos]
 *                     coefs[c] = 1
*/
      __pyx_t_13 = 0;
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6028, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
        __pyx_t_11 = __pyx_t_3; __Pyx_INCREF(__pyx_t_11);
        __pyx_t_10 = 0;
        __pyx_t_14 = NULL;
      } else {
        __pyx_t_10 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6028, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __pyx_t_14 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 6028, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (likely(!__pyx_t_14)) {
          if (likely(PyList_CheckExact(__pyx_t_11))) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_11);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6028, __pyx_L1_error)
              #endif
              if (__pyx_t_10 >= __pyx_temp) break;
            }
            __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_11, __pyx_t_10, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_10;
          } else {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_11);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6028, __pyx_L1_error)
              #endif
              if (__pyx_t_10 >= __pyx_temp) break;
            }
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_10));
            #else
            __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_11, __pyx_t_10);
            #endif
            ++__pyx_t_10;
          }
          if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6028, __pyx_L1_error)
        } else {
          __pyx_t_3 = __pyx_t_14(__pyx_t_11);
          if (unlikely(!__pyx_t_3)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 6028, __pyx_L1_error)
              PyErr_Clear();
            }
            break;
          }
        }
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_XDECREF_SET(__pyx_v_pos, __pyx_t_3);
        __pyx_t_3 = 0;
        __pyx_v_c = __pyx_t_13;
        __pyx_t_13 = (__pyx_t_13 + 1);

        /* "src/pyscipopt/scip.pxi":6029
 *                 coefs = <SCIP_Real*> malloc(nchildren * sizeof(SCIP_Real))
 *                 for c, pos in enumerate(node[1]):
 *                     childrenexpr[c] = scipexprs[pos]             # <<<<<<<<<<<<<<
 *                     coefs[c] = 1
 *                 PY_SCIP_CALL( SCIPcreateExprSum(self._scip, &scipexprs[i], nchildren, childrenexpr, coefs, 0, NULL, NULL))
*/
        __pyx_t_15 = __Pyx_PyIndex_AsSsize_t(__pyx_v_pos); if (unlikely((__pyx_t_15 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 6029, __pyx_L1_error)
        (__pyx_v_childrenexpr[__pyx_v_c]) = (__pyx_v_scipexprs[__pyx_t_15]);

        /* "src/pyscipopt/scip.pxi":6030
 *                 for c, pos in enumerate(node[1]):
 *                     childrenexpr[c] = scipexprs[pos]
 *                     coefs[c] = 1             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprSum(self._scip, &scipexprs[i], nchildren, childrenexpr, coefs, 0, NULL, NULL))
 *                 free(coefs)
*/
        (__pyx_v_coefs[__pyx_v_c]) = 1.0;

        /* "src/pyscipopt/scip.pxi":6028
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))
 *                 coefs = <SCIP_Real*> malloc(nchildren * sizeof(SCIP_Real))
 *                 for c, pos in enumerate(node[1]):             # <<<<<<<<<<<<<<
 *                     childrenexpr[c] = scipexprs[pos]
 *                     coefs[c] = 1
*/
      }
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

      /* "src/pyscipopt/scip.pxi":6031
 *                     childrenexpr[c] = scipexprs[pos]
 *                     coefs[c] = 1
 *                 PY_SCIP_CALL( SCIPcreateExprSum(self._scip, &scipexprs[i], nchildren, childrenexpr, coefs, 0, NULL, NULL))             # <<<<<<<<<<<<<<
 *                 free(coefs)
 *                 free(childrenexpr)
*/
      __pyx_t_3 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6031, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprSum(__pyx_v_self->_scip, (&(__pyx_v_scipexprs[__pyx_v_i])), __pyx_v_nchildren, __pyx_v_childrenexpr, __pyx_v_coefs, 0.0, NULL, NULL)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6031, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
        assert(__pyx_t_3);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
        __pyx_t_11 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6031, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
      }
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

      /* "src/pyscipopt/scip.pxi":6032
 *                     coefs[c] = 1
 *                 PY_SCIP_CALL( SCIPcreateExprSum(self._scip, &scipexprs[i], nchildren, childrenexpr, coefs, 0, NULL, NULL))
 *                 free(coefs)             # <<<<<<<<<<<<<<
 *                 free(childrenexpr)
 *                 continue
*/
      free(__pyx_v_coefs);

      /* "src/pyscipopt/scip.pxi":6033
 *                 PY_SCIP_CALL( SCIPcreateExprSum(self._scip, &scipexprs[i], nchildren, childrenexpr, coefs, 0, NULL, NULL))
 *                 free(coefs)
 *                 free(childrenexpr)             # <<<<<<<<<<<<<<
 *                 continue
 *             if opidx == Operator.prod:
*/
      free(__pyx_v_childrenexpr);

      /* "src/pyscipopt/scip.pxi":6034
 *                 free(coefs)
 *                 free(childrenexpr)
 *                 continue             # <<<<<<<<<<<<<<
 *             if opidx == Operator.prod:
 *                 nchildren = len(node[1])
*/
      goto __pyx_L7_continue;

      /* "src/pyscipopt/scip.pxi":6024
 *                 PY_SCIP_CALL( SCIPcreateExprValue(self._scip, &scipexprs[i], <SCIP_Real>value, NULL, NULL) )
 *                 continue
 *             if opidx == Operator.add:             # <<<<<<<<<<<<<<
 *                 nchildren = len(node[1])
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))
*/
    }

    /* "src/pyscipopt/scip.pxi":6035
 *                 free(childrenexpr)
 *                 continue
 *             if opidx == Operator.prod:             # <<<<<<<<<<<<<<
 *                 nchildren = len(node[1])
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))
*/
    __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_prod); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6035, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_11 = PyObject_RichCompare(__pyx_v_opidx, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6035, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 6035, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/scip.pxi":6036
 *                 continue
 *             if opidx == Operator.prod:
 *                 nchildren = len(node[1])             # <<<<<<<<<<<<<<
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))
 *                 for c, pos in enumerate(node[1]):
*/
      __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6036, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_10 = PyObject_Length(__pyx_t_11); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6036, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_v_nchildren = __pyx_t_10;

      /* "src/pyscipopt/scip.pxi":6037
 *             if opidx == Operator.prod:
 *                 nchildren = len(node[1])
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))             # <<<<<<<<<<<<<<
 *                 for c, pos in enumerate(node[1]):
 *                     childrenexpr[c] = scipexprs[pos]
*/
      __pyx_v_childrenexpr = ((SCIP_EXPR **)malloc((__pyx_v_nchildren * (sizeof(SCIP_EXPR *)))));

      /* "src/pyscipopt/scip.pxi":6038
 *                 nchildren = len(node[1])
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))
 *                 for c, pos in enumerate(node[1]):             # <<<<<<<<<<<<<<
 *                     childrenexpr[c] = scipexprs[pos]
 *                 PY_SCIP_CALL( SCIPcreateExprProduct(self._scip, &scipexprs[i], nchildren, childrenexpr, 1, NULL, NULL) )
*/
      __pyx_t_13 = 0;
      __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6038, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) {
        __pyx_t_2 = __pyx_t_11; __Pyx_INCREF(__pyx_t_2);
        __pyx_t_10 = 0;
        __pyx_t_14 = NULL;
      } else {
        __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6038, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_14 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 6038, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      for (;;) {
        if (likely(!__pyx_t_14)) {
          if (likely(PyList_CheckExact(__pyx_t_2))) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6038, __pyx_L1_error)
              #endif
              if (__pyx_t_10 >= __pyx_temp) break;
            }
            __pyx_t_11 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_10, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_10;
          } else {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6038, __pyx_L1_error)
              #endif
              if (__pyx_t_10 >= __pyx_temp) break;
            }
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_11 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10));
            #else
            __pyx_t_11 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_10);
            #endif
            ++__pyx_t_10;
          }
          if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6038, __pyx_L1_error)
        } else {
          __pyx_t_11 = __pyx_t_14(__pyx_t_2);
          if (unlikely(!__pyx_t_11)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 6038, __pyx_L1_error)
              PyErr_Clear();
            }
            break;
          }
        }
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_XDECREF_SET(__pyx_v_pos, __pyx_t_11);
        __pyx_t_11 = 0;
        __pyx_v_c = __pyx_t_13;
        __pyx_t_13 = (__pyx_t_13 + 1);

        /* "src/pyscipopt/scip.pxi":6039
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))
 *                 for c, pos in enumerate(node[1]):
 *                     childrenexpr[c] = scipexprs[pos]             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprProduct(self._scip, &scipexprs[i], nchildren, childrenexpr, 1, NULL, NULL) )
 *                 free(childrenexpr)
*/
        __pyx_t_15 = __Pyx_PyIndex_AsSsize_t(__pyx_v_pos); if (unlikely((__pyx_t_15 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 6039, __pyx_L1_error)
        (__pyx_v_childrenexpr[__pyx_v_c]) = (__pyx_v_scipexprs[__pyx_t_15]);

        /* "src/pyscipopt/scip.pxi":6038
 *                 nchildren = len(node[1])
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))
 *                 for c, pos in enumerate(node[1]):             # <<<<<<<<<<<<<<
 *                     childrenexpr[c] = scipexprs[pos]
 *                 PY_SCIP_CALL( SCIPcreateExprProduct(self._scip, &scipexprs[i], nchildren, childrenexpr, 1, NULL, NULL) )
*/
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/pyscipopt/scip.pxi":6040
 *                 for c, pos in enumerate(node[1]):
 *                     childrenexpr[c] = scipexprs[pos]
 *                 PY_SCIP_CALL( SCIPcreateExprProduct(self._scip, &scipexprs[i], nchildren, childrenexpr, 1, NULL, NULL) )             # <<<<<<<<<<<<<<
 *                 free(childrenexpr)
 *                 continue
*/
      __pyx_t_11 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6040, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprProduct(__pyx_v_self->_scip, (&(__pyx_v_scipexprs[__pyx_v_i])), __pyx_v_nchildren, __pyx_v_childrenexpr, 1.0, NULL, NULL)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6040, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_7))) {
        __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_7);
        assert(__pyx_t_11);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_3};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6040, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

      /* "src/pyscipopt/scip.pxi":6041
 *                     childrenexpr[c] = scipexprs[pos]
 *                 PY_SCIP_CALL( SCIPcreateExprProduct(self._scip, &scipexprs[i], nchildren, childrenexpr, 1, NULL, NULL) )
 *                 free(childrenexpr)             # <<<<<<<<<<<<<<
 *                 continue
 *             if opidx == Operator.power:
*/
      free(__pyx_v_childrenexpr);

      /* "src/pyscipopt/scip.pxi":6042
 *                 PY_SCIP_CALL( SCIPcreateExprProduct(self._scip, &scipexprs[i], nchildren, childrenexpr, 1, NULL, NULL) )
 *                 free(childrenexpr)
 *                 continue             # <<<<<<<<<<<<<<
 *             if opidx == Operator.power:
 *                 # the second child is the exponent which is a const
*/
      goto __pyx_L7_continue;

      /* "src/pyscipopt/scip.pxi":6035
 *                 free(childrenexpr)
 *                 continue
 *             if opidx == Operator.prod:             # <<<<<<<<<<<<<<
 *                 nchildren = len(node[1])
 *                 childrenexpr = <SCIP_EXPR**> malloc(nchildren * sizeof(SCIP_EXPR*))
*/
    }

    /* "src/pyscipopt/scip.pxi":6043
 *                 free(childrenexpr)
 *                 continue
 *             if opidx == Operator.power:             # <<<<<<<<<<<<<<
 *                 # the second child is the exponent which is a const
 *                 valuenode = nodes[node[1][1]]
*/
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_power); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6043, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = PyObject_RichCompare(__pyx_v_opidx, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6043, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 6043, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/scip.pxi":6045
 *             if opidx == Operator.power:
 *                 # the second child is the exponent which is a const
 *                 valuenode = nodes[node[1][1]]             # <<<<<<<<<<<<<<
 *                 assert valuenode[0] == Operator.const
 *                 exponent = valuenode[1][0]
*/
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6045, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6045, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_nodes, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6045, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF_SET(__pyx_v_valuenode, __pyx_t_2);
      __pyx_t_2 = 0;

      /* "src/pyscipopt/scip.pxi":6046
 *                 # the second child is the exponent which is a const
 *                 valuenode = nodes[node[1][1]]
 *                 assert valuenode[0] == Operator.const             # <<<<<<<<<<<<<<
 *                 exponent = valuenode[1][0]
 *                 PY_SCIP_CALL( SCIPcreateExprPow(self._scip, &scipexprs[i], scipexprs[node[1][0]], <SCIP_Real>exponent, NULL, NULL ))
*/
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {
        __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_valuenode, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6046, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6046, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_const); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6046, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __pyx_t_7 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6046, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 6046, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_8)) {
          __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
          __PYX_ERR(2, 6046, __pyx_L1_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(2, 6046, __pyx_L1_error)
      #endif

      /* "src/pyscipopt/scip.pxi":6047
 *                 valuenode = nodes[node[1][1]]
 *                 assert valuenode[0] == Operator.const
 *                 exponent = valuenode[1][0]             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprPow(self._scip, &scipexprs[i], scipexprs[node[1][0]], <SCIP_Real>exponent, NULL, NULL ))
 *                 continue
*/
      __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_valuenode, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6047, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_7, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6047, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_XDECREF_SET(__pyx_v_exponent, __pyx_t_3);
      __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":6048
 *                 assert valuenode[0] == Operator.const
 *                 exponent = valuenode[1][0]
 *                 PY_SCIP_CALL( SCIPcreateExprPow(self._scip, &scipexprs[i], scipexprs[node[1][0]], <SCIP_Real>exponent, NULL, NULL ))             # <<<<<<<<<<<<<<
 *                 continue
 *             if opidx == Operator.exp:
*/
      __pyx_t_7 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6048, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6048, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_16 = __Pyx_GetItemInt(__pyx_t_11, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 6048, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_t_16); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 6048, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __pyx_t_12 = __Pyx_PyFloat_AsDouble(__pyx_v_exponent); if (unlikely((__pyx_t_12 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6048, __pyx_L1_error)
      __pyx_t_16 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprPow(__pyx_v_self->_scip, (&(__pyx_v_scipexprs[__pyx_v_i])), (__pyx_v_scipexprs[__pyx_t_10]), ((SCIP_Real)__pyx_t_12), NULL, NULL)); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 6048, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
        assert(__pyx_t_7);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_16};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6048, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":6049
 *                 exponent = valuenode[1][0]
 *                 PY_SCIP_CALL( SCIPcreateExprPow(self._scip, &scipexprs[i], scipexprs[node[1][0]], <SCIP_Real>exponent, NULL, NULL ))
 *                 continue             # <<<<<<<<<<<<<<
 *             if opidx == Operator.exp:
 *                 assert len(node[1]) == 1
*/
      goto __pyx_L7_continue;

      /* "src/pyscipopt/scip.pxi":6043
 *                 free(childrenexpr)
 *                 continue
 *             if opidx == Operator.power:             # <<<<<<<<<<<<<<
 *                 # the second child is the exponent which is a const
 *                 valuenode = nodes[node[1][1]]
*/
    }

    /* "src/pyscipopt/scip.pxi":6050
 *                 PY_SCIP_CALL( SCIPcreateExprPow(self._scip, &scipexprs[i], scipexprs[node[1][0]], <SCIP_Real>exponent, NULL, NULL ))
 *                 continue
 *             if opidx == Operator.exp:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprExp(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
*/
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_exp); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6050, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyObject_RichCompare(__pyx_v_opidx, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6050, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 6050, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/scip.pxi":6051
 *                 continue
 *             if opidx == Operator.exp:
 *                 assert len(node[1]) == 1             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprExp(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
 *                 continue
*/
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6051, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_10 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6051, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_8 = (__pyx_t_10 == 1);
        if (unlikely(!__pyx_t_8)) {
          __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
          __PYX_ERR(2, 6051, __pyx_L1_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(2, 6051, __pyx_L1_error)
      #endif

      /* "src/pyscipopt/scip.pxi":6052
 *             if opidx == Operator.exp:
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprExp(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))             # <<<<<<<<<<<<<<
 *                 continue
 *             if opidx == Operator.log:
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 6052, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6052, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_7, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6052, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_t_11); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 6052, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprExp(__pyx_v_self->_scip, (&(__pyx_v_scipexprs[__pyx_v_i])), (__pyx_v_scipexprs[__pyx_t_10]), NULL, NULL)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6052, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_16))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_16);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_16);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_16, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_11};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_16, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6052, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":6053
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprExp(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
 *                 continue             # <<<<<<<<<<<<<<
 *             if opidx == Operator.log:
 *                 assert len(node[1]) == 1
*/
      goto __pyx_L7_continue;

      /* "src/pyscipopt/scip.pxi":6050
 *                 PY_SCIP_CALL( SCIPcreateExprPow(self._scip, &scipexprs[i], scipexprs[node[1][0]], <SCIP_Real>exponent, NULL, NULL ))
 *                 continue
 *             if opidx == Operator.exp:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprExp(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
*/
    }

    /* "src/pyscipopt/scip.pxi":6054
 *                 PY_SCIP_CALL( SCIPcreateExprExp(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
 *                 continue
 *             if opidx == Operator.log:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprLog(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
*/
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_log); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 6054, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyObject_RichCompare(__pyx_v_opidx, __pyx_t_16, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6054, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 6054, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/scip.pxi":6055
 *                 continue
 *             if opidx == Operator.log:
 *                 assert len(node[1]) == 1             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprLog(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
 *                 continue
*/
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6055, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_10 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6055, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_8 = (__pyx_t_10 == 1);
        if (unlikely(!__pyx_t_8)) {
          __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
          __PYX_ERR(2, 6055, __pyx_L1_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(2, 6055, __pyx_L1_error)
      #endif

      /* "src/pyscipopt/scip.pxi":6056
 *             if opidx == Operator.log:
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprLog(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))             # <<<<<<<<<<<<<<
 *                 continue
 *             if opidx == Operator.sqrt:
*/
      __pyx_t_16 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6056, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6056, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6056, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_t_7); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 6056, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprLog(__pyx_v_self->_scip, (&(__pyx_v_scipexprs[__pyx_v_i])), (__pyx_v_scipexprs[__pyx_t_10]), NULL, NULL)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6056, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_11))) {
        __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_11);
        assert(__pyx_t_16);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_16);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_16, __pyx_t_7};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6056, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":6057
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprLog(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
 *                 continue             # <<<<<<<<<<<<<<
 *             if opidx == Operator.sqrt:
 *                 assert len(node[1]) == 1
*/
      goto __pyx_L7_continue;

      /* "src/pyscipopt/scip.pxi":6054
 *                 PY_SCIP_CALL( SCIPcreateExprExp(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
 *                 continue
 *             if opidx == Operator.log:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprLog(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
*/
    }

    /* "src/pyscipopt/scip.pxi":6058
 *                 PY_SCIP_CALL( SCIPcreateExprLog(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
 *                 continue
 *             if opidx == Operator.sqrt:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprPow(self._scip, &scipexprs[i], scipexprs[node[1][0]], <SCIP_Real>0.5, NULL, NULL) )
*/
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_sqrt); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6058, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyObject_RichCompare(__pyx_v_opidx, __pyx_t_11, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6058, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 6058, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/scip.pxi":6059
 *                 continue
 *             if opidx == Operator.sqrt:
 *                 assert len(node[1]) == 1             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprPow(self._scip, &scipexprs[i], scipexprs[node[1][0]], <SCIP_Real>0.5, NULL, NULL) )
 *                 continue
*/
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6059, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_10 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6059, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_8 = (__pyx_t_10 == 1);
        if (unlikely(!__pyx_t_8)) {
          __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
          __PYX_ERR(2, 6059, __pyx_L1_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(2, 6059, __pyx_L1_error)
      #endif

      /* "src/pyscipopt/scip.pxi":6060
 *             if opidx == Operator.sqrt:
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprPow(self._scip, &scipexprs[i], scipexprs[node[1][0]], <SCIP_Real>0.5, NULL, NULL) )             # <<<<<<<<<<<<<<
 *                 continue
 *             if opidx == Operator.sin:
*/
      __pyx_t_11 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6060, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_16 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 6060, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_16, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6060, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 6060, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprPow(__pyx_v_self->_scip, (&(__pyx_v_scipexprs[__pyx_v_i])), (__pyx_v_scipexprs[__pyx_t_10]), ((SCIP_Real)0.5), NULL, NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6060, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_7))) {
        __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_7);
        assert(__pyx_t_11);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
        __Pyx_INCREF(__pyx_t_11);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_2};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6060, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":6061
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprPow(self._scip, &scipexprs[i], scipexprs[node[1][0]], <SCIP_Real>0.5, NULL, NULL) )
 *                 continue             # <<<<<<<<<<<<<<
 *             if opidx == Operator.sin:
 *                 assert len(node[1]) == 1
*/
      goto __pyx_L7_continue;

      /* "src/pyscipopt/scip.pxi":6058
 *                 PY_SCIP_CALL( SCIPcreateExprLog(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
 *                 continue
 *             if opidx == Operator.sqrt:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprPow(self._scip, &scipexprs[i], scipexprs[node[1][0]], <SCIP_Real>0.5, NULL, NULL) )
*/
    }

    /* "src/pyscipopt/scip.pxi":6062
 *                 PY_SCIP_CALL( SCIPcreateExprPow(self._scip, &scipexprs[i], scipexprs[node[1][0]], <SCIP_Real>0.5, NULL, NULL) )
 *                 continue
 *             if opidx == Operator.sin:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprSin(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )
*/
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_sin); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6062, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyObject_RichCompare(__pyx_v_opidx, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6062, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 6062, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/scip.pxi":6063
 *                 continue
 *             if opidx == Operator.sin:
 *                 assert len(node[1]) == 1             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprSin(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )
 *                 continue
*/
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6063, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_10 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6063, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_8 = (__pyx_t_10 == 1);
        if (unlikely(!__pyx_t_8)) {
          __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
          __PYX_ERR(2, 6063, __pyx_L1_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(2, 6063, __pyx_L1_error)
      #endif

      /* "src/pyscipopt/scip.pxi":6064
 *             if opidx == Operator.sin:
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprSin(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )             # <<<<<<<<<<<<<<
 *                 continue
 *             if opidx == Operator.cos:
*/
      __pyx_t_7 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6064, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6064, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_16 = __Pyx_GetItemInt(__pyx_t_11, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 6064, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_t_16); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 6064, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __pyx_t_16 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprSin(__pyx_v_self->_scip, (&(__pyx_v_scipexprs[__pyx_v_i])), (__pyx_v_scipexprs[__pyx_t_10]), NULL, NULL)); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 6064, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
        assert(__pyx_t_7);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_7);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_16};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6064, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":6065
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprSin(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )
 *                 continue             # <<<<<<<<<<<<<<
 *             if opidx == Operator.cos:
 *                 assert len(node[1]) == 1
*/
      goto __pyx_L7_continue;

      /* "src/pyscipopt/scip.pxi":6062
 *                 PY_SCIP_CALL( SCIPcreateExprPow(self._scip, &scipexprs[i], scipexprs[node[1][0]], <SCIP_Real>0.5, NULL, NULL) )
 *                 continue
 *             if opidx == Operator.sin:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprSin(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )
*/
    }

    /* "src/pyscipopt/scip.pxi":6066
 *                 PY_SCIP_CALL( SCIPcreateExprSin(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )
 *                 continue
 *             if opidx == Operator.cos:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprCos(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )
*/
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_cos); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6066, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyObject_RichCompare(__pyx_v_opidx, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6066, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 6066, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/scip.pxi":6067
 *                 continue
 *             if opidx == Operator.cos:
 *                 assert len(node[1]) == 1             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprCos(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )
 *                 continue
*/
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6067, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_10 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6067, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_8 = (__pyx_t_10 == 1);
        if (unlikely(!__pyx_t_8)) {
          __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
          __PYX_ERR(2, 6067, __pyx_L1_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(2, 6067, __pyx_L1_error)
      #endif

      /* "src/pyscipopt/scip.pxi":6068
 *             if opidx == Operator.cos:
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprCos(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )             # <<<<<<<<<<<<<<
 *                 continue
 *             if opidx == Operator.fabs:
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 6068, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_16);
      __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6068, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_7, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6068, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_t_11); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 6068, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprCos(__pyx_v_self->_scip, (&(__pyx_v_scipexprs[__pyx_v_i])), (__pyx_v_scipexprs[__pyx_t_10]), NULL, NULL)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6068, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_16))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_16);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_16);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_16, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_11};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_16, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6068, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":6069
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprCos(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )
 *                 continue             # <<<<<<<<<<<<<<
 *             if opidx == Operator.fabs:
 *                 assert len(node[1]) == 1
*/
      goto __pyx_L7_continue;

      /* "src/pyscipopt/scip.pxi":6066
 *                 PY_SCIP_CALL( SCIPcreateExprSin(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )
 *                 continue
 *             if opidx == Operator.cos:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprCos(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )
*/
    }

    /* "src/pyscipopt/scip.pxi":6070
 *                 PY_SCIP_CALL( SCIPcreateExprCos(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )
 *                 continue
 *             if opidx == Operator.fabs:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprAbs(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
*/
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_Operator); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_fabs); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 6070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = PyObject_RichCompare(__pyx_v_opidx, __pyx_t_16, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6070, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 6070, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (__pyx_t_8) {

      /* "src/pyscipopt/scip.pxi":6071
 *                 continue
 *             if opidx == Operator.fabs:
 *                 assert len(node[1]) == 1             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL( SCIPcreateExprAbs(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
 *                 continue
*/
      #ifndef CYTHON_WITHOUT_ASSERTIONS
      if (unlikely(__pyx_assertions_enabled())) {
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6071, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_10 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6071, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_8 = (__pyx_t_10 == 1);
        if (unlikely(!__pyx_t_8)) {
          __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
          __PYX_ERR(2, 6071, __pyx_L1_error)
        }
      }
      #else
      if ((1)); else __PYX_ERR(2, 6071, __pyx_L1_error)
      #endif

      /* "src/pyscipopt/scip.pxi":6072
 *             if opidx == Operator.fabs:
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprAbs(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))             # <<<<<<<<<<<<<<
 *                 continue
 *             # default:
*/
      __pyx_t_16 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6072, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6072, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6072, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_t_7); if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 6072, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateExprAbs(__pyx_v_self->_scip, (&(__pyx_v_scipexprs[__pyx_v_i])), (__pyx_v_scipexprs[__pyx_t_10]), NULL, NULL)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6072, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __pyx_t_4 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_11))) {
        __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_11);
        assert(__pyx_t_16);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
        __Pyx_INCREF(__pyx_t_16);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
        __pyx_t_4 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_16, __pyx_t_7};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6072, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":6073
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprAbs(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
 *                 continue             # <<<<<<<<<<<<<<
 *             # default:
 *             raise NotImplementedError
*/
      goto __pyx_L7_continue;

      /* "src/pyscipopt/scip.pxi":6070
 *                 PY_SCIP_CALL( SCIPcreateExprCos(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL) )
 *                 continue
 *             if opidx == Operator.fabs:             # <<<<<<<<<<<<<<
 *                 assert len(node[1]) == 1
 *                 PY_SCIP_CALL( SCIPcreateExprAbs(self._scip, &scipexprs[i], scipexprs[node[1][0]], NULL, NULL ))
*/
    }

    /* "src/pyscipopt/scip.pxi":6075
 *                 continue
 *             # default:
 *             raise NotImplementedError             # <<<<<<<<<<<<<<
 * 
 *         # create nonlinear constraint for the expression root
*/
    __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_NotImplementedError))), 0, 0, 0);
    __PYX_ERR(2, 6075, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":6011
 * 
 *         scipexprs = <SCIP_EXPR**> malloc(len(nodes) * sizeof(SCIP_EXPR*))
 *         for i,node in enumerate(nodes):             # <<<<<<<<<<<<<<
 *             opidx = node[0]
 *             if opidx == Operator.varidx:
*/
    __pyx_L7_continue:;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6078
 * 
 *         # create nonlinear constraint for the expression root
 *         PY_SCIP_CALL( SCIPcreateConsNonlinear(             # <<<<<<<<<<<<<<
 *             self._scip,
 *             &scip_cons,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);

  /* "src/pyscipopt/scip.pxi":6081
 *             self._scip,
 *             &scip_cons,
 *             str_conversion(kwargs['name']),             # <<<<<<<<<<<<<<
 *             scipexprs[len(nodes) - 1],
 *             kwargs['lhs'],
*/
  __pyx_t_16 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_17 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 6081, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_16);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_16);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_16, __pyx_t_17};
    __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6081, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
  }
  __pyx_t_18 = __Pyx_PyObject_AsString(__pyx_t_7); if (unlikely((!__pyx_t_18) && PyErr_Occurred())) __PYX_ERR(2, 6081, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6082
 *             &scip_cons,
 *             str_conversion(kwargs['name']),
 *             scipexprs[len(nodes) - 1],             # <<<<<<<<<<<<<<
 *             kwargs['lhs'],
 *             kwargs['rhs'],
*/
  __pyx_t_5 = PyObject_Length(__pyx_v_nodes); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6082, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6083
 *             str_conversion(kwargs['name']),
 *             scipexprs[len(nodes) - 1],
 *             kwargs['lhs'],             # <<<<<<<<<<<<<<
 *             kwargs['rhs'],
 *             kwargs['initial'],
*/
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_lhs); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6083, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_12 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_12 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6083, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6084
 *             scipexprs[len(nodes) - 1],
 *             kwargs['lhs'],
 *             kwargs['rhs'],             # <<<<<<<<<<<<<<
 *             kwargs['initial'],
 *             kwargs['separate'],
*/
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_rhs); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6084, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_19 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_19 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6084, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6085
 *             kwargs['lhs'],
 *             kwargs['rhs'],
 *             kwargs['initial'],             # <<<<<<<<<<<<<<
 *             kwargs['separate'],
 *             kwargs['enforce'],
*/
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_initial); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_20 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6085, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6086
 *             kwargs['rhs'],
 *             kwargs['initial'],
 *             kwargs['separate'],             # <<<<<<<<<<<<<<
 *             kwargs['enforce'],
 *             kwargs['check'],
*/
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_separate); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6086, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_21 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6086, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6087
 *             kwargs['initial'],
 *             kwargs['separate'],
 *             kwargs['enforce'],             # <<<<<<<<<<<<<<
 *             kwargs['check'],
 *             kwargs['propagate'],
*/
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_enforce); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_22 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6087, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6088
 *             kwargs['separate'],
 *             kwargs['enforce'],
 *             kwargs['check'],             # <<<<<<<<<<<<<<
 *             kwargs['propagate'],
 *             kwargs['local'],
*/
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_check); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6088, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_23 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_23 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6088, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6089
 *             kwargs['enforce'],
 *             kwargs['check'],
 *             kwargs['propagate'],             # <<<<<<<<<<<<<<
 *             kwargs['local'],
 *             kwargs['modifiable'],
*/
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_propagate); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_24 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_24 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6089, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6090
 *             kwargs['check'],
 *             kwargs['propagate'],
 *             kwargs['local'],             # <<<<<<<<<<<<<<
 *             kwargs['modifiable'],
 *             kwargs['dynamic'],
*/
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_local); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6090, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_25 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_25 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6090, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6091
 *             kwargs['propagate'],
 *             kwargs['local'],
 *             kwargs['modifiable'],             # <<<<<<<<<<<<<<
 *             kwargs['dynamic'],
 *             kwargs['removable']) )
*/
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_modifiable); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_26 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_26 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6091, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6092
 *             kwargs['local'],
 *             kwargs['modifiable'],
 *             kwargs['dynamic'],             # <<<<<<<<<<<<<<
 *             kwargs['removable']) )
 *         PyCons = Constraint.create(scip_cons)
*/
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_dynamic); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_27 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_27 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6092, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6093
 *             kwargs['modifiable'],
 *             kwargs['dynamic'],
 *             kwargs['removable']) )             # <<<<<<<<<<<<<<
 *         PyCons = Constraint.create(scip_cons)
 *         for i in range(len(nodes)):
*/
  __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_removable); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_28 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_28 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6078
 * 
 *         # create nonlinear constraint for the expression root
 *         PY_SCIP_CALL( SCIPcreateConsNonlinear(             # <<<<<<<<<<<<<<
 *             self._scip,
 *             &scip_cons,
*/
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateConsNonlinear(__pyx_v_self->_scip, (&__pyx_v_scip_cons), __pyx_t_18, (__pyx_v_scipexprs[(__pyx_t_5 - 1)]), __pyx_t_12, __pyx_t_19, __pyx_t_20, __pyx_t_21, __pyx_t_22, __pyx_t_23, __pyx_t_24, __pyx_t_25, __pyx_t_26, __pyx_t_27, __pyx_t_28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_11))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_11);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_11, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_11, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6078, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6094
 *             kwargs['dynamic'],
 *             kwargs['removable']) )
 *         PyCons = Constraint.create(scip_cons)             # <<<<<<<<<<<<<<
 *         for i in range(len(nodes)):
 *             PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &scipexprs[i]) )
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_10Constraint_create(__pyx_v_scip_cons); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyCons = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6095
 *             kwargs['removable']) )
 *         PyCons = Constraint.create(scip_cons)
 *         for i in range(len(nodes)):             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &scipexprs[i]) )
 * 
*/
  __pyx_t_5 = PyObject_Length(__pyx_v_nodes); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6095, __pyx_L1_error)
  __pyx_t_10 = __pyx_t_5;
  for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_10; __pyx_t_9+=1) {
    __pyx_v_i = __pyx_t_9;

    /* "src/pyscipopt/scip.pxi":6096
 *         PyCons = Constraint.create(scip_cons)
 *         for i in range(len(nodes)):
 *             PY_SCIP_CALL( SCIPreleaseExpr(self._scip, &scipexprs[i]) )             # <<<<<<<<<<<<<<
 * 
 *         # free more memory
*/
    __pyx_t_11 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseExpr(__pyx_v_self->_scip, (&(__pyx_v_scipexprs[__pyx_v_i])))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6096, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_11);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_11);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6096, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/scip.pxi":6099
 * 
 *         # free more memory
 *         free(scipexprs)             # <<<<<<<<<<<<<<
 * 
 *         return PyCons
*/
  free(__pyx_v_scipexprs);

  /* "src/pyscipopt/scip.pxi":6101
 *         free(scipexprs)
 * 
 *         return PyCons             # <<<<<<<<<<<<<<
 * 
 *     def createConsFromExpr(self, cons, name='', initial=True, separate=True,
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_PyCons);
  __pyx_r = __pyx_v_PyCons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":5970
 *         return PyCons
 * 
 *     def _createConsGenNonlinear(self, cons, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         The function for creating a general non-linear constraint, but not adding it to the Model.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_AddTraceback("pyscipopt.scip.Model._createConsGenNonlinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XDECREF(__pyx_v_expr);
  __Pyx_XDECREF(__pyx_v_nodes);
  __Pyx_XDECREF(__pyx_v_nvars);
  __Pyx_XDECREF(__pyx_v_node);
  __Pyx_XDECREF(__pyx_v_opidx);
  __Pyx_XDECREF(__pyx_v_pyvar);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XDECREF(__pyx_v_pos);
  __Pyx_XDECREF(__pyx_v_valuenode);
  __Pyx_XDECREF(__pyx_v_exponent);
  __Pyx_XDECREF(__pyx_v_PyCons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6103
 *         return PyCons
 * 
 *     def createConsFromExpr(self, cons, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_355createConsFromExpr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_354createConsFromExpr, "\n        Create a linear or nonlinear constraint without adding it to the SCIP problem.\n        This is useful for creating disjunction constraints without also enforcing the individual constituents.\n        Currently, this can only be used as an argument to `.addConsElemDisjunction`. To add\n        an individual linear/nonlinear constraint, prefer `.addCons()`.\n\n        Parameters\n        ----------\n        cons : ExprCons\n            The expression constraint that is not yet an actual constraint\n        name : str, optional\n            the name of the constraint, generic name if empty (Default value = '')\n        initial : bool, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool, optional\n            should the constraint be separated during LP processing? (Default value = True)\n        enforce : bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        propagate : bool, optional\n            should the constraint be propagated during node processing? (Default value = True)\n        local : bool, optional\n            is the constraint only valid locally? (Default value = False)\n        modifiable : bool, optional\n            is the constraint modifiable (subject to column generation)? (Default value = False)\n        dynamic : bool, optional\n            is the constraint subject to aging? (Default value = False)\n        removable : bool, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = False)\n        stickingatnode : bool, optional\n            should the constraint always be kept at the node where it was added,\n            even if it may be  moved to a more global node? (Default value = False)\n\n        Returns\n        -------""\n        Constraint\n            The created Constraint object.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_355createConsFromExpr = {"createConsFromExpr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_355createConsFromExpr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_354createConsFromExpr};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_355createConsFromExpr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_cons = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_modifiable = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("createConsFromExpr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_modifiable,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6103, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "createConsFromExpr", 0) < (0)) __PYX_ERR(2, 6103, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6104
 * 
 *     def createConsFromExpr(self, cons, name='', initial=True, separate=True,
 *                 enforce=True, check=True, propagate=True, local=False,             # <<<<<<<<<<<<<<
 *                 modifiable=False, dynamic=False, removable=False,
 *                 stickingatnode=False):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6105
 *     def createConsFromExpr(self, cons, name='', initial=True, separate=True,
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,             # <<<<<<<<<<<<<<
 *                 stickingatnode=False):
 *         """
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6106
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
 *                 stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Create a linear or nonlinear constraint without adding it to the SCIP problem.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("createConsFromExpr", 0, 1, 12, i); __PYX_ERR(2, 6103, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6103, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6103, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":6103
 *         return PyCons
 * 
 *     def createConsFromExpr(self, cons, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
*/
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6104
 * 
 *     def createConsFromExpr(self, cons, name='', initial=True, separate=True,
 *                 enforce=True, check=True, propagate=True, local=False,             # <<<<<<<<<<<<<<
 *                 modifiable=False, dynamic=False, removable=False,
 *                 stickingatnode=False):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6105
 *     def createConsFromExpr(self, cons, name='', initial=True, separate=True,
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,             # <<<<<<<<<<<<<<
 *                 stickingatnode=False):
 *         """
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6106
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
 *                 stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Create a linear or nonlinear constraint without adding it to the SCIP problem.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_cons = values[0];
    __pyx_v_name = values[1];
    __pyx_v_initial = values[2];
    __pyx_v_separate = values[3];
    __pyx_v_enforce = values[4];
    __pyx_v_check = values[5];
    __pyx_v_propagate = values[6];
    __pyx_v_local = values[7];
    __pyx_v_modifiable = values[8];
    __pyx_v_dynamic = values[9];
    __pyx_v_removable = values[10];
    __pyx_v_stickingatnode = values[11];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("createConsFromExpr", 0, 1, 12, __pyx_nargs); __PYX_ERR(2, 6103, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.createConsFromExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_354createConsFromExpr(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_modifiable, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":6103
 *         return PyCons
 * 
 *     def createConsFromExpr(self, cons, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_354createConsFromExpr(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  PyObject *__pyx_v_kwargs = NULL;
  PyObject *__pyx_v_deg = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  double __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("createConsFromExpr", 0);
  __Pyx_INCREF(__pyx_v_name);

  /* "src/pyscipopt/scip.pxi":6147
 * 
 *         """
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 6147, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":6148
 *         """
 *         if name == '':
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)             # <<<<<<<<<<<<<<
 * 
 *         kwargs = dict(name=name, initial=initial, separate=separate,
*/
    __pyx_t_2 = __Pyx_PyLong_From_long((SCIPgetNConss(__pyx_v_self->_scip) + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_n_u_c, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6148, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":6147
 * 
 *         """
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":6150
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
 *         kwargs = dict(name=name, initial=initial, separate=separate,             # <<<<<<<<<<<<<<
 *                       enforce=enforce, check=check,
 *                       propagate=propagate, local=local,
*/
  __pyx_t_2 = __Pyx_PyDict_NewPresized(11); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name, __pyx_v_name) < (0)) __PYX_ERR(2, 6150, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_initial, __pyx_v_initial) < (0)) __PYX_ERR(2, 6150, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_separate, __pyx_v_separate) < (0)) __PYX_ERR(2, 6150, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6151
 * 
 *         kwargs = dict(name=name, initial=initial, separate=separate,
 *                       enforce=enforce, check=check,             # <<<<<<<<<<<<<<
 *                       propagate=propagate, local=local,
 *                       modifiable=modifiable, dynamic=dynamic,
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_enforce, __pyx_v_enforce) < (0)) __PYX_ERR(2, 6150, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_check, __pyx_v_check) < (0)) __PYX_ERR(2, 6150, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6152
 *         kwargs = dict(name=name, initial=initial, separate=separate,
 *                       enforce=enforce, check=check,
 *                       propagate=propagate, local=local,             # <<<<<<<<<<<<<<
 *                       modifiable=modifiable, dynamic=dynamic,
 *                       removable=removable,
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_propagate, __pyx_v_propagate) < (0)) __PYX_ERR(2, 6150, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_local, __pyx_v_local) < (0)) __PYX_ERR(2, 6150, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6153
 *                       enforce=enforce, check=check,
 *                       propagate=propagate, local=local,
 *                       modifiable=modifiable, dynamic=dynamic,             # <<<<<<<<<<<<<<
 *                       removable=removable,
 *                       stickingatnode=stickingatnode
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_modifiable, __pyx_v_modifiable) < (0)) __PYX_ERR(2, 6150, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dynamic, __pyx_v_dynamic) < (0)) __PYX_ERR(2, 6150, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6154
 *                       propagate=propagate, local=local,
 *                       modifiable=modifiable, dynamic=dynamic,
 *                       removable=removable,             # <<<<<<<<<<<<<<
 *                       stickingatnode=stickingatnode
 *                       )
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_removable, __pyx_v_removable) < (0)) __PYX_ERR(2, 6150, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6155
 *                       modifiable=modifiable, dynamic=dynamic,
 *                       removable=removable,
 *                       stickingatnode=stickingatnode             # <<<<<<<<<<<<<<
 *                       )
 * 
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_stickingatnode, __pyx_v_stickingatnode) < (0)) __PYX_ERR(2, 6150, __pyx_L1_error)
  __pyx_v_kwargs = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6158
 *                       )
 * 
 *         kwargs['lhs'] = -SCIPinfinity(self._scip) if cons._lhs is None else cons._lhs             # <<<<<<<<<<<<<<
 *         kwargs['rhs'] =  SCIPinfinity(self._scip) if cons._rhs is None else cons._rhs
 * 
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_lhs_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = (__pyx_t_3 == Py_None);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_1) {
    __pyx_t_3 = PyFloat_FromDouble((-SCIPinfinity(__pyx_v_self->_scip))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_lhs_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  }
  if (unlikely((PyDict_SetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_lhs, __pyx_t_2) < 0))) __PYX_ERR(2, 6158, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6159
 * 
 *         kwargs['lhs'] = -SCIPinfinity(self._scip) if cons._lhs is None else cons._lhs
 *         kwargs['rhs'] =  SCIPinfinity(self._scip) if cons._rhs is None else cons._rhs             # <<<<<<<<<<<<<<
 * 
 *         deg = cons.expr.degree()
*/
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_rhs_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = (__pyx_t_3 == Py_None);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_1) {
    __pyx_t_3 = PyFloat_FromDouble(SCIPinfinity(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  } else {
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_rhs_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = __pyx_t_3;
    __pyx_t_3 = 0;
  }
  if (unlikely((PyDict_SetItem(__pyx_v_kwargs, __pyx_mstate_global->__pyx_n_u_rhs, __pyx_t_2) < 0))) __PYX_ERR(2, 6159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6161
 *         kwargs['rhs'] =  SCIPinfinity(self._scip) if cons._rhs is None else cons._rhs
 * 
 *         deg = cons.expr.degree()             # <<<<<<<<<<<<<<
 *         if deg <= 1:
 *             return self._createConsLinear(cons, **kwargs)
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_expr); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __pyx_t_4;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_degree, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6161, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_deg = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6162
 * 
 *         deg = cons.expr.degree()
 *         if deg <= 1:             # <<<<<<<<<<<<<<
 *             return self._createConsLinear(cons, **kwargs)
 *         elif deg <= 2:
*/
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_deg, __pyx_mstate_global->__pyx_int_1, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6162, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 6162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":6163
 *         deg = cons.expr.degree()
 *         if deg <= 1:
 *             return self._createConsLinear(cons, **kwargs)             # <<<<<<<<<<<<<<
 *         elif deg <= 2:
 *             return self._createConsQuadratic(cons, **kwargs)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = NULL;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_createConsLinear); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6163, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_cons};
      __pyx_t_2 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_6);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6163, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":6162
 * 
 *         deg = cons.expr.degree()
 *         if deg <= 1:             # <<<<<<<<<<<<<<
 *             return self._createConsLinear(cons, **kwargs)
 *         elif deg <= 2:
*/
  }

  /* "src/pyscipopt/scip.pxi":6164
 *         if deg <= 1:
 *             return self._createConsLinear(cons, **kwargs)
 *         elif deg <= 2:             # <<<<<<<<<<<<<<
 *             return self._createConsQuadratic(cons, **kwargs)
 *         elif deg == float('inf'): # general nonlinear
*/
  __pyx_t_2 = PyObject_RichCompare(__pyx_v_deg, __pyx_mstate_global->__pyx_int_2, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6164, __pyx_L1_error)
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 6164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":6165
 *             return self._createConsLinear(cons, **kwargs)
 *         elif deg <= 2:
 *             return self._createConsQuadratic(cons, **kwargs)             # <<<<<<<<<<<<<<
 *         elif deg == float('inf'): # general nonlinear
 *             return self._createConsGenNonlinear(cons, **kwargs)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = NULL;
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_createConsQuadratic); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6165, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_cons};
      __pyx_t_2 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6165, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":6164
 *         if deg <= 1:
 *             return self._createConsLinear(cons, **kwargs)
 *         elif deg <= 2:             # <<<<<<<<<<<<<<
 *             return self._createConsQuadratic(cons, **kwargs)
 *         elif deg == float('inf'): # general nonlinear
*/
  }

  /* "src/pyscipopt/scip.pxi":6166
 *         elif deg <= 2:
 *             return self._createConsQuadratic(cons, **kwargs)
 *         elif deg == float('inf'): # general nonlinear             # <<<<<<<<<<<<<<
 *             return self._createConsGenNonlinear(cons, **kwargs)
 *         else:
*/
  __pyx_t_7 = __Pyx_PyUnicode_AsDouble(__pyx_mstate_global->__pyx_n_u_inf); if (unlikely(__PYX_CHECK_FLOAT_EXCEPTION(__pyx_t_7, ((double)((double)-1))) && PyErr_Occurred())) __PYX_ERR(2, 6166, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyObject_RichCompare(__pyx_v_deg, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 6166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":6167
 *             return self._createConsQuadratic(cons, **kwargs)
 *         elif deg == float('inf'): # general nonlinear
 *             return self._createConsGenNonlinear(cons, **kwargs)             # <<<<<<<<<<<<<<
 *         else:
 *             return self._createConsNonlinear(cons, **kwargs)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = NULL;
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_createConsGenNonlinear); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6167, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_cons};
      __pyx_t_6 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":6166
 *         elif deg <= 2:
 *             return self._createConsQuadratic(cons, **kwargs)
 *         elif deg == float('inf'): # general nonlinear             # <<<<<<<<<<<<<<
 *             return self._createConsGenNonlinear(cons, **kwargs)
 *         else:
*/
  }

  /* "src/pyscipopt/scip.pxi":6169
 *             return self._createConsGenNonlinear(cons, **kwargs)
 *         else:
 *             return self._createConsNonlinear(cons, **kwargs)             # <<<<<<<<<<<<<<
 * 
 *     # Constraint functions
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_4 = NULL;
    __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_createConsNonlinear); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6169, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_cons};
      __pyx_t_6 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_2);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_r = __pyx_t_6;
    __pyx_t_6 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/scip.pxi":6103
 *         return PyCons
 * 
 *     def createConsFromExpr(self, cons, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.createConsFromExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_XDECREF(__pyx_v_deg);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6172
 * 
 *     # Constraint functions
 *     def addCons(self, cons, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_357addCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_356addCons, "\n        Add a linear or nonlinear constraint.\n\n        Parameters\n        ----------\n        cons : ExprCons\n            the constraint expression to add to the model (e.g., x + y <= 5) \n        name : str, optional\n            the name of the constraint, generic name if empty (Default value = \"\")\n        initial : bool, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool, optional\n            should the constraint be separated during LP processing? (Default value = True)\n        enforce : bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        propagate : bool, optional\n            should the constraint be propagated during node processing? (Default value = True)\n        local : bool, optional\n            is the constraint only valid locally? (Default value = False)\n        modifiable : bool, optional\n            is the constraint modifiable (subject to column generation)? (Default value = False)\n        dynamic : bool, optional\n            is the constraint subject to aging? (Default value = False)\n        removable : bool, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = False)\n        stickingatnode : bool, optional\n            should the constraints always be kept at the node where it was added,\n            even if it may be moved to a more global node? (Default value = False)\n\n        Returns\n        -------\n        Constraint\n            The created and added Constraint object.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_357addCons = {"addCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_357addCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_356addCons};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_357addCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_cons = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_modifiable = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addCons (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_modifiable,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6172, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addCons", 0) < (0)) __PYX_ERR(2, 6172, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6173
 *     # Constraint functions
 *     def addCons(self, cons, name='', initial=True, separate=True,
 *                 enforce=True, check=True, propagate=True, local=False,             # <<<<<<<<<<<<<<
 *                 modifiable=False, dynamic=False, removable=False,
 *                 stickingatnode=False):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6174
 *     def addCons(self, cons, name='', initial=True, separate=True,
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,             # <<<<<<<<<<<<<<
 *                 stickingatnode=False):
 *         """
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6175
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
 *                 stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add a linear or nonlinear constraint.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addCons", 0, 1, 12, i); __PYX_ERR(2, 6172, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6172, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6172, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":6172
 * 
 *     # Constraint functions
 *     def addCons(self, cons, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
*/
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6173
 *     # Constraint functions
 *     def addCons(self, cons, name='', initial=True, separate=True,
 *                 enforce=True, check=True, propagate=True, local=False,             # <<<<<<<<<<<<<<
 *                 modifiable=False, dynamic=False, removable=False,
 *                 stickingatnode=False):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6174
 *     def addCons(self, cons, name='', initial=True, separate=True,
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,             # <<<<<<<<<<<<<<
 *                 stickingatnode=False):
 *         """
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6175
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
 *                 stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add a linear or nonlinear constraint.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_cons = values[0];
    __pyx_v_name = values[1];
    __pyx_v_initial = values[2];
    __pyx_v_separate = values[3];
    __pyx_v_enforce = values[4];
    __pyx_v_check = values[5];
    __pyx_v_propagate = values[6];
    __pyx_v_local = values[7];
    __pyx_v_modifiable = values[8];
    __pyx_v_dynamic = values[9];
    __pyx_v_removable = values[10];
    __pyx_v_stickingatnode = values[11];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addCons", 0, 1, 12, __pyx_nargs); __PYX_ERR(2, 6172, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_356addCons(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_modifiable, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":6172
 * 
 *     # Constraint functions
 *     def addCons(self, cons, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_356addCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  SCIP_CONS *__pyx_v_scip_cons;
  PyObject *__pyx_v_kwargs = NULL;
  PyObject *__pyx_v_pycons_initial = NULL;
  PyObject *__pyx_v_pycons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  SCIP_CONS *__pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addCons", 0);

  /* "src/pyscipopt/scip.pxi":6213
 * 
 *         """
 *         assert isinstance(cons, ExprCons), "given constraint is not ExprCons but %s" % cons.__class__.__name__             # <<<<<<<<<<<<<<
 * 
 *         cdef SCIP_CONS* scip_cons
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_cons, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons); 
    if (unlikely(!__pyx_t_1)) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6213, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6213, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_given_constraint_is_not_ExprCons, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6213, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_2, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(2, 6213, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 6213, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":6217
 *         cdef SCIP_CONS* scip_cons
 * 
 *         kwargs = dict(name=name, initial=initial, separate=separate,             # <<<<<<<<<<<<<<
 *                       enforce=enforce, check=check,
 *                       propagate=propagate, local=local,
*/
  __pyx_t_2 = __Pyx_PyDict_NewPresized(11); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name, __pyx_v_name) < (0)) __PYX_ERR(2, 6217, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_initial, __pyx_v_initial) < (0)) __PYX_ERR(2, 6217, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_separate, __pyx_v_separate) < (0)) __PYX_ERR(2, 6217, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6218
 * 
 *         kwargs = dict(name=name, initial=initial, separate=separate,
 *                       enforce=enforce, check=check,             # <<<<<<<<<<<<<<
 *                       propagate=propagate, local=local,
 *                       modifiable=modifiable, dynamic=dynamic,
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_enforce, __pyx_v_enforce) < (0)) __PYX_ERR(2, 6217, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_check, __pyx_v_check) < (0)) __PYX_ERR(2, 6217, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6219
 *         kwargs = dict(name=name, initial=initial, separate=separate,
 *                       enforce=enforce, check=check,
 *                       propagate=propagate, local=local,             # <<<<<<<<<<<<<<
 *                       modifiable=modifiable, dynamic=dynamic,
 *                       removable=removable,
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_propagate, __pyx_v_propagate) < (0)) __PYX_ERR(2, 6217, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_local, __pyx_v_local) < (0)) __PYX_ERR(2, 6217, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6220
 *                       enforce=enforce, check=check,
 *                       propagate=propagate, local=local,
 *                       modifiable=modifiable, dynamic=dynamic,             # <<<<<<<<<<<<<<
 *                       removable=removable,
 *                       stickingatnode=stickingatnode
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_modifiable, __pyx_v_modifiable) < (0)) __PYX_ERR(2, 6217, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dynamic, __pyx_v_dynamic) < (0)) __PYX_ERR(2, 6217, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6221
 *                       propagate=propagate, local=local,
 *                       modifiable=modifiable, dynamic=dynamic,
 *                       removable=removable,             # <<<<<<<<<<<<<<
 *                       stickingatnode=stickingatnode
 *                       )
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_removable, __pyx_v_removable) < (0)) __PYX_ERR(2, 6217, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6222
 *                       modifiable=modifiable, dynamic=dynamic,
 *                       removable=removable,
 *                       stickingatnode=stickingatnode             # <<<<<<<<<<<<<<
 *                       )
 *         #  we have to pass this back to a SCIP_CONS*
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_stickingatnode, __pyx_v_stickingatnode) < (0)) __PYX_ERR(2, 6217, __pyx_L1_error)
  __pyx_v_kwargs = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6228
 *         # correctly. Otherwise, segfaults when trying to query information
 *         # about the created constraint later.
 *         pycons_initial = self.createConsFromExpr(cons, **kwargs)             # <<<<<<<<<<<<<<
 *         scip_cons = (<Constraint>pycons_initial).scip_cons
 * 
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_createConsFromExpr); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_cons};
    __pyx_t_2 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_pycons_initial = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6229
 *         # about the created constraint later.
 *         pycons_initial = self.createConsFromExpr(cons, **kwargs)
 *         scip_cons = (<Constraint>pycons_initial).scip_cons             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
*/
  __pyx_t_7 = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_pycons_initial)->scip_cons;
  __pyx_v_scip_cons = __pyx_t_7;

  /* "src/pyscipopt/scip.pxi":6231
 *         scip_cons = (<Constraint>pycons_initial).scip_cons
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))             # <<<<<<<<<<<<<<
 *         pycons = self._getOrCreateCons(scip_cons)
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCons(__pyx_v_self->_scip, __pyx_v_scip_cons)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6231, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6232
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
 *         pycons = self._getOrCreateCons(scip_cons)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
*/
  __pyx_t_2 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateCons(__pyx_v_self, __pyx_v_scip_cons); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pycons = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6233
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
 *         pycons = self._getOrCreateCons(scip_cons)
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))             # <<<<<<<<<<<<<<
 * 
 *         return pycons
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseCons(__pyx_v_self->_scip, (&__pyx_v_scip_cons))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6233, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6235
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
 *         return pycons             # <<<<<<<<<<<<<<
 * 
 *     def addConss(self, conss, name='', initial=True, separate=True,
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pycons);
  __pyx_r = __pyx_v_pycons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6172
 * 
 *     # Constraint functions
 *     def addCons(self, cons, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_XDECREF(__pyx_v_pycons_initial);
  __Pyx_XDECREF(__pyx_v_pycons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6237
 *         return pycons
 * 
 *     def addConss(self, conss, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                  enforce=True, check=True, propagate=True, local=False,
 *                  modifiable=False, dynamic=False, removable=False,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_359addConss(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_358addConss, "Adds multiple constraints.\n\n        Each of the constraints is added to the model using Model.addCons().\n\n        For all parameters, except `conss`, this method behaves differently depending on the\n        type of the passed argument:\n        1. If the value is iterable, it must be of the same length as `conss`. For each\n        constraint, Model.addCons() will be called with the value at the corresponding index.\n        2. Else, the (default) value will be applied to all of the constraints.\n\n        Parameters\n        ----------\n        conss : iterable of ExprCons\n            An iterable of constraint objects. Any iterable will be converted into a list before further processing.\n        name : str or iterable of str, optional\n            the name of the constraint, generic name if empty (Default value = '')\n        initial : bool or iterable of bool, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool or iterable of bool, optional\n            should the constraint be separated during LP processing? (Default value = True)\n        enforce : bool or iterable of bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool or iterable of bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        propagate : bool or iterable of bool, optional\n            should the constraint be propagated during node processing? (Default value = True)\n        local : bool or iterable of bool, optional\n            is the constraint only valid locally? (Default value = False)\n        modifiable : bool or iterable of bool, optional\n            is the constraint modifiable (subject to column generation)? (Default value = False)\n        dynamic : bool or iterable of bool, optional\n            is the constraint subject to aging? (Default value = False)\n        removabl""e : bool or iterable of bool, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = False)\n        stickingatnode : bool or iterable of bool, optional\n            should the constraints always be kept at the node where it was added,\n            even if it may be moved to a more global node? (Default value = False)\n\n        Returns\n        -------\n        list of Constraint\n            The created and added Constraint objects.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_359addConss = {"addConss", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_359addConss, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_358addConss};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_359addConss(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_conss = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_modifiable = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConss (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_conss,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_modifiable,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6237, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConss", 0) < (0)) __PYX_ERR(2, 6237, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6238
 * 
 *     def addConss(self, conss, name='', initial=True, separate=True,
 *                  enforce=True, check=True, propagate=True, local=False,             # <<<<<<<<<<<<<<
 *                  modifiable=False, dynamic=False, removable=False,
 *                  stickingatnode=False):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6239
 *     def addConss(self, conss, name='', initial=True, separate=True,
 *                  enforce=True, check=True, propagate=True, local=False,
 *                  modifiable=False, dynamic=False, removable=False,             # <<<<<<<<<<<<<<
 *                  stickingatnode=False):
 *         """Adds multiple constraints.
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6240
 *                  enforce=True, check=True, propagate=True, local=False,
 *                  modifiable=False, dynamic=False, removable=False,
 *                  stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """Adds multiple constraints.
 * 
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConss", 0, 1, 12, i); __PYX_ERR(2, 6237, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6237, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6237, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":6237
 *         return pycons
 * 
 *     def addConss(self, conss, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                  enforce=True, check=True, propagate=True, local=False,
 *                  modifiable=False, dynamic=False, removable=False,
*/
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6238
 * 
 *     def addConss(self, conss, name='', initial=True, separate=True,
 *                  enforce=True, check=True, propagate=True, local=False,             # <<<<<<<<<<<<<<
 *                  modifiable=False, dynamic=False, removable=False,
 *                  stickingatnode=False):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6239
 *     def addConss(self, conss, name='', initial=True, separate=True,
 *                  enforce=True, check=True, propagate=True, local=False,
 *                  modifiable=False, dynamic=False, removable=False,             # <<<<<<<<<<<<<<
 *                  stickingatnode=False):
 *         """Adds multiple constraints.
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6240
 *                  enforce=True, check=True, propagate=True, local=False,
 *                  modifiable=False, dynamic=False, removable=False,
 *                  stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """Adds multiple constraints.
 * 
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_conss = values[0];
    __pyx_v_name = values[1];
    __pyx_v_initial = values[2];
    __pyx_v_separate = values[3];
    __pyx_v_enforce = values[4];
    __pyx_v_check = values[5];
    __pyx_v_propagate = values[6];
    __pyx_v_local = values[7];
    __pyx_v_modifiable = values[8];
    __pyx_v_dynamic = values[9];
    __pyx_v_removable = values[10];
    __pyx_v_stickingatnode = values[11];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConss", 0, 1, 12, __pyx_nargs); __PYX_ERR(2, 6237, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConss", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_358addConss(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_conss, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_modifiable, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":6237
 *         return pycons
 * 
 *     def addConss(self, conss, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                  enforce=True, check=True, propagate=True, local=False,
 *                  modifiable=False, dynamic=False, removable=False,
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6291
 *             conss = conss.flatten()
 * 
 *         def ensure_iterable(elem, length):             # <<<<<<<<<<<<<<
 *             if isinstance(elem, Iterable):
 *                 return elem
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_8addConss_1ensure_iterable(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_8addConss_1ensure_iterable = {"ensure_iterable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_8addConss_1ensure_iterable, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_8addConss_1ensure_iterable(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_elem = 0;
  PyObject *__pyx_v_length = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ensure_iterable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_elem,&__pyx_mstate_global->__pyx_n_u_length,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6291, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6291, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6291, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ensure_iterable", 0) < (0)) __PYX_ERR(2, 6291, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ensure_iterable", 1, 2, 2, i); __PYX_ERR(2, 6291, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6291, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6291, __pyx_L3_error)
    }
    __pyx_v_elem = values[0];
    __pyx_v_length = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("ensure_iterable", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 6291, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConss.ensure_iterable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_8addConss_ensure_iterable(__pyx_self, __pyx_v_elem, __pyx_v_length);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_8addConss_ensure_iterable(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_elem, PyObject *__pyx_v_length) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("ensure_iterable", 0);

  /* "src/pyscipopt/scip.pxi":6292
 * 
 *         def ensure_iterable(elem, length):
 *             if isinstance(elem, Iterable):             # <<<<<<<<<<<<<<
 *                 return elem
 *             else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Iterable); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_elem, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 6292, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":6293
 *         def ensure_iterable(elem, length):
 *             if isinstance(elem, Iterable):
 *                 return elem             # <<<<<<<<<<<<<<
 *             else:
 *                 return list(repeat(elem, length))
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_elem);
    __pyx_r = __pyx_v_elem;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":6292
 * 
 *         def ensure_iterable(elem, length):
 *             if isinstance(elem, Iterable):             # <<<<<<<<<<<<<<
 *                 return elem
 *             else:
*/
  }

  /* "src/pyscipopt/scip.pxi":6295
 *                 return elem
 *             else:
 *                 return list(repeat(elem, length))             # <<<<<<<<<<<<<<
 * 
 *         assert isinstance(conss, Iterable), "Given constraint list is not iterable."
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_repeat); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_elem, __pyx_v_length};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6295, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_4 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6295, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/scip.pxi":6291
 *             conss = conss.flatten()
 * 
 *         def ensure_iterable(elem, length):             # <<<<<<<<<<<<<<
 *             if isinstance(elem, Iterable):
 *                 return elem
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConss.ensure_iterable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6237
 *         return pycons
 * 
 *     def addConss(self, conss, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                  enforce=True, check=True, propagate=True, local=False,
 *                  modifiable=False, dynamic=False, removable=False,
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_358addConss(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_conss, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  int __pyx_v_n_conss;
  int __pyx_v_i;
  PyObject *__pyx_v_ensure_iterable = 0;
  PyObject *__pyx_v_constraints = NULL;
  PyObject *__pyx_v_cons = NULL;
  CYTHON_UNUSED int __pyx_9genexpr47__pyx_v_i;
  int __pyx_9genexpr48__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10[3];
  PyObject *__pyx_t_11 = NULL;
  PyObject *(*__pyx_t_12)(PyObject *);
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  PyObject *__pyx_t_21 = NULL;
  PyObject *__pyx_t_22 = NULL;
  int __pyx_t_23;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConss", 0);
  __Pyx_INCREF(__pyx_v_conss);
  __Pyx_INCREF(__pyx_v_name);
  __Pyx_INCREF(__pyx_v_initial);
  __Pyx_INCREF(__pyx_v_separate);
  __Pyx_INCREF(__pyx_v_enforce);
  __Pyx_INCREF(__pyx_v_check);
  __Pyx_INCREF(__pyx_v_propagate);
  __Pyx_INCREF(__pyx_v_local);
  __Pyx_INCREF(__pyx_v_modifiable);
  __Pyx_INCREF(__pyx_v_dynamic);
  __Pyx_INCREF(__pyx_v_removable);
  __Pyx_INCREF(__pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":6288
 *         cdef int i
 * 
 *         if isinstance(conss, MatrixExprCons):             # <<<<<<<<<<<<<<
 *             conss = conss.flatten()
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_MatrixExprCons); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_conss, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 6288, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":6289
 * 
 *         if isinstance(conss, MatrixExprCons):
 *             conss = conss.flatten()             # <<<<<<<<<<<<<<
 * 
 *         def ensure_iterable(elem, length):
*/
    __pyx_t_3 = __pyx_v_conss;
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_flatten, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF_SET(__pyx_v_conss, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":6288
 *         cdef int i
 * 
 *         if isinstance(conss, MatrixExprCons):             # <<<<<<<<<<<<<<
 *             conss = conss.flatten()
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":6291
 *             conss = conss.flatten()
 * 
 *         def ensure_iterable(elem, length):             # <<<<<<<<<<<<<<
 *             if isinstance(elem, Iterable):
 *                 return elem
*/
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_8addConss_1ensure_iterable, 0, __pyx_mstate_global->__pyx_n_u_addConss_locals_ensure_iterable, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[19])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_ensure_iterable = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6297
 *                 return list(repeat(elem, length))
 * 
 *         assert isinstance(conss, Iterable), "Given constraint list is not iterable."             # <<<<<<<<<<<<<<
 * 
 *         conss = list(conss)
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Iterable); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6297, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyObject_IsInstance(__pyx_v_conss, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 6297, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_Given_constraint_list_is_not_ite, 0, 0);
      __PYX_ERR(2, 6297, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 6297, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":6299
 *         assert isinstance(conss, Iterable), "Given constraint list is not iterable."
 * 
 *         conss = list(conss)             # <<<<<<<<<<<<<<
 *         n_conss = len(conss)
 * 
*/
  __pyx_t_1 = PySequence_List(__pyx_v_conss); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF_SET(__pyx_v_conss, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6300
 * 
 *         conss = list(conss)
 *         n_conss = len(conss)             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(name, str):
*/
  __pyx_t_5 = PyObject_Length(__pyx_v_conss); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6300, __pyx_L1_error)
  __pyx_v_n_conss = __pyx_t_5;

  /* "src/pyscipopt/scip.pxi":6302
 *         n_conss = len(conss)
 * 
 *         if isinstance(name, str):             # <<<<<<<<<<<<<<
 *             if name == "":
 *                 name = ["" for i in range(n_conss)]
*/
  __pyx_t_2 = PyUnicode_Check(__pyx_v_name); 
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":6303
 * 
 *         if isinstance(name, str):
 *             if name == "":             # <<<<<<<<<<<<<<
 *                 name = ["" for i in range(n_conss)]
 *             else:
*/
    __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 6303, __pyx_L1_error)
    if (__pyx_t_2) {

      /* "src/pyscipopt/scip.pxi":6304
 *         if isinstance(name, str):
 *             if name == "":
 *                 name = ["" for i in range(n_conss)]             # <<<<<<<<<<<<<<
 *             else:
 *                 name = ["%s_%s" % (name, i) for i in range(n_conss)]
*/
      { /* enter inner scope */
        __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6304, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_6 = __pyx_v_n_conss;
        __pyx_t_7 = __pyx_t_6;
        for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
          __pyx_9genexpr47__pyx_v_i = __pyx_t_8;
          if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_mstate_global->__pyx_kp_u__11))) __PYX_ERR(2, 6304, __pyx_L1_error)
        }
      } /* exit inner scope */
      __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "src/pyscipopt/scip.pxi":6303
 * 
 *         if isinstance(name, str):
 *             if name == "":             # <<<<<<<<<<<<<<
 *                 name = ["" for i in range(n_conss)]
 *             else:
*/
      goto __pyx_L5;
    }

    /* "src/pyscipopt/scip.pxi":6306
 *                 name = ["" for i in range(n_conss)]
 *             else:
 *                 name = ["%s_%s" % (name, i) for i in range(n_conss)]             # <<<<<<<<<<<<<<
 * 
 *         initial = ensure_iterable(initial, n_conss)
*/
    /*else*/ {
      { /* enter inner scope */
        __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6306, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_6 = __pyx_v_n_conss;
        __pyx_t_7 = __pyx_t_6;
        for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
          __pyx_9genexpr48__pyx_v_i = __pyx_t_8;
          __pyx_t_3 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Str(__pyx_v_name), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6306, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_9 = __Pyx_PyUnicode_From_int(__pyx_9genexpr48__pyx_v_i, 0, ' ', 'd'); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 6306, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_9);
          __pyx_t_10[0] = __pyx_t_3;
          __pyx_t_10[1] = __pyx_mstate_global->__pyx_n_u__9;
          __pyx_t_10[2] = __pyx_t_9;
          __pyx_t_11 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_3));
          if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6306, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_11);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
          if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_11))) __PYX_ERR(2, 6306, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        }
      } /* exit inner scope */
      __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_1);
      __pyx_t_1 = 0;
    }
    __pyx_L5:;

    /* "src/pyscipopt/scip.pxi":6302
 *         n_conss = len(conss)
 * 
 *         if isinstance(name, str):             # <<<<<<<<<<<<<<
 *             if name == "":
 *                 name = ["" for i in range(n_conss)]
*/
  }

  /* "src/pyscipopt/scip.pxi":6308
 *                 name = ["%s_%s" % (name, i) for i in range(n_conss)]
 * 
 *         initial = ensure_iterable(initial, n_conss)             # <<<<<<<<<<<<<<
 *         separate = ensure_iterable(separate, n_conss)
 *         enforce = ensure_iterable(enforce, n_conss)
*/
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_n_conss); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_11 = __pyx_pf_9pyscipopt_4scip_5Model_8addConss_ensure_iterable(__pyx_v_ensure_iterable, __pyx_v_initial, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF_SET(__pyx_v_initial, __pyx_t_11);
  __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":6309
 * 
 *         initial = ensure_iterable(initial, n_conss)
 *         separate = ensure_iterable(separate, n_conss)             # <<<<<<<<<<<<<<
 *         enforce = ensure_iterable(enforce, n_conss)
 *         check = ensure_iterable(check, n_conss)
*/
  __pyx_t_11 = __Pyx_PyLong_From_int(__pyx_v_n_conss); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_1 = __pyx_pf_9pyscipopt_4scip_5Model_8addConss_ensure_iterable(__pyx_v_ensure_iterable, __pyx_v_separate, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF_SET(__pyx_v_separate, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6310
 *         initial = ensure_iterable(initial, n_conss)
 *         separate = ensure_iterable(separate, n_conss)
 *         enforce = ensure_iterable(enforce, n_conss)             # <<<<<<<<<<<<<<
 *         check = ensure_iterable(check, n_conss)
 *         propagate = ensure_iterable(propagate, n_conss)
*/
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_n_conss); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_11 = __pyx_pf_9pyscipopt_4scip_5Model_8addConss_ensure_iterable(__pyx_v_ensure_iterable, __pyx_v_enforce, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF_SET(__pyx_v_enforce, __pyx_t_11);
  __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":6311
 *         separate = ensure_iterable(separate, n_conss)
 *         enforce = ensure_iterable(enforce, n_conss)
 *         check = ensure_iterable(check, n_conss)             # <<<<<<<<<<<<<<
 *         propagate = ensure_iterable(propagate, n_conss)
 *         local = ensure_iterable(local, n_conss)
*/
  __pyx_t_11 = __Pyx_PyLong_From_int(__pyx_v_n_conss); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_1 = __pyx_pf_9pyscipopt_4scip_5Model_8addConss_ensure_iterable(__pyx_v_ensure_iterable, __pyx_v_check, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF_SET(__pyx_v_check, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6312
 *         enforce = ensure_iterable(enforce, n_conss)
 *         check = ensure_iterable(check, n_conss)
 *         propagate = ensure_iterable(propagate, n_conss)             # <<<<<<<<<<<<<<
 *         local = ensure_iterable(local, n_conss)
 *         modifiable = ensure_iterable(modifiable, n_conss)
*/
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_n_conss); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_11 = __pyx_pf_9pyscipopt_4scip_5Model_8addConss_ensure_iterable(__pyx_v_ensure_iterable, __pyx_v_propagate, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF_SET(__pyx_v_propagate, __pyx_t_11);
  __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":6313
 *         check = ensure_iterable(check, n_conss)
 *         propagate = ensure_iterable(propagate, n_conss)
 *         local = ensure_iterable(local, n_conss)             # <<<<<<<<<<<<<<
 *         modifiable = ensure_iterable(modifiable, n_conss)
 *         dynamic = ensure_iterable(dynamic, n_conss)
*/
  __pyx_t_11 = __Pyx_PyLong_From_int(__pyx_v_n_conss); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_1 = __pyx_pf_9pyscipopt_4scip_5Model_8addConss_ensure_iterable(__pyx_v_ensure_iterable, __pyx_v_local, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF_SET(__pyx_v_local, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6314
 *         propagate = ensure_iterable(propagate, n_conss)
 *         local = ensure_iterable(local, n_conss)
 *         modifiable = ensure_iterable(modifiable, n_conss)             # <<<<<<<<<<<<<<
 *         dynamic = ensure_iterable(dynamic, n_conss)
 *         removable = ensure_iterable(removable, n_conss)
*/
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_n_conss); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_11 = __pyx_pf_9pyscipopt_4scip_5Model_8addConss_ensure_iterable(__pyx_v_ensure_iterable, __pyx_v_modifiable, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6314, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF_SET(__pyx_v_modifiable, __pyx_t_11);
  __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":6315
 *         local = ensure_iterable(local, n_conss)
 *         modifiable = ensure_iterable(modifiable, n_conss)
 *         dynamic = ensure_iterable(dynamic, n_conss)             # <<<<<<<<<<<<<<
 *         removable = ensure_iterable(removable, n_conss)
 *         stickingatnode = ensure_iterable(stickingatnode, n_conss)
*/
  __pyx_t_11 = __Pyx_PyLong_From_int(__pyx_v_n_conss); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_1 = __pyx_pf_9pyscipopt_4scip_5Model_8addConss_ensure_iterable(__pyx_v_ensure_iterable, __pyx_v_dynamic, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF_SET(__pyx_v_dynamic, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6316
 *         modifiable = ensure_iterable(modifiable, n_conss)
 *         dynamic = ensure_iterable(dynamic, n_conss)
 *         removable = ensure_iterable(removable, n_conss)             # <<<<<<<<<<<<<<
 *         stickingatnode = ensure_iterable(stickingatnode, n_conss)
 * 
*/
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_n_conss); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_11 = __pyx_pf_9pyscipopt_4scip_5Model_8addConss_ensure_iterable(__pyx_v_ensure_iterable, __pyx_v_removable, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6316, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF_SET(__pyx_v_removable, __pyx_t_11);
  __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":6317
 *         dynamic = ensure_iterable(dynamic, n_conss)
 *         removable = ensure_iterable(removable, n_conss)
 *         stickingatnode = ensure_iterable(stickingatnode, n_conss)             # <<<<<<<<<<<<<<
 * 
 *         constraints = []
*/
  __pyx_t_11 = __Pyx_PyLong_From_int(__pyx_v_n_conss); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_1 = __pyx_pf_9pyscipopt_4scip_5Model_8addConss_ensure_iterable(__pyx_v_ensure_iterable, __pyx_v_stickingatnode, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6317, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF_SET(__pyx_v_stickingatnode, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6319
 *         stickingatnode = ensure_iterable(stickingatnode, n_conss)
 * 
 *         constraints = []             # <<<<<<<<<<<<<<
 *         for i, cons in enumerate(conss):
 *             constraints.append(
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6319, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_constraints = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6320
 * 
 *         constraints = []
 *         for i, cons in enumerate(conss):             # <<<<<<<<<<<<<<
 *             constraints.append(
 *                 self.addCons(cons, name[i], initial[i], separate[i], enforce[i],
*/
  __pyx_t_6 = 0;
  if (likely(PyList_CheckExact(__pyx_v_conss)) || PyTuple_CheckExact(__pyx_v_conss)) {
    __pyx_t_1 = __pyx_v_conss; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_5 = 0;
    __pyx_t_12 = NULL;
  } else {
    __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_conss); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6320, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_12 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 6320, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_12)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6320, __pyx_L1_error)
          #endif
          if (__pyx_t_5 >= __pyx_temp) break;
        }
        __pyx_t_11 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_5;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6320, __pyx_L1_error)
          #endif
          if (__pyx_t_5 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_11 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5));
        #else
        __pyx_t_11 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_5);
        #endif
        ++__pyx_t_5;
      }
      if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6320, __pyx_L1_error)
    } else {
      __pyx_t_11 = __pyx_t_12(__pyx_t_1);
      if (unlikely(!__pyx_t_11)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 6320, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_XDECREF_SET(__pyx_v_cons, __pyx_t_11);
    __pyx_t_11 = 0;
    __pyx_v_i = __pyx_t_6;
    __pyx_t_6 = (__pyx_t_6 + 1);

    /* "src/pyscipopt/scip.pxi":6322
 *         for i, cons in enumerate(conss):
 *             constraints.append(
 *                 self.addCons(cons, name[i], initial[i], separate[i], enforce[i],             # <<<<<<<<<<<<<<
 *                              check[i], propagate[i], local[i], modifiable[i],
 *                              dynamic[i], removable[i], stickingatnode[i])
*/
    __pyx_t_9 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_9);
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_name, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_initial, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 6322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_separate, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 6322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_enforce, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 6322, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);

    /* "src/pyscipopt/scip.pxi":6323
 *             constraints.append(
 *                 self.addCons(cons, name[i], initial[i], separate[i], enforce[i],
 *                              check[i], propagate[i], local[i], modifiable[i],             # <<<<<<<<<<<<<<
 *                              dynamic[i], removable[i], stickingatnode[i])
 *             )
*/
    __pyx_t_16 = __Pyx_GetItemInt(__pyx_v_check, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 6323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);
    __pyx_t_17 = __Pyx_GetItemInt(__pyx_v_propagate, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 6323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_17);
    __pyx_t_18 = __Pyx_GetItemInt(__pyx_v_local, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 6323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_18);
    __pyx_t_19 = __Pyx_GetItemInt(__pyx_v_modifiable, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_19)) __PYX_ERR(2, 6323, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_19);

    /* "src/pyscipopt/scip.pxi":6324
 *                 self.addCons(cons, name[i], initial[i], separate[i], enforce[i],
 *                              check[i], propagate[i], local[i], modifiable[i],
 *                              dynamic[i], removable[i], stickingatnode[i])             # <<<<<<<<<<<<<<
 *             )
 * 
*/
    __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_dynamic, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_20)) __PYX_ERR(2, 6324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_20);
    __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_removable, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_21)) __PYX_ERR(2, 6324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);
    __pyx_t_22 = __Pyx_GetItemInt(__pyx_v_stickingatnode, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_22)) __PYX_ERR(2, 6324, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_22);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[13] = {__pyx_t_9, __pyx_v_cons, __pyx_t_3, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_t_19, __pyx_t_20, __pyx_t_21, __pyx_t_22};
      __pyx_t_11 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_addCons, __pyx_callargs+__pyx_t_4, (13-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
      if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6322, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
    }

    /* "src/pyscipopt/scip.pxi":6321
 *         constraints = []
 *         for i, cons in enumerate(conss):
 *             constraints.append(             # <<<<<<<<<<<<<<
 *                 self.addCons(cons, name[i], initial[i], separate[i], enforce[i],
 *                              check[i], propagate[i], local[i], modifiable[i],
*/
    __pyx_t_23 = __Pyx_PyList_Append(__pyx_v_constraints, __pyx_t_11); if (unlikely(__pyx_t_23 == ((int)-1))) __PYX_ERR(2, 6321, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

    /* "src/pyscipopt/scip.pxi":6320
 * 
 *         constraints = []
 *         for i, cons in enumerate(conss):             # <<<<<<<<<<<<<<
 *             constraints.append(
 *                 self.addCons(cons, name[i], initial[i], separate[i], enforce[i],
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6327
 *             )
 * 
 *         return constraints             # <<<<<<<<<<<<<<
 * 
 *     def addMatrixCons(self,
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_constraints);
  __pyx_r = __pyx_v_constraints;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6237
 *         return pycons
 * 
 *     def addConss(self, conss, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                  enforce=True, check=True, propagate=True, local=False,
 *                  modifiable=False, dynamic=False, removable=False,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_XDECREF(__pyx_t_19);
  __Pyx_XDECREF(__pyx_t_20);
  __Pyx_XDECREF(__pyx_t_21);
  __Pyx_XDECREF(__pyx_t_22);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConss", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ensure_iterable);
  __Pyx_XDECREF(__pyx_v_constraints);
  __Pyx_XDECREF(__pyx_v_cons);
  __Pyx_XDECREF(__pyx_v_conss);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_initial);
  __Pyx_XDECREF(__pyx_v_separate);
  __Pyx_XDECREF(__pyx_v_enforce);
  __Pyx_XDECREF(__pyx_v_check);
  __Pyx_XDECREF(__pyx_v_propagate);
  __Pyx_XDECREF(__pyx_v_local);
  __Pyx_XDECREF(__pyx_v_modifiable);
  __Pyx_XDECREF(__pyx_v_dynamic);
  __Pyx_XDECREF(__pyx_v_removable);
  __Pyx_XDECREF(__pyx_v_stickingatnode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6329
 *         return constraints
 * 
 *     def addMatrixCons(self,             # <<<<<<<<<<<<<<
 *                       cons: Union[ExprCons, MatrixExprCons],
 *                       name: Union[str, np.ndarray] ='',
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_361addMatrixCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_360addMatrixCons, "\n        Add a linear or nonlinear matrix constraint.\n\n        Parameters\n        ----------\n        cons : ExprCons or MatrixExprCons\n            The matrix expression constraint or expression constraint, that are not yet an actual constraint\n        name : str or np.ndarray, optional\n            the name of the matrix constraint, generic name if empty (Default value = \"\")\n        initial : bool or np.ndarray, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool or np.ndarray, optional\n            should the matrix constraint be separated during LP processing? (Default value = True)\n        enforce : bool or np.ndarray, optional\n            should the matrix constraint be enforced during node processing? (Default value = True)\n        check : bool or np.ndarray, optional\n            should the matrix constraint be checked for feasibility? (Default value = True)\n        propagate : bool or np.ndarray, optional\n            should the matrix constraint be propagated during node processing? (Default value = True)\n        local : bool or np.ndarray, optional\n            is the matrix constraint only valid locally? (Default value = False)\n        modifiable : bool or np.ndarray, optional\n            is the matrix constraint modifiable (subject to column generation)? (Default value = False)\n        dynamic : bool or np.ndarray, optional\n            is the matrix constraint subject to aging? (Default value = False)\n        removable : bool or np.ndarray, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = False)\n        stickingatnode : bool or np.ndarray, optional\n            should the matrix constraints always be kept at the node where it was added,\n            even if it may be moved to a more global node? (Default value = False)\n\n        Returns\n        -------\n        Constraint or MatrixConstraint\n   ""         The created and added Constraint or MatrixConstraint.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_361addMatrixCons = {"addMatrixCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_361addMatrixCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_360addMatrixCons};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_361addMatrixCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_cons = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_modifiable = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addMatrixCons (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_modifiable,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6329, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addMatrixCons", 0) < (0)) __PYX_ERR(2, 6329, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":6332
 *                       cons: Union[ExprCons, MatrixExprCons],
 *                       name: Union[str, np.ndarray] ='',
 *                       initial: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                       separate: Union[bool, np.ndarray] = True,
 *                       enforce: Union[bool, np.ndarray] = True,
*/
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6333
 *                       name: Union[str, np.ndarray] ='',
 *                       initial: Union[bool, np.ndarray] = True,
 *                       separate: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                       enforce: Union[bool, np.ndarray] = True,
 *                       check: Union[bool, np.ndarray] = True,
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6334
 *                       initial: Union[bool, np.ndarray] = True,
 *                       separate: Union[bool, np.ndarray] = True,
 *                       enforce: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                       check: Union[bool, np.ndarray] = True,
 *                       propagate: Union[bool, np.ndarray] = True,
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6335
 *                       separate: Union[bool, np.ndarray] = True,
 *                       enforce: Union[bool, np.ndarray] = True,
 *                       check: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                       propagate: Union[bool, np.ndarray] = True,
 *                       local: Union[bool, np.ndarray] = False,
*/
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6336
 *                       enforce: Union[bool, np.ndarray] = True,
 *                       check: Union[bool, np.ndarray] = True,
 *                       propagate: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                       local: Union[bool, np.ndarray] = False,
 *                       modifiable: Union[bool, np.ndarray] = False,
*/
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6337
 *                       check: Union[bool, np.ndarray] = True,
 *                       propagate: Union[bool, np.ndarray] = True,
 *                       local: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                       modifiable: Union[bool, np.ndarray] = False,
 *                       dynamic: Union[bool, np.ndarray] = False,
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6338
 *                       propagate: Union[bool, np.ndarray] = True,
 *                       local: Union[bool, np.ndarray] = False,
 *                       modifiable: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                       dynamic: Union[bool, np.ndarray] = False,
 *                       removable: Union[bool, np.ndarray] = False,
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6339
 *                       local: Union[bool, np.ndarray] = False,
 *                       modifiable: Union[bool, np.ndarray] = False,
 *                       dynamic: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                       removable: Union[bool, np.ndarray] = False,
 *                       stickingatnode: Union[bool, np.ndarray] = False):
*/
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6340
 *                       modifiable: Union[bool, np.ndarray] = False,
 *                       dynamic: Union[bool, np.ndarray] = False,
 *                       removable: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                       stickingatnode: Union[bool, np.ndarray] = False):
 *         """
*/
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6341
 *                       dynamic: Union[bool, np.ndarray] = False,
 *                       removable: Union[bool, np.ndarray] = False,
 *                       stickingatnode: Union[bool, np.ndarray] = False):             # <<<<<<<<<<<<<<
 *         """
 *         Add a linear or nonlinear matrix constraint.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addMatrixCons", 0, 1, 12, i); __PYX_ERR(2, 6329, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6329, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6329, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":6332
 *                       cons: Union[ExprCons, MatrixExprCons],
 *                       name: Union[str, np.ndarray] ='',
 *                       initial: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                       separate: Union[bool, np.ndarray] = True,
 *                       enforce: Union[bool, np.ndarray] = True,
*/
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6333
 *                       name: Union[str, np.ndarray] ='',
 *                       initial: Union[bool, np.ndarray] = True,
 *                       separate: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                       enforce: Union[bool, np.ndarray] = True,
 *                       check: Union[bool, np.ndarray] = True,
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6334
 *                       initial: Union[bool, np.ndarray] = True,
 *                       separate: Union[bool, np.ndarray] = True,
 *                       enforce: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                       check: Union[bool, np.ndarray] = True,
 *                       propagate: Union[bool, np.ndarray] = True,
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6335
 *                       separate: Union[bool, np.ndarray] = True,
 *                       enforce: Union[bool, np.ndarray] = True,
 *                       check: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                       propagate: Union[bool, np.ndarray] = True,
 *                       local: Union[bool, np.ndarray] = False,
*/
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6336
 *                       enforce: Union[bool, np.ndarray] = True,
 *                       check: Union[bool, np.ndarray] = True,
 *                       propagate: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                       local: Union[bool, np.ndarray] = False,
 *                       modifiable: Union[bool, np.ndarray] = False,
*/
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6337
 *                       check: Union[bool, np.ndarray] = True,
 *                       propagate: Union[bool, np.ndarray] = True,
 *                       local: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                       modifiable: Union[bool, np.ndarray] = False,
 *                       dynamic: Union[bool, np.ndarray] = False,
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6338
 *                       propagate: Union[bool, np.ndarray] = True,
 *                       local: Union[bool, np.ndarray] = False,
 *                       modifiable: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                       dynamic: Union[bool, np.ndarray] = False,
 *                       removable: Union[bool, np.ndarray] = False,
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6339
 *                       local: Union[bool, np.ndarray] = False,
 *                       modifiable: Union[bool, np.ndarray] = False,
 *                       dynamic: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                       removable: Union[bool, np.ndarray] = False,
 *                       stickingatnode: Union[bool, np.ndarray] = False):
*/
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6340
 *                       modifiable: Union[bool, np.ndarray] = False,
 *                       dynamic: Union[bool, np.ndarray] = False,
 *                       removable: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                       stickingatnode: Union[bool, np.ndarray] = False):
 *         """
*/
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6341
 *                       dynamic: Union[bool, np.ndarray] = False,
 *                       removable: Union[bool, np.ndarray] = False,
 *                       stickingatnode: Union[bool, np.ndarray] = False):             # <<<<<<<<<<<<<<
 *         """
 *         Add a linear or nonlinear matrix constraint.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_cons = values[0];
    __pyx_v_name = values[1];
    __pyx_v_initial = values[2];
    __pyx_v_separate = values[3];
    __pyx_v_enforce = values[4];
    __pyx_v_check = values[5];
    __pyx_v_propagate = values[6];
    __pyx_v_local = values[7];
    __pyx_v_modifiable = values[8];
    __pyx_v_dynamic = values[9];
    __pyx_v_removable = values[10];
    __pyx_v_stickingatnode = values[11];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addMatrixCons", 0, 1, 12, __pyx_nargs); __PYX_ERR(2, 6329, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addMatrixCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_360addMatrixCons(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_modifiable, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":6329
 *         return constraints
 * 
 *     def addMatrixCons(self,             # <<<<<<<<<<<<<<
 *                       cons: Union[ExprCons, MatrixExprCons],
 *                       name: Union[str, np.ndarray] ='',
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_360addMatrixCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  PyObject *__pyx_v_shape = NULL;
  PyObject *__pyx_v_matrix_cons = NULL;
  CYTHON_UNUSED Py_ssize_t __pyx_v_ndim;
  PyObject *__pyx_v_matrix_variable = NULL;
  PyObject *__pyx_v_matrix_names = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_v_matrix_initial = NULL;
  PyObject *__pyx_v_matrix_separate = NULL;
  CYTHON_UNUSED PyObject *__pyx_v_matrix_enforce = NULL;
  PyObject *__pyx_v_matrix_check = NULL;
  PyObject *__pyx_v_matrix_propagate = NULL;
  PyObject *__pyx_v_matrix_local = NULL;
  PyObject *__pyx_v_matrix_modifiable = NULL;
  PyObject *__pyx_v_matrix_dynamic = NULL;
  PyObject *__pyx_v_matrix_removable = NULL;
  PyObject *__pyx_v_matrix_stickingatnode = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10[3];
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  PyObject *__pyx_t_21 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addMatrixCons", 0);

  /* "src/pyscipopt/scip.pxi":6378
 *             The created and added Constraint or MatrixConstraint.
 *         """
 *         if not isinstance(cons, (ExprCons, MatrixExprCons)):             # <<<<<<<<<<<<<<
 *             raise TypeError("given constraint is not MatrixExprCons nor ExprCons but %s" % cons.__class__.__name__)
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_MatrixExprCons); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_cons, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons); 
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_cons, __pyx_t_1); 
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (unlikely(__pyx_t_3)) {

    /* "src/pyscipopt/scip.pxi":6379
 *         """
 *         if not isinstance(cons, (ExprCons, MatrixExprCons)):
 *             raise TypeError("given constraint is not MatrixExprCons nor ExprCons but %s" % cons.__class__.__name__)             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(cons, ExprCons):
*/
    __pyx_t_4 = NULL;
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6379, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6379, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_given_constraint_is_not_MatrixEx, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6379, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6379, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 6379, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":6378
 *             The created and added Constraint or MatrixConstraint.
 *         """
 *         if not isinstance(cons, (ExprCons, MatrixExprCons)):             # <<<<<<<<<<<<<<
 *             raise TypeError("given constraint is not MatrixExprCons nor ExprCons but %s" % cons.__class__.__name__)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":6381
 *             raise TypeError("given constraint is not MatrixExprCons nor ExprCons but %s" % cons.__class__.__name__)
 * 
 *         if isinstance(cons, ExprCons):             # <<<<<<<<<<<<<<
 *             return self.addCons(cons, name=name, initial=initial, separate=separate,
 *                         enforce=enforce, check=check, propagate=propagate,
*/
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_cons, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons); 
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6382
 * 
 *         if isinstance(cons, ExprCons):
 *             return self.addCons(cons, name=name, initial=initial, separate=separate,             # <<<<<<<<<<<<<<
 *                         enforce=enforce, check=check, propagate=propagate,
 *                         local=local, modifiable=modifiable, dynamic=dynamic,
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_5 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_5);

    /* "src/pyscipopt/scip.pxi":6385
 *                         enforce=enforce, check=check, propagate=propagate,
 *                         local=local, modifiable=modifiable, dynamic=dynamic,
 *                         removable=removable, stickingatnode=stickingatnode)             # <<<<<<<<<<<<<<
 * 
 *         shape = cons.shape
*/
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 11 : 0)] = {__pyx_t_5, __pyx_v_cons};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(11); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6382, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_name, __pyx_v_name, __pyx_t_4, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 6382, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_initial, __pyx_v_initial, __pyx_t_4, __pyx_callargs+2, 1) < (0)) __PYX_ERR(2, 6382, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_separate, __pyx_v_separate, __pyx_t_4, __pyx_callargs+2, 2) < (0)) __PYX_ERR(2, 6382, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_enforce, __pyx_v_enforce, __pyx_t_4, __pyx_callargs+2, 3) < (0)) __PYX_ERR(2, 6382, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_check, __pyx_v_check, __pyx_t_4, __pyx_callargs+2, 4) < (0)) __PYX_ERR(2, 6382, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_propagate, __pyx_v_propagate, __pyx_t_4, __pyx_callargs+2, 5) < (0)) __PYX_ERR(2, 6382, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_local, __pyx_v_local, __pyx_t_4, __pyx_callargs+2, 6) < (0)) __PYX_ERR(2, 6382, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_modifiable, __pyx_v_modifiable, __pyx_t_4, __pyx_callargs+2, 7) < (0)) __PYX_ERR(2, 6382, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dynamic, __pyx_v_dynamic, __pyx_t_4, __pyx_callargs+2, 8) < (0)) __PYX_ERR(2, 6382, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_removable, __pyx_v_removable, __pyx_t_4, __pyx_callargs+2, 9) < (0)) __PYX_ERR(2, 6382, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_stickingatnode, __pyx_v_stickingatnode, __pyx_t_4, __pyx_callargs+2, 10) < (0)) __PYX_ERR(2, 6382, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_addCons, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6382, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":6381
 *             raise TypeError("given constraint is not MatrixExprCons nor ExprCons but %s" % cons.__class__.__name__)
 * 
 *         if isinstance(cons, ExprCons):             # <<<<<<<<<<<<<<
 *             return self.addCons(cons, name=name, initial=initial, separate=separate,
 *                         enforce=enforce, check=check, propagate=propagate,
*/
  }

  /* "src/pyscipopt/scip.pxi":6387
 *                         removable=removable, stickingatnode=stickingatnode)
 * 
 *         shape = cons.shape             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(name, np.ndarray):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6387, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_shape = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6389
 *         shape = cons.shape
 * 
 *         if isinstance(name, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert name.shape == shape
 *         if isinstance(initial, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_name, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6390
 * 
 *         if isinstance(name, np.ndarray):
 *             assert name.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(initial, np.ndarray):
 *             assert initial.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6390, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6390, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 6390, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 6390, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 6390, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":6389
 *         shape = cons.shape
 * 
 *         if isinstance(name, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert name.shape == shape
 *         if isinstance(initial, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":6391
 *         if isinstance(name, np.ndarray):
 *             assert name.shape == shape
 *         if isinstance(initial, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert initial.shape == shape
 *         if isinstance(separate, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_initial, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6391, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6392
 *             assert name.shape == shape
 *         if isinstance(initial, np.ndarray):
 *             assert initial.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(separate, np.ndarray):
 *             assert separate.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_initial, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6392, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6392, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 6392, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 6392, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 6392, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":6391
 *         if isinstance(name, np.ndarray):
 *             assert name.shape == shape
 *         if isinstance(initial, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert initial.shape == shape
 *         if isinstance(separate, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":6393
 *         if isinstance(initial, np.ndarray):
 *             assert initial.shape == shape
 *         if isinstance(separate, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert separate.shape == shape
 *         if isinstance(enforce, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_separate, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6393, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6394
 *             assert initial.shape == shape
 *         if isinstance(separate, np.ndarray):
 *             assert separate.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(enforce, np.ndarray):
 *             assert enforce.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_separate, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6394, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6394, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 6394, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 6394, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 6394, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":6393
 *         if isinstance(initial, np.ndarray):
 *             assert initial.shape == shape
 *         if isinstance(separate, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert separate.shape == shape
 *         if isinstance(enforce, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":6395
 *         if isinstance(separate, np.ndarray):
 *             assert separate.shape == shape
 *         if isinstance(enforce, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert enforce.shape == shape
 *         if isinstance(check, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_enforce, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6395, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6396
 *             assert separate.shape == shape
 *         if isinstance(enforce, np.ndarray):
 *             assert enforce.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(check, np.ndarray):
 *             assert check.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_enforce, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6396, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6396, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 6396, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 6396, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 6396, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":6395
 *         if isinstance(separate, np.ndarray):
 *             assert separate.shape == shape
 *         if isinstance(enforce, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert enforce.shape == shape
 *         if isinstance(check, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":6397
 *         if isinstance(enforce, np.ndarray):
 *             assert enforce.shape == shape
 *         if isinstance(check, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert check.shape == shape
 *         if isinstance(propagate, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_check, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6397, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6398
 *             assert enforce.shape == shape
 *         if isinstance(check, np.ndarray):
 *             assert check.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(propagate, np.ndarray):
 *             assert propagate.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_check, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6398, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6398, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 6398, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 6398, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 6398, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":6397
 *         if isinstance(enforce, np.ndarray):
 *             assert enforce.shape == shape
 *         if isinstance(check, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert check.shape == shape
 *         if isinstance(propagate, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":6399
 *         if isinstance(check, np.ndarray):
 *             assert check.shape == shape
 *         if isinstance(propagate, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert propagate.shape == shape
 *         if isinstance(local, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_propagate, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6400
 *             assert check.shape == shape
 *         if isinstance(propagate, np.ndarray):
 *             assert propagate.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(local, np.ndarray):
 *             assert local.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_propagate, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6400, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6400, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 6400, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 6400, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 6400, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":6399
 *         if isinstance(check, np.ndarray):
 *             assert check.shape == shape
 *         if isinstance(propagate, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert propagate.shape == shape
 *         if isinstance(local, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":6401
 *         if isinstance(propagate, np.ndarray):
 *             assert propagate.shape == shape
 *         if isinstance(local, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert local.shape == shape
 *         if isinstance(modifiable, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_local, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6401, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6402
 *             assert propagate.shape == shape
 *         if isinstance(local, np.ndarray):
 *             assert local.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(modifiable, np.ndarray):
 *             assert modifiable.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6402, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6402, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 6402, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 6402, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 6402, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":6401
 *         if isinstance(propagate, np.ndarray):
 *             assert propagate.shape == shape
 *         if isinstance(local, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert local.shape == shape
 *         if isinstance(modifiable, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":6403
 *         if isinstance(local, np.ndarray):
 *             assert local.shape == shape
 *         if isinstance(modifiable, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert modifiable.shape == shape
 *         if isinstance(dynamic, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_modifiable, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6403, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6404
 *             assert local.shape == shape
 *         if isinstance(modifiable, np.ndarray):
 *             assert modifiable.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(dynamic, np.ndarray):
 *             assert dynamic.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_modifiable, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6404, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6404, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 6404, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 6404, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 6404, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":6403
 *         if isinstance(local, np.ndarray):
 *             assert local.shape == shape
 *         if isinstance(modifiable, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert modifiable.shape == shape
 *         if isinstance(dynamic, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":6405
 *         if isinstance(modifiable, np.ndarray):
 *             assert modifiable.shape == shape
 *         if isinstance(dynamic, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert dynamic.shape == shape
 *         if isinstance(removable, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_dynamic, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6405, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6406
 *             assert modifiable.shape == shape
 *         if isinstance(dynamic, np.ndarray):
 *             assert dynamic.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(removable, np.ndarray):
 *             assert removable.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_dynamic, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6406, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6406, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 6406, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 6406, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 6406, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":6405
 *         if isinstance(modifiable, np.ndarray):
 *             assert modifiable.shape == shape
 *         if isinstance(dynamic, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert dynamic.shape == shape
 *         if isinstance(removable, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":6407
 *         if isinstance(dynamic, np.ndarray):
 *             assert dynamic.shape == shape
 *         if isinstance(removable, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert removable.shape == shape
 *         if isinstance(stickingatnode, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_removable, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6408
 *             assert dynamic.shape == shape
 *         if isinstance(removable, np.ndarray):
 *             assert removable.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(stickingatnode, np.ndarray):
 *             assert stickingatnode.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_removable, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6408, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6408, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 6408, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 6408, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 6408, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":6407
 *         if isinstance(dynamic, np.ndarray):
 *             assert dynamic.shape == shape
 *         if isinstance(removable, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert removable.shape == shape
 *         if isinstance(stickingatnode, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":6409
 *         if isinstance(removable, np.ndarray):
 *             assert removable.shape == shape
 *         if isinstance(stickingatnode, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert stickingatnode.shape == shape
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_stickingatnode, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6409, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6410
 *             assert removable.shape == shape
 *         if isinstance(stickingatnode, np.ndarray):
 *             assert stickingatnode.shape == shape             # <<<<<<<<<<<<<<
 * 
 *         matrix_cons = np.empty(shape, dtype=object)
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_stickingatnode, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6410, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6410, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 6410, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 6410, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 6410, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":6409
 *         if isinstance(removable, np.ndarray):
 *             assert removable.shape == shape
 *         if isinstance(stickingatnode, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert stickingatnode.shape == shape
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":6412
 *             assert stickingatnode.shape == shape
 * 
 *         matrix_cons = np.empty(shape, dtype=object)             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(shape, int):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, __pyx_v_shape};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_5, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 6412, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_matrix_cons = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6414
 *         matrix_cons = np.empty(shape, dtype=object)
 * 
 *         if isinstance(shape, int):             # <<<<<<<<<<<<<<
 *             ndim = 1
 *         else:
*/
  __pyx_t_3 = PyLong_Check(__pyx_v_shape); 
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6415
 * 
 *         if isinstance(shape, int):
 *             ndim = 1             # <<<<<<<<<<<<<<
 *         else:
 *             ndim = len(shape)
*/
    __pyx_v_ndim = 1;

    /* "src/pyscipopt/scip.pxi":6414
 *         matrix_cons = np.empty(shape, dtype=object)
 * 
 *         if isinstance(shape, int):             # <<<<<<<<<<<<<<
 *             ndim = 1
 *         else:
*/
    goto __pyx_L18;
  }

  /* "src/pyscipopt/scip.pxi":6417
 *             ndim = 1
 *         else:
 *             ndim = len(shape)             # <<<<<<<<<<<<<<
 *         # cdef np.ndarray[object, ndim=ndim] matrix_variable = np.empty(shape, dtype=object)
 *         matrix_variable = np.empty(shape, dtype=object)
*/
  /*else*/ {
    __pyx_t_8 = PyObject_Length(__pyx_v_shape); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6417, __pyx_L1_error)
    __pyx_v_ndim = __pyx_t_8;
  }
  __pyx_L18:;

  /* "src/pyscipopt/scip.pxi":6419
 *             ndim = len(shape)
 *         # cdef np.ndarray[object, ndim=ndim] matrix_variable = np.empty(shape, dtype=object)
 *         matrix_variable = np.empty(shape, dtype=object)             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(name, str):
*/
  __pyx_t_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, __pyx_v_shape};
    __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_5, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 6419, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6419, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_matrix_variable = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6421
 *         matrix_variable = np.empty(shape, dtype=object)
 * 
 *         if isinstance(name, str):             # <<<<<<<<<<<<<<
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":
*/
  __pyx_t_3 = PyUnicode_Check(__pyx_v_name); 
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6422
 * 
 *         if isinstance(name, str):
 *             matrix_names = np.full(shape, name, dtype=object)             # <<<<<<<<<<<<<<
 *             if name != "":
 *                 for idx in np.ndindex(matrix_variable.shape):
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6422, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, __pyx_v_shape, __pyx_v_name};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6422, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 6422, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6422, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_matrix_names = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":6423
 *         if isinstance(name, str):
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":             # <<<<<<<<<<<<<<
 *                 for idx in np.ndindex(matrix_variable.shape):
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
*/
    __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 6423, __pyx_L1_error)
    if (__pyx_t_3) {

      /* "src/pyscipopt/scip.pxi":6424
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":
 *                 for idx in np.ndindex(matrix_variable.shape):             # <<<<<<<<<<<<<<
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
 *         else:
*/
      __pyx_t_6 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6424, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6424, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_matrix_variable, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6424, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
        assert(__pyx_t_6);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6424, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
        __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4);
        __pyx_t_8 = 0;
        __pyx_t_9 = NULL;
      } else {
        __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6424, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 6424, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      for (;;) {
        if (likely(!__pyx_t_9)) {
          if (likely(PyList_CheckExact(__pyx_t_4))) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6424, __pyx_L1_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
          } else {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6424, __pyx_L1_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8));
            #else
            __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_8);
            #endif
            ++__pyx_t_8;
          }
          if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6424, __pyx_L1_error)
        } else {
          __pyx_t_1 = __pyx_t_9(__pyx_t_4);
          if (unlikely(!__pyx_t_1)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 6424, __pyx_L1_error)
              PyErr_Clear();
            }
            break;
          }
        }
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
        __pyx_t_1 = 0;

        /* "src/pyscipopt/scip.pxi":6425
 *             if name != "":
 *                 for idx in np.ndindex(matrix_variable.shape):
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_names = name
*/
        __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6425, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6425, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
        __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)(&PyUnicode_Type))) != (0)) __PYX_ERR(2, 6425, __pyx_L1_error);
        __Pyx_INCREF(__pyx_v_idx);
        __Pyx_GIVEREF(__pyx_v_idx);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_idx) != (0)) __PYX_ERR(2, 6425, __pyx_L1_error);
        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6425, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_5 = PyUnicode_Join(__pyx_mstate_global->__pyx_n_u__9, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6425, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __pyx_t_10[0] = __pyx_t_1;
        __pyx_t_10[1] = __pyx_mstate_global->__pyx_n_u__9;
        __pyx_t_10[2] = __pyx_t_5;
        __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5));
        if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6425, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely((PyObject_SetItem(__pyx_v_matrix_names, __pyx_v_idx, __pyx_t_6) < 0))) __PYX_ERR(2, 6425, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

        /* "src/pyscipopt/scip.pxi":6424
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":
 *                 for idx in np.ndindex(matrix_variable.shape):             # <<<<<<<<<<<<<<
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
 *         else:
*/
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "src/pyscipopt/scip.pxi":6423
 *         if isinstance(name, str):
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":             # <<<<<<<<<<<<<<
 *                 for idx in np.ndindex(matrix_variable.shape):
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
*/
    }

    /* "src/pyscipopt/scip.pxi":6421
 *         matrix_variable = np.empty(shape, dtype=object)
 * 
 *         if isinstance(name, str):             # <<<<<<<<<<<<<<
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":
*/
    goto __pyx_L19;
  }

  /* "src/pyscipopt/scip.pxi":6427
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
 *         else:
 *             matrix_names = name             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(initial, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_name);
    __pyx_v_matrix_names = __pyx_v_name;
  }
  __pyx_L19:;

  /* "src/pyscipopt/scip.pxi":6429
 *             matrix_names = name
 * 
 *         if not isinstance(initial, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_initial = np.full(shape, initial, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_initial, __pyx_t_6); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_2 = (!__pyx_t_3);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":6430
 * 
 *         if not isinstance(initial, np.ndarray):
 *             matrix_initial = np.full(shape, initial, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_initial = initial
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6430, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, __pyx_v_shape, __pyx_v_initial};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6430, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 6430, __pyx_L1_error)
      __pyx_t_6 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6430, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_v_matrix_initial = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":6429
 *             matrix_names = name
 * 
 *         if not isinstance(initial, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_initial = np.full(shape, initial, dtype=bool)
 *         else:
*/
    goto __pyx_L24;
  }

  /* "src/pyscipopt/scip.pxi":6432
 *             matrix_initial = np.full(shape, initial, dtype=bool)
 *         else:
 *             matrix_initial = initial             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(separate, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_initial);
    __pyx_v_matrix_initial = __pyx_v_initial;
  }
  __pyx_L24:;

  /* "src/pyscipopt/scip.pxi":6434
 *             matrix_initial = initial
 * 
 *         if not isinstance(separate, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_separate = np.full(shape, separate, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_separate, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 6434, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6435
 * 
 *         if not isinstance(separate, np.ndarray):
 *             matrix_separate = np.full(shape, separate, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_separate = separate
*/
    __pyx_t_6 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_6);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, __pyx_v_shape, __pyx_v_separate};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6435, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 6435, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6435, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_matrix_separate = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":6434
 *             matrix_initial = initial
 * 
 *         if not isinstance(separate, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_separate = np.full(shape, separate, dtype=bool)
 *         else:
*/
    goto __pyx_L25;
  }

  /* "src/pyscipopt/scip.pxi":6437
 *             matrix_separate = np.full(shape, separate, dtype=bool)
 *         else:
 *             matrix_separate = separate             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(enforce, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_separate);
    __pyx_v_matrix_separate = __pyx_v_separate;
  }
  __pyx_L25:;

  /* "src/pyscipopt/scip.pxi":6439
 *             matrix_separate = separate
 * 
 *         if not isinstance(enforce, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_enforce = np.full(shape, enforce, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6439, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_enforce, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6439, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = (!__pyx_t_3);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":6440
 * 
 *         if not isinstance(enforce, np.ndarray):
 *             matrix_enforce = np.full(shape, enforce, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_enforce = enforce
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, __pyx_v_shape, __pyx_v_enforce};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6440, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 6440, __pyx_L1_error)
      __pyx_t_4 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6440, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_v_matrix_enforce = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":6439
 *             matrix_separate = separate
 * 
 *         if not isinstance(enforce, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_enforce = np.full(shape, enforce, dtype=bool)
 *         else:
*/
    goto __pyx_L26;
  }

  /* "src/pyscipopt/scip.pxi":6442
 *             matrix_enforce = np.full(shape, enforce, dtype=bool)
 *         else:
 *             matrix_enforce = enforce             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(check, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_enforce);
    __pyx_v_matrix_enforce = __pyx_v_enforce;
  }
  __pyx_L26:;

  /* "src/pyscipopt/scip.pxi":6444
 *             matrix_enforce = enforce
 * 
 *         if not isinstance(check, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_check = np.full(shape, check, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_check, __pyx_t_6); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 6444, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6445
 * 
 *         if not isinstance(check, np.ndarray):
 *             matrix_check = np.full(shape, check, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_check = check
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6445, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, __pyx_v_shape, __pyx_v_check};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6445, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 6445, __pyx_L1_error)
      __pyx_t_6 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6445, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_v_matrix_check = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":6444
 *             matrix_enforce = enforce
 * 
 *         if not isinstance(check, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_check = np.full(shape, check, dtype=bool)
 *         else:
*/
    goto __pyx_L27;
  }

  /* "src/pyscipopt/scip.pxi":6447
 *             matrix_check = np.full(shape, check, dtype=bool)
 *         else:
 *             matrix_check = check             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(propagate, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_check);
    __pyx_v_matrix_check = __pyx_v_check;
  }
  __pyx_L27:;

  /* "src/pyscipopt/scip.pxi":6449
 *             matrix_check = check
 * 
 *         if not isinstance(propagate, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_propagate = np.full(shape, propagate, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_propagate, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_3);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":6450
 * 
 *         if not isinstance(propagate, np.ndarray):
 *             matrix_propagate = np.full(shape, propagate, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_propagate = propagate
*/
    __pyx_t_6 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_6);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, __pyx_v_shape, __pyx_v_propagate};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6450, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 6450, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6450, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_matrix_propagate = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":6449
 *             matrix_check = check
 * 
 *         if not isinstance(propagate, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_propagate = np.full(shape, propagate, dtype=bool)
 *         else:
*/
    goto __pyx_L28;
  }

  /* "src/pyscipopt/scip.pxi":6452
 *             matrix_propagate = np.full(shape, propagate, dtype=bool)
 *         else:
 *             matrix_propagate = propagate             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(local, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_propagate);
    __pyx_v_matrix_propagate = __pyx_v_propagate;
  }
  __pyx_L28:;

  /* "src/pyscipopt/scip.pxi":6454
 *             matrix_propagate = propagate
 * 
 *         if not isinstance(local, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_local = np.full(shape, local, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_local, __pyx_t_4); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 6454, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6455
 * 
 *         if not isinstance(local, np.ndarray):
 *             matrix_local = np.full(shape, local, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_local = local
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6455, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, __pyx_v_shape, __pyx_v_local};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6455, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 6455, __pyx_L1_error)
      __pyx_t_4 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6455, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_v_matrix_local = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":6454
 *             matrix_propagate = propagate
 * 
 *         if not isinstance(local, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_local = np.full(shape, local, dtype=bool)
 *         else:
*/
    goto __pyx_L29;
  }

  /* "src/pyscipopt/scip.pxi":6457
 *             matrix_local = np.full(shape, local, dtype=bool)
 *         else:
 *             matrix_local = local             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(modifiable, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_local);
    __pyx_v_matrix_local = __pyx_v_local;
  }
  __pyx_L29:;

  /* "src/pyscipopt/scip.pxi":6459
 *             matrix_local = local
 * 
 *         if not isinstance(modifiable, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_modifiable = np.full(shape, modifiable, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_modifiable, __pyx_t_6); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6459, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_2 = (!__pyx_t_3);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":6460
 * 
 *         if not isinstance(modifiable, np.ndarray):
 *             matrix_modifiable = np.full(shape, modifiable, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_modifiable = modifiable
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6460, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6460, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, __pyx_v_shape, __pyx_v_modifiable};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6460, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 6460, __pyx_L1_error)
      __pyx_t_6 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6460, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_v_matrix_modifiable = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":6459
 *             matrix_local = local
 * 
 *         if not isinstance(modifiable, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_modifiable = np.full(shape, modifiable, dtype=bool)
 *         else:
*/
    goto __pyx_L30;
  }

  /* "src/pyscipopt/scip.pxi":6462
 *             matrix_modifiable = np.full(shape, modifiable, dtype=bool)
 *         else:
 *             matrix_modifiable = modifiable             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(dynamic, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_modifiable);
    __pyx_v_matrix_modifiable = __pyx_v_modifiable;
  }
  __pyx_L30:;

  /* "src/pyscipopt/scip.pxi":6464
 *             matrix_modifiable = modifiable
 * 
 *         if not isinstance(dynamic, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_dynamic = np.full(shape, dynamic, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6464, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_dynamic, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 6464, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6465
 * 
 *         if not isinstance(dynamic, np.ndarray):
 *             matrix_dynamic = np.full(shape, dynamic, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_dynamic = dynamic
*/
    __pyx_t_6 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6465, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_6);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, __pyx_v_shape, __pyx_v_dynamic};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6465, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 6465, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6465, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_matrix_dynamic = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":6464
 *             matrix_modifiable = modifiable
 * 
 *         if not isinstance(dynamic, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_dynamic = np.full(shape, dynamic, dtype=bool)
 *         else:
*/
    goto __pyx_L31;
  }

  /* "src/pyscipopt/scip.pxi":6467
 *             matrix_dynamic = np.full(shape, dynamic, dtype=bool)
 *         else:
 *             matrix_dynamic = dynamic             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(removable, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_dynamic);
    __pyx_v_matrix_dynamic = __pyx_v_dynamic;
  }
  __pyx_L31:;

  /* "src/pyscipopt/scip.pxi":6469
 *             matrix_dynamic = dynamic
 * 
 *         if not isinstance(removable, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_removable = np.full(shape, removable, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6469, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_removable, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 6469, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = (!__pyx_t_3);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":6470
 * 
 *         if not isinstance(removable, np.ndarray):
 *             matrix_removable = np.full(shape, removable, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_removable = removable
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6470, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, __pyx_v_shape, __pyx_v_removable};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6470, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 6470, __pyx_L1_error)
      __pyx_t_4 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6470, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_v_matrix_removable = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":6469
 *             matrix_dynamic = dynamic
 * 
 *         if not isinstance(removable, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_removable = np.full(shape, removable, dtype=bool)
 *         else:
*/
    goto __pyx_L32;
  }

  /* "src/pyscipopt/scip.pxi":6472
 *             matrix_removable = np.full(shape, removable, dtype=bool)
 *         else:
 *             matrix_removable = removable             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(stickingatnode, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_removable);
    __pyx_v_matrix_removable = __pyx_v_removable;
  }
  __pyx_L32:;

  /* "src/pyscipopt/scip.pxi":6474
 *             matrix_removable = removable
 * 
 *         if not isinstance(stickingatnode, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_stickingatnode = np.full(shape, stickingatnode, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_stickingatnode, __pyx_t_6); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 6474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":6475
 * 
 *         if not isinstance(stickingatnode, np.ndarray):
 *             matrix_stickingatnode = np.full(shape, stickingatnode, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_stickingatnode = stickingatnode
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6475, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, __pyx_v_shape, __pyx_v_stickingatnode};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6475, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 6475, __pyx_L1_error)
      __pyx_t_6 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6475, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_v_matrix_stickingatnode = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":6474
 *             matrix_removable = removable
 * 
 *         if not isinstance(stickingatnode, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_stickingatnode = np.full(shape, stickingatnode, dtype=bool)
 *         else:
*/
    goto __pyx_L33;
  }

  /* "src/pyscipopt/scip.pxi":6477
 *             matrix_stickingatnode = np.full(shape, stickingatnode, dtype=bool)
 *         else:
 *             matrix_stickingatnode = stickingatnode             # <<<<<<<<<<<<<<
 * 
 *         for idx in np.ndindex(cons.shape):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_stickingatnode);
    __pyx_v_matrix_stickingatnode = __pyx_v_stickingatnode;
  }
  __pyx_L33:;

  /* "src/pyscipopt/scip.pxi":6479
 *             matrix_stickingatnode = stickingatnode
 * 
 *         for idx in np.ndindex(cons.shape):             # <<<<<<<<<<<<<<
 *             matrix_cons[idx] = self.addCons(cons[idx], name=matrix_names[idx], initial=matrix_initial[idx],
 *                                             separate=matrix_separate[idx], check=matrix_check[idx],
*/
  __pyx_t_1 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
    __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
    __pyx_t_4 = __pyx_t_6; __Pyx_INCREF(__pyx_t_4);
    __pyx_t_8 = 0;
    __pyx_t_9 = NULL;
  } else {
    __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6479, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 6479, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  for (;;) {
    if (likely(!__pyx_t_9)) {
      if (likely(PyList_CheckExact(__pyx_t_4))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6479, __pyx_L1_error)
          #endif
          if (__pyx_t_8 >= __pyx_temp) break;
        }
        __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_8;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6479, __pyx_L1_error)
          #endif
          if (__pyx_t_8 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8));
        #else
        __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_8);
        #endif
        ++__pyx_t_8;
      }
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6479, __pyx_L1_error)
    } else {
      __pyx_t_6 = __pyx_t_9(__pyx_t_4);
      if (unlikely(!__pyx_t_6)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 6479, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":6480
 * 
 *         for idx in np.ndindex(cons.shape):
 *             matrix_cons[idx] = self.addCons(cons[idx], name=matrix_names[idx], initial=matrix_initial[idx],             # <<<<<<<<<<<<<<
 *                                             separate=matrix_separate[idx], check=matrix_check[idx],
 *                                             propagate=matrix_propagate[idx], local=matrix_local[idx],
*/
    __pyx_t_5 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_cons, __pyx_v_idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_v_matrix_names, __pyx_v_idx); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_matrix_initial, __pyx_v_idx); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 6480, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);

    /* "src/pyscipopt/scip.pxi":6481
 *         for idx in np.ndindex(cons.shape):
 *             matrix_cons[idx] = self.addCons(cons[idx], name=matrix_names[idx], initial=matrix_initial[idx],
 *                                             separate=matrix_separate[idx], check=matrix_check[idx],             # <<<<<<<<<<<<<<
 *                                             propagate=matrix_propagate[idx], local=matrix_local[idx],
 *                                             modifiable=matrix_modifiable[idx], dynamic=matrix_dynamic[idx],
*/
    __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_v_matrix_separate, __pyx_v_idx); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 6481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_matrix_check, __pyx_v_idx); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 6481, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);

    /* "src/pyscipopt/scip.pxi":6482
 *             matrix_cons[idx] = self.addCons(cons[idx], name=matrix_names[idx], initial=matrix_initial[idx],
 *                                             separate=matrix_separate[idx], check=matrix_check[idx],
 *                                             propagate=matrix_propagate[idx], local=matrix_local[idx],             # <<<<<<<<<<<<<<
 *                                             modifiable=matrix_modifiable[idx], dynamic=matrix_dynamic[idx],
 *                                             removable=matrix_removable[idx], stickingatnode=matrix_stickingatnode[idx])
*/
    __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_v_matrix_propagate, __pyx_v_idx); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 6482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_v_matrix_local, __pyx_v_idx); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 6482, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);

    /* "src/pyscipopt/scip.pxi":6483
 *                                             separate=matrix_separate[idx], check=matrix_check[idx],
 *                                             propagate=matrix_propagate[idx], local=matrix_local[idx],
 *                                             modifiable=matrix_modifiable[idx], dynamic=matrix_dynamic[idx],             # <<<<<<<<<<<<<<
 *                                             removable=matrix_removable[idx], stickingatnode=matrix_stickingatnode[idx])
 * 
*/
    __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_v_matrix_modifiable, __pyx_v_idx); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 6483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_17);
    __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_v_matrix_dynamic, __pyx_v_idx); if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 6483, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_18);

    /* "src/pyscipopt/scip.pxi":6484
 *                                             propagate=matrix_propagate[idx], local=matrix_local[idx],
 *                                             modifiable=matrix_modifiable[idx], dynamic=matrix_dynamic[idx],
 *                                             removable=matrix_removable[idx], stickingatnode=matrix_stickingatnode[idx])             # <<<<<<<<<<<<<<
 * 
 *         return matrix_cons.view(MatrixConstraint)
*/
    __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_v_matrix_removable, __pyx_v_idx); if (unlikely(!__pyx_t_19)) __PYX_ERR(2, 6484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_19);
    __pyx_t_20 = __Pyx_PyObject_GetItem(__pyx_v_matrix_stickingatnode, __pyx_v_idx); if (unlikely(!__pyx_t_20)) __PYX_ERR(2, 6484, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_20);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 10 : 0)] = {__pyx_t_5, __pyx_t_1};
      __pyx_t_21 = __Pyx_MakeVectorcallBuilderKwds(10); if (unlikely(!__pyx_t_21)) __PYX_ERR(2, 6480, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_21);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_name, __pyx_t_11, __pyx_t_21, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 6480, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_initial, __pyx_t_12, __pyx_t_21, __pyx_callargs+2, 1) < (0)) __PYX_ERR(2, 6480, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_separate, __pyx_t_13, __pyx_t_21, __pyx_callargs+2, 2) < (0)) __PYX_ERR(2, 6480, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_check, __pyx_t_14, __pyx_t_21, __pyx_callargs+2, 3) < (0)) __PYX_ERR(2, 6480, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_propagate, __pyx_t_15, __pyx_t_21, __pyx_callargs+2, 4) < (0)) __PYX_ERR(2, 6480, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_local, __pyx_t_16, __pyx_t_21, __pyx_callargs+2, 5) < (0)) __PYX_ERR(2, 6480, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_modifiable, __pyx_t_17, __pyx_t_21, __pyx_callargs+2, 6) < (0)) __PYX_ERR(2, 6480, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dynamic, __pyx_t_18, __pyx_t_21, __pyx_callargs+2, 7) < (0)) __PYX_ERR(2, 6480, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_removable, __pyx_t_19, __pyx_t_21, __pyx_callargs+2, 8) < (0)) __PYX_ERR(2, 6480, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_stickingatnode, __pyx_t_20, __pyx_t_21, __pyx_callargs+2, 9) < (0)) __PYX_ERR(2, 6480, __pyx_L1_error)
      __pyx_t_6 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_addCons, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_21);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6480, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }

    /* "src/pyscipopt/scip.pxi":6480
 * 
 *         for idx in np.ndindex(cons.shape):
 *             matrix_cons[idx] = self.addCons(cons[idx], name=matrix_names[idx], initial=matrix_initial[idx],             # <<<<<<<<<<<<<<
 *                                             separate=matrix_separate[idx], check=matrix_check[idx],
 *                                             propagate=matrix_propagate[idx], local=matrix_local[idx],
*/
    if (unlikely((PyObject_SetItem(__pyx_v_matrix_cons, __pyx_v_idx, __pyx_t_6) < 0))) __PYX_ERR(2, 6480, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":6479
 *             matrix_stickingatnode = stickingatnode
 * 
 *         for idx in np.ndindex(cons.shape):             # <<<<<<<<<<<<<<
 *             matrix_cons[idx] = self.addCons(cons[idx], name=matrix_names[idx], initial=matrix_initial[idx],
 *                                             separate=matrix_separate[idx], check=matrix_check[idx],
*/
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":6486
 *                                             removable=matrix_removable[idx], stickingatnode=matrix_stickingatnode[idx])
 * 
 *         return matrix_cons.view(MatrixConstraint)             # <<<<<<<<<<<<<<
 * 
 *     def addConsDisjunction(self, conss, name = '', initial = True,
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_6 = __pyx_v_matrix_cons;
  __Pyx_INCREF(__pyx_t_6);
  __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_mstate_global->__pyx_n_u_MatrixConstraint); if (unlikely(!__pyx_t_21)) __PYX_ERR(2, 6486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_21);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_21};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6329
 *         return constraints
 * 
 *     def addMatrixCons(self,             # <<<<<<<<<<<<<<
 *                       cons: Union[ExprCons, MatrixExprCons],
 *                       name: Union[str, np.ndarray] ='',
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_XDECREF(__pyx_t_19);
  __Pyx_XDECREF(__pyx_t_20);
  __Pyx_XDECREF(__pyx_t_21);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addMatrixCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_shape);
  __Pyx_XDECREF(__pyx_v_matrix_cons);
  __Pyx_XDECREF(__pyx_v_matrix_variable);
  __Pyx_XDECREF(__pyx_v_matrix_names);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XDECREF(__pyx_v_matrix_initial);
  __Pyx_XDECREF(__pyx_v_matrix_separate);
  __Pyx_XDECREF(__pyx_v_matrix_enforce);
  __Pyx_XDECREF(__pyx_v_matrix_check);
  __Pyx_XDECREF(__pyx_v_matrix_propagate);
  __Pyx_XDECREF(__pyx_v_matrix_local);
  __Pyx_XDECREF(__pyx_v_matrix_modifiable);
  __Pyx_XDECREF(__pyx_v_matrix_dynamic);
  __Pyx_XDECREF(__pyx_v_matrix_removable);
  __Pyx_XDECREF(__pyx_v_matrix_stickingatnode);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6488
 *         return matrix_cons.view(MatrixConstraint)
 * 
 *     def addConsDisjunction(self, conss, name = '', initial = True,             # <<<<<<<<<<<<<<
 *         relaxcons = None, enforce=True, check =True,
 *         local=False, modifiable = False, dynamic = False):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_363addConsDisjunction(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_362addConsDisjunction, "\n        Add a disjunction constraint.\n\n        Parameters\n        ----------\n        conss : iterable of ExprCons\n            An iterable of constraint objects to be included initially in the disjunction.\n            Currently, these must be expressions.\n        name : str, optional\n            the name of the disjunction constraint.\n        initial : bool, optional\n            should the LP relaxation of disjunction constraint be in the initial LP? (Default value = True)\n        relaxcons : None, optional\n            a conjunction constraint containing the linear relaxation of the disjunction constraint, or None.\n            NOT YET SUPPORTED. (Default value = None)\n        enforce : bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        local : bool, optional\n            is the constraint only valid locally? (Default value = False)\n        modifiable : bool, optional\n            is the constraint modifiable (subject to column generation)? (Default value = False)\n        dynamic : bool, optional\n            is the constraint subject to aging? (Default value = False)\n\n        Returns\n        -------\n        Constraint\n            The created disjunction constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_363addConsDisjunction = {"addConsDisjunction", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_363addConsDisjunction, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_362addConsDisjunction};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_363addConsDisjunction(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_conss = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  CYTHON_UNUSED PyObject *__pyx_v_relaxcons = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_modifiable = 0;
  PyObject *__pyx_v_dynamic = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConsDisjunction (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_conss,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_relaxcons,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_modifiable,&__pyx_mstate_global->__pyx_n_u_dynamic,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6488, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConsDisjunction", 0) < (0)) __PYX_ERR(2, 6488, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6489
 * 
 *     def addConsDisjunction(self, conss, name = '', initial = True,
 *         relaxcons = None, enforce=True, check =True,             # <<<<<<<<<<<<<<
 *         local=False, modifiable = False, dynamic = False):
 *         """
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6490
 *     def addConsDisjunction(self, conss, name = '', initial = True,
 *         relaxcons = None, enforce=True, check =True,
 *         local=False, modifiable = False, dynamic = False):             # <<<<<<<<<<<<<<
 *         """
 *         Add a disjunction constraint.
*/
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConsDisjunction", 0, 1, 9, i); __PYX_ERR(2, 6488, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6488, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6488, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":6488
 *         return matrix_cons.view(MatrixConstraint)
 * 
 *     def addConsDisjunction(self, conss, name = '', initial = True,             # <<<<<<<<<<<<<<
 *         relaxcons = None, enforce=True, check =True,
 *         local=False, modifiable = False, dynamic = False):
*/
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6489
 * 
 *     def addConsDisjunction(self, conss, name = '', initial = True,
 *         relaxcons = None, enforce=True, check =True,             # <<<<<<<<<<<<<<
 *         local=False, modifiable = False, dynamic = False):
 *         """
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6490
 *     def addConsDisjunction(self, conss, name = '', initial = True,
 *         relaxcons = None, enforce=True, check =True,
 *         local=False, modifiable = False, dynamic = False):             # <<<<<<<<<<<<<<
 *         """
 *         Add a disjunction constraint.
*/
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_conss = values[0];
    __pyx_v_name = values[1];
    __pyx_v_initial = values[2];
    __pyx_v_relaxcons = values[3];
    __pyx_v_enforce = values[4];
    __pyx_v_check = values[5];
    __pyx_v_local = values[6];
    __pyx_v_modifiable = values[7];
    __pyx_v_dynamic = values[8];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConsDisjunction", 0, 1, 9, __pyx_nargs); __PYX_ERR(2, 6488, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsDisjunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_362addConsDisjunction(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_conss, __pyx_v_name, __pyx_v_initial, __pyx_v_relaxcons, __pyx_v_enforce, __pyx_v_check, __pyx_v_local, __pyx_v_modifiable, __pyx_v_dynamic);

  /* "src/pyscipopt/scip.pxi":6488
 *         return matrix_cons.view(MatrixConstraint)
 * 
 *     def addConsDisjunction(self, conss, name = '', initial = True,             # <<<<<<<<<<<<<<
 *         relaxcons = None, enforce=True, check =True,
 *         local=False, modifiable = False, dynamic = False):
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6529
 *         cdef int i
 * 
 *         def ensure_iterable(elem, length):             # <<<<<<<<<<<<<<
 *             if isinstance(elem, Iterable):
 *                 return elem
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_18addConsDisjunction_1ensure_iterable(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_18addConsDisjunction_1ensure_iterable = {"ensure_iterable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_18addConsDisjunction_1ensure_iterable, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_18addConsDisjunction_1ensure_iterable(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_elem = 0;
  PyObject *__pyx_v_length = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ensure_iterable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_elem,&__pyx_mstate_global->__pyx_n_u_length,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6529, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6529, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6529, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "ensure_iterable", 0) < (0)) __PYX_ERR(2, 6529, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("ensure_iterable", 1, 2, 2, i); __PYX_ERR(2, 6529, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6529, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6529, __pyx_L3_error)
    }
    __pyx_v_elem = values[0];
    __pyx_v_length = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("ensure_iterable", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 6529, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsDisjunction.ensure_iterable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_18addConsDisjunction_ensure_iterable(__pyx_self, __pyx_v_elem, __pyx_v_length);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_18addConsDisjunction_ensure_iterable(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_elem, PyObject *__pyx_v_length) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("ensure_iterable", 0);

  /* "src/pyscipopt/scip.pxi":6530
 * 
 *         def ensure_iterable(elem, length):
 *             if isinstance(elem, Iterable):             # <<<<<<<<<<<<<<
 *                 return elem
 *             else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Iterable); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6530, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_elem, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 6530, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":6531
 *         def ensure_iterable(elem, length):
 *             if isinstance(elem, Iterable):
 *                 return elem             # <<<<<<<<<<<<<<
 *             else:
 *                 return list(repeat(elem, length))
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_elem);
    __pyx_r = __pyx_v_elem;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":6530
 * 
 *         def ensure_iterable(elem, length):
 *             if isinstance(elem, Iterable):             # <<<<<<<<<<<<<<
 *                 return elem
 *             else:
*/
  }

  /* "src/pyscipopt/scip.pxi":6533
 *                 return elem
 *             else:
 *                 return list(repeat(elem, length))             # <<<<<<<<<<<<<<
 *         assert isinstance(conss, Iterable), "Given constraint list is not iterable"
 * 
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_repeat); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_v_elem, __pyx_v_length};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6533, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_4 = __Pyx_PySequence_ListKeepNew(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6533, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_r = __pyx_t_4;
    __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/scip.pxi":6529
 *         cdef int i
 * 
 *         def ensure_iterable(elem, length):             # <<<<<<<<<<<<<<
 *             if isinstance(elem, Iterable):
 *                 return elem
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsDisjunction.ensure_iterable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6488
 *         return matrix_cons.view(MatrixConstraint)
 * 
 *     def addConsDisjunction(self, conss, name = '', initial = True,             # <<<<<<<<<<<<<<
 *         relaxcons = None, enforce=True, check =True,
 *         local=False, modifiable = False, dynamic = False):
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_362addConsDisjunction(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_conss, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, CYTHON_UNUSED PyObject *__pyx_v_relaxcons, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic) {
  SCIP_CONS *__pyx_v_scip_cons;
  SCIP_CONS *__pyx_v_disj_cons;
  CYTHON_UNUSED int __pyx_v_n_conss;
  CYTHON_UNUSED int __pyx_v_i;
  CYTHON_UNUSED PyObject *__pyx_v_ensure_iterable = 0;
  PyObject *__pyx_v_cons = NULL;
  PyObject *__pyx_v_pycons = NULL;
  PyObject *__pyx_v_PyCons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  char const *__pyx_t_10;
  SCIP_Bool __pyx_t_11;
  SCIP_Bool __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  int __pyx_t_17;
  PyObject *(*__pyx_t_18)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConsDisjunction", 0);
  __Pyx_INCREF(__pyx_v_conss);

  /* "src/pyscipopt/scip.pxi":6529
 *         cdef int i
 * 
 *         def ensure_iterable(elem, length):             # <<<<<<<<<<<<<<
 *             if isinstance(elem, Iterable):
 *                 return elem
*/
  __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_18addConsDisjunction_1ensure_iterable, 0, __pyx_mstate_global->__pyx_n_u_addConsDisjunction_locals_ensure, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[20])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6529, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_ensure_iterable = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6534
 *             else:
 *                 return list(repeat(elem, length))
 *         assert isinstance(conss, Iterable), "Given constraint list is not iterable"             # <<<<<<<<<<<<<<
 * 
 *         conss = list(conss)
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Iterable); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6534, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyObject_IsInstance(__pyx_v_conss, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 6534, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_Given_constraint_list_is_not_ite_2, 0, 0);
      __PYX_ERR(2, 6534, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 6534, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":6536
 *         assert isinstance(conss, Iterable), "Given constraint list is not iterable"
 * 
 *         conss = list(conss)             # <<<<<<<<<<<<<<
 *         n_conss = len(conss)
 * 
*/
  __pyx_t_1 = PySequence_List(__pyx_v_conss); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF_SET(__pyx_v_conss, __pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6537
 * 
 *         conss = list(conss)
 *         n_conss = len(conss)             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPcreateConsDisjunction(
*/
  __pyx_t_3 = PyObject_Length(__pyx_v_conss); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6537, __pyx_L1_error)
  __pyx_v_n_conss = __pyx_t_3;

  /* "src/pyscipopt/scip.pxi":6539
 *         n_conss = len(conss)
 * 
 *         PY_SCIP_CALL(SCIPcreateConsDisjunction(             # <<<<<<<<<<<<<<
 *             self._scip, &disj_cons, str_conversion(name), 0, &scip_cons, NULL,
 *             initial, enforce, check, local, modifiable, dynamic
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);

  /* "src/pyscipopt/scip.pxi":6540
 * 
 *         PY_SCIP_CALL(SCIPcreateConsDisjunction(
 *             self._scip, &disj_cons, str_conversion(name), 0, &scip_cons, NULL,             # <<<<<<<<<<<<<<
 *             initial, enforce, check, local, modifiable, dynamic
 *         ))
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 6540, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_9 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_name};
    __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6540, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_10 = __Pyx_PyObject_AsString(__pyx_t_6); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) __PYX_ERR(2, 6540, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6541
 *         PY_SCIP_CALL(SCIPcreateConsDisjunction(
 *             self._scip, &disj_cons, str_conversion(name), 0, &scip_cons, NULL,
 *             initial, enforce, check, local, modifiable, dynamic             # <<<<<<<<<<<<<<
 *         ))
 * 
*/
  __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_initial); if (unlikely((__pyx_t_11 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6541, __pyx_L1_error)
  __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_enforce); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6541, __pyx_L1_error)
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_check); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6541, __pyx_L1_error)
  __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_local); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6541, __pyx_L1_error)
  __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_modifiable); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6541, __pyx_L1_error)
  __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_dynamic); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6541, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6539
 *         n_conss = len(conss)
 * 
 *         PY_SCIP_CALL(SCIPcreateConsDisjunction(             # <<<<<<<<<<<<<<
 *             self._scip, &disj_cons, str_conversion(name), 0, &scip_cons, NULL,
 *             initial, enforce, check, local, modifiable, dynamic
*/
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateConsDisjunction(__pyx_v_self->_scip, (&__pyx_v_disj_cons), __pyx_t_10, 0, (&__pyx_v_scip_cons), NULL, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 6539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_9 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_9 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6546
 * 
 *         # TODO add constraints to disjunction
 *         for i, cons in enumerate(conss):             # <<<<<<<<<<<<<<
 *             pycons = self.createConsFromExpr(cons, name=name, initial = initial,
 *                                             enforce=enforce, check=check,
*/
  __pyx_t_17 = 0;
  if (likely(PyList_CheckExact(__pyx_v_conss)) || PyTuple_CheckExact(__pyx_v_conss)) {
    __pyx_t_1 = __pyx_v_conss; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = 0;
    __pyx_t_18 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_conss); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6546, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_18 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 6546, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_18)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6546, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        __pyx_t_5 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_3;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 6546, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3));
        #else
        __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_3);
        #endif
        ++__pyx_t_3;
      }
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6546, __pyx_L1_error)
    } else {
      __pyx_t_5 = __pyx_t_18(__pyx_t_1);
      if (unlikely(!__pyx_t_5)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 6546, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_XDECREF_SET(__pyx_v_cons, __pyx_t_5);
    __pyx_t_5 = 0;
    __pyx_v_i = __pyx_t_17;
    __pyx_t_17 = (__pyx_t_17 + 1);

    /* "src/pyscipopt/scip.pxi":6547
 *         # TODO add constraints to disjunction
 *         for i, cons in enumerate(conss):
 *             pycons = self.createConsFromExpr(cons, name=name, initial = initial,             # <<<<<<<<<<<<<<
 *                                             enforce=enforce, check=check,
 *                                             local=local, modifiable=modifiable, dynamic=dynamic
*/
    __pyx_t_8 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_8);

    /* "src/pyscipopt/scip.pxi":6549
 *             pycons = self.createConsFromExpr(cons, name=name, initial = initial,
 *                                             enforce=enforce, check=check,
 *                                             local=local, modifiable=modifiable, dynamic=dynamic             # <<<<<<<<<<<<<<
 *                                             )
 *             PY_SCIP_CALL(SCIPaddConsElemDisjunction(self._scip,disj_cons, (<Constraint>pycons).scip_cons))
*/
    __pyx_t_9 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 7 : 0)] = {__pyx_t_8, __pyx_v_cons};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(7); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6547, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_name, __pyx_v_name, __pyx_t_4, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 6547, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_initial, __pyx_v_initial, __pyx_t_4, __pyx_callargs+2, 1) < (0)) __PYX_ERR(2, 6547, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_enforce, __pyx_v_enforce, __pyx_t_4, __pyx_callargs+2, 2) < (0)) __PYX_ERR(2, 6547, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_check, __pyx_v_check, __pyx_t_4, __pyx_callargs+2, 3) < (0)) __PYX_ERR(2, 6547, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_local, __pyx_v_local, __pyx_t_4, __pyx_callargs+2, 4) < (0)) __PYX_ERR(2, 6547, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_modifiable, __pyx_v_modifiable, __pyx_t_4, __pyx_callargs+2, 5) < (0)) __PYX_ERR(2, 6547, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dynamic, __pyx_v_dynamic, __pyx_t_4, __pyx_callargs+2, 6) < (0)) __PYX_ERR(2, 6547, __pyx_L1_error)
      __pyx_t_5 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_createConsFromExpr, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6547, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_XDECREF_SET(__pyx_v_pycons, __pyx_t_5);
    __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":6551
 *                                             local=local, modifiable=modifiable, dynamic=dynamic
 *                                             )
 *             PY_SCIP_CALL(SCIPaddConsElemDisjunction(self._scip,disj_cons, (<Constraint>pycons).scip_cons))             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPreleaseCons(self._scip, &(<Constraint>pycons).scip_cons))
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, disj_cons))
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 6551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddConsElemDisjunction(__pyx_v_self->_scip, __pyx_v_disj_cons, ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_pycons)->scip_cons)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_9 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
      __pyx_t_9 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6551, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":6552
 *                                             )
 *             PY_SCIP_CALL(SCIPaddConsElemDisjunction(self._scip,disj_cons, (<Constraint>pycons).scip_cons))
 *             PY_SCIP_CALL(SCIPreleaseCons(self._scip, &(<Constraint>pycons).scip_cons))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, disj_cons))
 *         PyCons = self._getOrCreateCons(disj_cons)
*/
    __pyx_t_8 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseCons(__pyx_v_self->_scip, (&((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_pycons)->scip_cons))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_9 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_8);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_9 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_4};
      __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6552, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":6546
 * 
 *         # TODO add constraints to disjunction
 *         for i, cons in enumerate(conss):             # <<<<<<<<<<<<<<
 *             pycons = self.createConsFromExpr(cons, name=name, initial = initial,
 *                                             enforce=enforce, check=check,
*/
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6553
 *             PY_SCIP_CALL(SCIPaddConsElemDisjunction(self._scip,disj_cons, (<Constraint>pycons).scip_cons))
 *             PY_SCIP_CALL(SCIPreleaseCons(self._scip, &(<Constraint>pycons).scip_cons))
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, disj_cons))             # <<<<<<<<<<<<<<
 *         PyCons = self._getOrCreateCons(disj_cons)
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &disj_cons))
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCons(__pyx_v_self->_scip, __pyx_v_disj_cons)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6553, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_9 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6553, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6554
 *             PY_SCIP_CALL(SCIPreleaseCons(self._scip, &(<Constraint>pycons).scip_cons))
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, disj_cons))
 *         PyCons = self._getOrCreateCons(disj_cons)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &disj_cons))
 * 
*/
  __pyx_t_1 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateCons(__pyx_v_self, __pyx_v_disj_cons); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_PyCons = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6555
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, disj_cons))
 *         PyCons = self._getOrCreateCons(disj_cons)
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &disj_cons))             # <<<<<<<<<<<<<<
 * 
 *         return PyCons
*/
  __pyx_t_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseCons(__pyx_v_self->_scip, (&__pyx_v_disj_cons))); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_9 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_9 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6557
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &disj_cons))
 * 
 *         return PyCons             # <<<<<<<<<<<<<<
 * 
 *     def addConsElemDisjunction(self, Constraint disj_cons, Constraint cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_PyCons);
  __pyx_r = __pyx_v_PyCons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6488
 *         return matrix_cons.view(MatrixConstraint)
 * 
 *     def addConsDisjunction(self, conss, name = '', initial = True,             # <<<<<<<<<<<<<<
 *         relaxcons = None, enforce=True, check =True,
 *         local=False, modifiable = False, dynamic = False):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsDisjunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ensure_iterable);
  __Pyx_XDECREF(__pyx_v_cons);
  __Pyx_XDECREF(__pyx_v_pycons);
  __Pyx_XDECREF(__pyx_v_PyCons);
  __Pyx_XDECREF(__pyx_v_conss);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6559
 *         return PyCons
 * 
 *     def addConsElemDisjunction(self, Constraint disj_cons, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Appends a constraint to a disjunction.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_365addConsElemDisjunction(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_364addConsElemDisjunction, "\n        Appends a constraint to a disjunction.\n\n        Parameters\n        ----------\n        disj_cons : Constraint\n             the disjunction constraint to append to.\n        cons : Constraint\n            the constraint to append\n\n        Returns\n        -------\n        disj_cons : Constraint\n            The disjunction constraint with `cons` appended.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_365addConsElemDisjunction = {"addConsElemDisjunction", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_365addConsElemDisjunction, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_364addConsElemDisjunction};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_365addConsElemDisjunction(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_disj_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConsElemDisjunction (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_disj_cons,&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6559, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6559, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6559, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConsElemDisjunction", 0) < (0)) __PYX_ERR(2, 6559, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConsElemDisjunction", 1, 2, 2, i); __PYX_ERR(2, 6559, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6559, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6559, __pyx_L3_error)
    }
    __pyx_v_disj_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConsElemDisjunction", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 6559, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsElemDisjunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_disj_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "disj_cons", 0))) __PYX_ERR(2, 6559, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 6559, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_364addConsElemDisjunction(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_disj_cons, __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_364addConsElemDisjunction(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_disj_cons, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConsElemDisjunction", 0);

  /* "src/pyscipopt/scip.pxi":6576
 * 
 *         """
 *         PY_SCIP_CALL(SCIPaddConsElemDisjunction(self._scip, (<Constraint>disj_cons).scip_cons, (<Constraint>cons).scip_cons))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &(<Constraint>cons).scip_cons))
 *         return disj_cons
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddConsElemDisjunction(__pyx_v_self->_scip, __pyx_v_disj_cons->scip_cons, __pyx_v_cons->scip_cons)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6576, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6576, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6577
 *         """
 *         PY_SCIP_CALL(SCIPaddConsElemDisjunction(self._scip, (<Constraint>disj_cons).scip_cons, (<Constraint>cons).scip_cons))
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &(<Constraint>cons).scip_cons))             # <<<<<<<<<<<<<<
 *         return disj_cons
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseCons(__pyx_v_self->_scip, (&__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6578
 *         PY_SCIP_CALL(SCIPaddConsElemDisjunction(self._scip, (<Constraint>disj_cons).scip_cons, (<Constraint>cons).scip_cons))
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &(<Constraint>cons).scip_cons))
 *         return disj_cons             # <<<<<<<<<<<<<<
 * 
 *     def getConsNVars(self, Constraint constraint):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_disj_cons);
  __pyx_r = ((PyObject *)__pyx_v_disj_cons);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6559
 *         return PyCons
 * 
 *     def addConsElemDisjunction(self, Constraint disj_cons, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Appends a constraint to a disjunction.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsElemDisjunction", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6580
 *         return disj_cons
 * 
 *     def getConsNVars(self, Constraint constraint):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of variables in a constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_367getConsNVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_366getConsNVars, "\n        Gets number of variables in a constraint.\n\n        Parameters\n        ----------\n        constraint : Constraint\n            Constraint to get the number of variables from.\n\n        Returns\n        -------\n        int\n\n        Raises\n        ------\n        TypeError\n            If the associated constraint handler does not have this functionality\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_367getConsNVars = {"getConsNVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_367getConsNVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_366getConsNVars};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_367getConsNVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_constraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getConsNVars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6580, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6580, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getConsNVars", 0) < (0)) __PYX_ERR(2, 6580, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getConsNVars", 1, 1, 1, i); __PYX_ERR(2, 6580, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6580, __pyx_L3_error)
    }
    __pyx_v_constraint = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getConsNVars", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 6580, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getConsNVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_constraint), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "constraint", 0))) __PYX_ERR(2, 6580, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_366getConsNVars(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_constraint);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_366getConsNVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_constraint) {
  int __pyx_v_nvars;
  SCIP_Bool __pyx_v_success;
  SCIP_CONSHDLR *__pyx_v_conshdlr;
  char const *__pyx_v_conshdrlname;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getConsNVars", 0);

  /* "src/pyscipopt/scip.pxi":6602
 *         cdef SCIP_Bool success
 * 
 *         PY_SCIP_CALL(SCIPgetConsNVars(self._scip, constraint.scip_cons, &nvars, &success))             # <<<<<<<<<<<<<<
 * 
 *         if not success:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetConsNVars(__pyx_v_self->_scip, __pyx_v_constraint->scip_cons, (&__pyx_v_nvars), (&__pyx_v_success))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6604
 *         PY_SCIP_CALL(SCIPgetConsNVars(self._scip, constraint.scip_cons, &nvars, &success))
 * 
 *         if not success:             # <<<<<<<<<<<<<<
 *             conshdlr = SCIPconsGetHdlr(constraint.scip_cons)
 *             conshdrlname = SCIPconshdlrGetName(conshdlr)
*/
  __pyx_t_6 = (!(__pyx_v_success != 0));
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":6605
 * 
 *         if not success:
 *             conshdlr = SCIPconsGetHdlr(constraint.scip_cons)             # <<<<<<<<<<<<<<
 *             conshdrlname = SCIPconshdlrGetName(conshdlr)
 *             raise TypeError("The constraint handler %s does not have this functionality." % conshdrlname)
*/
    __pyx_v_conshdlr = SCIPconsGetHdlr(__pyx_v_constraint->scip_cons);

    /* "src/pyscipopt/scip.pxi":6606
 *         if not success:
 *             conshdlr = SCIPconsGetHdlr(constraint.scip_cons)
 *             conshdrlname = SCIPconshdlrGetName(conshdlr)             # <<<<<<<<<<<<<<
 *             raise TypeError("The constraint handler %s does not have this functionality." % conshdrlname)
 * 
*/
    __pyx_v_conshdrlname = SCIPconshdlrGetName(__pyx_v_conshdlr);

    /* "src/pyscipopt/scip.pxi":6607
 *             conshdlr = SCIPconsGetHdlr(constraint.scip_cons)
 *             conshdrlname = SCIPconshdlrGetName(conshdlr)
 *             raise TypeError("The constraint handler %s does not have this functionality." % conshdrlname)             # <<<<<<<<<<<<<<
 * 
 *         return nvars
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_conshdrlname); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_2 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_The_constraint_handler_s_does_no, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6607, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 6607, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":6604
 *         PY_SCIP_CALL(SCIPgetConsNVars(self._scip, constraint.scip_cons, &nvars, &success))
 * 
 *         if not success:             # <<<<<<<<<<<<<<
 *             conshdlr = SCIPconsGetHdlr(constraint.scip_cons)
 *             conshdrlname = SCIPconshdlrGetName(conshdlr)
*/
  }

  /* "src/pyscipopt/scip.pxi":6609
 *             raise TypeError("The constraint handler %s does not have this functionality." % conshdrlname)
 * 
 *         return nvars             # <<<<<<<<<<<<<<
 * 
 *     def getConsVars(self, Constraint constraint):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_nvars); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6580
 *         return disj_cons
 * 
 *     def getConsNVars(self, Constraint constraint):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of variables in a constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getConsNVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6611
 *         return nvars
 * 
 *     def getConsVars(self, Constraint constraint):             # <<<<<<<<<<<<<<
 *         """
 *         Gets variables in a constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_369getConsVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_368getConsVars, "\n        Gets variables in a constraint.\n\n        Parameters\n        ----------\n        constraint : Constraint\n            Constraint to get the variables from.\n\n        Returns\n        -------\n        list of Variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_369getConsVars = {"getConsVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_369getConsVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_368getConsVars};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_369getConsVars(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_constraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getConsVars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6611, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6611, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getConsVars", 0) < (0)) __PYX_ERR(2, 6611, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getConsVars", 1, 1, 1, i); __PYX_ERR(2, 6611, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6611, __pyx_L3_error)
    }
    __pyx_v_constraint = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getConsVars", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 6611, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getConsVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_constraint), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "constraint", 0))) __PYX_ERR(2, 6611, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_368getConsVars(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_constraint);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_368getConsVars(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_constraint) {
  SCIP_VAR **__pyx_v__vars;
  int __pyx_v_nvars;
  SCIP_Bool __pyx_v_success;
  int __pyx_v_i;
  PyObject *__pyx_v_vars = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getConsVars", 0);

  /* "src/pyscipopt/scip.pxi":6630
 *         cdef int i
 * 
 *         SCIPgetConsNVars(self._scip, constraint.scip_cons, &nvars, &success)             # <<<<<<<<<<<<<<
 *         _vars = <SCIP_VAR**> malloc(nvars * sizeof(SCIP_VAR*))
 *         SCIPgetConsVars(self._scip, constraint.scip_cons, _vars, nvars, &success)
*/
  (void)(SCIPgetConsNVars(__pyx_v_self->_scip, __pyx_v_constraint->scip_cons, (&__pyx_v_nvars), (&__pyx_v_success)));

  /* "src/pyscipopt/scip.pxi":6631
 * 
 *         SCIPgetConsNVars(self._scip, constraint.scip_cons, &nvars, &success)
 *         _vars = <SCIP_VAR**> malloc(nvars * sizeof(SCIP_VAR*))             # <<<<<<<<<<<<<<
 *         SCIPgetConsVars(self._scip, constraint.scip_cons, _vars, nvars, &success)
 * 
*/
  __pyx_v__vars = ((SCIP_VAR **)malloc((__pyx_v_nvars * (sizeof(SCIP_VAR *)))));

  /* "src/pyscipopt/scip.pxi":6632
 *         SCIPgetConsNVars(self._scip, constraint.scip_cons, &nvars, &success)
 *         _vars = <SCIP_VAR**> malloc(nvars * sizeof(SCIP_VAR*))
 *         SCIPgetConsVars(self._scip, constraint.scip_cons, _vars, nvars, &success)             # <<<<<<<<<<<<<<
 * 
 *         if not success:
*/
  (void)(SCIPgetConsVars(__pyx_v_self->_scip, __pyx_v_constraint->scip_cons, __pyx_v__vars, __pyx_v_nvars, (&__pyx_v_success)));

  /* "src/pyscipopt/scip.pxi":6634
 *         SCIPgetConsVars(self._scip, constraint.scip_cons, _vars, nvars, &success)
 * 
 *         if not success:             # <<<<<<<<<<<<<<
 *             free(_vars)
 *             return None
*/
  __pyx_t_1 = (!(__pyx_v_success != 0));
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":6635
 * 
 *         if not success:
 *             free(_vars)             # <<<<<<<<<<<<<<
 *             return None
 * 
*/
    free(__pyx_v__vars);

    /* "src/pyscipopt/scip.pxi":6636
 *         if not success:
 *             free(_vars)
 *             return None             # <<<<<<<<<<<<<<
 * 
 *         vars = []
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":6634
 *         SCIPgetConsVars(self._scip, constraint.scip_cons, _vars, nvars, &success)
 * 
 *         if not success:             # <<<<<<<<<<<<<<
 *             free(_vars)
 *             return None
*/
  }

  /* "src/pyscipopt/scip.pxi":6638
 *             return None
 * 
 *         vars = []             # <<<<<<<<<<<<<<
 *         for i in range(nvars):
 *             vars.append(self._getOrCreateVar(_vars[i]))
*/
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_vars = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6639
 * 
 *         vars = []
 *         for i in range(nvars):             # <<<<<<<<<<<<<<
 *             vars.append(self._getOrCreateVar(_vars[i]))
 * 
*/
  __pyx_t_3 = __pyx_v_nvars;
  __pyx_t_4 = __pyx_t_3;
  for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
    __pyx_v_i = __pyx_t_5;

    /* "src/pyscipopt/scip.pxi":6640
 *         vars = []
 *         for i in range(nvars):
 *             vars.append(self._getOrCreateVar(_vars[i]))             # <<<<<<<<<<<<<<
 * 
 *         free(_vars)
*/
    __pyx_t_2 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, (__pyx_v__vars[__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6640, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_vars, __pyx_t_2); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(2, 6640, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/pyscipopt/scip.pxi":6642
 *             vars.append(self._getOrCreateVar(_vars[i]))
 * 
 *         free(_vars)             # <<<<<<<<<<<<<<
 *         return vars
 * 
*/
  free(__pyx_v__vars);

  /* "src/pyscipopt/scip.pxi":6643
 * 
 *         free(_vars)
 *         return vars             # <<<<<<<<<<<<<<
 * 
 *     def getConsVals(self, Constraint constraint):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_vars);
  __pyx_r = __pyx_v_vars;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6611
 *         return nvars
 * 
 *     def getConsVars(self, Constraint constraint):             # <<<<<<<<<<<<<<
 *         """
 *         Gets variables in a constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getConsVars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_vars);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6645
 *         return vars
 * 
 *     def getConsVals(self, Constraint constraint):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the value array of an arbitrary SCIP constraint that can be represented as a single linear constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_371getConsVals(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_370getConsVals, "\n        Returns the value array of an arbitrary SCIP constraint that can be represented as a single linear constraint.\n\n        Parameters\n        ----------\n        constraint : Constraint\n            Constraint to get the values from.\n\n        Returns\n        -------\n        list of float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_371getConsVals = {"getConsVals", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_371getConsVals, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_370getConsVals};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_371getConsVals(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_constraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getConsVals (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6645, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6645, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getConsVals", 0) < (0)) __PYX_ERR(2, 6645, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getConsVals", 1, 1, 1, i); __PYX_ERR(2, 6645, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6645, __pyx_L3_error)
    }
    __pyx_v_constraint = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getConsVals", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 6645, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getConsVals", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_constraint), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "constraint", 0))) __PYX_ERR(2, 6645, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_370getConsVals(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_constraint);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_370getConsVals(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_constraint) {
  SCIP_Real *__pyx_v__vals;
  int __pyx_v_nvars;
  SCIP_Bool __pyx_v_success;
  PyObject *__pyx_v_vals = NULL;
  int __pyx_9genexpr49__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getConsVals", 0);

  /* "src/pyscipopt/scip.pxi":6664
 *         cdef int i
 * 
 *         nvars = self.getConsNVars(constraint)             # <<<<<<<<<<<<<<
 *         _vals = <SCIP_Real*> malloc(nvars * sizeof(SCIP_Real))
 *         PY_SCIP_CALL(SCIPgetConsVals(self._scip, constraint.scip_cons, _vals, nvars, &success))
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_constraint)};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getConsNVars, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 6664, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_nvars = __pyx_t_4;

  /* "src/pyscipopt/scip.pxi":6665
 * 
 *         nvars = self.getConsNVars(constraint)
 *         _vals = <SCIP_Real*> malloc(nvars * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPgetConsVals(self._scip, constraint.scip_cons, _vals, nvars, &success))
 * 
*/
  __pyx_v__vals = ((SCIP_Real *)malloc((__pyx_v_nvars * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/scip.pxi":6666
 *         nvars = self.getConsNVars(constraint)
 *         _vals = <SCIP_Real*> malloc(nvars * sizeof(SCIP_Real))
 *         PY_SCIP_CALL(SCIPgetConsVals(self._scip, constraint.scip_cons, _vals, nvars, &success))             # <<<<<<<<<<<<<<
 * 
 *         if not success:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetConsVals(__pyx_v_self->_scip, __pyx_v_constraint->scip_cons, __pyx_v__vals, __pyx_v_nvars, (&__pyx_v_success))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 6666, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6668
 *         PY_SCIP_CALL(SCIPgetConsVals(self._scip, constraint.scip_cons, _vals, nvars, &success))
 * 
 *         if not success:             # <<<<<<<<<<<<<<
 *             free(_vals)
 *             return None
*/
  __pyx_t_7 = (!(__pyx_v_success != 0));
  if (__pyx_t_7) {

    /* "src/pyscipopt/scip.pxi":6669
 * 
 *         if not success:
 *             free(_vals)             # <<<<<<<<<<<<<<
 *             return None
 * 
*/
    free(__pyx_v__vals);

    /* "src/pyscipopt/scip.pxi":6670
 *         if not success:
 *             free(_vals)
 *             return None             # <<<<<<<<<<<<<<
 * 
 *         vals = [_vals[i] for i in range(nvars)]
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":6668
 *         PY_SCIP_CALL(SCIPgetConsVals(self._scip, constraint.scip_cons, _vals, nvars, &success))
 * 
 *         if not success:             # <<<<<<<<<<<<<<
 *             free(_vals)
 *             return None
*/
  }

  /* "src/pyscipopt/scip.pxi":6672
 *             return None
 * 
 *         vals = [_vals[i] for i in range(nvars)]             # <<<<<<<<<<<<<<
 *         free(_vals)
 *         return vals
*/
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6672, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = __pyx_v_nvars;
    __pyx_t_8 = __pyx_t_4;
    for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
      __pyx_9genexpr49__pyx_v_i = __pyx_t_9;
      __pyx_t_5 = PyFloat_FromDouble((__pyx_v__vals[__pyx_9genexpr49__pyx_v_i])); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6672, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(2, 6672, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  } /* exit inner scope */
  __pyx_v_vals = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6673
 * 
 *         vals = [_vals[i] for i in range(nvars)]
 *         free(_vals)             # <<<<<<<<<<<<<<
 *         return vals
 * 
*/
  free(__pyx_v__vals);

  /* "src/pyscipopt/scip.pxi":6674
 *         vals = [_vals[i] for i in range(nvars)]
 *         free(_vals)
 *         return vals             # <<<<<<<<<<<<<<
 * 
 *     def getNVarsAnd(self, Constraint and_cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_vals);
  __pyx_r = __pyx_v_vals;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6645
 *         return vars
 * 
 *     def getConsVals(self, Constraint constraint):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the value array of an arbitrary SCIP constraint that can be represented as a single linear constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getConsVals", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_vals);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6676
 *         return vals
 * 
 *     def getNVarsAnd(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of variables in and constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_373getNVarsAnd(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_372getNVarsAnd, "\n        Gets number of variables in and constraint.\n\n        Parameters\n        ----------\n        and_cons : Constraint\n            AND constraint to get the number of variables from.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_373getNVarsAnd = {"getNVarsAnd", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_373getNVarsAnd, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_372getNVarsAnd};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_373getNVarsAnd(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNVarsAnd (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_and_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6676, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6676, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getNVarsAnd", 0) < (0)) __PYX_ERR(2, 6676, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getNVarsAnd", 1, 1, 1, i); __PYX_ERR(2, 6676, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6676, __pyx_L3_error)
    }
    __pyx_v_and_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getNVarsAnd", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 6676, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNVarsAnd", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_and_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "and_cons", 0))) __PYX_ERR(2, 6676, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_372getNVarsAnd(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_and_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_372getNVarsAnd(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNVarsAnd", 0);

  /* "src/pyscipopt/scip.pxi":6691
 *         """
 * 
 *         return SCIPgetNVarsAnd(self._scip, and_cons.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def getVarsAnd(self, Constraint and_cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNVarsAnd(__pyx_v_self->_scip, __pyx_v_and_cons->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6676
 *         return vals
 * 
 *     def getNVarsAnd(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of variables in and constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNVarsAnd", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6693
 *         return SCIPgetNVarsAnd(self._scip, and_cons.scip_cons)
 * 
 *     def getVarsAnd(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Gets variables in AND constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_375getVarsAnd(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_374getVarsAnd, "\n        Gets variables in AND constraint.\n\n        Parameters\n        ----------\n        and_cons : Constraint\n            AND Constraint to get the variables from.\n\n        Returns\n        -------\n        list of Variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_375getVarsAnd = {"getVarsAnd", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_375getVarsAnd, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_374getVarsAnd};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_375getVarsAnd(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVarsAnd (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_and_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6693, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6693, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getVarsAnd", 0) < (0)) __PYX_ERR(2, 6693, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getVarsAnd", 1, 1, 1, i); __PYX_ERR(2, 6693, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6693, __pyx_L3_error)
    }
    __pyx_v_and_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getVarsAnd", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 6693, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarsAnd", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_and_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "and_cons", 0))) __PYX_ERR(2, 6693, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_374getVarsAnd(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_and_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_374getVarsAnd(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons) {
  SCIP_VAR **__pyx_v__vars;
  int __pyx_v_nvars;
  int __pyx_v_i;
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_v_vars = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVarsAnd", 0);

  /* "src/pyscipopt/scip.pxi":6712
 *         cdef int i
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(and_cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         assert(constype == 'and', "The constraint handler %s does not have this functionality." % constype)
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_and_cons->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":6713
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(and_cons.scip_cons))).decode('UTF-8')
 *         assert(constype == 'and', "The constraint handler %s does not have this functionality." % constype)             # <<<<<<<<<<<<<<
 * 
 *         nvars = SCIPgetNVarsAnd(self._scip, and_cons.scip_cons)
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_and_2, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 6713, __pyx_L1_error)
    __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_1 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_The_constraint_handler_s_does_no, __pyx_v_constype); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6713, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_GIVEREF(__pyx_t_3);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3) != (0)) __PYX_ERR(2, 6713, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1) != (0)) __PYX_ERR(2, 6713, __pyx_L1_error);
    __pyx_t_3 = 0;
    __pyx_t_1 = 0;
    {
      Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
      if (unlikely(((!CYTHON_ASSUME_SAFE_SIZE) && __pyx_temp < 0))) __PYX_ERR(2, 6713, __pyx_L1_error)
      __pyx_t_5 = (__pyx_temp != 0);
    }

    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_5)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(2, 6713, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 6713, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":6715
 *         assert(constype == 'and', "The constraint handler %s does not have this functionality." % constype)
 * 
 *         nvars = SCIPgetNVarsAnd(self._scip, and_cons.scip_cons)             # <<<<<<<<<<<<<<
 *         _vars = SCIPgetVarsAnd(self._scip, and_cons.scip_cons)
 * 
*/
  __pyx_v_nvars = SCIPgetNVarsAnd(__pyx_v_self->_scip, __pyx_v_and_cons->scip_cons);

  /* "src/pyscipopt/scip.pxi":6716
 * 
 *         nvars = SCIPgetNVarsAnd(self._scip, and_cons.scip_cons)
 *         _vars = SCIPgetVarsAnd(self._scip, and_cons.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *         vars = []
*/
  __pyx_v__vars = SCIPgetVarsAnd(__pyx_v_self->_scip, __pyx_v_and_cons->scip_cons);

  /* "src/pyscipopt/scip.pxi":6718
 *         _vars = SCIPgetVarsAnd(self._scip, and_cons.scip_cons)
 * 
 *         vars = []             # <<<<<<<<<<<<<<
 *         for i in range(nvars):
 *             vars.append(self._getOrCreateVar(_vars[i]))
*/
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_vars = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6719
 * 
 *         vars = []
 *         for i in range(nvars):             # <<<<<<<<<<<<<<
 *             vars.append(self._getOrCreateVar(_vars[i]))
 * 
*/
  __pyx_t_6 = __pyx_v_nvars;
  __pyx_t_7 = __pyx_t_6;
  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
    __pyx_v_i = __pyx_t_8;

    /* "src/pyscipopt/scip.pxi":6720
 *         vars = []
 *         for i in range(nvars):
 *             vars.append(self._getOrCreateVar(_vars[i]))             # <<<<<<<<<<<<<<
 * 
 *         return vars
*/
    __pyx_t_2 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, (__pyx_v__vars[__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6720, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_vars, __pyx_t_2); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(2, 6720, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/pyscipopt/scip.pxi":6722
 *             vars.append(self._getOrCreateVar(_vars[i]))
 * 
 *         return vars             # <<<<<<<<<<<<<<
 * 
 *     def getResultantAnd(self, Constraint and_cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_vars);
  __pyx_r = __pyx_v_vars;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6693
 *         return SCIPgetNVarsAnd(self._scip, and_cons.scip_cons)
 * 
 *     def getVarsAnd(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Gets variables in AND constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarsAnd", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XDECREF(__pyx_v_vars);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6724
 *         return vars
 * 
 *     def getResultantAnd(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the resultant variable in And constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_377getResultantAnd(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_376getResultantAnd, "\n        Gets the resultant variable in And constraint.\n\n        Parameters\n        ----------\n        and_cons : Constraint\n            Constraint to get the resultant variable from.\n\n        Returns\n        -------\n        Variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_377getResultantAnd = {"getResultantAnd", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_377getResultantAnd, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_376getResultantAnd};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_377getResultantAnd(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getResultantAnd (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_and_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6724, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6724, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getResultantAnd", 0) < (0)) __PYX_ERR(2, 6724, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getResultantAnd", 1, 1, 1, i); __PYX_ERR(2, 6724, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6724, __pyx_L3_error)
    }
    __pyx_v_and_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getResultantAnd", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 6724, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getResultantAnd", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_and_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "and_cons", 0))) __PYX_ERR(2, 6724, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_376getResultantAnd(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_and_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_376getResultantAnd(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons) {
  SCIP_VAR *__pyx_v__resultant;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getResultantAnd", 0);

  /* "src/pyscipopt/scip.pxi":6740
 *         cdef SCIP_VAR* _resultant
 * 
 *         _resultant = SCIPgetResultantAnd(self._scip, and_cons.scip_cons)             # <<<<<<<<<<<<<<
 *         return self._getOrCreateVar(_resultant)
 * 
*/
  __pyx_v__resultant = SCIPgetResultantAnd(__pyx_v_self->_scip, __pyx_v_and_cons->scip_cons);

  /* "src/pyscipopt/scip.pxi":6741
 * 
 *         _resultant = SCIPgetResultantAnd(self._scip, and_cons.scip_cons)
 *         return self._getOrCreateVar(_resultant)             # <<<<<<<<<<<<<<
 * 
 *     def isAndConsSorted(self, Constraint and_cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, __pyx_v__resultant); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6724
 *         return vars
 * 
 *     def getResultantAnd(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the resultant variable in And constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getResultantAnd", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6743
 *         return self._getOrCreateVar(_resultant)
 * 
 *     def isAndConsSorted(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if the variables of the AND-constraint are sorted with respect to their indices.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_379isAndConsSorted(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_378isAndConsSorted, "\n        Returns if the variables of the AND-constraint are sorted with respect to their indices.\n\n        Parameters\n        ----------\n        and_cons : Constraint\n            Constraint to check.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_379isAndConsSorted = {"isAndConsSorted", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_379isAndConsSorted, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_378isAndConsSorted};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_379isAndConsSorted(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isAndConsSorted (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_and_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6743, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6743, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "isAndConsSorted", 0) < (0)) __PYX_ERR(2, 6743, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("isAndConsSorted", 1, 1, 1, i); __PYX_ERR(2, 6743, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6743, __pyx_L3_error)
    }
    __pyx_v_and_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("isAndConsSorted", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 6743, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.isAndConsSorted", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_and_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "and_cons", 0))) __PYX_ERR(2, 6743, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_378isAndConsSorted(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_and_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_378isAndConsSorted(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isAndConsSorted", 0);

  /* "src/pyscipopt/scip.pxi":6758
 *         """
 * 
 *         return SCIPisAndConsSorted(self._scip, and_cons.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def sortAndCons(self, Constraint and_cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPisAndConsSorted(__pyx_v_self->_scip, __pyx_v_and_cons->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6743
 *         return self._getOrCreateVar(_resultant)
 * 
 *     def isAndConsSorted(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if the variables of the AND-constraint are sorted with respect to their indices.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isAndConsSorted", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6760
 *         return SCIPisAndConsSorted(self._scip, and_cons.scip_cons)
 * 
 *     def sortAndCons(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Sorts the variables of the AND-constraint with respect to their indices.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_381sortAndCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_380sortAndCons, "\n        Sorts the variables of the AND-constraint with respect to their indices.\n\n        Parameters\n        ----------\n        and_cons : Constraint\n            Constraint to sort.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_381sortAndCons = {"sortAndCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_381sortAndCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_380sortAndCons};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_381sortAndCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("sortAndCons (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_and_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6760, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6760, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "sortAndCons", 0) < (0)) __PYX_ERR(2, 6760, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("sortAndCons", 1, 1, 1, i); __PYX_ERR(2, 6760, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6760, __pyx_L3_error)
    }
    __pyx_v_and_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("sortAndCons", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 6760, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.sortAndCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_and_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "and_cons", 0))) __PYX_ERR(2, 6760, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_380sortAndCons(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_and_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_380sortAndCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_and_cons) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("sortAndCons", 0);

  /* "src/pyscipopt/scip.pxi":6771
 *         """
 * 
 *         PY_SCIP_CALL(SCIPsortAndCons(self._scip, and_cons.scip_cons))             # <<<<<<<<<<<<<<
 * 
 *     def printCons(self, Constraint constraint):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsortAndCons(__pyx_v_self->_scip, __pyx_v_and_cons->scip_cons)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":6760
 *         return SCIPisAndConsSorted(self._scip, and_cons.scip_cons)
 * 
 *     def sortAndCons(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Sorts the variables of the AND-constraint with respect to their indices.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.sortAndCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6773
 *         PY_SCIP_CALL(SCIPsortAndCons(self._scip, and_cons.scip_cons))
 * 
 *     def printCons(self, Constraint constraint):             # <<<<<<<<<<<<<<
 *         """
 *         Print the constraint
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_383printCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_382printCons, "\n        Print the constraint\n\n        Parameters\n        ----------\n        constraint : Constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_383printCons = {"printCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_383printCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_382printCons};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_383printCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_constraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("printCons (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_constraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6773, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6773, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "printCons", 0) < (0)) __PYX_ERR(2, 6773, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("printCons", 1, 1, 1, i); __PYX_ERR(2, 6773, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6773, __pyx_L3_error)
    }
    __pyx_v_constraint = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("printCons", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 6773, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.printCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_constraint), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "constraint", 0))) __PYX_ERR(2, 6773, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_382printCons(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_constraint);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_382printCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_constraint) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("printCons", 0);

  /* "src/pyscipopt/scip.pxi":6782
 * 
 *         """
 *         return PY_SCIP_CALL(SCIPprintCons(self._scip, constraint.scip_cons, NULL))             # <<<<<<<<<<<<<<
 * 
 *     def addExprNonlinear(self, Constraint cons, expr, coef):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintCons(__pyx_v_self->_scip, __pyx_v_constraint->scip_cons, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6773
 *         PY_SCIP_CALL(SCIPsortAndCons(self._scip, and_cons.scip_cons))
 * 
 *     def printCons(self, Constraint constraint):             # <<<<<<<<<<<<<<
 *         """
 *         Print the constraint
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.printCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6784
 *         return PY_SCIP_CALL(SCIPprintCons(self._scip, constraint.scip_cons, NULL))
 * 
 *     def addExprNonlinear(self, Constraint cons, expr, coef):             # <<<<<<<<<<<<<<
 *         """
 *         Add coef*expr to nonlinear constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_385addExprNonlinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_384addExprNonlinear, "\n        Add coef*expr to nonlinear constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n        expr : Expr or GenExpr\n        coef : float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_385addExprNonlinear = {"addExprNonlinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_385addExprNonlinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_384addExprNonlinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_385addExprNonlinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  PyObject *__pyx_v_expr = 0;
  PyObject *__pyx_v_coef = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addExprNonlinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_expr,&__pyx_mstate_global->__pyx_n_u_coef,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6784, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6784, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6784, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6784, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addExprNonlinear", 0) < (0)) __PYX_ERR(2, 6784, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addExprNonlinear", 1, 3, 3, i); __PYX_ERR(2, 6784, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6784, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6784, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6784, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_expr = values[1];
    __pyx_v_coef = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addExprNonlinear", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 6784, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addExprNonlinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 6784, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_384addExprNonlinear(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_expr, __pyx_v_coef);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_384addExprNonlinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_expr, PyObject *__pyx_v_coef) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_temp_cons = 0;
  SCIP_EXPR *__pyx_v_scip_expr;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  SCIP_Real __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addExprNonlinear", 0);

  /* "src/pyscipopt/scip.pxi":6795
 * 
 *         """
 *         assert self.getStage() == 1, "addExprNonlinear cannot be called in stage %i." % self.getStage()             # <<<<<<<<<<<<<<
 *         assert cons.isNonlinear(), "addExprNonlinear can only be called with nonlinear constraints."
 * 
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6795, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_4 = (__Pyx_PyLong_BoolEqObjC(__pyx_t_1, __pyx_mstate_global->__pyx_int_1, 1, 0)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 6795, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) {
      __pyx_t_2 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6795, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_addExprNonlinear_cannot_be_calle, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6795, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_2, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(2, 6795, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 6795, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":6796
 *         """
 *         assert self.getStage() == 1, "addExprNonlinear cannot be called in stage %i." % self.getStage()
 *         assert cons.isNonlinear(), "addExprNonlinear can only be called with nonlinear constraints."             # <<<<<<<<<<<<<<
 * 
 *         cdef Constraint temp_cons
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = ((PyObject *)__pyx_v_cons);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isNonlinear, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6796, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 6796, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_addExprNonlinear_can_only_be_cal, 0, 0);
      __PYX_ERR(2, 6796, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 6796, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":6801
 *         cdef SCIP_EXPR* scip_expr
 * 
 *         temp_cons = self.addCons(expr <= 0)             # <<<<<<<<<<<<<<
 *         scip_expr = SCIPgetExprNonlinear(temp_cons.scip_cons)
 * 
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_5 = PyObject_RichCompare(__pyx_v_expr, __pyx_mstate_global->__pyx_int_0, Py_LE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6801, __pyx_L1_error)
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_5};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_addCons, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6801, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint))))) __PYX_ERR(2, 6801, __pyx_L1_error)
  __pyx_v_temp_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6802
 * 
 *         temp_cons = self.addCons(expr <= 0)
 *         scip_expr = SCIPgetExprNonlinear(temp_cons.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPaddExprNonlinear(self._scip, cons.scip_cons, scip_expr, coef))
*/
  __pyx_v_scip_expr = SCIPgetExprNonlinear(__pyx_v_temp_cons->scip_cons);

  /* "src/pyscipopt/scip.pxi":6804
 *         scip_expr = SCIPgetExprNonlinear(temp_cons.scip_cons)
 * 
 *         PY_SCIP_CALL(SCIPaddExprNonlinear(self._scip, cons.scip_cons, scip_expr, coef))             # <<<<<<<<<<<<<<
 *         self.delCons(temp_cons)
 * 
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_coef); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6804, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddExprNonlinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_v_scip_expr, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6804, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6805
 * 
 *         PY_SCIP_CALL(SCIPaddExprNonlinear(self._scip, cons.scip_cons, scip_expr, coef))
 *         self.delCons(temp_cons)             # <<<<<<<<<<<<<<
 * 
 *     def addConsCoeff(self, Constraint cons, Variable var, coeff):
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_temp_cons)};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_delCons, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6805, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6784
 *         return PY_SCIP_CALL(SCIPprintCons(self._scip, constraint.scip_cons, NULL))
 * 
 *     def addExprNonlinear(self, Constraint cons, expr, coef):             # <<<<<<<<<<<<<<
 *         """
 *         Add coef*expr to nonlinear constraint.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addExprNonlinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_temp_cons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6807
 *         self.delCons(temp_cons)
 * 
 *     def addConsCoeff(self, Constraint cons, Variable var, coeff):             # <<<<<<<<<<<<<<
 *         """
 *         Add coefficient to the constraint (if non-zero).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_387addConsCoeff(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_386addConsCoeff, "\n        Add coefficient to the constraint (if non-zero).\n\n        Parameters\n        ----------\n        cons : Constraint\n            Constraint to be changed\n        var : Variable\n            variable to be added\n        coeff : float\n            coefficient of new variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_387addConsCoeff = {"addConsCoeff", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_387addConsCoeff, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_386addConsCoeff};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_387addConsCoeff(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_coeff = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConsCoeff (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_coeff,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6807, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6807, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6807, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6807, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConsCoeff", 0) < (0)) __PYX_ERR(2, 6807, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConsCoeff", 1, 3, 3, i); __PYX_ERR(2, 6807, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6807, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6807, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6807, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
    __pyx_v_coeff = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConsCoeff", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 6807, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsCoeff", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 6807, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 6807, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_386addConsCoeff(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_var, __pyx_v_coeff);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_386addConsCoeff(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_coeff) {
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  SCIP_Real __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  SCIP_Longint __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConsCoeff", 0);

  /* "src/pyscipopt/scip.pxi":6822
 *         """
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         if constype == 'linear':
 *             PY_SCIP_CALL(SCIPaddCoefLinear(self._scip, cons.scip_cons, var.scip_var, coeff))
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":6823
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddCoefLinear(self._scip, cons.scip_cons, var.scip_var, coeff))
 *         elif constype == 'knapsack':
*/
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_linear, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 6823, __pyx_L1_error)
  if (__pyx_t_5) {

    /* "src/pyscipopt/scip.pxi":6824
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':
 *             PY_SCIP_CALL(SCIPaddCoefLinear(self._scip, cons.scip_cons, var.scip_var, coeff))             # <<<<<<<<<<<<<<
 *         elif constype == 'knapsack':
 *             PY_SCIP_CALL(SCIPaddCoefKnapsack(self._scip, cons.scip_cons, var.scip_var, coeff))
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_coeff); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6824, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCoefLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_v_var->scip_var, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6824, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_7};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6824, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":6823
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddCoefLinear(self._scip, cons.scip_cons, var.scip_var, coeff))
 *         elif constype == 'knapsack':
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":6825
 *         if constype == 'linear':
 *             PY_SCIP_CALL(SCIPaddCoefLinear(self._scip, cons.scip_cons, var.scip_var, coeff))
 *         elif constype == 'knapsack':             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddCoefKnapsack(self._scip, cons.scip_cons, var.scip_var, coeff))
 *         else:
*/
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_knapsack, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 6825, __pyx_L1_error)
  if (likely(__pyx_t_5)) {

    /* "src/pyscipopt/scip.pxi":6826
 *             PY_SCIP_CALL(SCIPaddCoefLinear(self._scip, cons.scip_cons, var.scip_var, coeff))
 *         elif constype == 'knapsack':
 *             PY_SCIP_CALL(SCIPaddCoefKnapsack(self._scip, cons.scip_cons, var.scip_var, coeff))             # <<<<<<<<<<<<<<
 *         else:
 *             raise NotImplementedError("Adding coefficients to %s constraints is not implemented." % constype)
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 6826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = __Pyx_PyLong_As_SCIP_Longint(__pyx_v_coeff); if (unlikely((__pyx_t_8 == ((SCIP_Longint)-1)) && PyErr_Occurred())) __PYX_ERR(2, 6826, __pyx_L1_error)
    __pyx_t_1 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCoefKnapsack(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_v_var->scip_var, __pyx_t_8)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6826, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_1};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6826, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":6825
 *         if constype == 'linear':
 *             PY_SCIP_CALL(SCIPaddCoefLinear(self._scip, cons.scip_cons, var.scip_var, coeff))
 *         elif constype == 'knapsack':             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddCoefKnapsack(self._scip, cons.scip_cons, var.scip_var, coeff))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":6828
 *             PY_SCIP_CALL(SCIPaddCoefKnapsack(self._scip, cons.scip_cons, var.scip_var, coeff))
 *         else:
 *             raise NotImplementedError("Adding coefficients to %s constraints is not implemented." % constype)             # <<<<<<<<<<<<<<
 * 
 *     def addConsNode(self, Node node, ExprCons cons, Node validnode=None, name='',
*/
  /*else*/ {
    __pyx_t_7 = NULL;
    __pyx_t_1 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_Adding_coefficients_to_s_constra, __pyx_v_constype); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_1};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_NotImplementedError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6828, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 6828, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":6807
 *         self.delCons(temp_cons)
 * 
 *     def addConsCoeff(self, Constraint cons, Variable var, coeff):             # <<<<<<<<<<<<<<
 *         """
 *         Add coefficient to the constraint (if non-zero).
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsCoeff", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6830
 *             raise NotImplementedError("Adding coefficients to %s constraints is not implemented." % constype)
 * 
 *     def addConsNode(self, Node node, ExprCons cons, Node validnode=None, name='',             # <<<<<<<<<<<<<<
 *                     initial=True, separate=True, enforce=True, check=True,
 *                     propagate=True, local=True, dynamic=False, removable=True,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_389addConsNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_388addConsNode, "\n        Add a constraint to the given node.\n\n        Parameters\n        ----------\n        node : Node\n            node at which the constraint will be added\n        cons : ExprCons\n            the constraint expression to add to the node (e.g., x + y <= 5)\n        validnode : Node or None, optional\n            more global node where cons is also valid. (Default=None)\n        name : str, optional\n            name of the constraint (Default value = '')\n        initial : bool, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool, optional\n            should the constraint be separated during LP processing? (Default value = True)\n        enforce : bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        propagate : bool, optional\n            should the constraint be propagated during node processing? (Default value = True)\n        local : bool, optional\n            is the constraint only valid locally? (Default value = True)\n        dynamic : bool, optional\n            is the constraint subject to aging? (Default value = False)\n        removable : bool, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = True)\n        stickingatnode : bool, optional\n            should the constraint always be kept at the node where it was added? (Default value = True)\n\n        Returns\n        -------\n        Constraint\n            The added Constraint object.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_389addConsNode = {"addConsNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_389addConsNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_388addConsNode};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_389addConsNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node = 0;
  struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_validnode = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[13] = {0,0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConsNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_node,&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_validnode,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6830, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConsNode", 0) < (0)) __PYX_ERR(2, 6830, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Node *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":6831
 * 
 *     def addConsNode(self, Node node, ExprCons cons, Node validnode=None, name='',
 *                     initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                     propagate=True, local=True, dynamic=False, removable=True,
 *                     stickingatnode=True):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6832
 *     def addConsNode(self, Node node, ExprCons cons, Node validnode=None, name='',
 *                     initial=True, separate=True, enforce=True, check=True,
 *                     propagate=True, local=True, dynamic=False, removable=True,             # <<<<<<<<<<<<<<
 *                     stickingatnode=True):
 *         """
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6833
 *                     initial=True, separate=True, enforce=True, check=True,
 *                     propagate=True, local=True, dynamic=False, removable=True,
 *                     stickingatnode=True):             # <<<<<<<<<<<<<<
 *         """
 *         Add a constraint to the given node.
*/
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_True));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConsNode", 0, 2, 13, i); __PYX_ERR(2, 6830, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6830, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6830, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6830, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }

      /* "src/pyscipopt/scip.pxi":6830
 *             raise NotImplementedError("Adding coefficients to %s constraints is not implemented." % constype)
 * 
 *     def addConsNode(self, Node node, ExprCons cons, Node validnode=None, name='',             # <<<<<<<<<<<<<<
 *                     initial=True, separate=True, enforce=True, check=True,
 *                     propagate=True, local=True, dynamic=False, removable=True,
*/
      if (!values[2]) values[2] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Node *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":6831
 * 
 *     def addConsNode(self, Node node, ExprCons cons, Node validnode=None, name='',
 *                     initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                     propagate=True, local=True, dynamic=False, removable=True,
 *                     stickingatnode=True):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6832
 *     def addConsNode(self, Node node, ExprCons cons, Node validnode=None, name='',
 *                     initial=True, separate=True, enforce=True, check=True,
 *                     propagate=True, local=True, dynamic=False, removable=True,             # <<<<<<<<<<<<<<
 *                     stickingatnode=True):
 *         """
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6833
 *                     initial=True, separate=True, enforce=True, check=True,
 *                     propagate=True, local=True, dynamic=False, removable=True,
 *                     stickingatnode=True):             # <<<<<<<<<<<<<<
 *         """
 *         Add a constraint to the given node.
*/
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_node = ((struct __pyx_obj_9pyscipopt_4scip_Node *)values[0]);
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)values[1]);
    __pyx_v_validnode = ((struct __pyx_obj_9pyscipopt_4scip_Node *)values[2]);
    __pyx_v_name = values[3];
    __pyx_v_initial = values[4];
    __pyx_v_separate = values[5];
    __pyx_v_enforce = values[6];
    __pyx_v_check = values[7];
    __pyx_v_propagate = values[8];
    __pyx_v_local = values[9];
    __pyx_v_dynamic = values[10];
    __pyx_v_removable = values[11];
    __pyx_v_stickingatnode = values[12];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConsNode", 0, 2, 13, __pyx_nargs); __PYX_ERR(2, 6830, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_node), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, 1, "node", 0))) __PYX_ERR(2, 6830, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons, 1, "cons", 0))) __PYX_ERR(2, 6830, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_validnode), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, 1, "validnode", 0))) __PYX_ERR(2, 6830, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_388addConsNode(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_node, __pyx_v_cons, __pyx_v_validnode, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":6830
 *             raise NotImplementedError("Adding coefficients to %s constraints is not implemented." % constype)
 * 
 *     def addConsNode(self, Node node, ExprCons cons, Node validnode=None, name='',             # <<<<<<<<<<<<<<
 *                     initial=True, separate=True, enforce=True, check=True,
 *                     propagate=True, local=True, dynamic=False, removable=True,
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_388addConsNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_node, struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_validnode, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  SCIP_CONS *__pyx_v_scip_cons;
  PyObject *__pyx_v_kwargs = NULL;
  PyObject *__pyx_v_pycons_initial = NULL;
  PyObject *__pyx_v_pycons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  SCIP_CONS *__pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConsNode", 0);

  /* "src/pyscipopt/scip.pxi":6872
 * 
 *         """
 *         assert isinstance(cons, ExprCons), "given constraint is not ExprCons but %s" % cons.__class__.__name__             # <<<<<<<<<<<<<<
 * 
 *         cdef SCIP_CONS* scip_cons
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons); 
    if (unlikely(!__pyx_t_1)) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6872, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6872, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_given_constraint_is_not_ExprCons, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6872, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_2, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(2, 6872, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 6872, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":6876
 *         cdef SCIP_CONS* scip_cons
 * 
 *         kwargs = dict(name=name, initial=initial, separate=separate,             # <<<<<<<<<<<<<<
 *                       enforce=enforce, check=check, propagate=propagate,
 *                       local=local, modifiable=False, dynamic=dynamic,
*/
  __pyx_t_2 = __Pyx_PyDict_NewPresized(11); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6876, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name, __pyx_v_name) < (0)) __PYX_ERR(2, 6876, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_initial, __pyx_v_initial) < (0)) __PYX_ERR(2, 6876, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_separate, __pyx_v_separate) < (0)) __PYX_ERR(2, 6876, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6877
 * 
 *         kwargs = dict(name=name, initial=initial, separate=separate,
 *                       enforce=enforce, check=check, propagate=propagate,             # <<<<<<<<<<<<<<
 *                       local=local, modifiable=False, dynamic=dynamic,
 *                       removable=removable, stickingatnode=stickingatnode)
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_enforce, __pyx_v_enforce) < (0)) __PYX_ERR(2, 6876, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_check, __pyx_v_check) < (0)) __PYX_ERR(2, 6876, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_propagate, __pyx_v_propagate) < (0)) __PYX_ERR(2, 6876, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6878
 *         kwargs = dict(name=name, initial=initial, separate=separate,
 *                       enforce=enforce, check=check, propagate=propagate,
 *                       local=local, modifiable=False, dynamic=dynamic,             # <<<<<<<<<<<<<<
 *                       removable=removable, stickingatnode=stickingatnode)
 *         pycons_initial = self.createConsFromExpr(cons, **kwargs)
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_local, __pyx_v_local) < (0)) __PYX_ERR(2, 6876, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_modifiable, Py_False) < (0)) __PYX_ERR(2, 6876, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dynamic, __pyx_v_dynamic) < (0)) __PYX_ERR(2, 6876, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6879
 *                       enforce=enforce, check=check, propagate=propagate,
 *                       local=local, modifiable=False, dynamic=dynamic,
 *                       removable=removable, stickingatnode=stickingatnode)             # <<<<<<<<<<<<<<
 *         pycons_initial = self.createConsFromExpr(cons, **kwargs)
 *         scip_cons = (<Constraint>pycons_initial).scip_cons
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_removable, __pyx_v_removable) < (0)) __PYX_ERR(2, 6876, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_stickingatnode, __pyx_v_stickingatnode) < (0)) __PYX_ERR(2, 6876, __pyx_L1_error)
  __pyx_v_kwargs = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6880
 *                       local=local, modifiable=False, dynamic=dynamic,
 *                       removable=removable, stickingatnode=stickingatnode)
 *         pycons_initial = self.createConsFromExpr(cons, **kwargs)             # <<<<<<<<<<<<<<
 *         scip_cons = (<Constraint>pycons_initial).scip_cons
 * 
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_createConsFromExpr); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_cons)};
    __pyx_t_2 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6880, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_pycons_initial = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6881
 *                       removable=removable, stickingatnode=stickingatnode)
 *         pycons_initial = self.createConsFromExpr(cons, **kwargs)
 *         scip_cons = (<Constraint>pycons_initial).scip_cons             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(validnode, Node):
*/
  __pyx_t_7 = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_pycons_initial)->scip_cons;
  __pyx_v_scip_cons = __pyx_t_7;

  /* "src/pyscipopt/scip.pxi":6883
 *         scip_cons = (<Constraint>pycons_initial).scip_cons
 * 
 *         if isinstance(validnode, Node):             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddConsNode(self._scip, node.scip_node, scip_cons, validnode.scip_node))
 *         else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_validnode), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node); 
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":6884
 * 
 *         if isinstance(validnode, Node):
 *             PY_SCIP_CALL(SCIPaddConsNode(self._scip, node.scip_node, scip_cons, validnode.scip_node))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPaddConsNode(self._scip, node.scip_node, scip_cons, NULL))
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6884, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddConsNode(__pyx_v_self->_scip, __pyx_v_node->scip_node, __pyx_v_scip_cons, __pyx_v_validnode->scip_node)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6884, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6884, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":6883
 *         scip_cons = (<Constraint>pycons_initial).scip_cons
 * 
 *         if isinstance(validnode, Node):             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddConsNode(self._scip, node.scip_node, scip_cons, validnode.scip_node))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":6886
 *             PY_SCIP_CALL(SCIPaddConsNode(self._scip, node.scip_node, scip_cons, validnode.scip_node))
 *         else:
 *             PY_SCIP_CALL(SCIPaddConsNode(self._scip, node.scip_node, scip_cons, NULL))             # <<<<<<<<<<<<<<
 * 
 *         pycons = Constraint.create(scip_cons)
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddConsNode(__pyx_v_self->_scip, __pyx_v_node->scip_node, __pyx_v_scip_cons, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6886, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6886, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":6888
 *             PY_SCIP_CALL(SCIPaddConsNode(self._scip, node.scip_node, scip_cons, NULL))
 * 
 *         pycons = Constraint.create(scip_cons)             # <<<<<<<<<<<<<<
 *         pycons.data = (<Constraint>pycons_initial).data
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
*/
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip_10Constraint_create(__pyx_v_scip_cons); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6888, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pycons = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6889
 * 
 *         pycons = Constraint.create(scip_cons)
 *         pycons.data = (<Constraint>pycons_initial).data             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
*/
  __pyx_t_2 = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_pycons_initial)->data;
  __Pyx_INCREF(__pyx_t_2);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_pycons, __pyx_mstate_global->__pyx_n_u_data, __pyx_t_2) < (0)) __PYX_ERR(2, 6889, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6890
 *         pycons = Constraint.create(scip_cons)
 *         pycons.data = (<Constraint>pycons_initial).data
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))             # <<<<<<<<<<<<<<
 * 
 *         return pycons
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseCons(__pyx_v_self->_scip, (&__pyx_v_scip_cons))); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6890, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6892
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
 *         return pycons             # <<<<<<<<<<<<<<
 * 
 *     def addConsLocal(self, ExprCons cons, Node validnode=None, name='',
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pycons);
  __pyx_r = __pyx_v_pycons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6830
 *             raise NotImplementedError("Adding coefficients to %s constraints is not implemented." % constype)
 * 
 *     def addConsNode(self, Node node, ExprCons cons, Node validnode=None, name='',             # <<<<<<<<<<<<<<
 *                     initial=True, separate=True, enforce=True, check=True,
 *                     propagate=True, local=True, dynamic=False, removable=True,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_XDECREF(__pyx_v_pycons_initial);
  __Pyx_XDECREF(__pyx_v_pycons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6894
 *         return pycons
 * 
 *     def addConsLocal(self, ExprCons cons, Node validnode=None, name='',             # <<<<<<<<<<<<<<
 *                      initial=True, separate=True, enforce=True, check=True,
 *                      propagate=True, local=True, dynamic=False, removable=True,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_391addConsLocal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_390addConsLocal, "\n        Add a constraint to the current node.\n\n        Parameters\n        ----------\n        cons : ExprCons\n            the constraint expression to add to the current node (e.g., x + y <= 5)\n        validnode : Node or None, optional\n            more global node where cons is also valid. (Default=None)\n        name : str, optional\n            name of the constraint (Default value = '')\n        initial : bool, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool, optional\n            should the constraint be separated during LP processing? (Default value = True)\n        enforce : bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        propagate : bool, optional\n            should the constraint be propagated during node processing? (Default value = True)\n        local : bool, optional\n            is the constraint only valid locally? (Default value = True)\n        dynamic : bool, optional\n            is the constraint subject to aging? (Default value = False)\n        removable : bool, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = True)\n        stickingatnode : bool, optional\n            should the constraint always be kept at the node where it was added? (Default value = True)\n\n        Returns\n        -------\n        Constraint\n            The added Constraint object.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_391addConsLocal = {"addConsLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_391addConsLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_390addConsLocal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_391addConsLocal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_validnode = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConsLocal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_validnode,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6894, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConsLocal", 0) < (0)) __PYX_ERR(2, 6894, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Node *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":6895
 * 
 *     def addConsLocal(self, ExprCons cons, Node validnode=None, name='',
 *                      initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                      propagate=True, local=True, dynamic=False, removable=True,
 *                      stickingatnode=True):
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6896
 *     def addConsLocal(self, ExprCons cons, Node validnode=None, name='',
 *                      initial=True, separate=True, enforce=True, check=True,
 *                      propagate=True, local=True, dynamic=False, removable=True,             # <<<<<<<<<<<<<<
 *                      stickingatnode=True):
 *         """
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6897
 *                      initial=True, separate=True, enforce=True, check=True,
 *                      propagate=True, local=True, dynamic=False, removable=True,
 *                      stickingatnode=True):             # <<<<<<<<<<<<<<
 *         """
 *         Add a constraint to the current node.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_True));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConsLocal", 0, 1, 12, i); __PYX_ERR(2, 6894, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6894, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6894, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }

      /* "src/pyscipopt/scip.pxi":6894
 *         return pycons
 * 
 *     def addConsLocal(self, ExprCons cons, Node validnode=None, name='',             # <<<<<<<<<<<<<<
 *                      initial=True, separate=True, enforce=True, check=True,
 *                      propagate=True, local=True, dynamic=False, removable=True,
*/
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Node *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":6895
 * 
 *     def addConsLocal(self, ExprCons cons, Node validnode=None, name='',
 *                      initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                      propagate=True, local=True, dynamic=False, removable=True,
 *                      stickingatnode=True):
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6896
 *     def addConsLocal(self, ExprCons cons, Node validnode=None, name='',
 *                      initial=True, separate=True, enforce=True, check=True,
 *                      propagate=True, local=True, dynamic=False, removable=True,             # <<<<<<<<<<<<<<
 *                      stickingatnode=True):
 *         """
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6897
 *                      initial=True, separate=True, enforce=True, check=True,
 *                      propagate=True, local=True, dynamic=False, removable=True,
 *                      stickingatnode=True):             # <<<<<<<<<<<<<<
 *         """
 *         Add a constraint to the current node.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)values[0]);
    __pyx_v_validnode = ((struct __pyx_obj_9pyscipopt_4scip_Node *)values[1]);
    __pyx_v_name = values[2];
    __pyx_v_initial = values[3];
    __pyx_v_separate = values[4];
    __pyx_v_enforce = values[5];
    __pyx_v_check = values[6];
    __pyx_v_propagate = values[7];
    __pyx_v_local = values[8];
    __pyx_v_dynamic = values[9];
    __pyx_v_removable = values[10];
    __pyx_v_stickingatnode = values[11];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConsLocal", 0, 1, 12, __pyx_nargs); __PYX_ERR(2, 6894, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons, 1, "cons", 0))) __PYX_ERR(2, 6894, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_validnode), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, 1, "validnode", 0))) __PYX_ERR(2, 6894, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_390addConsLocal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_validnode, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":6894
 *         return pycons
 * 
 *     def addConsLocal(self, ExprCons cons, Node validnode=None, name='',             # <<<<<<<<<<<<<<
 *                      initial=True, separate=True, enforce=True, check=True,
 *                      propagate=True, local=True, dynamic=False, removable=True,
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_390addConsLocal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Node *__pyx_v_validnode, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  SCIP_CONS *__pyx_v_scip_cons;
  PyObject *__pyx_v_kwargs = NULL;
  PyObject *__pyx_v_pycons_initial = NULL;
  PyObject *__pyx_v_pycons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  SCIP_CONS *__pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConsLocal", 0);

  /* "src/pyscipopt/scip.pxi":6934
 * 
 *         """
 *         assert isinstance(cons, ExprCons), "given constraint is not ExprCons but %s" % cons.__class__.__name__             # <<<<<<<<<<<<<<
 * 
 *         cdef SCIP_CONS* scip_cons
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons); 
    if (unlikely(!__pyx_t_1)) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6934, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6934, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_given_constraint_is_not_ExprCons, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6934, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_2, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(2, 6934, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 6934, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":6938
 *         cdef SCIP_CONS* scip_cons
 * 
 *         kwargs = dict(name=name, initial=initial, separate=separate,             # <<<<<<<<<<<<<<
 *                       enforce=enforce, check=check, propagate=propagate,
 *                       local=local, modifiable=False, dynamic=dynamic,
*/
  __pyx_t_2 = __Pyx_PyDict_NewPresized(11); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name, __pyx_v_name) < (0)) __PYX_ERR(2, 6938, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_initial, __pyx_v_initial) < (0)) __PYX_ERR(2, 6938, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_separate, __pyx_v_separate) < (0)) __PYX_ERR(2, 6938, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6939
 * 
 *         kwargs = dict(name=name, initial=initial, separate=separate,
 *                       enforce=enforce, check=check, propagate=propagate,             # <<<<<<<<<<<<<<
 *                       local=local, modifiable=False, dynamic=dynamic,
 *                       removable=removable, stickingatnode=stickingatnode)
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_enforce, __pyx_v_enforce) < (0)) __PYX_ERR(2, 6938, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_check, __pyx_v_check) < (0)) __PYX_ERR(2, 6938, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_propagate, __pyx_v_propagate) < (0)) __PYX_ERR(2, 6938, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6940
 *         kwargs = dict(name=name, initial=initial, separate=separate,
 *                       enforce=enforce, check=check, propagate=propagate,
 *                       local=local, modifiable=False, dynamic=dynamic,             # <<<<<<<<<<<<<<
 *                       removable=removable, stickingatnode=stickingatnode)
 *         pycons_initial = self.createConsFromExpr(cons, **kwargs)
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_local, __pyx_v_local) < (0)) __PYX_ERR(2, 6938, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_modifiable, Py_False) < (0)) __PYX_ERR(2, 6938, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_dynamic, __pyx_v_dynamic) < (0)) __PYX_ERR(2, 6938, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":6941
 *                       enforce=enforce, check=check, propagate=propagate,
 *                       local=local, modifiable=False, dynamic=dynamic,
 *                       removable=removable, stickingatnode=stickingatnode)             # <<<<<<<<<<<<<<
 *         pycons_initial = self.createConsFromExpr(cons, **kwargs)
 *         scip_cons = (<Constraint>pycons_initial).scip_cons
*/
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_removable, __pyx_v_removable) < (0)) __PYX_ERR(2, 6938, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_stickingatnode, __pyx_v_stickingatnode) < (0)) __PYX_ERR(2, 6938, __pyx_L1_error)
  __pyx_v_kwargs = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6942
 *                       local=local, modifiable=False, dynamic=dynamic,
 *                       removable=removable, stickingatnode=stickingatnode)
 *         pycons_initial = self.createConsFromExpr(cons, **kwargs)             # <<<<<<<<<<<<<<
 *         scip_cons = (<Constraint>pycons_initial).scip_cons
 * 
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_createConsFromExpr); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_cons)};
    __pyx_t_2 = __Pyx_PyObject_FastCallDict((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6942, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_pycons_initial = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6943
 *                       removable=removable, stickingatnode=stickingatnode)
 *         pycons_initial = self.createConsFromExpr(cons, **kwargs)
 *         scip_cons = (<Constraint>pycons_initial).scip_cons             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(validnode, Node):
*/
  __pyx_t_7 = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_pycons_initial)->scip_cons;
  __pyx_v_scip_cons = __pyx_t_7;

  /* "src/pyscipopt/scip.pxi":6945
 *         scip_cons = (<Constraint>pycons_initial).scip_cons
 * 
 *         if isinstance(validnode, Node):             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddConsLocal(self._scip, scip_cons, validnode.scip_node))
 *         else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_validnode), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node); 
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":6946
 * 
 *         if isinstance(validnode, Node):
 *             PY_SCIP_CALL(SCIPaddConsLocal(self._scip, scip_cons, validnode.scip_node))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPaddConsLocal(self._scip, scip_cons, NULL))
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddConsLocal(__pyx_v_self->_scip, __pyx_v_scip_cons, __pyx_v_validnode->scip_node)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6946, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":6945
 *         scip_cons = (<Constraint>pycons_initial).scip_cons
 * 
 *         if isinstance(validnode, Node):             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddConsLocal(self._scip, scip_cons, validnode.scip_node))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":6948
 *             PY_SCIP_CALL(SCIPaddConsLocal(self._scip, scip_cons, validnode.scip_node))
 *         else:
 *             PY_SCIP_CALL(SCIPaddConsLocal(self._scip, scip_cons, NULL))             # <<<<<<<<<<<<<<
 * 
 *         pycons = Constraint.create(scip_cons)
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 6948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddConsLocal(__pyx_v_self->_scip, __pyx_v_scip_cons, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6948, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":6950
 *             PY_SCIP_CALL(SCIPaddConsLocal(self._scip, scip_cons, NULL))
 * 
 *         pycons = Constraint.create(scip_cons)             # <<<<<<<<<<<<<<
 *         pycons.data = (<Constraint>pycons_initial).data
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
*/
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip_10Constraint_create(__pyx_v_scip_cons); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pycons = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6951
 * 
 *         pycons = Constraint.create(scip_cons)
 *         pycons.data = (<Constraint>pycons_initial).data             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
*/
  __pyx_t_2 = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_v_pycons_initial)->data;
  __Pyx_INCREF(__pyx_t_2);
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_pycons, __pyx_mstate_global->__pyx_n_u_data, __pyx_t_2) < (0)) __PYX_ERR(2, 6951, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6952
 *         pycons = Constraint.create(scip_cons)
 *         pycons.data = (<Constraint>pycons_initial).data
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))             # <<<<<<<<<<<<<<
 * 
 *         return pycons
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 6952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseCons(__pyx_v_self->_scip, (&__pyx_v_scip_cons))); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 6952, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 6952, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":6954
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
 *         return pycons             # <<<<<<<<<<<<<<
 * 
 *     def addConsKnapsack(self, vars, weights, capacity, name="",
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pycons);
  __pyx_r = __pyx_v_pycons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6894
 *         return pycons
 * 
 *     def addConsLocal(self, ExprCons cons, Node validnode=None, name='',             # <<<<<<<<<<<<<<
 *                      initial=True, separate=True, enforce=True, check=True,
 *                      propagate=True, local=True, dynamic=False, removable=True,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_kwargs);
  __Pyx_XDECREF(__pyx_v_pycons_initial);
  __Pyx_XDECREF(__pyx_v_pycons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":6956
 *         return pycons
 * 
 *     def addConsKnapsack(self, vars, weights, capacity, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 modifiable=False, propagate=True, local=False, dynamic=False,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_393addConsKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_392addConsKnapsack, "\n        Parameters\n        ----------\n        vars : list of Variable\n            list of variables to be included\n        weights : list of int\n            list of weights\n        capacity: int\n            capacity of the knapsack\n        name : str, optional\n            name of the constraint (Default value = \"\")\n        initial : bool, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool, optional\n            should the constraint be separated during LP processing? (Default value = True)\n        enforce : bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        propagate : bool, optional\n            should the constraint be propagated during node processing? (Default value = True)\n        local : bool, optional\n            is the constraint only valid locally? (Default value = False)\n        dynamic : bool, optional\n            is the constraint subject to aging? (Default value = False)\n        removable : bool, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = False)\n        stickingatnode : bool, optional\n            should the constraint always be kept at the node where it was added,\n            even if it may be moved to a more global node? (Default value = False)\n\n        Returns\n        -------\n        Constraint\n            The newly created knapsack constraint        \n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_393addConsKnapsack = {"addConsKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_393addConsKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_392addConsKnapsack};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_393addConsKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_vars = 0;
  PyObject *__pyx_v_weights = 0;
  PyObject *__pyx_v_capacity = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_modifiable = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[14] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConsKnapsack (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_vars,&__pyx_mstate_global->__pyx_n_u_weights,&__pyx_mstate_global->__pyx_n_u_capacity,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_modifiable,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 6956, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 14:
        values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConsKnapsack", 0) < (0)) __PYX_ERR(2, 6956, __pyx_L3_error)
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":6957
 * 
 *     def addConsKnapsack(self, vars, weights, capacity, name="",
 *                 initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                 modifiable=False, propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6958
 *     def addConsKnapsack(self, vars, weights, capacity, name="",
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 modifiable=False, propagate=True, local=False, dynamic=False,             # <<<<<<<<<<<<<<
 *                 removable=False, stickingatnode=False):
 *         """
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6959
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 modifiable=False, propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Parameters
*/
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[13]) values[13] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConsKnapsack", 0, 3, 14, i); __PYX_ERR(2, 6956, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 14:
        values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 6956, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 6956, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 6956, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 6956, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":6957
 * 
 *     def addConsKnapsack(self, vars, weights, capacity, name="",
 *                 initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                 modifiable=False, propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":6958
 *     def addConsKnapsack(self, vars, weights, capacity, name="",
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 modifiable=False, propagate=True, local=False, dynamic=False,             # <<<<<<<<<<<<<<
 *                 removable=False, stickingatnode=False):
 *         """
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":6959
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 modifiable=False, propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Parameters
*/
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[13]) values[13] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_vars = values[0];
    __pyx_v_weights = values[1];
    __pyx_v_capacity = values[2];
    __pyx_v_name = values[3];
    __pyx_v_initial = values[4];
    __pyx_v_separate = values[5];
    __pyx_v_enforce = values[6];
    __pyx_v_check = values[7];
    __pyx_v_modifiable = values[8];
    __pyx_v_propagate = values[9];
    __pyx_v_local = values[10];
    __pyx_v_dynamic = values[11];
    __pyx_v_removable = values[12];
    __pyx_v_stickingatnode = values[13];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConsKnapsack", 0, 3, 14, __pyx_nargs); __PYX_ERR(2, 6956, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_392addConsKnapsack(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_vars, __pyx_v_weights, __pyx_v_capacity, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_modifiable, __pyx_v_propagate, __pyx_v_local, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":6956
 *         return pycons
 * 
 *     def addConsKnapsack(self, vars, weights, capacity, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 modifiable=False, propagate=True, local=False, dynamic=False,
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_392addConsKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_vars, PyObject *__pyx_v_weights, PyObject *__pyx_v_capacity, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  int __pyx_v_nvars;
  int __pyx_v_i;
  SCIP_Longint *__pyx_v_weights_array;
  SCIP_CONS *__pyx_v_scip_cons;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  PyObject *__pyx_v_pyCons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  SCIP_Longint __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  char *__pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  SCIP_Bool __pyx_t_17;
  SCIP_Bool __pyx_t_18;
  SCIP_Bool __pyx_t_19;
  SCIP_Bool __pyx_t_20;
  SCIP_Bool __pyx_t_21;
  SCIP_Bool __pyx_t_22;
  SCIP_Bool __pyx_t_23;
  SCIP_Bool __pyx_t_24;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConsKnapsack", 0);
  __Pyx_INCREF(__pyx_v_name);

  /* "src/pyscipopt/scip.pxi":6997
 *         """
 * 
 *         cdef int nvars = len(vars)             # <<<<<<<<<<<<<<
 *         cdef int i
 *         cdef SCIP_Longint* weights_array = <SCIP_Longint*> malloc(nvars * sizeof(SCIP_Real))
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_vars); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 6997, __pyx_L1_error)
  __pyx_v_nvars = __pyx_t_1;

  /* "src/pyscipopt/scip.pxi":6999
 *         cdef int nvars = len(vars)
 *         cdef int i
 *         cdef SCIP_Longint* weights_array = <SCIP_Longint*> malloc(nvars * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef SCIP_CONS* scip_cons
 *         cdef _VarArray wrapper
*/
  __pyx_v_weights_array = ((SCIP_Longint *)malloc((__pyx_v_nvars * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/scip.pxi":7003
 *         cdef _VarArray wrapper
 * 
 *         assert nvars == len(weights), "Number of variables and weights must be the same."             # <<<<<<<<<<<<<<
 * 
 *         if name == '':
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = PyObject_Length(__pyx_v_weights); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 7003, __pyx_L1_error)
    __pyx_t_2 = (__pyx_v_nvars == __pyx_t_1);
    if (unlikely(!__pyx_t_2)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_Number_of_variables_and_weights, 0, 0);
      __PYX_ERR(2, 7003, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 7003, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":7005
 *         assert nvars == len(weights), "Number of variables and weights must be the same."
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 7005, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":7006
 * 
 *         if name == '':
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)             # <<<<<<<<<<<<<<
 * 
 *         wrapper = _VarArray(vars)
*/
    __pyx_t_3 = __Pyx_PyLong_From_long((SCIPgetNConss(__pyx_v_self->_scip) + 1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_n_u_c, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7006, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":7005
 *         assert nvars == len(weights), "Number of variables and weights must be the same."
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7008
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
 *         wrapper = _VarArray(vars)             # <<<<<<<<<<<<<<
 *         for i in range(nvars):
 *             weights_array[i] = <SCIP_Longint>weights[i]
*/
  __pyx_t_4 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_vars};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7008, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_3);
  }
  __pyx_v_wrapper = ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7009
 * 
 *         wrapper = _VarArray(vars)
 *         for i in range(nvars):             # <<<<<<<<<<<<<<
 *             weights_array[i] = <SCIP_Longint>weights[i]
 * 
*/
  __pyx_t_6 = __pyx_v_nvars;
  __pyx_t_7 = __pyx_t_6;
  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
    __pyx_v_i = __pyx_t_8;

    /* "src/pyscipopt/scip.pxi":7010
 *         wrapper = _VarArray(vars)
 *         for i in range(nvars):
 *             weights_array[i] = <SCIP_Longint>weights[i]             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPcreateConsKnapsack(
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_weights, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7010, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_9 = __Pyx_PyLong_As_SCIP_Longint(__pyx_t_3); if (unlikely((__pyx_t_9 == ((SCIP_Longint)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7010, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    (__pyx_v_weights_array[__pyx_v_i]) = ((SCIP_Longint)__pyx_t_9);
  }

  /* "src/pyscipopt/scip.pxi":7012
 *             weights_array[i] = <SCIP_Longint>weights[i]
 * 
 *         PY_SCIP_CALL(SCIPcreateConsKnapsack(             # <<<<<<<<<<<<<<
 *             self._scip, &scip_cons, str_conversion(name), nvars, wrapper.ptr, weights_array,
 *             capacity, initial, separate, enforce, check, propagate, local, modifiable,
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);

  /* "src/pyscipopt/scip.pxi":7013
 * 
 *         PY_SCIP_CALL(SCIPcreateConsKnapsack(
 *             self._scip, &scip_cons, str_conversion(name), nvars, wrapper.ptr, weights_array,             # <<<<<<<<<<<<<<
 *             capacity, initial, separate, enforce, check, propagate, local, modifiable,
 *             dynamic, removable, stickingatnode))
*/
  __pyx_t_12 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 7013, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_13))) {
    __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_13);
    assert(__pyx_t_12);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_13);
    __Pyx_INCREF(__pyx_t_12);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_13, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_v_name};
    __pyx_t_11 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_13, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7013, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
  }
  __pyx_t_14 = __Pyx_PyObject_AsWritableString(__pyx_t_11); if (unlikely((!__pyx_t_14) && PyErr_Occurred())) __PYX_ERR(2, 7013, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7014
 *         PY_SCIP_CALL(SCIPcreateConsKnapsack(
 *             self._scip, &scip_cons, str_conversion(name), nvars, wrapper.ptr, weights_array,
 *             capacity, initial, separate, enforce, check, propagate, local, modifiable,             # <<<<<<<<<<<<<<
 *             dynamic, removable, stickingatnode))
 * 
*/
  __pyx_t_9 = __Pyx_PyLong_As_SCIP_Longint(__pyx_v_capacity); if (unlikely((__pyx_t_9 == ((SCIP_Longint)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7014, __pyx_L1_error)
  __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_initial); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7014, __pyx_L1_error)
  __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_separate); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7014, __pyx_L1_error)
  __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_enforce); if (unlikely((__pyx_t_17 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7014, __pyx_L1_error)
  __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_v_check); if (unlikely((__pyx_t_18 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7014, __pyx_L1_error)
  __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_v_propagate); if (unlikely((__pyx_t_19 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7014, __pyx_L1_error)
  __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_v_local); if (unlikely((__pyx_t_20 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7014, __pyx_L1_error)
  __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_v_modifiable); if (unlikely((__pyx_t_21 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7014, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7015
 *             self._scip, &scip_cons, str_conversion(name), nvars, wrapper.ptr, weights_array,
 *             capacity, initial, separate, enforce, check, propagate, local, modifiable,
 *             dynamic, removable, stickingatnode))             # <<<<<<<<<<<<<<
 * 
 *         free(weights_array)
*/
  __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_v_dynamic); if (unlikely((__pyx_t_22 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7015, __pyx_L1_error)
  __pyx_t_23 = __Pyx_PyObject_IsTrue(__pyx_v_removable); if (unlikely((__pyx_t_23 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7015, __pyx_L1_error)
  __pyx_t_24 = __Pyx_PyObject_IsTrue(__pyx_v_stickingatnode); if (unlikely((__pyx_t_24 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7015, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7012
 *             weights_array[i] = <SCIP_Longint>weights[i]
 * 
 *         PY_SCIP_CALL(SCIPcreateConsKnapsack(             # <<<<<<<<<<<<<<
 *             self._scip, &scip_cons, str_conversion(name), nvars, wrapper.ptr, weights_array,
 *             capacity, initial, separate, enforce, check, propagate, local, modifiable,
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateConsKnapsack(__pyx_v_self->_scip, (&__pyx_v_scip_cons), __pyx_t_14, __pyx_v_nvars, __pyx_v_wrapper->ptr, __pyx_v_weights_array, __pyx_t_9, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_t_19, __pyx_t_20, __pyx_t_21, __pyx_t_22, __pyx_t_23, __pyx_t_24)); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 7012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_10))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_10);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_10);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_10, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_13};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7012, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7017
 *             dynamic, removable, stickingatnode))
 * 
 *         free(weights_array)             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
*/
  free(__pyx_v_weights_array);

  /* "src/pyscipopt/scip.pxi":7019
 *         free(weights_array)
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))             # <<<<<<<<<<<<<<
 * 
 *         pyCons = self._getOrCreateCons(scip_cons)
*/
  __pyx_t_10 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 7019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCons(__pyx_v_self->_scip, __pyx_v_scip_cons)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_13))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_13);
    assert(__pyx_t_10);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_13);
    __Pyx_INCREF(__pyx_t_10);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_13, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_4};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_13, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7021
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
 * 
 *         pyCons = self._getOrCreateCons(scip_cons)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
*/
  __pyx_t_3 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateCons(__pyx_v_self, __pyx_v_scip_cons); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pyCons = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7022
 * 
 *         pyCons = self._getOrCreateCons(scip_cons)
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))             # <<<<<<<<<<<<<<
 * 
 *         return pyCons
*/
  __pyx_t_13 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_10 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseCons(__pyx_v_self->_scip, (&__pyx_v_scip_cons))); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7022, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_13);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_13);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_10};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7022, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7024
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
 *         return pyCons             # <<<<<<<<<<<<<<
 * 
 *     def addConsSOS1(self, vars, weights=None, name="",
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pyCons);
  __pyx_r = __pyx_v_pyCons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":6956
 *         return pycons
 * 
 *     def addConsKnapsack(self, vars, weights, capacity, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 modifiable=False, propagate=True, local=False, dynamic=False,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XDECREF(__pyx_v_pyCons);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7026
 *         return pyCons
 * 
 *     def addConsSOS1(self, vars, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_395addConsSOS1(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_394addConsSOS1, "\n        Add an SOS1 constraint.\n\n        Parameters\n        ----------\n        vars : list of Variable\n            list of variables to be included\n        weights : list of float or None, optional\n            list of weights (Default value = None)\n        name : str, optional\n            name of the constraint (Default value = \"\")\n        initial : bool, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool, optional\n            should the constraint be separated during LP processing? (Default value = True)\n        enforce : bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        propagate : bool, optional\n            should the constraint be propagated during node processing? (Default value = True)\n        local : bool, optional\n            is the constraint only valid locally? (Default value = False)\n        dynamic : bool, optional\n            is the constraint subject to aging? (Default value = False)\n        removable : bool, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = False)\n        stickingatnode : bool, optional\n            should the constraint always be kept at the node where it was added,\n            even if it may be moved to a more global node? (Default value = False)\n\n        Returns\n        -------\n        Constraint\n            The newly created SOS1 constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_395addConsSOS1 = {"addConsSOS1", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_395addConsSOS1, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_394addConsSOS1};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_395addConsSOS1(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_vars = 0;
  PyObject *__pyx_v_weights = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConsSOS1 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_vars,&__pyx_mstate_global->__pyx_n_u_weights,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7026, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConsSOS1", 0) < (0)) __PYX_ERR(2, 7026, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7027
 * 
 *     def addConsSOS1(self, vars, weights=None, name="",
 *                 initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7028
 *     def addConsSOS1(self, vars, weights=None, name="",
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,             # <<<<<<<<<<<<<<
 *                 removable=False, stickingatnode=False):
 *         """
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7029
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add an SOS1 constraint.
*/
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConsSOS1", 0, 1, 12, i); __PYX_ERR(2, 7026, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7026, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7026, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }

      /* "src/pyscipopt/scip.pxi":7026
 *         return pyCons
 * 
 *     def addConsSOS1(self, vars, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7027
 * 
 *     def addConsSOS1(self, vars, weights=None, name="",
 *                 initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7028
 *     def addConsSOS1(self, vars, weights=None, name="",
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,             # <<<<<<<<<<<<<<
 *                 removable=False, stickingatnode=False):
 *         """
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7029
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add an SOS1 constraint.
*/
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_vars = values[0];
    __pyx_v_weights = values[1];
    __pyx_v_name = values[2];
    __pyx_v_initial = values[3];
    __pyx_v_separate = values[4];
    __pyx_v_enforce = values[5];
    __pyx_v_check = values[6];
    __pyx_v_propagate = values[7];
    __pyx_v_local = values[8];
    __pyx_v_dynamic = values[9];
    __pyx_v_removable = values[10];
    __pyx_v_stickingatnode = values[11];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConsSOS1", 0, 1, 12, __pyx_nargs); __PYX_ERR(2, 7026, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsSOS1", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_394addConsSOS1(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_vars, __pyx_v_weights, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":7026
 *         return pyCons
 * 
 *     def addConsSOS1(self, vars, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_394addConsSOS1(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_vars, PyObject *__pyx_v_weights, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  SCIP_CONS *__pyx_v_scip_cons;
  int __pyx_v_nvars;
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  char const *__pyx_t_8;
  SCIP_Bool __pyx_t_9;
  SCIP_Bool __pyx_t_10;
  SCIP_Bool __pyx_t_11;
  SCIP_Bool __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  SCIP_Bool __pyx_t_17;
  int __pyx_t_18;
  Py_ssize_t __pyx_t_19;
  int __pyx_t_20;
  int __pyx_t_21;
  int __pyx_t_22;
  SCIP_Real __pyx_t_23;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConsSOS1", 0);
  __Pyx_INCREF(__pyx_v_name);

  /* "src/pyscipopt/scip.pxi":7072
 *         cdef _VarArray wrapper
 * 
 *         PY_SCIP_CALL(SCIPcreateConsSOS1(self._scip, &scip_cons, str_conversion(name), 0, NULL, NULL,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_name};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_t_4); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(2, 7072, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7073
 * 
 *         PY_SCIP_CALL(SCIPcreateConsSOS1(self._scip, &scip_cons, str_conversion(name), 0, NULL, NULL,
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))             # <<<<<<<<<<<<<<
 * 
 *         if name == '':
*/
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_initial); if (unlikely((__pyx_t_9 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7073, __pyx_L1_error)
  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_separate); if (unlikely((__pyx_t_10 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7073, __pyx_L1_error)
  __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_enforce); if (unlikely((__pyx_t_11 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7073, __pyx_L1_error)
  __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_check); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7073, __pyx_L1_error)
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_propagate); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7073, __pyx_L1_error)
  __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_local); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7073, __pyx_L1_error)
  __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_dynamic); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7073, __pyx_L1_error)
  __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_removable); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7073, __pyx_L1_error)
  __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_stickingatnode); if (unlikely((__pyx_t_17 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7073, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7072
 *         cdef _VarArray wrapper
 * 
 *         PY_SCIP_CALL(SCIPcreateConsSOS1(self._scip, &scip_cons, str_conversion(name), 0, NULL, NULL,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))
 * 
*/
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateConsSOS1(__pyx_v_self->_scip, (&__pyx_v_scip_cons), __pyx_t_8, 0, NULL, NULL, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_t_17)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7075
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  __pyx_t_18 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_EQ)); if (unlikely((__pyx_t_18 < 0))) __PYX_ERR(2, 7075, __pyx_L1_error)
  if (__pyx_t_18) {

    /* "src/pyscipopt/scip.pxi":7076
 * 
 *         if name == '':
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)             # <<<<<<<<<<<<<<
 * 
 *         nvars = len(vars)
*/
    __pyx_t_1 = __Pyx_PyLong_From_long((SCIPgetNConss(__pyx_v_self->_scip) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_n_u_c, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":7075
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7078
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
 *         nvars = len(vars)             # <<<<<<<<<<<<<<
 *         wrapper = _VarArray(vars)
 *         if weights is None:
*/
  __pyx_t_19 = PyObject_Length(__pyx_v_vars); if (unlikely(__pyx_t_19 == ((Py_ssize_t)-1))) __PYX_ERR(2, 7078, __pyx_L1_error)
  __pyx_v_nvars = __pyx_t_19;

  /* "src/pyscipopt/scip.pxi":7079
 * 
 *         nvars = len(vars)
 *         wrapper = _VarArray(vars)             # <<<<<<<<<<<<<<
 *         if weights is None:
 *             for i in range(nvars):
*/
  __pyx_t_3 = NULL;
  __pyx_t_7 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_vars};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7079, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_wrapper = ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7080
 *         nvars = len(vars)
 *         wrapper = _VarArray(vars)
 *         if weights is None:             # <<<<<<<<<<<<<<
 *             for i in range(nvars):
 *                 PY_SCIP_CALL(SCIPappendVarSOS1(self._scip, scip_cons, wrapper.ptr[i]))
*/
  __pyx_t_18 = (__pyx_v_weights == Py_None);
  if (__pyx_t_18) {

    /* "src/pyscipopt/scip.pxi":7081
 *         wrapper = _VarArray(vars)
 *         if weights is None:
 *             for i in range(nvars):             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPappendVarSOS1(self._scip, scip_cons, wrapper.ptr[i]))
 *         else:
*/
    __pyx_t_20 = __pyx_v_nvars;
    __pyx_t_21 = __pyx_t_20;
    for (__pyx_t_22 = 0; __pyx_t_22 < __pyx_t_21; __pyx_t_22+=1) {
      __pyx_v_i = __pyx_t_22;

      /* "src/pyscipopt/scip.pxi":7082
 *         if weights is None:
 *             for i in range(nvars):
 *                 PY_SCIP_CALL(SCIPappendVarSOS1(self._scip, scip_cons, wrapper.ptr[i]))             # <<<<<<<<<<<<<<
 *         else:
 *             for i in range(nvars):
*/
      __pyx_t_3 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7082, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPappendVarSOS1(__pyx_v_self->_scip, __pyx_v_scip_cons, (__pyx_v_wrapper->ptr[__pyx_v_i]))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7082, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_3);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7082, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }

    /* "src/pyscipopt/scip.pxi":7080
 *         nvars = len(vars)
 *         wrapper = _VarArray(vars)
 *         if weights is None:             # <<<<<<<<<<<<<<
 *             for i in range(nvars):
 *                 PY_SCIP_CALL(SCIPappendVarSOS1(self._scip, scip_cons, wrapper.ptr[i]))
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":7084
 *                 PY_SCIP_CALL(SCIPappendVarSOS1(self._scip, scip_cons, wrapper.ptr[i]))
 *         else:
 *             for i in range(nvars):             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPaddVarSOS1(self._scip, scip_cons, wrapper.ptr[i], weights[i]))
 * 
*/
  /*else*/ {
    __pyx_t_20 = __pyx_v_nvars;
    __pyx_t_21 = __pyx_t_20;
    for (__pyx_t_22 = 0; __pyx_t_22 < __pyx_t_21; __pyx_t_22+=1) {
      __pyx_v_i = __pyx_t_22;

      /* "src/pyscipopt/scip.pxi":7085
 *         else:
 *             for i in range(nvars):
 *                 PY_SCIP_CALL(SCIPaddVarSOS1(self._scip, scip_cons, wrapper.ptr[i], weights[i]))             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
*/
      __pyx_t_6 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7085, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_weights, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7085, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_23 = __Pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_23 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7085, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddVarSOS1(__pyx_v_self->_scip, __pyx_v_scip_cons, (__pyx_v_wrapper->ptr[__pyx_v_i]), __pyx_t_23)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7085, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
        assert(__pyx_t_6);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7085, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":7087
 *                 PY_SCIP_CALL(SCIPaddVarSOS1(self._scip, scip_cons, wrapper.ptr[i], weights[i]))
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))             # <<<<<<<<<<<<<<
 * 
 *         return self._getOrCreateCons(scip_cons)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCons(__pyx_v_self->_scip, __pyx_v_scip_cons)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7087, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7087, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7089
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
 * 
 *         return self._getOrCreateCons(scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def addConsSOS2(self, vars, weights=None, name="",
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateCons(__pyx_v_self, __pyx_v_scip_cons); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":7026
 *         return pyCons
 * 
 *     def addConsSOS1(self, vars, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsSOS1", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7091
 *         return self._getOrCreateCons(scip_cons)
 * 
 *     def addConsSOS2(self, vars, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_397addConsSOS2(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_396addConsSOS2, "\n        Add an SOS2 constraint.\n\n        Parameters\n        ----------\n        vars : list of Variable\n            list of variables to be included\n        weights : list of float or None, optional\n            list of weights (Default value = None)\n        name : str, optional\n            name of the constraint (Default value = \"\")\n        initial : bool, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool, optional\n            should the constraint be separated during LP processing? (Default value = True)\n        enforce : bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        propagate : bool, optional\n            should the constraint be propagated during node processing? (Default value = True)\n        local : bool, optional\n            is the constraint only valid locally? (Default value = False)\n        dynamic : bool, optional\n            is the constraint subject to aging? (Default value = False)\n        removable : bool, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = False)\n        stickingatnode : bool, optional\n            should the constraint always be kept at the node where it was added,\n            even if it may be moved to a more global node? (Default value = False)\n\n        Returns\n        -------\n        Constraint\n            The newly created SOS2 constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_397addConsSOS2 = {"addConsSOS2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_397addConsSOS2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_396addConsSOS2};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_397addConsSOS2(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_vars = 0;
  PyObject *__pyx_v_weights = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConsSOS2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_vars,&__pyx_mstate_global->__pyx_n_u_weights,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7091, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConsSOS2", 0) < (0)) __PYX_ERR(2, 7091, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7092
 * 
 *     def addConsSOS2(self, vars, weights=None, name="",
 *                 initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7093
 *     def addConsSOS2(self, vars, weights=None, name="",
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,             # <<<<<<<<<<<<<<
 *                 removable=False, stickingatnode=False):
 *         """
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7094
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add an SOS2 constraint.
*/
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConsSOS2", 0, 1, 12, i); __PYX_ERR(2, 7091, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7091, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }

      /* "src/pyscipopt/scip.pxi":7091
 *         return self._getOrCreateCons(scip_cons)
 * 
 *     def addConsSOS2(self, vars, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7092
 * 
 *     def addConsSOS2(self, vars, weights=None, name="",
 *                 initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7093
 *     def addConsSOS2(self, vars, weights=None, name="",
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,             # <<<<<<<<<<<<<<
 *                 removable=False, stickingatnode=False):
 *         """
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7094
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add an SOS2 constraint.
*/
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_vars = values[0];
    __pyx_v_weights = values[1];
    __pyx_v_name = values[2];
    __pyx_v_initial = values[3];
    __pyx_v_separate = values[4];
    __pyx_v_enforce = values[5];
    __pyx_v_check = values[6];
    __pyx_v_propagate = values[7];
    __pyx_v_local = values[8];
    __pyx_v_dynamic = values[9];
    __pyx_v_removable = values[10];
    __pyx_v_stickingatnode = values[11];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConsSOS2", 0, 1, 12, __pyx_nargs); __PYX_ERR(2, 7091, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsSOS2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_396addConsSOS2(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_vars, __pyx_v_weights, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":7091
 *         return self._getOrCreateCons(scip_cons)
 * 
 *     def addConsSOS2(self, vars, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_396addConsSOS2(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_vars, PyObject *__pyx_v_weights, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  SCIP_CONS *__pyx_v_scip_cons;
  int __pyx_v_nvars;
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  char const *__pyx_t_8;
  SCIP_Bool __pyx_t_9;
  SCIP_Bool __pyx_t_10;
  SCIP_Bool __pyx_t_11;
  SCIP_Bool __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  SCIP_Bool __pyx_t_17;
  int __pyx_t_18;
  Py_ssize_t __pyx_t_19;
  int __pyx_t_20;
  int __pyx_t_21;
  int __pyx_t_22;
  SCIP_Real __pyx_t_23;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConsSOS2", 0);
  __Pyx_INCREF(__pyx_v_name);

  /* "src/pyscipopt/scip.pxi":7137
 *         cdef _VarArray wrapper
 * 
 *         PY_SCIP_CALL(SCIPcreateConsSOS2(self._scip, &scip_cons, str_conversion(name), 0, NULL, NULL,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_name};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_t_4); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(2, 7137, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7138
 * 
 *         PY_SCIP_CALL(SCIPcreateConsSOS2(self._scip, &scip_cons, str_conversion(name), 0, NULL, NULL,
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))             # <<<<<<<<<<<<<<
 * 
 *         if name == '':
*/
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_initial); if (unlikely((__pyx_t_9 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7138, __pyx_L1_error)
  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_separate); if (unlikely((__pyx_t_10 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7138, __pyx_L1_error)
  __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_enforce); if (unlikely((__pyx_t_11 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7138, __pyx_L1_error)
  __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_check); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7138, __pyx_L1_error)
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_propagate); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7138, __pyx_L1_error)
  __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_local); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7138, __pyx_L1_error)
  __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_dynamic); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7138, __pyx_L1_error)
  __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_removable); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7138, __pyx_L1_error)
  __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_stickingatnode); if (unlikely((__pyx_t_17 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7138, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7137
 *         cdef _VarArray wrapper
 * 
 *         PY_SCIP_CALL(SCIPcreateConsSOS2(self._scip, &scip_cons, str_conversion(name), 0, NULL, NULL,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))
 * 
*/
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateConsSOS2(__pyx_v_self->_scip, (&__pyx_v_scip_cons), __pyx_t_8, 0, NULL, NULL, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_t_17)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7137, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7140
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  __pyx_t_18 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_EQ)); if (unlikely((__pyx_t_18 < 0))) __PYX_ERR(2, 7140, __pyx_L1_error)
  if (__pyx_t_18) {

    /* "src/pyscipopt/scip.pxi":7141
 * 
 *         if name == '':
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)             # <<<<<<<<<<<<<<
 * 
 *         nvars = len(vars)
*/
    __pyx_t_1 = __Pyx_PyLong_From_long((SCIPgetNConss(__pyx_v_self->_scip) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_n_u_c, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":7140
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7143
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
 *         nvars = len(vars)             # <<<<<<<<<<<<<<
 *         wrapper = _VarArray(vars)
 *         if weights is None:
*/
  __pyx_t_19 = PyObject_Length(__pyx_v_vars); if (unlikely(__pyx_t_19 == ((Py_ssize_t)-1))) __PYX_ERR(2, 7143, __pyx_L1_error)
  __pyx_v_nvars = __pyx_t_19;

  /* "src/pyscipopt/scip.pxi":7144
 * 
 *         nvars = len(vars)
 *         wrapper = _VarArray(vars)             # <<<<<<<<<<<<<<
 *         if weights is None:
 *             for i in range(nvars):
*/
  __pyx_t_3 = NULL;
  __pyx_t_7 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_vars};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7144, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_wrapper = ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7145
 *         nvars = len(vars)
 *         wrapper = _VarArray(vars)
 *         if weights is None:             # <<<<<<<<<<<<<<
 *             for i in range(nvars):
 *                 PY_SCIP_CALL(SCIPappendVarSOS2(self._scip, scip_cons, wrapper.ptr[i]))
*/
  __pyx_t_18 = (__pyx_v_weights == Py_None);
  if (__pyx_t_18) {

    /* "src/pyscipopt/scip.pxi":7146
 *         wrapper = _VarArray(vars)
 *         if weights is None:
 *             for i in range(nvars):             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPappendVarSOS2(self._scip, scip_cons, wrapper.ptr[i]))
 *         else:
*/
    __pyx_t_20 = __pyx_v_nvars;
    __pyx_t_21 = __pyx_t_20;
    for (__pyx_t_22 = 0; __pyx_t_22 < __pyx_t_21; __pyx_t_22+=1) {
      __pyx_v_i = __pyx_t_22;

      /* "src/pyscipopt/scip.pxi":7147
 *         if weights is None:
 *             for i in range(nvars):
 *                 PY_SCIP_CALL(SCIPappendVarSOS2(self._scip, scip_cons, wrapper.ptr[i]))             # <<<<<<<<<<<<<<
 *         else:
 *             for i in range(nvars):
*/
      __pyx_t_3 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7147, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPappendVarSOS2(__pyx_v_self->_scip, __pyx_v_scip_cons, (__pyx_v_wrapper->ptr[__pyx_v_i]))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7147, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_6))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
        assert(__pyx_t_3);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7147, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }

    /* "src/pyscipopt/scip.pxi":7145
 *         nvars = len(vars)
 *         wrapper = _VarArray(vars)
 *         if weights is None:             # <<<<<<<<<<<<<<
 *             for i in range(nvars):
 *                 PY_SCIP_CALL(SCIPappendVarSOS2(self._scip, scip_cons, wrapper.ptr[i]))
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":7149
 *                 PY_SCIP_CALL(SCIPappendVarSOS2(self._scip, scip_cons, wrapper.ptr[i]))
 *         else:
 *             for i in range(nvars):             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPaddVarSOS2(self._scip, scip_cons, wrapper.ptr[i], weights[i]))
 * 
*/
  /*else*/ {
    __pyx_t_20 = __pyx_v_nvars;
    __pyx_t_21 = __pyx_t_20;
    for (__pyx_t_22 = 0; __pyx_t_22 < __pyx_t_21; __pyx_t_22+=1) {
      __pyx_v_i = __pyx_t_22;

      /* "src/pyscipopt/scip.pxi":7150
 *         else:
 *             for i in range(nvars):
 *                 PY_SCIP_CALL(SCIPaddVarSOS2(self._scip, scip_cons, wrapper.ptr[i], weights[i]))             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
*/
      __pyx_t_6 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_weights, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_23 = __Pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_23 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7150, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddVarSOS2(__pyx_v_self->_scip, __pyx_v_scip_cons, (__pyx_v_wrapper->ptr[__pyx_v_i]), __pyx_t_23)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7150, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
        assert(__pyx_t_6);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_3};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7150, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":7152
 *                 PY_SCIP_CALL(SCIPaddVarSOS2(self._scip, scip_cons, wrapper.ptr[i], weights[i]))
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))             # <<<<<<<<<<<<<<
 * 
 *         return self._getOrCreateCons(scip_cons)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCons(__pyx_v_self->_scip, __pyx_v_scip_cons)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7152, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7154
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
 * 
 *         return self._getOrCreateCons(scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def addConsAnd(self, vars, resvar, name="",
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateCons(__pyx_v_self, __pyx_v_scip_cons); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":7091
 *         return self._getOrCreateCons(scip_cons)
 * 
 *     def addConsSOS2(self, vars, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsSOS2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7156
 *         return self._getOrCreateCons(scip_cons)
 * 
 *     def addConsAnd(self, vars, resvar, name="",             # <<<<<<<<<<<<<<
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_399addConsAnd(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_398addConsAnd, "\n        Add an AND-constraint.\n\n        Parameters\n        ----------\n        vars : list of Variable\n            list of BINARY variables to be included (operators)\n        resvar : Variable\n            BINARY variable (resultant)\n        name : str, optional\n            name of the constraint (Default value = \"\")\n        initial : bool, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool, optional\n            should the constraint be separated during LP processing? (Default value = True)\n        enforce : bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        propagate : bool, optional\n            should the constraint be propagated during node processing? (Default value = True)\n        local : bool, optional\n            is the constraint only valid locally? (Default value = False)\n        dynamic : bool, optional\n            is the constraint subject to aging? (Default value = False)\n        removable : bool, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = False)\n        stickingatnode : bool, optional\n            should the constraint always be kept at the node where it was added,\n            even if it may be moved to a more global node? (Default value = False)\n\n        Returns\n        -------\n        Constraint\n            The newly created AND constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_399addConsAnd = {"addConsAnd", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_399addConsAnd, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_398addConsAnd};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_399addConsAnd(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_vars = 0;
  PyObject *__pyx_v_resvar = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_modifiable = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[13] = {0,0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConsAnd (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_vars,&__pyx_mstate_global->__pyx_n_u_resvar,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_modifiable,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7156, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConsAnd", 0) < (0)) __PYX_ERR(2, 7156, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7157
 * 
 *     def addConsAnd(self, vars, resvar, name="",
 *             initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *             propagate=True, local=False, modifiable=False, dynamic=False,
 *             removable=False, stickingatnode=False):
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7158
 *     def addConsAnd(self, vars, resvar, name="",
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,             # <<<<<<<<<<<<<<
 *             removable=False, stickingatnode=False):
 *         """
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7159
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
 *             removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add an AND-constraint.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConsAnd", 0, 2, 13, i); __PYX_ERR(2, 7156, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7156, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7156, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7157
 * 
 *     def addConsAnd(self, vars, resvar, name="",
 *             initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *             propagate=True, local=False, modifiable=False, dynamic=False,
 *             removable=False, stickingatnode=False):
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7158
 *     def addConsAnd(self, vars, resvar, name="",
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,             # <<<<<<<<<<<<<<
 *             removable=False, stickingatnode=False):
 *         """
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7159
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
 *             removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add an AND-constraint.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_vars = values[0];
    __pyx_v_resvar = values[1];
    __pyx_v_name = values[2];
    __pyx_v_initial = values[3];
    __pyx_v_separate = values[4];
    __pyx_v_enforce = values[5];
    __pyx_v_check = values[6];
    __pyx_v_propagate = values[7];
    __pyx_v_local = values[8];
    __pyx_v_modifiable = values[9];
    __pyx_v_dynamic = values[10];
    __pyx_v_removable = values[11];
    __pyx_v_stickingatnode = values[12];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConsAnd", 0, 2, 13, __pyx_nargs); __PYX_ERR(2, 7156, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsAnd", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_398addConsAnd(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_vars, __pyx_v_resvar, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_modifiable, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":7156
 *         return self._getOrCreateCons(scip_cons)
 * 
 *     def addConsAnd(self, vars, resvar, name="",             # <<<<<<<<<<<<<<
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_398addConsAnd(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_vars, PyObject *__pyx_v_resvar, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  int __pyx_v_nvars;
  SCIP_VAR **__pyx_v__vars;
  SCIP_VAR *__pyx_v__resvar;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_resvar_wrapper = 0;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_vars_wrapper = 0;
  SCIP_CONS *__pyx_v_scip_cons;
  PyObject *__pyx_v_pyCons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  SCIP_VAR **__pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  char const *__pyx_t_11;
  SCIP_Bool __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  SCIP_Bool __pyx_t_17;
  SCIP_Bool __pyx_t_18;
  SCIP_Bool __pyx_t_19;
  SCIP_Bool __pyx_t_20;
  SCIP_Bool __pyx_t_21;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConsAnd", 0);
  __Pyx_INCREF(__pyx_v_name);

  /* "src/pyscipopt/scip.pxi":7197
 * 
 *         """
 *         cdef int nvars = len(vars)             # <<<<<<<<<<<<<<
 *         cdef SCIP_VAR** _vars
 *         cdef SCIP_VAR* _resvar
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_vars); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 7197, __pyx_L1_error)
  __pyx_v_nvars = __pyx_t_1;

  /* "src/pyscipopt/scip.pxi":7200
 *         cdef SCIP_VAR** _vars
 *         cdef SCIP_VAR* _resvar
 *         cdef _VarArray resvar_wrapper = _VarArray(resvar)             # <<<<<<<<<<<<<<
 *         cdef _VarArray vars_wrapper = _VarArray(vars)
 *         cdef SCIP_CONS* scip_cons
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resvar};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7200, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_resvar_wrapper = ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7201
 *         cdef SCIP_VAR* _resvar
 *         cdef _VarArray resvar_wrapper = _VarArray(resvar)
 *         cdef _VarArray vars_wrapper = _VarArray(vars)             # <<<<<<<<<<<<<<
 *         cdef SCIP_CONS* scip_cons
 *         cdef int i
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_vars};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7201, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_vars_wrapper = ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7205
 *         cdef int i
 * 
 *         _resvar = resvar_wrapper.ptr[0]             # <<<<<<<<<<<<<<
 *         _vars = vars_wrapper.ptr
 * 
*/
  __pyx_v__resvar = (__pyx_v_resvar_wrapper->ptr[0]);

  /* "src/pyscipopt/scip.pxi":7206
 * 
 *         _resvar = resvar_wrapper.ptr[0]
 *         _vars = vars_wrapper.ptr             # <<<<<<<<<<<<<<
 * 
 *         if name == '':
*/
  __pyx_t_5 = __pyx_v_vars_wrapper->ptr;
  __pyx_v__vars = __pyx_t_5;

  /* "src/pyscipopt/scip.pxi":7208
 *         _vars = vars_wrapper.ptr
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 7208, __pyx_L1_error)
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":7209
 * 
 *         if name == '':
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPcreateConsAnd(self._scip, &scip_cons, str_conversion(name), _resvar, nvars, _vars,
*/
    __pyx_t_2 = __Pyx_PyLong_From_long((SCIPgetNConss(__pyx_v_self->_scip) + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_n_u_c, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7209, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":7208
 *         _vars = vars_wrapper.ptr
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7211
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
 *         PY_SCIP_CALL(SCIPcreateConsAnd(self._scip, &scip_cons, str_conversion(name), _resvar, nvars, _vars,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 7211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_10))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);
    assert(__pyx_t_9);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_10);
    __Pyx_INCREF(__pyx_t_9);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_10, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_name};
    __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 7211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_11 = __Pyx_PyObject_AsString(__pyx_t_8); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) __PYX_ERR(2, 7211, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7212
 * 
 *         PY_SCIP_CALL(SCIPcreateConsAnd(self._scip, &scip_cons, str_conversion(name), _resvar, nvars, _vars,
 *             initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
*/
  __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_initial); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7212, __pyx_L1_error)
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_separate); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7212, __pyx_L1_error)
  __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_enforce); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7212, __pyx_L1_error)
  __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_check); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7212, __pyx_L1_error)
  __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_propagate); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7212, __pyx_L1_error)
  __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_local); if (unlikely((__pyx_t_17 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7212, __pyx_L1_error)
  __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_v_modifiable); if (unlikely((__pyx_t_18 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7212, __pyx_L1_error)
  __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_v_dynamic); if (unlikely((__pyx_t_19 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7212, __pyx_L1_error)
  __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_v_removable); if (unlikely((__pyx_t_20 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7212, __pyx_L1_error)
  __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_v_stickingatnode); if (unlikely((__pyx_t_21 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7212, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7211
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
 *         PY_SCIP_CALL(SCIPcreateConsAnd(self._scip, &scip_cons, str_conversion(name), _resvar, nvars, _vars,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))
 * 
*/
  __pyx_t_10 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateConsAnd(__pyx_v_self->_scip, (&__pyx_v_scip_cons), __pyx_t_11, __pyx_v__resvar, __pyx_v_nvars, __pyx_v__vars, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_t_19, __pyx_t_20, __pyx_t_21)); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_10};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7211, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7214
 *             initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))             # <<<<<<<<<<<<<<
 *         pyCons = self._getOrCreateCons(scip_cons)
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCons(__pyx_v_self->_scip, __pyx_v_scip_cons)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_10))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_10);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_10, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_3};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7214, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7215
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
 *         pyCons = self._getOrCreateCons(scip_cons)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
*/
  __pyx_t_2 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateCons(__pyx_v_self, __pyx_v_scip_cons); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pyCons = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7216
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
 *         pyCons = self._getOrCreateCons(scip_cons)
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))             # <<<<<<<<<<<<<<
 * 
 *         return pyCons
*/
  __pyx_t_10 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseCons(__pyx_v_self->_scip, (&__pyx_v_scip_cons))); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 7216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_10);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_10);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7216, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7218
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
 *         return pyCons             # <<<<<<<<<<<<<<
 * 
 *     def addConsOr(self, vars, resvar, name="",
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pyCons);
  __pyx_r = __pyx_v_pyCons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":7156
 *         return self._getOrCreateCons(scip_cons)
 * 
 *     def addConsAnd(self, vars, resvar, name="",             # <<<<<<<<<<<<<<
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsAnd", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_resvar_wrapper);
  __Pyx_XDECREF((PyObject *)__pyx_v_vars_wrapper);
  __Pyx_XDECREF(__pyx_v_pyCons);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7220
 *         return pyCons
 * 
 *     def addConsOr(self, vars, resvar, name="",             # <<<<<<<<<<<<<<
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_401addConsOr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_400addConsOr, "\n        Add an OR-constraint.\n\n        Parameters\n        ----------\n        vars : list of Variable\n            list of BINARY variables to be included (operators)\n        resvar : Variable\n            BINARY variable (resultant)\n        name : str, optional\n            name of the constraint (Default value = \"\")\n        initial : bool, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool, optional\n            should the constraint be separated during LP processing? (Default value = True)\n        enforce : bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        propagate : bool, optional\n            should the constraint be propagated during node processing? (Default value = True)\n        local : bool, optional\n            is the constraint only valid locally? (Default value = False)\n        dynamic : bool, optional\n            is the constraint subject to aging? (Default value = False)\n        removable : bool, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = False)\n        stickingatnode : bool, optional\n            should the constraint always be kept at the node where it was added,\n            even if it may be moved to a more global node? (Default value = False)\n\n        Returns\n        -------\n        Constraint\n            The newly created OR constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_401addConsOr = {"addConsOr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_401addConsOr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_400addConsOr};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_401addConsOr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_vars = 0;
  PyObject *__pyx_v_resvar = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_modifiable = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[13] = {0,0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConsOr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_vars,&__pyx_mstate_global->__pyx_n_u_resvar,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_modifiable,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7220, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConsOr", 0) < (0)) __PYX_ERR(2, 7220, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7221
 * 
 *     def addConsOr(self, vars, resvar, name="",
 *             initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *             propagate=True, local=False, modifiable=False, dynamic=False,
 *             removable=False, stickingatnode=False):
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7222
 *     def addConsOr(self, vars, resvar, name="",
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,             # <<<<<<<<<<<<<<
 *             removable=False, stickingatnode=False):
 *         """
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7223
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
 *             removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add an OR-constraint.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConsOr", 0, 2, 13, i); __PYX_ERR(2, 7220, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7220, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7220, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7220, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7221
 * 
 *     def addConsOr(self, vars, resvar, name="",
 *             initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *             propagate=True, local=False, modifiable=False, dynamic=False,
 *             removable=False, stickingatnode=False):
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7222
 *     def addConsOr(self, vars, resvar, name="",
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,             # <<<<<<<<<<<<<<
 *             removable=False, stickingatnode=False):
 *         """
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7223
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
 *             removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add an OR-constraint.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_vars = values[0];
    __pyx_v_resvar = values[1];
    __pyx_v_name = values[2];
    __pyx_v_initial = values[3];
    __pyx_v_separate = values[4];
    __pyx_v_enforce = values[5];
    __pyx_v_check = values[6];
    __pyx_v_propagate = values[7];
    __pyx_v_local = values[8];
    __pyx_v_modifiable = values[9];
    __pyx_v_dynamic = values[10];
    __pyx_v_removable = values[11];
    __pyx_v_stickingatnode = values[12];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConsOr", 0, 2, 13, __pyx_nargs); __PYX_ERR(2, 7220, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsOr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_400addConsOr(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_vars, __pyx_v_resvar, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_modifiable, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":7220
 *         return pyCons
 * 
 *     def addConsOr(self, vars, resvar, name="",             # <<<<<<<<<<<<<<
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_400addConsOr(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_vars, PyObject *__pyx_v_resvar, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  int __pyx_v_nvars;
  SCIP_VAR **__pyx_v__vars;
  SCIP_VAR *__pyx_v__resvar;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_resvar_wrapper = 0;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_vars_wrapper = 0;
  SCIP_CONS *__pyx_v_scip_cons;
  PyObject *__pyx_v_pyCons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  SCIP_VAR **__pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  char const *__pyx_t_11;
  SCIP_Bool __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  SCIP_Bool __pyx_t_17;
  SCIP_Bool __pyx_t_18;
  SCIP_Bool __pyx_t_19;
  SCIP_Bool __pyx_t_20;
  SCIP_Bool __pyx_t_21;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConsOr", 0);
  __Pyx_INCREF(__pyx_v_name);

  /* "src/pyscipopt/scip.pxi":7261
 * 
 *         """
 *         cdef int nvars = len(vars)             # <<<<<<<<<<<<<<
 *         cdef SCIP_VAR** _vars
 *         cdef SCIP_VAR* _resvar
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_vars); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 7261, __pyx_L1_error)
  __pyx_v_nvars = __pyx_t_1;

  /* "src/pyscipopt/scip.pxi":7264
 *         cdef SCIP_VAR** _vars
 *         cdef SCIP_VAR* _resvar
 *         cdef _VarArray resvar_wrapper = _VarArray(resvar)             # <<<<<<<<<<<<<<
 *         cdef _VarArray vars_wrapper = _VarArray(vars)
 *         cdef SCIP_CONS* scip_cons
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_resvar};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7264, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_resvar_wrapper = ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7265
 *         cdef SCIP_VAR* _resvar
 *         cdef _VarArray resvar_wrapper = _VarArray(resvar)
 *         cdef _VarArray vars_wrapper = _VarArray(vars)             # <<<<<<<<<<<<<<
 *         cdef SCIP_CONS* scip_cons
 *         cdef int i
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_vars};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7265, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_vars_wrapper = ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7269
 *         cdef int i
 * 
 *         _resvar = resvar_wrapper.ptr[0]             # <<<<<<<<<<<<<<
 *         _vars = vars_wrapper.ptr
 * 
*/
  __pyx_v__resvar = (__pyx_v_resvar_wrapper->ptr[0]);

  /* "src/pyscipopt/scip.pxi":7270
 * 
 *         _resvar = resvar_wrapper.ptr[0]
 *         _vars = vars_wrapper.ptr             # <<<<<<<<<<<<<<
 * 
 *         if name == '':
*/
  __pyx_t_5 = __pyx_v_vars_wrapper->ptr;
  __pyx_v__vars = __pyx_t_5;

  /* "src/pyscipopt/scip.pxi":7272
 *         _vars = vars_wrapper.ptr
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 7272, __pyx_L1_error)
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":7273
 * 
 *         if name == '':
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPcreateConsOr(self._scip, &scip_cons, str_conversion(name), _resvar, nvars, _vars,
*/
    __pyx_t_2 = __Pyx_PyLong_From_long((SCIPgetNConss(__pyx_v_self->_scip) + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_n_u_c, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7273, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":7272
 *         _vars = vars_wrapper.ptr
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7275
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
 *         PY_SCIP_CALL(SCIPcreateConsOr(self._scip, &scip_cons, str_conversion(name), _resvar, nvars, _vars,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 7275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_10))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);
    assert(__pyx_t_9);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_10);
    __Pyx_INCREF(__pyx_t_9);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_10, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_name};
    __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 7275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_11 = __Pyx_PyObject_AsString(__pyx_t_8); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) __PYX_ERR(2, 7275, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7276
 * 
 *         PY_SCIP_CALL(SCIPcreateConsOr(self._scip, &scip_cons, str_conversion(name), _resvar, nvars, _vars,
 *             initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
*/
  __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_initial); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7276, __pyx_L1_error)
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_separate); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7276, __pyx_L1_error)
  __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_enforce); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7276, __pyx_L1_error)
  __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_check); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7276, __pyx_L1_error)
  __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_propagate); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7276, __pyx_L1_error)
  __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_local); if (unlikely((__pyx_t_17 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7276, __pyx_L1_error)
  __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_v_modifiable); if (unlikely((__pyx_t_18 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7276, __pyx_L1_error)
  __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_v_dynamic); if (unlikely((__pyx_t_19 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7276, __pyx_L1_error)
  __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_v_removable); if (unlikely((__pyx_t_20 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7276, __pyx_L1_error)
  __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_v_stickingatnode); if (unlikely((__pyx_t_21 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7276, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7275
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
 *         PY_SCIP_CALL(SCIPcreateConsOr(self._scip, &scip_cons, str_conversion(name), _resvar, nvars, _vars,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))
 * 
*/
  __pyx_t_10 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateConsOr(__pyx_v_self->_scip, (&__pyx_v_scip_cons), __pyx_t_11, __pyx_v__resvar, __pyx_v_nvars, __pyx_v__vars, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_t_19, __pyx_t_20, __pyx_t_21)); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_10};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7275, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7278
 *             initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))             # <<<<<<<<<<<<<<
 *         pyCons = self._getOrCreateCons(scip_cons)
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCons(__pyx_v_self->_scip, __pyx_v_scip_cons)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_10))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_10);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_10, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_3};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7279
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
 *         pyCons = self._getOrCreateCons(scip_cons)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
*/
  __pyx_t_2 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateCons(__pyx_v_self, __pyx_v_scip_cons); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pyCons = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7280
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
 *         pyCons = self._getOrCreateCons(scip_cons)
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))             # <<<<<<<<<<<<<<
 * 
 *         return pyCons
*/
  __pyx_t_10 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseCons(__pyx_v_self->_scip, (&__pyx_v_scip_cons))); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 7280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_10);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_10);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7280, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7282
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
 *         return pyCons             # <<<<<<<<<<<<<<
 * 
 *     def addConsXor(self, vars, rhsvar, name="",
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pyCons);
  __pyx_r = __pyx_v_pyCons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":7220
 *         return pyCons
 * 
 *     def addConsOr(self, vars, resvar, name="",             # <<<<<<<<<<<<<<
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsOr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_resvar_wrapper);
  __Pyx_XDECREF((PyObject *)__pyx_v_vars_wrapper);
  __Pyx_XDECREF(__pyx_v_pyCons);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7284
 *         return pyCons
 * 
 *     def addConsXor(self, vars, rhsvar, name="",             # <<<<<<<<<<<<<<
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_403addConsXor(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_402addConsXor, "\n        Add a XOR-constraint.\n\n        Parameters\n        ----------\n        vars : list of Variable\n            list of binary variables to be included (operators)\n        rhsvar : bool\n            BOOLEAN value, explicit True, False or bool(obj) is needed (right-hand side)\n        name : str, optional\n            name of the constraint (Default value = \"\")\n        initial : bool, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool, optional\n            should the constraint be separated during LP processing? (Default value = True)\n        enforce : bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        propagate : bool, optional\n            should the constraint be propagated during node processing? (Default value = True)\n        local : bool, optional\n            is the constraint only valid locally? (Default value = False)\n        dynamic : bool, optional\n            is the constraint subject to aging? (Default value = False)\n        removable : bool, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = False)\n        stickingatnode : bool, optional\n            should the constraint always be kept at the node where it was added,\n            even if it may be moved to a more global node? (Default value = False)\n\n        Returns\n        -------\n        Constraint\n            The newly created XOR constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_403addConsXor = {"addConsXor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_403addConsXor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_402addConsXor};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_403addConsXor(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_vars = 0;
  PyObject *__pyx_v_rhsvar = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_modifiable = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[13] = {0,0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConsXor (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_vars,&__pyx_mstate_global->__pyx_n_u_rhsvar,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_modifiable,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7284, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConsXor", 0) < (0)) __PYX_ERR(2, 7284, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7285
 * 
 *     def addConsXor(self, vars, rhsvar, name="",
 *             initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *             propagate=True, local=False, modifiable=False, dynamic=False,
 *             removable=False, stickingatnode=False):
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7286
 *     def addConsXor(self, vars, rhsvar, name="",
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,             # <<<<<<<<<<<<<<
 *             removable=False, stickingatnode=False):
 *         """
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7287
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
 *             removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add a XOR-constraint.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConsXor", 0, 2, 13, i); __PYX_ERR(2, 7284, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7284, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7284, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7285
 * 
 *     def addConsXor(self, vars, rhsvar, name="",
 *             initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *             propagate=True, local=False, modifiable=False, dynamic=False,
 *             removable=False, stickingatnode=False):
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7286
 *     def addConsXor(self, vars, rhsvar, name="",
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,             # <<<<<<<<<<<<<<
 *             removable=False, stickingatnode=False):
 *         """
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7287
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
 *             removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add a XOR-constraint.
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_vars = values[0];
    __pyx_v_rhsvar = values[1];
    __pyx_v_name = values[2];
    __pyx_v_initial = values[3];
    __pyx_v_separate = values[4];
    __pyx_v_enforce = values[5];
    __pyx_v_check = values[6];
    __pyx_v_propagate = values[7];
    __pyx_v_local = values[8];
    __pyx_v_modifiable = values[9];
    __pyx_v_dynamic = values[10];
    __pyx_v_removable = values[11];
    __pyx_v_stickingatnode = values[12];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConsXor", 0, 2, 13, __pyx_nargs); __PYX_ERR(2, 7284, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsXor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_402addConsXor(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_vars, __pyx_v_rhsvar, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_modifiable, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":7284
 *         return pyCons
 * 
 *     def addConsXor(self, vars, rhsvar, name="",             # <<<<<<<<<<<<<<
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_402addConsXor(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_vars, PyObject *__pyx_v_rhsvar, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  int __pyx_v_nvars;
  SCIP_VAR **__pyx_v__vars;
  SCIP_CONS *__pyx_v_scip_cons;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  PyObject *__pyx_v_pyCons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  SCIP_VAR **__pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  char const *__pyx_t_11;
  SCIP_Bool __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  SCIP_Bool __pyx_t_17;
  SCIP_Bool __pyx_t_18;
  SCIP_Bool __pyx_t_19;
  SCIP_Bool __pyx_t_20;
  SCIP_Bool __pyx_t_21;
  SCIP_Bool __pyx_t_22;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConsXor", 0);
  __Pyx_INCREF(__pyx_v_name);

  /* "src/pyscipopt/scip.pxi":7325
 * 
 *         """
 *         assert type(rhsvar) is type(bool()), "Provide BOOLEAN value as rhsvar, you gave %s." % type(rhsvar)             # <<<<<<<<<<<<<<
 * 
 *         cdef int nvars = len(vars)
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (((PyObject *)Py_TYPE(__pyx_v_rhsvar)) == ((PyObject *)Py_TYPE(Py_False)));
    if (unlikely(!__pyx_t_1)) {
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_Provide_BOOLEAN_value_as_rhsvar, ((PyObject *)Py_TYPE(__pyx_v_rhsvar))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7325, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_2, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(2, 7325, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 7325, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":7327
 *         assert type(rhsvar) is type(bool()), "Provide BOOLEAN value as rhsvar, you gave %s." % type(rhsvar)
 * 
 *         cdef int nvars = len(vars)             # <<<<<<<<<<<<<<
 *         cdef SCIP_VAR** _vars
 *         cdef SCIP_CONS* scip_cons
*/
  __pyx_t_3 = PyObject_Length(__pyx_v_vars); if (unlikely(__pyx_t_3 == ((Py_ssize_t)-1))) __PYX_ERR(2, 7327, __pyx_L1_error)
  __pyx_v_nvars = __pyx_t_3;

  /* "src/pyscipopt/scip.pxi":7331
 *         cdef SCIP_CONS* scip_cons
 *         cdef int i
 *         cdef _VarArray wrapper = _VarArray(vars)             # <<<<<<<<<<<<<<
 * 
 *         _vars = wrapper.ptr
*/
  __pyx_t_4 = NULL;
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_vars};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7331, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_2);
  }
  __pyx_v_wrapper = ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7333
 *         cdef _VarArray wrapper = _VarArray(vars)
 * 
 *         _vars = wrapper.ptr             # <<<<<<<<<<<<<<
 * 
 *         if name == '':
*/
  __pyx_t_6 = __pyx_v_wrapper->ptr;
  __pyx_v__vars = __pyx_t_6;

  /* "src/pyscipopt/scip.pxi":7335
 *         _vars = wrapper.ptr
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 7335, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":7336
 * 
 *         if name == '':
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPcreateConsXor(self._scip, &scip_cons, str_conversion(name), rhsvar, nvars, _vars,
*/
    __pyx_t_2 = __Pyx_PyLong_From_long((SCIPgetNConss(__pyx_v_self->_scip) + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_n_u_c, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":7335
 *         _vars = wrapper.ptr
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7338
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
 *         PY_SCIP_CALL(SCIPcreateConsXor(self._scip, &scip_cons, str_conversion(name), rhsvar, nvars, _vars,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))
 * 
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 7338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_9 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_10))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);
    assert(__pyx_t_9);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_10);
    __Pyx_INCREF(__pyx_t_9);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_10, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_v_name};
    __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 7338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_11 = __Pyx_PyObject_AsString(__pyx_t_8); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) __PYX_ERR(2, 7338, __pyx_L1_error)
  __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_rhsvar); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7338, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7339
 * 
 *         PY_SCIP_CALL(SCIPcreateConsXor(self._scip, &scip_cons, str_conversion(name), rhsvar, nvars, _vars,
 *             initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
*/
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_initial); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7339, __pyx_L1_error)
  __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_separate); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7339, __pyx_L1_error)
  __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_enforce); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7339, __pyx_L1_error)
  __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_check); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7339, __pyx_L1_error)
  __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_propagate); if (unlikely((__pyx_t_17 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7339, __pyx_L1_error)
  __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_v_local); if (unlikely((__pyx_t_18 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7339, __pyx_L1_error)
  __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_v_modifiable); if (unlikely((__pyx_t_19 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7339, __pyx_L1_error)
  __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_v_dynamic); if (unlikely((__pyx_t_20 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7339, __pyx_L1_error)
  __pyx_t_21 = __Pyx_PyObject_IsTrue(__pyx_v_removable); if (unlikely((__pyx_t_21 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7339, __pyx_L1_error)
  __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_v_stickingatnode); if (unlikely((__pyx_t_22 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7339, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7338
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
 *         PY_SCIP_CALL(SCIPcreateConsXor(self._scip, &scip_cons, str_conversion(name), rhsvar, nvars, _vars,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))
 * 
*/
  __pyx_t_10 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateConsXor(__pyx_v_self->_scip, (&__pyx_v_scip_cons), __pyx_t_11, __pyx_t_12, __pyx_v_nvars, __pyx_v__vars, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_t_19, __pyx_t_20, __pyx_t_21, __pyx_t_22)); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_10};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7341
 *             initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))             # <<<<<<<<<<<<<<
 *         pyCons = self._getOrCreateCons(scip_cons)
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCons(__pyx_v_self->_scip, __pyx_v_scip_cons)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_10))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_10);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_10, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7341, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7342
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
 *         pyCons = self._getOrCreateCons(scip_cons)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
*/
  __pyx_t_2 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateCons(__pyx_v_self, __pyx_v_scip_cons); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_pyCons = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7343
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
 *         pyCons = self._getOrCreateCons(scip_cons)
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))             # <<<<<<<<<<<<<<
 * 
 *         return pyCons
*/
  __pyx_t_10 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseCons(__pyx_v_self->_scip, (&__pyx_v_scip_cons))); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 7343, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_10);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_10);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7343, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":7345
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
 *         return pyCons             # <<<<<<<<<<<<<<
 * 
 *     def addConsCardinality(self, consvars, cardval, indvars=None, weights=None, name="",
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pyCons);
  __pyx_r = __pyx_v_pyCons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":7284
 *         return pyCons
 * 
 *     def addConsXor(self, vars, rhsvar, name="",             # <<<<<<<<<<<<<<
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsXor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XDECREF(__pyx_v_pyCons);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7347
 *         return pyCons
 * 
 *     def addConsCardinality(self, consvars, cardval, indvars=None, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_405addConsCardinality(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_404addConsCardinality, "\n        Add a cardinality constraint that allows at most 'cardval' many nonzero variables.\n\n        Parameters\n        ----------\n        consvars : list of Variable\n            list of variables to be included\n        cardval : int\n            nonnegative integer\n        indvars : list of Variable or None, optional\n            indicator variables indicating which variables may be treated as nonzero in\n            cardinality constraint, or None if new indicator variables should be\n            introduced automatically (Default value = None)\n        weights : list of float or None, optional\n            weights determining the variable order, or None if variables should be ordered\n            in the same way they were added to the constraint (Default value = None)\n        name : str, optional\n            name of the constraint (Default value = \"\")\n        initial : bool, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool, optional\n            should the constraint be separated during LP processing? (Default value = True)\n        enforce : bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        propagate : bool, optional\n            should the constraint be propagated during node processing? (Default value = True)\n        local : bool, optional\n            is the constraint only valid locally? (Default value = False)\n        dynamic : bool, optional\n            is the constraint subject to aging? (Default value = False)\n        removable : bool, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = False)\n        stickingatnode : bool, optional\n            should the constraint always be kept at the node where it was added,\n    ""        even if it may be moved to a more global node? (Default value = False)\n\n        Returns\n        -------\n        Constraint\n            The newly created Cardinality constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_405addConsCardinality = {"addConsCardinality", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_405addConsCardinality, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_404addConsCardinality};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_405addConsCardinality(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_consvars = 0;
  PyObject *__pyx_v_cardval = 0;
  PyObject *__pyx_v_indvars = 0;
  PyObject *__pyx_v_weights = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[14] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConsCardinality (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_consvars,&__pyx_mstate_global->__pyx_n_u_cardval,&__pyx_mstate_global->__pyx_n_u_indvars,&__pyx_mstate_global->__pyx_n_u_weights,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7347, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 14:
        values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConsCardinality", 0) < (0)) __PYX_ERR(2, 7347, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7348
 * 
 *     def addConsCardinality(self, consvars, cardval, indvars=None, weights=None, name="",
 *                 initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):
*/
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7349
 *     def addConsCardinality(self, consvars, cardval, indvars=None, weights=None, name="",
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,             # <<<<<<<<<<<<<<
 *                 removable=False, stickingatnode=False):
 *         """
*/
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7350
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add a cardinality constraint that allows at most 'cardval' many nonzero variables.
*/
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[13]) values[13] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConsCardinality", 0, 2, 14, i); __PYX_ERR(2, 7347, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 14:
        values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7347, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7347, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7347, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }

      /* "src/pyscipopt/scip.pxi":7347
 *         return pyCons
 * 
 *     def addConsCardinality(self, consvars, cardval, indvars=None, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7348
 * 
 *     def addConsCardinality(self, consvars, cardval, indvars=None, weights=None, name="",
 *                 initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):
*/
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7349
 *     def addConsCardinality(self, consvars, cardval, indvars=None, weights=None, name="",
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,             # <<<<<<<<<<<<<<
 *                 removable=False, stickingatnode=False):
 *         """
*/
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7350
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Add a cardinality constraint that allows at most 'cardval' many nonzero variables.
*/
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[13]) values[13] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_consvars = values[0];
    __pyx_v_cardval = values[1];
    __pyx_v_indvars = values[2];
    __pyx_v_weights = values[3];
    __pyx_v_name = values[4];
    __pyx_v_initial = values[5];
    __pyx_v_separate = values[6];
    __pyx_v_enforce = values[7];
    __pyx_v_check = values[8];
    __pyx_v_propagate = values[9];
    __pyx_v_local = values[10];
    __pyx_v_dynamic = values[11];
    __pyx_v_removable = values[12];
    __pyx_v_stickingatnode = values[13];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConsCardinality", 0, 2, 14, __pyx_nargs); __PYX_ERR(2, 7347, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsCardinality", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_404addConsCardinality(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_consvars, __pyx_v_cardval, __pyx_v_indvars, __pyx_v_weights, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":7347
 *         return pyCons
 * 
 *     def addConsCardinality(self, consvars, cardval, indvars=None, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_404addConsCardinality(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_consvars, PyObject *__pyx_v_cardval, PyObject *__pyx_v_indvars, PyObject *__pyx_v_weights, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  SCIP_VAR *__pyx_v_indvar;
  SCIP_CONS *__pyx_v_scip_cons;
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_v_wrapper = 0;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_indvar_wrapper = 0;
  SCIP_VAR *__pyx_v_scip_var;
  CYTHON_UNUSED PyObject *__pyx_v_v = NULL;
  PyObject *__pyx_v_pyCons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  char const *__pyx_t_8;
  int __pyx_t_9;
  SCIP_Bool __pyx_t_10;
  SCIP_Bool __pyx_t_11;
  SCIP_Bool __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  SCIP_Bool __pyx_t_17;
  SCIP_Bool __pyx_t_18;
  int __pyx_t_19;
  Py_ssize_t __pyx_t_20;
  PyObject *(*__pyx_t_21)(PyObject *);
  SCIP_Real __pyx_t_22;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConsCardinality", 0);
  __Pyx_INCREF(__pyx_v_weights);
  __Pyx_INCREF(__pyx_v_name);

  /* "src/pyscipopt/scip.pxi":7402
 *         cdef SCIP_VAR* scip_var
 * 
 *         PY_SCIP_CALL(SCIPcreateConsCardinality(self._scip, &scip_cons, str_conversion(name), 0, NULL, cardval, NULL, NULL,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_name};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_t_4); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(2, 7402, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_v_cardval); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 7402, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7403
 * 
 *         PY_SCIP_CALL(SCIPcreateConsCardinality(self._scip, &scip_cons, str_conversion(name), 0, NULL, cardval, NULL, NULL,
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))             # <<<<<<<<<<<<<<
 * 
 *         # circumvent an annoying bug in SCIP 4.0.0 that does not allow uninitialized weights
*/
  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_initial); if (unlikely((__pyx_t_10 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7403, __pyx_L1_error)
  __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_separate); if (unlikely((__pyx_t_11 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7403, __pyx_L1_error)
  __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_enforce); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7403, __pyx_L1_error)
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_check); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7403, __pyx_L1_error)
  __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_propagate); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7403, __pyx_L1_error)
  __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_local); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7403, __pyx_L1_error)
  __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_dynamic); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7403, __pyx_L1_error)
  __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_removable); if (unlikely((__pyx_t_17 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7403, __pyx_L1_error)
  __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_v_stickingatnode); if (unlikely((__pyx_t_18 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7403, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7402
 *         cdef SCIP_VAR* scip_var
 * 
 *         PY_SCIP_CALL(SCIPcreateConsCardinality(self._scip, &scip_cons, str_conversion(name), 0, NULL, cardval, NULL, NULL,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))
 * 
*/
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateConsCardinality(__pyx_v_self->_scip, (&__pyx_v_scip_cons), __pyx_t_8, 0, NULL, __pyx_t_9, NULL, NULL, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7402, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7402, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7406
 * 
 *         # circumvent an annoying bug in SCIP 4.0.0 that does not allow uninitialized weights
 *         if weights is None:             # <<<<<<<<<<<<<<
 *             weights = list(range(1, len(consvars) + 1))
 * 
*/
  __pyx_t_19 = (__pyx_v_weights == Py_None);
  if (__pyx_t_19) {

    /* "src/pyscipopt/scip.pxi":7407
 *         # circumvent an annoying bug in SCIP 4.0.0 that does not allow uninitialized weights
 *         if weights is None:
 *             weights = list(range(1, len(consvars) + 1))             # <<<<<<<<<<<<<<
 * 
 *         if name == '':
*/
    __pyx_t_3 = NULL;
    __pyx_t_20 = PyObject_Length(__pyx_v_consvars); if (unlikely(__pyx_t_20 == ((Py_ssize_t)-1))) __PYX_ERR(2, 7407, __pyx_L1_error)
    __pyx_t_6 = PyLong_FromSsize_t((__pyx_t_20 + 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_mstate_global->__pyx_int_1, __pyx_t_6};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyRange_Type), __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7407, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_6 = PySequence_List(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_weights, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":7406
 * 
 *         # circumvent an annoying bug in SCIP 4.0.0 that does not allow uninitialized weights
 *         if weights is None:             # <<<<<<<<<<<<<<
 *             weights = list(range(1, len(consvars) + 1))
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7409
 *             weights = list(range(1, len(consvars) + 1))
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  __pyx_t_19 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_EQ)); if (unlikely((__pyx_t_19 < 0))) __PYX_ERR(2, 7409, __pyx_L1_error)
  if (__pyx_t_19) {

    /* "src/pyscipopt/scip.pxi":7410
 * 
 *         if name == '':
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)             # <<<<<<<<<<<<<<
 * 
 *         v_wrapper = _VarArray(consvars)
*/
    __pyx_t_6 = __Pyx_PyLong_From_long((SCIPgetNConss(__pyx_v_self->_scip) + 1)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_1 = __Pyx_PyObject_Unicode(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_n_u_c, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":7409
 *             weights = list(range(1, len(consvars) + 1))
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7412
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
 *         v_wrapper = _VarArray(consvars)             # <<<<<<<<<<<<<<
 *         for i, v in enumerate(consvars):
 *             scip_var = v_wrapper.ptr[i]
*/
  __pyx_t_1 = NULL;
  __pyx_t_7 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_v_consvars};
    __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7412, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_6);
  }
  __pyx_v_v_wrapper = ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_6);
  __pyx_t_6 = 0;

  /* "src/pyscipopt/scip.pxi":7413
 * 
 *         v_wrapper = _VarArray(consvars)
 *         for i, v in enumerate(consvars):             # <<<<<<<<<<<<<<
 *             scip_var = v_wrapper.ptr[i]
 *             if indvars:
*/
  __pyx_t_9 = 0;
  if (likely(PyList_CheckExact(__pyx_v_consvars)) || PyTuple_CheckExact(__pyx_v_consvars)) {
    __pyx_t_6 = __pyx_v_consvars; __Pyx_INCREF(__pyx_t_6);
    __pyx_t_20 = 0;
    __pyx_t_21 = NULL;
  } else {
    __pyx_t_20 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_consvars); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7413, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_21 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_6); if (unlikely(!__pyx_t_21)) __PYX_ERR(2, 7413, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_21)) {
      if (likely(PyList_CheckExact(__pyx_t_6))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_6);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 7413, __pyx_L1_error)
          #endif
          if (__pyx_t_20 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_6, __pyx_t_20, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_20;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_6);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 7413, __pyx_L1_error)
          #endif
          if (__pyx_t_20 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_20));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_6, __pyx_t_20);
        #endif
        ++__pyx_t_20;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7413, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_21(__pyx_t_6);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 7413, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_1);
    __pyx_t_1 = 0;
    __pyx_v_i = __pyx_t_9;
    __pyx_t_9 = (__pyx_t_9 + 1);

    /* "src/pyscipopt/scip.pxi":7414
 *         v_wrapper = _VarArray(consvars)
 *         for i, v in enumerate(consvars):
 *             scip_var = v_wrapper.ptr[i]             # <<<<<<<<<<<<<<
 *             if indvars:
 *                 indvar_wrapper = _VarArray(indvars[i])
*/
    __pyx_v_scip_var = (__pyx_v_v_wrapper->ptr[__pyx_v_i]);

    /* "src/pyscipopt/scip.pxi":7415
 *         for i, v in enumerate(consvars):
 *             scip_var = v_wrapper.ptr[i]
 *             if indvars:             # <<<<<<<<<<<<<<
 *                 indvar_wrapper = _VarArray(indvars[i])
 *                 indvar = indvar_wrapper.ptr[0]
*/
    __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_v_indvars); if (unlikely((__pyx_t_19 < 0))) __PYX_ERR(2, 7415, __pyx_L1_error)
    if (__pyx_t_19) {

      /* "src/pyscipopt/scip.pxi":7416
 *             scip_var = v_wrapper.ptr[i]
 *             if indvars:
 *                 indvar_wrapper = _VarArray(indvars[i])             # <<<<<<<<<<<<<<
 *                 indvar = indvar_wrapper.ptr[0]
 *             else:
*/
      __pyx_t_3 = NULL;
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_indvars, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7416, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7416, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_1);
      }
      __Pyx_XDECREF_SET(__pyx_v_indvar_wrapper, ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_1));
      __pyx_t_1 = 0;

      /* "src/pyscipopt/scip.pxi":7417
 *             if indvars:
 *                 indvar_wrapper = _VarArray(indvars[i])
 *                 indvar = indvar_wrapper.ptr[0]             # <<<<<<<<<<<<<<
 *             else:
 *                 indvar = NULL
*/
      __pyx_v_indvar = (__pyx_v_indvar_wrapper->ptr[0]);

      /* "src/pyscipopt/scip.pxi":7415
 *         for i, v in enumerate(consvars):
 *             scip_var = v_wrapper.ptr[i]
 *             if indvars:             # <<<<<<<<<<<<<<
 *                 indvar_wrapper = _VarArray(indvars[i])
 *                 indvar = indvar_wrapper.ptr[0]
*/
      goto __pyx_L7;
    }

    /* "src/pyscipopt/scip.pxi":7419
 *                 indvar = indvar_wrapper.ptr[0]
 *             else:
 *                 indvar = NULL             # <<<<<<<<<<<<<<
 * 
 *             if weights is None:
*/
    /*else*/ {
      __pyx_v_indvar = NULL;
    }
    __pyx_L7:;

    /* "src/pyscipopt/scip.pxi":7421
 *                 indvar = NULL
 * 
 *             if weights is None:             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPappendVarCardinality(self._scip, scip_cons, scip_var, indvar))
 *             else:
*/
    __pyx_t_19 = (__pyx_v_weights == Py_None);
    if (__pyx_t_19) {

      /* "src/pyscipopt/scip.pxi":7422
 * 
 *             if weights is None:
 *                 PY_SCIP_CALL(SCIPappendVarCardinality(self._scip, scip_cons, scip_var, indvar))             # <<<<<<<<<<<<<<
 *             else:
 *                 PY_SCIP_CALL(SCIPaddVarCardinality(self._scip, scip_cons, scip_var, indvar, <SCIP_Real>weights[i]))
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7422, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPappendVarCardinality(__pyx_v_self->_scip, __pyx_v_scip_cons, __pyx_v_scip_var, __pyx_v_indvar)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7422, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7422, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/pyscipopt/scip.pxi":7421
 *                 indvar = NULL
 * 
 *             if weights is None:             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPappendVarCardinality(self._scip, scip_cons, scip_var, indvar))
 *             else:
*/
      goto __pyx_L8;
    }

    /* "src/pyscipopt/scip.pxi":7424
 *                 PY_SCIP_CALL(SCIPappendVarCardinality(self._scip, scip_cons, scip_var, indvar))
 *             else:
 *                 PY_SCIP_CALL(SCIPaddVarCardinality(self._scip, scip_cons, scip_var, indvar, <SCIP_Real>weights[i]))             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
*/
    /*else*/ {
      __pyx_t_3 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7424, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_weights, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7424, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_22 = __Pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_22 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7424, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddVarCardinality(__pyx_v_self->_scip, __pyx_v_scip_cons, __pyx_v_scip_var, __pyx_v_indvar, ((SCIP_Real)__pyx_t_22))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7424, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
        assert(__pyx_t_3);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
        __Pyx_INCREF(__pyx_t_3);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7424, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    }
    __pyx_L8:;

    /* "src/pyscipopt/scip.pxi":7413
 * 
 *         v_wrapper = _VarArray(consvars)
 *         for i, v in enumerate(consvars):             # <<<<<<<<<<<<<<
 *             scip_var = v_wrapper.ptr[i]
 *             if indvars:
*/
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "src/pyscipopt/scip.pxi":7426
 *                 PY_SCIP_CALL(SCIPaddVarCardinality(self._scip, scip_cons, scip_var, indvar, <SCIP_Real>weights[i]))
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))             # <<<<<<<<<<<<<<
 *         pyCons = self._getOrCreateCons(scip_cons)
 * 
*/
  __pyx_t_1 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCons(__pyx_v_self->_scip, __pyx_v_scip_cons)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7426, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
    __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7426, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "src/pyscipopt/scip.pxi":7427
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
 *         pyCons = self._getOrCreateCons(scip_cons)             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
*/
  __pyx_t_6 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateCons(__pyx_v_self, __pyx_v_scip_cons); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_pyCons = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "src/pyscipopt/scip.pxi":7429
 *         pyCons = self._getOrCreateCons(scip_cons)
 * 
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))             # <<<<<<<<<<<<<<
 * 
 *         return pyCons
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseCons(__pyx_v_self->_scip, (&__pyx_v_scip_cons))); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_1};
    __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7429, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "src/pyscipopt/scip.pxi":7431
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
 *         return pyCons             # <<<<<<<<<<<<<<
 * 
 *     def addConsIndicator(self, cons, binvar=None, activeone=True, name="",
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pyCons);
  __pyx_r = __pyx_v_pyCons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":7347
 *         return pyCons
 * 
 *     def addConsCardinality(self, consvars, cardval, indvars=None, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsCardinality", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_v_wrapper);
  __Pyx_XDECREF((PyObject *)__pyx_v_indvar_wrapper);
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_XDECREF(__pyx_v_pyCons);
  __Pyx_XDECREF(__pyx_v_weights);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7433
 *         return pyCons
 * 
 *     def addConsIndicator(self, cons, binvar=None, activeone=True, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_407addConsIndicator(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_406addConsIndicator, "Add an indicator constraint for the linear inequality `cons`.\n\n        The `binvar` argument models the redundancy of the linear constraint. A solution for which\n        `binvar` is 1 must satisfy the constraint.\n\n        Parameters\n        ----------\n        cons : ExprCons\n            a linear inequality of the form \"<=\"\n        binvar : Variable, optional\n            binary indicator variable, or None if it should be created (Default value = None)\n        activeone : bool, optional\n            constraint should active if binvar is 1 (0 if activeone = False)\n        name : str, optional\n            name of the constraint (Default value = \"\")\n        initial : bool, optional\n            should the LP relaxation of constraint be in the initial LP? (Default value = True)\n        separate : bool, optional\n            should the constraint be separated during LP processing? (Default value = True)\n        enforce : bool, optional\n            should the constraint be enforced during node processing? (Default value = True)\n        check : bool, optional\n            should the constraint be checked for feasibility? (Default value = True)\n        propagate : bool, optional\n            should the constraint be propagated during node processing? (Default value = True)\n        local : bool, optional\n            is the constraint only valid locally? (Default value = False)\n        dynamic : bool, optional\n            is the constraint subject to aging? (Default value = False)\n        removable : bool, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = False)\n        stickingatnode : bool, optional\n            should the constraint always be kept at the node where it was added,\n            even if it may be moved to a more global node? (Default value = False)\n\n        Returns\n        -------\n        Constraint\n            The newly created Indicator constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_407addConsIndicator = {"addConsIndicator", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_407addConsIndicator, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_406addConsIndicator};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_407addConsIndicator(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_cons = 0;
  PyObject *__pyx_v_binvar = 0;
  PyObject *__pyx_v_activeone = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[13] = {0,0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addConsIndicator (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_binvar,&__pyx_mstate_global->__pyx_n_u_activeone,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7433, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addConsIndicator", 0) < (0)) __PYX_ERR(2, 7433, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7434
 * 
 *     def addConsIndicator(self, cons, binvar=None, activeone=True, name="",
 *                 initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7435
 *     def addConsIndicator(self, cons, binvar=None, activeone=True, name="",
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,             # <<<<<<<<<<<<<<
 *                 removable=False, stickingatnode=False):
 *         """Add an indicator constraint for the linear inequality `cons`.
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7436
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """Add an indicator constraint for the linear inequality `cons`.
 * 
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addConsIndicator", 0, 1, 13, i); __PYX_ERR(2, 7433, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7433, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7433, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }

      /* "src/pyscipopt/scip.pxi":7433
 *         return pyCons
 * 
 *     def addConsIndicator(self, cons, binvar=None, activeone=True, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7434
 * 
 *     def addConsIndicator(self, cons, binvar=None, activeone=True, name="",
 *                 initial=True, separate=True, enforce=True, check=True,             # <<<<<<<<<<<<<<
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7435
 *     def addConsIndicator(self, cons, binvar=None, activeone=True, name="",
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,             # <<<<<<<<<<<<<<
 *                 removable=False, stickingatnode=False):
 *         """Add an indicator constraint for the linear inequality `cons`.
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7436
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
 *                 removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """Add an indicator constraint for the linear inequality `cons`.
 * 
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_cons = values[0];
    __pyx_v_binvar = values[1];
    __pyx_v_activeone = values[2];
    __pyx_v_name = values[3];
    __pyx_v_initial = values[4];
    __pyx_v_separate = values[5];
    __pyx_v_enforce = values[6];
    __pyx_v_check = values[7];
    __pyx_v_propagate = values[8];
    __pyx_v_local = values[9];
    __pyx_v_dynamic = values[10];
    __pyx_v_removable = values[11];
    __pyx_v_stickingatnode = values[12];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addConsIndicator", 0, 1, 13, __pyx_nargs); __PYX_ERR(2, 7433, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsIndicator", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_406addConsIndicator(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_binvar, __pyx_v_activeone, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":7433
 *         return pyCons
 * 
 *     def addConsIndicator(self, cons, binvar=None, activeone=True, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_406addConsIndicator(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_binvar, PyObject *__pyx_v_activeone, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  SCIP_VAR *__pyx_v__binVar;
  SCIP_CONS *__pyx_v_scip_cons;
  SCIP_Real __pyx_v_coeff;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  PyObject *__pyx_v_rhs = NULL;
  int __pyx_v_negate;
  PyObject *__pyx_v_terms = NULL;
  PyObject *__pyx_v_key = NULL;
  PyObject *__pyx_v_pyCons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  char const *__pyx_t_10;
  SCIP_Real __pyx_t_11;
  SCIP_Bool __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  SCIP_Bool __pyx_t_17;
  SCIP_Bool __pyx_t_18;
  SCIP_Bool __pyx_t_19;
  SCIP_Bool __pyx_t_20;
  Py_ssize_t __pyx_t_21;
  Py_ssize_t __pyx_t_22;
  int __pyx_t_23;
  int __pyx_t_24;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addConsIndicator", 0);
  __Pyx_INCREF(__pyx_v_name);

  /* "src/pyscipopt/scip.pxi":7483
 *         cdef _VarArray wrapper
 * 
 *         assert isinstance(cons, ExprCons), "given constraint is not ExprCons but %s" % cons.__class__.__name__             # <<<<<<<<<<<<<<
 * 
 *         if cons._lhs is not None and cons._rhs is not None:
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_cons, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons); 
    if (unlikely(!__pyx_t_1)) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7483, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7483, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_given_constraint_is_not_ExprCons, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7483, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_2, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(2, 7483, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 7483, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":7485
 *         assert isinstance(cons, ExprCons), "given constraint is not ExprCons but %s" % cons.__class__.__name__
 * 
 *         if cons._lhs is not None and cons._rhs is not None:             # <<<<<<<<<<<<<<
 *             raise ValueError("expected inequality that has either only a left or right hand side")
 * 
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_lhs_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = (__pyx_t_2 != Py_None);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_4) {
  } else {
    __pyx_t_1 = __pyx_t_4;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_rhs_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = (__pyx_t_2 != Py_None);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __pyx_t_4;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":7486
 * 
 *         if cons._lhs is not None and cons._rhs is not None:
 *             raise ValueError("expected inequality that has either only a left or right hand side")             # <<<<<<<<<<<<<<
 * 
 *         if name == '':
*/
    __pyx_t_3 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_expected_inequality_that_has_eit};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7486, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 7486, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":7485
 *         assert isinstance(cons, ExprCons), "given constraint is not ExprCons but %s" % cons.__class__.__name__
 * 
 *         if cons._lhs is not None and cons._rhs is not None:             # <<<<<<<<<<<<<<
 *             raise ValueError("expected inequality that has either only a left or right hand side")
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7488
 *             raise ValueError("expected inequality that has either only a left or right hand side")
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 7488, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":7489
 * 
 *         if name == '':
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)             # <<<<<<<<<<<<<<
 * 
 *         if cons.expr.degree() > 1:
*/
    __pyx_t_2 = __Pyx_PyLong_From_long((SCIPgetNConss(__pyx_v_self->_scip) + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __Pyx_PyObject_Unicode(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_n_u_c, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7489, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":7488
 *             raise ValueError("expected inequality that has either only a left or right hand side")
 * 
 *         if name == '':             # <<<<<<<<<<<<<<
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7491
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
 *         if cons.expr.degree() > 1:             # <<<<<<<<<<<<<<
 *             raise ValueError("expected linear inequality, expression has degree %d" % cons.expr.degree())
 * 
*/
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_expr); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7491, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = __pyx_t_6;
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_degree, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_6 = PyObject_RichCompare(__pyx_t_2, __pyx_mstate_global->__pyx_int_1, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 7491, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":7492
 * 
 *         if cons.expr.degree() > 1:
 *             raise ValueError("expected linear inequality, expression has degree %d" % cons.expr.degree())             # <<<<<<<<<<<<<<
 * 
 *         if cons._rhs is not None:
*/
    __pyx_t_2 = NULL;
    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_expr); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 7492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_7 = __pyx_t_8;
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_degree, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7492, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_8 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_expected_linear_inequality_expre, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 7492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
      __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7492, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_Raise(__pyx_t_6, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __PYX_ERR(2, 7492, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":7491
 *             name = 'c'+str(SCIPgetNConss(self._scip)+1)
 * 
 *         if cons.expr.degree() > 1:             # <<<<<<<<<<<<<<
 *             raise ValueError("expected linear inequality, expression has degree %d" % cons.expr.degree())
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7494
 *             raise ValueError("expected linear inequality, expression has degree %d" % cons.expr.degree())
 * 
 *         if cons._rhs is not None:             # <<<<<<<<<<<<<<
 *             rhs =  cons._rhs
 *             negate = False
*/
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_rhs_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = (__pyx_t_6 != Py_None);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":7495
 * 
 *         if cons._rhs is not None:
 *             rhs =  cons._rhs             # <<<<<<<<<<<<<<
 *             negate = False
 *         else:
*/
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_rhs_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_v_rhs = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":7496
 *         if cons._rhs is not None:
 *             rhs =  cons._rhs
 *             negate = False             # <<<<<<<<<<<<<<
 *         else:
 *             rhs = -cons._lhs
*/
    __pyx_v_negate = 0;

    /* "src/pyscipopt/scip.pxi":7494
 *             raise ValueError("expected linear inequality, expression has degree %d" % cons.expr.degree())
 * 
 *         if cons._rhs is not None:             # <<<<<<<<<<<<<<
 *             rhs =  cons._rhs
 *             negate = False
*/
    goto __pyx_L8;
  }

  /* "src/pyscipopt/scip.pxi":7498
 *             negate = False
 *         else:
 *             rhs = -cons._lhs             # <<<<<<<<<<<<<<
 *             negate = True
 * 
*/
  /*else*/ {
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_lhs_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = PyNumber_Negative(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 7498, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_v_rhs = __pyx_t_8;
    __pyx_t_8 = 0;

    /* "src/pyscipopt/scip.pxi":7499
 *         else:
 *             rhs = -cons._lhs
 *             negate = True             # <<<<<<<<<<<<<<
 * 
 *         if binvar is not None:
*/
    __pyx_v_negate = 1;
  }
  __pyx_L8:;

  /* "src/pyscipopt/scip.pxi":7501
 *             negate = True
 * 
 *         if binvar is not None:             # <<<<<<<<<<<<<<
 *             wrapper = _VarArray(binvar)
 *             _binVar = wrapper.ptr[0]
*/
  __pyx_t_1 = (__pyx_v_binvar != Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":7502
 * 
 *         if binvar is not None:
 *             wrapper = _VarArray(binvar)             # <<<<<<<<<<<<<<
 *             _binVar = wrapper.ptr[0]
 *             if not activeone:
*/
    __pyx_t_6 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_binvar};
      __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 7502, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_8);
    }
    __pyx_v_wrapper = ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_8);
    __pyx_t_8 = 0;

    /* "src/pyscipopt/scip.pxi":7503
 *         if binvar is not None:
 *             wrapper = _VarArray(binvar)
 *             _binVar = wrapper.ptr[0]             # <<<<<<<<<<<<<<
 *             if not activeone:
 *                 PY_SCIP_CALL(SCIPgetNegatedVar(self._scip, _binVar, &_binVar))
*/
    __pyx_v__binVar = (__pyx_v_wrapper->ptr[0]);

    /* "src/pyscipopt/scip.pxi":7504
 *             wrapper = _VarArray(binvar)
 *             _binVar = wrapper.ptr[0]
 *             if not activeone:             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPgetNegatedVar(self._scip, _binVar, &_binVar))
 *         else:
*/
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_activeone); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 7504, __pyx_L1_error)
    __pyx_t_4 = (!__pyx_t_1);
    if (__pyx_t_4) {

      /* "src/pyscipopt/scip.pxi":7505
 *             _binVar = wrapper.ptr[0]
 *             if not activeone:
 *                 PY_SCIP_CALL(SCIPgetNegatedVar(self._scip, _binVar, &_binVar))             # <<<<<<<<<<<<<<
 *         else:
 *             _binVar = NULL
*/
      __pyx_t_6 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7505, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetNegatedVar(__pyx_v_self->_scip, __pyx_v__binVar, (&__pyx_v__binVar))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7505, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_5 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
        assert(__pyx_t_6);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
        __Pyx_INCREF(__pyx_t_6);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
        __pyx_t_5 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_3};
        __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 7505, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_8);
      }
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

      /* "src/pyscipopt/scip.pxi":7504
 *             wrapper = _VarArray(binvar)
 *             _binVar = wrapper.ptr[0]
 *             if not activeone:             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPgetNegatedVar(self._scip, _binVar, &_binVar))
 *         else:
*/
    }

    /* "src/pyscipopt/scip.pxi":7501
 *             negate = True
 * 
 *         if binvar is not None:             # <<<<<<<<<<<<<<
 *             wrapper = _VarArray(binvar)
 *             _binVar = wrapper.ptr[0]
*/
    goto __pyx_L9;
  }

  /* "src/pyscipopt/scip.pxi":7507
 *                 PY_SCIP_CALL(SCIPgetNegatedVar(self._scip, _binVar, &_binVar))
 *         else:
 *             _binVar = NULL             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPcreateConsIndicator(self._scip, &scip_cons, str_conversion(name), _binVar, 0, NULL, NULL, rhs,
*/
  /*else*/ {
    __pyx_v__binVar = NULL;
  }
  __pyx_L9:;

  /* "src/pyscipopt/scip.pxi":7509
 *             _binVar = NULL
 * 
 *         PY_SCIP_CALL(SCIPcreateConsIndicator(self._scip, &scip_cons, str_conversion(name), _binVar, 0, NULL, NULL, rhs,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))
 *         terms = cons.expr.terms
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 7509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_9))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_9);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_name};
    __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __pyx_t_10 = __Pyx_PyObject_AsString(__pyx_t_6); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) __PYX_ERR(2, 7509, __pyx_L1_error)
  __pyx_t_11 = __Pyx_PyFloat_AsDouble(__pyx_v_rhs); if (unlikely((__pyx_t_11 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7509, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7510
 * 
 *         PY_SCIP_CALL(SCIPcreateConsIndicator(self._scip, &scip_cons, str_conversion(name), _binVar, 0, NULL, NULL, rhs,
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))             # <<<<<<<<<<<<<<
 *         terms = cons.expr.terms
 * 
*/
  __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_initial); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7510, __pyx_L1_error)
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_separate); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7510, __pyx_L1_error)
  __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_enforce); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7510, __pyx_L1_error)
  __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_check); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7510, __pyx_L1_error)
  __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_propagate); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7510, __pyx_L1_error)
  __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_v_local); if (unlikely((__pyx_t_17 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7510, __pyx_L1_error)
  __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_v_dynamic); if (unlikely((__pyx_t_18 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7510, __pyx_L1_error)
  __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_v_removable); if (unlikely((__pyx_t_19 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7510, __pyx_L1_error)
  __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_v_stickingatnode); if (unlikely((__pyx_t_20 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7510, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":7509
 *             _binVar = NULL
 * 
 *         PY_SCIP_CALL(SCIPcreateConsIndicator(self._scip, &scip_cons, str_conversion(name), _binVar, 0, NULL, NULL, rhs,             # <<<<<<<<<<<<<<
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))
 *         terms = cons.expr.terms
*/
  __pyx_t_9 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateConsIndicator(__pyx_v_self->_scip, (&__pyx_v_scip_cons), __pyx_t_10, __pyx_v__binVar, 0, NULL, NULL, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_t_19, __pyx_t_20)); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 7509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 7509, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

  /* "src/pyscipopt/scip.pxi":7511
 *         PY_SCIP_CALL(SCIPcreateConsIndicator(self._scip, &scip_cons, str_conversion(name), _binVar, 0, NULL, NULL, rhs,
 *             initial, separate, enforce, check, propagate, local, dynamic, removable, stickingatnode))
 *         terms = cons.expr.terms             # <<<<<<<<<<<<<<
 * 
 *         for key, coeff in terms.items():
*/
  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_expr); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 7511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_terms); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7511, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_v_terms = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7513
 *         terms = cons.expr.terms
 * 
 *         for key, coeff in terms.items():             # <<<<<<<<<<<<<<
 *             if negate:
 *                 coeff = -coeff
*/
  __pyx_t_21 = 0;
  if (unlikely(__pyx_v_terms == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(2, 7513, __pyx_L1_error)
  }
  __pyx_t_8 = __Pyx_dict_iterator(__pyx_v_terms, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_22), (&__pyx_t_23)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 7513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_3);
  __pyx_t_3 = __pyx_t_8;
  __pyx_t_8 = 0;
  while (1) {
    __pyx_t_24 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_22, &__pyx_t_21, &__pyx_t_8, &__pyx_t_9, NULL, __pyx_t_23);
    if (unlikely(__pyx_t_24 == 0)) break;
    if (unlikely(__pyx_t_24 == -1)) __PYX_ERR(2, 7513, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __Pyx_GOTREF(__pyx_t_9);
    __pyx_t_11 = __Pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_11 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7513, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_8);
    __pyx_t_8 = 0;
    __pyx_v_coeff = __pyx_t_11;

    /* "src/pyscipopt/scip.pxi":7514
 * 
 *         for key, coeff in terms.items():
 *             if negate:             # <<<<<<<<<<<<<<
 *                 coeff = -coeff
 *             wrapper = _VarArray(key[0])
*/
    if (__pyx_v_negate) {

      /* "src/pyscipopt/scip.pxi":7515
 *         for key, coeff in terms.items():
 *             if negate:
 *                 coeff = -coeff             # <<<<<<<<<<<<<<
 *             wrapper = _VarArray(key[0])
 *             PY_SCIP_CALL(SCIPaddVarIndicator(self._scip, scip_cons, wrapper.ptr[0], <SCIP_Real>coeff))
*/
      __pyx_v_coeff = (-__pyx_v_coeff);

      /* "src/pyscipopt/scip.pxi":7514
 * 
 *         for key, coeff in terms.items():
 *             if negate:             # <<<<<<<<<<<<<<
 *                 coeff = -coeff
 *             wrapper = _VarArray(key[0])
*/
    }

    /* "src/pyscipopt/scip.pxi":7516
 *             if negate:
 *                 coeff = -coeff
 *             wrapper = _VarArray(key[0])             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddVarIndicator(self._scip, scip_cons, wrapper.ptr[0], <SCIP_Real>coeff))
 * 
*/
    __pyx_t_8 = NULL;
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_key, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_9 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 7516, __pyx_L1_error)
      __Pyx_GOTREF((PyObject *)__pyx_t_9);
    }
    __Pyx_XDECREF_SET(__pyx_v_wrapper, ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_9));
    __pyx_t_9 = 0;

    /* "src/pyscipopt/scip.pxi":7517
 *                 coeff = -coeff
 *             wrapper = _VarArray(key[0])
 *             PY_SCIP_CALL(SCIPaddVarIndicator(self._scip, scip_cons, wrapper.ptr[0], <SCIP_Real>coeff))             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 7517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddVarIndicator(__pyx_v_self->_scip, __pyx_v_scip_cons, (__pyx_v_wrapper->ptr[0]), ((SCIP_Real)__pyx_v_coeff))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
      __pyx_t_9 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 7517, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
    }
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7519
 *             PY_SCIP_CALL(SCIPaddVarIndicator(self._scip, scip_cons, wrapper.ptr[0], <SCIP_Real>coeff))
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))             # <<<<<<<<<<<<<<
 *         pyCons = self._getOrCreateCons(scip_cons)
 * 
*/
  __pyx_t_9 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 7519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCons(__pyx_v_self->_scip, __pyx_v_scip_cons)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_9);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_9);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_6};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7520
 * 
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, scip_cons))
 *         pyCons = self._getOrCreateCons(scip_cons)             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
*/
  __pyx_t_3 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateCons(__pyx_v_self, __pyx_v_scip_cons); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_pyCons = __pyx_t_3;
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7522
 *         pyCons = self._getOrCreateCons(scip_cons)
 * 
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))             # <<<<<<<<<<<<<<
 * 
 *         return pyCons
*/
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreleaseCons(__pyx_v_self->_scip, (&__pyx_v_scip_cons))); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 7522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_9};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7524
 *         PY_SCIP_CALL(SCIPreleaseCons(self._scip, &scip_cons))
 * 
 *         return pyCons             # <<<<<<<<<<<<<<
 * 
 *     def addMatrixConsIndicator(self, cons: Union[ExprCons, MatrixExprCons], binvar: Union[Variable, MatrixVariable] = None,
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_pyCons);
  __pyx_r = __pyx_v_pyCons;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":7433
 *         return pyCons
 * 
 *     def addConsIndicator(self, cons, binvar=None, activeone=True, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addConsIndicator", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XDECREF(__pyx_v_rhs);
  __Pyx_XDECREF(__pyx_v_terms);
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XDECREF(__pyx_v_pyCons);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7526
 *         return pyCons
 * 
 *     def addMatrixConsIndicator(self, cons: Union[ExprCons, MatrixExprCons], binvar: Union[Variable, MatrixVariable] = None,             # <<<<<<<<<<<<<<
 *                                activeone: Union[bool, np.ndarray] = True, name: Union[str, np.ndarray] = "",
 *                                initial: Union[bool, np.ndarray] = True, separate: Union[bool, np.ndarray] = True,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_409addMatrixConsIndicator(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_408addMatrixConsIndicator, "Add an indicator matrix constraint for the linear inequality `cons`.\n\n        The `binvar` argument models the redundancy of the linear constraint. A solution\n        for which `binvar` is 1 must satisfy the constraint.\n\n        Parameters\n        ----------\n        cons : ExprCons or MatrixExprCons\n            a linear inequality of the form \"<=\".\n        binvar : Variable or MatrixVariable, optional\n            binary indicator variable / matrix variable, or None if it should be created. (Default value = None)\n        activeone : bool or np.ndarray, optional\n            the matrix constraint should be active if binvar is 1 (0 if activeone = False).\n        name : str or np.ndarray, optional\n            name of the matrix constraint.  (Default value = \"\")\n        initial : bool or np.ndarray, optional\n            should the LP relaxation of matrix constraint be in the initial LP?  (Default value = True)\n        separate : bool or np.ndarray, optional\n            should the matrix constraint be separated during LP processing?  (Default value = True)\n        enforce : bool or np.ndarray, optional\n            should the matrix constraint be enforced during node processing?  (Default value = True)\n        check : bool or np.ndarray, optional\n            should the matrix constraint be checked for feasibility?  (Default value = True)\n        propagate : bool or np.ndarray, optional\n            should the matrix constraint be propagated during node processing? (Default value = True)\n        local : bool or np.ndarray, optional\n            is the matrix constraint only valid locally? (Default value = False)\n        dynamic : bool or np.ndarray, optional\n            is the matrix constraint subject to aging? (Default value = False)\n        removable : bool or np.ndarray, optional\n            should the relaxation be removed from the LP due to aging or cleanup? (Default value = False)\n        stickingatnode : bool or np.ndarray, optional""\n            should the matrix constraint always be kept at the node where it was added,\n            even if it may be moved to a more global node? (Default value = False)\n\n        Returns\n        -------\n        MatrixConstraint\n            The newly created Indicator MatrixConstraint object.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_409addMatrixConsIndicator = {"addMatrixConsIndicator", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_409addMatrixConsIndicator, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_408addMatrixConsIndicator};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_409addMatrixConsIndicator(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_cons = 0;
  PyObject *__pyx_v_binvar = 0;
  PyObject *__pyx_v_activeone = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[13] = {0,0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addMatrixConsIndicator (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_binvar,&__pyx_mstate_global->__pyx_n_u_activeone,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7526, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addMatrixConsIndicator", 0) < (0)) __PYX_ERR(2, 7526, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));

      /* "src/pyscipopt/scip.pxi":7527
 * 
 *     def addMatrixConsIndicator(self, cons: Union[ExprCons, MatrixExprCons], binvar: Union[Variable, MatrixVariable] = None,
 *                                activeone: Union[bool, np.ndarray] = True, name: Union[str, np.ndarray] = "",             # <<<<<<<<<<<<<<
 *                                initial: Union[bool, np.ndarray] = True, separate: Union[bool, np.ndarray] = True,
 *                                enforce: Union[bool, np.ndarray] = True, check: Union[bool, np.ndarray] = True,
*/
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7528
 *     def addMatrixConsIndicator(self, cons: Union[ExprCons, MatrixExprCons], binvar: Union[Variable, MatrixVariable] = None,
 *                                activeone: Union[bool, np.ndarray] = True, name: Union[str, np.ndarray] = "",
 *                                initial: Union[bool, np.ndarray] = True, separate: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                                enforce: Union[bool, np.ndarray] = True, check: Union[bool, np.ndarray] = True,
 *                                propagate: Union[bool, np.ndarray] = True, local: Union[bool, np.ndarray] = False,
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7529
 *                                activeone: Union[bool, np.ndarray] = True, name: Union[str, np.ndarray] = "",
 *                                initial: Union[bool, np.ndarray] = True, separate: Union[bool, np.ndarray] = True,
 *                                enforce: Union[bool, np.ndarray] = True, check: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                                propagate: Union[bool, np.ndarray] = True, local: Union[bool, np.ndarray] = False,
 *                                dynamic: Union[bool, np.ndarray] = False, removable: Union[bool, np.ndarray] = False,
*/
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7530
 *                                initial: Union[bool, np.ndarray] = True, separate: Union[bool, np.ndarray] = True,
 *                                enforce: Union[bool, np.ndarray] = True, check: Union[bool, np.ndarray] = True,
 *                                propagate: Union[bool, np.ndarray] = True, local: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                                dynamic: Union[bool, np.ndarray] = False, removable: Union[bool, np.ndarray] = False,
 *                                stickingatnode: Union[bool, np.ndarray] = False) -> MatrixConstraint:
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7531
 *                                enforce: Union[bool, np.ndarray] = True, check: Union[bool, np.ndarray] = True,
 *                                propagate: Union[bool, np.ndarray] = True, local: Union[bool, np.ndarray] = False,
 *                                dynamic: Union[bool, np.ndarray] = False, removable: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                                stickingatnode: Union[bool, np.ndarray] = False) -> MatrixConstraint:
 *         """Add an indicator matrix constraint for the linear inequality `cons`.
*/
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7532
 *                                propagate: Union[bool, np.ndarray] = True, local: Union[bool, np.ndarray] = False,
 *                                dynamic: Union[bool, np.ndarray] = False, removable: Union[bool, np.ndarray] = False,
 *                                stickingatnode: Union[bool, np.ndarray] = False) -> MatrixConstraint:             # <<<<<<<<<<<<<<
 *         """Add an indicator matrix constraint for the linear inequality `cons`.
 * 
*/
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addMatrixConsIndicator", 0, 1, 13, i); __PYX_ERR(2, 7526, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7526, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }

      /* "src/pyscipopt/scip.pxi":7526
 *         return pyCons
 * 
 *     def addMatrixConsIndicator(self, cons: Union[ExprCons, MatrixExprCons], binvar: Union[Variable, MatrixVariable] = None,             # <<<<<<<<<<<<<<
 *                                activeone: Union[bool, np.ndarray] = True, name: Union[str, np.ndarray] = "",
 *                                initial: Union[bool, np.ndarray] = True, separate: Union[bool, np.ndarray] = True,
*/
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));

      /* "src/pyscipopt/scip.pxi":7527
 * 
 *     def addMatrixConsIndicator(self, cons: Union[ExprCons, MatrixExprCons], binvar: Union[Variable, MatrixVariable] = None,
 *                                activeone: Union[bool, np.ndarray] = True, name: Union[str, np.ndarray] = "",             # <<<<<<<<<<<<<<
 *                                initial: Union[bool, np.ndarray] = True, separate: Union[bool, np.ndarray] = True,
 *                                enforce: Union[bool, np.ndarray] = True, check: Union[bool, np.ndarray] = True,
*/
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u__11));

      /* "src/pyscipopt/scip.pxi":7528
 *     def addMatrixConsIndicator(self, cons: Union[ExprCons, MatrixExprCons], binvar: Union[Variable, MatrixVariable] = None,
 *                                activeone: Union[bool, np.ndarray] = True, name: Union[str, np.ndarray] = "",
 *                                initial: Union[bool, np.ndarray] = True, separate: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                                enforce: Union[bool, np.ndarray] = True, check: Union[bool, np.ndarray] = True,
 *                                propagate: Union[bool, np.ndarray] = True, local: Union[bool, np.ndarray] = False,
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7529
 *                                activeone: Union[bool, np.ndarray] = True, name: Union[str, np.ndarray] = "",
 *                                initial: Union[bool, np.ndarray] = True, separate: Union[bool, np.ndarray] = True,
 *                                enforce: Union[bool, np.ndarray] = True, check: Union[bool, np.ndarray] = True,             # <<<<<<<<<<<<<<
 *                                propagate: Union[bool, np.ndarray] = True, local: Union[bool, np.ndarray] = False,
 *                                dynamic: Union[bool, np.ndarray] = False, removable: Union[bool, np.ndarray] = False,
*/
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":7530
 *                                initial: Union[bool, np.ndarray] = True, separate: Union[bool, np.ndarray] = True,
 *                                enforce: Union[bool, np.ndarray] = True, check: Union[bool, np.ndarray] = True,
 *                                propagate: Union[bool, np.ndarray] = True, local: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                                dynamic: Union[bool, np.ndarray] = False, removable: Union[bool, np.ndarray] = False,
 *                                stickingatnode: Union[bool, np.ndarray] = False) -> MatrixConstraint:
*/
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7531
 *                                enforce: Union[bool, np.ndarray] = True, check: Union[bool, np.ndarray] = True,
 *                                propagate: Union[bool, np.ndarray] = True, local: Union[bool, np.ndarray] = False,
 *                                dynamic: Union[bool, np.ndarray] = False, removable: Union[bool, np.ndarray] = False,             # <<<<<<<<<<<<<<
 *                                stickingatnode: Union[bool, np.ndarray] = False) -> MatrixConstraint:
 *         """Add an indicator matrix constraint for the linear inequality `cons`.
*/
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":7532
 *                                propagate: Union[bool, np.ndarray] = True, local: Union[bool, np.ndarray] = False,
 *                                dynamic: Union[bool, np.ndarray] = False, removable: Union[bool, np.ndarray] = False,
 *                                stickingatnode: Union[bool, np.ndarray] = False) -> MatrixConstraint:             # <<<<<<<<<<<<<<
 *         """Add an indicator matrix constraint for the linear inequality `cons`.
 * 
*/
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_cons = values[0];
    __pyx_v_binvar = values[1];
    __pyx_v_activeone = values[2];
    __pyx_v_name = values[3];
    __pyx_v_initial = values[4];
    __pyx_v_separate = values[5];
    __pyx_v_enforce = values[6];
    __pyx_v_check = values[7];
    __pyx_v_propagate = values[8];
    __pyx_v_local = values[9];
    __pyx_v_dynamic = values[10];
    __pyx_v_removable = values[11];
    __pyx_v_stickingatnode = values[12];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addMatrixConsIndicator", 0, 1, 13, __pyx_nargs); __PYX_ERR(2, 7526, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addMatrixConsIndicator", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_408addMatrixConsIndicator(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_binvar, __pyx_v_activeone, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":7526
 *         return pyCons
 * 
 *     def addMatrixConsIndicator(self, cons: Union[ExprCons, MatrixExprCons], binvar: Union[Variable, MatrixVariable] = None,             # <<<<<<<<<<<<<<
 *                                activeone: Union[bool, np.ndarray] = True, name: Union[str, np.ndarray] = "",
 *                                initial: Union[bool, np.ndarray] = True, separate: Union[bool, np.ndarray] = True,
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_408addMatrixConsIndicator(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_cons, PyObject *__pyx_v_binvar, PyObject *__pyx_v_activeone, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  PyObject *__pyx_v_shape = NULL;
  PyObject *__pyx_v_matrix_binvar = NULL;
  PyObject *__pyx_v_matrix_activeone = NULL;
  PyObject *__pyx_v_matrix_names = NULL;
  PyObject *__pyx_v_idx = NULL;
  PyObject *__pyx_v_matrix_initial = NULL;
  PyObject *__pyx_v_matrix_enforce = NULL;
  PyObject *__pyx_v_matrix_separate = NULL;
  PyObject *__pyx_v_matrix_check = NULL;
  PyObject *__pyx_v_matrix_propagate = NULL;
  PyObject *__pyx_v_matrix_local = NULL;
  PyObject *__pyx_v_matrix_dynamic = NULL;
  PyObject *__pyx_v_matrix_removable = NULL;
  PyObject *__pyx_v_matrix_stickingatnode = NULL;
  PyObject *__pyx_v_matrix_cons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  Py_ssize_t __pyx_t_8;
  PyObject *(*__pyx_t_9)(PyObject *);
  PyObject *__pyx_t_10[3];
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16 = NULL;
  PyObject *__pyx_t_17 = NULL;
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  PyObject *__pyx_t_20 = NULL;
  PyObject *__pyx_t_21 = NULL;
  PyObject *__pyx_t_22 = NULL;
  PyObject *__pyx_t_23 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addMatrixConsIndicator", 0);

  /* "src/pyscipopt/scip.pxi":7574
 *         """
 * 
 *         if not isinstance(cons, (ExprCons, MatrixExprCons)):             # <<<<<<<<<<<<<<
 *             raise TypeError("given constraint is not MatrixExprCons nor ExprCons but %s" % cons.__class__.__name__)
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_MatrixExprCons); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_cons, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons); 
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_cons, __pyx_t_1); 
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (unlikely(__pyx_t_3)) {

    /* "src/pyscipopt/scip.pxi":7575
 * 
 *         if not isinstance(cons, (ExprCons, MatrixExprCons)):
 *             raise TypeError("given constraint is not MatrixExprCons nor ExprCons but %s" % cons.__class__.__name__)             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(cons, ExprCons):
*/
    __pyx_t_4 = NULL;
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_5 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_given_constraint_is_not_MatrixEx, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7575, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __pyx_t_7 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_TypeError)), __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7575, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 7575, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":7574
 *         """
 * 
 *         if not isinstance(cons, (ExprCons, MatrixExprCons)):             # <<<<<<<<<<<<<<
 *             raise TypeError("given constraint is not MatrixExprCons nor ExprCons but %s" % cons.__class__.__name__)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7577
 *             raise TypeError("given constraint is not MatrixExprCons nor ExprCons but %s" % cons.__class__.__name__)
 * 
 *         if isinstance(cons, ExprCons):             # <<<<<<<<<<<<<<
 *             return self.addConsIndicator(cons, binvar=binvar, activeone=activeone, name=name,
 *                         initial=initial, separate=separate, enforce=enforce, check=check,
*/
  __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_cons, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons); 
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7578
 * 
 *         if isinstance(cons, ExprCons):
 *             return self.addConsIndicator(cons, binvar=binvar, activeone=activeone, name=name,             # <<<<<<<<<<<<<<
 *                         initial=initial, separate=separate, enforce=enforce, check=check,
 *                         propagate=propagate, local=local, dynamic=dynamic, removable=removable,
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_5 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_5);

    /* "src/pyscipopt/scip.pxi":7581
 *                         initial=initial, separate=separate, enforce=enforce, check=check,
 *                         propagate=propagate, local=local, dynamic=dynamic, removable=removable,
 *                         stickingatnode=stickingatnode)             # <<<<<<<<<<<<<<
 * 
 *         shape = cons.shape
*/
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 12 : 0)] = {__pyx_t_5, __pyx_v_cons};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(12); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7578, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_binvar, __pyx_v_binvar, __pyx_t_4, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 7578, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_activeone, __pyx_v_activeone, __pyx_t_4, __pyx_callargs+2, 1) < (0)) __PYX_ERR(2, 7578, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_name, __pyx_v_name, __pyx_t_4, __pyx_callargs+2, 2) < (0)) __PYX_ERR(2, 7578, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_initial, __pyx_v_initial, __pyx_t_4, __pyx_callargs+2, 3) < (0)) __PYX_ERR(2, 7578, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_separate, __pyx_v_separate, __pyx_t_4, __pyx_callargs+2, 4) < (0)) __PYX_ERR(2, 7578, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_enforce, __pyx_v_enforce, __pyx_t_4, __pyx_callargs+2, 5) < (0)) __PYX_ERR(2, 7578, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_check, __pyx_v_check, __pyx_t_4, __pyx_callargs+2, 6) < (0)) __PYX_ERR(2, 7578, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_propagate, __pyx_v_propagate, __pyx_t_4, __pyx_callargs+2, 7) < (0)) __PYX_ERR(2, 7578, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_local, __pyx_v_local, __pyx_t_4, __pyx_callargs+2, 8) < (0)) __PYX_ERR(2, 7578, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dynamic, __pyx_v_dynamic, __pyx_t_4, __pyx_callargs+2, 9) < (0)) __PYX_ERR(2, 7578, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_removable, __pyx_v_removable, __pyx_t_4, __pyx_callargs+2, 10) < (0)) __PYX_ERR(2, 7578, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_stickingatnode, __pyx_v_stickingatnode, __pyx_t_4, __pyx_callargs+2, 11) < (0)) __PYX_ERR(2, 7578, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_addConsIndicator, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7578, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":7577
 *             raise TypeError("given constraint is not MatrixExprCons nor ExprCons but %s" % cons.__class__.__name__)
 * 
 *         if isinstance(cons, ExprCons):             # <<<<<<<<<<<<<<
 *             return self.addConsIndicator(cons, binvar=binvar, activeone=activeone, name=name,
 *                         initial=initial, separate=separate, enforce=enforce, check=check,
*/
  }

  /* "src/pyscipopt/scip.pxi":7583
 *                         stickingatnode=stickingatnode)
 * 
 *         shape = cons.shape             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(binvar, MatrixVariable):
*/
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cons, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_shape = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7585
 *         shape = cons.shape
 * 
 *         if isinstance(binvar, MatrixVariable):             # <<<<<<<<<<<<<<
 *             assert binvar.shape == shape
 *         if isinstance(activeone, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_MatrixVariable); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_binvar, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7586
 * 
 *         if isinstance(binvar, MatrixVariable):
 *             assert binvar.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(activeone, np.ndarray):
 *             assert activeone.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_binvar, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7586, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7586, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 7586, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7586, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7586, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7585
 *         shape = cons.shape
 * 
 *         if isinstance(binvar, MatrixVariable):             # <<<<<<<<<<<<<<
 *             assert binvar.shape == shape
 *         if isinstance(activeone, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":7587
 *         if isinstance(binvar, MatrixVariable):
 *             assert binvar.shape == shape
 *         if isinstance(activeone, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert activeone.shape == shape
 *         if isinstance(name, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_activeone, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7588
 *             assert binvar.shape == shape
 *         if isinstance(activeone, np.ndarray):
 *             assert activeone.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(name, np.ndarray):
 *             assert name.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_activeone, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7588, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7588, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 7588, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7588, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7588, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7587
 *         if isinstance(binvar, MatrixVariable):
 *             assert binvar.shape == shape
 *         if isinstance(activeone, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert activeone.shape == shape
 *         if isinstance(name, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":7589
 *         if isinstance(activeone, np.ndarray):
 *             assert activeone.shape == shape
 *         if isinstance(name, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert name.shape == shape
 *         if isinstance(initial, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_name, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7589, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7590
 *             assert activeone.shape == shape
 *         if isinstance(name, np.ndarray):
 *             assert name.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(initial, np.ndarray):
 *             assert initial.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7590, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7590, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 7590, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7590, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7590, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7589
 *         if isinstance(activeone, np.ndarray):
 *             assert activeone.shape == shape
 *         if isinstance(name, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert name.shape == shape
 *         if isinstance(initial, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":7591
 *         if isinstance(name, np.ndarray):
 *             assert name.shape == shape
 *         if isinstance(initial, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert initial.shape == shape
 *         if isinstance(separate, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_initial, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7591, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7592
 *             assert name.shape == shape
 *         if isinstance(initial, np.ndarray):
 *             assert initial.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(separate, np.ndarray):
 *             assert separate.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_initial, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7592, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7592, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 7592, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7592, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7592, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7591
 *         if isinstance(name, np.ndarray):
 *             assert name.shape == shape
 *         if isinstance(initial, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert initial.shape == shape
 *         if isinstance(separate, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":7593
 *         if isinstance(initial, np.ndarray):
 *             assert initial.shape == shape
 *         if isinstance(separate, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert separate.shape == shape
 *         if isinstance(enforce, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_separate, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7593, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7594
 *             assert initial.shape == shape
 *         if isinstance(separate, np.ndarray):
 *             assert separate.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(enforce, np.ndarray):
 *             assert enforce.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_separate, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7594, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7594, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 7594, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7594, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7594, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7593
 *         if isinstance(initial, np.ndarray):
 *             assert initial.shape == shape
 *         if isinstance(separate, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert separate.shape == shape
 *         if isinstance(enforce, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":7595
 *         if isinstance(separate, np.ndarray):
 *             assert separate.shape == shape
 *         if isinstance(enforce, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert enforce.shape == shape
 *         if isinstance(check, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_enforce, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7595, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7596
 *             assert separate.shape == shape
 *         if isinstance(enforce, np.ndarray):
 *             assert enforce.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(check, np.ndarray):
 *             assert check.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_enforce, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7596, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7596, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 7596, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7596, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7596, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7595
 *         if isinstance(separate, np.ndarray):
 *             assert separate.shape == shape
 *         if isinstance(enforce, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert enforce.shape == shape
 *         if isinstance(check, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":7597
 *         if isinstance(enforce, np.ndarray):
 *             assert enforce.shape == shape
 *         if isinstance(check, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert check.shape == shape
 *         if isinstance(propagate, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_check, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7598
 *             assert enforce.shape == shape
 *         if isinstance(check, np.ndarray):
 *             assert check.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(propagate, np.ndarray):
 *             assert propagate.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_check, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7598, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7598, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 7598, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7598, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7598, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7597
 *         if isinstance(enforce, np.ndarray):
 *             assert enforce.shape == shape
 *         if isinstance(check, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert check.shape == shape
 *         if isinstance(propagate, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":7599
 *         if isinstance(check, np.ndarray):
 *             assert check.shape == shape
 *         if isinstance(propagate, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert propagate.shape == shape
 *         if isinstance(local, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_propagate, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7599, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7600
 *             assert check.shape == shape
 *         if isinstance(propagate, np.ndarray):
 *             assert propagate.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(local, np.ndarray):
 *             assert local.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_propagate, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7600, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7600, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 7600, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7600, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7600, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7599
 *         if isinstance(check, np.ndarray):
 *             assert check.shape == shape
 *         if isinstance(propagate, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert propagate.shape == shape
 *         if isinstance(local, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":7601
 *         if isinstance(propagate, np.ndarray):
 *             assert propagate.shape == shape
 *         if isinstance(local, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert local.shape == shape
 *         if isinstance(dynamic, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_local, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7601, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7602
 *             assert propagate.shape == shape
 *         if isinstance(local, np.ndarray):
 *             assert local.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(dynamic, np.ndarray):
 *             assert dynamic.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_local, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7602, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7602, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 7602, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7602, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7602, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7601
 *         if isinstance(propagate, np.ndarray):
 *             assert propagate.shape == shape
 *         if isinstance(local, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert local.shape == shape
 *         if isinstance(dynamic, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":7603
 *         if isinstance(local, np.ndarray):
 *             assert local.shape == shape
 *         if isinstance(dynamic, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert dynamic.shape == shape
 *         if isinstance(removable, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_dynamic, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7603, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7604
 *             assert local.shape == shape
 *         if isinstance(dynamic, np.ndarray):
 *             assert dynamic.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(removable, np.ndarray):
 *             assert removable.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_dynamic, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7604, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7604, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 7604, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7604, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7604, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7603
 *         if isinstance(local, np.ndarray):
 *             assert local.shape == shape
 *         if isinstance(dynamic, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert dynamic.shape == shape
 *         if isinstance(removable, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":7605
 *         if isinstance(dynamic, np.ndarray):
 *             assert dynamic.shape == shape
 *         if isinstance(removable, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert removable.shape == shape
 *         if isinstance(stickingatnode, np.ndarray):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_removable, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7605, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7606
 *             assert dynamic.shape == shape
 *         if isinstance(removable, np.ndarray):
 *             assert removable.shape == shape             # <<<<<<<<<<<<<<
 *         if isinstance(stickingatnode, np.ndarray):
 *             assert stickingatnode.shape == shape
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_removable, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7606, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7606, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 7606, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7606, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7606, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7605
 *         if isinstance(dynamic, np.ndarray):
 *             assert dynamic.shape == shape
 *         if isinstance(removable, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert removable.shape == shape
 *         if isinstance(stickingatnode, np.ndarray):
*/
  }

  /* "src/pyscipopt/scip.pxi":7607
 *         if isinstance(removable, np.ndarray):
 *             assert removable.shape == shape
 *         if isinstance(stickingatnode, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert stickingatnode.shape == shape
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_stickingatnode, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7607, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7608
 *             assert removable.shape == shape
 *         if isinstance(stickingatnode, np.ndarray):
 *             assert stickingatnode.shape == shape             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(binvar, MatrixVariable):
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_stickingatnode, __pyx_mstate_global->__pyx_n_u_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7608, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_v_shape, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7608, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 7608, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7608, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7608, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7607
 *         if isinstance(removable, np.ndarray):
 *             assert removable.shape == shape
 *         if isinstance(stickingatnode, np.ndarray):             # <<<<<<<<<<<<<<
 *             assert stickingatnode.shape == shape
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7610
 *             assert stickingatnode.shape == shape
 * 
 *         if not isinstance(binvar, MatrixVariable):             # <<<<<<<<<<<<<<
 *             matrix_binvar = np.full(shape, binvar, dtype=Variable)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_MatrixVariable); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_binvar, __pyx_t_4); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7610, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = (!__pyx_t_3);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":7611
 * 
 *         if not isinstance(binvar, MatrixVariable):
 *             matrix_binvar = np.full(shape, binvar, dtype=Variable)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_binvar = binvar
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, __pyx_v_shape, __pyx_v_binvar};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7611, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 7611, __pyx_L1_error)
      __pyx_t_4 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7611, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_v_matrix_binvar = __pyx_t_4;
    __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":7610
 *             assert stickingatnode.shape == shape
 * 
 *         if not isinstance(binvar, MatrixVariable):             # <<<<<<<<<<<<<<
 *             matrix_binvar = np.full(shape, binvar, dtype=Variable)
 *         else:
*/
    goto __pyx_L19;
  }

  /* "src/pyscipopt/scip.pxi":7613
 *             matrix_binvar = np.full(shape, binvar, dtype=Variable)
 *         else:
 *             matrix_binvar = binvar             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(activeone, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_binvar);
    __pyx_v_matrix_binvar = __pyx_v_binvar;
  }
  __pyx_L19:;

  /* "src/pyscipopt/scip.pxi":7615
 *             matrix_binvar = binvar
 * 
 *         if not isinstance(activeone, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_activeone = np.full(shape, activeone, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_activeone, __pyx_t_6); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 7615, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7616
 * 
 *         if not isinstance(activeone, np.ndarray):
 *             matrix_activeone = np.full(shape, activeone, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_activeone = activeone
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7616, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_4, __pyx_v_shape, __pyx_v_activeone};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7616, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 7616, __pyx_L1_error)
      __pyx_t_6 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7616, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_v_matrix_activeone = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":7615
 *             matrix_binvar = binvar
 * 
 *         if not isinstance(activeone, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_activeone = np.full(shape, activeone, dtype=bool)
 *         else:
*/
    goto __pyx_L20;
  }

  /* "src/pyscipopt/scip.pxi":7618
 *             matrix_activeone = np.full(shape, activeone, dtype=bool)
 *         else:
 *             matrix_activeone = activeone             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(name, str):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_activeone);
    __pyx_v_matrix_activeone = __pyx_v_activeone;
  }
  __pyx_L20:;

  /* "src/pyscipopt/scip.pxi":7620
 *             matrix_activeone = activeone
 * 
 *         if isinstance(name, str):             # <<<<<<<<<<<<<<
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":
*/
  __pyx_t_3 = PyUnicode_Check(__pyx_v_name); 
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7621
 * 
 *         if isinstance(name, str):
 *             matrix_names = np.full(shape, name, dtype=object)             # <<<<<<<<<<<<<<
 *             if name != "":
 *                 for idx in np.ndindex(shape):
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7621, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, __pyx_v_shape, __pyx_v_name};
      __pyx_t_5 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7621, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_5, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 7621, __pyx_L1_error)
      __pyx_t_6 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_5);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7621, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_v_matrix_names = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":7622
 *         if isinstance(name, str):
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":             # <<<<<<<<<<<<<<
 *                 for idx in np.ndindex(shape):
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
*/
    __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_name, __pyx_mstate_global->__pyx_kp_u__11, Py_NE)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(2, 7622, __pyx_L1_error)
    if (__pyx_t_3) {

      /* "src/pyscipopt/scip.pxi":7623
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":
 *                 for idx in np.ndindex(shape):             # <<<<<<<<<<<<<<
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
 *         else:
*/
      __pyx_t_4 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7623, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7623, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_7 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_1))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
        assert(__pyx_t_4);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
        __pyx_t_7 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_shape};
        __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7623, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
      }
      if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
        __pyx_t_1 = __pyx_t_6; __Pyx_INCREF(__pyx_t_1);
        __pyx_t_8 = 0;
        __pyx_t_9 = NULL;
      } else {
        __pyx_t_8 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7623, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 7623, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      for (;;) {
        if (likely(!__pyx_t_9)) {
          if (likely(PyList_CheckExact(__pyx_t_1))) {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 7623, __pyx_L1_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            __pyx_t_6 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
            ++__pyx_t_8;
          } else {
            {
              Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 7623, __pyx_L1_error)
              #endif
              if (__pyx_t_8 >= __pyx_temp) break;
            }
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_8));
            #else
            __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_8);
            #endif
            ++__pyx_t_8;
          }
          if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7623, __pyx_L1_error)
        } else {
          __pyx_t_6 = __pyx_t_9(__pyx_t_1);
          if (unlikely(!__pyx_t_6)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 7623, __pyx_L1_error)
              PyErr_Clear();
            }
            break;
          }
        }
        __Pyx_GOTREF(__pyx_t_6);
        __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_6);
        __pyx_t_6 = 0;

        /* "src/pyscipopt/scip.pxi":7624
 *             if name != "":
 *                 for idx in np.ndindex(shape):
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_names = name
*/
        __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_v_name, __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7624, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_6);
        __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7624, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
        __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)(&PyUnicode_Type))) != (0)) __PYX_ERR(2, 7624, __pyx_L1_error);
        __Pyx_INCREF(__pyx_v_idx);
        __Pyx_GIVEREF(__pyx_v_idx);
        if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_idx) != (0)) __PYX_ERR(2, 7624, __pyx_L1_error);
        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_map, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7624, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __pyx_t_4 = PyUnicode_Join(__pyx_mstate_global->__pyx_n_u__9, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7624, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_10[0] = __pyx_t_6;
        __pyx_t_10[1] = __pyx_mstate_global->__pyx_n_u__9;
        __pyx_t_10[2] = __pyx_t_4;
        __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6) + 1 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4), 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4));
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7624, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely((PyObject_SetItem(__pyx_v_matrix_names, __pyx_v_idx, __pyx_t_5) < 0))) __PYX_ERR(2, 7624, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

        /* "src/pyscipopt/scip.pxi":7623
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":
 *                 for idx in np.ndindex(shape):             # <<<<<<<<<<<<<<
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
 *         else:
*/
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/pyscipopt/scip.pxi":7622
 *         if isinstance(name, str):
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":             # <<<<<<<<<<<<<<
 *                 for idx in np.ndindex(shape):
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
*/
    }

    /* "src/pyscipopt/scip.pxi":7620
 *             matrix_activeone = activeone
 * 
 *         if isinstance(name, str):             # <<<<<<<<<<<<<<
 *             matrix_names = np.full(shape, name, dtype=object)
 *             if name != "":
*/
    goto __pyx_L21;
  }

  /* "src/pyscipopt/scip.pxi":7626
 *                     matrix_names[idx] = f"{name}_{'_'.join(map(str, idx))}"
 *         else:
 *             matrix_names = name             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(initial, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_name);
    __pyx_v_matrix_names = __pyx_v_name;
  }
  __pyx_L21:;

  /* "src/pyscipopt/scip.pxi":7628
 *             matrix_names = name
 * 
 *         if not isinstance(initial, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_initial = np.full(shape, initial, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_initial, __pyx_t_5); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = (!__pyx_t_3);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":7629
 * 
 *         if not isinstance(initial, np.ndarray):
 *             matrix_initial = np.full(shape, initial, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_initial = initial
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, __pyx_v_shape, __pyx_v_initial};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7629, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 7629, __pyx_L1_error)
      __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7629, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_v_matrix_initial = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":7628
 *             matrix_names = name
 * 
 *         if not isinstance(initial, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_initial = np.full(shape, initial, dtype=bool)
 *         else:
*/
    goto __pyx_L26;
  }

  /* "src/pyscipopt/scip.pxi":7631
 *             matrix_initial = np.full(shape, initial, dtype=bool)
 *         else:
 *             matrix_initial = initial             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(enforce, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_initial);
    __pyx_v_matrix_initial = __pyx_v_initial;
  }
  __pyx_L26:;

  /* "src/pyscipopt/scip.pxi":7633
 *             matrix_initial = initial
 * 
 *         if not isinstance(enforce, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_enforce = np.full(shape, enforce, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_enforce, __pyx_t_6); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 7633, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7634
 * 
 *         if not isinstance(enforce, np.ndarray):
 *             matrix_enforce = np.full(shape, enforce, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_enforce = enforce
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7634, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7634, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, __pyx_v_shape, __pyx_v_enforce};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7634, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 7634, __pyx_L1_error)
      __pyx_t_6 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7634, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_v_matrix_enforce = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":7633
 *             matrix_initial = initial
 * 
 *         if not isinstance(enforce, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_enforce = np.full(shape, enforce, dtype=bool)
 *         else:
*/
    goto __pyx_L27;
  }

  /* "src/pyscipopt/scip.pxi":7636
 *             matrix_enforce = np.full(shape, enforce, dtype=bool)
 *         else:
 *             matrix_enforce = enforce             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(separate, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_enforce);
    __pyx_v_matrix_enforce = __pyx_v_enforce;
  }
  __pyx_L27:;

  /* "src/pyscipopt/scip.pxi":7638
 *             matrix_enforce = enforce
 * 
 *         if not isinstance(separate, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_separate = np.full(shape, separate, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_separate, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_3);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":7639
 * 
 *         if not isinstance(separate, np.ndarray):
 *             matrix_separate = np.full(shape, separate, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_separate = separate
*/
    __pyx_t_6 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_6);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, __pyx_v_shape, __pyx_v_separate};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 7639, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_matrix_separate = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":7638
 *             matrix_enforce = enforce
 * 
 *         if not isinstance(separate, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_separate = np.full(shape, separate, dtype=bool)
 *         else:
*/
    goto __pyx_L28;
  }

  /* "src/pyscipopt/scip.pxi":7641
 *             matrix_separate = np.full(shape, separate, dtype=bool)
 *         else:
 *             matrix_separate = separate             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(check, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_separate);
    __pyx_v_matrix_separate = __pyx_v_separate;
  }
  __pyx_L28:;

  /* "src/pyscipopt/scip.pxi":7643
 *             matrix_separate = separate
 * 
 *         if not isinstance(check, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_check = np.full(shape, check, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7643, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_check, __pyx_t_5); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 7643, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7644
 * 
 *         if not isinstance(check, np.ndarray):
 *             matrix_check = np.full(shape, check, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_check = check
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7644, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, __pyx_v_shape, __pyx_v_check};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7644, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 7644, __pyx_L1_error)
      __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7644, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_v_matrix_check = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":7643
 *             matrix_separate = separate
 * 
 *         if not isinstance(check, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_check = np.full(shape, check, dtype=bool)
 *         else:
*/
    goto __pyx_L29;
  }

  /* "src/pyscipopt/scip.pxi":7646
 *             matrix_check = np.full(shape, check, dtype=bool)
 *         else:
 *             matrix_check = check             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(propagate, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_check);
    __pyx_v_matrix_check = __pyx_v_check;
  }
  __pyx_L29:;

  /* "src/pyscipopt/scip.pxi":7648
 *             matrix_check = check
 * 
 *         if not isinstance(propagate, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_propagate = np.full(shape, propagate, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_propagate, __pyx_t_6); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7648, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_2 = (!__pyx_t_3);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":7649
 * 
 *         if not isinstance(propagate, np.ndarray):
 *             matrix_propagate = np.full(shape, propagate, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_propagate = propagate
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, __pyx_v_shape, __pyx_v_propagate};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7649, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 7649, __pyx_L1_error)
      __pyx_t_6 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7649, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_v_matrix_propagate = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":7648
 *             matrix_check = check
 * 
 *         if not isinstance(propagate, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_propagate = np.full(shape, propagate, dtype=bool)
 *         else:
*/
    goto __pyx_L30;
  }

  /* "src/pyscipopt/scip.pxi":7651
 *             matrix_propagate = np.full(shape, propagate, dtype=bool)
 *         else:
 *             matrix_propagate = propagate             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(local, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_propagate);
    __pyx_v_matrix_propagate = __pyx_v_propagate;
  }
  __pyx_L30:;

  /* "src/pyscipopt/scip.pxi":7653
 *             matrix_propagate = propagate
 * 
 *         if not isinstance(local, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_local = np.full(shape, local, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_local, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 7653, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7654
 * 
 *         if not isinstance(local, np.ndarray):
 *             matrix_local = np.full(shape, local, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_local = local
*/
    __pyx_t_6 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7654, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_6);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, __pyx_v_shape, __pyx_v_local};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7654, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 7654, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7654, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_matrix_local = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":7653
 *             matrix_propagate = propagate
 * 
 *         if not isinstance(local, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_local = np.full(shape, local, dtype=bool)
 *         else:
*/
    goto __pyx_L31;
  }

  /* "src/pyscipopt/scip.pxi":7656
 *             matrix_local = np.full(shape, local, dtype=bool)
 *         else:
 *             matrix_local = local             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(dynamic, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_local);
    __pyx_v_matrix_local = __pyx_v_local;
  }
  __pyx_L31:;

  /* "src/pyscipopt/scip.pxi":7658
 *             matrix_local = local
 * 
 *         if not isinstance(dynamic, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_dynamic = np.full(shape, dynamic, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7658, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_dynamic, __pyx_t_5); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7658, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = (!__pyx_t_3);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":7659
 * 
 *         if not isinstance(dynamic, np.ndarray):
 *             matrix_dynamic = np.full(shape, dynamic, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_dynamic = dynamic
*/
    __pyx_t_1 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7659, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_1);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_1);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_1, __pyx_v_shape, __pyx_v_dynamic};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7659, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 7659, __pyx_L1_error)
      __pyx_t_5 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7659, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_v_matrix_dynamic = __pyx_t_5;
    __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":7658
 *             matrix_local = local
 * 
 *         if not isinstance(dynamic, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_dynamic = np.full(shape, dynamic, dtype=bool)
 *         else:
*/
    goto __pyx_L32;
  }

  /* "src/pyscipopt/scip.pxi":7661
 *             matrix_dynamic = np.full(shape, dynamic, dtype=bool)
 *         else:
 *             matrix_dynamic = dynamic             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(removable, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_dynamic);
    __pyx_v_matrix_dynamic = __pyx_v_dynamic;
  }
  __pyx_L32:;

  /* "src/pyscipopt/scip.pxi":7663
 *             matrix_dynamic = dynamic
 * 
 *         if not isinstance(removable, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_removable = np.full(shape, removable, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7663, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_2 = PyObject_IsInstance(__pyx_v_removable, __pyx_t_6); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(2, 7663, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":7664
 * 
 *         if not isinstance(removable, np.ndarray):
 *             matrix_removable = np.full(shape, removable, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_removable = removable
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7664, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_1))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, __pyx_v_shape, __pyx_v_removable};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7664, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 7664, __pyx_L1_error)
      __pyx_t_6 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7664, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_v_matrix_removable = __pyx_t_6;
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":7663
 *             matrix_dynamic = dynamic
 * 
 *         if not isinstance(removable, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_removable = np.full(shape, removable, dtype=bool)
 *         else:
*/
    goto __pyx_L33;
  }

  /* "src/pyscipopt/scip.pxi":7666
 *             matrix_removable = np.full(shape, removable, dtype=bool)
 *         else:
 *             matrix_removable = removable             # <<<<<<<<<<<<<<
 * 
 *         if not isinstance(stickingatnode, np.ndarray):
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_removable);
    __pyx_v_matrix_removable = __pyx_v_removable;
  }
  __pyx_L33:;

  /* "src/pyscipopt/scip.pxi":7668
 *             matrix_removable = removable
 * 
 *         if not isinstance(stickingatnode, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_stickingatnode = np.full(shape, stickingatnode, dtype=bool)
 *         else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7668, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __pyx_t_3 = PyObject_IsInstance(__pyx_v_stickingatnode, __pyx_t_1); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(2, 7668, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_2 = (!__pyx_t_3);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":7669
 * 
 *         if not isinstance(stickingatnode, np.ndarray):
 *             matrix_stickingatnode = np.full(shape, stickingatnode, dtype=bool)             # <<<<<<<<<<<<<<
 *         else:
 *             matrix_stickingatnode = stickingatnode
*/
    __pyx_t_6 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_full); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7669, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_6);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_6);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_6, __pyx_v_shape, __pyx_v_stickingatnode};
      __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7669, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, ((PyObject *)(&PyBool_Type)), __pyx_t_4, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 7669, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7669, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_matrix_stickingatnode = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":7668
 *             matrix_removable = removable
 * 
 *         if not isinstance(stickingatnode, np.ndarray):             # <<<<<<<<<<<<<<
 *             matrix_stickingatnode = np.full(shape, stickingatnode, dtype=bool)
 *         else:
*/
    goto __pyx_L34;
  }

  /* "src/pyscipopt/scip.pxi":7671
 *             matrix_stickingatnode = np.full(shape, stickingatnode, dtype=bool)
 *         else:
 *             matrix_stickingatnode = stickingatnode             # <<<<<<<<<<<<<<
 * 
 *         matrix_cons = np.empty(shape, dtype=object)
*/
  /*else*/ {
    __Pyx_INCREF(__pyx_v_stickingatnode);
    __pyx_v_matrix_stickingatnode = __pyx_v_stickingatnode;
  }
  __pyx_L34:;

  /* "src/pyscipopt/scip.pxi":7673
 *             matrix_stickingatnode = stickingatnode
 * 
 *         matrix_cons = np.empty(shape, dtype=object)             # <<<<<<<<<<<<<<
 *         for idx in np.ndindex(shape):
 *             matrix_cons[idx] = self.addConsIndicator(
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_empty); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 7673, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_5, __pyx_v_shape};
    __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dtype, __pyx_builtin_object, __pyx_t_4, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 7673, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7673, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_matrix_cons = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7674
 * 
 *         matrix_cons = np.empty(shape, dtype=object)
 *         for idx in np.ndindex(shape):             # <<<<<<<<<<<<<<
 *             matrix_cons[idx] = self.addConsIndicator(
 *                 cons[idx],
*/
  __pyx_t_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_ndindex); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7674, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_shape};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5);
    __pyx_t_8 = 0;
    __pyx_t_9 = NULL;
  } else {
    __pyx_t_8 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7674, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_9 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 7674, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_9)) {
      if (likely(PyList_CheckExact(__pyx_t_5))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 7674, __pyx_L1_error)
          #endif
          if (__pyx_t_8 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_5, __pyx_t_8, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_8;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 7674, __pyx_L1_error)
          #endif
          if (__pyx_t_8 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_8));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_8);
        #endif
        ++__pyx_t_8;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7674, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_9(__pyx_t_5);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 7674, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":7675
 *         matrix_cons = np.empty(shape, dtype=object)
 *         for idx in np.ndindex(shape):
 *             matrix_cons[idx] = self.addConsIndicator(             # <<<<<<<<<<<<<<
 *                 cons[idx],
 *                 binvar=matrix_binvar[idx],
*/
    __pyx_t_6 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_6);

    /* "src/pyscipopt/scip.pxi":7676
 *         for idx in np.ndindex(shape):
 *             matrix_cons[idx] = self.addConsIndicator(
 *                 cons[idx],             # <<<<<<<<<<<<<<
 *                 binvar=matrix_binvar[idx],
 *                 activeone=matrix_activeone[idx],
*/
    __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_cons, __pyx_v_idx); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);

    /* "src/pyscipopt/scip.pxi":7677
 *             matrix_cons[idx] = self.addConsIndicator(
 *                 cons[idx],
 *                 binvar=matrix_binvar[idx],             # <<<<<<<<<<<<<<
 *                 activeone=matrix_activeone[idx],
 *                 name=matrix_names[idx],
*/
    __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_v_matrix_binvar, __pyx_v_idx); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7677, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);

    /* "src/pyscipopt/scip.pxi":7678
 *                 cons[idx],
 *                 binvar=matrix_binvar[idx],
 *                 activeone=matrix_activeone[idx],             # <<<<<<<<<<<<<<
 *                 name=matrix_names[idx],
 *                 initial=matrix_initial[idx],
*/
    __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_matrix_activeone, __pyx_v_idx); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 7678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_12);

    /* "src/pyscipopt/scip.pxi":7679
 *                 binvar=matrix_binvar[idx],
 *                 activeone=matrix_activeone[idx],
 *                 name=matrix_names[idx],             # <<<<<<<<<<<<<<
 *                 initial=matrix_initial[idx],
 *                 separate=matrix_separate[idx],
*/
    __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_v_matrix_names, __pyx_v_idx); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 7679, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);

    /* "src/pyscipopt/scip.pxi":7680
 *                 activeone=matrix_activeone[idx],
 *                 name=matrix_names[idx],
 *                 initial=matrix_initial[idx],             # <<<<<<<<<<<<<<
 *                 separate=matrix_separate[idx],
 *                 enforce=matrix_enforce[idx],
*/
    __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_matrix_initial, __pyx_v_idx); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 7680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);

    /* "src/pyscipopt/scip.pxi":7681
 *                 name=matrix_names[idx],
 *                 initial=matrix_initial[idx],
 *                 separate=matrix_separate[idx],             # <<<<<<<<<<<<<<
 *                 enforce=matrix_enforce[idx],
 *                 check=matrix_check[idx],
*/
    __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_v_matrix_separate, __pyx_v_idx); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 7681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);

    /* "src/pyscipopt/scip.pxi":7682
 *                 initial=matrix_initial[idx],
 *                 separate=matrix_separate[idx],
 *                 enforce=matrix_enforce[idx],             # <<<<<<<<<<<<<<
 *                 check=matrix_check[idx],
 *                 propagate=matrix_propagate[idx],
*/
    __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_v_matrix_enforce, __pyx_v_idx); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 7682, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_16);

    /* "src/pyscipopt/scip.pxi":7683
 *                 separate=matrix_separate[idx],
 *                 enforce=matrix_enforce[idx],
 *                 check=matrix_check[idx],             # <<<<<<<<<<<<<<
 *                 propagate=matrix_propagate[idx],
 *                 local=matrix_local[idx],
*/
    __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_v_matrix_check, __pyx_v_idx); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 7683, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_17);

    /* "src/pyscipopt/scip.pxi":7684
 *                 enforce=matrix_enforce[idx],
 *                 check=matrix_check[idx],
 *                 propagate=matrix_propagate[idx],             # <<<<<<<<<<<<<<
 *                 local=matrix_local[idx],
 *                 dynamic=matrix_dynamic[idx],
*/
    __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_v_matrix_propagate, __pyx_v_idx); if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 7684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_18);

    /* "src/pyscipopt/scip.pxi":7685
 *                 check=matrix_check[idx],
 *                 propagate=matrix_propagate[idx],
 *                 local=matrix_local[idx],             # <<<<<<<<<<<<<<
 *                 dynamic=matrix_dynamic[idx],
 *                 removable=matrix_removable[idx],
*/
    __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_v_matrix_local, __pyx_v_idx); if (unlikely(!__pyx_t_19)) __PYX_ERR(2, 7685, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_19);

    /* "src/pyscipopt/scip.pxi":7686
 *                 propagate=matrix_propagate[idx],
 *                 local=matrix_local[idx],
 *                 dynamic=matrix_dynamic[idx],             # <<<<<<<<<<<<<<
 *                 removable=matrix_removable[idx],
 *                 stickingatnode=matrix_stickingatnode[idx],
*/
    __pyx_t_20 = __Pyx_PyObject_GetItem(__pyx_v_matrix_dynamic, __pyx_v_idx); if (unlikely(!__pyx_t_20)) __PYX_ERR(2, 7686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_20);

    /* "src/pyscipopt/scip.pxi":7687
 *                 local=matrix_local[idx],
 *                 dynamic=matrix_dynamic[idx],
 *                 removable=matrix_removable[idx],             # <<<<<<<<<<<<<<
 *                 stickingatnode=matrix_stickingatnode[idx],
 *             )
*/
    __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_v_matrix_removable, __pyx_v_idx); if (unlikely(!__pyx_t_21)) __PYX_ERR(2, 7687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_21);

    /* "src/pyscipopt/scip.pxi":7688
 *                 dynamic=matrix_dynamic[idx],
 *                 removable=matrix_removable[idx],
 *                 stickingatnode=matrix_stickingatnode[idx],             # <<<<<<<<<<<<<<
 *             )
 * 
*/
    __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_v_matrix_stickingatnode, __pyx_v_idx); if (unlikely(!__pyx_t_22)) __PYX_ERR(2, 7688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_22);
    __pyx_t_7 = 0;
    {
      PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 12 : 0)] = {__pyx_t_6, __pyx_t_4};
      __pyx_t_23 = __Pyx_MakeVectorcallBuilderKwds(12); if (unlikely(!__pyx_t_23)) __PYX_ERR(2, 7675, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_23);
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_binvar, __pyx_t_11, __pyx_t_23, __pyx_callargs+2, 0) < (0)) __PYX_ERR(2, 7675, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_activeone, __pyx_t_12, __pyx_t_23, __pyx_callargs+2, 1) < (0)) __PYX_ERR(2, 7675, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_name, __pyx_t_13, __pyx_t_23, __pyx_callargs+2, 2) < (0)) __PYX_ERR(2, 7675, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_initial, __pyx_t_14, __pyx_t_23, __pyx_callargs+2, 3) < (0)) __PYX_ERR(2, 7675, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_separate, __pyx_t_15, __pyx_t_23, __pyx_callargs+2, 4) < (0)) __PYX_ERR(2, 7675, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_enforce, __pyx_t_16, __pyx_t_23, __pyx_callargs+2, 5) < (0)) __PYX_ERR(2, 7675, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_check, __pyx_t_17, __pyx_t_23, __pyx_callargs+2, 6) < (0)) __PYX_ERR(2, 7675, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_propagate, __pyx_t_18, __pyx_t_23, __pyx_callargs+2, 7) < (0)) __PYX_ERR(2, 7675, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_local, __pyx_t_19, __pyx_t_23, __pyx_callargs+2, 8) < (0)) __PYX_ERR(2, 7675, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_dynamic, __pyx_t_20, __pyx_t_23, __pyx_callargs+2, 9) < (0)) __PYX_ERR(2, 7675, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_removable, __pyx_t_21, __pyx_t_23, __pyx_callargs+2, 10) < (0)) __PYX_ERR(2, 7675, __pyx_L1_error)
      if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_stickingatnode, __pyx_t_22, __pyx_t_23, __pyx_callargs+2, 11) < (0)) __PYX_ERR(2, 7675, __pyx_L1_error)
      __pyx_t_1 = __Pyx_Object_VectorcallMethod_CallFromBuilder((PyObject*)__pyx_mstate_global->__pyx_n_u_addConsIndicator, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_23);
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
      __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
      __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
      __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
      __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
      __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7675, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }

    /* "src/pyscipopt/scip.pxi":7675
 *         matrix_cons = np.empty(shape, dtype=object)
 *         for idx in np.ndindex(shape):
 *             matrix_cons[idx] = self.addConsIndicator(             # <<<<<<<<<<<<<<
 *                 cons[idx],
 *                 binvar=matrix_binvar[idx],
*/
    if (unlikely((PyObject_SetItem(__pyx_v_matrix_cons, __pyx_v_idx, __pyx_t_1) < 0))) __PYX_ERR(2, 7675, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":7674
 * 
 *         matrix_cons = np.empty(shape, dtype=object)
 *         for idx in np.ndindex(shape):             # <<<<<<<<<<<<<<
 *             matrix_cons[idx] = self.addConsIndicator(
 *                 cons[idx],
*/
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "src/pyscipopt/scip.pxi":7691
 *             )
 * 
 *         return matrix_cons.view(MatrixConstraint)             # <<<<<<<<<<<<<<
 * 
 *     def getLinearConsIndicator(self, Constraint cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_v_matrix_cons;
  __Pyx_INCREF(__pyx_t_1);
  __Pyx_GetModuleGlobalName(__pyx_t_23, __pyx_mstate_global->__pyx_n_u_MatrixConstraint); if (unlikely(!__pyx_t_23)) __PYX_ERR(2, 7691, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_23);
  __pyx_t_7 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_23};
    __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_view, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":7526
 *         return pyCons
 * 
 *     def addMatrixConsIndicator(self, cons: Union[ExprCons, MatrixExprCons], binvar: Union[Variable, MatrixVariable] = None,             # <<<<<<<<<<<<<<
 *                                activeone: Union[bool, np.ndarray] = True, name: Union[str, np.ndarray] = "",
 *                                initial: Union[bool, np.ndarray] = True, separate: Union[bool, np.ndarray] = True,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_16);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_XDECREF(__pyx_t_19);
  __Pyx_XDECREF(__pyx_t_20);
  __Pyx_XDECREF(__pyx_t_21);
  __Pyx_XDECREF(__pyx_t_22);
  __Pyx_XDECREF(__pyx_t_23);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addMatrixConsIndicator", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_shape);
  __Pyx_XDECREF(__pyx_v_matrix_binvar);
  __Pyx_XDECREF(__pyx_v_matrix_activeone);
  __Pyx_XDECREF(__pyx_v_matrix_names);
  __Pyx_XDECREF(__pyx_v_idx);
  __Pyx_XDECREF(__pyx_v_matrix_initial);
  __Pyx_XDECREF(__pyx_v_matrix_enforce);
  __Pyx_XDECREF(__pyx_v_matrix_separate);
  __Pyx_XDECREF(__pyx_v_matrix_check);
  __Pyx_XDECREF(__pyx_v_matrix_propagate);
  __Pyx_XDECREF(__pyx_v_matrix_local);
  __Pyx_XDECREF(__pyx_v_matrix_dynamic);
  __Pyx_XDECREF(__pyx_v_matrix_removable);
  __Pyx_XDECREF(__pyx_v_matrix_stickingatnode);
  __Pyx_XDECREF(__pyx_v_matrix_cons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7693
 *         return matrix_cons.view(MatrixConstraint)
 * 
 *     def getLinearConsIndicator(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Get the linear constraint corresponding to the indicator constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_411getLinearConsIndicator(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_410getLinearConsIndicator, "\n        Get the linear constraint corresponding to the indicator constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            The indicator constraint\n\n        Returns\n        -------\n        Constraint or None\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_411getLinearConsIndicator = {"getLinearConsIndicator", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_411getLinearConsIndicator, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_410getLinearConsIndicator};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_411getLinearConsIndicator(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLinearConsIndicator (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7693, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7693, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getLinearConsIndicator", 0) < (0)) __PYX_ERR(2, 7693, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getLinearConsIndicator", 1, 1, 1, i); __PYX_ERR(2, 7693, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7693, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getLinearConsIndicator", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 7693, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLinearConsIndicator", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7693, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_410getLinearConsIndicator(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_410getLinearConsIndicator(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  SCIP_CONS *__pyx_v_lincons;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLinearConsIndicator", 0);

  /* "src/pyscipopt/scip.pxi":7707
 *         """
 * 
 *         cdef SCIP_CONS* lincons = SCIPgetLinearConsIndicator(cons.scip_cons)             # <<<<<<<<<<<<<<
 *         if lincons == NULL:
 *             return None
*/
  __pyx_v_lincons = SCIPgetLinearConsIndicator(__pyx_v_cons->scip_cons);

  /* "src/pyscipopt/scip.pxi":7708
 * 
 *         cdef SCIP_CONS* lincons = SCIPgetLinearConsIndicator(cons.scip_cons)
 *         if lincons == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return self._getOrCreateCons(lincons)
*/
  __pyx_t_1 = (__pyx_v_lincons == NULL);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":7709
 *         cdef SCIP_CONS* lincons = SCIPgetLinearConsIndicator(cons.scip_cons)
 *         if lincons == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return self._getOrCreateCons(lincons)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":7708
 * 
 *         cdef SCIP_CONS* lincons = SCIPgetLinearConsIndicator(cons.scip_cons)
 *         if lincons == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return self._getOrCreateCons(lincons)
*/
  }

  /* "src/pyscipopt/scip.pxi":7710
 *         if lincons == NULL:
 *             return None
 *         return self._getOrCreateCons(lincons)             # <<<<<<<<<<<<<<
 * 
 *     def getSlackVarIndicator(self, Constraint cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateCons(__pyx_v_self, __pyx_v_lincons); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":7693
 *         return matrix_cons.view(MatrixConstraint)
 * 
 *     def getLinearConsIndicator(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Get the linear constraint corresponding to the indicator constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLinearConsIndicator", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7712
 *         return self._getOrCreateCons(lincons)
 * 
 *     def getSlackVarIndicator(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Get slack variable of an indicator constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_413getSlackVarIndicator(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_412getSlackVarIndicator, "\n        Get slack variable of an indicator constraint.\n\n\n        Parameters\n        ----------\n        cons : Constraint\n            The indicator constraint\n\n        Returns\n        -------\n        Variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_413getSlackVarIndicator = {"getSlackVarIndicator", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_413getSlackVarIndicator, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_412getSlackVarIndicator};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_413getSlackVarIndicator(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSlackVarIndicator (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7712, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7712, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getSlackVarIndicator", 0) < (0)) __PYX_ERR(2, 7712, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getSlackVarIndicator", 1, 1, 1, i); __PYX_ERR(2, 7712, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7712, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getSlackVarIndicator", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 7712, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getSlackVarIndicator", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7712, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_412getSlackVarIndicator(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_412getSlackVarIndicator(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  SCIP_VAR *__pyx_v_var;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getSlackVarIndicator", 0);

  /* "src/pyscipopt/scip.pxi":7727
 * 
 *         """
 *         cdef SCIP_VAR* var = SCIPgetSlackVarIndicator(cons.scip_cons)             # <<<<<<<<<<<<<<
 *         return self._getOrCreateVar(var)
 * 
*/
  __pyx_v_var = SCIPgetSlackVarIndicator(__pyx_v_cons->scip_cons);

  /* "src/pyscipopt/scip.pxi":7728
 *         """
 *         cdef SCIP_VAR* var = SCIPgetSlackVarIndicator(cons.scip_cons)
 *         return self._getOrCreateVar(var)             # <<<<<<<<<<<<<<
 * 
 *     def addPyCons(self, Constraint cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, __pyx_v_var); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":7712
 *         return self._getOrCreateCons(lincons)
 * 
 *     def getSlackVarIndicator(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Get slack variable of an indicator constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getSlackVarIndicator", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7730
 *         return self._getOrCreateVar(var)
 * 
 *     def addPyCons(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Adds a customly created cons.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_415addPyCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_414addPyCons, "\n        Adds a customly created cons.\n\n        Parameters\n        ----------\n        cons : Constraint\n            constraint to add\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_415addPyCons = {"addPyCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_415addPyCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_414addPyCons};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_415addPyCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addPyCons (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7730, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7730, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addPyCons", 0) < (0)) __PYX_ERR(2, 7730, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addPyCons", 1, 1, 1, i); __PYX_ERR(2, 7730, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7730, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addPyCons", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 7730, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addPyCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7730, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_414addPyCons(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_414addPyCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addPyCons", 0);

  /* "src/pyscipopt/scip.pxi":7740
 * 
 *         """
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, cons.scip_cons))             # <<<<<<<<<<<<<<
 *         Py_INCREF(cons)
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCons(__pyx_v_self->_scip, __pyx_v_cons->scip_cons)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7740, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7740, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7741
 *         """
 *         PY_SCIP_CALL(SCIPaddCons(self._scip, cons.scip_cons))
 *         Py_INCREF(cons)             # <<<<<<<<<<<<<<
 * 
 *     def addVarSOS1(self, Constraint cons, Variable var, weight):
*/
  Py_INCREF(((PyObject *)__pyx_v_cons));

  /* "src/pyscipopt/scip.pxi":7730
 *         return self._getOrCreateVar(var)
 * 
 *     def addPyCons(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Adds a customly created cons.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addPyCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7743
 *         Py_INCREF(cons)
 * 
 *     def addVarSOS1(self, Constraint cons, Variable var, weight):             # <<<<<<<<<<<<<<
 *         """
 *         Add variable to SOS1 constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_417addVarSOS1(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_416addVarSOS1, "\n        Add variable to SOS1 constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            SOS1 constraint\n        var : Variable\n            new variable\n        weight : weight\n            weight of new variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_417addVarSOS1 = {"addVarSOS1", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_417addVarSOS1, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_416addVarSOS1};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_417addVarSOS1(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_weight = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addVarSOS1 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_weight,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7743, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7743, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7743, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7743, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addVarSOS1", 0) < (0)) __PYX_ERR(2, 7743, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addVarSOS1", 1, 3, 3, i); __PYX_ERR(2, 7743, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7743, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7743, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7743, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
    __pyx_v_weight = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addVarSOS1", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 7743, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addVarSOS1", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7743, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 7743, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_416addVarSOS1(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_var, __pyx_v_weight);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_416addVarSOS1(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_weight) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addVarSOS1", 0);

  /* "src/pyscipopt/scip.pxi":7757
 * 
 *         """
 *         PY_SCIP_CALL(SCIPaddVarSOS1(self._scip, cons.scip_cons, var.scip_var, weight))             # <<<<<<<<<<<<<<
 * 
 *     def appendVarSOS1(self, Constraint cons, Variable var):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_weight); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7757, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddVarSOS1(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_v_var->scip_var, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7743
 *         Py_INCREF(cons)
 * 
 *     def addVarSOS1(self, Constraint cons, Variable var, weight):             # <<<<<<<<<<<<<<
 *         """
 *         Add variable to SOS1 constraint.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addVarSOS1", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7759
 *         PY_SCIP_CALL(SCIPaddVarSOS1(self._scip, cons.scip_cons, var.scip_var, weight))
 * 
 *     def appendVarSOS1(self, Constraint cons, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Append variable to SOS1 constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_419appendVarSOS1(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_418appendVarSOS1, "\n        Append variable to SOS1 constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            SOS1 constraint\n        var : Variable\n            variable to append\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_419appendVarSOS1 = {"appendVarSOS1", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_419appendVarSOS1, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_418appendVarSOS1};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_419appendVarSOS1(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("appendVarSOS1 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7759, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7759, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7759, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "appendVarSOS1", 0) < (0)) __PYX_ERR(2, 7759, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("appendVarSOS1", 1, 2, 2, i); __PYX_ERR(2, 7759, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7759, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7759, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("appendVarSOS1", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 7759, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.appendVarSOS1", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7759, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 7759, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_418appendVarSOS1(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_418appendVarSOS1(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("appendVarSOS1", 0);

  /* "src/pyscipopt/scip.pxi":7771
 * 
 *         """
 *         PY_SCIP_CALL(SCIPappendVarSOS1(self._scip, cons.scip_cons, var.scip_var))             # <<<<<<<<<<<<<<
 * 
 *     def addVarSOS2(self, Constraint cons, Variable var, weight):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPappendVarSOS1(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_v_var->scip_var)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7771, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7759
 *         PY_SCIP_CALL(SCIPaddVarSOS1(self._scip, cons.scip_cons, var.scip_var, weight))
 * 
 *     def appendVarSOS1(self, Constraint cons, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Append variable to SOS1 constraint.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.appendVarSOS1", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7773
 *         PY_SCIP_CALL(SCIPappendVarSOS1(self._scip, cons.scip_cons, var.scip_var))
 * 
 *     def addVarSOS2(self, Constraint cons, Variable var, weight):             # <<<<<<<<<<<<<<
 *         """
 *         Add variable to SOS2 constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_421addVarSOS2(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_420addVarSOS2, "\n        Add variable to SOS2 constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            SOS2 constraint\n        var : Variable\n            new variable\n        weight : weight\n            weight of new variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_421addVarSOS2 = {"addVarSOS2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_421addVarSOS2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_420addVarSOS2};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_421addVarSOS2(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_weight = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addVarSOS2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_weight,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7773, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7773, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7773, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7773, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addVarSOS2", 0) < (0)) __PYX_ERR(2, 7773, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addVarSOS2", 1, 3, 3, i); __PYX_ERR(2, 7773, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7773, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7773, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 7773, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
    __pyx_v_weight = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addVarSOS2", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 7773, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addVarSOS2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7773, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 7773, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_420addVarSOS2(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_var, __pyx_v_weight);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_420addVarSOS2(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_weight) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addVarSOS2", 0);

  /* "src/pyscipopt/scip.pxi":7787
 * 
 *         """
 *         PY_SCIP_CALL(SCIPaddVarSOS2(self._scip, cons.scip_cons, var.scip_var, weight))             # <<<<<<<<<<<<<<
 * 
 *     def appendVarSOS2(self, Constraint cons, Variable var):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_weight); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7787, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddVarSOS2(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_v_var->scip_var, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7787, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7773
 *         PY_SCIP_CALL(SCIPappendVarSOS1(self._scip, cons.scip_cons, var.scip_var))
 * 
 *     def addVarSOS2(self, Constraint cons, Variable var, weight):             # <<<<<<<<<<<<<<
 *         """
 *         Add variable to SOS2 constraint.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addVarSOS2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7789
 *         PY_SCIP_CALL(SCIPaddVarSOS2(self._scip, cons.scip_cons, var.scip_var, weight))
 * 
 *     def appendVarSOS2(self, Constraint cons, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Append variable to SOS2 constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_423appendVarSOS2(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_422appendVarSOS2, "\n        Append variable to SOS2 constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            SOS2 constraint\n        var : Variable\n            variable to append\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_423appendVarSOS2 = {"appendVarSOS2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_423appendVarSOS2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_422appendVarSOS2};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_423appendVarSOS2(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("appendVarSOS2 (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7789, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7789, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7789, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "appendVarSOS2", 0) < (0)) __PYX_ERR(2, 7789, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("appendVarSOS2", 1, 2, 2, i); __PYX_ERR(2, 7789, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7789, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7789, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("appendVarSOS2", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 7789, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.appendVarSOS2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7789, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 7789, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_422appendVarSOS2(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_422appendVarSOS2(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("appendVarSOS2", 0);

  /* "src/pyscipopt/scip.pxi":7801
 * 
 *         """
 *         PY_SCIP_CALL(SCIPappendVarSOS2(self._scip, cons.scip_cons, var.scip_var))             # <<<<<<<<<<<<<<
 * 
 *     def setInitial(self, Constraint cons, newInit):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPappendVarSOS2(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_v_var->scip_var)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7801, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7801, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7789
 *         PY_SCIP_CALL(SCIPaddVarSOS2(self._scip, cons.scip_cons, var.scip_var, weight))
 * 
 *     def appendVarSOS2(self, Constraint cons, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Append variable to SOS2 constraint.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.appendVarSOS2", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7803
 *         PY_SCIP_CALL(SCIPappendVarSOS2(self._scip, cons.scip_cons, var.scip_var))
 * 
 *     def setInitial(self, Constraint cons, newInit):             # <<<<<<<<<<<<<<
 *         """
 *         Set "initial" flag of a constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_425setInitial(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_424setInitial, "\n        Set \"initial\" flag of a constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n        newInit : bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_425setInitial = {"setInitial", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_425setInitial, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_424setInitial};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_425setInitial(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  PyObject *__pyx_v_newInit = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setInitial (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_newInit,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7803, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7803, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7803, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setInitial", 0) < (0)) __PYX_ERR(2, 7803, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setInitial", 1, 2, 2, i); __PYX_ERR(2, 7803, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7803, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7803, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_newInit = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setInitial", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 7803, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setInitial", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7803, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_424setInitial(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_newInit);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_424setInitial(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_newInit) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Bool __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setInitial", 0);

  /* "src/pyscipopt/scip.pxi":7813
 * 
 *         """
 *         PY_SCIP_CALL(SCIPsetConsInitial(self._scip, cons.scip_cons, newInit))             # <<<<<<<<<<<<<<
 * 
 *     def setModifiable(self, Constraint cons, newMod):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_newInit); if (unlikely((__pyx_t_4 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7813, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetConsInitial(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7813, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7803
 *         PY_SCIP_CALL(SCIPappendVarSOS2(self._scip, cons.scip_cons, var.scip_var))
 * 
 *     def setInitial(self, Constraint cons, newInit):             # <<<<<<<<<<<<<<
 *         """
 *         Set "initial" flag of a constraint.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setInitial", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7815
 *         PY_SCIP_CALL(SCIPsetConsInitial(self._scip, cons.scip_cons, newInit))
 * 
 *     def setModifiable(self, Constraint cons, newMod):             # <<<<<<<<<<<<<<
 *         """
 *         Set "modifiable" flag of a constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_427setModifiable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_426setModifiable, "\n        Set \"modifiable\" flag of a constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n        newMod : bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_427setModifiable = {"setModifiable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_427setModifiable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_426setModifiable};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_427setModifiable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  PyObject *__pyx_v_newMod = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setModifiable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_newMod,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7815, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7815, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7815, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setModifiable", 0) < (0)) __PYX_ERR(2, 7815, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setModifiable", 1, 2, 2, i); __PYX_ERR(2, 7815, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7815, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7815, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_newMod = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setModifiable", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 7815, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setModifiable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7815, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_426setModifiable(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_newMod);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_426setModifiable(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_newMod) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Bool __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setModifiable", 0);

  /* "src/pyscipopt/scip.pxi":7825
 * 
 *         """
 *         PY_SCIP_CALL(SCIPsetConsModifiable(self._scip, cons.scip_cons, newMod))             # <<<<<<<<<<<<<<
 * 
 *     def setRemovable(self, Constraint cons, newRem):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_newMod); if (unlikely((__pyx_t_4 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7825, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetConsModifiable(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7825, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7815
 *         PY_SCIP_CALL(SCIPsetConsInitial(self._scip, cons.scip_cons, newInit))
 * 
 *     def setModifiable(self, Constraint cons, newMod):             # <<<<<<<<<<<<<<
 *         """
 *         Set "modifiable" flag of a constraint.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setModifiable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7827
 *         PY_SCIP_CALL(SCIPsetConsModifiable(self._scip, cons.scip_cons, newMod))
 * 
 *     def setRemovable(self, Constraint cons, newRem):             # <<<<<<<<<<<<<<
 *         """
 *         Set "removable" flag of a constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_429setRemovable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_428setRemovable, "\n        Set \"removable\" flag of a constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n        newRem : bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_429setRemovable = {"setRemovable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_429setRemovable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_428setRemovable};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_429setRemovable(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  PyObject *__pyx_v_newRem = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setRemovable (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_newRem,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7827, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7827, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7827, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setRemovable", 0) < (0)) __PYX_ERR(2, 7827, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setRemovable", 1, 2, 2, i); __PYX_ERR(2, 7827, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7827, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7827, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_newRem = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setRemovable", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 7827, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setRemovable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7827, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_428setRemovable(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_newRem);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_428setRemovable(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_newRem) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Bool __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setRemovable", 0);

  /* "src/pyscipopt/scip.pxi":7837
 * 
 *         """
 *         PY_SCIP_CALL(SCIPsetConsRemovable(self._scip, cons.scip_cons, newRem))             # <<<<<<<<<<<<<<
 * 
 *     def setEnforced(self, Constraint cons, newEnf):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_newRem); if (unlikely((__pyx_t_4 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7837, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetConsRemovable(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7837, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7837, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7827
 *         PY_SCIP_CALL(SCIPsetConsModifiable(self._scip, cons.scip_cons, newMod))
 * 
 *     def setRemovable(self, Constraint cons, newRem):             # <<<<<<<<<<<<<<
 *         """
 *         Set "removable" flag of a constraint.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setRemovable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7839
 *         PY_SCIP_CALL(SCIPsetConsRemovable(self._scip, cons.scip_cons, newRem))
 * 
 *     def setEnforced(self, Constraint cons, newEnf):             # <<<<<<<<<<<<<<
 *         """
 *         Set "enforced" flag of a constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_431setEnforced(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_430setEnforced, "\n        Set \"enforced\" flag of a constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n        newEnf : bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_431setEnforced = {"setEnforced", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_431setEnforced, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_430setEnforced};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_431setEnforced(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  PyObject *__pyx_v_newEnf = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setEnforced (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_newEnf,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7839, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7839, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7839, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setEnforced", 0) < (0)) __PYX_ERR(2, 7839, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setEnforced", 1, 2, 2, i); __PYX_ERR(2, 7839, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7839, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7839, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_newEnf = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setEnforced", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 7839, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setEnforced", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7839, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_430setEnforced(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_newEnf);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_430setEnforced(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_newEnf) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Bool __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setEnforced", 0);

  /* "src/pyscipopt/scip.pxi":7849
 * 
 *         """
 *         PY_SCIP_CALL(SCIPsetConsEnforced(self._scip, cons.scip_cons, newEnf))             # <<<<<<<<<<<<<<
 * 
 *     def setCheck(self, Constraint cons, newCheck):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_newEnf); if (unlikely((__pyx_t_4 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7849, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetConsEnforced(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7849, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7839
 *         PY_SCIP_CALL(SCIPsetConsRemovable(self._scip, cons.scip_cons, newRem))
 * 
 *     def setEnforced(self, Constraint cons, newEnf):             # <<<<<<<<<<<<<<
 *         """
 *         Set "enforced" flag of a constraint.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setEnforced", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7851
 *         PY_SCIP_CALL(SCIPsetConsEnforced(self._scip, cons.scip_cons, newEnf))
 * 
 *     def setCheck(self, Constraint cons, newCheck):             # <<<<<<<<<<<<<<
 *         """
 *         Set "check" flag of a constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_433setCheck(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_432setCheck, "\n        Set \"check\" flag of a constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n        newCheck : bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_433setCheck = {"setCheck", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_433setCheck, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_432setCheck};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_433setCheck(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  PyObject *__pyx_v_newCheck = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setCheck (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_newCheck,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7851, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7851, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7851, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setCheck", 0) < (0)) __PYX_ERR(2, 7851, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setCheck", 1, 2, 2, i); __PYX_ERR(2, 7851, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7851, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7851, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_newCheck = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setCheck", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 7851, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setCheck", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7851, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_432setCheck(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_newCheck);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_432setCheck(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_newCheck) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Bool __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setCheck", 0);

  /* "src/pyscipopt/scip.pxi":7861
 * 
 *         """
 *         PY_SCIP_CALL(SCIPsetConsChecked(self._scip, cons.scip_cons, newCheck))             # <<<<<<<<<<<<<<
 * 
 *     def chgRhs(self, Constraint cons, rhs):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_newCheck); if (unlikely((__pyx_t_4 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7861, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetConsChecked(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7861, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7861, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":7851
 *         PY_SCIP_CALL(SCIPsetConsEnforced(self._scip, cons.scip_cons, newEnf))
 * 
 *     def setCheck(self, Constraint cons, newCheck):             # <<<<<<<<<<<<<<
 *         """
 *         Set "check" flag of a constraint.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setCheck", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7863
 *         PY_SCIP_CALL(SCIPsetConsChecked(self._scip, cons.scip_cons, newCheck))
 * 
 *     def chgRhs(self, Constraint cons, rhs):             # <<<<<<<<<<<<<<
 *         """
 *         Change right-hand side value of a constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_435chgRhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_434chgRhs, "\n        Change right-hand side value of a constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            constraint to change the right-hand side from\n        rhs : float or None\n            new right-hand side (set to None for +infinity)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_435chgRhs = {"chgRhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_435chgRhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_434chgRhs};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_435chgRhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  PyObject *__pyx_v_rhs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgRhs (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_rhs,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7863, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7863, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7863, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgRhs", 0) < (0)) __PYX_ERR(2, 7863, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgRhs", 1, 2, 2, i); __PYX_ERR(2, 7863, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7863, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7863, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_rhs = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgRhs", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 7863, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgRhs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7863, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_434chgRhs(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_rhs);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_434chgRhs(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_rhs) {
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  SCIP_Real __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgRhs", 0);
  __Pyx_INCREF(__pyx_v_rhs);

  /* "src/pyscipopt/scip.pxi":7876
 *         """
 * 
 *         if rhs is None:             # <<<<<<<<<<<<<<
 *            rhs = SCIPinfinity(self._scip)
 * 
*/
  __pyx_t_1 = (__pyx_v_rhs == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":7877
 * 
 *         if rhs is None:
 *            rhs = SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
*/
    __pyx_t_2 = PyFloat_FromDouble(SCIPinfinity(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7877, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_rhs, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":7876
 *         """
 * 
 *         if rhs is None:             # <<<<<<<<<<<<<<
 *            rhs = SCIPinfinity(self._scip)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7879
 *            rhs = SCIPinfinity(self._scip)
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         if constype == 'linear':
 *             PY_SCIP_CALL(SCIPchgRhsLinear(self._scip, cons.scip_cons, rhs))
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7879, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_4 = __Pyx_decode_bytes(__pyx_t_2, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7879, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":7880
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgRhsLinear(self._scip, cons.scip_cons, rhs))
 *         elif constype == 'nonlinear':
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_linear, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 7880, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":7881
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':
 *             PY_SCIP_CALL(SCIPchgRhsLinear(self._scip, cons.scip_cons, rhs))             # <<<<<<<<<<<<<<
 *         elif constype == 'nonlinear':
 *             PY_SCIP_CALL(SCIPchgRhsNonlinear(self._scip, cons.scip_cons, rhs))
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7881, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_rhs); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7881, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgRhsLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 7881, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7881, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":7880
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgRhsLinear(self._scip, cons.scip_cons, rhs))
 *         elif constype == 'nonlinear':
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":7882
 *         if constype == 'linear':
 *             PY_SCIP_CALL(SCIPchgRhsLinear(self._scip, cons.scip_cons, rhs))
 *         elif constype == 'nonlinear':             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgRhsNonlinear(self._scip, cons.scip_cons, rhs))
 *         else:
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_nonlinear, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 7882, __pyx_L1_error)
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":7883
 *             PY_SCIP_CALL(SCIPchgRhsLinear(self._scip, cons.scip_cons, rhs))
 *         elif constype == 'nonlinear':
 *             PY_SCIP_CALL(SCIPchgRhsNonlinear(self._scip, cons.scip_cons, rhs))             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("method cannot be called for constraints of type " + constype)
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 7883, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_rhs); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7883, __pyx_L1_error)
    __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgRhsNonlinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_t_6)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7883, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7883, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":7882
 *         if constype == 'linear':
 *             PY_SCIP_CALL(SCIPchgRhsLinear(self._scip, cons.scip_cons, rhs))
 *         elif constype == 'nonlinear':             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgRhsNonlinear(self._scip, cons.scip_cons, rhs))
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":7885
 *             PY_SCIP_CALL(SCIPchgRhsNonlinear(self._scip, cons.scip_cons, rhs))
 *         else:
 *             raise Warning("method cannot be called for constraints of type " + constype)             # <<<<<<<<<<<<<<
 * 
 *     def chgCapacityKnapsack(self, Constraint cons, capacity):
*/
  /*else*/ {
    __pyx_t_7 = NULL;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_for_cons, __pyx_v_constype); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7885, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7885, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(2, 7885, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":7863
 *         PY_SCIP_CALL(SCIPsetConsChecked(self._scip, cons.scip_cons, newCheck))
 * 
 *     def chgRhs(self, Constraint cons, rhs):             # <<<<<<<<<<<<<<
 *         """
 *         Change right-hand side value of a constraint.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgRhs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XDECREF(__pyx_v_rhs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7887
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *     def chgCapacityKnapsack(self, Constraint cons, capacity):             # <<<<<<<<<<<<<<
 *         """
 *         Change capacity of a knapsack constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_437chgCapacityKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_436chgCapacityKnapsack, "\n        Change capacity of a knapsack constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            knapsack constraint to change the capacity from\n        capacity : float or None\n            new capacity (set to None for +infinity)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_437chgCapacityKnapsack = {"chgCapacityKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_437chgCapacityKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_436chgCapacityKnapsack};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_437chgCapacityKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  PyObject *__pyx_v_capacity = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgCapacityKnapsack (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_capacity,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7887, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7887, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7887, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgCapacityKnapsack", 0) < (0)) __PYX_ERR(2, 7887, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgCapacityKnapsack", 1, 2, 2, i); __PYX_ERR(2, 7887, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7887, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7887, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_capacity = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgCapacityKnapsack", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 7887, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgCapacityKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7887, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_436chgCapacityKnapsack(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_capacity);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_436chgCapacityKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_capacity) {
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  SCIP_Real __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgCapacityKnapsack", 0);
  __Pyx_INCREF(__pyx_v_capacity);

  /* "src/pyscipopt/scip.pxi":7899
 * 
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         assert constype == 'knapsack', "method cannot be called for constraints of type " + constype
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7899, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7900
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         assert constype == 'knapsack', "method cannot be called for constraints of type " + constype             # <<<<<<<<<<<<<<
 * 
 *         if capacity is None:
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_knapsack, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 7900, __pyx_L1_error)
    if (unlikely(!__pyx_t_5)) {
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_for_cons, __pyx_v_constype); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7900, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_3, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(2, 7900, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 7900, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":7902
 *         assert constype == 'knapsack', "method cannot be called for constraints of type " + constype
 * 
 *         if capacity is None:             # <<<<<<<<<<<<<<
 *            capacity = SCIPinfinity(self._scip)
 * 
*/
  __pyx_t_5 = (__pyx_v_capacity == Py_None);
  if (__pyx_t_5) {

    /* "src/pyscipopt/scip.pxi":7903
 * 
 *         if capacity is None:
 *            capacity = SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPchgCapacityKnapsack(self._scip, cons.scip_cons, capacity))
*/
    __pyx_t_3 = PyFloat_FromDouble(SCIPinfinity(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_DECREF_SET(__pyx_v_capacity, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":7902
 *         assert constype == 'knapsack', "method cannot be called for constraints of type " + constype
 * 
 *         if capacity is None:             # <<<<<<<<<<<<<<
 *            capacity = SCIPinfinity(self._scip)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7905
 *            capacity = SCIPinfinity(self._scip)
 * 
 *         PY_SCIP_CALL(SCIPchgCapacityKnapsack(self._scip, cons.scip_cons, capacity))             # <<<<<<<<<<<<<<
 * 
 *     def chgLhs(self, Constraint cons, lhs):
*/
  __pyx_t_1 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_capacity); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7905, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgCapacityKnapsack(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 7905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_1);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_7};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7905, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7887
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *     def chgCapacityKnapsack(self, Constraint cons, capacity):             # <<<<<<<<<<<<<<
 *         """
 *         Change capacity of a knapsack constraint.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgCapacityKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XDECREF(__pyx_v_capacity);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7907
 *         PY_SCIP_CALL(SCIPchgCapacityKnapsack(self._scip, cons.scip_cons, capacity))
 * 
 *     def chgLhs(self, Constraint cons, lhs):             # <<<<<<<<<<<<<<
 *         """
 *         Change left-hand side value of a constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_439chgLhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_438chgLhs, "\n        Change left-hand side value of a constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            constraint to change the left-hand side from\n        lhs : float or None\n            new left-hand side (set to None for -infinity)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_439chgLhs = {"chgLhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_439chgLhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_438chgLhs};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_439chgLhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  PyObject *__pyx_v_lhs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgLhs (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_lhs,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7907, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7907, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7907, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgLhs", 0) < (0)) __PYX_ERR(2, 7907, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgLhs", 1, 2, 2, i); __PYX_ERR(2, 7907, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7907, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 7907, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_lhs = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgLhs", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 7907, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgLhs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7907, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_438chgLhs(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_lhs);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_438chgLhs(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_lhs) {
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  SCIP_Real __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgLhs", 0);
  __Pyx_INCREF(__pyx_v_lhs);

  /* "src/pyscipopt/scip.pxi":7920
 *         """
 * 
 *         if lhs is None:             # <<<<<<<<<<<<<<
 *            lhs = -SCIPinfinity(self._scip)
 * 
*/
  __pyx_t_1 = (__pyx_v_lhs == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":7921
 * 
 *         if lhs is None:
 *            lhs = -SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
*/
    __pyx_t_2 = PyFloat_FromDouble((-SCIPinfinity(__pyx_v_self->_scip))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7921, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_lhs, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":7920
 *         """
 * 
 *         if lhs is None:             # <<<<<<<<<<<<<<
 *            lhs = -SCIPinfinity(self._scip)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":7923
 *            lhs = -SCIPinfinity(self._scip)
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         if constype == 'linear':
 *             PY_SCIP_CALL(SCIPchgLhsLinear(self._scip, cons.scip_cons, lhs))
*/
  __pyx_t_3 = NULL;
  __pyx_t_4 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7923, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_4 = __Pyx_decode_bytes(__pyx_t_2, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":7924
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgLhsLinear(self._scip, cons.scip_cons, lhs))
 *         elif constype == 'nonlinear':
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_linear, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 7924, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":7925
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':
 *             PY_SCIP_CALL(SCIPchgLhsLinear(self._scip, cons.scip_cons, lhs))             # <<<<<<<<<<<<<<
 *         elif constype == 'nonlinear':
 *             PY_SCIP_CALL(SCIPchgLhsNonlinear(self._scip, cons.scip_cons, lhs))
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7925, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_lhs); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7925, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgLhsLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 7925, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7925, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":7924
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgLhsLinear(self._scip, cons.scip_cons, lhs))
 *         elif constype == 'nonlinear':
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":7926
 *         if constype == 'linear':
 *             PY_SCIP_CALL(SCIPchgLhsLinear(self._scip, cons.scip_cons, lhs))
 *         elif constype == 'nonlinear':             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgLhsNonlinear(self._scip, cons.scip_cons, lhs))
 *         else:
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_nonlinear, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 7926, __pyx_L1_error)
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":7927
 *             PY_SCIP_CALL(SCIPchgLhsLinear(self._scip, cons.scip_cons, lhs))
 *         elif constype == 'nonlinear':
 *             PY_SCIP_CALL(SCIPchgLhsNonlinear(self._scip, cons.scip_cons, lhs))             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("method cannot be called for constraints of type " + constype)
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 7927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_lhs); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 7927, __pyx_L1_error)
    __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgLhsNonlinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_t_6)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7927, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7927, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":7926
 *         if constype == 'linear':
 *             PY_SCIP_CALL(SCIPchgLhsLinear(self._scip, cons.scip_cons, lhs))
 *         elif constype == 'nonlinear':             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgLhsNonlinear(self._scip, cons.scip_cons, lhs))
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":7929
 *             PY_SCIP_CALL(SCIPchgLhsNonlinear(self._scip, cons.scip_cons, lhs))
 *         else:
 *             raise Warning("method cannot be called for constraints of type " + constype)             # <<<<<<<<<<<<<<
 * 
 *     def getRhs(self, Constraint cons):
*/
  /*else*/ {
    __pyx_t_7 = NULL;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_for_cons, __pyx_v_constype); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7929, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 7929, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(2, 7929, __pyx_L1_error)
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":7907
 *         PY_SCIP_CALL(SCIPchgCapacityKnapsack(self._scip, cons.scip_cons, capacity))
 * 
 *     def chgLhs(self, Constraint cons, lhs):             # <<<<<<<<<<<<<<
 *         """
 *         Change left-hand side value of a constraint.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgLhs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XDECREF(__pyx_v_lhs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7931
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *     def getRhs(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve right-hand side value of a constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_441getRhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_440getRhs, "\n        Retrieve right-hand side value of a constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            constraint to get the right-hand side from\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_441getRhs = {"getRhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_441getRhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_440getRhs};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_441getRhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRhs (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7931, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7931, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getRhs", 0) < (0)) __PYX_ERR(2, 7931, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getRhs", 1, 1, 1, i); __PYX_ERR(2, 7931, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7931, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getRhs", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 7931, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRhs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7931, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_440getRhs(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_440getRhs(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  SCIP_Bool __pyx_v_success;
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_v_rhs = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getRhs", 0);

  /* "src/pyscipopt/scip.pxi":7946
 *         """
 *         cdef SCIP_Bool success
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 * 
 *         if cons.isLinearType():
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7948
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 * 
 *         if cons.isLinearType():             # <<<<<<<<<<<<<<
 *             rhs = SCIPconsGetRhs(self._scip, cons.scip_cons, &success)
 *             assert(success)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_cons);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isLinearType, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 7948, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_5) {

    /* "src/pyscipopt/scip.pxi":7949
 * 
 *         if cons.isLinearType():
 *             rhs = SCIPconsGetRhs(self._scip, cons.scip_cons, &success)             # <<<<<<<<<<<<<<
 *             assert(success)
 *             return rhs
*/
    __pyx_t_3 = PyFloat_FromDouble(SCIPconsGetRhs(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, (&__pyx_v_success))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7949, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_rhs = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":7950
 *         if cons.isLinearType():
 *             rhs = SCIPconsGetRhs(self._scip, cons.scip_cons, &success)
 *             assert(success)             # <<<<<<<<<<<<<<
 *             return rhs
 *         elif constype == 'nonlinear':
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_5 = (__pyx_v_success != 0);
      if (unlikely(!__pyx_t_5)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7950, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7950, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7951
 *             rhs = SCIPconsGetRhs(self._scip, cons.scip_cons, &success)
 *             assert(success)
 *             return rhs             # <<<<<<<<<<<<<<
 *         elif constype == 'nonlinear':
 *             return SCIPgetRhsNonlinear(cons.scip_cons)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_rhs);
    __pyx_r = __pyx_v_rhs;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":7948
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 * 
 *         if cons.isLinearType():             # <<<<<<<<<<<<<<
 *             rhs = SCIPconsGetRhs(self._scip, cons.scip_cons, &success)
 *             assert(success)
*/
  }

  /* "src/pyscipopt/scip.pxi":7952
 *             assert(success)
 *             return rhs
 *         elif constype == 'nonlinear':             # <<<<<<<<<<<<<<
 *             return SCIPgetRhsNonlinear(cons.scip_cons)
 *         else:
*/
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_nonlinear, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 7952, __pyx_L1_error)
  if (likely(__pyx_t_5)) {

    /* "src/pyscipopt/scip.pxi":7953
 *             return rhs
 *         elif constype == 'nonlinear':
 *             return SCIPgetRhsNonlinear(cons.scip_cons)             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("method cannot be called for constraints of type " + constype)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = PyFloat_FromDouble(SCIPgetRhsNonlinear(__pyx_v_cons->scip_cons)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7953, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":7952
 *             assert(success)
 *             return rhs
 *         elif constype == 'nonlinear':             # <<<<<<<<<<<<<<
 *             return SCIPgetRhsNonlinear(cons.scip_cons)
 *         else:
*/
  }

  /* "src/pyscipopt/scip.pxi":7955
 *             return SCIPgetRhsNonlinear(cons.scip_cons)
 *         else:
 *             raise Warning("method cannot be called for constraints of type " + constype)             # <<<<<<<<<<<<<<
 * 
 *     def getCapacityKnapsack(self, Constraint cons):
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_for_cons, __pyx_v_constype); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7955, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7955, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 7955, __pyx_L1_error)
  }

  /* "src/pyscipopt/scip.pxi":7931
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *     def getRhs(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve right-hand side value of a constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRhs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XDECREF(__pyx_v_rhs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7957
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *     def getCapacityKnapsack(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve capacity of a knapsack constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_443getCapacityKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_442getCapacityKnapsack, "\n        Retrieve capacity of a knapsack constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            knapsack constraint to get the capacity from\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_443getCapacityKnapsack = {"getCapacityKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_443getCapacityKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_442getCapacityKnapsack};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_443getCapacityKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getCapacityKnapsack (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7957, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7957, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getCapacityKnapsack", 0) < (0)) __PYX_ERR(2, 7957, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getCapacityKnapsack", 1, 1, 1, i); __PYX_ERR(2, 7957, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7957, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getCapacityKnapsack", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 7957, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getCapacityKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7957, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_442getCapacityKnapsack(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_442getCapacityKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getCapacityKnapsack", 0);

  /* "src/pyscipopt/scip.pxi":7971
 * 
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         assert constype == 'knapsack', "method cannot be called for constraints of type " + constype
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7971, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7972
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         assert constype == 'knapsack', "method cannot be called for constraints of type " + constype             # <<<<<<<<<<<<<<
 * 
 *         return SCIPgetCapacityKnapsack(self._scip, cons.scip_cons)
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_knapsack, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 7972, __pyx_L1_error)
    if (unlikely(!__pyx_t_5)) {
      __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_for_cons, __pyx_v_constype); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7972, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_3, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(2, 7972, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 7972, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":7974
 *         assert constype == 'knapsack', "method cannot be called for constraints of type " + constype
 * 
 *         return SCIPgetCapacityKnapsack(self._scip, cons.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def getLhs(self, Constraint cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __Pyx_PyLong_From_SCIP_Longint(SCIPgetCapacityKnapsack(__pyx_v_self->_scip, __pyx_v_cons->scip_cons)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7974, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":7957
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *     def getCapacityKnapsack(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve capacity of a knapsack constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getCapacityKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":7976
 *         return SCIPgetCapacityKnapsack(self._scip, cons.scip_cons)
 * 
 *     def getLhs(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve left-hand side value of a constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_445getLhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_444getLhs, "\n        Retrieve left-hand side value of a constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            linear or nonlinear constraint\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_445getLhs = {"getLhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_445getLhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_444getLhs};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_445getLhs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLhs (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 7976, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7976, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getLhs", 0) < (0)) __PYX_ERR(2, 7976, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getLhs", 1, 1, 1, i); __PYX_ERR(2, 7976, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 7976, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getLhs", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 7976, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLhs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 7976, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_444getLhs(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_444getLhs(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  SCIP_Bool __pyx_v_success;
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_v_lhs = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLhs", 0);

  /* "src/pyscipopt/scip.pxi":7991
 *         """
 *         cdef SCIP_Bool success
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 * 
 *         if cons.isLinearType():
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7991, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7991, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":7993
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 * 
 *         if cons.isLinearType():             # <<<<<<<<<<<<<<
 *             lhs = SCIPconsGetLhs(self._scip, cons.scip_cons, &success)
 *             assert(success)
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_cons);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isLinearType, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7993, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 7993, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_5) {

    /* "src/pyscipopt/scip.pxi":7994
 * 
 *         if cons.isLinearType():
 *             lhs = SCIPconsGetLhs(self._scip, cons.scip_cons, &success)             # <<<<<<<<<<<<<<
 *             assert(success)
 *             return lhs
*/
    __pyx_t_3 = PyFloat_FromDouble(SCIPconsGetLhs(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, (&__pyx_v_success))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7994, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_v_lhs = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":7995
 *         if cons.isLinearType():
 *             lhs = SCIPconsGetLhs(self._scip, cons.scip_cons, &success)
 *             assert(success)             # <<<<<<<<<<<<<<
 *             return lhs
 *         elif constype == 'nonlinear':
*/
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_5 = (__pyx_v_success != 0);
      if (unlikely(!__pyx_t_5)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 7995, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 7995, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":7996
 *             lhs = SCIPconsGetLhs(self._scip, cons.scip_cons, &success)
 *             assert(success)
 *             return lhs             # <<<<<<<<<<<<<<
 *         elif constype == 'nonlinear':
 *             return SCIPgetLhsNonlinear(cons.scip_cons)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_lhs);
    __pyx_r = __pyx_v_lhs;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":7993
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 * 
 *         if cons.isLinearType():             # <<<<<<<<<<<<<<
 *             lhs = SCIPconsGetLhs(self._scip, cons.scip_cons, &success)
 *             assert(success)
*/
  }

  /* "src/pyscipopt/scip.pxi":7997
 *             assert(success)
 *             return lhs
 *         elif constype == 'nonlinear':             # <<<<<<<<<<<<<<
 *             return SCIPgetLhsNonlinear(cons.scip_cons)
 *         else:
*/
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_nonlinear, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 7997, __pyx_L1_error)
  if (likely(__pyx_t_5)) {

    /* "src/pyscipopt/scip.pxi":7998
 *             return lhs
 *         elif constype == 'nonlinear':
 *             return SCIPgetLhsNonlinear(cons.scip_cons)             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("method cannot be called for constraints of type " + constype)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_3 = PyFloat_FromDouble(SCIPgetLhsNonlinear(__pyx_v_cons->scip_cons)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 7998, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_r = __pyx_t_3;
    __pyx_t_3 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":7997
 *             assert(success)
 *             return lhs
 *         elif constype == 'nonlinear':             # <<<<<<<<<<<<<<
 *             return SCIPgetLhsNonlinear(cons.scip_cons)
 *         else:
*/
  }

  /* "src/pyscipopt/scip.pxi":8000
 *             return SCIPgetLhsNonlinear(cons.scip_cons)
 *         else:
 *             raise Warning("method cannot be called for constraints of type " + constype)             # <<<<<<<<<<<<<<
 * 
 *     def chgCoefLinear(self, Constraint cons, Variable var, value):
*/
  /*else*/ {
    __pyx_t_1 = NULL;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_for_cons, __pyx_v_constype); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8000, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 8000, __pyx_L1_error)
  }

  /* "src/pyscipopt/scip.pxi":7976
 *         return SCIPgetCapacityKnapsack(self._scip, cons.scip_cons)
 * 
 *     def getLhs(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve left-hand side value of a constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLhs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XDECREF(__pyx_v_lhs);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8002
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *     def chgCoefLinear(self, Constraint cons, Variable var, value):             # <<<<<<<<<<<<<<
 *         """
 *         Changes coefficient of variable in linear constraint;
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_447chgCoefLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_446chgCoefLinear, "\n        Changes coefficient of variable in linear constraint;\n        deletes the variable if coefficient is zero; adds variable if not yet contained in the constraint\n        This method may only be called during problem creation stage for an original constraint and variable.\n        This method requires linear time to search for occurences of the variable in the constraint data.\n\n        Parameters\n        ----------\n        cons : Constraint\n            linear constraint\n        var : Variable\n            variable of constraint entry\n        value : float\n            new coefficient of constraint entry\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_447chgCoefLinear = {"chgCoefLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_447chgCoefLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_446chgCoefLinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_447chgCoefLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgCoefLinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8002, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8002, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8002, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8002, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgCoefLinear", 0) < (0)) __PYX_ERR(2, 8002, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgCoefLinear", 1, 3, 3, i); __PYX_ERR(2, 8002, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8002, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8002, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8002, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
    __pyx_v_value = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgCoefLinear", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 8002, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgCoefLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8002, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 8002, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_446chgCoefLinear(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_var, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_446chgCoefLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgCoefLinear", 0);

  /* "src/pyscipopt/scip.pxi":8019
 * 
 *         """
 *         PY_SCIP_CALL( SCIPchgCoefLinear(self._scip, cons.scip_cons, var.scip_var, value) )             # <<<<<<<<<<<<<<
 * 
 *     def delCoefLinear(self, Constraint cons, Variable var):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 8019, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgCoefLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_v_var->scip_var, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8019, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8019, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8002
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *     def chgCoefLinear(self, Constraint cons, Variable var, value):             # <<<<<<<<<<<<<<
 *         """
 *         Changes coefficient of variable in linear constraint;
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgCoefLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8021
 *         PY_SCIP_CALL( SCIPchgCoefLinear(self._scip, cons.scip_cons, var.scip_var, value) )
 * 
 *     def delCoefLinear(self, Constraint cons, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Deletes variable from linear constraint
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_449delCoefLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_448delCoefLinear, "\n        Deletes variable from linear constraint\n        This method may only be called during problem creation stage for an original constraint and variable.\n        This method requires linear time to search for occurrences of the variable in the constraint data.\n\n        Parameters\n        ----------\n        cons : Constraint\n            linear constraint\n        var : Variable\n            variable of constraint entry\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_449delCoefLinear = {"delCoefLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_449delCoefLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_448delCoefLinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_449delCoefLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("delCoefLinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8021, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8021, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8021, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "delCoefLinear", 0) < (0)) __PYX_ERR(2, 8021, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("delCoefLinear", 1, 2, 2, i); __PYX_ERR(2, 8021, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8021, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8021, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("delCoefLinear", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 8021, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.delCoefLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8021, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 8021, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_448delCoefLinear(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_448delCoefLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("delCoefLinear", 0);

  /* "src/pyscipopt/scip.pxi":8036
 *         """
 * 
 *         PY_SCIP_CALL( SCIPdelCoefLinear(self._scip, cons.scip_cons, var.scip_var) )             # <<<<<<<<<<<<<<
 * 
 *     def addCoefLinear(self, Constraint cons, Variable var, value):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPdelCoefLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_v_var->scip_var)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8036, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8036, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8021
 *         PY_SCIP_CALL( SCIPchgCoefLinear(self._scip, cons.scip_cons, var.scip_var, value) )
 * 
 *     def delCoefLinear(self, Constraint cons, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Deletes variable from linear constraint
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.delCoefLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8038
 *         PY_SCIP_CALL( SCIPdelCoefLinear(self._scip, cons.scip_cons, var.scip_var) )
 * 
 *     def addCoefLinear(self, Constraint cons, Variable var, value):             # <<<<<<<<<<<<<<
 *         """
 *         Adds coefficient to linear constraint (if it is not zero)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_451addCoefLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_450addCoefLinear, "\n        Adds coefficient to linear constraint (if it is not zero)\n\n        Parameters\n        ----------\n        cons : Constraint\n            linear constraint\n        var : Variable\n            variable of constraint entry\n        value : float\n            coefficient of constraint entry\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_451addCoefLinear = {"addCoefLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_451addCoefLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_450addCoefLinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_451addCoefLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addCoefLinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8038, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8038, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8038, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8038, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addCoefLinear", 0) < (0)) __PYX_ERR(2, 8038, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addCoefLinear", 1, 3, 3, i); __PYX_ERR(2, 8038, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8038, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8038, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8038, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
    __pyx_v_value = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addCoefLinear", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 8038, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addCoefLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8038, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 8038, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_450addCoefLinear(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_var, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_450addCoefLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_value) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addCoefLinear", 0);

  /* "src/pyscipopt/scip.pxi":8053
 *         """
 * 
 *         PY_SCIP_CALL( SCIPaddCoefLinear(self._scip, cons.scip_cons, var.scip_var, value) )             # <<<<<<<<<<<<<<
 * 
 *     def addCoefKnapsack(self, Constraint cons, Variable var, weight):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 8053, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCoefLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_v_var->scip_var, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8053, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8038
 *         PY_SCIP_CALL( SCIPdelCoefLinear(self._scip, cons.scip_cons, var.scip_var) )
 * 
 *     def addCoefLinear(self, Constraint cons, Variable var, value):             # <<<<<<<<<<<<<<
 *         """
 *         Adds coefficient to linear constraint (if it is not zero)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addCoefLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8055
 *         PY_SCIP_CALL( SCIPaddCoefLinear(self._scip, cons.scip_cons, var.scip_var, value) )
 * 
 *     def addCoefKnapsack(self, Constraint cons, Variable var, weight):             # <<<<<<<<<<<<<<
 *         """
 *         Adds coefficient to knapsack constraint (if it is not zero)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_453addCoefKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_452addCoefKnapsack, "\n        Adds coefficient to knapsack constraint (if it is not zero)\n\n        Parameters\n        ----------\n        cons : Constraint\n            knapsack constraint\n        var : Variable\n            variable of constraint entry\n        weight : float\n            coefficient of constraint entry\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_453addCoefKnapsack = {"addCoefKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_453addCoefKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_452addCoefKnapsack};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_453addCoefKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_weight = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addCoefKnapsack (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_weight,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8055, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8055, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8055, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8055, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addCoefKnapsack", 0) < (0)) __PYX_ERR(2, 8055, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addCoefKnapsack", 1, 3, 3, i); __PYX_ERR(2, 8055, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8055, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8055, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8055, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
    __pyx_v_weight = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addCoefKnapsack", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 8055, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addCoefKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8055, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 8055, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_452addCoefKnapsack(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_var, __pyx_v_weight);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_452addCoefKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_weight) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Longint __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addCoefKnapsack", 0);

  /* "src/pyscipopt/scip.pxi":8070
 *         """
 * 
 *         PY_SCIP_CALL( SCIPaddCoefKnapsack(self._scip, cons.scip_cons, var.scip_var, weight) )             # <<<<<<<<<<<<<<
 * 
 *     def getActivity(self, Constraint cons, Solution sol = None):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_SCIP_Longint(__pyx_v_weight); if (unlikely((__pyx_t_4 == ((SCIP_Longint)-1)) && PyErr_Occurred())) __PYX_ERR(2, 8070, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddCoefKnapsack(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_v_var->scip_var, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8070, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8070, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8055
 *         PY_SCIP_CALL( SCIPaddCoefLinear(self._scip, cons.scip_cons, var.scip_var, value) )
 * 
 *     def addCoefKnapsack(self, Constraint cons, Variable var, weight):             # <<<<<<<<<<<<<<
 *         """
 *         Adds coefficient to knapsack constraint (if it is not zero)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addCoefKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8072
 *         PY_SCIP_CALL( SCIPaddCoefKnapsack(self._scip, cons.scip_cons, var.scip_var, weight) )
 * 
 *     def getActivity(self, Constraint cons, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve activity of given constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_455getActivity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_454getActivity, "\n        Retrieve activity of given constraint.\n        Can only be called after solving is completed.\n\n        Parameters\n        ----------\n        cons : Constraint\n            linear constraint\n        sol : Solution or None, optional\n            solution to compute activity of, None to use current node's solution (Default value = None)\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_455getActivity = {"getActivity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_455getActivity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_454getActivity};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_455getActivity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getActivity (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8072, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8072, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8072, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getActivity", 0) < (0)) __PYX_ERR(2, 8072, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getActivity", 0, 1, 2, i); __PYX_ERR(2, 8072, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8072, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8072, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getActivity", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 8072, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getActivity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8072, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(2, 8072, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_454getActivity(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_454getActivity(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  SCIP_Real __pyx_v_activity;
  SCIP_SOL *__pyx_v_scip_sol;
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  SCIP_SOL *__pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getActivity", 0);

  /* "src/pyscipopt/scip.pxi":8092
 *         cdef SCIP_SOL* scip_sol
 * 
 *         if not self.getStage() >= SCIP_STAGE_SOLVING:             # <<<<<<<<<<<<<<
 *             raise Warning("method cannot be called before problem is solved")
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_SOLVING); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8092, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 8092, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = (!__pyx_t_5);
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":8093
 * 
 *         if not self.getStage() >= SCIP_STAGE_SOLVING:
 *             raise Warning("method cannot be called before problem is solved")             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(sol, Solution):
*/
    __pyx_t_2 = NULL;
    __pyx_t_3 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_before_p};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8093, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(2, 8093, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":8092
 *         cdef SCIP_SOL* scip_sol
 * 
 *         if not self.getStage() >= SCIP_STAGE_SOLVING:             # <<<<<<<<<<<<<<
 *             raise Warning("method cannot be called before problem is solved")
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":8095
 *             raise Warning("method cannot be called before problem is solved")
 * 
 *         if isinstance(sol, Solution):             # <<<<<<<<<<<<<<
 *             scip_sol = sol.sol
 *         else:
*/
  __pyx_t_6 = __Pyx_TypeCheck(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution); 
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":8096
 * 
 *         if isinstance(sol, Solution):
 *             scip_sol = sol.sol             # <<<<<<<<<<<<<<
 *         else:
 *             scip_sol = NULL
*/
    __pyx_t_7 = __pyx_v_sol->sol;
    __pyx_v_scip_sol = __pyx_t_7;

    /* "src/pyscipopt/scip.pxi":8095
 *             raise Warning("method cannot be called before problem is solved")
 * 
 *         if isinstance(sol, Solution):             # <<<<<<<<<<<<<<
 *             scip_sol = sol.sol
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":8098
 *             scip_sol = sol.sol
 *         else:
 *             scip_sol = NULL             # <<<<<<<<<<<<<<
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
*/
  /*else*/ {
    __pyx_v_scip_sol = NULL;
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":8100
 *             scip_sol = NULL
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         if constype == 'linear':
 *             activity = SCIPgetActivityLinear(self._scip, cons.scip_cons, scip_sol)
*/
  __pyx_t_2 = NULL;
  __pyx_t_1 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_1};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8100, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_1 = __Pyx_decode_bytes(__pyx_t_4, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8101
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':             # <<<<<<<<<<<<<<
 *             activity = SCIPgetActivityLinear(self._scip, cons.scip_cons, scip_sol)
 *         else:
*/
  __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_linear, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 8101, __pyx_L1_error)
  if (likely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":8102
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':
 *             activity = SCIPgetActivityLinear(self._scip, cons.scip_cons, scip_sol)             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("method cannot be called for constraints of type " + constype)
*/
    __pyx_v_activity = SCIPgetActivityLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_v_scip_sol);

    /* "src/pyscipopt/scip.pxi":8101
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':             # <<<<<<<<<<<<<<
 *             activity = SCIPgetActivityLinear(self._scip, cons.scip_cons, scip_sol)
 *         else:
*/
    goto __pyx_L5;
  }

  /* "src/pyscipopt/scip.pxi":8104
 *             activity = SCIPgetActivityLinear(self._scip, cons.scip_cons, scip_sol)
 *         else:
 *             raise Warning("method cannot be called for constraints of type " + constype)             # <<<<<<<<<<<<<<
 * 
 *         return activity
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_for_cons, __pyx_v_constype); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8104, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 8104, __pyx_L1_error)
  }
  __pyx_L5:;

  /* "src/pyscipopt/scip.pxi":8106
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *         return activity             # <<<<<<<<<<<<<<
 * 
 *     def getSlack(self, Constraint cons, Solution sol = None, side = None):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_activity); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8072
 *         PY_SCIP_CALL( SCIPaddCoefKnapsack(self._scip, cons.scip_cons, var.scip_var, weight) )
 * 
 *     def getActivity(self, Constraint cons, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve activity of given constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getActivity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8108
 *         return activity
 * 
 *     def getSlack(self, Constraint cons, Solution sol = None, side = None):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve slack of given constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_457getSlack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_456getSlack, "\n        Retrieve slack of given constraint.\n        Can only be called after solving is completed.\n\n        Parameters\n        ----------\n        cons : Constraint\n            linear constraint\n        sol : Solution or None, optional\n            solution to compute slack of, None to use current node's solution (Default value = None)\n        side : str or None, optional\n            whether to use 'lhs' or 'rhs' for ranged constraints, None to return minimum (Default value = None)\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_457getSlack = {"getSlack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_457getSlack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_456getSlack};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_457getSlack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  PyObject *__pyx_v_side = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSlack (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_sol,&__pyx_mstate_global->__pyx_n_u_side,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8108, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8108, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8108, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8108, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getSlack", 0) < (0)) __PYX_ERR(2, 8108, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getSlack", 0, 1, 3, i); __PYX_ERR(2, 8108, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8108, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8108, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8108, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[1]);
    __pyx_v_side = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getSlack", 0, 1, 3, __pyx_nargs); __PYX_ERR(2, 8108, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getSlack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8108, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(2, 8108, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_456getSlack(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_sol, __pyx_v_side);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_456getSlack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, PyObject *__pyx_v_side) {
  SCIP_Real __pyx_v_activity;
  SCIP_SOL *__pyx_v_scip_sol;
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_v_lhs = NULL;
  PyObject *__pyx_v_rhs = NULL;
  PyObject *__pyx_v_lhsslack = NULL;
  PyObject *__pyx_v_rhsslack = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  SCIP_SOL *__pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getSlack", 0);

  /* "src/pyscipopt/scip.pxi":8131
 * 
 * 
 *         if not self.getStage() >= SCIP_STAGE_SOLVING:             # <<<<<<<<<<<<<<
 *             raise Warning("method cannot be called before problem is solved")
 * 
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8131, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_SOLVING); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 8131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = (!__pyx_t_5);
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":8132
 * 
 *         if not self.getStage() >= SCIP_STAGE_SOLVING:
 *             raise Warning("method cannot be called before problem is solved")             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(sol, Solution):
*/
    __pyx_t_2 = NULL;
    __pyx_t_3 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_before_p};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8132, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(2, 8132, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":8131
 * 
 * 
 *         if not self.getStage() >= SCIP_STAGE_SOLVING:             # <<<<<<<<<<<<<<
 *             raise Warning("method cannot be called before problem is solved")
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":8134
 *             raise Warning("method cannot be called before problem is solved")
 * 
 *         if isinstance(sol, Solution):             # <<<<<<<<<<<<<<
 *             scip_sol = sol.sol
 *         else:
*/
  __pyx_t_6 = __Pyx_TypeCheck(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution); 
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":8135
 * 
 *         if isinstance(sol, Solution):
 *             scip_sol = sol.sol             # <<<<<<<<<<<<<<
 *         else:
 *             scip_sol = NULL
*/
    __pyx_t_7 = __pyx_v_sol->sol;
    __pyx_v_scip_sol = __pyx_t_7;

    /* "src/pyscipopt/scip.pxi":8134
 *             raise Warning("method cannot be called before problem is solved")
 * 
 *         if isinstance(sol, Solution):             # <<<<<<<<<<<<<<
 *             scip_sol = sol.sol
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":8137
 *             scip_sol = sol.sol
 *         else:
 *             scip_sol = NULL             # <<<<<<<<<<<<<<
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
*/
  /*else*/ {
    __pyx_v_scip_sol = NULL;
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":8139
 *             scip_sol = NULL
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         if constype == 'linear':
 *             lhs = SCIPgetLhsLinear(self._scip, cons.scip_cons)
*/
  __pyx_t_2 = NULL;
  __pyx_t_1 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_1};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8139, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_1 = __Pyx_decode_bytes(__pyx_t_4, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8140
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':             # <<<<<<<<<<<<<<
 *             lhs = SCIPgetLhsLinear(self._scip, cons.scip_cons)
 *             rhs = SCIPgetRhsLinear(self._scip, cons.scip_cons)
*/
  __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_linear, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 8140, __pyx_L1_error)
  if (likely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":8141
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':
 *             lhs = SCIPgetLhsLinear(self._scip, cons.scip_cons)             # <<<<<<<<<<<<<<
 *             rhs = SCIPgetRhsLinear(self._scip, cons.scip_cons)
 *             activity = SCIPgetActivityLinear(self._scip, cons.scip_cons, scip_sol)
*/
    __pyx_t_1 = PyFloat_FromDouble(SCIPgetLhsLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8141, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_lhs = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":8142
 *         if constype == 'linear':
 *             lhs = SCIPgetLhsLinear(self._scip, cons.scip_cons)
 *             rhs = SCIPgetRhsLinear(self._scip, cons.scip_cons)             # <<<<<<<<<<<<<<
 *             activity = SCIPgetActivityLinear(self._scip, cons.scip_cons, scip_sol)
 *         else:
*/
    __pyx_t_1 = PyFloat_FromDouble(SCIPgetRhsLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8142, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_rhs = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":8143
 *             lhs = SCIPgetLhsLinear(self._scip, cons.scip_cons)
 *             rhs = SCIPgetRhsLinear(self._scip, cons.scip_cons)
 *             activity = SCIPgetActivityLinear(self._scip, cons.scip_cons, scip_sol)             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("method cannot be called for constraints of type " + constype)
*/
    __pyx_v_activity = SCIPgetActivityLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, __pyx_v_scip_sol);

    /* "src/pyscipopt/scip.pxi":8140
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if constype == 'linear':             # <<<<<<<<<<<<<<
 *             lhs = SCIPgetLhsLinear(self._scip, cons.scip_cons)
 *             rhs = SCIPgetRhsLinear(self._scip, cons.scip_cons)
*/
    goto __pyx_L5;
  }

  /* "src/pyscipopt/scip.pxi":8145
 *             activity = SCIPgetActivityLinear(self._scip, cons.scip_cons, scip_sol)
 *         else:
 *             raise Warning("method cannot be called for constraints of type " + constype)             # <<<<<<<<<<<<<<
 * 
 *         lhsslack = activity - lhs
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_for_cons, __pyx_v_constype); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8145, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 8145, __pyx_L1_error)
  }
  __pyx_L5:;

  /* "src/pyscipopt/scip.pxi":8147
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *         lhsslack = activity - lhs             # <<<<<<<<<<<<<<
 *         rhsslack = rhs - activity
 * 
*/
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_activity); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_v_lhs); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_lhsslack = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":8148
 * 
 *         lhsslack = activity - lhs
 *         rhsslack = rhs - activity             # <<<<<<<<<<<<<<
 * 
 *         if side == 'lhs':
*/
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_activity); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_1 = PyNumber_Subtract(__pyx_v_rhs, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_rhsslack = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8150
 *         rhsslack = rhs - activity
 * 
 *         if side == 'lhs':             # <<<<<<<<<<<<<<
 *             return lhsslack
 *         elif side == 'rhs':
*/
  __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_v_side, __pyx_mstate_global->__pyx_n_u_lhs, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 8150, __pyx_L1_error)
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":8151
 * 
 *         if side == 'lhs':
 *             return lhsslack             # <<<<<<<<<<<<<<
 *         elif side == 'rhs':
 *             return rhsslack
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_lhsslack);
    __pyx_r = __pyx_v_lhsslack;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":8150
 *         rhsslack = rhs - activity
 * 
 *         if side == 'lhs':             # <<<<<<<<<<<<<<
 *             return lhsslack
 *         elif side == 'rhs':
*/
  }

  /* "src/pyscipopt/scip.pxi":8152
 *         if side == 'lhs':
 *             return lhsslack
 *         elif side == 'rhs':             # <<<<<<<<<<<<<<
 *             return rhsslack
 *         else:
*/
  __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_v_side, __pyx_mstate_global->__pyx_n_u_rhs, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 8152, __pyx_L1_error)
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":8153
 *             return lhsslack
 *         elif side == 'rhs':
 *             return rhsslack             # <<<<<<<<<<<<<<
 *         else:
 *             return min(lhsslack, rhsslack)
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_rhsslack);
    __pyx_r = __pyx_v_rhsslack;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":8152
 *         if side == 'lhs':
 *             return lhsslack
 *         elif side == 'rhs':             # <<<<<<<<<<<<<<
 *             return rhsslack
 *         else:
*/
  }

  /* "src/pyscipopt/scip.pxi":8155
 *             return rhsslack
 *         else:
 *             return min(lhsslack, rhsslack)             # <<<<<<<<<<<<<<
 * 
 *     def getTransformedCons(self, Constraint cons):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_v_rhsslack);
    __pyx_t_1 = __pyx_v_rhsslack;
    __Pyx_INCREF(__pyx_v_lhsslack);
    __pyx_t_2 = __pyx_v_lhsslack;
    __pyx_t_8 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 8155, __pyx_L1_error)
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 8155, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (__pyx_t_6) {
      __Pyx_INCREF(__pyx_t_1);
      __pyx_t_4 = __pyx_t_1;
    } else {
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_4 = __pyx_t_2;
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_INCREF(__pyx_t_4);
    __pyx_r = __pyx_t_4;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/scip.pxi":8108
 *         return activity
 * 
 *     def getSlack(self, Constraint cons, Solution sol = None, side = None):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve slack of given constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getSlack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XDECREF(__pyx_v_lhs);
  __Pyx_XDECREF(__pyx_v_rhs);
  __Pyx_XDECREF(__pyx_v_lhsslack);
  __Pyx_XDECREF(__pyx_v_rhsslack);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8157
 *             return min(lhsslack, rhsslack)
 * 
 *     def getTransformedCons(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve transformed constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_459getTransformedCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_458getTransformedCons, "\n        Retrieve transformed constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n\n        Returns\n        -------\n        Constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_459getTransformedCons = {"getTransformedCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_459getTransformedCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_458getTransformedCons};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_459getTransformedCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getTransformedCons (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8157, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8157, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getTransformedCons", 0) < (0)) __PYX_ERR(2, 8157, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getTransformedCons", 1, 1, 1, i); __PYX_ERR(2, 8157, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8157, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getTransformedCons", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8157, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getTransformedCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8157, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_458getTransformedCons(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_458getTransformedCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  SCIP_CONS *__pyx_v_transcons;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getTransformedCons", 0);

  /* "src/pyscipopt/scip.pxi":8171
 *         """
 *         cdef SCIP_CONS* transcons
 *         PY_SCIP_CALL(SCIPgetTransformedCons(self._scip, cons.scip_cons, &transcons))             # <<<<<<<<<<<<<<
 *         return self._getOrCreateCons(transcons)
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetTransformedCons(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, (&__pyx_v_transcons))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8171, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8172
 *         cdef SCIP_CONS* transcons
 *         PY_SCIP_CALL(SCIPgetTransformedCons(self._scip, cons.scip_cons, &transcons))
 *         return self._getOrCreateCons(transcons)             # <<<<<<<<<<<<<<
 * 
 *     def isNLPConstructed(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateCons(__pyx_v_self, __pyx_v_transcons); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8157
 *             return min(lhsslack, rhsslack)
 * 
 *     def getTransformedCons(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve transformed constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getTransformedCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8174
 *         return self._getOrCreateCons(transcons)
 * 
 *     def isNLPConstructed(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether SCIP's internal NLP has been constructed.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_461isNLPConstructed(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_460isNLPConstructed, "\n        Returns whether SCIP's internal NLP has been constructed.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_461isNLPConstructed = {"isNLPConstructed", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_461isNLPConstructed, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_460isNLPConstructed};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_461isNLPConstructed(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isNLPConstructed (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isNLPConstructed", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isNLPConstructed", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_460isNLPConstructed(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_460isNLPConstructed(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isNLPConstructed", 0);

  /* "src/pyscipopt/scip.pxi":8183
 * 
 *         """
 *         return SCIPisNLPConstructed(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNNlRows(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPisNLPConstructed(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8174
 *         return self._getOrCreateCons(transcons)
 * 
 *     def isNLPConstructed(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether SCIP's internal NLP has been constructed.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isNLPConstructed", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8185
 *         return SCIPisNLPConstructed(self._scip)
 * 
 *     def getNNlRows(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets current number of nonlinear rows in SCIP's internal NLP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_463getNNlRows(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_462getNNlRows, "\n        Gets current number of nonlinear rows in SCIP's internal NLP.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_463getNNlRows = {"getNNlRows", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_463getNNlRows, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_462getNNlRows};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_463getNNlRows(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNNlRows (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNNlRows", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNNlRows", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_462getNNlRows(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_462getNNlRows(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNNlRows", 0);

  /* "src/pyscipopt/scip.pxi":8194
 * 
 *         """
 *         return SCIPgetNNLPNlRows(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNlRows(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNNLPNlRows(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8185
 *         return SCIPisNLPConstructed(self._scip)
 * 
 *     def getNNlRows(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets current number of nonlinear rows in SCIP's internal NLP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNNlRows", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8196
 *         return SCIPgetNNLPNlRows(self._scip)
 * 
 *     def getNlRows(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns a list with the nonlinear rows in SCIP's internal NLP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_465getNlRows(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_464getNlRows, "\n        Returns a list with the nonlinear rows in SCIP's internal NLP.\n\n        Returns\n        -------\n        list of NLRow\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_465getNlRows = {"getNlRows", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_465getNlRows, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_464getNlRows};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_465getNlRows(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNlRows (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNlRows", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNlRows", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_464getNlRows(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_464getNlRows(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_NLROW **__pyx_v_nlrows;
  int __pyx_9genexpr50__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNlRows", 0);

  /* "src/pyscipopt/scip.pxi":8205
 * 
 *         """
 *         cdef SCIP_NLROW** nlrows = SCIPgetNLPNlRows(self._scip)             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_nlrows = SCIPgetNLPNlRows(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":8208
 *         cdef int i
 * 
 *         return [NLRow.create(nlrows[i]) for i in range(self.getNNlRows())]             # <<<<<<<<<<<<<<
 * 
 *     def getNlRowSolActivity(self, NLRow nlrow, Solution sol = None):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8208, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getNNlRows, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8208, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 8208, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_6 = __pyx_t_5;
    for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
      __pyx_9genexpr50__pyx_v_i = __pyx_t_7;
      __pyx_t_2 = __pyx_f_9pyscipopt_4scip_5NLRow_create((__pyx_v_nlrows[__pyx_9genexpr50__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8208, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(2, 8208, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8196
 *         return SCIPgetNNLPNlRows(self._scip)
 * 
 *     def getNlRows(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns a list with the nonlinear rows in SCIP's internal NLP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNlRows", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8210
 *         return [NLRow.create(nlrows[i]) for i in range(self.getNNlRows())]
 * 
 *     def getNlRowSolActivity(self, NLRow nlrow, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Gives the activity of a nonlinear row for a given primal solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_467getNlRowSolActivity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_466getNlRowSolActivity, "\n        Gives the activity of a nonlinear row for a given primal solution.\n\n        Parameters\n        ----------\n        nlrow : NLRow\n        sol : Solution or None, optional\n            a primal solution, if None, then the current LP solution is used\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_467getNlRowSolActivity = {"getNlRowSolActivity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_467getNlRowSolActivity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_466getNlRowSolActivity};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_467getNlRowSolActivity(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_nlrow = 0;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNlRowSolActivity (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_nlrow,&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8210, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8210, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8210, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getNlRowSolActivity", 0) < (0)) __PYX_ERR(2, 8210, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getNlRowSolActivity", 0, 1, 2, i); __PYX_ERR(2, 8210, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8210, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8210, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
    }
    __pyx_v_nlrow = ((struct __pyx_obj_9pyscipopt_4scip_NLRow *)values[0]);
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getNlRowSolActivity", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 8210, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNlRowSolActivity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nlrow), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_NLRow, 1, "nlrow", 0))) __PYX_ERR(2, 8210, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(2, 8210, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_466getNlRowSolActivity(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_nlrow, __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_466getNlRowSolActivity(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_nlrow, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  SCIP_Real __pyx_v_activity;
  SCIP_SOL *__pyx_v_solptr;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_SOL *__pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNlRowSolActivity", 0);

  /* "src/pyscipopt/scip.pxi":8228
 *         cdef SCIP_SOL* solptr
 * 
 *         solptr = sol.sol if not sol is None else NULL             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL( SCIPgetNlRowSolActivity(self._scip, nlrow.scip_nlrow, solptr, &activity) )
 *         return activity
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_sol) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_sol->sol;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_solptr = __pyx_t_1;

  /* "src/pyscipopt/scip.pxi":8229
 * 
 *         solptr = sol.sol if not sol is None else NULL
 *         PY_SCIP_CALL( SCIPgetNlRowSolActivity(self._scip, nlrow.scip_nlrow, solptr, &activity) )             # <<<<<<<<<<<<<<
 *         return activity
 * 
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetNlRowSolActivity(__pyx_v_self->_scip, __pyx_v_nlrow->scip_nlrow, __pyx_v_solptr, (&__pyx_v_activity))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 8229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8229, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":8230
 *         solptr = sol.sol if not sol is None else NULL
 *         PY_SCIP_CALL( SCIPgetNlRowSolActivity(self._scip, nlrow.scip_nlrow, solptr, &activity) )
 *         return activity             # <<<<<<<<<<<<<<
 * 
 *     def getNlRowSolFeasibility(self, NLRow nlrow, Solution sol = None):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_activity); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8210
 *         return [NLRow.create(nlrows[i]) for i in range(self.getNNlRows())]
 * 
 *     def getNlRowSolActivity(self, NLRow nlrow, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Gives the activity of a nonlinear row for a given primal solution.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNlRowSolActivity", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8232
 *         return activity
 * 
 *     def getNlRowSolFeasibility(self, NLRow nlrow, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Gives the feasibility of a nonlinear row for a given primal solution
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_469getNlRowSolFeasibility(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_468getNlRowSolFeasibility, "\n        Gives the feasibility of a nonlinear row for a given primal solution\n\n        Parameters\n        ----------\n        nlrow : NLRow\n        sol : Solution or None, optional\n            a primal solution, if None, then the current LP solution is used\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_469getNlRowSolFeasibility = {"getNlRowSolFeasibility", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_469getNlRowSolFeasibility, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_468getNlRowSolFeasibility};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_469getNlRowSolFeasibility(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_nlrow = 0;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNlRowSolFeasibility (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_nlrow,&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8232, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8232, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8232, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getNlRowSolFeasibility", 0) < (0)) __PYX_ERR(2, 8232, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getNlRowSolFeasibility", 0, 1, 2, i); __PYX_ERR(2, 8232, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8232, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8232, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
    }
    __pyx_v_nlrow = ((struct __pyx_obj_9pyscipopt_4scip_NLRow *)values[0]);
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getNlRowSolFeasibility", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 8232, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNlRowSolFeasibility", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nlrow), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_NLRow, 1, "nlrow", 0))) __PYX_ERR(2, 8232, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(2, 8232, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_468getNlRowSolFeasibility(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_nlrow, __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_468getNlRowSolFeasibility(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_nlrow, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  SCIP_Real __pyx_v_feasibility;
  SCIP_SOL *__pyx_v_solptr;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_SOL *__pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNlRowSolFeasibility", 0);

  /* "src/pyscipopt/scip.pxi":8250
 *         cdef SCIP_SOL* solptr
 * 
 *         solptr = sol.sol if not sol is None else NULL             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL( SCIPgetNlRowSolFeasibility(self._scip, nlrow.scip_nlrow, solptr, &feasibility) )
 *         return feasibility
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_sol) != Py_None);
  if (__pyx_t_2) {
    __pyx_t_1 = __pyx_v_sol->sol;
  } else {
    __pyx_t_1 = NULL;
  }
  __pyx_v_solptr = __pyx_t_1;

  /* "src/pyscipopt/scip.pxi":8251
 * 
 *         solptr = sol.sol if not sol is None else NULL
 *         PY_SCIP_CALL( SCIPgetNlRowSolFeasibility(self._scip, nlrow.scip_nlrow, solptr, &feasibility) )             # <<<<<<<<<<<<<<
 *         return feasibility
 * 
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetNlRowSolFeasibility(__pyx_v_self->_scip, __pyx_v_nlrow->scip_nlrow, __pyx_v_solptr, (&__pyx_v_feasibility))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 8251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
    __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8251, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":8252
 *         solptr = sol.sol if not sol is None else NULL
 *         PY_SCIP_CALL( SCIPgetNlRowSolFeasibility(self._scip, nlrow.scip_nlrow, solptr, &feasibility) )
 *         return feasibility             # <<<<<<<<<<<<<<
 * 
 *     def getNlRowActivityBounds(self, NLRow nlrow):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_feasibility); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8232
 *         return activity
 * 
 *     def getNlRowSolFeasibility(self, NLRow nlrow, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Gives the feasibility of a nonlinear row for a given primal solution
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNlRowSolFeasibility", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8254
 *         return feasibility
 * 
 *     def getNlRowActivityBounds(self, NLRow nlrow):             # <<<<<<<<<<<<<<
 *         """
 *         Gives the minimal and maximal activity of a nonlinear row w.r.t. the variable's bounds.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_471getNlRowActivityBounds(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_470getNlRowActivityBounds, "\n        Gives the minimal and maximal activity of a nonlinear row w.r.t. the variable's bounds.\n\n        Parameters\n        ----------\n        nlrow : NLRow\n\n        Returns\n        -------\n        tuple of float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_471getNlRowActivityBounds = {"getNlRowActivityBounds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_471getNlRowActivityBounds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_470getNlRowActivityBounds};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_471getNlRowActivityBounds(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_nlrow = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNlRowActivityBounds (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_nlrow,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8254, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8254, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getNlRowActivityBounds", 0) < (0)) __PYX_ERR(2, 8254, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getNlRowActivityBounds", 1, 1, 1, i); __PYX_ERR(2, 8254, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8254, __pyx_L3_error)
    }
    __pyx_v_nlrow = ((struct __pyx_obj_9pyscipopt_4scip_NLRow *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getNlRowActivityBounds", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8254, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNlRowActivityBounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nlrow), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_NLRow, 1, "nlrow", 0))) __PYX_ERR(2, 8254, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_470getNlRowActivityBounds(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_nlrow);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_470getNlRowActivityBounds(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_nlrow) {
  SCIP_Real __pyx_v_minactivity;
  SCIP_Real __pyx_v_maxactivity;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNlRowActivityBounds", 0);

  /* "src/pyscipopt/scip.pxi":8270
 *         cdef SCIP_Real maxactivity
 * 
 *         PY_SCIP_CALL( SCIPgetNlRowActivityBounds(self._scip, nlrow.scip_nlrow, &minactivity, &maxactivity) )             # <<<<<<<<<<<<<<
 *         return (minactivity, maxactivity)
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetNlRowActivityBounds(__pyx_v_self->_scip, __pyx_v_nlrow->scip_nlrow, (&__pyx_v_minactivity), (&__pyx_v_maxactivity))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8271
 * 
 *         PY_SCIP_CALL( SCIPgetNlRowActivityBounds(self._scip, nlrow.scip_nlrow, &minactivity, &maxactivity) )
 *         return (minactivity, maxactivity)             # <<<<<<<<<<<<<<
 * 
 *     def printNlRow(self, NLRow nlrow):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_minactivity); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_maxactivity); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 8271, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 8271, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8254
 *         return feasibility
 * 
 *     def getNlRowActivityBounds(self, NLRow nlrow):             # <<<<<<<<<<<<<<
 *         """
 *         Gives the minimal and maximal activity of a nonlinear row w.r.t. the variable's bounds.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNlRowActivityBounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8273
 *         return (minactivity, maxactivity)
 * 
 *     def printNlRow(self, NLRow nlrow):             # <<<<<<<<<<<<<<
 *         """
 *         Prints nonlinear row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_473printNlRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_472printNlRow, "\n        Prints nonlinear row.\n\n        Parameters\n        ----------\n        nlrow : NLRow\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_473printNlRow = {"printNlRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_473printNlRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_472printNlRow};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_473printNlRow(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_nlrow = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("printNlRow (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_nlrow,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8273, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8273, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "printNlRow", 0) < (0)) __PYX_ERR(2, 8273, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("printNlRow", 1, 1, 1, i); __PYX_ERR(2, 8273, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8273, __pyx_L3_error)
    }
    __pyx_v_nlrow = ((struct __pyx_obj_9pyscipopt_4scip_NLRow *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("printNlRow", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8273, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.printNlRow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nlrow), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_NLRow, 1, "nlrow", 0))) __PYX_ERR(2, 8273, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_472printNlRow(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_nlrow);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_472printNlRow(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_NLRow *__pyx_v_nlrow) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("printNlRow", 0);

  /* "src/pyscipopt/scip.pxi":8282
 * 
 *         """
 *         PY_SCIP_CALL( SCIPprintNlRow(self._scip, nlrow.scip_nlrow, NULL) )             # <<<<<<<<<<<<<<
 * 
 *     def checkQuadraticNonlinear(self, Constraint cons):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintNlRow(__pyx_v_self->_scip, __pyx_v_nlrow->scip_nlrow, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8282, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8273
 *         return (minactivity, maxactivity)
 * 
 *     def printNlRow(self, NLRow nlrow):             # <<<<<<<<<<<<<<
 *         """
 *         Prints nonlinear row.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.printNlRow", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8284
 *         PY_SCIP_CALL( SCIPprintNlRow(self._scip, nlrow.scip_nlrow, NULL) )
 * 
 *     def checkQuadraticNonlinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if the given constraint is quadratic.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_475checkQuadraticNonlinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_474checkQuadraticNonlinear, "\n        Returns if the given constraint is quadratic.\n\n        Parameters\n        ----------\n        cons : Constraint\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_475checkQuadraticNonlinear = {"checkQuadraticNonlinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_475checkQuadraticNonlinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_474checkQuadraticNonlinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_475checkQuadraticNonlinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("checkQuadraticNonlinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8284, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8284, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "checkQuadraticNonlinear", 0) < (0)) __PYX_ERR(2, 8284, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("checkQuadraticNonlinear", 1, 1, 1, i); __PYX_ERR(2, 8284, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8284, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("checkQuadraticNonlinear", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8284, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.checkQuadraticNonlinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8284, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_474checkQuadraticNonlinear(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_474checkQuadraticNonlinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  SCIP_Bool __pyx_v_isquadratic;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("checkQuadraticNonlinear", 0);

  /* "src/pyscipopt/scip.pxi":8298
 *         """
 *         cdef SCIP_Bool isquadratic
 *         PY_SCIP_CALL( SCIPcheckQuadraticNonlinear(self._scip, cons.scip_cons, &isquadratic) )             # <<<<<<<<<<<<<<
 *         return isquadratic
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcheckQuadraticNonlinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, (&__pyx_v_isquadratic))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8299
 *         cdef SCIP_Bool isquadratic
 *         PY_SCIP_CALL( SCIPcheckQuadraticNonlinear(self._scip, cons.scip_cons, &isquadratic) )
 *         return isquadratic             # <<<<<<<<<<<<<<
 * 
 *     def getTermsQuadratic(self, Constraint cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_isquadratic); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8284
 *         PY_SCIP_CALL( SCIPprintNlRow(self._scip, nlrow.scip_nlrow, NULL) )
 * 
 *     def checkQuadraticNonlinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if the given constraint is quadratic.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.checkQuadraticNonlinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8301
 *         return isquadratic
 * 
 *     def getTermsQuadratic(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve bilinear, quadratic, and linear terms of a quadratic constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_477getTermsQuadratic(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_476getTermsQuadratic, "\n        Retrieve bilinear, quadratic, and linear terms of a quadratic constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n\n        Returns\n        -------\n        bilinterms : list of tuple\n            Triples ``(var1, var2, coef)`` for terms of the form\n            ``coef * var1 * var2`` with ``var1 != var2``.\n        quadterms : list of tuple\n            Triples ``(var, sqrcoef, lincoef)`` for variables that appear in\n            quadratic or bilinear terms. ``sqrcoef`` is the coefficient of\n            ``var**2``, and ``lincoef`` is the linear coefficient of ``var``\n            if it also appears linearly.\n        linterms : list of tuple\n            Pairs ``(var, coef)`` for purely linear variables, i.e.,\n            variables that do not participate in any quadratic or bilinear term.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_477getTermsQuadratic = {"getTermsQuadratic", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_477getTermsQuadratic, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_476getTermsQuadratic};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_477getTermsQuadratic(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getTermsQuadratic (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8301, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8301, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getTermsQuadratic", 0) < (0)) __PYX_ERR(2, 8301, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getTermsQuadratic", 1, 1, 1, i); __PYX_ERR(2, 8301, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8301, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getTermsQuadratic", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8301, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getTermsQuadratic", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8301, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_476getTermsQuadratic(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_476getTermsQuadratic(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  SCIP_EXPR *__pyx_v_expr;
  int __pyx_v_termidx;
  SCIP_EXPR **__pyx_v_linexprs;
  SCIP_Real *__pyx_v_lincoefs;
  SCIP_Real __pyx_v_lincoef;
  int __pyx_v_nlinvars;
  SCIP_EXPR *__pyx_v_bilinterm1;
  SCIP_EXPR *__pyx_v_bilinterm2;
  SCIP_Real __pyx_v_bilincoef;
  int __pyx_v_nbilinterms;
  SCIP_EXPR *__pyx_v_quadexpr;
  SCIP_EXPR *__pyx_v_sqrexpr;
  SCIP_Real __pyx_v_sqrcoef;
  int __pyx_v_nquadterms;
  SCIP_VAR *__pyx_v_scipvar1;
  SCIP_VAR *__pyx_v_scipvar2;
  PyObject *__pyx_v_linterms = NULL;
  PyObject *__pyx_v_bilinterms = NULL;
  PyObject *__pyx_v_var = NULL;
  PyObject *__pyx_v_quaddict = NULL;
  PyObject *__pyx_v_var1 = NULL;
  PyObject *__pyx_v_var2 = NULL;
  PyObject *__pyx_v_key = NULL;
  PyObject *__pyx_v_quadterms = NULL;
  PyObject *__pyx_9genexpr51__pyx_v_entry = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  Py_ssize_t __pyx_t_12;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getTermsQuadratic", 0);

  /* "src/pyscipopt/scip.pxi":8349
 *         cdef SCIP_VAR* scipvar2
 * 
 *         assert cons.isNonlinear(), "constraint is not nonlinear"             # <<<<<<<<<<<<<<
 *         assert self.checkQuadraticNonlinear(cons), "constraint is not quadratic"
 * 
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_2 = ((PyObject *)__pyx_v_cons);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isNonlinear, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8349, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 8349, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_constraint_is_not_nonlinear, 0, 0);
      __PYX_ERR(2, 8349, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 8349, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":8350
 * 
 *         assert cons.isNonlinear(), "constraint is not nonlinear"
 *         assert self.checkQuadraticNonlinear(cons), "constraint is not quadratic"             # <<<<<<<<<<<<<<
 * 
 *         expr = SCIPgetExprNonlinear(cons.scip_cons)
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_cons)};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_checkQuadraticNonlinear, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8350, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 8350, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_constraint_is_not_quadratic, 0, 0);
      __PYX_ERR(2, 8350, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 8350, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":8352
 *         assert self.checkQuadraticNonlinear(cons), "constraint is not quadratic"
 * 
 *         expr = SCIPgetExprNonlinear(cons.scip_cons)             # <<<<<<<<<<<<<<
 *         SCIPexprGetQuadraticData(expr, NULL, &nlinvars, &linexprs, &lincoefs,
 *                                  &nquadterms, &nbilinterms, NULL, NULL)
*/
  __pyx_v_expr = SCIPgetExprNonlinear(__pyx_v_cons->scip_cons);

  /* "src/pyscipopt/scip.pxi":8353
 * 
 *         expr = SCIPgetExprNonlinear(cons.scip_cons)
 *         SCIPexprGetQuadraticData(expr, NULL, &nlinvars, &linexprs, &lincoefs,             # <<<<<<<<<<<<<<
 *                                  &nquadterms, &nbilinterms, NULL, NULL)
 * 
*/
  SCIPexprGetQuadraticData(__pyx_v_expr, NULL, (&__pyx_v_nlinvars), (&__pyx_v_linexprs), (&__pyx_v_lincoefs), (&__pyx_v_nquadterms), (&__pyx_v_nbilinterms), NULL, NULL);

  /* "src/pyscipopt/scip.pxi":8356
 *                                  &nquadterms, &nbilinterms, NULL, NULL)
 * 
 *         linterms   = []             # <<<<<<<<<<<<<<
 *         bilinterms = []
 * 
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8356, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_linterms = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8357
 * 
 *         linterms   = []
 *         bilinterms = []             # <<<<<<<<<<<<<<
 * 
 *         # Purely linear terms (variables not in any quadratic/bilinear term)
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8357, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_bilinterms = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8360
 * 
 *         # Purely linear terms (variables not in any quadratic/bilinear term)
 *         for termidx in range(nlinvars):             # <<<<<<<<<<<<<<
 *             var = self._getOrCreateVar(SCIPgetVarExprVar(linexprs[termidx]))
 *             linterms.append((var, lincoefs[termidx]))
*/
  __pyx_t_5 = __pyx_v_nlinvars;
  __pyx_t_6 = __pyx_t_5;
  for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
    __pyx_v_termidx = __pyx_t_7;

    /* "src/pyscipopt/scip.pxi":8361
 *         # Purely linear terms (variables not in any quadratic/bilinear term)
 *         for termidx in range(nlinvars):
 *             var = self._getOrCreateVar(SCIPgetVarExprVar(linexprs[termidx]))             # <<<<<<<<<<<<<<
 *             linterms.append((var, lincoefs[termidx]))
 * 
*/
    __pyx_t_1 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, SCIPgetVarExprVar((__pyx_v_linexprs[__pyx_v_termidx]))); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8361, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_var, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":8362
 *         for termidx in range(nlinvars):
 *             var = self._getOrCreateVar(SCIPgetVarExprVar(linexprs[termidx]))
 *             linterms.append((var, lincoefs[termidx]))             # <<<<<<<<<<<<<<
 * 
 *         # Collect quadratic terms in a dict so we can merge entries for the same variable.
*/
    __pyx_t_1 = PyFloat_FromDouble((__pyx_v_lincoefs[__pyx_v_termidx])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(__pyx_v_var);
    __Pyx_GIVEREF(__pyx_v_var);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_var) != (0)) __PYX_ERR(2, 8362, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_1);
    if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1) != (0)) __PYX_ERR(2, 8362, __pyx_L1_error);
    __pyx_t_1 = 0;
    __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_linterms, __pyx_t_2); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(2, 8362, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/pyscipopt/scip.pxi":8365
 * 
 *         # Collect quadratic terms in a dict so we can merge entries for the same variable.
 *         quaddict = {}  # var.ptr() -> [var, sqrcoef, lincoef]             # <<<<<<<<<<<<<<
 * 
 *         for termidx in range(nbilinterms):
*/
  __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_quaddict = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":8367
 *         quaddict = {}  # var.ptr() -> [var, sqrcoef, lincoef]
 * 
 *         for termidx in range(nbilinterms):             # <<<<<<<<<<<<<<
 *             SCIPexprGetQuadraticBilinTerm(expr, termidx, &bilinterm1, &bilinterm2, &bilincoef, NULL, NULL)
 *             scipvar1 = SCIPgetVarExprVar(bilinterm1)
*/
  __pyx_t_5 = __pyx_v_nbilinterms;
  __pyx_t_6 = __pyx_t_5;
  for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
    __pyx_v_termidx = __pyx_t_7;

    /* "src/pyscipopt/scip.pxi":8368
 * 
 *         for termidx in range(nbilinterms):
 *             SCIPexprGetQuadraticBilinTerm(expr, termidx, &bilinterm1, &bilinterm2, &bilincoef, NULL, NULL)             # <<<<<<<<<<<<<<
 *             scipvar1 = SCIPgetVarExprVar(bilinterm1)
 *             scipvar2 = SCIPgetVarExprVar(bilinterm2)
*/
    SCIPexprGetQuadraticBilinTerm(__pyx_v_expr, __pyx_v_termidx, (&__pyx_v_bilinterm1), (&__pyx_v_bilinterm2), (&__pyx_v_bilincoef), NULL, NULL);

    /* "src/pyscipopt/scip.pxi":8369
 *         for termidx in range(nbilinterms):
 *             SCIPexprGetQuadraticBilinTerm(expr, termidx, &bilinterm1, &bilinterm2, &bilincoef, NULL, NULL)
 *             scipvar1 = SCIPgetVarExprVar(bilinterm1)             # <<<<<<<<<<<<<<
 *             scipvar2 = SCIPgetVarExprVar(bilinterm2)
 *             var1 = self._getOrCreateVar(scipvar1)
*/
    __pyx_v_scipvar1 = SCIPgetVarExprVar(__pyx_v_bilinterm1);

    /* "src/pyscipopt/scip.pxi":8370
 *             SCIPexprGetQuadraticBilinTerm(expr, termidx, &bilinterm1, &bilinterm2, &bilincoef, NULL, NULL)
 *             scipvar1 = SCIPgetVarExprVar(bilinterm1)
 *             scipvar2 = SCIPgetVarExprVar(bilinterm2)             # <<<<<<<<<<<<<<
 *             var1 = self._getOrCreateVar(scipvar1)
 *             var2 = self._getOrCreateVar(scipvar2)
*/
    __pyx_v_scipvar2 = SCIPgetVarExprVar(__pyx_v_bilinterm2);

    /* "src/pyscipopt/scip.pxi":8371
 *             scipvar1 = SCIPgetVarExprVar(bilinterm1)
 *             scipvar2 = SCIPgetVarExprVar(bilinterm2)
 *             var1 = self._getOrCreateVar(scipvar1)             # <<<<<<<<<<<<<<
 *             var2 = self._getOrCreateVar(scipvar2)
 *             if scipvar1 != scipvar2:
*/
    __pyx_t_2 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, __pyx_v_scipvar1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8371, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_var1, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":8372
 *             scipvar2 = SCIPgetVarExprVar(bilinterm2)
 *             var1 = self._getOrCreateVar(scipvar1)
 *             var2 = self._getOrCreateVar(scipvar2)             # <<<<<<<<<<<<<<
 *             if scipvar1 != scipvar2:
 *                 bilinterms.append((var1, var2, bilincoef))
*/
    __pyx_t_2 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, __pyx_v_scipvar2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8372, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_var2, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":8373
 *             var1 = self._getOrCreateVar(scipvar1)
 *             var2 = self._getOrCreateVar(scipvar2)
 *             if scipvar1 != scipvar2:             # <<<<<<<<<<<<<<
 *                 bilinterms.append((var1, var2, bilincoef))
 *             else:
*/
    __pyx_t_4 = (__pyx_v_scipvar1 != __pyx_v_scipvar2);
    if (__pyx_t_4) {

      /* "src/pyscipopt/scip.pxi":8374
 *             var2 = self._getOrCreateVar(scipvar2)
 *             if scipvar1 != scipvar2:
 *                 bilinterms.append((var1, var2, bilincoef))             # <<<<<<<<<<<<<<
 *             else:
 *                 # Squared term reported as bilinear var*var
*/
      __pyx_t_2 = PyFloat_FromDouble(__pyx_v_bilincoef); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8374, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8374, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_INCREF(__pyx_v_var1);
      __Pyx_GIVEREF(__pyx_v_var1);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_var1) != (0)) __PYX_ERR(2, 8374, __pyx_L1_error);
      __Pyx_INCREF(__pyx_v_var2);
      __Pyx_GIVEREF(__pyx_v_var2);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_var2) != (0)) __PYX_ERR(2, 8374, __pyx_L1_error);
      __Pyx_GIVEREF(__pyx_t_2);
      if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_2) != (0)) __PYX_ERR(2, 8374, __pyx_L1_error);
      __pyx_t_2 = 0;
      __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_bilinterms, __pyx_t_1); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(2, 8374, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/pyscipopt/scip.pxi":8373
 *             var1 = self._getOrCreateVar(scipvar1)
 *             var2 = self._getOrCreateVar(scipvar2)
 *             if scipvar1 != scipvar2:             # <<<<<<<<<<<<<<
 *                 bilinterms.append((var1, var2, bilincoef))
 *             else:
*/
      goto __pyx_L7;
    }

    /* "src/pyscipopt/scip.pxi":8377
 *             else:
 *                 # Squared term reported as bilinear var*var
 *                 key = var1.ptr()             # <<<<<<<<<<<<<<
 *                 if key in quaddict:
 *                     quaddict[key][1] += bilincoef
*/
    /*else*/ {
      __pyx_t_2 = __pyx_v_var1;
      __Pyx_INCREF(__pyx_t_2);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
        __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_ptr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8377, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_1);
      __pyx_t_1 = 0;

      /* "src/pyscipopt/scip.pxi":8378
 *                 # Squared term reported as bilinear var*var
 *                 key = var1.ptr()
 *                 if key in quaddict:             # <<<<<<<<<<<<<<
 *                     quaddict[key][1] += bilincoef
 *                 else: # TODO: SCIP handles expr like x**2 appropriately, but PySCIPOpt requires this. Need to investigate why.
*/
      __pyx_t_4 = (__Pyx_PyDict_ContainsTF(__pyx_v_key, __pyx_v_quaddict, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 8378, __pyx_L1_error)
      if (__pyx_t_4) {

        /* "src/pyscipopt/scip.pxi":8379
 *                 key = var1.ptr()
 *                 if key in quaddict:
 *                     quaddict[key][1] += bilincoef             # <<<<<<<<<<<<<<
 *                 else: # TODO: SCIP handles expr like x**2 appropriately, but PySCIPOpt requires this. Need to investigate why.
 *                     quaddict[key] = [var1, bilincoef, 0.0]
*/
        __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_quaddict, __pyx_v_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8379, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_9 = 1;
        __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_t_9, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8379, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_10 = PyFloat_FromDouble(__pyx_v_bilincoef); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8379, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_10);
        __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8379, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely((__Pyx_SetItemInt(__pyx_t_1, __pyx_t_9, __pyx_t_11, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference) < 0))) __PYX_ERR(2, 8379, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

        /* "src/pyscipopt/scip.pxi":8378
 *                 # Squared term reported as bilinear var*var
 *                 key = var1.ptr()
 *                 if key in quaddict:             # <<<<<<<<<<<<<<
 *                     quaddict[key][1] += bilincoef
 *                 else: # TODO: SCIP handles expr like x**2 appropriately, but PySCIPOpt requires this. Need to investigate why.
*/
        goto __pyx_L8;
      }

      /* "src/pyscipopt/scip.pxi":8381
 *                     quaddict[key][1] += bilincoef
 *                 else: # TODO: SCIP handles expr like x**2 appropriately, but PySCIPOpt requires this. Need to investigate why.
 *                     quaddict[key] = [var1, bilincoef, 0.0]             # <<<<<<<<<<<<<<
 * 
 *         # Also collect linear coefficients from the quadratic terms
*/
      /*else*/ {
        __pyx_t_1 = PyFloat_FromDouble(__pyx_v_bilincoef); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8381, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __pyx_t_11 = PyList_New(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8381, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_11);
        __Pyx_INCREF(__pyx_v_var1);
        __Pyx_GIVEREF(__pyx_v_var1);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 0, __pyx_v_var1) != (0)) __PYX_ERR(2, 8381, __pyx_L1_error);
        __Pyx_GIVEREF(__pyx_t_1);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 1, __pyx_t_1) != (0)) __PYX_ERR(2, 8381, __pyx_L1_error);
        __Pyx_INCREF(__pyx_mstate_global->__pyx_float_0_0);
        __Pyx_GIVEREF(__pyx_mstate_global->__pyx_float_0_0);
        if (__Pyx_PyList_SET_ITEM(__pyx_t_11, 2, __pyx_mstate_global->__pyx_float_0_0) != (0)) __PYX_ERR(2, 8381, __pyx_L1_error);
        __pyx_t_1 = 0;
        if (unlikely((PyDict_SetItem(__pyx_v_quaddict, __pyx_v_key, __pyx_t_11) < 0))) __PYX_ERR(2, 8381, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      }
      __pyx_L8:;
    }
    __pyx_L7:;
  }

  /* "src/pyscipopt/scip.pxi":8384
 * 
 *         # Also collect linear coefficients from the quadratic terms
 *         for termidx in range(nquadterms):             # <<<<<<<<<<<<<<
 *             SCIPexprGetQuadraticQuadTerm(expr, termidx, &quadexpr, &lincoef, &sqrcoef, NULL, NULL, &sqrexpr)
 *             scipvar1 = SCIPgetVarExprVar(quadexpr)
*/
  __pyx_t_5 = __pyx_v_nquadterms;
  __pyx_t_6 = __pyx_t_5;
  for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
    __pyx_v_termidx = __pyx_t_7;

    /* "src/pyscipopt/scip.pxi":8385
 *         # Also collect linear coefficients from the quadratic terms
 *         for termidx in range(nquadterms):
 *             SCIPexprGetQuadraticQuadTerm(expr, termidx, &quadexpr, &lincoef, &sqrcoef, NULL, NULL, &sqrexpr)             # <<<<<<<<<<<<<<
 *             scipvar1 = SCIPgetVarExprVar(quadexpr)
 *             var = self._getOrCreateVar(scipvar1)
*/
    SCIPexprGetQuadraticQuadTerm(__pyx_v_expr, __pyx_v_termidx, (&__pyx_v_quadexpr), (&__pyx_v_lincoef), (&__pyx_v_sqrcoef), NULL, NULL, (&__pyx_v_sqrexpr));

    /* "src/pyscipopt/scip.pxi":8386
 *         for termidx in range(nquadterms):
 *             SCIPexprGetQuadraticQuadTerm(expr, termidx, &quadexpr, &lincoef, &sqrcoef, NULL, NULL, &sqrexpr)
 *             scipvar1 = SCIPgetVarExprVar(quadexpr)             # <<<<<<<<<<<<<<
 *             var = self._getOrCreateVar(scipvar1)
 *             key = var.ptr()
*/
    __pyx_v_scipvar1 = SCIPgetVarExprVar(__pyx_v_quadexpr);

    /* "src/pyscipopt/scip.pxi":8387
 *             SCIPexprGetQuadraticQuadTerm(expr, termidx, &quadexpr, &lincoef, &sqrcoef, NULL, NULL, &sqrexpr)
 *             scipvar1 = SCIPgetVarExprVar(quadexpr)
 *             var = self._getOrCreateVar(scipvar1)             # <<<<<<<<<<<<<<
 *             key = var.ptr()
 *             if key in quaddict:
*/
    __pyx_t_11 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, __pyx_v_scipvar1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_XDECREF_SET(__pyx_v_var, __pyx_t_11);
    __pyx_t_11 = 0;

    /* "src/pyscipopt/scip.pxi":8388
 *             scipvar1 = SCIPgetVarExprVar(quadexpr)
 *             var = self._getOrCreateVar(scipvar1)
 *             key = var.ptr()             # <<<<<<<<<<<<<<
 *             if key in quaddict:
 *                 quaddict[key][1] += sqrcoef
*/
    __pyx_t_1 = __pyx_v_var;
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
      __pyx_t_11 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_ptr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8388, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
    }
    __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_11);
    __pyx_t_11 = 0;

    /* "src/pyscipopt/scip.pxi":8389
 *             var = self._getOrCreateVar(scipvar1)
 *             key = var.ptr()
 *             if key in quaddict:             # <<<<<<<<<<<<<<
 *                 quaddict[key][1] += sqrcoef
 *                 quaddict[key][2] += lincoef
*/
    __pyx_t_4 = (__Pyx_PyDict_ContainsTF(__pyx_v_key, __pyx_v_quaddict, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 8389, __pyx_L1_error)
    if (__pyx_t_4) {

      /* "src/pyscipopt/scip.pxi":8390
 *             key = var.ptr()
 *             if key in quaddict:
 *                 quaddict[key][1] += sqrcoef             # <<<<<<<<<<<<<<
 *                 quaddict[key][2] += lincoef
 *             else:
*/
      __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_quaddict, __pyx_v_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8390, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_9 = 1;
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_11, __pyx_t_9, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8390, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_10 = PyFloat_FromDouble(__pyx_v_sqrcoef); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8390, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8390, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely((__Pyx_SetItemInt(__pyx_t_11, __pyx_t_9, __pyx_t_2, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference) < 0))) __PYX_ERR(2, 8390, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

      /* "src/pyscipopt/scip.pxi":8391
 *             if key in quaddict:
 *                 quaddict[key][1] += sqrcoef
 *                 quaddict[key][2] += lincoef             # <<<<<<<<<<<<<<
 *             else:
 *                 quaddict[key] = [var, sqrcoef, lincoef]
*/
      __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_quaddict, __pyx_v_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8391, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_9 = 2;
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_11, __pyx_t_9, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8391, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_10 = PyFloat_FromDouble(__pyx_v_lincoef); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8391, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8391, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely((__Pyx_SetItemInt(__pyx_t_11, __pyx_t_9, __pyx_t_1, Py_ssize_t, 1, PyLong_FromSsize_t, 0, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference) < 0))) __PYX_ERR(2, 8391, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

      /* "src/pyscipopt/scip.pxi":8389
 *             var = self._getOrCreateVar(scipvar1)
 *             key = var.ptr()
 *             if key in quaddict:             # <<<<<<<<<<<<<<
 *                 quaddict[key][1] += sqrcoef
 *                 quaddict[key][2] += lincoef
*/
      goto __pyx_L11;
    }

    /* "src/pyscipopt/scip.pxi":8393
 *                 quaddict[key][2] += lincoef
 *             else:
 *                 quaddict[key] = [var, sqrcoef, lincoef]             # <<<<<<<<<<<<<<
 * 
 *         quadterms = [tuple(entry) for entry in quaddict.values()]
*/
    /*else*/ {
      __pyx_t_11 = PyFloat_FromDouble(__pyx_v_sqrcoef); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8393, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_1 = PyFloat_FromDouble(__pyx_v_lincoef); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8393, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_10 = PyList_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8393, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __Pyx_INCREF(__pyx_v_var);
      __Pyx_GIVEREF(__pyx_v_var);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_v_var) != (0)) __PYX_ERR(2, 8393, __pyx_L1_error);
      __Pyx_GIVEREF(__pyx_t_11);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 1, __pyx_t_11) != (0)) __PYX_ERR(2, 8393, __pyx_L1_error);
      __Pyx_GIVEREF(__pyx_t_1);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 2, __pyx_t_1) != (0)) __PYX_ERR(2, 8393, __pyx_L1_error);
      __pyx_t_11 = 0;
      __pyx_t_1 = 0;
      if (unlikely((PyDict_SetItem(__pyx_v_quaddict, __pyx_v_key, __pyx_t_10) < 0))) __PYX_ERR(2, 8393, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
    __pyx_L11:;
  }

  /* "src/pyscipopt/scip.pxi":8395
 *                 quaddict[key] = [var, sqrcoef, lincoef]
 * 
 *         quadterms = [tuple(entry) for entry in quaddict.values()]             # <<<<<<<<<<<<<<
 * 
 *         return (bilinterms, quadterms, linterms)
*/
  { /* enter inner scope */
    __pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8395, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_9 = 0;
    __pyx_t_11 = __Pyx_dict_iterator(__pyx_v_quaddict, 1, __pyx_mstate_global->__pyx_n_u_values, (&__pyx_t_12), (&__pyx_t_5)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8395, __pyx_L14_error)
    __Pyx_GOTREF(__pyx_t_11);
    __Pyx_XDECREF(__pyx_t_1);
    __pyx_t_1 = __pyx_t_11;
    __pyx_t_11 = 0;
    while (1) {
      __pyx_t_6 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_12, &__pyx_t_9, NULL, &__pyx_t_11, NULL, __pyx_t_5);
      if (unlikely(__pyx_t_6 == 0)) break;
      if (unlikely(__pyx_t_6 == -1)) __PYX_ERR(2, 8395, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_11);
      __Pyx_XDECREF_SET(__pyx_9genexpr51__pyx_v_entry, __pyx_t_11);
      __pyx_t_11 = 0;
      __pyx_t_11 = __Pyx_PySequence_Tuple(__pyx_9genexpr51__pyx_v_entry); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8395, __pyx_L14_error)
      __Pyx_GOTREF(__pyx_t_11);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_10, (PyObject*)__pyx_t_11))) __PYX_ERR(2, 8395, __pyx_L14_error)
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_9genexpr51__pyx_v_entry); __pyx_9genexpr51__pyx_v_entry = 0;
    goto __pyx_L17_exit_scope;
    __pyx_L14_error:;
    __Pyx_XDECREF(__pyx_9genexpr51__pyx_v_entry); __pyx_9genexpr51__pyx_v_entry = 0;
    goto __pyx_L1_error;
    __pyx_L17_exit_scope:;
  } /* exit inner scope */
  __pyx_v_quadterms = ((PyObject*)__pyx_t_10);
  __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":8397
 *         quadterms = [tuple(entry) for entry in quaddict.values()]
 * 
 *         return (bilinterms, quadterms, linterms)             # <<<<<<<<<<<<<<
 * 
 *     def setRelaxSolVal(self, Variable var, val):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_INCREF(__pyx_v_bilinterms);
  __Pyx_GIVEREF(__pyx_v_bilinterms);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_bilinterms) != (0)) __PYX_ERR(2, 8397, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_quadterms);
  __Pyx_GIVEREF(__pyx_v_quadterms);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_v_quadterms) != (0)) __PYX_ERR(2, 8397, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_linterms);
  __Pyx_GIVEREF(__pyx_v_linterms);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_v_linterms) != (0)) __PYX_ERR(2, 8397, __pyx_L1_error);
  __pyx_r = __pyx_t_10;
  __pyx_t_10 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8301
 *         return isquadratic
 * 
 *     def getTermsQuadratic(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve bilinear, quadratic, and linear terms of a quadratic constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getTermsQuadratic", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_linterms);
  __Pyx_XDECREF(__pyx_v_bilinterms);
  __Pyx_XDECREF(__pyx_v_var);
  __Pyx_XDECREF(__pyx_v_quaddict);
  __Pyx_XDECREF(__pyx_v_var1);
  __Pyx_XDECREF(__pyx_v_var2);
  __Pyx_XDECREF(__pyx_v_key);
  __Pyx_XDECREF(__pyx_v_quadterms);
  __Pyx_XDECREF(__pyx_9genexpr51__pyx_v_entry);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8399
 *         return (bilinterms, quadterms, linterms)
 * 
 *     def setRelaxSolVal(self, Variable var, val):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the value of the given variable in the global relaxation solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_479setRelaxSolVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_478setRelaxSolVal, "\n        Sets the value of the given variable in the global relaxation solution.\n\n        Parameters\n        ----------\n        var : Variable\n        val : float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_479setRelaxSolVal = {"setRelaxSolVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_479setRelaxSolVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_478setRelaxSolVal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_479setRelaxSolVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_val = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setRelaxSolVal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_val,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8399, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8399, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8399, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setRelaxSolVal", 0) < (0)) __PYX_ERR(2, 8399, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setRelaxSolVal", 1, 2, 2, i); __PYX_ERR(2, 8399, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8399, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8399, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_val = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setRelaxSolVal", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 8399, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setRelaxSolVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 8399, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_478setRelaxSolVal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_val);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_478setRelaxSolVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_val) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setRelaxSolVal", 0);

  /* "src/pyscipopt/scip.pxi":8409
 * 
 *         """
 *         PY_SCIP_CALL(SCIPsetRelaxSolVal(self._scip, NULL, var.scip_var, val))             # <<<<<<<<<<<<<<
 * 
 *     def enableDebugSol(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_val); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 8409, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetRelaxSolVal(__pyx_v_self->_scip, NULL, __pyx_v_var->scip_var, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8409, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8409, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8399
 *         return (bilinterms, quadterms, linterms)
 * 
 *     def setRelaxSolVal(self, Variable var, val):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the value of the given variable in the global relaxation solution.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setRelaxSolVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8411
 *         PY_SCIP_CALL(SCIPsetRelaxSolVal(self._scip, NULL, var.scip_var, val))
 * 
 *     def enableDebugSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Enables the debug solution mechanism, which allows tracing back the invalidation of
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_481enableDebugSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_480enableDebugSol, "\n        Enables the debug solution mechanism, which allows tracing back the invalidation of\n        a debug solution during the solution process of SCIP. It must be explicitly\n        enabled for the SCIP data structure.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_481enableDebugSol = {"enableDebugSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_481enableDebugSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_480enableDebugSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_481enableDebugSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("enableDebugSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("enableDebugSol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("enableDebugSol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_480enableDebugSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_480enableDebugSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("enableDebugSol", 0);

  /* "src/pyscipopt/scip.pxi":8417
 *         enabled for the SCIP data structure.
 *         """
 *         if not PYSCIPOPT_WITH_DEBUG_SOLUTION:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("SCIP must be built with `DEBUGSOL=true` to enable the debug solution mechanism.")
 *         SCIPenableDebugSol(self._scip)
*/
  __pyx_t_1 = (!PYSCIPOPT_WITH_DEBUG_SOLUTION);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":8418
 *         """
 *         if not PYSCIPOPT_WITH_DEBUG_SOLUTION:
 *             raise RuntimeError("SCIP must be built with `DEBUGSOL=true` to enable the debug solution mechanism.")             # <<<<<<<<<<<<<<
 *         SCIPenableDebugSol(self._scip)
 * 
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_must_be_built_with_DEBUGSOL};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8418, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 8418, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":8417
 *         enabled for the SCIP data structure.
 *         """
 *         if not PYSCIPOPT_WITH_DEBUG_SOLUTION:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("SCIP must be built with `DEBUGSOL=true` to enable the debug solution mechanism.")
 *         SCIPenableDebugSol(self._scip)
*/
  }

  /* "src/pyscipopt/scip.pxi":8419
 *         if not PYSCIPOPT_WITH_DEBUG_SOLUTION:
 *             raise RuntimeError("SCIP must be built with `DEBUGSOL=true` to enable the debug solution mechanism.")
 *         SCIPenableDebugSol(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def disableDebugSol(self):
*/
  SCIPenableDebugSol(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":8411
 *         PY_SCIP_CALL(SCIPsetRelaxSolVal(self._scip, NULL, var.scip_var, val))
 * 
 *     def enableDebugSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Enables the debug solution mechanism, which allows tracing back the invalidation of
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.enableDebugSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8421
 *         SCIPenableDebugSol(self._scip)
 * 
 *     def disableDebugSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Disables the debug solution mechanism.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_483disableDebugSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_482disableDebugSol, "\n        Disables the debug solution mechanism.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_483disableDebugSol = {"disableDebugSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_483disableDebugSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_482disableDebugSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_483disableDebugSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("disableDebugSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("disableDebugSol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("disableDebugSol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_482disableDebugSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_482disableDebugSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("disableDebugSol", 0);

  /* "src/pyscipopt/scip.pxi":8425
 *         Disables the debug solution mechanism.
 *         """
 *         if not PYSCIPOPT_WITH_DEBUG_SOLUTION:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("SCIP must be built with `DEBUGSOL=true` to disable the debug solution mechanism.")
 *         SCIPdisableDebugSol(self._scip)
*/
  __pyx_t_1 = (!PYSCIPOPT_WITH_DEBUG_SOLUTION);
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":8426
 *         """
 *         if not PYSCIPOPT_WITH_DEBUG_SOLUTION:
 *             raise RuntimeError("SCIP must be built with `DEBUGSOL=true` to disable the debug solution mechanism.")             # <<<<<<<<<<<<<<
 *         SCIPdisableDebugSol(self._scip)
 * 
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_must_be_built_with_DEBUGSOL_2};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_RuntimeError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8426, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 8426, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":8425
 *         Disables the debug solution mechanism.
 *         """
 *         if not PYSCIPOPT_WITH_DEBUG_SOLUTION:             # <<<<<<<<<<<<<<
 *             raise RuntimeError("SCIP must be built with `DEBUGSOL=true` to disable the debug solution mechanism.")
 *         SCIPdisableDebugSol(self._scip)
*/
  }

  /* "src/pyscipopt/scip.pxi":8427
 *         if not PYSCIPOPT_WITH_DEBUG_SOLUTION:
 *             raise RuntimeError("SCIP must be built with `DEBUGSOL=true` to disable the debug solution mechanism.")
 *         SCIPdisableDebugSol(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getConss(self, transformed=True):
*/
  SCIPdisableDebugSol(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":8421
 *         SCIPenableDebugSol(self._scip)
 * 
 *     def disableDebugSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Disables the debug solution mechanism.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.disableDebugSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8429
 *         SCIPdisableDebugSol(self._scip)
 * 
 *     def getConss(self, transformed=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve all constraints.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_485getConss(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_484getConss, "\n        Retrieve all constraints.\n\n        Parameters\n        ----------\n        transformed : bool, optional\n            get transformed variables instead of original (Default value = True)\n\n        Returns\n        -------\n        list of Constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_485getConss = {"getConss", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_485getConss, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_484getConss};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_485getConss(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_transformed = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getConss (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_transformed,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8429, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getConss", 0) < (0)) __PYX_ERR(2, 8429, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_transformed = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getConss", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 8429, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getConss", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_484getConss(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_transformed);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_484getConss(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_transformed) {
  SCIP_CONS **__pyx_v_conss;
  int __pyx_v_nconss;
  int __pyx_9genexpr52__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getConss", 0);

  /* "src/pyscipopt/scip.pxi":8447
 *         cdef int i
 * 
 *         if transformed:             # <<<<<<<<<<<<<<
 *             conss = SCIPgetConss(self._scip)
 *             nconss = SCIPgetNConss(self._scip)
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_transformed); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 8447, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":8448
 * 
 *         if transformed:
 *             conss = SCIPgetConss(self._scip)             # <<<<<<<<<<<<<<
 *             nconss = SCIPgetNConss(self._scip)
 *         else:
*/
    __pyx_v_conss = SCIPgetConss(__pyx_v_self->_scip);

    /* "src/pyscipopt/scip.pxi":8449
 *         if transformed:
 *             conss = SCIPgetConss(self._scip)
 *             nconss = SCIPgetNConss(self._scip)             # <<<<<<<<<<<<<<
 *         else:
 *             conss = SCIPgetOrigConss(self._scip)
*/
    __pyx_v_nconss = SCIPgetNConss(__pyx_v_self->_scip);

    /* "src/pyscipopt/scip.pxi":8447
 *         cdef int i
 * 
 *         if transformed:             # <<<<<<<<<<<<<<
 *             conss = SCIPgetConss(self._scip)
 *             nconss = SCIPgetNConss(self._scip)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":8451
 *             nconss = SCIPgetNConss(self._scip)
 *         else:
 *             conss = SCIPgetOrigConss(self._scip)             # <<<<<<<<<<<<<<
 *             nconss = SCIPgetNOrigConss(self._scip)
 * 
*/
  /*else*/ {
    __pyx_v_conss = SCIPgetOrigConss(__pyx_v_self->_scip);

    /* "src/pyscipopt/scip.pxi":8452
 *         else:
 *             conss = SCIPgetOrigConss(self._scip)
 *             nconss = SCIPgetNOrigConss(self._scip)             # <<<<<<<<<<<<<<
 * 
 *         return [self._getOrCreateCons(conss[i]) for i in range(nconss)]
*/
    __pyx_v_nconss = SCIPgetNOrigConss(__pyx_v_self->_scip);
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":8454
 *             nconss = SCIPgetNOrigConss(self._scip)
 * 
 *         return [self._getOrCreateCons(conss[i]) for i in range(nconss)]             # <<<<<<<<<<<<<<
 * 
 *     def getNConss(self, transformed=True):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8454, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_3 = __pyx_v_nconss;
    __pyx_t_4 = __pyx_t_3;
    for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
      __pyx_9genexpr52__pyx_v_i = __pyx_t_5;
      __pyx_t_6 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateCons(__pyx_v_self, (__pyx_v_conss[__pyx_9genexpr52__pyx_v_i])); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 8454, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(2, 8454, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    }
  } /* exit inner scope */
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8429
 *         SCIPdisableDebugSol(self._scip)
 * 
 *     def getConss(self, transformed=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve all constraints.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getConss", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8456
 *         return [self._getOrCreateCons(conss[i]) for i in range(nconss)]
 * 
 *     def getNConss(self, transformed=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of all constraints.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_487getNConss(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_486getNConss, "\n        Retrieve number of all constraints.\n\n        Parameters\n        ----------\n        transformed : bool, optional\n            get number of transformed variables instead of original (Default value = True)\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_487getNConss = {"getNConss", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_487getNConss, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_486getNConss};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_487getNConss(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_transformed = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNConss (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_transformed,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8456, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getNConss", 0) < (0)) __PYX_ERR(2, 8456, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_transformed = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getNConss", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 8456, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNConss", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_486getNConss(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_transformed);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_486getNConss(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_transformed) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNConss", 0);

  /* "src/pyscipopt/scip.pxi":8470
 * 
 *         """
 *         if transformed:             # <<<<<<<<<<<<<<
 *             return SCIPgetNConss(self._scip)
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_transformed); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 8470, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":8471
 *         """
 *         if transformed:
 *             return SCIPgetNConss(self._scip)             # <<<<<<<<<<<<<<
 *         else:
 *             return SCIPgetNOrigConss(self._scip)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyLong_From_int(SCIPgetNConss(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8471, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":8470
 * 
 *         """
 *         if transformed:             # <<<<<<<<<<<<<<
 *             return SCIPgetNConss(self._scip)
 *         else:
*/
  }

  /* "src/pyscipopt/scip.pxi":8473
 *             return SCIPgetNConss(self._scip)
 *         else:
 *             return SCIPgetNOrigConss(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def delCons(self, Constraint cons):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = __Pyx_PyLong_From_int(SCIPgetNOrigConss(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8473, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/scip.pxi":8456
 *         return [self._getOrCreateCons(conss[i]) for i in range(nconss)]
 * 
 *     def getNConss(self, transformed=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of all constraints.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNConss", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8475
 *             return SCIPgetNOrigConss(self._scip)
 * 
 *     def delCons(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Delete constraint from the model
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_489delCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_488delCons, "\n        Delete constraint from the model\n\n        Parameters\n        ----------\n        cons : Constraint\n            constraint to be deleted\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_489delCons = {"delCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_489delCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_488delCons};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_489delCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("delCons (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8475, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8475, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "delCons", 0) < (0)) __PYX_ERR(2, 8475, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("delCons", 1, 1, 1, i); __PYX_ERR(2, 8475, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8475, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("delCons", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8475, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.delCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8475, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_488delCons(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_488delCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("delCons", 0);

  /* "src/pyscipopt/scip.pxi":8485
 * 
 *         """
 *         del self._modelconss[cons.ptr()]             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPdelCons(self._scip, cons.scip_cons))
 *         # Remove from tracking and invalidate pointer. See issue #604.
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_cons);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_ptr, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8485, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (unlikely((PyObject_DelItem(__pyx_v_self->_modelconss, __pyx_t_1) < 0))) __PYX_ERR(2, 8485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8486
 *         """
 *         del self._modelconss[cons.ptr()]
 *         PY_SCIP_CALL(SCIPdelCons(self._scip, cons.scip_cons))             # <<<<<<<<<<<<<<
 *         # Remove from tracking and invalidate pointer. See issue #604.
 *         cons.scip_cons = NULL
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPdelCons(__pyx_v_self->_scip, __pyx_v_cons->scip_cons)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8486, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8488
 *         PY_SCIP_CALL(SCIPdelCons(self._scip, cons.scip_cons))
 *         # Remove from tracking and invalidate pointer. See issue #604.
 *         cons.scip_cons = NULL             # <<<<<<<<<<<<<<
 * 
 *     def delConsLocal(self, Constraint cons):
*/
  __pyx_v_cons->scip_cons = NULL;

  /* "src/pyscipopt/scip.pxi":8475
 *             return SCIPgetNOrigConss(self._scip)
 * 
 *     def delCons(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Delete constraint from the model
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.delCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8490
 *         cons.scip_cons = NULL
 * 
 *     def delConsLocal(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Delete constraint from the current node and its children.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_491delConsLocal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_490delConsLocal, "\n        Delete constraint from the current node and its children.\n\n        Parameters\n        ----------\n        cons : Constraint\n            constraint to be deleted\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_491delConsLocal = {"delConsLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_491delConsLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_490delConsLocal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_491delConsLocal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("delConsLocal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8490, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8490, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "delConsLocal", 0) < (0)) __PYX_ERR(2, 8490, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("delConsLocal", 1, 1, 1, i); __PYX_ERR(2, 8490, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8490, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("delConsLocal", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8490, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.delConsLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8490, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_490delConsLocal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_490delConsLocal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("delConsLocal", 0);

  /* "src/pyscipopt/scip.pxi":8500
 * 
 *         """
 *         PY_SCIP_CALL(SCIPdelConsLocal(self._scip, cons.scip_cons))             # <<<<<<<<<<<<<<
 * 
 *     def getValsLinear(self, Constraint cons):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPdelConsLocal(__pyx_v_self->_scip, __pyx_v_cons->scip_cons)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8500, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8490
 *         cons.scip_cons = NULL
 * 
 *     def delConsLocal(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Delete constraint from the current node and its children.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.delConsLocal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8502
 *         PY_SCIP_CALL(SCIPdelConsLocal(self._scip, cons.scip_cons))
 * 
 *     def getValsLinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the coefficients of a linear constraint
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_493getValsLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_492getValsLinear, "\n        Retrieve the coefficients of a linear constraint\n\n        Parameters\n        ----------\n        cons : Constraint\n            linear constraint to get the coefficients of\n\n        Returns\n        -------\n        dict of str to float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_493getValsLinear = {"getValsLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_493getValsLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_492getValsLinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_493getValsLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getValsLinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8502, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8502, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getValsLinear", 0) < (0)) __PYX_ERR(2, 8502, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getValsLinear", 1, 1, 1, i); __PYX_ERR(2, 8502, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8502, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getValsLinear", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8502, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getValsLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8502, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_492getValsLinear(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_492getValsLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  SCIP_VAR **__pyx_v_vars;
  SCIP_Real *__pyx_v_vals;
  int __pyx_v_i;
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_v_valsdict = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getValsLinear", 0);

  /* "src/pyscipopt/scip.pxi":8520
 *         cdef int i
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         if not constype == 'linear':
 *             raise Warning("coefficients not available for constraints of type ", constype)
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8520, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":8521
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'linear':             # <<<<<<<<<<<<<<
 *             raise Warning("coefficients not available for constraints of type ", constype)
 * 
*/
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_linear, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 8521, __pyx_L1_error)
  __pyx_t_6 = (!__pyx_t_5);
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":8522
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'linear':
 *             raise Warning("coefficients not available for constraints of type ", constype)             # <<<<<<<<<<<<<<
 * 
 *         vals = SCIPgetValsLinear(self._scip, cons.scip_cons)
*/
    __pyx_t_1 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_coefficients_not_available_for_c, __pyx_v_constype};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8522, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 8522, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":8521
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'linear':             # <<<<<<<<<<<<<<
 *             raise Warning("coefficients not available for constraints of type ", constype)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":8524
 *             raise Warning("coefficients not available for constraints of type ", constype)
 * 
 *         vals = SCIPgetValsLinear(self._scip, cons.scip_cons)             # <<<<<<<<<<<<<<
 *         vars = SCIPgetVarsLinear(self._scip, cons.scip_cons)
 * 
*/
  __pyx_v_vals = SCIPgetValsLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons);

  /* "src/pyscipopt/scip.pxi":8525
 * 
 *         vals = SCIPgetValsLinear(self._scip, cons.scip_cons)
 *         vars = SCIPgetVarsLinear(self._scip, cons.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *         valsdict = {}
*/
  __pyx_v_vars = SCIPgetVarsLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons);

  /* "src/pyscipopt/scip.pxi":8527
 *         vars = SCIPgetVarsLinear(self._scip, cons.scip_cons)
 * 
 *         valsdict = {}             # <<<<<<<<<<<<<<
 *         for i in range(SCIPgetNVarsLinear(self._scip, cons.scip_cons)):
 *             valsdict[bytes(SCIPvarGetName(vars[i])).decode('utf-8')] = vals[i]
*/
  __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_valsdict = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":8528
 * 
 *         valsdict = {}
 *         for i in range(SCIPgetNVarsLinear(self._scip, cons.scip_cons)):             # <<<<<<<<<<<<<<
 *             valsdict[bytes(SCIPvarGetName(vars[i])).decode('utf-8')] = vals[i]
 * 
*/
  __pyx_t_7 = SCIPgetNVarsLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons);
  __pyx_t_8 = __pyx_t_7;
  for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
    __pyx_v_i = __pyx_t_9;

    /* "src/pyscipopt/scip.pxi":8529
 *         valsdict = {}
 *         for i in range(SCIPgetNVarsLinear(self._scip, cons.scip_cons)):
 *             valsdict[bytes(SCIPvarGetName(vars[i])).decode('utf-8')] = vals[i]             # <<<<<<<<<<<<<<
 * 
 *         return valsdict
*/
    __pyx_t_3 = PyFloat_FromDouble((__pyx_v_vals[__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = NULL;
    __pyx_t_10 = __Pyx_PyBytes_FromString(SCIPvarGetName((__pyx_v_vars[__pyx_v_i]))); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_10};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8529, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_10 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8529, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely((PyDict_SetItem(__pyx_v_valsdict, __pyx_t_10, __pyx_t_3) < 0))) __PYX_ERR(2, 8529, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }

  /* "src/pyscipopt/scip.pxi":8531
 *             valsdict[bytes(SCIPvarGetName(vars[i])).decode('utf-8')] = vals[i]
 * 
 *         return valsdict             # <<<<<<<<<<<<<<
 * 
 *     def getWeightsKnapsack(self, Constraint cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_valsdict);
  __pyx_r = __pyx_v_valsdict;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8502
 *         PY_SCIP_CALL(SCIPdelConsLocal(self._scip, cons.scip_cons))
 * 
 *     def getValsLinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the coefficients of a linear constraint
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getValsLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XDECREF(__pyx_v_valsdict);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8533
 *         return valsdict
 * 
 *     def getWeightsKnapsack(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the coefficients of a knapsack constraint
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_495getWeightsKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_494getWeightsKnapsack, "\n        Retrieve the coefficients of a knapsack constraint\n\n        Parameters\n        ----------\n        cons : Constraint\n            knapsack constraint to get the coefficients of\n\n        Returns\n        -------\n        dict of str to float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_495getWeightsKnapsack = {"getWeightsKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_495getWeightsKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_494getWeightsKnapsack};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_495getWeightsKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getWeightsKnapsack (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8533, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8533, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getWeightsKnapsack", 0) < (0)) __PYX_ERR(2, 8533, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getWeightsKnapsack", 1, 1, 1, i); __PYX_ERR(2, 8533, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8533, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getWeightsKnapsack", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8533, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getWeightsKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8533, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_494getWeightsKnapsack(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_494getWeightsKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  SCIP_VAR **__pyx_v_vars;
  SCIP_Longint *__pyx_v_vals;
  int __pyx_v_nvars;
  int __pyx_v_i;
  PyObject *__pyx_v_constype = NULL;
  PyObject *__pyx_v_valsdict = NULL;
  PyObject *__pyx_v_var_name = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getWeightsKnapsack", 0);

  /* "src/pyscipopt/scip.pxi":8552
 *         cdef int i
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         if not constype == 'knapsack':
 *             raise Warning("weights not available for constraints of type ", constype)
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":8553
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'knapsack':             # <<<<<<<<<<<<<<
 *             raise Warning("weights not available for constraints of type ", constype)
 * 
*/
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_knapsack, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 8553, __pyx_L1_error)
  __pyx_t_6 = (!__pyx_t_5);
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":8554
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'knapsack':
 *             raise Warning("weights not available for constraints of type ", constype)             # <<<<<<<<<<<<<<
 * 
 *         nvars = SCIPgetNVarsKnapsack(self._scip, cons.scip_cons)
*/
    __pyx_t_1 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_weights_not_available_for_constr, __pyx_v_constype};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8554, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 8554, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":8553
 * 
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'knapsack':             # <<<<<<<<<<<<<<
 *             raise Warning("weights not available for constraints of type ", constype)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":8556
 *             raise Warning("weights not available for constraints of type ", constype)
 * 
 *         nvars = SCIPgetNVarsKnapsack(self._scip, cons.scip_cons)             # <<<<<<<<<<<<<<
 *         vals = SCIPgetWeightsKnapsack(self._scip, cons.scip_cons)
 *         vars = SCIPgetVarsKnapsack(self._scip, cons.scip_cons)
*/
  __pyx_v_nvars = SCIPgetNVarsKnapsack(__pyx_v_self->_scip, __pyx_v_cons->scip_cons);

  /* "src/pyscipopt/scip.pxi":8557
 * 
 *         nvars = SCIPgetNVarsKnapsack(self._scip, cons.scip_cons)
 *         vals = SCIPgetWeightsKnapsack(self._scip, cons.scip_cons)             # <<<<<<<<<<<<<<
 *         vars = SCIPgetVarsKnapsack(self._scip, cons.scip_cons)
 * 
*/
  __pyx_v_vals = SCIPgetWeightsKnapsack(__pyx_v_self->_scip, __pyx_v_cons->scip_cons);

  /* "src/pyscipopt/scip.pxi":8558
 *         nvars = SCIPgetNVarsKnapsack(self._scip, cons.scip_cons)
 *         vals = SCIPgetWeightsKnapsack(self._scip, cons.scip_cons)
 *         vars = SCIPgetVarsKnapsack(self._scip, cons.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *         valsdict = {}
*/
  __pyx_v_vars = SCIPgetVarsKnapsack(__pyx_v_self->_scip, __pyx_v_cons->scip_cons);

  /* "src/pyscipopt/scip.pxi":8560
 *         vars = SCIPgetVarsKnapsack(self._scip, cons.scip_cons)
 * 
 *         valsdict = {}             # <<<<<<<<<<<<<<
 *         for i in range(nvars):
 *             var_name = bytes(SCIPvarGetName(vars[i])).decode('utf-8')
*/
  __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8560, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_v_valsdict = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":8561
 * 
 *         valsdict = {}
 *         for i in range(nvars):             # <<<<<<<<<<<<<<
 *             var_name = bytes(SCIPvarGetName(vars[i])).decode('utf-8')
 *             valsdict[var_name] = vals[i]
*/
  __pyx_t_7 = __pyx_v_nvars;
  __pyx_t_8 = __pyx_t_7;
  for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
    __pyx_v_i = __pyx_t_9;

    /* "src/pyscipopt/scip.pxi":8562
 *         valsdict = {}
 *         for i in range(nvars):
 *             var_name = bytes(SCIPvarGetName(vars[i])).decode('utf-8')             # <<<<<<<<<<<<<<
 *             valsdict[var_name] = vals[i]
 * 
*/
    __pyx_t_1 = NULL;
    __pyx_t_2 = __Pyx_PyBytes_FromString(SCIPvarGetName((__pyx_v_vars[__pyx_v_i]))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8562, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_2 = __Pyx_decode_bytes(__pyx_t_3, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF_SET(__pyx_v_var_name, ((PyObject*)__pyx_t_2));
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":8563
 *         for i in range(nvars):
 *             var_name = bytes(SCIPvarGetName(vars[i])).decode('utf-8')
 *             valsdict[var_name] = vals[i]             # <<<<<<<<<<<<<<
 * 
 *         return valsdict
*/
    __pyx_t_2 = __Pyx_PyLong_From_SCIP_Longint((__pyx_v_vals[__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely((PyDict_SetItem(__pyx_v_valsdict, __pyx_v_var_name, __pyx_t_2) < 0))) __PYX_ERR(2, 8563, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/pyscipopt/scip.pxi":8565
 *             valsdict[var_name] = vals[i]
 * 
 *         return valsdict             # <<<<<<<<<<<<<<
 * 
 *     def getRowLinear(self, Constraint cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_valsdict);
  __pyx_r = __pyx_v_valsdict;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8533
 *         return valsdict
 * 
 *     def getWeightsKnapsack(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the coefficients of a knapsack constraint
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getWeightsKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XDECREF(__pyx_v_valsdict);
  __Pyx_XDECREF(__pyx_v_var_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8567
 *         return valsdict
 * 
 *     def getRowLinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the linear relaxation of the given linear constraint as a row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_497getRowLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_496getRowLinear, "\n        Retrieve the linear relaxation of the given linear constraint as a row.\n        May return NULL if no LP row was yet created; the user must not modify the row!\n\n        Parameters\n        ----------\n        cons : Constraint\n            linear constraint to get the coefficients of\n\n        Returns\n        -------\n        Row\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_497getRowLinear = {"getRowLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_497getRowLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_496getRowLinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_497getRowLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getRowLinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8567, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8567, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getRowLinear", 0) < (0)) __PYX_ERR(2, 8567, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getRowLinear", 1, 1, 1, i); __PYX_ERR(2, 8567, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8567, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getRowLinear", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8567, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8567, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_496getRowLinear(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_496getRowLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  PyObject *__pyx_v_constype = NULL;
  SCIP_ROW *__pyx_v_row;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getRowLinear", 0);

  /* "src/pyscipopt/scip.pxi":8582
 * 
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         if not constype == 'linear':
 *             raise Warning("coefficients not available for constraints of type ", constype)
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":8583
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'linear':             # <<<<<<<<<<<<<<
 *             raise Warning("coefficients not available for constraints of type ", constype)
 * 
*/
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_linear, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 8583, __pyx_L1_error)
  __pyx_t_6 = (!__pyx_t_5);
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":8584
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'linear':
 *             raise Warning("coefficients not available for constraints of type ", constype)             # <<<<<<<<<<<<<<
 * 
 *         cdef SCIP_ROW* row = SCIPgetRowLinear(self._scip, cons.scip_cons)
*/
    __pyx_t_1 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_coefficients_not_available_for_c, __pyx_v_constype};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8584, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 8584, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":8583
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'linear':             # <<<<<<<<<<<<<<
 *             raise Warning("coefficients not available for constraints of type ", constype)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":8586
 *             raise Warning("coefficients not available for constraints of type ", constype)
 * 
 *         cdef SCIP_ROW* row = SCIPgetRowLinear(self._scip, cons.scip_cons)             # <<<<<<<<<<<<<<
 *         return Row.create(row)
 * 
*/
  __pyx_v_row = SCIPgetRowLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons);

  /* "src/pyscipopt/scip.pxi":8587
 * 
 *         cdef SCIP_ROW* row = SCIPgetRowLinear(self._scip, cons.scip_cons)
 *         return Row.create(row)             # <<<<<<<<<<<<<<
 * 
 *     def getDualsolLinear(self, Constraint cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = __pyx_f_9pyscipopt_4scip_3Row_create(__pyx_v_row); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8567
 *         return valsdict
 * 
 *     def getRowLinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the linear relaxation of the given linear constraint as a row.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getRowLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8589
 *         return Row.create(row)
 * 
 *     def getDualsolLinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the dual solution to a linear constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_499getDualsolLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_498getDualsolLinear, "\n        Retrieve the dual solution to a linear constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            linear constraint\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_499getDualsolLinear = {"getDualsolLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_499getDualsolLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_498getDualsolLinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_499getDualsolLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDualsolLinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8589, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8589, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getDualsolLinear", 0) < (0)) __PYX_ERR(2, 8589, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getDualsolLinear", 1, 1, 1, i); __PYX_ERR(2, 8589, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8589, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDualsolLinear", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8589, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualsolLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8589, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_498getDualsolLinear(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_498getDualsolLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  PyObject *__pyx_v_constype = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_transcons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDualsolLinear", 0);

  /* "src/pyscipopt/scip.pxi":8603
 * 
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         if not constype == 'linear':
 *             raise Warning("dual solution values not available for constraints of type ", constype)
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8603, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":8604
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'linear':             # <<<<<<<<<<<<<<
 *             raise Warning("dual solution values not available for constraints of type ", constype)
 *         if cons.isOriginal():
*/
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_linear, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 8604, __pyx_L1_error)
  __pyx_t_6 = (!__pyx_t_5);
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":8605
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'linear':
 *             raise Warning("dual solution values not available for constraints of type ", constype)             # <<<<<<<<<<<<<<
 *         if cons.isOriginal():
 *             transcons = <Constraint>self.getTransformedCons(cons)
*/
    __pyx_t_1 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_dual_solution_values_not_availab, __pyx_v_constype};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8605, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 8605, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":8604
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'linear':             # <<<<<<<<<<<<<<
 *             raise Warning("dual solution values not available for constraints of type ", constype)
 *         if cons.isOriginal():
*/
  }

  /* "src/pyscipopt/scip.pxi":8606
 *         if not constype == 'linear':
 *             raise Warning("dual solution values not available for constraints of type ", constype)
 *         if cons.isOriginal():             # <<<<<<<<<<<<<<
 *             transcons = <Constraint>self.getTransformedCons(cons)
 *         else:
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_cons);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isOriginal, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8606, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 8606, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":8607
 *             raise Warning("dual solution values not available for constraints of type ", constype)
 *         if cons.isOriginal():
 *             transcons = <Constraint>self.getTransformedCons(cons)             # <<<<<<<<<<<<<<
 *         else:
 *             transcons = cons
*/
    __pyx_t_1 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_cons)};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getTransformedCons, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8607, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_1 = __pyx_t_3;
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_transcons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":8606
 *         if not constype == 'linear':
 *             raise Warning("dual solution values not available for constraints of type ", constype)
 *         if cons.isOriginal():             # <<<<<<<<<<<<<<
 *             transcons = <Constraint>self.getTransformedCons(cons)
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":8609
 *             transcons = <Constraint>self.getTransformedCons(cons)
 *         else:
 *             transcons = cons             # <<<<<<<<<<<<<<
 *         return SCIPgetDualsolLinear(self._scip, transcons.scip_cons)
 * 
*/
  /*else*/ {
    __Pyx_INCREF((PyObject *)__pyx_v_cons);
    __pyx_v_transcons = __pyx_v_cons;
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":8610
 *         else:
 *             transcons = cons
 *         return SCIPgetDualsolLinear(self._scip, transcons.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def getDualsolKnapsack(self, Constraint cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetDualsolLinear(__pyx_v_self->_scip, __pyx_v_transcons->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8589
 *         return Row.create(row)
 * 
 *     def getDualsolLinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the dual solution to a linear constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualsolLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XDECREF((PyObject *)__pyx_v_transcons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8612
 *         return SCIPgetDualsolLinear(self._scip, transcons.scip_cons)
 * 
 *     def getDualsolKnapsack(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the dual solution to a knapsack constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_501getDualsolKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_500getDualsolKnapsack, "\n        Retrieve the dual solution to a knapsack constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            knapsack constraint\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_501getDualsolKnapsack = {"getDualsolKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_501getDualsolKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_500getDualsolKnapsack};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_501getDualsolKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDualsolKnapsack (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8612, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8612, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getDualsolKnapsack", 0) < (0)) __PYX_ERR(2, 8612, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getDualsolKnapsack", 1, 1, 1, i); __PYX_ERR(2, 8612, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8612, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDualsolKnapsack", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8612, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualsolKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8612, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_500getDualsolKnapsack(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_500getDualsolKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  PyObject *__pyx_v_constype = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_transcons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDualsolKnapsack", 0);

  /* "src/pyscipopt/scip.pxi":8626
 * 
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')             # <<<<<<<<<<<<<<
 *         if not constype == 'knapsack':
 *             raise Warning("dual solution values not available for constraints of type ", constype)
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = __Pyx_PyBytes_FromString(SCIPconshdlrGetName(SCIPconsGetHdlr(__pyx_v_cons->scip_cons))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(&PyBytes_Type), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8626, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __Pyx_decode_bytes(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8626, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_constype = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":8627
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'knapsack':             # <<<<<<<<<<<<<<
 *             raise Warning("dual solution values not available for constraints of type ", constype)
 *         if cons.isOriginal():
*/
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_constype, __pyx_mstate_global->__pyx_n_u_knapsack, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 8627, __pyx_L1_error)
  __pyx_t_6 = (!__pyx_t_5);
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":8628
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'knapsack':
 *             raise Warning("dual solution values not available for constraints of type ", constype)             # <<<<<<<<<<<<<<
 *         if cons.isOriginal():
 *             transcons = cons
*/
    __pyx_t_1 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_dual_solution_values_not_availab, __pyx_v_constype};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8628, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 8628, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":8627
 *         """
 *         constype = bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(cons.scip_cons))).decode('UTF-8')
 *         if not constype == 'knapsack':             # <<<<<<<<<<<<<<
 *             raise Warning("dual solution values not available for constraints of type ", constype)
 *         if cons.isOriginal():
*/
  }

  /* "src/pyscipopt/scip.pxi":8629
 *         if not constype == 'knapsack':
 *             raise Warning("dual solution values not available for constraints of type ", constype)
 *         if cons.isOriginal():             # <<<<<<<<<<<<<<
 *             transcons = cons
 *         else:
*/
  __pyx_t_1 = ((PyObject *)__pyx_v_cons);
  __Pyx_INCREF(__pyx_t_1);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
    __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isOriginal, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8629, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
  }
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 8629, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":8630
 *             raise Warning("dual solution values not available for constraints of type ", constype)
 *         if cons.isOriginal():
 *             transcons = cons             # <<<<<<<<<<<<<<
 *         else:
 *             transcons = <Constraint>self.getTransformedCons(cons)
*/
    __Pyx_INCREF((PyObject *)__pyx_v_cons);
    __pyx_v_transcons = __pyx_v_cons;

    /* "src/pyscipopt/scip.pxi":8629
 *         if not constype == 'knapsack':
 *             raise Warning("dual solution values not available for constraints of type ", constype)
 *         if cons.isOriginal():             # <<<<<<<<<<<<<<
 *             transcons = cons
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":8632
 *             transcons = cons
 *         else:
 *             transcons = <Constraint>self.getTransformedCons(cons)             # <<<<<<<<<<<<<<
 *         return SCIPgetDualsolKnapsack(self._scip, transcons.scip_cons)
 * 
*/
  /*else*/ {
    __pyx_t_1 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_v_cons)};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getTransformedCons, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8632, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_1 = __pyx_t_3;
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_transcons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":8633
 *         else:
 *             transcons = <Constraint>self.getTransformedCons(cons)
 *         return SCIPgetDualsolKnapsack(self._scip, transcons.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def getDualMultiplier(self, Constraint cons):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetDualsolKnapsack(__pyx_v_self->_scip, __pyx_v_transcons->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8612
 *         return SCIPgetDualsolLinear(self._scip, transcons.scip_cons)
 * 
 *     def getDualsolKnapsack(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the dual solution to a knapsack constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualsolKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_constype);
  __Pyx_XDECREF((PyObject *)__pyx_v_transcons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8635
 *         return SCIPgetDualsolKnapsack(self._scip, transcons.scip_cons)
 * 
 *     def getDualMultiplier(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         DEPRECATED: Retrieve the dual solution to a linear constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_503getDualMultiplier(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_502getDualMultiplier, "\n        DEPRECATED: Retrieve the dual solution to a linear constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            linear constraint\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_503getDualMultiplier = {"getDualMultiplier", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_503getDualMultiplier, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_502getDualMultiplier};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_503getDualMultiplier(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDualMultiplier (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8635, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8635, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getDualMultiplier", 0) < (0)) __PYX_ERR(2, 8635, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getDualMultiplier", 1, 1, 1, i); __PYX_ERR(2, 8635, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8635, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDualMultiplier", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8635, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualMultiplier", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8635, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_502getDualMultiplier(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_502getDualMultiplier(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDualMultiplier", 0);

  /* "src/pyscipopt/scip.pxi":8649
 * 
 *         """
 *         raise Warning("model.getDualMultiplier(cons) is deprecated: please use model.getDualsolLinear(cons)")             # <<<<<<<<<<<<<<
 * 
 *     def getDualfarkasLinear(self, Constraint cons):
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_model_getDualMultiplier_cons_is};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8649, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __PYX_ERR(2, 8649, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":8635
 *         return SCIPgetDualsolKnapsack(self._scip, transcons.scip_cons)
 * 
 *     def getDualMultiplier(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         DEPRECATED: Retrieve the dual solution to a linear constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualMultiplier", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8651
 *         raise Warning("model.getDualMultiplier(cons) is deprecated: please use model.getDualsolLinear(cons)")
 * 
 *     def getDualfarkasLinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the dual farkas value to a linear constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_505getDualfarkasLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_504getDualfarkasLinear, "\n        Retrieve the dual farkas value to a linear constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            linear constraint\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_505getDualfarkasLinear = {"getDualfarkasLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_505getDualfarkasLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_504getDualfarkasLinear};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_505getDualfarkasLinear(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDualfarkasLinear (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8651, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8651, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getDualfarkasLinear", 0) < (0)) __PYX_ERR(2, 8651, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getDualfarkasLinear", 1, 1, 1, i); __PYX_ERR(2, 8651, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8651, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDualfarkasLinear", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8651, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualfarkasLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8651, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_504getDualfarkasLinear(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_504getDualfarkasLinear(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_transcons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDualfarkasLinear", 0);

  /* "src/pyscipopt/scip.pxi":8666
 *         """
 *         # TODO this should ideally be handled on the SCIP side
 *         if cons.isOriginal():             # <<<<<<<<<<<<<<
 *             transcons = <Constraint>self.getTransformedCons(cons)
 *             return SCIPgetDualfarkasLinear(self._scip, transcons.scip_cons)
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_cons);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isOriginal, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8666, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 8666, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_4) {

    /* "src/pyscipopt/scip.pxi":8667
 *         # TODO this should ideally be handled on the SCIP side
 *         if cons.isOriginal():
 *             transcons = <Constraint>self.getTransformedCons(cons)             # <<<<<<<<<<<<<<
 *             return SCIPgetDualfarkasLinear(self._scip, transcons.scip_cons)
 *         else:
*/
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_cons)};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getTransformedCons, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8667, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_2 = __pyx_t_1;
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_transcons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":8668
 *         if cons.isOriginal():
 *             transcons = <Constraint>self.getTransformedCons(cons)
 *             return SCIPgetDualfarkasLinear(self._scip, transcons.scip_cons)             # <<<<<<<<<<<<<<
 *         else:
 *             return SCIPgetDualfarkasLinear(self._scip, cons.scip_cons)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyFloat_FromDouble(SCIPgetDualfarkasLinear(__pyx_v_self->_scip, __pyx_v_transcons->scip_cons)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8668, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":8666
 *         """
 *         # TODO this should ideally be handled on the SCIP side
 *         if cons.isOriginal():             # <<<<<<<<<<<<<<
 *             transcons = <Constraint>self.getTransformedCons(cons)
 *             return SCIPgetDualfarkasLinear(self._scip, transcons.scip_cons)
*/
  }

  /* "src/pyscipopt/scip.pxi":8670
 *             return SCIPgetDualfarkasLinear(self._scip, transcons.scip_cons)
 *         else:
 *             return SCIPgetDualfarkasLinear(self._scip, cons.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def getDualfarkasKnapsack(self, Constraint cons):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyFloat_FromDouble(SCIPgetDualfarkasLinear(__pyx_v_self->_scip, __pyx_v_cons->scip_cons)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8670, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/scip.pxi":8651
 *         raise Warning("model.getDualMultiplier(cons) is deprecated: please use model.getDualsolLinear(cons)")
 * 
 *     def getDualfarkasLinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the dual farkas value to a linear constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualfarkasLinear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_transcons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8672
 *             return SCIPgetDualfarkasLinear(self._scip, cons.scip_cons)
 * 
 *     def getDualfarkasKnapsack(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the dual farkas value to a knapsack constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_507getDualfarkasKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_506getDualfarkasKnapsack, "\n        Retrieve the dual farkas value to a knapsack constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            knapsack constraint\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_507getDualfarkasKnapsack = {"getDualfarkasKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_507getDualfarkasKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_506getDualfarkasKnapsack};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_507getDualfarkasKnapsack(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDualfarkasKnapsack (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8672, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8672, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getDualfarkasKnapsack", 0) < (0)) __PYX_ERR(2, 8672, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getDualfarkasKnapsack", 1, 1, 1, i); __PYX_ERR(2, 8672, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8672, __pyx_L3_error)
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDualfarkasKnapsack", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8672, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualfarkasKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8672, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_506getDualfarkasKnapsack(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_506getDualfarkasKnapsack(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_transcons = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDualfarkasKnapsack", 0);

  /* "src/pyscipopt/scip.pxi":8687
 *         """
 *         # TODO this should ideally be handled on the SCIP side
 *         if cons.isOriginal():             # <<<<<<<<<<<<<<
 *             return SCIPgetDualfarkasKnapsack(self._scip, cons.scip_cons)
 *         else:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_cons);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_isOriginal, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8687, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 8687, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_4) {

    /* "src/pyscipopt/scip.pxi":8688
 *         # TODO this should ideally be handled on the SCIP side
 *         if cons.isOriginal():
 *             return SCIPgetDualfarkasKnapsack(self._scip, cons.scip_cons)             # <<<<<<<<<<<<<<
 *         else:
 *             transcons = <Constraint>self.getTransformedCons(cons)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = PyFloat_FromDouble(SCIPgetDualfarkasKnapsack(__pyx_v_self->_scip, __pyx_v_cons->scip_cons)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8688, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":8687
 *         """
 *         # TODO this should ideally be handled on the SCIP side
 *         if cons.isOriginal():             # <<<<<<<<<<<<<<
 *             return SCIPgetDualfarkasKnapsack(self._scip, cons.scip_cons)
 *         else:
*/
  }

  /* "src/pyscipopt/scip.pxi":8690
 *             return SCIPgetDualfarkasKnapsack(self._scip, cons.scip_cons)
 *         else:
 *             transcons = <Constraint>self.getTransformedCons(cons)             # <<<<<<<<<<<<<<
 *             return SCIPgetDualfarkasKnapsack(self._scip, transcons.scip_cons)
 * 
*/
  /*else*/ {
    __pyx_t_2 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_cons)};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getTransformedCons, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8690, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_2 = __pyx_t_1;
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_v_transcons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":8691
 *         else:
 *             transcons = <Constraint>self.getTransformedCons(cons)
 *             return SCIPgetDualfarkasKnapsack(self._scip, transcons.scip_cons)             # <<<<<<<<<<<<<<
 * 
 *     def getVarRedcost(self, Variable var):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_2 = PyFloat_FromDouble(SCIPgetDualfarkasKnapsack(__pyx_v_self->_scip, __pyx_v_transcons->scip_cons)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8691, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_r = __pyx_t_2;
    __pyx_t_2 = 0;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/scip.pxi":8672
 *             return SCIPgetDualfarkasLinear(self._scip, cons.scip_cons)
 * 
 *     def getDualfarkasKnapsack(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the dual farkas value to a knapsack constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualfarkasKnapsack", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_transcons);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8693
 *             return SCIPgetDualfarkasKnapsack(self._scip, transcons.scip_cons)
 * 
 *     def getVarRedcost(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the reduced cost of a variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_509getVarRedcost(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_508getVarRedcost, "\n        Retrieve the reduced cost of a variable.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to get the reduced cost of\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_509getVarRedcost = {"getVarRedcost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_509getVarRedcost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_508getVarRedcost};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_509getVarRedcost(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVarRedcost (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8693, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8693, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getVarRedcost", 0) < (0)) __PYX_ERR(2, 8693, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getVarRedcost", 1, 1, 1, i); __PYX_ERR(2, 8693, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8693, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getVarRedcost", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8693, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarRedcost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 8693, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_508getVarRedcost(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_508getVarRedcost(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  PyObject *__pyx_v_redcost = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVarRedcost", 0);

  /* "src/pyscipopt/scip.pxi":8707
 * 
 *         """
 *         redcost = None             # <<<<<<<<<<<<<<
 *         try:
 *             redcost = SCIPgetVarRedcost(self._scip, var.scip_var)
*/
  __Pyx_INCREF(Py_None);
  __pyx_v_redcost = Py_None;

  /* "src/pyscipopt/scip.pxi":8708
 *         """
 *         redcost = None
 *         try:             # <<<<<<<<<<<<<<
 *             redcost = SCIPgetVarRedcost(self._scip, var.scip_var)
 *             if self.getObjectiveSense() == "maximize":
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "src/pyscipopt/scip.pxi":8709
 *         redcost = None
 *         try:
 *             redcost = SCIPgetVarRedcost(self._scip, var.scip_var)             # <<<<<<<<<<<<<<
 *             if self.getObjectiveSense() == "maximize":
 *                 redcost = -redcost
*/
      __pyx_t_4 = PyFloat_FromDouble(SCIPgetVarRedcost(__pyx_v_self->_scip, __pyx_v_var->scip_var)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8709, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF_SET(__pyx_v_redcost, __pyx_t_4);
      __pyx_t_4 = 0;

      /* "src/pyscipopt/scip.pxi":8710
 *         try:
 *             redcost = SCIPgetVarRedcost(self._scip, var.scip_var)
 *             if self.getObjectiveSense() == "maximize":             # <<<<<<<<<<<<<<
 *                 redcost = -redcost
 *         except:
*/
      __pyx_t_5 = ((PyObject *)__pyx_v_self);
      __Pyx_INCREF(__pyx_t_5);
      __pyx_t_6 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
        __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getObjectiveSense, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8710, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_maximize, Py_EQ)); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 8710, __pyx_L3_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (__pyx_t_7) {

        /* "src/pyscipopt/scip.pxi":8711
 *             redcost = SCIPgetVarRedcost(self._scip, var.scip_var)
 *             if self.getObjectiveSense() == "maximize":
 *                 redcost = -redcost             # <<<<<<<<<<<<<<
 *         except:
 *             raise Warning("no reduced cost available for variable " + var.name)
*/
        __pyx_t_4 = PyNumber_Negative(__pyx_v_redcost); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8711, __pyx_L3_error)
        __Pyx_GOTREF(__pyx_t_4);
        __Pyx_DECREF_SET(__pyx_v_redcost, __pyx_t_4);
        __pyx_t_4 = 0;

        /* "src/pyscipopt/scip.pxi":8710
 *         try:
 *             redcost = SCIPgetVarRedcost(self._scip, var.scip_var)
 *             if self.getObjectiveSense() == "maximize":             # <<<<<<<<<<<<<<
 *                 redcost = -redcost
 *         except:
*/
      }

      /* "src/pyscipopt/scip.pxi":8708
 *         """
 *         redcost = None
 *         try:             # <<<<<<<<<<<<<<
 *             redcost = SCIPgetVarRedcost(self._scip, var.scip_var)
 *             if self.getObjectiveSense() == "maximize":
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L8_try_end;
    __pyx_L3_error:;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "src/pyscipopt/scip.pxi":8712
 *             if self.getObjectiveSense() == "maximize":
 *                 redcost = -redcost
 *         except:             # <<<<<<<<<<<<<<
 *             raise Warning("no reduced cost available for variable " + var.name)
 *         return redcost
*/
    /*except:*/ {
      __Pyx_AddTraceback("pyscipopt.scip.Model.getVarRedcost", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_8) < 0) __PYX_ERR(2, 8712, __pyx_L5_except_error)
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_5);
      __Pyx_XGOTREF(__pyx_t_8);

      /* "src/pyscipopt/scip.pxi":8713
 *                 redcost = -redcost
 *         except:
 *             raise Warning("no reduced cost available for variable " + var.name)             # <<<<<<<<<<<<<<
 *         return redcost
 * 
*/
      __pyx_t_10 = NULL;
      __pyx_t_11 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8713, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_11);
      __pyx_t_12 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_no_reduced_cost_available_for_va, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 8713, __pyx_L5_except_error)
      __Pyx_GOTREF(__pyx_t_12);
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_12};
        __pyx_t_9 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 8713, __pyx_L5_except_error)
        __Pyx_GOTREF(__pyx_t_9);
      }
      __Pyx_Raise(__pyx_t_9, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      __PYX_ERR(2, 8713, __pyx_L5_except_error)
    }

    /* "src/pyscipopt/scip.pxi":8708
 *         """
 *         redcost = None
 *         try:             # <<<<<<<<<<<<<<
 *             redcost = SCIPgetVarRedcost(self._scip, var.scip_var)
 *             if self.getObjectiveSense() == "maximize":
*/
    __pyx_L5_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L8_try_end:;
  }

  /* "src/pyscipopt/scip.pxi":8714
 *         except:
 *             raise Warning("no reduced cost available for variable " + var.name)
 *         return redcost             # <<<<<<<<<<<<<<
 * 
 *     def getDualSolVal(self, Constraint cons, boundconstraint=False):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_redcost);
  __pyx_r = __pyx_v_redcost;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8693
 *             return SCIPgetDualfarkasKnapsack(self._scip, transcons.scip_cons)
 * 
 *     def getVarRedcost(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the reduced cost of a variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarRedcost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_redcost);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8716
 *         return redcost
 * 
 *     def getDualSolVal(self, Constraint cons, boundconstraint=False):             # <<<<<<<<<<<<<<
 *         """
 *         Returns dual solution value of a constraint.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_511getDualSolVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_510getDualSolVal, "\n        Returns dual solution value of a constraint.\n\n        Parameters\n        ----------\n        cons : Constraint\n            constraint to get the dual solution value of\n        boundconstraint : bool, optional\n            Decides whether to store a bool if the constraint is a bound constraint\n            (default = False)\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_511getDualSolVal = {"getDualSolVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_511getDualSolVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_510getDualSolVal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_511getDualSolVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons = 0;
  PyObject *__pyx_v_boundconstraint = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDualSolVal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cons,&__pyx_mstate_global->__pyx_n_u_boundconstraint,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8716, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8716, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8716, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getDualSolVal", 0) < (0)) __PYX_ERR(2, 8716, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getDualSolVal", 0, 1, 2, i); __PYX_ERR(2, 8716, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8716, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8716, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_cons = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)values[0]);
    __pyx_v_boundconstraint = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getDualSolVal", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 8716, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualSolVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cons), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, 1, "cons", 0))) __PYX_ERR(2, 8716, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_510getDualSolVal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cons, __pyx_v_boundconstraint);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_510getDualSolVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_cons, PyObject *__pyx_v_boundconstraint) {
  SCIP_Real __pyx_v__dualsol;
  SCIP_Bool __pyx_v__bounded;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDualSolVal", 0);

  /* "src/pyscipopt/scip.pxi":8736
 *         cdef SCIP_Bool _bounded
 * 
 *         if boundconstraint:             # <<<<<<<<<<<<<<
 *             SCIPgetDualSolVal(self._scip, cons.scip_cons, &_dualsol, &_bounded)
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_boundconstraint); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 8736, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":8737
 * 
 *         if boundconstraint:
 *             SCIPgetDualSolVal(self._scip, cons.scip_cons, &_dualsol, &_bounded)             # <<<<<<<<<<<<<<
 *         else:
 *             SCIPgetDualSolVal(self._scip, cons.scip_cons, &_dualsol, NULL)
*/
    (void)(SCIPgetDualSolVal(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, (&__pyx_v__dualsol), (&__pyx_v__bounded)));

    /* "src/pyscipopt/scip.pxi":8736
 *         cdef SCIP_Bool _bounded
 * 
 *         if boundconstraint:             # <<<<<<<<<<<<<<
 *             SCIPgetDualSolVal(self._scip, cons.scip_cons, &_dualsol, &_bounded)
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":8739
 *             SCIPgetDualSolVal(self._scip, cons.scip_cons, &_dualsol, &_bounded)
 *         else:
 *             SCIPgetDualSolVal(self._scip, cons.scip_cons, &_dualsol, NULL)             # <<<<<<<<<<<<<<
 * 
 *         return _dualsol
*/
  /*else*/ {
    (void)(SCIPgetDualSolVal(__pyx_v_self->_scip, __pyx_v_cons->scip_cons, (&__pyx_v__dualsol), NULL));
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":8741
 *             SCIPgetDualSolVal(self._scip, cons.scip_cons, &_dualsol, NULL)
 * 
 *         return _dualsol             # <<<<<<<<<<<<<<
 * 
 *     def optimize(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v__dualsol); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8716
 *         return redcost
 * 
 *     def getDualSolVal(self, Constraint cons, boundconstraint=False):             # <<<<<<<<<<<<<<
 *         """
 *         Returns dual solution value of a constraint.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualSolVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8743
 *         return _dualsol
 * 
 *     def optimize(self):             # <<<<<<<<<<<<<<
 *         """Optimize the problem."""
 *         PY_SCIP_CALL(SCIPsolve(self._scip))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_513optimize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_512optimize, "Optimize the problem.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_513optimize = {"optimize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_513optimize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_512optimize};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_513optimize(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("optimize (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("optimize", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("optimize", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_512optimize(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_512optimize(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("optimize", 0);

  /* "src/pyscipopt/scip.pxi":8745
 *     def optimize(self):
 *         """Optimize the problem."""
 *         PY_SCIP_CALL(SCIPsolve(self._scip))             # <<<<<<<<<<<<<<
 *         self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsolve(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8745, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8746
 *         """Optimize the problem."""
 *         PY_SCIP_CALL(SCIPsolve(self._scip))
 *         self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def optimizeNogil(self):
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_self->_scip, SCIPgetBestSol(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8746, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution))))) __PYX_ERR(2, 8746, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_bestSol);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_bestSol);
  __pyx_v_self->_bestSol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8743
 *         return _dualsol
 * 
 *     def optimize(self):             # <<<<<<<<<<<<<<
 *         """Optimize the problem."""
 *         PY_SCIP_CALL(SCIPsolve(self._scip))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.optimize", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8748
 *         self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
 * 
 *     def optimizeNogil(self):             # <<<<<<<<<<<<<<
 *         """Optimize the problem without GIL."""
 *         cdef SCIP_RETCODE rc;
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_515optimizeNogil(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_514optimizeNogil, "Optimize the problem without GIL.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_515optimizeNogil = {"optimizeNogil", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_515optimizeNogil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_514optimizeNogil};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_515optimizeNogil(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("optimizeNogil (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("optimizeNogil", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("optimizeNogil", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_514optimizeNogil(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_514optimizeNogil(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_RETCODE __pyx_v_rc;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("optimizeNogil", 0);

  /* "src/pyscipopt/scip.pxi":8751
 *         """Optimize the problem without GIL."""
 *         cdef SCIP_RETCODE rc;
 *         with nogil:             # <<<<<<<<<<<<<<
 *             rc = SCIPsolve(self._scip)
 *         PY_SCIP_CALL(rc)
*/
  {
      PyThreadState * _save;
      _save = PyEval_SaveThread();
      __Pyx_FastGIL_Remember();
      /*try:*/ {

        /* "src/pyscipopt/scip.pxi":8752
 *         cdef SCIP_RETCODE rc;
 *         with nogil:
 *             rc = SCIPsolve(self._scip)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(rc)
 *         self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
*/
        __pyx_v_rc = SCIPsolve(__pyx_v_self->_scip);
      }

      /* "src/pyscipopt/scip.pxi":8751
 *         """Optimize the problem without GIL."""
 *         cdef SCIP_RETCODE rc;
 *         with nogil:             # <<<<<<<<<<<<<<
 *             rc = SCIPsolve(self._scip)
 *         PY_SCIP_CALL(rc)
*/
      /*finally:*/ {
        /*normal exit:*/{
          __Pyx_FastGIL_Forget();
          PyEval_RestoreThread(_save);
          goto __pyx_L5;
        }
        __pyx_L5:;
      }
  }

  /* "src/pyscipopt/scip.pxi":8753
 *         with nogil:
 *             rc = SCIPsolve(self._scip)
 *         PY_SCIP_CALL(rc)             # <<<<<<<<<<<<<<
 *         self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(__pyx_v_rc); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8754
 *             rc = SCIPsolve(self._scip)
 *         PY_SCIP_CALL(rc)
 *         self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def solveConcurrent(self):
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_self->_scip, SCIPgetBestSol(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution))))) __PYX_ERR(2, 8754, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_bestSol);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_bestSol);
  __pyx_v_self->_bestSol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8748
 *         self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
 * 
 *     def optimizeNogil(self):             # <<<<<<<<<<<<<<
 *         """Optimize the problem without GIL."""
 *         cdef SCIP_RETCODE rc;
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.optimizeNogil", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8756
 *         self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
 * 
 *     def solveConcurrent(self):             # <<<<<<<<<<<<<<
 *         """Transforms, presolves, and solves problem using additional solvers which emphasize on
 *         finding solutions.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_517solveConcurrent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_516solveConcurrent, "Transforms, presolves, and solves problem using additional solvers which emphasize on\n        finding solutions.\n        WARNING: This feature is still experimental and prone to some errors.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_517solveConcurrent = {"solveConcurrent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_517solveConcurrent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_516solveConcurrent};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_517solveConcurrent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("solveConcurrent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("solveConcurrent", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("solveConcurrent", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_516solveConcurrent(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_516solveConcurrent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("solveConcurrent", 0);

  /* "src/pyscipopt/scip.pxi":8760
 *         finding solutions.
 *         WARNING: This feature is still experimental and prone to some errors."""
 *         if SCIPtpiGetNumThreads() == 1:             # <<<<<<<<<<<<<<
 *             warnings.warn("SCIP was compiled without task processing interface. Parallel solve not possible - using optimize() instead of solveConcurrent()")
 *             self.optimize()
*/
  __pyx_t_1 = (SCIPtpiGetNumThreads() == 1);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":8761
 *         WARNING: This feature is still experimental and prone to some errors."""
 *         if SCIPtpiGetNumThreads() == 1:
 *             warnings.warn("SCIP was compiled without task processing interface. Parallel solve not possible - using optimize() instead of solveConcurrent()")             # <<<<<<<<<<<<<<
 *             self.optimize()
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_warnings); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_warn); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_SCIP_was_compiled_without_task_p};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8761, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":8762
 *         if SCIPtpiGetNumThreads() == 1:
 *             warnings.warn("SCIP was compiled without task processing interface. Parallel solve not possible - using optimize() instead of solveConcurrent()")
 *             self.optimize()             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPsolveConcurrent(self._scip))
*/
    __pyx_t_5 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_6 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_optimize, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8762, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":8760
 *         finding solutions.
 *         WARNING: This feature is still experimental and prone to some errors."""
 *         if SCIPtpiGetNumThreads() == 1:             # <<<<<<<<<<<<<<
 *             warnings.warn("SCIP was compiled without task processing interface. Parallel solve not possible - using optimize() instead of solveConcurrent()")
 *             self.optimize()
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":8764
 *             self.optimize()
 *         else:
 *             PY_SCIP_CALL(SCIPsolveConcurrent(self._scip))             # <<<<<<<<<<<<<<
 *             self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
 * 
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsolveConcurrent(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8764, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8764, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":8765
 *         else:
 *             PY_SCIP_CALL(SCIPsolveConcurrent(self._scip))
 *             self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def presolve(self):
*/
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_self->_scip, SCIPgetBestSol(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution))))) __PYX_ERR(2, 8765, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_2);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_bestSol);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_bestSol);
    __pyx_v_self->_bestSol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_t_2);
    __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":8756
 *         self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
 * 
 *     def solveConcurrent(self):             # <<<<<<<<<<<<<<
 *         """Transforms, presolves, and solves problem using additional solvers which emphasize on
 *         finding solutions.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.solveConcurrent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8767
 *             self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
 * 
 *     def presolve(self):             # <<<<<<<<<<<<<<
 *         """Presolve the problem."""
 *         if self.getStage() not in [SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED,\
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_519presolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_518presolve, "Presolve the problem.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_519presolve = {"presolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_519presolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_518presolve};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_519presolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("presolve (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("presolve", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("presolve", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_518presolve(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_518presolve(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("presolve", 0);

  /* "src/pyscipopt/scip.pxi":8769
 *     def presolve(self):
 *         """Presolve the problem."""
 *         if self.getStage() not in [SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED,\             # <<<<<<<<<<<<<<
 *                                 SCIP_STAGE_PRESOLVING, SCIP_STAGE_PRESOLVED, \
 *                                 SCIP_STAGE_SOLVED]:
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8769, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_PROBLEM); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 8769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_TRANSFORMED); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 8769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":8770
 *         """Presolve the problem."""
 *         if self.getStage() not in [SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED,\
 *                                 SCIP_STAGE_PRESOLVING, SCIP_STAGE_PRESOLVED, \             # <<<<<<<<<<<<<<
 *                                 SCIP_STAGE_SOLVED]:
 *             raise Warning("method cannot be called in stage %i." % self.getStage())
*/
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_PRESOLVING); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":8769
 *     def presolve(self):
 *         """Presolve the problem."""
 *         if self.getStage() not in [SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED,\             # <<<<<<<<<<<<<<
 *                                 SCIP_STAGE_PRESOLVING, SCIP_STAGE_PRESOLVED, \
 *                                 SCIP_STAGE_SOLVED]:
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 8769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":8770
 *         """Presolve the problem."""
 *         if self.getStage() not in [SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED,\
 *                                 SCIP_STAGE_PRESOLVING, SCIP_STAGE_PRESOLVED, \             # <<<<<<<<<<<<<<
 *                                 SCIP_STAGE_SOLVED]:
 *             raise Warning("method cannot be called in stage %i." % self.getStage())
*/
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_PRESOLVED); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "src/pyscipopt/scip.pxi":8769
 *     def presolve(self):
 *         """Presolve the problem."""
 *         if self.getStage() not in [SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED,\             # <<<<<<<<<<<<<<
 *                                 SCIP_STAGE_PRESOLVING, SCIP_STAGE_PRESOLVED, \
 *                                 SCIP_STAGE_SOLVED]:
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 8769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":8771
 *         if self.getStage() not in [SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED,\
 *                                 SCIP_STAGE_PRESOLVING, SCIP_STAGE_PRESOLVED, \
 *                                 SCIP_STAGE_SOLVED]:             # <<<<<<<<<<<<<<
 *             raise Warning("method cannot be called in stage %i." % self.getStage())
 * 
*/
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_SOLVED); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8771, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":8769
 *     def presolve(self):
 *         """Presolve the problem."""
 *         if self.getStage() not in [SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED,\             # <<<<<<<<<<<<<<
 *                                 SCIP_STAGE_PRESOLVING, SCIP_STAGE_PRESOLVED, \
 *                                 SCIP_STAGE_SOLVED]:
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 8769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_4 = __pyx_t_6;
  __pyx_L4_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_6 = __pyx_t_4;
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":8772
 *                                 SCIP_STAGE_PRESOLVING, SCIP_STAGE_PRESOLVED, \
 *                                 SCIP_STAGE_SOLVED]:
 *             raise Warning("method cannot be called in stage %i." % self.getStage())             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPpresolve(self._scip))
*/
    __pyx_t_5 = NULL;
    __pyx_t_7 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8772, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_7 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_in_stage, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 8772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_3 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8772, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 8772, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":8769
 *     def presolve(self):
 *         """Presolve the problem."""
 *         if self.getStage() not in [SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED,\             # <<<<<<<<<<<<<<
 *                                 SCIP_STAGE_PRESOLVING, SCIP_STAGE_PRESOLVED, \
 *                                 SCIP_STAGE_SOLVED]:
*/
  }

  /* "src/pyscipopt/scip.pxi":8774
 *             raise Warning("method cannot be called in stage %i." % self.getStage())
 * 
 *         PY_SCIP_CALL(SCIPpresolve(self._scip))             # <<<<<<<<<<<<<<
 *         self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
 * 
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 8774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPpresolve(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 8774, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8774, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8775
 * 
 *         PY_SCIP_CALL(SCIPpresolve(self._scip))
 *         self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     # Benders' decomposition methods
*/
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_self->_scip, SCIPgetBestSol(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution))))) __PYX_ERR(2, 8775, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_bestSol);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_bestSol);
  __pyx_v_self->_bestSol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8767
 *             self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
 * 
 *     def presolve(self):             # <<<<<<<<<<<<<<
 *         """Presolve the problem."""
 *         if self.getStage() not in [SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED,\
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.presolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8778
 * 
 *     # Benders' decomposition methods
 *     def initBendersDefault(self, subproblems):             # <<<<<<<<<<<<<<
 *         """
 *         Initialises the default Benders' decomposition with a dictionary of subproblems.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_521initBendersDefault(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_520initBendersDefault, "\n        Initialises the default Benders' decomposition with a dictionary of subproblems.\n\n        Parameters\n        ----------\n        subproblems : Model or dict of object to Model\n            a single Model instance or dictionary of Model instances\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_521initBendersDefault = {"initBendersDefault", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_521initBendersDefault, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_520initBendersDefault};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_521initBendersDefault(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_subproblems = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("initBendersDefault (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_subproblems,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8778, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8778, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "initBendersDefault", 0) < (0)) __PYX_ERR(2, 8778, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("initBendersDefault", 1, 1, 1, i); __PYX_ERR(2, 8778, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8778, __pyx_L3_error)
    }
    __pyx_v_subproblems = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("initBendersDefault", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 8778, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.initBendersDefault", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_520initBendersDefault(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_subproblems);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_520initBendersDefault(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_subproblems) {
  SCIP **__pyx_v_subprobs;
  CYTHON_UNUSED SCIP_BENDERS *__pyx_v_benders;
  int __pyx_v_nsubproblems;
  int __pyx_v_i;
  int __pyx_v_isdict;
  PyObject *__pyx_v_subprob = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  Py_ssize_t __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  SCIP *__pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  size_t __pyx_t_12;
  PyObject *(*__pyx_t_13)(PyObject *);
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("initBendersDefault", 0);

  /* "src/pyscipopt/scip.pxi":8794
 * 
 *         # checking whether subproblems is a dictionary
 *         if isinstance(subproblems, dict):             # <<<<<<<<<<<<<<
 *             isdict = True
 *             nsubproblems = len(subproblems)
*/
  __pyx_t_1 = PyDict_Check(__pyx_v_subproblems); 
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":8795
 *         # checking whether subproblems is a dictionary
 *         if isinstance(subproblems, dict):
 *             isdict = True             # <<<<<<<<<<<<<<
 *             nsubproblems = len(subproblems)
 *         else:
*/
    __pyx_v_isdict = 1;

    /* "src/pyscipopt/scip.pxi":8796
 *         if isinstance(subproblems, dict):
 *             isdict = True
 *             nsubproblems = len(subproblems)             # <<<<<<<<<<<<<<
 *         else:
 *             isdict = False
*/
    __pyx_t_2 = PyObject_Length(__pyx_v_subproblems); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(2, 8796, __pyx_L1_error)
    __pyx_v_nsubproblems = __pyx_t_2;

    /* "src/pyscipopt/scip.pxi":8794
 * 
 *         # checking whether subproblems is a dictionary
 *         if isinstance(subproblems, dict):             # <<<<<<<<<<<<<<
 *             isdict = True
 *             nsubproblems = len(subproblems)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":8798
 *             nsubproblems = len(subproblems)
 *         else:
 *             isdict = False             # <<<<<<<<<<<<<<
 *             nsubproblems = 1
 * 
*/
  /*else*/ {
    __pyx_v_isdict = 0;

    /* "src/pyscipopt/scip.pxi":8799
 *         else:
 *             isdict = False
 *             nsubproblems = 1             # <<<<<<<<<<<<<<
 * 
 *         # create array of SCIP instances for the subproblems
*/
    __pyx_v_nsubproblems = 1;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":8802
 * 
 *         # create array of SCIP instances for the subproblems
 *         subprobs = <SCIP**> malloc(nsubproblems * sizeof(SCIP*))             # <<<<<<<<<<<<<<
 * 
 *         # if subproblems is a dictionary, then the dictionary is turned into a c array
*/
  __pyx_v_subprobs = ((SCIP **)malloc((__pyx_v_nsubproblems * (sizeof(SCIP *)))));

  /* "src/pyscipopt/scip.pxi":8805
 * 
 *         # if subproblems is a dictionary, then the dictionary is turned into a c array
 *         if isdict:             # <<<<<<<<<<<<<<
 *             for i, subprob in enumerate(subproblems.values()):
 *                 subprobs[i] = (<Model>subprob)._scip
*/
  if (__pyx_v_isdict) {

    /* "src/pyscipopt/scip.pxi":8806
 *         # if subproblems is a dictionary, then the dictionary is turned into a c array
 *         if isdict:
 *             for i, subprob in enumerate(subproblems.values()):             # <<<<<<<<<<<<<<
 *                 subprobs[i] = (<Model>subprob)._scip
 *         else:
*/
    __pyx_t_3 = 0;
    __pyx_t_2 = 0;
    if (unlikely(__pyx_v_subproblems == Py_None)) {
      PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "values");
      __PYX_ERR(2, 8806, __pyx_L1_error)
    }
    __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_subproblems, 0, __pyx_mstate_global->__pyx_n_u_values, (&__pyx_t_5), (&__pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 8806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_XDECREF(__pyx_t_4);
    __pyx_t_4 = __pyx_t_7;
    __pyx_t_7 = 0;
    while (1) {
      __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_4, __pyx_t_5, &__pyx_t_2, NULL, &__pyx_t_7, NULL, __pyx_t_6);
      if (unlikely(__pyx_t_8 == 0)) break;
      if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(2, 8806, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_XDECREF_SET(__pyx_v_subprob, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_v_i = __pyx_t_3;
      __pyx_t_3 = (__pyx_t_3 + 1);

      /* "src/pyscipopt/scip.pxi":8807
 *         if isdict:
 *             for i, subprob in enumerate(subproblems.values()):
 *                 subprobs[i] = (<Model>subprob)._scip             # <<<<<<<<<<<<<<
 *         else:
 *             subprobs[0] = (<Model>subproblems)._scip
*/
      __pyx_t_9 = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_subprob)->_scip;
      (__pyx_v_subprobs[__pyx_v_i]) = __pyx_t_9;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":8805
 * 
 *         # if subproblems is a dictionary, then the dictionary is turned into a c array
 *         if isdict:             # <<<<<<<<<<<<<<
 *             for i, subprob in enumerate(subproblems.values()):
 *                 subprobs[i] = (<Model>subprob)._scip
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":8809
 *                 subprobs[i] = (<Model>subprob)._scip
 *         else:
 *             subprobs[0] = (<Model>subproblems)._scip             # <<<<<<<<<<<<<<
 * 
 *         # creating the default Benders' decomposition
*/
  /*else*/ {
    __pyx_t_9 = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_subproblems)->_scip;
    (__pyx_v_subprobs[0]) = __pyx_t_9;
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":8812
 * 
 *         # creating the default Benders' decomposition
 *         PY_SCIP_CALL(SCIPcreateBendersDefault(self._scip, subprobs, nsubproblems))             # <<<<<<<<<<<<<<
 *         benders = SCIPfindBenders(self._scip, "default")
 * 
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateBendersDefault(__pyx_v_self->_scip, __pyx_v_subprobs, __pyx_v_nsubproblems)); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_12 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_10))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_10);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_10, __pyx__function);
    __pyx_t_12 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_11};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_12, (2-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8812, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":8813
 *         # creating the default Benders' decomposition
 *         PY_SCIP_CALL(SCIPcreateBendersDefault(self._scip, subprobs, nsubproblems))
 *         benders = SCIPfindBenders(self._scip, "default")             # <<<<<<<<<<<<<<
 * 
 *         # Free the temporary array (SCIPcreateBendersDefault copies the pointers internally)
*/
  __pyx_v_benders = SCIPfindBenders(__pyx_v_self->_scip, __pyx_k_default);

  /* "src/pyscipopt/scip.pxi":8816
 * 
 *         # Free the temporary array (SCIPcreateBendersDefault copies the pointers internally)
 *         free(subprobs)             # <<<<<<<<<<<<<<
 * 
 *         # Store references to subproblem Models and transfer ownership to master.
*/
  free(__pyx_v_subprobs);

  /* "src/pyscipopt/scip.pxi":8822
 *         # Set _freescip = False on the subproblem Model(s) to prevent double-free
 *         # if they are deallocated before the master.
 *         if isdict:             # <<<<<<<<<<<<<<
 *             self._benders_subproblems = list(subproblems.values())
 *             for subprob in self._benders_subproblems:
*/
  if (__pyx_v_isdict) {

    /* "src/pyscipopt/scip.pxi":8823
 *         # if they are deallocated before the master.
 *         if isdict:
 *             self._benders_subproblems = list(subproblems.values())             # <<<<<<<<<<<<<<
 *             for subprob in self._benders_subproblems:
 *                 (<Model>subprob)._freescip = False
*/
    __pyx_t_10 = __pyx_v_subproblems;
    __Pyx_INCREF(__pyx_t_10);
    __pyx_t_12 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_10, NULL};
      __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_values, __pyx_callargs+__pyx_t_12, (1-__pyx_t_12) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8823, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __pyx_t_10 = __Pyx_PySequence_ListKeepNew(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8823, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_GIVEREF(__pyx_t_10);
    __Pyx_GOTREF(__pyx_v_self->_benders_subproblems);
    __Pyx_DECREF(__pyx_v_self->_benders_subproblems);
    __pyx_v_self->_benders_subproblems = __pyx_t_10;
    __pyx_t_10 = 0;

    /* "src/pyscipopt/scip.pxi":8824
 *         if isdict:
 *             self._benders_subproblems = list(subproblems.values())
 *             for subprob in self._benders_subproblems:             # <<<<<<<<<<<<<<
 *                 (<Model>subprob)._freescip = False
 *         else:
*/
    if (likely(PyList_CheckExact(__pyx_v_self->_benders_subproblems)) || PyTuple_CheckExact(__pyx_v_self->_benders_subproblems)) {
      __pyx_t_10 = __pyx_v_self->_benders_subproblems; __Pyx_INCREF(__pyx_t_10);
      __pyx_t_5 = 0;
      __pyx_t_13 = NULL;
    } else {
      __pyx_t_5 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_v_self->_benders_subproblems); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8824, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 8824, __pyx_L1_error)
    }
    for (;;) {
      if (likely(!__pyx_t_13)) {
        if (likely(PyList_CheckExact(__pyx_t_10))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_10);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 8824, __pyx_L1_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          __pyx_t_4 = __Pyx_PyList_GetItemRefFast(__pyx_t_10, __pyx_t_5, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_5;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_10);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 8824, __pyx_L1_error)
            #endif
            if (__pyx_t_5 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_5));
          #else
          __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_10, __pyx_t_5);
          #endif
          ++__pyx_t_5;
        }
        if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8824, __pyx_L1_error)
      } else {
        __pyx_t_4 = __pyx_t_13(__pyx_t_10);
        if (unlikely(!__pyx_t_4)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 8824, __pyx_L1_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_XDECREF_SET(__pyx_v_subprob, __pyx_t_4);
      __pyx_t_4 = 0;

      /* "src/pyscipopt/scip.pxi":8825
 *             self._benders_subproblems = list(subproblems.values())
 *             for subprob in self._benders_subproblems:
 *                 (<Model>subprob)._freescip = False             # <<<<<<<<<<<<<<
 *         else:
 *             self._benders_subproblems = [subproblems]
*/
      ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_subprob)->_freescip = 0;

      /* "src/pyscipopt/scip.pxi":8824
 *         if isdict:
 *             self._benders_subproblems = list(subproblems.values())
 *             for subprob in self._benders_subproblems:             # <<<<<<<<<<<<<<
 *                 (<Model>subprob)._freescip = False
 *         else:
*/
    }
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

    /* "src/pyscipopt/scip.pxi":8822
 *         # Set _freescip = False on the subproblem Model(s) to prevent double-free
 *         # if they are deallocated before the master.
 *         if isdict:             # <<<<<<<<<<<<<<
 *             self._benders_subproblems = list(subproblems.values())
 *             for subprob in self._benders_subproblems:
*/
    goto __pyx_L7;
  }

  /* "src/pyscipopt/scip.pxi":8827
 *                 (<Model>subprob)._freescip = False
 *         else:
 *             self._benders_subproblems = [subproblems]             # <<<<<<<<<<<<<<
 *             (<Model>subproblems)._freescip = False
 * 
*/
  /*else*/ {
    __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8827, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __Pyx_INCREF(__pyx_v_subproblems);
    __Pyx_GIVEREF(__pyx_v_subproblems);
    if (__Pyx_PyList_SET_ITEM(__pyx_t_10, 0, __pyx_v_subproblems) != (0)) __PYX_ERR(2, 8827, __pyx_L1_error);
    __Pyx_GIVEREF(__pyx_t_10);
    __Pyx_GOTREF(__pyx_v_self->_benders_subproblems);
    __Pyx_DECREF(__pyx_v_self->_benders_subproblems);
    __pyx_v_self->_benders_subproblems = __pyx_t_10;
    __pyx_t_10 = 0;

    /* "src/pyscipopt/scip.pxi":8828
 *         else:
 *             self._benders_subproblems = [subproblems]
 *             (<Model>subproblems)._freescip = False             # <<<<<<<<<<<<<<
 * 
 *         # activating the Benders' decomposition constraint handlers
*/
    ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_subproblems)->_freescip = 0;
  }
  __pyx_L7:;

  /* "src/pyscipopt/scip.pxi":8831
 * 
 *         # activating the Benders' decomposition constraint handlers
 *         self.setBoolParam("constraints/benderslp/active", True)             # <<<<<<<<<<<<<<
 *         self.setBoolParam("constraints/benders/active", True)
 *         #self.setIntParam("limits/maxorigsol", 0)
*/
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_setBoolParam); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[23], NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":8832
 *         # activating the Benders' decomposition constraint handlers
 *         self.setBoolParam("constraints/benderslp/active", True)
 *         self.setBoolParam("constraints/benders/active", True)             # <<<<<<<<<<<<<<
 *         #self.setIntParam("limits/maxorigsol", 0)
 * 
*/
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_setBoolParam); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[24], NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":8778
 * 
 *     # Benders' decomposition methods
 *     def initBendersDefault(self, subproblems):             # <<<<<<<<<<<<<<
 *         """
 *         Initialises the default Benders' decomposition with a dictionary of subproblems.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("pyscipopt.scip.Model.initBendersDefault", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_subprob);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8835
 *         #self.setIntParam("limits/maxorigsol", 0)
 * 
 *     def computeBestSolSubproblems(self):             # <<<<<<<<<<<<<<
 *         """Solves the subproblems with the best solution to the master problem.
 *         Afterwards, the best solution from each subproblem can be queried to get
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_523computeBestSolSubproblems(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_522computeBestSolSubproblems, "Solves the subproblems with the best solution to the master problem.\n        Afterwards, the best solution from each subproblem can be queried to get\n        the solution to the original problem.\n        If the user wants to resolve the subproblems, they must free them by\n        calling freeBendersSubproblems()\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_523computeBestSolSubproblems = {"computeBestSolSubproblems", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_523computeBestSolSubproblems, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_522computeBestSolSubproblems};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_523computeBestSolSubproblems(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("computeBestSolSubproblems (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("computeBestSolSubproblems", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("computeBestSolSubproblems", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_522computeBestSolSubproblems(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_522computeBestSolSubproblems(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_BENDERS **__pyx_v_benders;
  SCIP_Bool __pyx_v_infeasible;
  SCIP_Bool __pyx_v_solvecip;
  int __pyx_v_nbenders;
  int __pyx_v_nsubproblems;
  int __pyx_v_i;
  int __pyx_v_j;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("computeBestSolSubproblems", 0);

  /* "src/pyscipopt/scip.pxi":8842
 *         calling freeBendersSubproblems()
 *         """
 *         cdef SCIP_BENDERS** benders = SCIPgetBenders(self._scip)             # <<<<<<<<<<<<<<
 *         cdef SCIP_Bool infeasible
 *         cdef SCIP_Bool solvecip = True
*/
  __pyx_v_benders = SCIPgetBenders(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":8844
 *         cdef SCIP_BENDERS** benders = SCIPgetBenders(self._scip)
 *         cdef SCIP_Bool infeasible
 *         cdef SCIP_Bool solvecip = True             # <<<<<<<<<<<<<<
 *         cdef int nbenders = SCIPgetNActiveBenders(self._scip)
 *         cdef int nsubproblems
*/
  __pyx_v_solvecip = 1;

  /* "src/pyscipopt/scip.pxi":8845
 *         cdef SCIP_Bool infeasible
 *         cdef SCIP_Bool solvecip = True
 *         cdef int nbenders = SCIPgetNActiveBenders(self._scip)             # <<<<<<<<<<<<<<
 *         cdef int nsubproblems
 *         cdef int i
*/
  __pyx_v_nbenders = SCIPgetNActiveBenders(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":8851
 * 
 *         # solving all subproblems from all Benders' decompositions
 *         for i in range(nbenders):             # <<<<<<<<<<<<<<
 *             nsubproblems = SCIPbendersGetNSubproblems(benders[i])
 *             for j in range(nsubproblems):
*/
  __pyx_t_1 = __pyx_v_nbenders;
  __pyx_t_2 = __pyx_t_1;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_i = __pyx_t_3;

    /* "src/pyscipopt/scip.pxi":8852
 *         # solving all subproblems from all Benders' decompositions
 *         for i in range(nbenders):
 *             nsubproblems = SCIPbendersGetNSubproblems(benders[i])             # <<<<<<<<<<<<<<
 *             for j in range(nsubproblems):
 *                 PY_SCIP_CALL(SCIPsetupBendersSubproblem(self._scip,
*/
    __pyx_v_nsubproblems = SCIPbendersGetNSubproblems((__pyx_v_benders[__pyx_v_i]));

    /* "src/pyscipopt/scip.pxi":8853
 *         for i in range(nbenders):
 *             nsubproblems = SCIPbendersGetNSubproblems(benders[i])
 *             for j in range(nsubproblems):             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPsetupBendersSubproblem(self._scip,
 *                     benders[i], self._bestSol.sol, j, SCIP_BENDERSENFOTYPE_CHECK))
*/
    __pyx_t_4 = __pyx_v_nsubproblems;
    __pyx_t_5 = __pyx_t_4;
    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
      __pyx_v_j = __pyx_t_6;

      /* "src/pyscipopt/scip.pxi":8854
 *             nsubproblems = SCIPbendersGetNSubproblems(benders[i])
 *             for j in range(nsubproblems):
 *                 PY_SCIP_CALL(SCIPsetupBendersSubproblem(self._scip,             # <<<<<<<<<<<<<<
 *                     benders[i], self._bestSol.sol, j, SCIP_BENDERSENFOTYPE_CHECK))
 *                 PY_SCIP_CALL(SCIPsolveBendersSubproblem(self._scip,
*/
      __pyx_t_8 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 8854, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);

      /* "src/pyscipopt/scip.pxi":8855
 *             for j in range(nsubproblems):
 *                 PY_SCIP_CALL(SCIPsetupBendersSubproblem(self._scip,
 *                     benders[i], self._bestSol.sol, j, SCIP_BENDERSENFOTYPE_CHECK))             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPsolveBendersSubproblem(self._scip,
 *                     benders[i], self._bestSol.sol, j, &infeasible, solvecip, NULL))
*/
      __pyx_t_10 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetupBendersSubproblem(__pyx_v_self->_scip, (__pyx_v_benders[__pyx_v_i]), __pyx_v_self->_bestSol->sol, __pyx_v_j, SCIP_BENDERSENFOTYPE_CHECK)); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8854, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      __pyx_t_11 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_9))) {
        __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
        assert(__pyx_t_8);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
        __Pyx_INCREF(__pyx_t_8);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
        __pyx_t_11 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_10};
        __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 8854, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
      }
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

      /* "src/pyscipopt/scip.pxi":8856
 *                 PY_SCIP_CALL(SCIPsetupBendersSubproblem(self._scip,
 *                     benders[i], self._bestSol.sol, j, SCIP_BENDERSENFOTYPE_CHECK))
 *                 PY_SCIP_CALL(SCIPsolveBendersSubproblem(self._scip,             # <<<<<<<<<<<<<<
 *                     benders[i], self._bestSol.sol, j, &infeasible, solvecip, NULL))
 * 
*/
      __pyx_t_9 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8856, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);

      /* "src/pyscipopt/scip.pxi":8857
 *                     benders[i], self._bestSol.sol, j, SCIP_BENDERSENFOTYPE_CHECK))
 *                 PY_SCIP_CALL(SCIPsolveBendersSubproblem(self._scip,
 *                     benders[i], self._bestSol.sol, j, &infeasible, solvecip, NULL))             # <<<<<<<<<<<<<<
 * 
 *     def freeBendersSubproblems(self):
*/
      __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsolveBendersSubproblem(__pyx_v_self->_scip, (__pyx_v_benders[__pyx_v_i]), __pyx_v_self->_bestSol->sol, __pyx_v_j, (&__pyx_v_infeasible), __pyx_v_solvecip, NULL)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 8856, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __pyx_t_11 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_10))) {
        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);
        assert(__pyx_t_9);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_10);
        __Pyx_INCREF(__pyx_t_9);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_10, __pyx__function);
        __pyx_t_11 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_8};
        __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 8856, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_7);
      }
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    }
  }

  /* "src/pyscipopt/scip.pxi":8835
 *         #self.setIntParam("limits/maxorigsol", 0)
 * 
 *     def computeBestSolSubproblems(self):             # <<<<<<<<<<<<<<
 *         """Solves the subproblems with the best solution to the master problem.
 *         Afterwards, the best solution from each subproblem can be queried to get
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.Model.computeBestSolSubproblems", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8859
 *                     benders[i], self._bestSol.sol, j, &infeasible, solvecip, NULL))
 * 
 *     def freeBendersSubproblems(self):             # <<<<<<<<<<<<<<
 *         """Deprecated: This method is no longer needed.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_525freeBendersSubproblems(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_524freeBendersSubproblems, "Deprecated: This method is no longer needed.\n\n        Benders subproblems are now automatically managed and freed by the master\n        Model when it is deallocated. Calling this method explicitly has no effect.\n\n        .. deprecated:: 5.7.0\n            This method is deprecated and will be removed in a future version.\n            Subproblem memory management is now handled automatically.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_525freeBendersSubproblems = {"freeBendersSubproblems", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_525freeBendersSubproblems, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_524freeBendersSubproblems};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_525freeBendersSubproblems(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("freeBendersSubproblems (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("freeBendersSubproblems", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("freeBendersSubproblems", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_524freeBendersSubproblems(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_524freeBendersSubproblems(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("freeBendersSubproblems", 0);

  /* "src/pyscipopt/scip.pxi":8869
 *             Subproblem memory management is now handled automatically.
 *         """
 *         warnings.warn(             # <<<<<<<<<<<<<<
 *             "freeBendersSubproblems() is deprecated and no longer needed. "
 *             "Benders subproblems are automatically freed when the master Model "
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_warnings); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_warn); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":8873
 *             "Benders subproblems are automatically freed when the master Model "
 *             "is deallocated.",
 *             DeprecationWarning,             # <<<<<<<<<<<<<<
 *             stacklevel=2
 *         )
*/
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_freeBendersSubproblems_is_deprec, ((PyObject *)(((PyTypeObject*)PyExc_DeprecationWarning)))};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_stacklevel, __pyx_mstate_global->__pyx_int_2, __pyx_t_3, __pyx_callargs+3, 0) < (0)) __PYX_ERR(2, 8869, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8869, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8859
 *                     benders[i], self._bestSol.sol, j, &infeasible, solvecip, NULL))
 * 
 *     def freeBendersSubproblems(self):             # <<<<<<<<<<<<<<
 *         """Deprecated: This method is no longer needed.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.freeBendersSubproblems", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8877
 *         )
 * 
 *     def updateBendersLowerbounds(self, lowerbounds, Benders benders=None):             # <<<<<<<<<<<<<<
 *         """
 *         Updates the subproblem lower bounds for benders using
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_527updateBendersLowerbounds(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_526updateBendersLowerbounds, "\n        Updates the subproblem lower bounds for benders using\n        the lowerbounds dict. If benders is None, then the default\n        Benders' decomposition is updated.\n\n        Parameters\n        ----------\n        lowerbounds : dict of int to float\n        benders : Benders or None, optional\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_527updateBendersLowerbounds = {"updateBendersLowerbounds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_527updateBendersLowerbounds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_526updateBendersLowerbounds};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_527updateBendersLowerbounds(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_lowerbounds = 0;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("updateBendersLowerbounds (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_lowerbounds,&__pyx_mstate_global->__pyx_n_u_benders,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8877, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8877, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8877, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "updateBendersLowerbounds", 0) < (0)) __PYX_ERR(2, 8877, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("updateBendersLowerbounds", 0, 1, 2, i); __PYX_ERR(2, 8877, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8877, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8877, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
    }
    __pyx_v_lowerbounds = values[0];
    __pyx_v_benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("updateBendersLowerbounds", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 8877, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.updateBendersLowerbounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benders), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, 1, "benders", 0))) __PYX_ERR(2, 8877, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_526updateBendersLowerbounds(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_lowerbounds, __pyx_v_benders);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_526updateBendersLowerbounds(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_lowerbounds, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders) {
  SCIP_BENDERS *__pyx_v__benders;
  PyObject *__pyx_v_d = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  SCIP_BENDERS *__pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  Py_ssize_t __pyx_t_4;
  Py_ssize_t __pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  SCIP_Real __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("updateBendersLowerbounds", 0);

  /* "src/pyscipopt/scip.pxi":8891
 *         cdef SCIP_BENDERS* _benders
 * 
 *         assert type(lowerbounds) is dict             # <<<<<<<<<<<<<<
 * 
 *         if benders is None:
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (((PyObject *)Py_TYPE(__pyx_v_lowerbounds)) == ((PyObject *)(&PyDict_Type)));
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(2, 8891, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 8891, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":8893
 *         assert type(lowerbounds) is dict
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             _benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_benders) == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":8894
 * 
 *         if benders is None:
 *             _benders = SCIPfindBenders(self._scip, "default")             # <<<<<<<<<<<<<<
 *         else:
 *             _benders = benders._benders
*/
    __pyx_v__benders = SCIPfindBenders(__pyx_v_self->_scip, __pyx_k_default);

    /* "src/pyscipopt/scip.pxi":8893
 *         assert type(lowerbounds) is dict
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             _benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":8896
 *             _benders = SCIPfindBenders(self._scip, "default")
 *         else:
 *             _benders = benders._benders             # <<<<<<<<<<<<<<
 * 
 *         for d in lowerbounds.keys():
*/
  /*else*/ {
    __pyx_t_2 = __pyx_v_benders->_benders;
    __pyx_v__benders = __pyx_t_2;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":8898
 *             _benders = benders._benders
 * 
 *         for d in lowerbounds.keys():             # <<<<<<<<<<<<<<
 *             SCIPbendersUpdateSubproblemLowerbound(_benders, d, lowerbounds[d])
 * 
*/
  __pyx_t_4 = 0;
  if (unlikely(__pyx_v_lowerbounds == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "keys");
    __PYX_ERR(2, 8898, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_lowerbounds, 0, __pyx_mstate_global->__pyx_n_u_keys, (&__pyx_t_5), (&__pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 8898, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_3);
  __pyx_t_3 = __pyx_t_7;
  __pyx_t_7 = 0;
  while (1) {
    __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_5, &__pyx_t_4, &__pyx_t_7, NULL, NULL, __pyx_t_6);
    if (unlikely(__pyx_t_8 == 0)) break;
    if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(2, 8898, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_XDECREF_SET(__pyx_v_d, __pyx_t_7);
    __pyx_t_7 = 0;

    /* "src/pyscipopt/scip.pxi":8899
 * 
 *         for d in lowerbounds.keys():
 *             SCIPbendersUpdateSubproblemLowerbound(_benders, d, lowerbounds[d])             # <<<<<<<<<<<<<<
 * 
 *     def activateBenders(self, Benders benders, int nsubproblems):
*/
    __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_v_d); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 8899, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_lowerbounds, __pyx_v_d); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 8899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_9 = __Pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_9 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 8899, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    SCIPbendersUpdateSubproblemLowerbound(__pyx_v__benders, __pyx_t_8, __pyx_t_9);
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":8877
 *         )
 * 
 *     def updateBendersLowerbounds(self, lowerbounds, Benders benders=None):             # <<<<<<<<<<<<<<
 *         """
 *         Updates the subproblem lower bounds for benders using
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.updateBendersLowerbounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_d);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8901
 *             SCIPbendersUpdateSubproblemLowerbound(_benders, d, lowerbounds[d])
 * 
 *     def activateBenders(self, Benders benders, int nsubproblems):             # <<<<<<<<<<<<<<
 *         """
 *         Activates the Benders' decomposition plugin with the input name.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_529activateBenders(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_528activateBenders, "\n        Activates the Benders' decomposition plugin with the input name.\n\n        Parameters\n        ----------\n        benders : Benders\n            the Benders' decomposition to which the subproblem belongs to\n        nsubproblems : int\n            the number of subproblems in the Benders' decomposition\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_529activateBenders = {"activateBenders", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_529activateBenders, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_528activateBenders};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_529activateBenders(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders = 0;
  int __pyx_v_nsubproblems;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("activateBenders (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_benders,&__pyx_mstate_global->__pyx_n_u_nsubproblems,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8901, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8901, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8901, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "activateBenders", 0) < (0)) __PYX_ERR(2, 8901, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("activateBenders", 1, 2, 2, i); __PYX_ERR(2, 8901, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8901, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8901, __pyx_L3_error)
    }
    __pyx_v_benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)values[0]);
    __pyx_v_nsubproblems = __Pyx_PyLong_As_int(values[1]); if (unlikely((__pyx_v_nsubproblems == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 8901, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("activateBenders", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 8901, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.activateBenders", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benders), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, 1, "benders", 0))) __PYX_ERR(2, 8901, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_528activateBenders(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_benders, __pyx_v_nsubproblems);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_528activateBenders(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, int __pyx_v_nsubproblems) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("activateBenders", 0);

  /* "src/pyscipopt/scip.pxi":8913
 * 
 *         """
 *         PY_SCIP_CALL(SCIPactivateBenders(self._scip, benders._benders, nsubproblems))             # <<<<<<<<<<<<<<
 * 
 *     def addBendersSubproblem(self, Benders benders, subproblem):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPactivateBenders(__pyx_v_self->_scip, __pyx_v_benders->_benders, __pyx_v_nsubproblems)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8913, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8913, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8901
 *             SCIPbendersUpdateSubproblemLowerbound(_benders, d, lowerbounds[d])
 * 
 *     def activateBenders(self, Benders benders, int nsubproblems):             # <<<<<<<<<<<<<<
 *         """
 *         Activates the Benders' decomposition plugin with the input name.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.activateBenders", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8915
 *         PY_SCIP_CALL(SCIPactivateBenders(self._scip, benders._benders, nsubproblems))
 * 
 *     def addBendersSubproblem(self, Benders benders, subproblem):             # <<<<<<<<<<<<<<
 *         """
 *         Adds a subproblem to the Benders' decomposition given by the input
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_531addBendersSubproblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_530addBendersSubproblem, "\n        Adds a subproblem to the Benders' decomposition given by the input\n        name.\n\n        Parameters\n        ----------\n        benders : Benders\n            the Benders' decomposition to which the subproblem belongs to\n        subproblem : Model\n            the subproblem to add to the decomposition\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_531addBendersSubproblem = {"addBendersSubproblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_531addBendersSubproblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_530addBendersSubproblem};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_531addBendersSubproblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders = 0;
  PyObject *__pyx_v_subproblem = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addBendersSubproblem (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_benders,&__pyx_mstate_global->__pyx_n_u_subproblem,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8915, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8915, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8915, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addBendersSubproblem", 0) < (0)) __PYX_ERR(2, 8915, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addBendersSubproblem", 1, 2, 2, i); __PYX_ERR(2, 8915, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8915, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8915, __pyx_L3_error)
    }
    __pyx_v_benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)values[0]);
    __pyx_v_subproblem = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addBendersSubproblem", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 8915, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addBendersSubproblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benders), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, 1, "benders", 0))) __PYX_ERR(2, 8915, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_530addBendersSubproblem(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_benders, __pyx_v_subproblem);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_530addBendersSubproblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, PyObject *__pyx_v_subproblem) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addBendersSubproblem", 0);

  /* "src/pyscipopt/scip.pxi":8928
 * 
 *         """
 *         PY_SCIP_CALL(SCIPaddBendersSubproblem(self._scip, benders._benders, (<Model>subproblem)._scip))             # <<<<<<<<<<<<<<
 * 
 *     def setBendersSubproblemIsConvex(self, Benders benders, probnumber, isconvex = True):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 8928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddBendersSubproblem(__pyx_v_self->_scip, __pyx_v_benders->_benders, ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_subproblem)->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 8928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8928, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":8915
 *         PY_SCIP_CALL(SCIPactivateBenders(self._scip, benders._benders, nsubproblems))
 * 
 *     def addBendersSubproblem(self, Benders benders, subproblem):             # <<<<<<<<<<<<<<
 *         """
 *         Adds a subproblem to the Benders' decomposition given by the input
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addBendersSubproblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8930
 *         PY_SCIP_CALL(SCIPaddBendersSubproblem(self._scip, benders._benders, (<Model>subproblem)._scip))
 * 
 *     def setBendersSubproblemIsConvex(self, Benders benders, probnumber, isconvex = True):             # <<<<<<<<<<<<<<
 *         """
 *         Sets a flag indicating whether the subproblem is convex.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_533setBendersSubproblemIsConvex(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_532setBendersSubproblemIsConvex, "\n        Sets a flag indicating whether the subproblem is convex.\n\n        Parameters\n        ----------\n        benders : Benders\n            the Benders' decomposition which contains the subproblem\n        probnumber : int\n            the problem number of the subproblem that the convexity will be set for\n        isconvex : bool, optional\n            flag to indicate whether the subproblem is convex (default=True)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_533setBendersSubproblemIsConvex = {"setBendersSubproblemIsConvex", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_533setBendersSubproblemIsConvex, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_532setBendersSubproblemIsConvex};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_533setBendersSubproblemIsConvex(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders = 0;
  PyObject *__pyx_v_probnumber = 0;
  PyObject *__pyx_v_isconvex = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setBendersSubproblemIsConvex (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_benders,&__pyx_mstate_global->__pyx_n_u_probnumber,&__pyx_mstate_global->__pyx_n_u_isconvex,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8930, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8930, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8930, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8930, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setBendersSubproblemIsConvex", 0) < (0)) __PYX_ERR(2, 8930, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setBendersSubproblemIsConvex", 0, 2, 3, i); __PYX_ERR(2, 8930, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8930, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8930, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8930, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)values[0]);
    __pyx_v_probnumber = values[1];
    __pyx_v_isconvex = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setBendersSubproblemIsConvex", 0, 2, 3, __pyx_nargs); __PYX_ERR(2, 8930, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setBendersSubproblemIsConvex", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benders), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, 1, "benders", 0))) __PYX_ERR(2, 8930, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_532setBendersSubproblemIsConvex(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_benders, __pyx_v_probnumber, __pyx_v_isconvex);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_532setBendersSubproblemIsConvex(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, PyObject *__pyx_v_probnumber, PyObject *__pyx_v_isconvex) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  SCIP_Bool __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setBendersSubproblemIsConvex", 0);

  /* "src/pyscipopt/scip.pxi":8944
 * 
 *         """
 *         SCIPbendersSetSubproblemIsConvex(benders._benders, probnumber, isconvex)             # <<<<<<<<<<<<<<
 * 
 *     def setupBendersSubproblem(self, probnumber, Benders benders = None, Solution solution = None, checktype = PY_SCIP_BENDERSENFOTYPE.LP):
*/
  __pyx_t_1 = __Pyx_PyLong_As_int(__pyx_v_probnumber); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 8944, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_isconvex); if (unlikely((__pyx_t_2 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 8944, __pyx_L1_error)
  SCIPbendersSetSubproblemIsConvex(__pyx_v_benders->_benders, __pyx_t_1, __pyx_t_2);

  /* "src/pyscipopt/scip.pxi":8930
 *         PY_SCIP_CALL(SCIPaddBendersSubproblem(self._scip, benders._benders, (<Model>subproblem)._scip))
 * 
 *     def setBendersSubproblemIsConvex(self, Benders benders, probnumber, isconvex = True):             # <<<<<<<<<<<<<<
 *         """
 *         Sets a flag indicating whether the subproblem is convex.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Model.setBendersSubproblemIsConvex", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8946
 *         SCIPbendersSetSubproblemIsConvex(benders._benders, probnumber, isconvex)
 * 
 *     def setupBendersSubproblem(self, probnumber, Benders benders = None, Solution solution = None, checktype = PY_SCIP_BENDERSENFOTYPE.LP):             # <<<<<<<<<<<<<<
 *         """
 *         Sets up the Benders' subproblem given the master problem solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_535setupBendersSubproblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_534setupBendersSubproblem, "\n        Sets up the Benders' subproblem given the master problem solution.\n\n        Parameters\n        ----------\n        probnumber : int\n            the index of the problem that is to be set up\n        benders : Benders or None, optional\n            the Benders' decomposition to which the subproblem belongs to\n        solution : Solution or None, optional\n            the master problem solution that is used for the set up, if None, then the LP solution is used\n        checktype : PY_SCIP_BENDERSENFOTYPE\n            the type of solution check that prompted the solving of the Benders' subproblems, either\n            PY_SCIP_BENDERSENFOTYPE: LP, RELAX, PSEUDO or CHECK. Default is LP.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_535setupBendersSubproblem = {"setupBendersSubproblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_535setupBendersSubproblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_534setupBendersSubproblem};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_535setupBendersSubproblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_probnumber = 0;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders = 0;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution = 0;
  PyObject *__pyx_v_checktype = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setupBendersSubproblem (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_probnumber,&__pyx_mstate_global->__pyx_n_u_benders,&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_checktype,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8946, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 8946, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8946, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8946, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8946, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setupBendersSubproblem", 0) < (0)) __PYX_ERR(2, 8946, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__12);
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setupBendersSubproblem", 0, 1, 4, i); __PYX_ERR(2, 8946, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 8946, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8946, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8946, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8946, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__12);
    }
    __pyx_v_probnumber = values[0];
    __pyx_v_benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)values[1]);
    __pyx_v_solution = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[2]);
    __pyx_v_checktype = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setupBendersSubproblem", 0, 1, 4, __pyx_nargs); __PYX_ERR(2, 8946, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setupBendersSubproblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benders), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, 1, "benders", 0))) __PYX_ERR(2, 8946, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "solution", 0))) __PYX_ERR(2, 8946, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_534setupBendersSubproblem(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_probnumber, __pyx_v_benders, __pyx_v_solution, __pyx_v_checktype);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_534setupBendersSubproblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_probnumber, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_checktype) {
  SCIP_BENDERS *__pyx_v_scip_benders;
  SCIP_SOL *__pyx_v_scip_sol;
  SCIP_RETCODE __pyx_v_retcode;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  SCIP_SOL *__pyx_t_2;
  SCIP_BENDERS *__pyx_t_3;
  int __pyx_t_4;
  SCIP_BENDERSENFOTYPE __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setupBendersSubproblem", 0);

  /* "src/pyscipopt/scip.pxi":8966
 *         cdef SCIP_SOL* scip_sol
 * 
 *         if isinstance(solution, Solution):             # <<<<<<<<<<<<<<
 *             scip_sol = solution.sol
 *         else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution); 
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":8967
 * 
 *         if isinstance(solution, Solution):
 *             scip_sol = solution.sol             # <<<<<<<<<<<<<<
 *         else:
 *             scip_sol = NULL
*/
    __pyx_t_2 = __pyx_v_solution->sol;
    __pyx_v_scip_sol = __pyx_t_2;

    /* "src/pyscipopt/scip.pxi":8966
 *         cdef SCIP_SOL* scip_sol
 * 
 *         if isinstance(solution, Solution):             # <<<<<<<<<<<<<<
 *             scip_sol = solution.sol
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":8969
 *             scip_sol = solution.sol
 *         else:
 *             scip_sol = NULL             # <<<<<<<<<<<<<<
 * 
 *         if benders is None:
*/
  /*else*/ {
    __pyx_v_scip_sol = NULL;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":8971
 *             scip_sol = NULL
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             scip_benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_benders) == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":8972
 * 
 *         if benders is None:
 *             scip_benders = SCIPfindBenders(self._scip, "default")             # <<<<<<<<<<<<<<
 *         else:
 *             scip_benders = benders._benders
*/
    __pyx_v_scip_benders = SCIPfindBenders(__pyx_v_self->_scip, __pyx_k_default);

    /* "src/pyscipopt/scip.pxi":8971
 *             scip_sol = NULL
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             scip_benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":8974
 *             scip_benders = SCIPfindBenders(self._scip, "default")
 *         else:
 *             scip_benders = benders._benders             # <<<<<<<<<<<<<<
 * 
 *         retcode = SCIPsetupBendersSubproblem(self._scip, scip_benders, scip_sol, probnumber, checktype)
*/
  /*else*/ {
    __pyx_t_3 = __pyx_v_benders->_benders;
    __pyx_v_scip_benders = __pyx_t_3;
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":8976
 *             scip_benders = benders._benders
 * 
 *         retcode = SCIPsetupBendersSubproblem(self._scip, scip_benders, scip_sol, probnumber, checktype)             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(retcode)
*/
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_v_probnumber); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 8976, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_As_SCIP_BENDERSENFOTYPE(__pyx_v_checktype); if (unlikely((__pyx_t_5 == ((SCIP_BENDERSENFOTYPE)-1)) && PyErr_Occurred())) __PYX_ERR(2, 8976, __pyx_L1_error)
  __pyx_v_retcode = SCIPsetupBendersSubproblem(__pyx_v_self->_scip, __pyx_v_scip_benders, __pyx_v_scip_sol, __pyx_t_4, __pyx_t_5);

  /* "src/pyscipopt/scip.pxi":8978
 *         retcode = SCIPsetupBendersSubproblem(self._scip, scip_benders, scip_sol, probnumber, checktype)
 * 
 *         PY_SCIP_CALL(retcode)             # <<<<<<<<<<<<<<
 * 
 *     def solveBendersSubproblem(self, probnumber, solvecip, Benders benders = None, Solution solution = None):
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 8978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = __Pyx_PyLong_From_SCIP_RETCODE(__pyx_v_retcode); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 8978, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_10 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_9};
    __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 8978, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
  }
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

  /* "src/pyscipopt/scip.pxi":8946
 *         SCIPbendersSetSubproblemIsConvex(benders._benders, probnumber, isconvex)
 * 
 *     def setupBendersSubproblem(self, probnumber, Benders benders = None, Solution solution = None, checktype = PY_SCIP_BENDERSENFOTYPE.LP):             # <<<<<<<<<<<<<<
 *         """
 *         Sets up the Benders' subproblem given the master problem solution.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setupBendersSubproblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":8980
 *         PY_SCIP_CALL(retcode)
 * 
 *     def solveBendersSubproblem(self, probnumber, solvecip, Benders benders = None, Solution solution = None):             # <<<<<<<<<<<<<<
 *         """
 *         Solves the Benders' decomposition subproblem. The convex relaxation will be solved unless
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_537solveBendersSubproblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_536solveBendersSubproblem, "\n        Solves the Benders' decomposition subproblem. The convex relaxation will be solved unless\n        the parameter solvecip is set to True.\n\n        Parameters\n        ----------\n        probnumber : int\n            the index of the problem that is to be set up\n        solvecip : bool\n            whether the CIP of the subproblem should be solved. If False, then only the convex relaxation is solved.\n        benders : Benders or None, optional\n            the Benders' decomposition to which the subproblem belongs to\n        solution : Solution or None, optional\n            the master problem solution that is used for the set up, if None, then the LP solution is used\n\n        Returns\n        -------\n        infeasible : bool\n            returns whether the current subproblem is infeasible\n        objective : float or None\n            the objective function value of the subproblem, can be None\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_537solveBendersSubproblem = {"solveBendersSubproblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_537solveBendersSubproblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_536solveBendersSubproblem};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_537solveBendersSubproblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_probnumber = 0;
  PyObject *__pyx_v_solvecip = 0;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders = 0;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("solveBendersSubproblem (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_probnumber,&__pyx_mstate_global->__pyx_n_u_solvecip,&__pyx_mstate_global->__pyx_n_u_benders,&__pyx_mstate_global->__pyx_n_u_solution,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 8980, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 8980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "solveBendersSubproblem", 0) < (0)) __PYX_ERR(2, 8980, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("solveBendersSubproblem", 0, 2, 4, i); __PYX_ERR(2, 8980, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 8980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 8980, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 8980, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 8980, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
      if (!values[3]) values[3] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
    }
    __pyx_v_probnumber = values[0];
    __pyx_v_solvecip = values[1];
    __pyx_v_benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)values[2]);
    __pyx_v_solution = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[3]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("solveBendersSubproblem", 0, 2, 4, __pyx_nargs); __PYX_ERR(2, 8980, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.solveBendersSubproblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benders), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, 1, "benders", 0))) __PYX_ERR(2, 8980, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "solution", 0))) __PYX_ERR(2, 8980, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_536solveBendersSubproblem(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_probnumber, __pyx_v_solvecip, __pyx_v_benders, __pyx_v_solution);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_536solveBendersSubproblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_probnumber, PyObject *__pyx_v_solvecip, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution) {
  SCIP_BENDERS *__pyx_v_scip_benders;
  SCIP_SOL *__pyx_v_scip_sol;
  SCIP_Real __pyx_v_objective;
  SCIP_Bool __pyx_v_infeasible;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  SCIP_SOL *__pyx_t_2;
  SCIP_BENDERS *__pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  SCIP_Bool __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  size_t __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("solveBendersSubproblem", 0);

  /* "src/pyscipopt/scip.pxi":9010
 *         cdef SCIP_Bool infeasible
 * 
 *         if isinstance(solution, Solution):             # <<<<<<<<<<<<<<
 *             scip_sol = solution.sol
 *         else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution); 
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":9011
 * 
 *         if isinstance(solution, Solution):
 *             scip_sol = solution.sol             # <<<<<<<<<<<<<<
 *         else:
 *             scip_sol = NULL
*/
    __pyx_t_2 = __pyx_v_solution->sol;
    __pyx_v_scip_sol = __pyx_t_2;

    /* "src/pyscipopt/scip.pxi":9010
 *         cdef SCIP_Bool infeasible
 * 
 *         if isinstance(solution, Solution):             # <<<<<<<<<<<<<<
 *             scip_sol = solution.sol
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":9013
 *             scip_sol = solution.sol
 *         else:
 *             scip_sol = NULL             # <<<<<<<<<<<<<<
 * 
 *         if benders is None:
*/
  /*else*/ {
    __pyx_v_scip_sol = NULL;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":9015
 *             scip_sol = NULL
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             scip_benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_benders) == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":9016
 * 
 *         if benders is None:
 *             scip_benders = SCIPfindBenders(self._scip, "default")             # <<<<<<<<<<<<<<
 *         else:
 *             scip_benders = benders._benders
*/
    __pyx_v_scip_benders = SCIPfindBenders(__pyx_v_self->_scip, __pyx_k_default);

    /* "src/pyscipopt/scip.pxi":9015
 *             scip_sol = NULL
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             scip_benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":9018
 *             scip_benders = SCIPfindBenders(self._scip, "default")
 *         else:
 *             scip_benders = benders._benders             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPsolveBendersSubproblem(self._scip, scip_benders, scip_sol,
*/
  /*else*/ {
    __pyx_t_3 = __pyx_v_benders->_benders;
    __pyx_v_scip_benders = __pyx_t_3;
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":9020
 *             scip_benders = benders._benders
 * 
 *         PY_SCIP_CALL(SCIPsolveBendersSubproblem(self._scip, scip_benders, scip_sol,             # <<<<<<<<<<<<<<
 *             probnumber, &infeasible, solvecip, &objective))
 * 
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 9020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);

  /* "src/pyscipopt/scip.pxi":9021
 * 
 *         PY_SCIP_CALL(SCIPsolveBendersSubproblem(self._scip, scip_benders, scip_sol,
 *             probnumber, &infeasible, solvecip, &objective))             # <<<<<<<<<<<<<<
 * 
 *         return infeasible, objective
*/
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_probnumber); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9021, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_solvecip); if (unlikely((__pyx_t_8 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9021, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9020
 *             scip_benders = benders._benders
 * 
 *         PY_SCIP_CALL(SCIPsolveBendersSubproblem(self._scip, scip_benders, scip_sol,             # <<<<<<<<<<<<<<
 *             probnumber, &infeasible, solvecip, &objective))
 * 
*/
  __pyx_t_9 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsolveBendersSubproblem(__pyx_v_self->_scip, __pyx_v_scip_benders, __pyx_v_scip_sol, __pyx_t_7, (&__pyx_v_infeasible), __pyx_t_8, (&__pyx_v_objective))); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 9020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_10 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9020, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":9023
 *             probnumber, &infeasible, solvecip, &objective))
 * 
 *         return infeasible, objective             # <<<<<<<<<<<<<<
 * 
 *     def getBendersSubproblem(self, probnumber, Benders benders = None):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_infeasible); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_objective); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 9023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 9023, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4) != (0)) __PYX_ERR(2, 9023, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_6) != (0)) __PYX_ERR(2, 9023, __pyx_L1_error);
  __pyx_t_4 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_9;
  __pyx_t_9 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":8980
 *         PY_SCIP_CALL(retcode)
 * 
 *     def solveBendersSubproblem(self, probnumber, solvecip, Benders benders = None, Solution solution = None):             # <<<<<<<<<<<<<<
 *         """
 *         Solves the Benders' decomposition subproblem. The convex relaxation will be solved unless
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.Model.solveBendersSubproblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9025
 *         return infeasible, objective
 * 
 *     def getBendersSubproblem(self, probnumber, Benders benders = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns a Model object that wraps around the SCIP instance of the subproblem.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_539getBendersSubproblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_538getBendersSubproblem, "\n        Returns a Model object that wraps around the SCIP instance of the subproblem.\n        NOTE: This Model object is just a place holder and SCIP instance will not be\n        freed when the object is destroyed.\n\n        Parameters\n        ----------\n        probnumber : int\n            the problem number for subproblem that is required\n        benders : Benders or None, optional\n            the Benders' decomposition object that the subproblem belongs to (Default = None)\n\n        Returns\n        -------\n        Model\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_539getBendersSubproblem = {"getBendersSubproblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_539getBendersSubproblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_538getBendersSubproblem};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_539getBendersSubproblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_probnumber = 0;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBendersSubproblem (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_probnumber,&__pyx_mstate_global->__pyx_n_u_benders,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9025, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9025, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9025, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getBendersSubproblem", 0) < (0)) __PYX_ERR(2, 9025, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getBendersSubproblem", 0, 1, 2, i); __PYX_ERR(2, 9025, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9025, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9025, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
    }
    __pyx_v_probnumber = values[0];
    __pyx_v_benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getBendersSubproblem", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 9025, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBendersSubproblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benders), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, 1, "benders", 0))) __PYX_ERR(2, 9025, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_538getBendersSubproblem(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_probnumber, __pyx_v_benders);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_538getBendersSubproblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_probnumber, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders) {
  SCIP_BENDERS *__pyx_v_scip_benders;
  SCIP *__pyx_v_scip_subprob;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  SCIP_BENDERS *__pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBendersSubproblem", 0);

  /* "src/pyscipopt/scip.pxi":9046
 *         cdef SCIP* scip_subprob
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             scip_benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_benders) == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":9047
 * 
 *         if benders is None:
 *             scip_benders = SCIPfindBenders(self._scip, "default")             # <<<<<<<<<<<<<<
 *         else:
 *             scip_benders = benders._benders
*/
    __pyx_v_scip_benders = SCIPfindBenders(__pyx_v_self->_scip, __pyx_k_default);

    /* "src/pyscipopt/scip.pxi":9046
 *         cdef SCIP* scip_subprob
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             scip_benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":9049
 *             scip_benders = SCIPfindBenders(self._scip, "default")
 *         else:
 *             scip_benders = benders._benders             # <<<<<<<<<<<<<<
 * 
 *         scip_subprob = SCIPbendersSubproblem(scip_benders, probnumber)
*/
  /*else*/ {
    __pyx_t_2 = __pyx_v_benders->_benders;
    __pyx_v_scip_benders = __pyx_t_2;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":9051
 *             scip_benders = benders._benders
 * 
 *         scip_subprob = SCIPbendersSubproblem(scip_benders, probnumber)             # <<<<<<<<<<<<<<
 * 
 *         return Model.create(scip_subprob)
*/
  __pyx_t_3 = __Pyx_PyLong_As_int(__pyx_v_probnumber); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9051, __pyx_L1_error)
  __pyx_v_scip_subprob = SCIPbendersSubproblem(__pyx_v_scip_benders, __pyx_t_3);

  /* "src/pyscipopt/scip.pxi":9053
 *         scip_subprob = SCIPbendersSubproblem(scip_benders, probnumber)
 * 
 *         return Model.create(scip_subprob)             # <<<<<<<<<<<<<<
 * 
 *     def getBendersVar(self, Variable var, Benders benders = None, probnumber = -1):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __pyx_f_9pyscipopt_4scip_5Model_create(__pyx_v_scip_subprob); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9053, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9025
 *         return infeasible, objective
 * 
 *     def getBendersSubproblem(self, probnumber, Benders benders = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns a Model object that wraps around the SCIP instance of the subproblem.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBendersSubproblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9055
 *         return Model.create(scip_subprob)
 * 
 *     def getBendersVar(self, Variable var, Benders benders = None, probnumber = -1):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the variable for the subproblem or master problem
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_541getBendersVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_540getBendersVar, "\n        Returns the variable for the subproblem or master problem\n        depending on the input probnumber.\n\n        Parameters\n        ----------\n        var : Variable\n            the source variable for which the target variable is requested\n        benders : Benders or None, optional\n            the Benders' decomposition to which the subproblem variables belong to\n        probnumber : int, optional\n            the problem number for which the target variable belongs, -1 for master problem\n\n        Returns\n        -------\n        Variable or None\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_541getBendersVar = {"getBendersVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_541getBendersVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_540getBendersVar};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_541getBendersVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders = 0;
  PyObject *__pyx_v_probnumber = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBendersVar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_benders,&__pyx_mstate_global->__pyx_n_u_probnumber,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9055, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9055, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9055, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9055, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getBendersVar", 0) < (0)) __PYX_ERR(2, 9055, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getBendersVar", 0, 1, 3, i); __PYX_ERR(2, 9055, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9055, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9055, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9055, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)values[1]);
    __pyx_v_probnumber = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getBendersVar", 0, 1, 3, __pyx_nargs); __PYX_ERR(2, 9055, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBendersVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 9055, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benders), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, 1, "benders", 0))) __PYX_ERR(2, 9055, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_540getBendersVar(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_benders, __pyx_v_probnumber);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_540getBendersVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, PyObject *__pyx_v_probnumber) {
  SCIP_BENDERS *__pyx_v__benders;
  SCIP_VAR *__pyx_v__mappedvar;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  SCIP_BENDERS *__pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBendersVar", 0);

  /* "src/pyscipopt/scip.pxi":9077
 *         cdef SCIP_VAR* _mappedvar
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             _benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_benders) == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":9078
 * 
 *         if benders is None:
 *             _benders = SCIPfindBenders(self._scip, "default")             # <<<<<<<<<<<<<<
 *         else:
 *             _benders = benders._benders
*/
    __pyx_v__benders = SCIPfindBenders(__pyx_v_self->_scip, __pyx_k_default);

    /* "src/pyscipopt/scip.pxi":9077
 *         cdef SCIP_VAR* _mappedvar
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             _benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":9080
 *             _benders = SCIPfindBenders(self._scip, "default")
 *         else:
 *             _benders = benders._benders             # <<<<<<<<<<<<<<
 * 
 *         if probnumber == -1:
*/
  /*else*/ {
    __pyx_t_2 = __pyx_v_benders->_benders;
    __pyx_v__benders = __pyx_t_2;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":9082
 *             _benders = benders._benders
 * 
 *         if probnumber == -1:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPgetBendersMasterVar(self._scip, _benders, var.scip_var, &_mappedvar))
 *         else:
*/
  __pyx_t_1 = (__Pyx_PyLong_BoolEqObjC(__pyx_v_probnumber, __pyx_mstate_global->__pyx_int_neg_1, -1L, 0)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 9082, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":9083
 * 
 *         if probnumber == -1:
 *             PY_SCIP_CALL(SCIPgetBendersMasterVar(self._scip, _benders, var.scip_var, &_mappedvar))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPgetBendersSubproblemVar(self._scip, _benders, var.scip_var, &_mappedvar, probnumber))
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 9083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetBendersMasterVar(__pyx_v_self->_scip, __pyx_v__benders, __pyx_v_var->scip_var, (&__pyx_v__mappedvar))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 9083, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_6};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9083, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":9082
 *             _benders = benders._benders
 * 
 *         if probnumber == -1:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPgetBendersMasterVar(self._scip, _benders, var.scip_var, &_mappedvar))
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":9085
 *             PY_SCIP_CALL(SCIPgetBendersMasterVar(self._scip, _benders, var.scip_var, &_mappedvar))
 *         else:
 *             PY_SCIP_CALL(SCIPgetBendersSubproblemVar(self._scip, _benders, var.scip_var, &_mappedvar, probnumber))             # <<<<<<<<<<<<<<
 * 
 *         if _mappedvar == NULL:
*/
  /*else*/ {
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 9085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_v_probnumber); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9085, __pyx_L1_error)
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetBendersSubproblemVar(__pyx_v_self->_scip, __pyx_v__benders, __pyx_v_var->scip_var, (&__pyx_v__mappedvar), __pyx_t_8)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9085, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_7 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_6))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
      __pyx_t_7 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9085, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":9087
 *             PY_SCIP_CALL(SCIPgetBendersSubproblemVar(self._scip, _benders, var.scip_var, &_mappedvar, probnumber))
 * 
 *         if _mappedvar == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return self._getOrCreateVar(_mappedvar)
*/
  __pyx_t_1 = (__pyx_v__mappedvar == NULL);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":9088
 * 
 *         if _mappedvar == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         return self._getOrCreateVar(_mappedvar)
 * 
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":9087
 *             PY_SCIP_CALL(SCIPgetBendersSubproblemVar(self._scip, _benders, var.scip_var, &_mappedvar, probnumber))
 * 
 *         if _mappedvar == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         return self._getOrCreateVar(_mappedvar)
*/
  }

  /* "src/pyscipopt/scip.pxi":9089
 *         if _mappedvar == NULL:
 *             return None
 *         return self._getOrCreateVar(_mappedvar)             # <<<<<<<<<<<<<<
 * 
 *     def getBendersAuxiliaryVar(self, probnumber, Benders benders = None):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, __pyx_v__mappedvar); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9055
 *         return Model.create(scip_subprob)
 * 
 *     def getBendersVar(self, Variable var, Benders benders = None, probnumber = -1):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the variable for the subproblem or master problem
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBendersVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9091
 *         return self._getOrCreateVar(_mappedvar)
 * 
 *     def getBendersAuxiliaryVar(self, probnumber, Benders benders = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the auxiliary variable that is associated with the input problem number
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_543getBendersAuxiliaryVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_542getBendersAuxiliaryVar, "\n        Returns the auxiliary variable that is associated with the input problem number\n\n        Parameters\n        ----------\n        probnumber : int\n            the problem number for which the target variable belongs, -1 for master problem\n        benders : Benders or None, optional\n            the Benders' decomposition to which the subproblem variables belong to\n\n        Returns\n        -------\n        Variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_543getBendersAuxiliaryVar = {"getBendersAuxiliaryVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_543getBendersAuxiliaryVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_542getBendersAuxiliaryVar};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_543getBendersAuxiliaryVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_probnumber = 0;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBendersAuxiliaryVar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_probnumber,&__pyx_mstate_global->__pyx_n_u_benders,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9091, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getBendersAuxiliaryVar", 0) < (0)) __PYX_ERR(2, 9091, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getBendersAuxiliaryVar", 0, 1, 2, i); __PYX_ERR(2, 9091, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9091, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9091, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
    }
    __pyx_v_probnumber = values[0];
    __pyx_v_benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getBendersAuxiliaryVar", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 9091, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBendersAuxiliaryVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benders), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, 1, "benders", 0))) __PYX_ERR(2, 9091, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_542getBendersAuxiliaryVar(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_probnumber, __pyx_v_benders);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_542getBendersAuxiliaryVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_probnumber, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders) {
  SCIP_BENDERS *__pyx_v__benders;
  SCIP_VAR *__pyx_v__auxvar;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  SCIP_BENDERS *__pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBendersAuxiliaryVar", 0);

  /* "src/pyscipopt/scip.pxi":9110
 *         cdef SCIP_VAR* _auxvar
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             _benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_benders) == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":9111
 * 
 *         if benders is None:
 *             _benders = SCIPfindBenders(self._scip, "default")             # <<<<<<<<<<<<<<
 *         else:
 *             _benders = benders._benders
*/
    __pyx_v__benders = SCIPfindBenders(__pyx_v_self->_scip, __pyx_k_default);

    /* "src/pyscipopt/scip.pxi":9110
 *         cdef SCIP_VAR* _auxvar
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             _benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":9113
 *             _benders = SCIPfindBenders(self._scip, "default")
 *         else:
 *             _benders = benders._benders             # <<<<<<<<<<<<<<
 * 
 *         _auxvar = SCIPbendersGetAuxiliaryVar(_benders, probnumber)
*/
  /*else*/ {
    __pyx_t_2 = __pyx_v_benders->_benders;
    __pyx_v__benders = __pyx_t_2;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":9115
 *             _benders = benders._benders
 * 
 *         _auxvar = SCIPbendersGetAuxiliaryVar(_benders, probnumber)             # <<<<<<<<<<<<<<
 *         return self._getOrCreateVar(_auxvar)
 * 
*/
  __pyx_t_3 = __Pyx_PyLong_As_int(__pyx_v_probnumber); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9115, __pyx_L1_error)
  __pyx_v__auxvar = SCIPbendersGetAuxiliaryVar(__pyx_v__benders, __pyx_t_3);

  /* "src/pyscipopt/scip.pxi":9116
 * 
 *         _auxvar = SCIPbendersGetAuxiliaryVar(_benders, probnumber)
 *         return self._getOrCreateVar(_auxvar)             # <<<<<<<<<<<<<<
 * 
 *     def checkBendersSubproblemOptimality(self, Solution solution, probnumber, Benders benders = None):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, __pyx_v__auxvar); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9091
 *         return self._getOrCreateVar(_mappedvar)
 * 
 *     def getBendersAuxiliaryVar(self, probnumber, Benders benders = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the auxiliary variable that is associated with the input problem number
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBendersAuxiliaryVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9118
 *         return self._getOrCreateVar(_auxvar)
 * 
 *     def checkBendersSubproblemOptimality(self, Solution solution, probnumber, Benders benders = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the subproblem is optimal w.r.t the master problem auxiliary variables.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_545checkBendersSubproblemOptimality(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_544checkBendersSubproblemOptimality, "\n        Returns whether the subproblem is optimal w.r.t the master problem auxiliary variables.\n\n        Parameters\n        ----------\n        solution : Solution\n            the master problem solution that is being checked for optimamlity\n        probnumber : int\n            the problem number for which optimality is being checked\n        benders : Benders or None, optional\n            the Benders' decomposition to which the subproblem belongs to\n\n        Returns\n        -------\n        optimal : bool\n            flag to indicate whether the current subproblem is optimal for the master\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_545checkBendersSubproblemOptimality = {"checkBendersSubproblemOptimality", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_545checkBendersSubproblemOptimality, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_544checkBendersSubproblemOptimality};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_545checkBendersSubproblemOptimality(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution = 0;
  PyObject *__pyx_v_probnumber = 0;
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("checkBendersSubproblemOptimality (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_probnumber,&__pyx_mstate_global->__pyx_n_u_benders,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9118, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9118, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9118, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9118, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "checkBendersSubproblemOptimality", 0) < (0)) __PYX_ERR(2, 9118, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("checkBendersSubproblemOptimality", 0, 2, 3, i); __PYX_ERR(2, 9118, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9118, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9118, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9118, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None));
    }
    __pyx_v_solution = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
    __pyx_v_probnumber = values[1];
    __pyx_v_benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("checkBendersSubproblemOptimality", 0, 2, 3, __pyx_nargs); __PYX_ERR(2, 9118, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.checkBendersSubproblemOptimality", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "solution", 0))) __PYX_ERR(2, 9118, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benders), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, 1, "benders", 0))) __PYX_ERR(2, 9118, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_544checkBendersSubproblemOptimality(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_solution, __pyx_v_probnumber, __pyx_v_benders);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_544checkBendersSubproblemOptimality(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_probnumber, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders) {
  SCIP_BENDERS *__pyx_v__benders;
  SCIP_SOL *__pyx_v_scip_sol;
  SCIP_Bool __pyx_v_optimal;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  SCIP_BENDERS *__pyx_t_2;
  SCIP_SOL *__pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  size_t __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("checkBendersSubproblemOptimality", 0);

  /* "src/pyscipopt/scip.pxi":9141
 *         cdef SCIP_Bool optimal
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             _benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
  __pyx_t_1 = (((PyObject *)__pyx_v_benders) == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":9142
 * 
 *         if benders is None:
 *             _benders = SCIPfindBenders(self._scip, "default")             # <<<<<<<<<<<<<<
 *         else:
 *             _benders = benders._benders
*/
    __pyx_v__benders = SCIPfindBenders(__pyx_v_self->_scip, __pyx_k_default);

    /* "src/pyscipopt/scip.pxi":9141
 *         cdef SCIP_Bool optimal
 * 
 *         if benders is None:             # <<<<<<<<<<<<<<
 *             _benders = SCIPfindBenders(self._scip, "default")
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":9144
 *             _benders = SCIPfindBenders(self._scip, "default")
 *         else:
 *             _benders = benders._benders             # <<<<<<<<<<<<<<
 * 
 *         if isinstance(solution, Solution):
*/
  /*else*/ {
    __pyx_t_2 = __pyx_v_benders->_benders;
    __pyx_v__benders = __pyx_t_2;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":9146
 *             _benders = benders._benders
 * 
 *         if isinstance(solution, Solution):             # <<<<<<<<<<<<<<
 *             scip_sol = solution.sol
 *         else:
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution); 
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":9147
 * 
 *         if isinstance(solution, Solution):
 *             scip_sol = solution.sol             # <<<<<<<<<<<<<<
 *         else:
 *             scip_sol = NULL
*/
    __pyx_t_3 = __pyx_v_solution->sol;
    __pyx_v_scip_sol = __pyx_t_3;

    /* "src/pyscipopt/scip.pxi":9146
 *             _benders = benders._benders
 * 
 *         if isinstance(solution, Solution):             # <<<<<<<<<<<<<<
 *             scip_sol = solution.sol
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":9149
 *             scip_sol = solution.sol
 *         else:
 *             scip_sol = NULL             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL( SCIPcheckBendersSubproblemOptimality(self._scip, _benders,
*/
  /*else*/ {
    __pyx_v_scip_sol = NULL;
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":9151
 *             scip_sol = NULL
 * 
 *         PY_SCIP_CALL( SCIPcheckBendersSubproblemOptimality(self._scip, _benders,             # <<<<<<<<<<<<<<
 *             scip_sol, probnumber, &optimal) )
 * 
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 9151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);

  /* "src/pyscipopt/scip.pxi":9152
 * 
 *         PY_SCIP_CALL( SCIPcheckBendersSubproblemOptimality(self._scip, _benders,
 *             scip_sol, probnumber, &optimal) )             # <<<<<<<<<<<<<<
 * 
 *         return optimal
*/
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_probnumber); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9152, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9151
 *             scip_sol = NULL
 * 
 *         PY_SCIP_CALL( SCIPcheckBendersSubproblemOptimality(self._scip, _benders,             # <<<<<<<<<<<<<<
 *             scip_sol, probnumber, &optimal) )
 * 
*/
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcheckBendersSubproblemOptimality(__pyx_v_self->_scip, __pyx_v__benders, __pyx_v_scip_sol, __pyx_t_7, (&__pyx_v_optimal))); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 9151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_9 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_8};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9151, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":9154
 *             scip_sol, probnumber, &optimal) )
 * 
 *         return optimal             # <<<<<<<<<<<<<<
 * 
 *     def includeBendersDefaultCuts(self, Benders benders):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_optimal); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9118
 *         return self._getOrCreateVar(_auxvar)
 * 
 *     def checkBendersSubproblemOptimality(self, Solution solution, probnumber, Benders benders = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the subproblem is optimal w.r.t the master problem auxiliary variables.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.checkBendersSubproblemOptimality", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9156
 *         return optimal
 * 
 *     def includeBendersDefaultCuts(self, Benders benders):             # <<<<<<<<<<<<<<
 *         """
 *         Includes the default Benders' decomposition cuts to the custom Benders' decomposition plugin.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_547includeBendersDefaultCuts(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_546includeBendersDefaultCuts, "\n        Includes the default Benders' decomposition cuts to the custom Benders' decomposition plugin.\n\n        Parameters\n        ----------\n        benders : Benders\n            the Benders' decomposition that the default cuts will be applied to\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_547includeBendersDefaultCuts = {"includeBendersDefaultCuts", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_547includeBendersDefaultCuts, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_546includeBendersDefaultCuts};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_547includeBendersDefaultCuts(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeBendersDefaultCuts (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_benders,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9156, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9156, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeBendersDefaultCuts", 0) < (0)) __PYX_ERR(2, 9156, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeBendersDefaultCuts", 1, 1, 1, i); __PYX_ERR(2, 9156, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9156, __pyx_L3_error)
    }
    __pyx_v_benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeBendersDefaultCuts", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 9156, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeBendersDefaultCuts", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benders), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, 1, "benders", 0))) __PYX_ERR(2, 9156, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_546includeBendersDefaultCuts(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_benders);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_546includeBendersDefaultCuts(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeBendersDefaultCuts", 0);

  /* "src/pyscipopt/scip.pxi":9166
 * 
 *         """
 *         PY_SCIP_CALL( SCIPincludeBendersDefaultCuts(self._scip, benders._benders) )             # <<<<<<<<<<<<<<
 * 
 *     def includeEventhdlr(self, Eventhdlr eventhdlr, name, desc):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeBendersDefaultCuts(__pyx_v_self->_scip, __pyx_v_benders->_benders)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9166, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9156
 *         return optimal
 * 
 *     def includeBendersDefaultCuts(self, Benders benders):             # <<<<<<<<<<<<<<
 *         """
 *         Includes the default Benders' decomposition cuts to the custom Benders' decomposition plugin.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeBendersDefaultCuts", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9168
 *         PY_SCIP_CALL( SCIPincludeBendersDefaultCuts(self._scip, benders._benders) )
 * 
 *     def includeEventhdlr(self, Eventhdlr eventhdlr, name, desc):             # <<<<<<<<<<<<<<
 *         """
 *         Include an event handler.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_549includeEventhdlr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_548includeEventhdlr, "\n        Include an event handler.\n\n        Parameters\n        ----------\n        eventhdlr : Eventhdlr\n            event handler\n        name : str\n            name of event handler\n        desc : str\n            description of event handler\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_549includeEventhdlr = {"includeEventhdlr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_549includeEventhdlr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_548includeEventhdlr};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_549includeEventhdlr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeEventhdlr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_eventhdlr,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9168, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9168, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeEventhdlr", 0) < (0)) __PYX_ERR(2, 9168, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeEventhdlr", 1, 3, 3, i); __PYX_ERR(2, 9168, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9168, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9168, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9168, __pyx_L3_error)
    }
    __pyx_v_eventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeEventhdlr", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 9168, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeEventhdlr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_eventhdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, 1, "eventhdlr", 0))) __PYX_ERR(2, 9168, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_548includeEventhdlr(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_eventhdlr, __pyx_v_name, __pyx_v_desc);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_548includeEventhdlr(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr, PyObject *__pyx_v_name, PyObject *__pyx_v_desc) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_d = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeEventhdlr", 0);

  /* "src/pyscipopt/scip.pxi":9182
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeEventhdlr(self._scip, n, d,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9183
 *         """
 *         n = str_conversion(name)
 *         d = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludeEventhdlr(self._scip, n, d,
 *                                           PyEventCopy,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_d = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9184
 *         n = str_conversion(name)
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeEventhdlr(self._scip, n, d,             # <<<<<<<<<<<<<<
 *                                           PyEventCopy,
 *                                           PyEventFree,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9184, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_d); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9184, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9193
 *                                           PyEventDelete,
 *                                           PyEventExec,
 *                                           <SCIP_EVENTHDLRDATA*>eventhdlr))             # <<<<<<<<<<<<<<
 *         eventhdlr.model = <Model>weakref.proxy(self)
 *         eventhdlr.name = name
*/
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeEventhdlr(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6, __pyx_f_9pyscipopt_4scip_PyEventCopy, __pyx_f_9pyscipopt_4scip_PyEventFree, __pyx_f_9pyscipopt_4scip_PyEventInit, __pyx_f_9pyscipopt_4scip_PyEventExit, __pyx_f_9pyscipopt_4scip_PyEventInitsol, __pyx_f_9pyscipopt_4scip_PyEventExitsol, __pyx_f_9pyscipopt_4scip_PyEventDelete, __pyx_f_9pyscipopt_4scip_PyEventExec, ((SCIP_EVENTHDLRDATA *)__pyx_v_eventhdlr))); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 9184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9184, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9194
 *                                           PyEventExec,
 *                                           <SCIP_EVENTHDLRDATA*>eventhdlr))
 *         eventhdlr.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         eventhdlr.name = name
 *         Py_INCREF(eventhdlr)
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 9194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9194, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_eventhdlr->model);
  __Pyx_DECREF((PyObject *)__pyx_v_eventhdlr->model);
  __pyx_v_eventhdlr->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9195
 *                                           <SCIP_EVENTHDLRDATA*>eventhdlr))
 *         eventhdlr.model = <Model>weakref.proxy(self)
 *         eventhdlr.name = name             # <<<<<<<<<<<<<<
 *         Py_INCREF(eventhdlr)
 * 
*/
  __pyx_t_2 = __pyx_v_name;
  __Pyx_INCREF(__pyx_t_2);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_2))) __PYX_ERR(2, 9195, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_eventhdlr->name);
  __Pyx_DECREF(__pyx_v_eventhdlr->name);
  __pyx_v_eventhdlr->name = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9196
 *         eventhdlr.model = <Model>weakref.proxy(self)
 *         eventhdlr.name = name
 *         Py_INCREF(eventhdlr)             # <<<<<<<<<<<<<<
 * 
 *     def includePricer(self, Pricer pricer, name, desc, priority=1, delay=True):
*/
  Py_INCREF(((PyObject *)__pyx_v_eventhdlr));

  /* "src/pyscipopt/scip.pxi":9168
 *         PY_SCIP_CALL( SCIPincludeBendersDefaultCuts(self._scip, benders._benders) )
 * 
 *     def includeEventhdlr(self, Eventhdlr eventhdlr, name, desc):             # <<<<<<<<<<<<<<
 *         """
 *         Include an event handler.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeEventhdlr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_d);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9198
 *         Py_INCREF(eventhdlr)
 * 
 *     def includePricer(self, Pricer pricer, name, desc, priority=1, delay=True):             # <<<<<<<<<<<<<<
 *         """
 *         Include a pricer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_551includePricer(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_550includePricer, "\n        Include a pricer.\n\n        Parameters\n        ----------\n        pricer : Pricer\n            pricer\n        name : str\n            name of pricer\n        desc : str\n            description of pricer\n        priority : int, optional\n            priority of pricer (Default value = 1)\n        delay : bool, optional\n            should the pricer be delayed until no other pricers or already existing problem variables\n            with negative reduced costs are found? (Default value = True)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_551includePricer = {"includePricer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_551includePricer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_550includePricer};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_551includePricer(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_pricer = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_priority = 0;
  PyObject *__pyx_v_delay = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includePricer (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pricer,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_priority,&__pyx_mstate_global->__pyx_n_u_delay,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9198, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9198, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9198, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9198, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9198, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9198, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includePricer", 0) < (0)) __PYX_ERR(2, 9198, __pyx_L3_error)
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includePricer", 0, 3, 5, i); __PYX_ERR(2, 9198, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9198, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9198, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9198, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9198, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9198, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_pricer = ((struct __pyx_obj_9pyscipopt_4scip_Pricer *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
    __pyx_v_priority = values[3];
    __pyx_v_delay = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includePricer", 0, 3, 5, __pyx_nargs); __PYX_ERR(2, 9198, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includePricer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pricer), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Pricer, 1, "pricer", 0))) __PYX_ERR(2, 9198, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_550includePricer(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_pricer, __pyx_v_name, __pyx_v_desc, __pyx_v_priority, __pyx_v_delay);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_550includePricer(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_pricer, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_delay) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_d = NULL;
  SCIP_PRICER *__pyx_v_scip_pricer;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  int __pyx_t_7;
  SCIP_Bool __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  char const *__pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includePricer", 0);

  /* "src/pyscipopt/scip.pxi":9217
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludePricer(self._scip, n, d,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9217, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9218
 *         """
 *         n = str_conversion(name)
 *         d = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludePricer(self._scip, n, d,
 *                                             priority, delay,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9218, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_d = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9219
 *         n = str_conversion(name)
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludePricer(self._scip, n, d,             # <<<<<<<<<<<<<<
 *                                             priority, delay,
 *                                             PyPricerCopy, PyPricerFree, PyPricerInit, PyPricerExit, PyPricerInitsol, PyPricerExitsol, PyPricerRedcost, PyPricerFarkas,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9219, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_d); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9219, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9220
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludePricer(self._scip, n, d,
 *                                             priority, delay,             # <<<<<<<<<<<<<<
 *                                             PyPricerCopy, PyPricerFree, PyPricerInit, PyPricerExit, PyPricerInitsol, PyPricerExitsol, PyPricerRedcost, PyPricerFarkas,
 *                                             <SCIP_PRICERDATA*>pricer))
*/
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_priority); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9220, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_delay); if (unlikely((__pyx_t_8 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9220, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9219
 *         n = str_conversion(name)
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludePricer(self._scip, n, d,             # <<<<<<<<<<<<<<
 *                                             priority, delay,
 *                                             PyPricerCopy, PyPricerFree, PyPricerInit, PyPricerExit, PyPricerInitsol, PyPricerExitsol, PyPricerRedcost, PyPricerFarkas,
*/
  __pyx_t_9 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludePricer(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_f_9pyscipopt_4scip_PyPricerCopy, __pyx_f_9pyscipopt_4scip_PyPricerFree, __pyx_f_9pyscipopt_4scip_PyPricerInit, __pyx_f_9pyscipopt_4scip_PyPricerExit, __pyx_f_9pyscipopt_4scip_PyPricerInitsol, __pyx_f_9pyscipopt_4scip_PyPricerExitsol, __pyx_f_9pyscipopt_4scip_PyPricerRedcost, __pyx_f_9pyscipopt_4scip_PyPricerFarkas, ((SCIP_PRICERDATA *)__pyx_v_pricer))); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 9219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9219, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9224
 *                                             <SCIP_PRICERDATA*>pricer))
 *         cdef SCIP_PRICER* scip_pricer
 *         scip_pricer = SCIPfindPricer(self._scip, n)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPactivatePricer(self._scip, scip_pricer))
 *         pricer.model = <Model>weakref.proxy(self)
*/
  __pyx_t_10 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) __PYX_ERR(2, 9224, __pyx_L1_error)
  __pyx_v_scip_pricer = SCIPfindPricer(__pyx_v_self->_scip, __pyx_t_10);

  /* "src/pyscipopt/scip.pxi":9225
 *         cdef SCIP_PRICER* scip_pricer
 *         scip_pricer = SCIPfindPricer(self._scip, n)
 *         PY_SCIP_CALL(SCIPactivatePricer(self._scip, scip_pricer))             # <<<<<<<<<<<<<<
 *         pricer.model = <Model>weakref.proxy(self)
 *         Py_INCREF(pricer)
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 9225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPactivatePricer(__pyx_v_self->_scip, __pyx_v_scip_pricer)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_9))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_9);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_9, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_9, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9225, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9226
 *         scip_pricer = SCIPfindPricer(self._scip, n)
 *         PY_SCIP_CALL(SCIPactivatePricer(self._scip, scip_pricer))
 *         pricer.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         Py_INCREF(pricer)
 *         pricer.scip_pricer = scip_pricer
*/
  __pyx_t_9 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_9);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_9);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_9, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9226, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF((PyObject *)__pyx_v_pricer->model);
  __Pyx_DECREF((PyObject *)__pyx_v_pricer->model);
  __pyx_v_pricer->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":9227
 *         PY_SCIP_CALL(SCIPactivatePricer(self._scip, scip_pricer))
 *         pricer.model = <Model>weakref.proxy(self)
 *         Py_INCREF(pricer)             # <<<<<<<<<<<<<<
 *         pricer.scip_pricer = scip_pricer
 * 
*/
  Py_INCREF(((PyObject *)__pyx_v_pricer));

  /* "src/pyscipopt/scip.pxi":9228
 *         pricer.model = <Model>weakref.proxy(self)
 *         Py_INCREF(pricer)
 *         pricer.scip_pricer = scip_pricer             # <<<<<<<<<<<<<<
 * 
 *     def includeConshdlr(self, Conshdlr conshdlr, name, desc, sepapriority=0,
*/
  __pyx_v_pricer->scip_pricer = __pyx_v_scip_pricer;

  /* "src/pyscipopt/scip.pxi":9198
 *         Py_INCREF(eventhdlr)
 * 
 *     def includePricer(self, Pricer pricer, name, desc, priority=1, delay=True):             # <<<<<<<<<<<<<<
 *         """
 *         Include a pricer.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includePricer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_d);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9230
 *         pricer.scip_pricer = scip_pricer
 * 
 *     def includeConshdlr(self, Conshdlr conshdlr, name, desc, sepapriority=0,             # <<<<<<<<<<<<<<
 *                         enfopriority=0, chckpriority=0, sepafreq=-1, propfreq=-1,
 *                         eagerfreq=100, maxprerounds=-1, delaysepa=False,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_553includeConshdlr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_552includeConshdlr, "\n        Include a constraint handler.\n\n        Parameters\n        ----------\n        conshdlr : Conshdlr\n            constraint handler\n        name : str\n            name of constraint handler\n        desc : str\n            description of constraint handler\n        sepapriority : int, optional\n            priority for separation (Default value = 0)\n        enfopriority : int, optional\n            priority for constraint enforcing (Default value = 0)\n        chckpriority : int, optional\n            priority for checking feasibility (Default value = 0)\n        sepafreq : int, optional\n            frequency for separating cuts; 0 = only at root node (Default value = -1)\n        propfreq : int, optional\n            frequency for propagating domains; 0 = only preprocessing propagation (Default value = -1)\n        eagerfreq : int, optional\n            frequency for using all instead of only the useful constraints in separation,\n             propagation and enforcement; -1 = no eager evaluations, 0 = first only\n             (Default value = 100)\n        maxprerounds : int, optional\n            maximal number of presolving rounds the constraint handler participates in (Default value = -1)\n        delaysepa : bool, optional\n            should separation method be delayed, if other separators found cuts? (Default value = False)\n        delayprop : bool, optional\n            should propagation method be delayed, if other propagators found reductions? (Default value = False)\n        needscons : bool, optional\n            should the constraint handler be skipped, if no constraints are available? (Default value = True)\n        proptiming : PY_SCIP_PROPTIMING\n            positions in the node solving loop where propagation method of constraint handlers\n             should be executed (Default value = SCIP_PROPTIMING.BEFORELP)\n        presoltiming : PY_SCIP_PRESOLTIMING\n            timing mask of the constraint handler's presolving method (Def""ault value = SCIP_PRESOLTIMING.MEDIUM)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_553includeConshdlr = {"includeConshdlr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_553includeConshdlr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_552includeConshdlr};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_553includeConshdlr(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_conshdlr = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_sepapriority = 0;
  PyObject *__pyx_v_enfopriority = 0;
  PyObject *__pyx_v_chckpriority = 0;
  PyObject *__pyx_v_sepafreq = 0;
  PyObject *__pyx_v_propfreq = 0;
  PyObject *__pyx_v_eagerfreq = 0;
  PyObject *__pyx_v_maxprerounds = 0;
  PyObject *__pyx_v_delaysepa = 0;
  PyObject *__pyx_v_delayprop = 0;
  PyObject *__pyx_v_needscons = 0;
  PyObject *__pyx_v_proptiming = 0;
  PyObject *__pyx_v_presoltiming = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[15] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeConshdlr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_conshdlr,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_sepapriority,&__pyx_mstate_global->__pyx_n_u_enfopriority,&__pyx_mstate_global->__pyx_n_u_chckpriority,&__pyx_mstate_global->__pyx_n_u_sepafreq,&__pyx_mstate_global->__pyx_n_u_propfreq,&__pyx_mstate_global->__pyx_n_u_eagerfreq,&__pyx_mstate_global->__pyx_n_u_maxprerounds,&__pyx_mstate_global->__pyx_n_u_delaysepa,&__pyx_mstate_global->__pyx_n_u_delayprop,&__pyx_mstate_global->__pyx_n_u_needscons,&__pyx_mstate_global->__pyx_n_u_proptiming,&__pyx_mstate_global->__pyx_n_u_presoltiming,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9230, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 15:
        values[14] = __Pyx_ArgRef_FASTCALL(__pyx_args, 14);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[14])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 14:
        values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeConshdlr", 0) < (0)) __PYX_ERR(2, 9230, __pyx_L3_error)
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_100));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));

      /* "src/pyscipopt/scip.pxi":9232
 *     def includeConshdlr(self, Conshdlr conshdlr, name, desc, sepapriority=0,
 *                         enfopriority=0, chckpriority=0, sepafreq=-1, propfreq=-1,
 *                         eagerfreq=100, maxprerounds=-1, delaysepa=False,             # <<<<<<<<<<<<<<
 *                         delayprop=False, needscons=True,
 *                         proptiming=PY_SCIP_PROPTIMING.BEFORELP,
*/
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":9233
 *                         enfopriority=0, chckpriority=0, sepafreq=-1, propfreq=-1,
 *                         eagerfreq=100, maxprerounds=-1, delaysepa=False,
 *                         delayprop=False, needscons=True,             # <<<<<<<<<<<<<<
 *                         proptiming=PY_SCIP_PROPTIMING.BEFORELP,
 *                         presoltiming=PY_SCIP_PRESOLTIMING.MEDIUM):
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[13]) values[13] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__13);
      if (!values[14]) values[14] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__14);
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeConshdlr", 0, 3, 15, i); __PYX_ERR(2, 9230, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 15:
        values[14] = __Pyx_ArgRef_FASTCALL(__pyx_args, 14);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[14])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 14:
        values[13] = __Pyx_ArgRef_FASTCALL(__pyx_args, 13);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[13])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 13:
        values[12] = __Pyx_ArgRef_FASTCALL(__pyx_args, 12);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[12])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9230, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9230, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9230, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9230, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_100));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));

      /* "src/pyscipopt/scip.pxi":9232
 *     def includeConshdlr(self, Conshdlr conshdlr, name, desc, sepapriority=0,
 *                         enfopriority=0, chckpriority=0, sepafreq=-1, propfreq=-1,
 *                         eagerfreq=100, maxprerounds=-1, delaysepa=False,             # <<<<<<<<<<<<<<
 *                         delayprop=False, needscons=True,
 *                         proptiming=PY_SCIP_PROPTIMING.BEFORELP,
*/
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));

      /* "src/pyscipopt/scip.pxi":9233
 *                         enfopriority=0, chckpriority=0, sepafreq=-1, propfreq=-1,
 *                         eagerfreq=100, maxprerounds=-1, delaysepa=False,
 *                         delayprop=False, needscons=True,             # <<<<<<<<<<<<<<
 *                         proptiming=PY_SCIP_PROPTIMING.BEFORELP,
 *                         presoltiming=PY_SCIP_PRESOLTIMING.MEDIUM):
*/
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[12]) values[12] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[13]) values[13] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__13);
      if (!values[14]) values[14] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__14);
    }
    __pyx_v_conshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
    __pyx_v_sepapriority = values[3];
    __pyx_v_enfopriority = values[4];
    __pyx_v_chckpriority = values[5];
    __pyx_v_sepafreq = values[6];
    __pyx_v_propfreq = values[7];
    __pyx_v_eagerfreq = values[8];
    __pyx_v_maxprerounds = values[9];
    __pyx_v_delaysepa = values[10];
    __pyx_v_delayprop = values[11];
    __pyx_v_needscons = values[12];
    __pyx_v_proptiming = values[13];
    __pyx_v_presoltiming = values[14];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeConshdlr", 0, 3, 15, __pyx_nargs); __PYX_ERR(2, 9230, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeConshdlr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_conshdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, 1, "conshdlr", 0))) __PYX_ERR(2, 9230, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_552includeConshdlr(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_conshdlr, __pyx_v_name, __pyx_v_desc, __pyx_v_sepapriority, __pyx_v_enfopriority, __pyx_v_chckpriority, __pyx_v_sepafreq, __pyx_v_propfreq, __pyx_v_eagerfreq, __pyx_v_maxprerounds, __pyx_v_delaysepa, __pyx_v_delayprop, __pyx_v_needscons, __pyx_v_proptiming, __pyx_v_presoltiming);

  /* "src/pyscipopt/scip.pxi":9230
 *         pricer.scip_pricer = scip_pricer
 * 
 *     def includeConshdlr(self, Conshdlr conshdlr, name, desc, sepapriority=0,             # <<<<<<<<<<<<<<
 *                         enfopriority=0, chckpriority=0, sepafreq=-1, propfreq=-1,
 *                         eagerfreq=100, maxprerounds=-1, delaysepa=False,
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_552includeConshdlr(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_conshdlr, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_sepapriority, PyObject *__pyx_v_enfopriority, PyObject *__pyx_v_chckpriority, PyObject *__pyx_v_sepafreq, PyObject *__pyx_v_propfreq, PyObject *__pyx_v_eagerfreq, PyObject *__pyx_v_maxprerounds, PyObject *__pyx_v_delaysepa, PyObject *__pyx_v_delayprop, PyObject *__pyx_v_needscons, PyObject *__pyx_v_proptiming, PyObject *__pyx_v_presoltiming) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_d = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  int __pyx_t_11;
  int __pyx_t_12;
  int __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  SCIP_PROPTIMING __pyx_t_17;
  SCIP_PRESOLTIMING __pyx_t_18;
  PyObject *__pyx_t_19 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeConshdlr", 0);

  /* "src/pyscipopt/scip.pxi":9276
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeConshdlr(self._scip, n, d, sepapriority, enfopriority, chckpriority, sepafreq, propfreq, eagerfreq,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9276, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9276, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9277
 *         """
 *         n = str_conversion(name)
 *         d = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludeConshdlr(self._scip, n, d, sepapriority, enfopriority, chckpriority, sepafreq, propfreq, eagerfreq,
 *                                               maxprerounds, delaysepa, delayprop, needscons, proptiming, presoltiming,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9277, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9277, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_d = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9278
 *         n = str_conversion(name)
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeConshdlr(self._scip, n, d, sepapriority, enfopriority, chckpriority, sepafreq, propfreq, eagerfreq,             # <<<<<<<<<<<<<<
 *                                               maxprerounds, delaysepa, delayprop, needscons, proptiming, presoltiming,
 *                                               PyConshdlrCopy, PyConsFree, PyConsInit, PyConsExit, PyConsInitpre, PyConsExitpre,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9278, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_d); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9278, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_sepapriority); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9278, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_v_enfopriority); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9278, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_v_chckpriority); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9278, __pyx_L1_error)
  __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_v_sepafreq); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9278, __pyx_L1_error)
  __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_v_propfreq); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9278, __pyx_L1_error)
  __pyx_t_12 = __Pyx_PyLong_As_int(__pyx_v_eagerfreq); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9278, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9279
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeConshdlr(self._scip, n, d, sepapriority, enfopriority, chckpriority, sepafreq, propfreq, eagerfreq,
 *                                               maxprerounds, delaysepa, delayprop, needscons, proptiming, presoltiming,             # <<<<<<<<<<<<<<
 *                                               PyConshdlrCopy, PyConsFree, PyConsInit, PyConsExit, PyConsInitpre, PyConsExitpre,
 *                                               PyConsInitsol, PyConsExitsol, PyConsDelete, PyConsTrans, PyConsInitlp, PyConsSepalp, PyConsSepasol,
*/
  __pyx_t_13 = __Pyx_PyLong_As_int(__pyx_v_maxprerounds); if (unlikely((__pyx_t_13 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9279, __pyx_L1_error)
  __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_delaysepa); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9279, __pyx_L1_error)
  __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_delayprop); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9279, __pyx_L1_error)
  __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_needscons); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9279, __pyx_L1_error)
  __pyx_t_17 = __Pyx_PyLong_As_SCIP_PROPTIMING(__pyx_v_proptiming); if (unlikely((__pyx_t_17 == ((SCIP_PROPTIMING)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9279, __pyx_L1_error)
  __pyx_t_18 = __Pyx_PyLong_As_SCIP_PRESOLTIMING(__pyx_v_presoltiming); if (unlikely((__pyx_t_18 == ((SCIP_PRESOLTIMING)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9279, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9278
 *         n = str_conversion(name)
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeConshdlr(self._scip, n, d, sepapriority, enfopriority, chckpriority, sepafreq, propfreq, eagerfreq,             # <<<<<<<<<<<<<<
 *                                               maxprerounds, delaysepa, delayprop, needscons, proptiming, presoltiming,
 *                                               PyConshdlrCopy, PyConsFree, PyConsInit, PyConsExit, PyConsInitpre, PyConsExitpre,
*/
  __pyx_t_19 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeConshdlr(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_f_9pyscipopt_4scip_PyConshdlrCopy, __pyx_f_9pyscipopt_4scip_PyConsFree, __pyx_f_9pyscipopt_4scip_PyConsInit, __pyx_f_9pyscipopt_4scip_PyConsExit, __pyx_f_9pyscipopt_4scip_PyConsInitpre, __pyx_f_9pyscipopt_4scip_PyConsExitpre, __pyx_f_9pyscipopt_4scip_PyConsInitsol, __pyx_f_9pyscipopt_4scip_PyConsExitsol, __pyx_f_9pyscipopt_4scip_PyConsDelete, __pyx_f_9pyscipopt_4scip_PyConsTrans, __pyx_f_9pyscipopt_4scip_PyConsInitlp, __pyx_f_9pyscipopt_4scip_PyConsSepalp, __pyx_f_9pyscipopt_4scip_PyConsSepasol, __pyx_f_9pyscipopt_4scip_PyConsEnfolp, __pyx_f_9pyscipopt_4scip_PyConsEnforelax, __pyx_f_9pyscipopt_4scip_PyConsEnfops, __pyx_f_9pyscipopt_4scip_PyConsCheck, __pyx_f_9pyscipopt_4scip_PyConsProp, __pyx_f_9pyscipopt_4scip_PyConsPresol, __pyx_f_9pyscipopt_4scip_PyConsResprop, __pyx_f_9pyscipopt_4scip_PyConsLock, __pyx_f_9pyscipopt_4scip_PyConsActive, __pyx_f_9pyscipopt_4scip_PyConsDeactive, __pyx_f_9pyscipopt_4scip_PyConsEnable, __pyx_f_9pyscipopt_4scip_PyConsDisable, __pyx_f_9pyscipopt_4scip_PyConsDelvars, __pyx_f_9pyscipopt_4scip_PyConsPrint, __pyx_f_9pyscipopt_4scip_PyConsCopy, __pyx_f_9pyscipopt_4scip_PyConsParse, __pyx_f_9pyscipopt_4scip_PyConsGetvars, __pyx_f_9pyscipopt_4scip_PyConsGetnvars, __pyx_f_9pyscipopt_4scip_PyConsGetdivebdchgs, __pyx_f_9pyscipopt_4scip_PyConsGetPermSymGraph, __pyx_f_9pyscipopt_4scip_PyConsGetSignedPermSymGraph, ((SCIP_CONSHDLRDATA *)__pyx_v_conshdlr))); if (unlikely(!__pyx_t_19)) __PYX_ERR(2, 9278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_19);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_19};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9286
 *                                               PyConsParse, PyConsGetvars, PyConsGetnvars, PyConsGetdivebdchgs, PyConsGetPermSymGraph, PyConsGetSignedPermSymGraph,
 *                                               <SCIP_CONSHDLRDATA*>conshdlr))
 *         conshdlr.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         conshdlr.name = name
 *         Py_INCREF(conshdlr)
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_19, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_19)) __PYX_ERR(2, 9286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_19);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_19, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_conshdlr->model);
  __Pyx_DECREF((PyObject *)__pyx_v_conshdlr->model);
  __pyx_v_conshdlr->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9287
 *                                               <SCIP_CONSHDLRDATA*>conshdlr))
 *         conshdlr.model = <Model>weakref.proxy(self)
 *         conshdlr.name = name             # <<<<<<<<<<<<<<
 *         Py_INCREF(conshdlr)
 * 
*/
  __pyx_t_2 = __pyx_v_name;
  __Pyx_INCREF(__pyx_t_2);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_2))) __PYX_ERR(2, 9287, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_conshdlr->name);
  __Pyx_DECREF(__pyx_v_conshdlr->name);
  __pyx_v_conshdlr->name = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9288
 *         conshdlr.model = <Model>weakref.proxy(self)
 *         conshdlr.name = name
 *         Py_INCREF(conshdlr)             # <<<<<<<<<<<<<<
 * 
 *     def deactivatePricer(self, Pricer pricer):
*/
  Py_INCREF(((PyObject *)__pyx_v_conshdlr));

  /* "src/pyscipopt/scip.pxi":9230
 *         pricer.scip_pricer = scip_pricer
 * 
 *     def includeConshdlr(self, Conshdlr conshdlr, name, desc, sepapriority=0,             # <<<<<<<<<<<<<<
 *                         enfopriority=0, chckpriority=0, sepafreq=-1, propfreq=-1,
 *                         eagerfreq=100, maxprerounds=-1, delaysepa=False,
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_19);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeConshdlr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_d);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9290
 *         Py_INCREF(conshdlr)
 * 
 *     def deactivatePricer(self, Pricer pricer):             # <<<<<<<<<<<<<<
 *         """
 *         Deactivate the given pricer.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_555deactivatePricer(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_554deactivatePricer, "\n        Deactivate the given pricer.\n\n        Parameters\n        ----------\n        pricer : Pricer\n            the pricer to deactivate\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_555deactivatePricer = {"deactivatePricer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_555deactivatePricer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_554deactivatePricer};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_555deactivatePricer(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_pricer = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("deactivatePricer (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pricer,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9290, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9290, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "deactivatePricer", 0) < (0)) __PYX_ERR(2, 9290, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("deactivatePricer", 1, 1, 1, i); __PYX_ERR(2, 9290, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9290, __pyx_L3_error)
    }
    __pyx_v_pricer = ((struct __pyx_obj_9pyscipopt_4scip_Pricer *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("deactivatePricer", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 9290, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.deactivatePricer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pricer), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Pricer, 1, "pricer", 0))) __PYX_ERR(2, 9290, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_554deactivatePricer(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_pricer);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_554deactivatePricer(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Pricer *__pyx_v_pricer) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("deactivatePricer", 0);

  /* "src/pyscipopt/scip.pxi":9300
 *         """
 *         cdef SCIP_PRICER* scip_pricer
 *         PY_SCIP_CALL(SCIPdeactivatePricer(self._scip, pricer.scip_pricer))             # <<<<<<<<<<<<<<
 * 
 *     def copyLargeNeighborhoodSearch(self, to_fix, fix_vals) -> Model:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPdeactivatePricer(__pyx_v_self->_scip, __pyx_v_pricer->scip_pricer)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9300, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9290
 *         Py_INCREF(conshdlr)
 * 
 *     def deactivatePricer(self, Pricer pricer):             # <<<<<<<<<<<<<<
 *         """
 *         Deactivate the given pricer.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.deactivatePricer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9302
 *         PY_SCIP_CALL(SCIPdeactivatePricer(self._scip, pricer.scip_pricer))
 * 
 *     def copyLargeNeighborhoodSearch(self, to_fix, fix_vals) -> Model:             # <<<<<<<<<<<<<<
 *         """
 *         Creates a configured copy of the transformed problem and applies provided fixings intended for LNS heuristics.
*/

/* Python wrapper */
static struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_pw_9pyscipopt_4scip_5Model_557copyLargeNeighborhoodSearch(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_556copyLargeNeighborhoodSearch, "\n        Creates a configured copy of the transformed problem and applies provided fixings intended for LNS heuristics.\n\n        Parameters\n        ----------\n        to_fix : List[Variable]\n            A list of variables to fix in the copy\n        fix_vals : List[Real]\n            A list of the values to which to fix the variables in the copy (care their order)\n\n        Returns\n        -------\n        model : Model\n            A model containing the created copy\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_557copyLargeNeighborhoodSearch = {"copyLargeNeighborhoodSearch", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_557copyLargeNeighborhoodSearch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_556copyLargeNeighborhoodSearch};
static struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_pw_9pyscipopt_4scip_5Model_557copyLargeNeighborhoodSearch(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_to_fix = 0;
  PyObject *__pyx_v_fix_vals = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("copyLargeNeighborhoodSearch (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_to_fix,&__pyx_mstate_global->__pyx_n_u_fix_vals,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9302, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9302, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9302, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "copyLargeNeighborhoodSearch", 0) < (0)) __PYX_ERR(2, 9302, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("copyLargeNeighborhoodSearch", 1, 2, 2, i); __PYX_ERR(2, 9302, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9302, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9302, __pyx_L3_error)
    }
    __pyx_v_to_fix = values[0];
    __pyx_v_fix_vals = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("copyLargeNeighborhoodSearch", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 9302, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.copyLargeNeighborhoodSearch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_556copyLargeNeighborhoodSearch(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_to_fix, __pyx_v_fix_vals);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_pf_9pyscipopt_4scip_5Model_556copyLargeNeighborhoodSearch(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_to_fix, PyObject *__pyx_v_fix_vals) {
  SCIP *__pyx_v_subscip;
  SCIP_HASHMAP *__pyx_v_varmap;
  SCIP_VAR **__pyx_v_orig_vars;
  SCIP_VAR **__pyx_v_vars;
  SCIP_Real *__pyx_v_vals;
  SCIP_Bool __pyx_v_valid;
  SCIP_Bool __pyx_v_success;
  int __pyx_v_i;
  int __pyx_v_j;
  PyObject *__pyx_v_name_to_val = NULL;
  PyObject *__pyx_v_var = NULL;
  PyObject *__pyx_v_sub_model = NULL;
  PyObject *__pyx_9genexpr53__pyx_v_var = NULL;
  SCIP_Real __pyx_9genexpr53__pyx_v_val;
  struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  Py_ssize_t __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *(*__pyx_t_6)(PyObject *);
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *(*__pyx_t_10)(PyObject *);
  SCIP_Real __pyx_t_11;
  int __pyx_t_12;
  int __pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("copyLargeNeighborhoodSearch", 0);

  /* "src/pyscipopt/scip.pxi":9320
 *         cdef SCIP* subscip
 *         cdef SCIP_HASHMAP* varmap
 *         cdef SCIP_VAR** orig_vars = SCIPgetVars(self._scip)             # <<<<<<<<<<<<<<
 *         cdef SCIP_VAR** vars = <SCIP_VAR**> malloc(len(to_fix) * sizeof(SCIP_VAR*))
 *         cdef SCIP_Real* vals = <SCIP_Real*> malloc(len(fix_vals) * sizeof(SCIP_Real))
*/
  __pyx_v_orig_vars = SCIPgetVars(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":9321
 *         cdef SCIP_HASHMAP* varmap
 *         cdef SCIP_VAR** orig_vars = SCIPgetVars(self._scip)
 *         cdef SCIP_VAR** vars = <SCIP_VAR**> malloc(len(to_fix) * sizeof(SCIP_VAR*))             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* vals = <SCIP_Real*> malloc(len(fix_vals) * sizeof(SCIP_Real))
 *         cdef SCIP_Real val
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_to_fix); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 9321, __pyx_L1_error)
  __pyx_v_vars = ((SCIP_VAR **)malloc((__pyx_t_1 * (sizeof(SCIP_VAR *)))));

  /* "src/pyscipopt/scip.pxi":9322
 *         cdef SCIP_VAR** orig_vars = SCIPgetVars(self._scip)
 *         cdef SCIP_VAR** vars = <SCIP_VAR**> malloc(len(to_fix) * sizeof(SCIP_VAR*))
 *         cdef SCIP_Real* vals = <SCIP_Real*> malloc(len(fix_vals) * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real val
 *         cdef SCIP_Bool valid
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_fix_vals); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 9322, __pyx_L1_error)
  __pyx_v_vals = ((SCIP_Real *)malloc((__pyx_t_1 * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/scip.pxi":9327
 *         cdef SCIP_Bool success
 *         cdef int i
 *         cdef int j = 0             # <<<<<<<<<<<<<<
 * 
 *         name_to_val = {var.name: val for var, val in zip(to_fix, fix_vals)}
*/
  __pyx_v_j = 0;

  /* "src/pyscipopt/scip.pxi":9329
 *         cdef int j = 0
 * 
 *         name_to_val = {var.name: val for var, val in zip(to_fix, fix_vals)}             # <<<<<<<<<<<<<<
 *         for i, var in enumerate(self.getVars()):
 *             if var.name in name_to_val:
*/
  { /* enter inner scope */
    __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9329, __pyx_L5_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_v_to_fix, __pyx_v_fix_vals};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_zip, __pyx_callargs+__pyx_t_5, (3-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9329, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
      __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4);
      __pyx_t_1 = 0;
      __pyx_t_6 = NULL;
    } else {
      __pyx_t_1 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9329, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 9329, __pyx_L5_error)
    }
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    for (;;) {
      if (likely(!__pyx_t_6)) {
        if (likely(PyList_CheckExact(__pyx_t_4))) {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 9329, __pyx_L5_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          __pyx_t_3 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
          ++__pyx_t_1;
        } else {
          {
            Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
            #if !CYTHON_ASSUME_SAFE_SIZE
            if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 9329, __pyx_L5_error)
            #endif
            if (__pyx_t_1 >= __pyx_temp) break;
          }
          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
          __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1));
          #else
          __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_1);
          #endif
          ++__pyx_t_1;
        }
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9329, __pyx_L5_error)
      } else {
        __pyx_t_3 = __pyx_t_6(__pyx_t_4);
        if (unlikely(!__pyx_t_3)) {
          PyObject* exc_type = PyErr_Occurred();
          if (exc_type) {
            if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 9329, __pyx_L5_error)
            PyErr_Clear();
          }
          break;
        }
      }
      __Pyx_GOTREF(__pyx_t_3);
      if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
        PyObject* sequence = __pyx_t_3;
        Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
        if (unlikely(size != 2)) {
          if (size > 2) __Pyx_RaiseTooManyValuesError(2);
          else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
          __PYX_ERR(2, 9329, __pyx_L5_error)
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        if (likely(PyTuple_CheckExact(sequence))) {
          __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0);
          __Pyx_INCREF(__pyx_t_7);
          __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1);
          __Pyx_INCREF(__pyx_t_8);
        } else {
          __pyx_t_7 = __Pyx_PyList_GetItemRefFast(sequence, 0, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 9329, __pyx_L5_error)
          __Pyx_XGOTREF(__pyx_t_7);
          __pyx_t_8 = __Pyx_PyList_GetItemRefFast(sequence, 1, __Pyx_ReferenceSharing_SharedReference);
          if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 9329, __pyx_L5_error)
          __Pyx_XGOTREF(__pyx_t_8);
        }
        #else
        __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 9329, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_7);
        __pyx_t_8 = __Pyx_PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 9329, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_8);
        #endif
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      } else {
        Py_ssize_t index = -1;
        __pyx_t_9 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 9329, __pyx_L5_error)
        __Pyx_GOTREF(__pyx_t_9);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_10 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_9);
        index = 0; __pyx_t_7 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_7)) goto __pyx_L8_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_7);
        index = 1; __pyx_t_8 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L8_unpacking_failed;
        __Pyx_GOTREF(__pyx_t_8);
        if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 2) < (0)) __PYX_ERR(2, 9329, __pyx_L5_error)
        __pyx_t_10 = NULL;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        goto __pyx_L9_unpacking_done;
        __pyx_L8_unpacking_failed:;
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
        __pyx_t_10 = NULL;
        if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
        __PYX_ERR(2, 9329, __pyx_L5_error)
        __pyx_L9_unpacking_done:;
      }
      __pyx_t_11 = __Pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_11 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9329, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_XDECREF_SET(__pyx_9genexpr53__pyx_v_var, __pyx_t_7);
      __pyx_t_7 = 0;
      __pyx_9genexpr53__pyx_v_val = __pyx_t_11;
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_9genexpr53__pyx_v_var, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9329, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_8 = PyFloat_FromDouble(__pyx_9genexpr53__pyx_v_val); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 9329, __pyx_L5_error)
      __Pyx_GOTREF(__pyx_t_8);
      if (unlikely(PyDict_SetItem(__pyx_t_2, (PyObject*)__pyx_t_3, (PyObject*)__pyx_t_8))) __PYX_ERR(2, 9329, __pyx_L5_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_9genexpr53__pyx_v_var); __pyx_9genexpr53__pyx_v_var = 0;
    goto __pyx_L11_exit_scope;
    __pyx_L5_error:;
    __Pyx_XDECREF(__pyx_9genexpr53__pyx_v_var); __pyx_9genexpr53__pyx_v_var = 0;
    goto __pyx_L1_error;
    __pyx_L11_exit_scope:;
  } /* exit inner scope */
  __pyx_v_name_to_val = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9330
 * 
 *         name_to_val = {var.name: val for var, val in zip(to_fix, fix_vals)}
 *         for i, var in enumerate(self.getVars()):             # <<<<<<<<<<<<<<
 *             if var.name in name_to_val:
 *                 vars[j] = orig_vars[i]
*/
  __pyx_t_12 = 0;
  __pyx_t_4 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getVars, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
    __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4);
    __pyx_t_1 = 0;
    __pyx_t_6 = NULL;
  } else {
    __pyx_t_1 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 9330, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (likely(!__pyx_t_6)) {
      if (likely(PyList_CheckExact(__pyx_t_4))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_4);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 9330, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_4, __pyx_t_1, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_1;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 9330, __pyx_L1_error)
          #endif
          if (__pyx_t_1 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1));
        #else
        __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_1);
        #endif
        ++__pyx_t_1;
      }
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9330, __pyx_L1_error)
    } else {
      __pyx_t_2 = __pyx_t_6(__pyx_t_4);
      if (unlikely(!__pyx_t_2)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 9330, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_var, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_v_i = __pyx_t_12;
    __pyx_t_12 = (__pyx_t_12 + 1);

    /* "src/pyscipopt/scip.pxi":9331
 *         name_to_val = {var.name: val for var, val in zip(to_fix, fix_vals)}
 *         for i, var in enumerate(self.getVars()):
 *             if var.name in name_to_val:             # <<<<<<<<<<<<<<
 *                 vars[j] = orig_vars[i]
 *                 vals[j] = <SCIP_Real>name_to_val[var.name]
*/
    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_var, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9331, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_13 = (__Pyx_PyDict_ContainsTF(__pyx_t_2, __pyx_v_name_to_val, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(2, 9331, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (__pyx_t_13) {

      /* "src/pyscipopt/scip.pxi":9332
 *         for i, var in enumerate(self.getVars()):
 *             if var.name in name_to_val:
 *                 vars[j] = orig_vars[i]             # <<<<<<<<<<<<<<
 *                 vals[j] = <SCIP_Real>name_to_val[var.name]
 *                 j+= 1
*/
      (__pyx_v_vars[__pyx_v_j]) = (__pyx_v_orig_vars[__pyx_v_i]);

      /* "src/pyscipopt/scip.pxi":9333
 *             if var.name in name_to_val:
 *                 vars[j] = orig_vars[i]
 *                 vals[j] = <SCIP_Real>name_to_val[var.name]             # <<<<<<<<<<<<<<
 *                 j+= 1
 * 
*/
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_var, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9333, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_name_to_val, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 9333, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_8);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_11 = __Pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_11 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9333, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      (__pyx_v_vals[__pyx_v_j]) = ((SCIP_Real)__pyx_t_11);

      /* "src/pyscipopt/scip.pxi":9334
 *                 vars[j] = orig_vars[i]
 *                 vals[j] = <SCIP_Real>name_to_val[var.name]
 *                 j+= 1             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPcreate(&subscip))
*/
      __pyx_v_j = (__pyx_v_j + 1);

      /* "src/pyscipopt/scip.pxi":9331
 *         name_to_val = {var.name: val for var, val in zip(to_fix, fix_vals)}
 *         for i, var in enumerate(self.getVars()):
 *             if var.name in name_to_val:             # <<<<<<<<<<<<<<
 *                 vars[j] = orig_vars[i]
 *                 vals[j] = <SCIP_Real>name_to_val[var.name]
*/
    }

    /* "src/pyscipopt/scip.pxi":9330
 * 
 *         name_to_val = {var.name: val for var, val in zip(to_fix, fix_vals)}
 *         for i, var in enumerate(self.getVars()):             # <<<<<<<<<<<<<<
 *             if var.name in name_to_val:
 *                 vars[j] = orig_vars[i]
*/
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":9336
 *                 j+= 1
 * 
 *         PY_SCIP_CALL(SCIPcreate(&subscip))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL( SCIPhashmapCreate(&varmap, SCIPblkmem(subscip), self.getNVars()) )
 *         PY_SCIP_CALL( SCIPcopyLargeNeighborhoodSearch(self._scip, subscip, varmap, "LNhS_subscip", vars, vals,
*/
  __pyx_t_8 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreate((&__pyx_v_subscip))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_8);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_8);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_3};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9336, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":9337
 * 
 *         PY_SCIP_CALL(SCIPcreate(&subscip))
 *         PY_SCIP_CALL( SCIPhashmapCreate(&varmap, SCIPblkmem(subscip), self.getNVars()) )             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL( SCIPcopyLargeNeighborhoodSearch(self._scip, subscip, varmap, "LNhS_subscip", vars, vals,
 *                                                       <int>len(to_fix), False, False, &success, &valid) )
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
    __pyx_t_8 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getNVars, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 9337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
  }
  __pyx_t_12 = __Pyx_PyLong_As_int(__pyx_t_8); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPhashmapCreate((&__pyx_v_varmap), SCIPblkmem(__pyx_v_subscip), __pyx_t_12)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 9337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9337, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":9338
 *         PY_SCIP_CALL(SCIPcreate(&subscip))
 *         PY_SCIP_CALL( SCIPhashmapCreate(&varmap, SCIPblkmem(subscip), self.getNVars()) )
 *         PY_SCIP_CALL( SCIPcopyLargeNeighborhoodSearch(self._scip, subscip, varmap, "LNhS_subscip", vars, vals,             # <<<<<<<<<<<<<<
 *                                                       <int>len(to_fix), False, False, &success, &valid) )
 *         sub_model = Model.create(subscip)
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 9338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);

  /* "src/pyscipopt/scip.pxi":9339
 *         PY_SCIP_CALL( SCIPhashmapCreate(&varmap, SCIPblkmem(subscip), self.getNVars()) )
 *         PY_SCIP_CALL( SCIPcopyLargeNeighborhoodSearch(self._scip, subscip, varmap, "LNhS_subscip", vars, vals,
 *                                                       <int>len(to_fix), False, False, &success, &valid) )             # <<<<<<<<<<<<<<
 *         sub_model = Model.create(subscip)
 *         sub_model._freescip = True
*/
  __pyx_t_1 = PyObject_Length(__pyx_v_to_fix); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(2, 9339, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9338
 *         PY_SCIP_CALL(SCIPcreate(&subscip))
 *         PY_SCIP_CALL( SCIPhashmapCreate(&varmap, SCIPblkmem(subscip), self.getNVars()) )
 *         PY_SCIP_CALL( SCIPcopyLargeNeighborhoodSearch(self._scip, subscip, varmap, "LNhS_subscip", vars, vals,             # <<<<<<<<<<<<<<
 *                                                       <int>len(to_fix), False, False, &success, &valid) )
 *         sub_model = Model.create(subscip)
*/
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcopyLargeNeighborhoodSearch(__pyx_v_self->_scip, __pyx_v_subscip, __pyx_v_varmap, __pyx_k_LNhS_subscip, __pyx_v_vars, __pyx_v_vals, ((int)__pyx_t_1), 0, 0, (&__pyx_v_success), (&__pyx_v_valid))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9338, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_8))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9338, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":9340
 *         PY_SCIP_CALL( SCIPcopyLargeNeighborhoodSearch(self._scip, subscip, varmap, "LNhS_subscip", vars, vals,
 *                                                       <int>len(to_fix), False, False, &success, &valid) )
 *         sub_model = Model.create(subscip)             # <<<<<<<<<<<<<<
 *         sub_model._freescip = True
 *         free(vars)
*/
  __pyx_t_4 = __pyx_f_9pyscipopt_4scip_5Model_create(__pyx_v_subscip); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9340, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_v_sub_model = __pyx_t_4;
  __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":9341
 *                                                       <int>len(to_fix), False, False, &success, &valid) )
 *         sub_model = Model.create(subscip)
 *         sub_model._freescip = True             # <<<<<<<<<<<<<<
 *         free(vars)
 *         free(vals)
*/
  if (__Pyx_PyObject_SetAttrStr(__pyx_v_sub_model, __pyx_mstate_global->__pyx_n_u_freescip, Py_True) < (0)) __PYX_ERR(2, 9341, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9342
 *         sub_model = Model.create(subscip)
 *         sub_model._freescip = True
 *         free(vars)             # <<<<<<<<<<<<<<
 *         free(vals)
 *         SCIPhashmapFree(&varmap)
*/
  free(__pyx_v_vars);

  /* "src/pyscipopt/scip.pxi":9343
 *         sub_model._freescip = True
 *         free(vars)
 *         free(vals)             # <<<<<<<<<<<<<<
 *         SCIPhashmapFree(&varmap)
 * 
*/
  free(__pyx_v_vals);

  /* "src/pyscipopt/scip.pxi":9344
 *         free(vars)
 *         free(vals)
 *         SCIPhashmapFree(&varmap)             # <<<<<<<<<<<<<<
 * 
 *         return sub_model
*/
  SCIPhashmapFree((&__pyx_v_varmap));

  /* "src/pyscipopt/scip.pxi":9346
 *         SCIPhashmapFree(&varmap)
 * 
 *         return sub_model             # <<<<<<<<<<<<<<
 * 
 *     def translateSubSol(self, Model sub_model, Solution sol, heur) -> Solution:
*/
  __Pyx_XDECREF((PyObject *)__pyx_r);
  if (!(likely(((__pyx_v_sub_model) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_sub_model, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(2, 9346, __pyx_L1_error)
  __Pyx_INCREF(__pyx_v_sub_model);
  __pyx_r = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_sub_model);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9302
 *         PY_SCIP_CALL(SCIPdeactivatePricer(self._scip, pricer.scip_pricer))
 * 
 *     def copyLargeNeighborhoodSearch(self, to_fix, fix_vals) -> Model:             # <<<<<<<<<<<<<<
 *         """
 *         Creates a configured copy of the transformed problem and applies provided fixings intended for LNS heuristics.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.Model.copyLargeNeighborhoodSearch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_name_to_val);
  __Pyx_XDECREF(__pyx_v_var);
  __Pyx_XDECREF(__pyx_v_sub_model);
  __Pyx_XDECREF(__pyx_9genexpr53__pyx_v_var);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9348
 *         return sub_model
 * 
 *     def translateSubSol(self, Model sub_model, Solution sol, heur) -> Solution:             # <<<<<<<<<<<<<<
 *         """
 * 		Translates a solution of a model copy into a solution of the main model
*/

/* Python wrapper */
static struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_pw_9pyscipopt_4scip_5Model_559translateSubSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_558translateSubSol, "\n\t\tTranslates a solution of a model copy into a solution of the main model\n\n\t\tParameters\n\t\t----------\n\t\tsub_model : Model\n\t\t\tThe python-wrapper of the subscip\n\t\tsol : Solution\n\t\t\tThe python-wrapper of the solution of the subscip\n\t\theur : Heur\n\t\t\tThe python-wrapper of the heuristic that found the solution\n\n\t\tReturns\n\t\t-------\n\t\tsolution : Solution\n\t\t\tThe corresponding solution in the main model\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_559translateSubSol = {"translateSubSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_559translateSubSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_558translateSubSol};
static struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_pw_9pyscipopt_4scip_5Model_559translateSubSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_sub_model = 0;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  PyObject *__pyx_v_heur = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("translateSubSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sub_model,&__pyx_mstate_global->__pyx_n_u_sol,&__pyx_mstate_global->__pyx_n_u_heur,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9348, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9348, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9348, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9348, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "translateSubSol", 0) < (0)) __PYX_ERR(2, 9348, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("translateSubSol", 1, 3, 3, i); __PYX_ERR(2, 9348, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9348, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9348, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9348, __pyx_L3_error)
    }
    __pyx_v_sub_model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)values[0]);
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[1]);
    __pyx_v_heur = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("translateSubSol", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 9348, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.translateSubSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sub_model), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, 1, "sub_model", 0))) __PYX_ERR(2, 9348, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(2, 9348, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_558translateSubSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_sub_model, __pyx_v_sol, __pyx_v_heur);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_pf_9pyscipopt_4scip_5Model_558translateSubSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_sub_model, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, PyObject *__pyx_v_heur) {
  SCIP_SOL *__pyx_v_real_sol;
  SCIP_SOL *__pyx_v_subscip_sol;
  SCIP_HEUR *__pyx_v__heur;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  PyObject *__pyx_v_solution = NULL;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_SOL *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  char const *__pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("translateSubSol", 0);

  /* "src/pyscipopt/scip.pxi":9368
 *         cdef SCIP_VAR** vars
 *         cdef SCIP_SOL* real_sol
 *         cdef SCIP_SOL* subscip_sol = sol.sol             # <<<<<<<<<<<<<<
 *         cdef SCIP_HEUR* _heur
 *         cdef SCIP_Bool success
*/
  __pyx_t_1 = __pyx_v_sol->sol;
  __pyx_v_subscip_sol = __pyx_t_1;

  /* "src/pyscipopt/scip.pxi":9374
 *         cdef _VarArray wrapper
 * 
 *         assert sub_model.getNVars(False) >= self.getNVars(True), "The sub_model must have at least as many variables as the main model."             # <<<<<<<<<<<<<<
 * 
 *         wrapper = _VarArray(sub_model.getVars(False))
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_3 = ((PyObject *)__pyx_v_sub_model);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, Py_False};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getNVars, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9374, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_5 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, Py_True};
      __pyx_t_3 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getNVars, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9374, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_GE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 9374, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 9374, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_6)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_The_sub_model_must_have_at_least, 0, 0);
      __PYX_ERR(2, 9374, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 9374, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":9376
 *         assert sub_model.getNVars(False) >= self.getNVars(True), "The sub_model must have at least as many variables as the main model."
 * 
 *         wrapper = _VarArray(sub_model.getVars(False))             # <<<<<<<<<<<<<<
 *         _heur = SCIPfindHeur(self._scip, str_conversion(heur.name))
 *         PY_SCIP_CALL( SCIPtranslateSubSol(self._scip, sub_model._scip, subscip_sol, _heur, wrapper.ptr, &real_sol) )
*/
  __pyx_t_3 = NULL;
  __pyx_t_7 = ((PyObject *)__pyx_v_sub_model);
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, Py_False};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getVars, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9376, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 9376, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_5);
  }
  __pyx_v_wrapper = ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_5);
  __pyx_t_5 = 0;

  /* "src/pyscipopt/scip.pxi":9377
 * 
 *         wrapper = _VarArray(sub_model.getVars(False))
 *         _heur = SCIPfindHeur(self._scip, str_conversion(heur.name))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL( SCIPtranslateSubSol(self._scip, sub_model._scip, subscip_sol, _heur, wrapper.ptr, &real_sol) )
 *         solution = Solution.create(self._scip, real_sol)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_heur, __pyx_mstate_global->__pyx_n_u_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 9377, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
    __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 9377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_t_5); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(2, 9377, __pyx_L1_error)
  __pyx_v__heur = SCIPfindHeur(__pyx_v_self->_scip, __pyx_t_8);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "src/pyscipopt/scip.pxi":9378
 *         wrapper = _VarArray(sub_model.getVars(False))
 *         _heur = SCIPfindHeur(self._scip, str_conversion(heur.name))
 *         PY_SCIP_CALL( SCIPtranslateSubSol(self._scip, sub_model._scip, subscip_sol, _heur, wrapper.ptr, &real_sol) )             # <<<<<<<<<<<<<<
 *         solution = Solution.create(self._scip, real_sol)
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 9378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPtranslateSubSol(__pyx_v_self->_scip, __pyx_v_sub_model->_scip, __pyx_v_subscip_sol, __pyx_v__heur, __pyx_v_wrapper->ptr, (&__pyx_v_real_sol))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 9378, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "src/pyscipopt/scip.pxi":9379
 *         _heur = SCIPfindHeur(self._scip, str_conversion(heur.name))
 *         PY_SCIP_CALL( SCIPtranslateSubSol(self._scip, sub_model._scip, subscip_sol, _heur, wrapper.ptr, &real_sol) )
 *         solution = Solution.create(self._scip, real_sol)             # <<<<<<<<<<<<<<
 * 
 *         return solution
*/
  __pyx_t_5 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_self->_scip, __pyx_v_real_sol); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 9379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_v_solution = __pyx_t_5;
  __pyx_t_5 = 0;

  /* "src/pyscipopt/scip.pxi":9381
 *         solution = Solution.create(self._scip, real_sol)
 * 
 *         return solution             # <<<<<<<<<<<<<<
 * 
 *     def createCons(self, Conshdlr conshdlr, name, initial=True, separate=True, enforce=True, check=True, propagate=True,
*/
  __Pyx_XDECREF((PyObject *)__pyx_r);
  if (!(likely(((__pyx_v_solution) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_solution, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution))))) __PYX_ERR(2, 9381, __pyx_L1_error)
  __Pyx_INCREF(__pyx_v_solution);
  __pyx_r = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_v_solution);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9348
 *         return sub_model
 * 
 *     def translateSubSol(self, Model sub_model, Solution sol, heur) -> Solution:             # <<<<<<<<<<<<<<
 *         """
 * 		Translates a solution of a model copy into a solution of the main model
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.translateSubSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XDECREF(__pyx_v_solution);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9383
 *         return solution
 * 
 *     def createCons(self, Conshdlr conshdlr, name, initial=True, separate=True, enforce=True, check=True, propagate=True,             # <<<<<<<<<<<<<<
 *                    local=False, modifiable=False, dynamic=False, removable=False, stickingatnode=False):
 *         """
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_561createCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_560createCons, "\n        Create a constraint of a custom constraint handler.\n\n        Parameters\n        ----------\n        conshdlr : Conshdlr\n            constraint handler\n        name : str\n            name of constraint handler\n        initial : bool, optional\n            (Default value = True)\n        separate : bool, optional\n            (Default value = True)\n        enforce : bool, optional\n            (Default value = True)\n        check : bool, optional\n            (Default value = True)\n        propagate : bool, optional\n            (Default value = True)\n        local : bool, optional\n            (Default value = False)\n        modifiable : bool, optional\n            (Default value = False)\n        dynamic : bool, optional\n            (Default value = False)\n        removable : bool, optional\n            (Default value = False)\n        stickingatnode : bool, optional\n            (Default value = False)\n\n        Returns\n        -------\n        Constraint\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_561createCons = {"createCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_561createCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_560createCons};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_561createCons(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_conshdlr = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_initial = 0;
  PyObject *__pyx_v_separate = 0;
  PyObject *__pyx_v_enforce = 0;
  PyObject *__pyx_v_check = 0;
  PyObject *__pyx_v_propagate = 0;
  PyObject *__pyx_v_local = 0;
  PyObject *__pyx_v_modifiable = 0;
  PyObject *__pyx_v_dynamic = 0;
  PyObject *__pyx_v_removable = 0;
  PyObject *__pyx_v_stickingatnode = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("createCons (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_conshdlr,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_initial,&__pyx_mstate_global->__pyx_n_u_separate,&__pyx_mstate_global->__pyx_n_u_enforce,&__pyx_mstate_global->__pyx_n_u_check,&__pyx_mstate_global->__pyx_n_u_propagate,&__pyx_mstate_global->__pyx_n_u_local,&__pyx_mstate_global->__pyx_n_u_modifiable,&__pyx_mstate_global->__pyx_n_u_dynamic,&__pyx_mstate_global->__pyx_n_u_removable,&__pyx_mstate_global->__pyx_n_u_stickingatnode,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9383, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "createCons", 0) < (0)) __PYX_ERR(2, 9383, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":9384
 * 
 *     def createCons(self, Conshdlr conshdlr, name, initial=True, separate=True, enforce=True, check=True, propagate=True,
 *                    local=False, modifiable=False, dynamic=False, removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Create a constraint of a custom constraint handler.
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("createCons", 0, 2, 12, i); __PYX_ERR(2, 9383, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 12:
        values[11] = __Pyx_ArgRef_FASTCALL(__pyx_args, 11);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[11])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 11:
        values[10] = __Pyx_ArgRef_FASTCALL(__pyx_args, 10);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[10])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9383, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9383, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9383, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }

      /* "src/pyscipopt/scip.pxi":9383
 *         return solution
 * 
 *     def createCons(self, Conshdlr conshdlr, name, initial=True, separate=True, enforce=True, check=True, propagate=True,             # <<<<<<<<<<<<<<
 *                    local=False, modifiable=False, dynamic=False, removable=False, stickingatnode=False):
 *         """
*/
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":9384
 * 
 *     def createCons(self, Conshdlr conshdlr, name, initial=True, separate=True, enforce=True, check=True, propagate=True,
 *                    local=False, modifiable=False, dynamic=False, removable=False, stickingatnode=False):             # <<<<<<<<<<<<<<
 *         """
 *         Create a constraint of a custom constraint handler.
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[10]) values[10] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[11]) values[11] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_conshdlr = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_initial = values[2];
    __pyx_v_separate = values[3];
    __pyx_v_enforce = values[4];
    __pyx_v_check = values[5];
    __pyx_v_propagate = values[6];
    __pyx_v_local = values[7];
    __pyx_v_modifiable = values[8];
    __pyx_v_dynamic = values[9];
    __pyx_v_removable = values[10];
    __pyx_v_stickingatnode = values[11];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("createCons", 0, 2, 12, __pyx_nargs); __PYX_ERR(2, 9383, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.createCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_conshdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, 1, "conshdlr", 0))) __PYX_ERR(2, 9383, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_560createCons(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_conshdlr, __pyx_v_name, __pyx_v_initial, __pyx_v_separate, __pyx_v_enforce, __pyx_v_check, __pyx_v_propagate, __pyx_v_local, __pyx_v_modifiable, __pyx_v_dynamic, __pyx_v_removable, __pyx_v_stickingatnode);

  /* "src/pyscipopt/scip.pxi":9383
 *         return solution
 * 
 *     def createCons(self, Conshdlr conshdlr, name, initial=True, separate=True, enforce=True, check=True, propagate=True,             # <<<<<<<<<<<<<<
 *                    local=False, modifiable=False, dynamic=False, removable=False, stickingatnode=False):
 *         """
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_560createCons(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v_conshdlr, PyObject *__pyx_v_name, PyObject *__pyx_v_initial, PyObject *__pyx_v_separate, PyObject *__pyx_v_enforce, PyObject *__pyx_v_check, PyObject *__pyx_v_propagate, PyObject *__pyx_v_local, PyObject *__pyx_v_modifiable, PyObject *__pyx_v_dynamic, PyObject *__pyx_v_removable, PyObject *__pyx_v_stickingatnode) {
  PyObject *__pyx_v_n = NULL;
  SCIP_CONSHDLR *__pyx_v_scip_conshdlr;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *__pyx_v_constraint = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  SCIP_Bool __pyx_t_7;
  SCIP_Bool __pyx_t_8;
  SCIP_Bool __pyx_t_9;
  SCIP_Bool __pyx_t_10;
  SCIP_Bool __pyx_t_11;
  SCIP_Bool __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  SCIP_Bool __pyx_t_14;
  SCIP_Bool __pyx_t_15;
  SCIP_Bool __pyx_t_16;
  PyObject *__pyx_t_17 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("createCons", 0);

  /* "src/pyscipopt/scip.pxi":9421
 *         """
 * 
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         cdef SCIP_CONSHDLR* scip_conshdlr
 *         scip_conshdlr = SCIPfindConshdlr(self._scip, str_conversion(conshdlr.name))
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9421, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9423
 *         n = str_conversion(name)
 *         cdef SCIP_CONSHDLR* scip_conshdlr
 *         scip_conshdlr = SCIPfindConshdlr(self._scip, str_conversion(conshdlr.name))             # <<<<<<<<<<<<<<
 *         constraint = Constraint()
 *         PY_SCIP_CALL(SCIPcreateCons(self._scip, &(constraint.scip_cons), n, scip_conshdlr, <SCIP_CONSDATA*>constraint,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_conshdlr->name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9423, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_t_1); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9423, __pyx_L1_error)
  __pyx_v_scip_conshdlr = SCIPfindConshdlr(__pyx_v_self->_scip, __pyx_t_5);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9424
 *         cdef SCIP_CONSHDLR* scip_conshdlr
 *         scip_conshdlr = SCIPfindConshdlr(self._scip, str_conversion(conshdlr.name))
 *         constraint = Constraint()             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPcreateCons(self._scip, &(constraint.scip_cons), n, scip_conshdlr, <SCIP_CONSDATA*>constraint,
 *                                 initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))
*/
  __pyx_t_2 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9424, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_constraint = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9425
 *         scip_conshdlr = SCIPfindConshdlr(self._scip, str_conversion(conshdlr.name))
 *         constraint = Constraint()
 *         PY_SCIP_CALL(SCIPcreateCons(self._scip, &(constraint.scip_cons), n, scip_conshdlr, <SCIP_CONSDATA*>constraint,             # <<<<<<<<<<<<<<
 *                                 initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))
 *         return constraint
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9425, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9426
 *         constraint = Constraint()
 *         PY_SCIP_CALL(SCIPcreateCons(self._scip, &(constraint.scip_cons), n, scip_conshdlr, <SCIP_CONSDATA*>constraint,
 *                                 initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))             # <<<<<<<<<<<<<<
 *         return constraint
 * 
*/
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_initial); if (unlikely((__pyx_t_7 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9426, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_separate); if (unlikely((__pyx_t_8 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9426, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_enforce); if (unlikely((__pyx_t_9 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9426, __pyx_L1_error)
  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_check); if (unlikely((__pyx_t_10 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9426, __pyx_L1_error)
  __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_propagate); if (unlikely((__pyx_t_11 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9426, __pyx_L1_error)
  __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_local); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9426, __pyx_L1_error)
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_modifiable); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9426, __pyx_L1_error)
  __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_dynamic); if (unlikely((__pyx_t_14 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9426, __pyx_L1_error)
  __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_v_removable); if (unlikely((__pyx_t_15 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9426, __pyx_L1_error)
  __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_stickingatnode); if (unlikely((__pyx_t_16 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9426, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9425
 *         scip_conshdlr = SCIPfindConshdlr(self._scip, str_conversion(conshdlr.name))
 *         constraint = Constraint()
 *         PY_SCIP_CALL(SCIPcreateCons(self._scip, &(constraint.scip_cons), n, scip_conshdlr, <SCIP_CONSDATA*>constraint,             # <<<<<<<<<<<<<<
 *                                 initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))
 *         return constraint
*/
  __pyx_t_17 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateCons(__pyx_v_self->_scip, (&__pyx_v_constraint->scip_cons), __pyx_t_6, __pyx_v_scip_conshdlr, ((SCIP_CONSDATA *)__pyx_v_constraint), __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_t_14, __pyx_t_15, __pyx_t_16)); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 9425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_17);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_17};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9427
 *         PY_SCIP_CALL(SCIPcreateCons(self._scip, &(constraint.scip_cons), n, scip_conshdlr, <SCIP_CONSDATA*>constraint,
 *                                 initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode))
 *         return constraint             # <<<<<<<<<<<<<<
 * 
 *     def includePresol(self, Presol presol, name, desc, priority, maxrounds, timing=SCIP_PRESOLTIMING_FAST):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_constraint);
  __pyx_r = ((PyObject *)__pyx_v_constraint);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9383
 *         return solution
 * 
 *     def createCons(self, Conshdlr conshdlr, name, initial=True, separate=True, enforce=True, check=True, propagate=True,             # <<<<<<<<<<<<<<
 *                    local=False, modifiable=False, dynamic=False, removable=False, stickingatnode=False):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_AddTraceback("pyscipopt.scip.Model.createCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF((PyObject *)__pyx_v_constraint);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9429
 *         return constraint
 * 
 *     def includePresol(self, Presol presol, name, desc, priority, maxrounds, timing=SCIP_PRESOLTIMING_FAST):             # <<<<<<<<<<<<<<
 *         """
 *         Include a presolver.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_563includePresol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_562includePresol, "\n        Include a presolver.\n\n        Parameters\n        ----------\n        presol : Presol\n            presolver\n        name : str\n            name of presolver\n        desc : str\n            description of presolver\n        priority : int\n            priority of the presolver (>= 0: before, < 0: after constraint handlers)\n        maxrounds : int\n            maximal number of presolving rounds the presolver participates in (-1: no limit)\n        timing : PY_SCIP_PRESOLTIMING, optional\n             timing mask of presolver (Default value = SCIP_PRESOLTIMING_FAST)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_563includePresol = {"includePresol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_563includePresol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_562includePresol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_563includePresol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_presol = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_priority = 0;
  PyObject *__pyx_v_maxrounds = 0;
  PyObject *__pyx_v_timing = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includePresol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_presol,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_priority,&__pyx_mstate_global->__pyx_n_u_maxrounds,&__pyx_mstate_global->__pyx_n_u_timing,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9429, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includePresol", 0) < (0)) __PYX_ERR(2, 9429, __pyx_L3_error)
      if (!values[5]) values[5] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__15);
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includePresol", 0, 5, 6, i); __PYX_ERR(2, 9429, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9429, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9429, __pyx_L3_error)
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9429, __pyx_L3_error)
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9429, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9429, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9429, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[5]) values[5] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__15);
    }
    __pyx_v_presol = ((struct __pyx_obj_9pyscipopt_4scip_Presol *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
    __pyx_v_priority = values[3];
    __pyx_v_maxrounds = values[4];
    __pyx_v_timing = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includePresol", 0, 5, 6, __pyx_nargs); __PYX_ERR(2, 9429, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includePresol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_presol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Presol, 1, "presol", 0))) __PYX_ERR(2, 9429, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_562includePresol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_presol, __pyx_v_name, __pyx_v_desc, __pyx_v_priority, __pyx_v_maxrounds, __pyx_v_timing);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_562includePresol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v_presol, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_maxrounds, PyObject *__pyx_v_timing) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_d = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  SCIP_PRESOLTIMING __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includePresol", 0);

  /* "src/pyscipopt/scip.pxi":9449
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludePresol(self._scip, n, d, priority, maxrounds, timing, PyPresolCopy, PyPresolFree, PyPresolInit,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9449, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9450
 *         """
 *         n = str_conversion(name)
 *         d = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludePresol(self._scip, n, d, priority, maxrounds, timing, PyPresolCopy, PyPresolFree, PyPresolInit,
 *                                             PyPresolExit, PyPresolInitpre, PyPresolExitpre, PyPresolExec, <SCIP_PRESOLDATA*>presol))
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9450, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9450, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_d = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9451
 *         n = str_conversion(name)
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludePresol(self._scip, n, d, priority, maxrounds, timing, PyPresolCopy, PyPresolFree, PyPresolInit,             # <<<<<<<<<<<<<<
 *                                             PyPresolExit, PyPresolInitpre, PyPresolExitpre, PyPresolExec, <SCIP_PRESOLDATA*>presol))
 *         presol.model = <Model>weakref.proxy(self)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9451, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_d); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9451, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_priority); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9451, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_v_maxrounds); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9451, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyLong_As_SCIP_PRESOLTIMING(__pyx_v_timing); if (unlikely((__pyx_t_9 == ((SCIP_PRESOLTIMING)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9451, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9452
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludePresol(self._scip, n, d, priority, maxrounds, timing, PyPresolCopy, PyPresolFree, PyPresolInit,
 *                                             PyPresolExit, PyPresolInitpre, PyPresolExitpre, PyPresolExec, <SCIP_PRESOLDATA*>presol))             # <<<<<<<<<<<<<<
 *         presol.model = <Model>weakref.proxy(self)
 *         Py_INCREF(presol)
*/
  __pyx_t_10 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludePresol(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_f_9pyscipopt_4scip_PyPresolCopy, __pyx_f_9pyscipopt_4scip_PyPresolFree, __pyx_f_9pyscipopt_4scip_PyPresolInit, __pyx_f_9pyscipopt_4scip_PyPresolExit, __pyx_f_9pyscipopt_4scip_PyPresolInitpre, __pyx_f_9pyscipopt_4scip_PyPresolExitpre, __pyx_f_9pyscipopt_4scip_PyPresolExec, ((SCIP_PRESOLDATA *)__pyx_v_presol))); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9451, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_10};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9451, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9453
 *         PY_SCIP_CALL(SCIPincludePresol(self._scip, n, d, priority, maxrounds, timing, PyPresolCopy, PyPresolFree, PyPresolInit,
 *                                             PyPresolExit, PyPresolInitpre, PyPresolExitpre, PyPresolExec, <SCIP_PRESOLDATA*>presol))
 *         presol.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         Py_INCREF(presol)
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9453, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_presol->model);
  __Pyx_DECREF((PyObject *)__pyx_v_presol->model);
  __pyx_v_presol->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9454
 *                                             PyPresolExit, PyPresolInitpre, PyPresolExitpre, PyPresolExec, <SCIP_PRESOLDATA*>presol))
 *         presol.model = <Model>weakref.proxy(self)
 *         Py_INCREF(presol)             # <<<<<<<<<<<<<<
 * 
 *     def includeSepa(self, Sepa sepa, name, desc, priority=0, freq=10, maxbounddist=1.0, usessubscip=False, delay=False):
*/
  Py_INCREF(((PyObject *)__pyx_v_presol));

  /* "src/pyscipopt/scip.pxi":9429
 *         return constraint
 * 
 *     def includePresol(self, Presol presol, name, desc, priority, maxrounds, timing=SCIP_PRESOLTIMING_FAST):             # <<<<<<<<<<<<<<
 *         """
 *         Include a presolver.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includePresol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_d);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9456
 *         Py_INCREF(presol)
 * 
 *     def includeSepa(self, Sepa sepa, name, desc, priority=0, freq=10, maxbounddist=1.0, usessubscip=False, delay=False):             # <<<<<<<<<<<<<<
 *         """
 *         Include a separator
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_565includeSepa(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_564includeSepa, "\n        Include a separator\n\n        :param Sepa sepa: separator\n        :param name: name of separator\n        :param desc: description of separator\n        :param priority: priority of separator (>= 0: before, < 0: after constraint handlers)\n        :param freq: frequency for calling separator\n        :param maxbounddist: maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying separation\n        :param usessubscip: does the separator use a secondary SCIP instance? (Default value = False)\n        :param delay: should separator be delayed, if other separators found cuts? (Default value = False)\n\n\n        Parameters\n        ----------\n        sepa : Sepa\n            separator\n        name : str\n            name of separator\n        desc : str\n            description of separator\n        priority : int, optional\n            priority of separator (>= 0: before, < 0: after constraint handlers) (default=0)\n        freq : int, optional\n            frequency for calling separator (default=10)\n        maxbounddist : float, optional\n            maximal relative distance from current node's dual bound to primal\n            bound compared to best node's dual bound for applying separation.\n            (default = 1.0)\n        usessubscip : bool, optional\n            does the separator use a secondary SCIP instance? (Default value = False)\n        delay : bool, optional\n            should separator be delayed if other separators found cuts? (Default value = False)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_565includeSepa = {"includeSepa", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_565includeSepa, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_564includeSepa};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_565includeSepa(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_sepa = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_priority = 0;
  PyObject *__pyx_v_freq = 0;
  PyObject *__pyx_v_maxbounddist = 0;
  PyObject *__pyx_v_usessubscip = 0;
  PyObject *__pyx_v_delay = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[8] = {0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeSepa (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sepa,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_priority,&__pyx_mstate_global->__pyx_n_u_freq,&__pyx_mstate_global->__pyx_n_u_maxbounddist,&__pyx_mstate_global->__pyx_n_u_usessubscip,&__pyx_mstate_global->__pyx_n_u_delay,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9456, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 9456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 9456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeSepa", 0) < (0)) __PYX_ERR(2, 9456, __pyx_L3_error)
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_10));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_1_0));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeSepa", 0, 3, 8, i); __PYX_ERR(2, 9456, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 9456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 9456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9456, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9456, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9456, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9456, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_10));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_float_1_0));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_sepa = ((struct __pyx_obj_9pyscipopt_4scip_Sepa *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
    __pyx_v_priority = values[3];
    __pyx_v_freq = values[4];
    __pyx_v_maxbounddist = values[5];
    __pyx_v_usessubscip = values[6];
    __pyx_v_delay = values[7];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeSepa", 0, 3, 8, __pyx_nargs); __PYX_ERR(2, 9456, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeSepa", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sepa), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Sepa, 1, "sepa", 0))) __PYX_ERR(2, 9456, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_564includeSepa(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_sepa, __pyx_v_name, __pyx_v_desc, __pyx_v_priority, __pyx_v_freq, __pyx_v_maxbounddist, __pyx_v_usessubscip, __pyx_v_delay);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_564includeSepa(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v_sepa, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_freq, PyObject *__pyx_v_maxbounddist, PyObject *__pyx_v_usessubscip, PyObject *__pyx_v_delay) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_d = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  SCIP_Real __pyx_t_9;
  SCIP_Bool __pyx_t_10;
  SCIP_Bool __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeSepa", 0);

  /* "src/pyscipopt/scip.pxi":9492
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeSepa(self._scip, n, d, priority, freq, maxbounddist, usessubscip, delay, PySepaCopy, PySepaFree,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9492, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9492, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9493
 *         """
 *         n = str_conversion(name)
 *         d = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludeSepa(self._scip, n, d, priority, freq, maxbounddist, usessubscip, delay, PySepaCopy, PySepaFree,
 *                                           PySepaInit, PySepaExit, PySepaInitsol, PySepaExitsol, PySepaExeclp, PySepaExecsol, <SCIP_SEPADATA*>sepa))
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9493, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_d = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9494
 *         n = str_conversion(name)
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeSepa(self._scip, n, d, priority, freq, maxbounddist, usessubscip, delay, PySepaCopy, PySepaFree,             # <<<<<<<<<<<<<<
 *                                           PySepaInit, PySepaExit, PySepaInitsol, PySepaExitsol, PySepaExeclp, PySepaExecsol, <SCIP_SEPADATA*>sepa))
 *         sepa.model = <Model>weakref.proxy(self)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9494, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_d); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9494, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_priority); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9494, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_v_freq); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9494, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyFloat_AsDouble(__pyx_v_maxbounddist); if (unlikely((__pyx_t_9 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9494, __pyx_L1_error)
  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_usessubscip); if (unlikely((__pyx_t_10 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9494, __pyx_L1_error)
  __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_delay); if (unlikely((__pyx_t_11 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9494, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9495
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeSepa(self._scip, n, d, priority, freq, maxbounddist, usessubscip, delay, PySepaCopy, PySepaFree,
 *                                           PySepaInit, PySepaExit, PySepaInitsol, PySepaExitsol, PySepaExeclp, PySepaExecsol, <SCIP_SEPADATA*>sepa))             # <<<<<<<<<<<<<<
 *         sepa.model = <Model>weakref.proxy(self)
 *         sepa.name = name
*/
  __pyx_t_12 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeSepa(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_f_9pyscipopt_4scip_PySepaCopy, __pyx_f_9pyscipopt_4scip_PySepaFree, __pyx_f_9pyscipopt_4scip_PySepaInit, __pyx_f_9pyscipopt_4scip_PySepaExit, __pyx_f_9pyscipopt_4scip_PySepaInitsol, __pyx_f_9pyscipopt_4scip_PySepaExitsol, __pyx_f_9pyscipopt_4scip_PySepaExeclp, __pyx_f_9pyscipopt_4scip_PySepaExecsol, ((SCIP_SEPADATA *)__pyx_v_sepa))); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 9494, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_12};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9494, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9496
 *         PY_SCIP_CALL(SCIPincludeSepa(self._scip, n, d, priority, freq, maxbounddist, usessubscip, delay, PySepaCopy, PySepaFree,
 *                                           PySepaInit, PySepaExit, PySepaInitsol, PySepaExitsol, PySepaExeclp, PySepaExecsol, <SCIP_SEPADATA*>sepa))
 *         sepa.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         sepa.name = name
 *         Py_INCREF(sepa)
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 9496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9496, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_sepa->model);
  __Pyx_DECREF((PyObject *)__pyx_v_sepa->model);
  __pyx_v_sepa->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9497
 *                                           PySepaInit, PySepaExit, PySepaInitsol, PySepaExitsol, PySepaExeclp, PySepaExecsol, <SCIP_SEPADATA*>sepa))
 *         sepa.model = <Model>weakref.proxy(self)
 *         sepa.name = name             # <<<<<<<<<<<<<<
 *         Py_INCREF(sepa)
 * 
*/
  __pyx_t_2 = __pyx_v_name;
  __Pyx_INCREF(__pyx_t_2);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_2))) __PYX_ERR(2, 9497, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_sepa->name);
  __Pyx_DECREF(__pyx_v_sepa->name);
  __pyx_v_sepa->name = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9498
 *         sepa.model = <Model>weakref.proxy(self)
 *         sepa.name = name
 *         Py_INCREF(sepa)             # <<<<<<<<<<<<<<
 * 
 *     def includeReader(self, Reader reader, name, desc, ext):
*/
  Py_INCREF(((PyObject *)__pyx_v_sepa));

  /* "src/pyscipopt/scip.pxi":9456
 *         Py_INCREF(presol)
 * 
 *     def includeSepa(self, Sepa sepa, name, desc, priority=0, freq=10, maxbounddist=1.0, usessubscip=False, delay=False):             # <<<<<<<<<<<<<<
 *         """
 *         Include a separator
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeSepa", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_d);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9500
 *         Py_INCREF(sepa)
 * 
 *     def includeReader(self, Reader reader, name, desc, ext):             # <<<<<<<<<<<<<<
 *         """
 *         Include a reader.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_567includeReader(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_566includeReader, "\n        Include a reader.\n\n        Parameters\n        ----------\n        reader : Reader\n            reader\n        name : str\n            name of reader\n        desc : str\n            description of reader\n        ext : str\n            file extension of reader\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_567includeReader = {"includeReader", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_567includeReader, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_566includeReader};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_567includeReader(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_reader = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_ext = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeReader (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_reader,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_ext,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9500, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9500, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9500, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9500, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9500, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeReader", 0) < (0)) __PYX_ERR(2, 9500, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeReader", 1, 4, 4, i); __PYX_ERR(2, 9500, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9500, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9500, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9500, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9500, __pyx_L3_error)
    }
    __pyx_v_reader = ((struct __pyx_obj_9pyscipopt_4scip_Reader *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
    __pyx_v_ext = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeReader", 1, 4, 4, __pyx_nargs); __PYX_ERR(2, 9500, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeReader", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_reader), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Reader, 1, "reader", 0))) __PYX_ERR(2, 9500, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_566includeReader(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_reader, __pyx_v_name, __pyx_v_desc, __pyx_v_ext);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_566includeReader(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v_reader, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_ext) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_d = NULL;
  PyObject *__pyx_v_e = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  char const *__pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeReader", 0);

  /* "src/pyscipopt/scip.pxi":9516
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         d = str_conversion(desc)
 *         e = str_conversion(ext)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9516, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9517
 *         """
 *         n = str_conversion(name)
 *         d = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         e = str_conversion(ext)
 *         PY_SCIP_CALL(SCIPincludeReader(self._scip, n, d, e, PyReaderCopy, PyReaderFree,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9517, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_d = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9518
 *         n = str_conversion(name)
 *         d = str_conversion(desc)
 *         e = str_conversion(ext)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludeReader(self._scip, n, d, e, PyReaderCopy, PyReaderFree,
 *                                           PyReaderRead, PyReaderWrite, <SCIP_READERDATA*>reader))
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_ext};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9518, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_e = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9519
 *         d = str_conversion(desc)
 *         e = str_conversion(ext)
 *         PY_SCIP_CALL(SCIPincludeReader(self._scip, n, d, e, PyReaderCopy, PyReaderFree,             # <<<<<<<<<<<<<<
 *                                           PyReaderRead, PyReaderWrite, <SCIP_READERDATA*>reader))
 *         reader.model = <Model>weakref.proxy(self)
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9519, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_d); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9519, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_e); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 9519, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9520
 *         e = str_conversion(ext)
 *         PY_SCIP_CALL(SCIPincludeReader(self._scip, n, d, e, PyReaderCopy, PyReaderFree,
 *                                           PyReaderRead, PyReaderWrite, <SCIP_READERDATA*>reader))             # <<<<<<<<<<<<<<
 *         reader.model = <Model>weakref.proxy(self)
 *         reader.name = name
*/
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeReader(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_f_9pyscipopt_4scip_PyReaderCopy, __pyx_f_9pyscipopt_4scip_PyReaderFree, __pyx_f_9pyscipopt_4scip_PyReaderRead, __pyx_f_9pyscipopt_4scip_PyReaderWrite, ((SCIP_READERDATA *)__pyx_v_reader))); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 9519, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9519, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9521
 *         PY_SCIP_CALL(SCIPincludeReader(self._scip, n, d, e, PyReaderCopy, PyReaderFree,
 *                                           PyReaderRead, PyReaderWrite, <SCIP_READERDATA*>reader))
 *         reader.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         reader.name = name
 *         Py_INCREF(reader)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 9521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9521, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9521, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF((PyObject *)__pyx_v_reader->model);
  __Pyx_DECREF((PyObject *)__pyx_v_reader->model);
  __pyx_v_reader->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":9522
 *                                           PyReaderRead, PyReaderWrite, <SCIP_READERDATA*>reader))
 *         reader.model = <Model>weakref.proxy(self)
 *         reader.name = name             # <<<<<<<<<<<<<<
 *         Py_INCREF(reader)
 * 
*/
  __pyx_t_3 = __pyx_v_name;
  __Pyx_INCREF(__pyx_t_3);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_3))) __PYX_ERR(2, 9522, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF(__pyx_v_reader->name);
  __Pyx_DECREF(__pyx_v_reader->name);
  __pyx_v_reader->name = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":9523
 *         reader.model = <Model>weakref.proxy(self)
 *         reader.name = name
 *         Py_INCREF(reader)             # <<<<<<<<<<<<<<
 * 
 *     def includeProp(self, Prop prop, name, desc, presolpriority, presolmaxrounds,
*/
  Py_INCREF(((PyObject *)__pyx_v_reader));

  /* "src/pyscipopt/scip.pxi":9500
 *         Py_INCREF(sepa)
 * 
 *     def includeReader(self, Reader reader, name, desc, ext):             # <<<<<<<<<<<<<<
 *         """
 *         Include a reader.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeReader", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_d);
  __Pyx_XDECREF(__pyx_v_e);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9525
 *         Py_INCREF(reader)
 * 
 *     def includeProp(self, Prop prop, name, desc, presolpriority, presolmaxrounds,             # <<<<<<<<<<<<<<
 *                     proptiming, presoltiming=SCIP_PRESOLTIMING_FAST, priority=1, freq=1, delay=True):
 *         """
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_569includeProp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_568includeProp, "\n        Include a propagator.\n\n        Parameters\n        ----------\n        prop : Prop\n            propagator\n        name : str\n            name of propagator\n        desc : str\n            description of propagator\n        presolpriority : int\n            presolving priority of the propgator (>= 0: before, < 0: after constraint handlers)\n        presolmaxrounds : int\n            maximal number of presolving rounds the propagator participates in (-1: no limit)\n        proptiming : SCIP_PROPTIMING\n            positions in the node solving loop where propagation method of constraint handlers should be executed\n        presoltiming : PY_SCIP_PRESOLTIMING, optional\n            timing mask of the constraint handler's presolving method (Default value = SCIP_PRESOLTIMING_FAST)\n        priority : int, optional\n            priority of the propagator (Default value = 1)\n        freq : int, optional\n            frequency for calling propagator (Default value = 1)\n        delay : bool, optional\n            should propagator be delayed if other propagators have found reductions? (Default value = True)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_569includeProp = {"includeProp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_569includeProp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_568includeProp};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_569includeProp(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_prop = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_presolpriority = 0;
  PyObject *__pyx_v_presolmaxrounds = 0;
  PyObject *__pyx_v_proptiming = 0;
  PyObject *__pyx_v_presoltiming = 0;
  PyObject *__pyx_v_priority = 0;
  PyObject *__pyx_v_freq = 0;
  PyObject *__pyx_v_delay = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[10] = {0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeProp (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_prop,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_presolpriority,&__pyx_mstate_global->__pyx_n_u_presolmaxrounds,&__pyx_mstate_global->__pyx_n_u_proptiming,&__pyx_mstate_global->__pyx_n_u_presoltiming,&__pyx_mstate_global->__pyx_n_u_priority,&__pyx_mstate_global->__pyx_n_u_freq,&__pyx_mstate_global->__pyx_n_u_delay,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9525, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeProp", 0) < (0)) __PYX_ERR(2, 9525, __pyx_L3_error)
      if (!values[6]) values[6] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__16);
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));

      /* "src/pyscipopt/scip.pxi":9526
 * 
 *     def includeProp(self, Prop prop, name, desc, presolpriority, presolmaxrounds,
 *                     proptiming, presoltiming=SCIP_PRESOLTIMING_FAST, priority=1, freq=1, delay=True):             # <<<<<<<<<<<<<<
 *         """
 *         Include a propagator.
*/
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_True));
      for (Py_ssize_t i = __pyx_nargs; i < 6; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeProp", 0, 6, 10, i); __PYX_ERR(2, 9525, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 9525, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9525, __pyx_L3_error)
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9525, __pyx_L3_error)
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9525, __pyx_L3_error)
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9525, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9525, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9525, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[6]) values[6] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__16);
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      if (!values[8]) values[8] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_prop = ((struct __pyx_obj_9pyscipopt_4scip_Prop *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
    __pyx_v_presolpriority = values[3];
    __pyx_v_presolmaxrounds = values[4];
    __pyx_v_proptiming = values[5];
    __pyx_v_presoltiming = values[6];
    __pyx_v_priority = values[7];
    __pyx_v_freq = values[8];
    __pyx_v_delay = values[9];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeProp", 0, 6, 10, __pyx_nargs); __PYX_ERR(2, 9525, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeProp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_prop), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop, 1, "prop", 0))) __PYX_ERR(2, 9525, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_568includeProp(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_prop, __pyx_v_name, __pyx_v_desc, __pyx_v_presolpriority, __pyx_v_presolmaxrounds, __pyx_v_proptiming, __pyx_v_presoltiming, __pyx_v_priority, __pyx_v_freq, __pyx_v_delay);

  /* "src/pyscipopt/scip.pxi":9525
 *         Py_INCREF(reader)
 * 
 *     def includeProp(self, Prop prop, name, desc, presolpriority, presolmaxrounds,             # <<<<<<<<<<<<<<
 *                     proptiming, presoltiming=SCIP_PRESOLTIMING_FAST, priority=1, freq=1, delay=True):
 *         """
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_568includeProp(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v_prop, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_presolpriority, PyObject *__pyx_v_presolmaxrounds, PyObject *__pyx_v_proptiming, PyObject *__pyx_v_presoltiming, PyObject *__pyx_v_priority, PyObject *__pyx_v_freq, PyObject *__pyx_v_delay) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_d = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  SCIP_Bool __pyx_t_9;
  SCIP_PROPTIMING __pyx_t_10;
  int __pyx_t_11;
  int __pyx_t_12;
  SCIP_PRESOLTIMING __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeProp", 0);

  /* "src/pyscipopt/scip.pxi":9554
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeProp(self._scip, n, d,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9554, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9555
 *         """
 *         n = str_conversion(name)
 *         d = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludeProp(self._scip, n, d,
 *                                           priority, freq, delay,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9555, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_d = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9556
 *         n = str_conversion(name)
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeProp(self._scip, n, d,             # <<<<<<<<<<<<<<
 *                                           priority, freq, delay,
 *                                           proptiming, presolpriority, presolmaxrounds,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9556, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_d); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9556, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9557
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeProp(self._scip, n, d,
 *                                           priority, freq, delay,             # <<<<<<<<<<<<<<
 *                                           proptiming, presolpriority, presolmaxrounds,
 *                                           presoltiming, PyPropCopy, PyPropFree, PyPropInit, PyPropExit,
*/
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_priority); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9557, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_v_freq); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9557, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_delay); if (unlikely((__pyx_t_9 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9557, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9558
 *         PY_SCIP_CALL(SCIPincludeProp(self._scip, n, d,
 *                                           priority, freq, delay,
 *                                           proptiming, presolpriority, presolmaxrounds,             # <<<<<<<<<<<<<<
 *                                           presoltiming, PyPropCopy, PyPropFree, PyPropInit, PyPropExit,
 *                                           PyPropInitpre, PyPropExitpre, PyPropInitsol, PyPropExitsol,
*/
  __pyx_t_10 = __Pyx_PyLong_As_SCIP_PROPTIMING(__pyx_v_proptiming); if (unlikely((__pyx_t_10 == ((SCIP_PROPTIMING)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9558, __pyx_L1_error)
  __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_v_presolpriority); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9558, __pyx_L1_error)
  __pyx_t_12 = __Pyx_PyLong_As_int(__pyx_v_presolmaxrounds); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9558, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9559
 *                                           priority, freq, delay,
 *                                           proptiming, presolpriority, presolmaxrounds,
 *                                           presoltiming, PyPropCopy, PyPropFree, PyPropInit, PyPropExit,             # <<<<<<<<<<<<<<
 *                                           PyPropInitpre, PyPropExitpre, PyPropInitsol, PyPropExitsol,
 *                                           PyPropPresol, PyPropExec, PyPropResProp,
*/
  __pyx_t_13 = __Pyx_PyLong_As_SCIP_PRESOLTIMING(__pyx_v_presoltiming); if (unlikely((__pyx_t_13 == ((SCIP_PRESOLTIMING)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9559, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9556
 *         n = str_conversion(name)
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeProp(self._scip, n, d,             # <<<<<<<<<<<<<<
 *                                           priority, freq, delay,
 *                                           proptiming, presolpriority, presolmaxrounds,
*/
  __pyx_t_14 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeProp(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_f_9pyscipopt_4scip_PyPropCopy, __pyx_f_9pyscipopt_4scip_PyPropFree, __pyx_f_9pyscipopt_4scip_PyPropInit, __pyx_f_9pyscipopt_4scip_PyPropExit, __pyx_f_9pyscipopt_4scip_PyPropInitpre, __pyx_f_9pyscipopt_4scip_PyPropExitpre, __pyx_f_9pyscipopt_4scip_PyPropInitsol, __pyx_f_9pyscipopt_4scip_PyPropExitsol, __pyx_f_9pyscipopt_4scip_PyPropPresol, __pyx_f_9pyscipopt_4scip_PyPropExec, __pyx_f_9pyscipopt_4scip_PyPropResProp, ((SCIP_PROPDATA *)__pyx_v_prop))); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 9556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_14};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9563
 *                                           PyPropPresol, PyPropExec, PyPropResProp,
 *                                           <SCIP_PROPDATA*> prop))
 *         prop.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         Py_INCREF(prop)
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 9563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9563, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_prop->model);
  __Pyx_DECREF((PyObject *)__pyx_v_prop->model);
  __pyx_v_prop->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9564
 *                                           <SCIP_PROPDATA*> prop))
 *         prop.model = <Model>weakref.proxy(self)
 *         Py_INCREF(prop)             # <<<<<<<<<<<<<<
 * 
 *     def includeHeur(self, Heur heur, name, desc, dispchar, priority=10000, freq=1, freqofs=0,
*/
  Py_INCREF(((PyObject *)__pyx_v_prop));

  /* "src/pyscipopt/scip.pxi":9525
 *         Py_INCREF(reader)
 * 
 *     def includeProp(self, Prop prop, name, desc, presolpriority, presolmaxrounds,             # <<<<<<<<<<<<<<
 *                     proptiming, presoltiming=SCIP_PRESOLTIMING_FAST, priority=1, freq=1, delay=True):
 *         """
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeProp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_d);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9566
 *         Py_INCREF(prop)
 * 
 *     def includeHeur(self, Heur heur, name, desc, dispchar, priority=10000, freq=1, freqofs=0,             # <<<<<<<<<<<<<<
 *                     maxdepth=-1, timingmask=SCIP_HEURTIMING_BEFORENODE, usessubscip=False):
 *         """
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_571includeHeur(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_570includeHeur, "\n        Include a primal heuristic.\n\n        Parameters\n        ----------\n        heur : Heur\n            heuristic\n        name : str\n            name of heuristic\n        desc : str\n            description of heuristic\n        dispchar : str\n            display character of heuristic. Please use a single length string.\n        priority : int. optional\n            priority of the heuristic (Default value = 10000)\n        freq : int, optional\n            frequency for calling heuristic (Default value = 1)\n        freqofs : int. optional\n            frequency offset for calling heuristic (Default value = 0)\n        maxdepth : int, optional\n            maximal depth level to call heuristic at (Default value = -1)\n        timingmask : PY_SCIP_HEURTIMING, optional\n            positions in the node solvingreturn {\n            'result': SCIP_RESULT.SUCCESS,\n            'lowerbound': 10e4\n        } loop where heuristic should be executed\n            (Default value = SCIP_HEURTIMING_BEFORENODE)\n        usessubscip : bool, optional\n            does the heuristic use a secondary SCIP instance? (Default value = False)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_571includeHeur = {"includeHeur", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_571includeHeur, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_570includeHeur};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_571includeHeur(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_heur = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_dispchar = 0;
  PyObject *__pyx_v_priority = 0;
  PyObject *__pyx_v_freq = 0;
  PyObject *__pyx_v_freqofs = 0;
  PyObject *__pyx_v_maxdepth = 0;
  PyObject *__pyx_v_timingmask = 0;
  PyObject *__pyx_v_usessubscip = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[10] = {0,0,0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeHeur (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_heur,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_dispchar,&__pyx_mstate_global->__pyx_n_u_priority,&__pyx_mstate_global->__pyx_n_u_freq,&__pyx_mstate_global->__pyx_n_u_freqofs,&__pyx_mstate_global->__pyx_n_u_maxdepth,&__pyx_mstate_global->__pyx_n_u_timingmask,&__pyx_mstate_global->__pyx_n_u_usessubscip,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9566, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeHeur", 0) < (0)) __PYX_ERR(2, 9566, __pyx_L3_error)
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_10000));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));
      if (!values[8]) values[8] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__17);

      /* "src/pyscipopt/scip.pxi":9567
 * 
 *     def includeHeur(self, Heur heur, name, desc, dispchar, priority=10000, freq=1, freqofs=0,
 *                     maxdepth=-1, timingmask=SCIP_HEURTIMING_BEFORENODE, usessubscip=False):             # <<<<<<<<<<<<<<
 *         """
 *         Include a primal heuristic.
*/
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeHeur", 0, 4, 10, i); __PYX_ERR(2, 9566, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case 10:
        values[9] = __Pyx_ArgRef_FASTCALL(__pyx_args, 9);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[9])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  9:
        values[8] = __Pyx_ArgRef_FASTCALL(__pyx_args, 8);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[8])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9566, __pyx_L3_error)
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9566, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9566, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9566, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_10000));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_0));
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));
      if (!values[8]) values[8] = __Pyx_NewRef(__pyx_mstate_global->__pyx_k__17);
      if (!values[9]) values[9] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_heur = ((struct __pyx_obj_9pyscipopt_4scip_Heur *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
    __pyx_v_dispchar = values[3];
    __pyx_v_priority = values[4];
    __pyx_v_freq = values[5];
    __pyx_v_freqofs = values[6];
    __pyx_v_maxdepth = values[7];
    __pyx_v_timingmask = values[8];
    __pyx_v_usessubscip = values[9];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeHeur", 0, 4, 10, __pyx_nargs); __PYX_ERR(2, 9566, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeHeur", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_heur), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur, 1, "heur", 0))) __PYX_ERR(2, 9566, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_570includeHeur(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_heur, __pyx_v_name, __pyx_v_desc, __pyx_v_dispchar, __pyx_v_priority, __pyx_v_freq, __pyx_v_freqofs, __pyx_v_maxdepth, __pyx_v_timingmask, __pyx_v_usessubscip);

  /* "src/pyscipopt/scip.pxi":9566
 *         Py_INCREF(prop)
 * 
 *     def includeHeur(self, Heur heur, name, desc, dispchar, priority=10000, freq=1, freqofs=0,             # <<<<<<<<<<<<<<
 *                     maxdepth=-1, timingmask=SCIP_HEURTIMING_BEFORENODE, usessubscip=False):
 *         """
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_570includeHeur(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_heur, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_dispchar, PyObject *__pyx_v_priority, PyObject *__pyx_v_freq, PyObject *__pyx_v_freqofs, PyObject *__pyx_v_maxdepth, PyObject *__pyx_v_timingmask, PyObject *__pyx_v_usessubscip) {
  PyObject *__pyx_v_nam = NULL;
  PyObject *__pyx_v_des = NULL;
  long __pyx_v_dis;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  long __pyx_t_5;
  char const *__pyx_t_6;
  char const *__pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  int __pyx_t_11;
  unsigned int __pyx_t_12;
  SCIP_Bool __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeHeur", 0);

  /* "src/pyscipopt/scip.pxi":9599
 * 
 *         """
 *         nam = str_conversion(name)             # <<<<<<<<<<<<<<
 *         des = str_conversion(desc)
 *         dis = ord(str_conversion(dispchar))
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9599, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_nam = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9600
 *         """
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         dis = ord(str_conversion(dispchar))
 *         PY_SCIP_CALL(SCIPincludeHeur(self._scip, nam, des, dis,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9600, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9600, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_des = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9601
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)
 *         dis = ord(str_conversion(dispchar))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludeHeur(self._scip, nam, des, dis,
 *                                           priority, freq, freqofs,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_dispchar};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9601, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_5 = __Pyx_PyObject_Ord(__pyx_t_1); if (unlikely(__pyx_t_5 == ((long)(long)(Py_UCS4)-1))) __PYX_ERR(2, 9601, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_dis = __pyx_t_5;

  /* "src/pyscipopt/scip.pxi":9602
 *         des = str_conversion(desc)
 *         dis = ord(str_conversion(dispchar))
 *         PY_SCIP_CALL(SCIPincludeHeur(self._scip, nam, des, dis,             # <<<<<<<<<<<<<<
 *                                           priority, freq, freqofs,
 *                                           maxdepth, timingmask, usessubscip,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_nam); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9602, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_des); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 9602, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9603
 *         dis = ord(str_conversion(dispchar))
 *         PY_SCIP_CALL(SCIPincludeHeur(self._scip, nam, des, dis,
 *                                           priority, freq, freqofs,             # <<<<<<<<<<<<<<
 *                                           maxdepth, timingmask, usessubscip,
 *                                           PyHeurCopy, PyHeurFree, PyHeurInit, PyHeurExit,
*/
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_v_priority); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9603, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_v_freq); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9603, __pyx_L1_error)
  __pyx_t_10 = __Pyx_PyLong_As_int(__pyx_v_freqofs); if (unlikely((__pyx_t_10 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9603, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9604
 *         PY_SCIP_CALL(SCIPincludeHeur(self._scip, nam, des, dis,
 *                                           priority, freq, freqofs,
 *                                           maxdepth, timingmask, usessubscip,             # <<<<<<<<<<<<<<
 *                                           PyHeurCopy, PyHeurFree, PyHeurInit, PyHeurExit,
 *                                           PyHeurInitsol, PyHeurExitsol, PyHeurExec,
*/
  __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_v_maxdepth); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9604, __pyx_L1_error)
  __pyx_t_12 = __Pyx_PyLong_As_unsigned_int(__pyx_v_timingmask); if (unlikely((__pyx_t_12 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9604, __pyx_L1_error)
  __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_usessubscip); if (unlikely((__pyx_t_13 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9604, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9602
 *         des = str_conversion(desc)
 *         dis = ord(str_conversion(dispchar))
 *         PY_SCIP_CALL(SCIPincludeHeur(self._scip, nam, des, dis,             # <<<<<<<<<<<<<<
 *                                           priority, freq, freqofs,
 *                                           maxdepth, timingmask, usessubscip,
*/
  __pyx_t_14 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeHeur(__pyx_v_self->_scip, __pyx_t_6, __pyx_t_7, __pyx_v_dis, __pyx_t_8, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_t_12, __pyx_t_13, __pyx_f_9pyscipopt_4scip_PyHeurCopy, __pyx_f_9pyscipopt_4scip_PyHeurFree, __pyx_f_9pyscipopt_4scip_PyHeurInit, __pyx_f_9pyscipopt_4scip_PyHeurExit, __pyx_f_9pyscipopt_4scip_PyHeurInitsol, __pyx_f_9pyscipopt_4scip_PyHeurExitsol, __pyx_f_9pyscipopt_4scip_PyHeurExec, ((SCIP_HEURDATA *)__pyx_v_heur))); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 9602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_14};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9608
 *                                           PyHeurInitsol, PyHeurExitsol, PyHeurExec,
 *                                           <SCIP_HEURDATA*> heur))
 *         heur.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         heur.name = name
 *         Py_INCREF(heur)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 9608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9608, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_3 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF((PyObject *)__pyx_v_heur->model);
  __Pyx_DECREF((PyObject *)__pyx_v_heur->model);
  __pyx_v_heur->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":9609
 *                                           <SCIP_HEURDATA*> heur))
 *         heur.model = <Model>weakref.proxy(self)
 *         heur.name = name             # <<<<<<<<<<<<<<
 *         Py_INCREF(heur)
 * 
*/
  __pyx_t_3 = __pyx_v_name;
  __Pyx_INCREF(__pyx_t_3);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_3))) __PYX_ERR(2, 9609, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF(__pyx_v_heur->name);
  __Pyx_DECREF(__pyx_v_heur->name);
  __pyx_v_heur->name = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":9610
 *         heur.model = <Model>weakref.proxy(self)
 *         heur.name = name
 *         Py_INCREF(heur)             # <<<<<<<<<<<<<<
 * 
 *     def includeIISfinder(self, IISfinder iisfinder, name, desc, priority=10000, freq=1):
*/
  Py_INCREF(((PyObject *)__pyx_v_heur));

  /* "src/pyscipopt/scip.pxi":9566
 *         Py_INCREF(prop)
 * 
 *     def includeHeur(self, Heur heur, name, desc, dispchar, priority=10000, freq=1, freqofs=0,             # <<<<<<<<<<<<<<
 *                     maxdepth=-1, timingmask=SCIP_HEURTIMING_BEFORENODE, usessubscip=False):
 *         """
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeHeur", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_nam);
  __Pyx_XDECREF(__pyx_v_des);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9612
 *         Py_INCREF(heur)
 * 
 *     def includeIISfinder(self, IISfinder iisfinder, name, desc, priority=10000, freq=1):             # <<<<<<<<<<<<<<
 *         """
 *         Include an IIS (Irreducible Infeasible Set) finder handler.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_573includeIISfinder(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_572includeIISfinder, "\n        Include an IIS (Irreducible Infeasible Set) finder handler.\n\n        Parameters\n        ----------\n        iisfinder : IISfinder\n            IIS finder\n        name : str\n            name of IIS finder\n        desc : str\n            description of IIS finder\n        priority : int, optional\n            priority of the IISfinder (#todo description)\n        freq : int, optional\n            frequency for calling IIS finder\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_573includeIISfinder = {"includeIISfinder", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_573includeIISfinder, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_572includeIISfinder};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_573includeIISfinder(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_iisfinder = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_priority = 0;
  CYTHON_UNUSED PyObject *__pyx_v_freq = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeIISfinder (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_iisfinder,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_priority,&__pyx_mstate_global->__pyx_n_u_freq,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9612, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9612, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9612, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9612, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9612, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9612, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeIISfinder", 0) < (0)) __PYX_ERR(2, 9612, __pyx_L3_error)
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_10000));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeIISfinder", 0, 3, 5, i); __PYX_ERR(2, 9612, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9612, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9612, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9612, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9612, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9612, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_10000));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
    }
    __pyx_v_iisfinder = ((struct __pyx_obj_9pyscipopt_4scip_IISfinder *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
    __pyx_v_priority = values[3];
    __pyx_v_freq = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeIISfinder", 0, 3, 5, __pyx_nargs); __PYX_ERR(2, 9612, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeIISfinder", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_iisfinder), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IISfinder, 1, "iisfinder", 0))) __PYX_ERR(2, 9612, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_572includeIISfinder(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_iisfinder, __pyx_v_name, __pyx_v_desc, __pyx_v_priority, __pyx_v_freq);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_572includeIISfinder(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_IISfinder *__pyx_v_iisfinder, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, CYTHON_UNUSED PyObject *__pyx_v_freq) {
  SCIP_IISFINDER *__pyx_v_scip_iisfinder;
  PyObject *__pyx_v_nam = NULL;
  PyObject *__pyx_v_des = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  char const *__pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeIISfinder", 0);

  /* "src/pyscipopt/scip.pxi":9632
 *         cdef SCIP_IISFINDER* scip_iisfinder
 * 
 *         nam = str_conversion(name)             # <<<<<<<<<<<<<<
 *         des = str_conversion(desc)
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_nam = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9633
 * 
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)             # <<<<<<<<<<<<<<
 * 
 *         iisfinder.iis = IIS()
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9633, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_des = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9635
 *         des = str_conversion(desc)
 * 
 *         iisfinder.iis = IIS()             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPincludeIISfinder(self._scip, nam, des, priority, PyiisfinderCopy, PyiisfinderFree,
*/
  __pyx_t_2 = NULL;
  __pyx_t_4 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IIS, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9635, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __Pyx_GIVEREF((PyObject *)__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v_iisfinder->iis);
  __Pyx_DECREF((PyObject *)__pyx_v_iisfinder->iis);
  __pyx_v_iisfinder->iis = ((struct __pyx_obj_9pyscipopt_4scip_IIS *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9637
 *         iisfinder.iis = IIS()
 * 
 *         PY_SCIP_CALL(SCIPincludeIISfinder(self._scip, nam, des, priority, PyiisfinderCopy, PyiisfinderFree,             # <<<<<<<<<<<<<<
 *                                          PyiisfinderExec, <SCIP_IISFINDERDATA*> iisfinder))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_nam); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9637, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_des); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9637, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_priority); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9637, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9638
 * 
 *         PY_SCIP_CALL(SCIPincludeIISfinder(self._scip, nam, des, priority, PyiisfinderCopy, PyiisfinderFree,
 *                                          PyiisfinderExec, <SCIP_IISFINDERDATA*> iisfinder))             # <<<<<<<<<<<<<<
 * 
 *         scip_iisfinder = SCIPfindIISfinder(self._scip, nam)
*/
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeIISfinder(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_f_9pyscipopt_4scip_PyiisfinderCopy, __pyx_f_9pyscipopt_4scip_PyiisfinderFree, __pyx_f_9pyscipopt_4scip_PyiisfinderExec, ((SCIP_IISFINDERDATA *)__pyx_v_iisfinder))); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 9637, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9640
 *                                          PyiisfinderExec, <SCIP_IISFINDERDATA*> iisfinder))
 * 
 *         scip_iisfinder = SCIPfindIISfinder(self._scip, nam)             # <<<<<<<<<<<<<<
 *         iisfinder.name = name
 *         Py_INCREF(iisfinder)
*/
  __pyx_t_9 = __Pyx_PyObject_AsString(__pyx_v_nam); if (unlikely((!__pyx_t_9) && PyErr_Occurred())) __PYX_ERR(2, 9640, __pyx_L1_error)
  __pyx_v_scip_iisfinder = SCIPfindIISfinder(__pyx_v_self->_scip, __pyx_t_9);

  /* "src/pyscipopt/scip.pxi":9641
 * 
 *         scip_iisfinder = SCIPfindIISfinder(self._scip, nam)
 *         iisfinder.name = name             # <<<<<<<<<<<<<<
 *         Py_INCREF(iisfinder)
 *         iisfinder.scip_iisfinder = scip_iisfinder
*/
  if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_iisfinder), __pyx_mstate_global->__pyx_n_u_name, __pyx_v_name) < (0)) __PYX_ERR(2, 9641, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9642
 *         scip_iisfinder = SCIPfindIISfinder(self._scip, nam)
 *         iisfinder.name = name
 *         Py_INCREF(iisfinder)             # <<<<<<<<<<<<<<
 *         iisfinder.scip_iisfinder = scip_iisfinder
 * 
*/
  Py_INCREF(((PyObject *)__pyx_v_iisfinder));

  /* "src/pyscipopt/scip.pxi":9643
 *         iisfinder.name = name
 *         Py_INCREF(iisfinder)
 *         iisfinder.scip_iisfinder = scip_iisfinder             # <<<<<<<<<<<<<<
 * 
 *     def generateIIS(self):
*/
  __pyx_v_iisfinder->scip_iisfinder = __pyx_v_scip_iisfinder;

  /* "src/pyscipopt/scip.pxi":9612
 *         Py_INCREF(heur)
 * 
 *     def includeIISfinder(self, IISfinder iisfinder, name, desc, priority=10000, freq=1):             # <<<<<<<<<<<<<<
 *         """
 *         Include an IIS (Irreducible Infeasible Set) finder handler.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeIISfinder", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_nam);
  __Pyx_XDECREF(__pyx_v_des);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9645
 *         iisfinder.scip_iisfinder = scip_iisfinder
 * 
 *     def generateIIS(self):             # <<<<<<<<<<<<<<
 *         """
 *         Generates an Irreducible Infeasible Subsystem (IIS) from the current
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_575generateIIS(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_574generateIIS, "\n        Generates an Irreducible Infeasible Subsystem (IIS) from the current\n        problem.\n\n        Returns\n        -------\n        IIS\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_575generateIIS = {"generateIIS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_575generateIIS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_574generateIIS};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_575generateIIS(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("generateIIS (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("generateIIS", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("generateIIS", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_574generateIIS(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_574generateIIS(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_IIS *__pyx_v__iis;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("generateIIS", 0);

  /* "src/pyscipopt/scip.pxi":9657
 *         cdef SCIP_IIS* _iis
 * 
 *         PY_SCIP_CALL( SCIPgenerateIIS(self._scip) )             # <<<<<<<<<<<<<<
 * 
 *         _iis = SCIPgetIIS(self._scip)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgenerateIIS(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9657, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9659
 *         PY_SCIP_CALL( SCIPgenerateIIS(self._scip) )
 * 
 *         _iis = SCIPgetIIS(self._scip)             # <<<<<<<<<<<<<<
 *         return IIS.create(_iis)
 * 
*/
  __pyx_v__iis = SCIPgetIIS(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":9660
 * 
 *         _iis = SCIPgetIIS(self._scip)
 *         return IIS.create(_iis)             # <<<<<<<<<<<<<<
 * 
 *     def getIIS(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_3IIS_create(__pyx_v__iis); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9660, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9645
 *         iisfinder.scip_iisfinder = scip_iisfinder
 * 
 *     def generateIIS(self):             # <<<<<<<<<<<<<<
 *         """
 *         Generates an Irreducible Infeasible Subsystem (IIS) from the current
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.generateIIS", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9662
 *         return IIS.create(_iis)
 * 
 *     def getIIS(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the IIS object.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_577getIIS(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_576getIIS, "\n        Get the IIS object.\n        Note: Needs to be called after generateIIS, or after a single execution of the iisfinderExec.\n        \n        Returns\n        -------\n        IIS \n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_577getIIS = {"getIIS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_577getIIS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_576getIIS};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_577getIIS(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getIIS (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getIIS", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getIIS", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_576getIIS(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_576getIIS(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_IIS *__pyx_v__iis;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getIIS", 0);

  /* "src/pyscipopt/scip.pxi":9673
 *         cdef SCIP_IIS* _iis
 * 
 *         _iis = SCIPgetIIS(self._scip)             # <<<<<<<<<<<<<<
 *         assert _iis != NULL, "No IIS exists. You need to first call generateIIS() or run the iisfinderexec method of your custom IISfinder class."
 * 
*/
  __pyx_v__iis = SCIPgetIIS(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":9674
 * 
 *         _iis = SCIPgetIIS(self._scip)
 *         assert _iis != NULL, "No IIS exists. You need to first call generateIIS() or run the iisfinderexec method of your custom IISfinder class."             # <<<<<<<<<<<<<<
 * 
 *         return IIS.create(_iis)
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (__pyx_v__iis != NULL);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_No_IIS_exists_You_need_to_first, 0, 0);
      __PYX_ERR(2, 9674, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 9674, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":9676
 *         assert _iis != NULL, "No IIS exists. You need to first call generateIIS() or run the iisfinderexec method of your custom IISfinder class."
 * 
 *         return IIS.create(_iis)             # <<<<<<<<<<<<<<
 * 
 *     def includeRelax(self, Relax relax, name, desc, priority=10000, freq=1):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip_3IIS_create(__pyx_v__iis); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9662
 *         return IIS.create(_iis)
 * 
 *     def getIIS(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the IIS object.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getIIS", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9678
 *         return IIS.create(_iis)
 * 
 *     def includeRelax(self, Relax relax, name, desc, priority=10000, freq=1):             # <<<<<<<<<<<<<<
 *         """
 *         Include a relaxation handler.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_579includeRelax(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_578includeRelax, "\n        Include a relaxation handler.\n\n        Parameters\n        ----------\n        relax : Relax\n            relaxation handler\n        name : str\n            name of relaxation handler\n        desc : str\n            description of relaxation handler\n        priority : int, optional\n            priority of the relaxation handler (negative: after LP, non-negative: before LP, Default value = 10000)\n        freq : int, optional\n            frequency for calling relaxation handler\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_579includeRelax = {"includeRelax", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_579includeRelax, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_578includeRelax};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_579includeRelax(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_relax = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_priority = 0;
  PyObject *__pyx_v_freq = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeRelax (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_relax,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_priority,&__pyx_mstate_global->__pyx_n_u_freq,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9678, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeRelax", 0) < (0)) __PYX_ERR(2, 9678, __pyx_L3_error)
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_10000));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeRelax", 0, 3, 5, i); __PYX_ERR(2, 9678, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9678, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9678, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9678, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9678, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_10000));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
    }
    __pyx_v_relax = ((struct __pyx_obj_9pyscipopt_4scip_Relax *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
    __pyx_v_priority = values[3];
    __pyx_v_freq = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeRelax", 0, 3, 5, __pyx_nargs); __PYX_ERR(2, 9678, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeRelax", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_relax), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Relax, 1, "relax", 0))) __PYX_ERR(2, 9678, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_578includeRelax(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_relax, __pyx_v_name, __pyx_v_desc, __pyx_v_priority, __pyx_v_freq);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_578includeRelax(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v_relax, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_freq) {
  PyObject *__pyx_v_nam = NULL;
  PyObject *__pyx_v_des = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeRelax", 0);

  /* "src/pyscipopt/scip.pxi":9696
 * 
 *         """
 *         nam = str_conversion(name)             # <<<<<<<<<<<<<<
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeRelax(self._scip, nam, des, priority, freq, PyRelaxCopy, PyRelaxFree, PyRelaxInit, PyRelaxExit,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9696, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9696, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_nam = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9697
 *         """
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludeRelax(self._scip, nam, des, priority, freq, PyRelaxCopy, PyRelaxFree, PyRelaxInit, PyRelaxExit,
 *                                           PyRelaxInitsol, PyRelaxExitsol, PyRelaxExec, <SCIP_RELAXDATA*> relax))
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9697, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_des = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9698
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeRelax(self._scip, nam, des, priority, freq, PyRelaxCopy, PyRelaxFree, PyRelaxInit, PyRelaxExit,             # <<<<<<<<<<<<<<
 *                                           PyRelaxInitsol, PyRelaxExitsol, PyRelaxExec, <SCIP_RELAXDATA*> relax))
 *         relax.model = <Model>weakref.proxy(self)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_nam); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9698, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_des); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9698, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_priority); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9698, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_v_freq); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9698, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9699
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeRelax(self._scip, nam, des, priority, freq, PyRelaxCopy, PyRelaxFree, PyRelaxInit, PyRelaxExit,
 *                                           PyRelaxInitsol, PyRelaxExitsol, PyRelaxExec, <SCIP_RELAXDATA*> relax))             # <<<<<<<<<<<<<<
 *         relax.model = <Model>weakref.proxy(self)
 *         relax.name = name
*/
  __pyx_t_9 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeRelax(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_f_9pyscipopt_4scip_PyRelaxCopy, __pyx_f_9pyscipopt_4scip_PyRelaxFree, __pyx_f_9pyscipopt_4scip_PyRelaxInit, __pyx_f_9pyscipopt_4scip_PyRelaxExit, __pyx_f_9pyscipopt_4scip_PyRelaxInitsol, __pyx_f_9pyscipopt_4scip_PyRelaxExitsol, __pyx_f_9pyscipopt_4scip_PyRelaxExec, ((SCIP_RELAXDATA *)__pyx_v_relax))); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 9698, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9698, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9700
 *         PY_SCIP_CALL(SCIPincludeRelax(self._scip, nam, des, priority, freq, PyRelaxCopy, PyRelaxFree, PyRelaxInit, PyRelaxExit,
 *                                           PyRelaxInitsol, PyRelaxExitsol, PyRelaxExec, <SCIP_RELAXDATA*> relax))
 *         relax.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         relax.name = name
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 9700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9700, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9700, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_relax->model);
  __Pyx_DECREF((PyObject *)__pyx_v_relax->model);
  __pyx_v_relax->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9701
 *                                           PyRelaxInitsol, PyRelaxExitsol, PyRelaxExec, <SCIP_RELAXDATA*> relax))
 *         relax.model = <Model>weakref.proxy(self)
 *         relax.name = name             # <<<<<<<<<<<<<<
 * 
 *         Py_INCREF(relax)
*/
  __pyx_t_2 = __pyx_v_name;
  __Pyx_INCREF(__pyx_t_2);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_2))) __PYX_ERR(2, 9701, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_relax->name);
  __Pyx_DECREF(__pyx_v_relax->name);
  __pyx_v_relax->name = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9703
 *         relax.name = name
 * 
 *         Py_INCREF(relax)             # <<<<<<<<<<<<<<
 * 
 *     def includeCutsel(self, Cutsel cutsel, name, desc, priority):
*/
  Py_INCREF(((PyObject *)__pyx_v_relax));

  /* "src/pyscipopt/scip.pxi":9678
 *         return IIS.create(_iis)
 * 
 *     def includeRelax(self, Relax relax, name, desc, priority=10000, freq=1):             # <<<<<<<<<<<<<<
 *         """
 *         Include a relaxation handler.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeRelax", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_nam);
  __Pyx_XDECREF(__pyx_v_des);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9705
 *         Py_INCREF(relax)
 * 
 *     def includeCutsel(self, Cutsel cutsel, name, desc, priority):             # <<<<<<<<<<<<<<
 *         """
 *         Include a cut selector.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_581includeCutsel(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_580includeCutsel, "\n        Include a cut selector.\n\n        Parameters\n        ----------\n        cutsel : Cutsel\n            cut selector\n        name : str\n            name of cut selector\n        desc : str\n            description of cut selector\n        priority : int\n            priority of the cut selector\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_581includeCutsel = {"includeCutsel", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_581includeCutsel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_580includeCutsel};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_581includeCutsel(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_cutsel = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_priority = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeCutsel (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_cutsel,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_priority,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9705, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9705, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9705, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9705, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9705, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeCutsel", 0) < (0)) __PYX_ERR(2, 9705, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeCutsel", 1, 4, 4, i); __PYX_ERR(2, 9705, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9705, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9705, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9705, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9705, __pyx_L3_error)
    }
    __pyx_v_cutsel = ((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
    __pyx_v_priority = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeCutsel", 1, 4, 4, __pyx_nargs); __PYX_ERR(2, 9705, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeCutsel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cutsel), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Cutsel, 1, "cutsel", 0))) __PYX_ERR(2, 9705, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_580includeCutsel(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_cutsel, __pyx_v_name, __pyx_v_desc, __pyx_v_priority);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_580includeCutsel(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v_cutsel, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority) {
  PyObject *__pyx_v_nam = NULL;
  PyObject *__pyx_v_des = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeCutsel", 0);

  /* "src/pyscipopt/scip.pxi":9722
 *         """
 * 
 *         nam = str_conversion(name)             # <<<<<<<<<<<<<<
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeCutsel(self._scip, nam, des,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9722, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_nam = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9723
 * 
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludeCutsel(self._scip, nam, des,
 *                                        priority, PyCutselCopy, PyCutselFree, PyCutselInit, PyCutselExit,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9723, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_des = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9724
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeCutsel(self._scip, nam, des,             # <<<<<<<<<<<<<<
 *                                        priority, PyCutselCopy, PyCutselFree, PyCutselInit, PyCutselExit,
 *                                        PyCutselInitsol, PyCutselExitsol, PyCutselSelect,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_nam); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9724, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_des); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9724, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9725
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeCutsel(self._scip, nam, des,
 *                                        priority, PyCutselCopy, PyCutselFree, PyCutselInit, PyCutselExit,             # <<<<<<<<<<<<<<
 *                                        PyCutselInitsol, PyCutselExitsol, PyCutselSelect,
 *                                        <SCIP_CUTSELDATA*> cutsel))
*/
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_priority); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9725, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9724
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeCutsel(self._scip, nam, des,             # <<<<<<<<<<<<<<
 *                                        priority, PyCutselCopy, PyCutselFree, PyCutselInit, PyCutselExit,
 *                                        PyCutselInitsol, PyCutselExitsol, PyCutselSelect,
*/
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeCutsel(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_f_9pyscipopt_4scip_PyCutselCopy, __pyx_f_9pyscipopt_4scip_PyCutselFree, __pyx_f_9pyscipopt_4scip_PyCutselInit, __pyx_f_9pyscipopt_4scip_PyCutselExit, __pyx_f_9pyscipopt_4scip_PyCutselInitsol, __pyx_f_9pyscipopt_4scip_PyCutselExitsol, __pyx_f_9pyscipopt_4scip_PyCutselSelect, ((SCIP_CUTSELDATA *)__pyx_v_cutsel))); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 9724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_8};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9724, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9728
 *                                        PyCutselInitsol, PyCutselExitsol, PyCutselSelect,
 *                                        <SCIP_CUTSELDATA*> cutsel))
 *         cutsel.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         Py_INCREF(cutsel)
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 9728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9728, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_cutsel->model);
  __Pyx_DECREF((PyObject *)__pyx_v_cutsel->model);
  __pyx_v_cutsel->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9729
 *                                        <SCIP_CUTSELDATA*> cutsel))
 *         cutsel.model = <Model>weakref.proxy(self)
 *         Py_INCREF(cutsel)             # <<<<<<<<<<<<<<
 * 
 *     def includeBranchrule(self, Branchrule branchrule, name, desc, priority, maxdepth, maxbounddist):
*/
  Py_INCREF(((PyObject *)__pyx_v_cutsel));

  /* "src/pyscipopt/scip.pxi":9705
 *         Py_INCREF(relax)
 * 
 *     def includeCutsel(self, Cutsel cutsel, name, desc, priority):             # <<<<<<<<<<<<<<
 *         """
 *         Include a cut selector.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeCutsel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_nam);
  __Pyx_XDECREF(__pyx_v_des);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9731
 *         Py_INCREF(cutsel)
 * 
 *     def includeBranchrule(self, Branchrule branchrule, name, desc, priority, maxdepth, maxbounddist):             # <<<<<<<<<<<<<<
 *         """
 *         Include a branching rule.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_583includeBranchrule(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_582includeBranchrule, "\n        Include a branching rule.\n\n        Parameters\n        ----------\n        branchrule : Branchrule\n            branching rule\n        name : str\n            name of branching rule\n        desc : str\n            description of branching rule\n        priority : int\n            priority of branching rule\n        maxdepth : int\n            maximal depth level up to which this branching rule should be used (or -1)\n        maxbounddist : float\n            maximal relative distance from current node's dual bound to primal bound\n            compared to best node's dual bound for applying branching rule\n            (0.0: only on current best node, 1.0: on all nodes)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_583includeBranchrule = {"includeBranchrule", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_583includeBranchrule, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_582includeBranchrule};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_583includeBranchrule(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_branchrule = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_priority = 0;
  PyObject *__pyx_v_maxdepth = 0;
  PyObject *__pyx_v_maxbounddist = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeBranchrule (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_branchrule,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_priority,&__pyx_mstate_global->__pyx_n_u_maxdepth,&__pyx_mstate_global->__pyx_n_u_maxbounddist,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9731, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9731, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9731, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9731, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9731, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9731, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9731, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeBranchrule", 0) < (0)) __PYX_ERR(2, 9731, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 6; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeBranchrule", 1, 6, 6, i); __PYX_ERR(2, 9731, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 6)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9731, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9731, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9731, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9731, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9731, __pyx_L3_error)
      values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9731, __pyx_L3_error)
    }
    __pyx_v_branchrule = ((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
    __pyx_v_priority = values[3];
    __pyx_v_maxdepth = values[4];
    __pyx_v_maxbounddist = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeBranchrule", 1, 6, 6, __pyx_nargs); __PYX_ERR(2, 9731, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeBranchrule", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_branchrule), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Branchrule, 1, "branchrule", 0))) __PYX_ERR(2, 9731, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_582includeBranchrule(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_branchrule, __pyx_v_name, __pyx_v_desc, __pyx_v_priority, __pyx_v_maxdepth, __pyx_v_maxbounddist);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_582includeBranchrule(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v_branchrule, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_maxdepth, PyObject *__pyx_v_maxbounddist) {
  PyObject *__pyx_v_nam = NULL;
  PyObject *__pyx_v_des = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  SCIP_Real __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeBranchrule", 0);

  /* "src/pyscipopt/scip.pxi":9753
 * 
 *         """
 *         nam = str_conversion(name)             # <<<<<<<<<<<<<<
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeBranchrule(self._scip, nam, des,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9753, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_nam = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9754
 *         """
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludeBranchrule(self._scip, nam, des,
 *                                           priority, maxdepth, maxbounddist,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9754, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_des = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9755
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeBranchrule(self._scip, nam, des,             # <<<<<<<<<<<<<<
 *                                           priority, maxdepth, maxbounddist,
 *                                           PyBranchruleCopy, PyBranchruleFree, PyBranchruleInit, PyBranchruleExit,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_nam); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9755, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_des); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9755, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9756
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeBranchrule(self._scip, nam, des,
 *                                           priority, maxdepth, maxbounddist,             # <<<<<<<<<<<<<<
 *                                           PyBranchruleCopy, PyBranchruleFree, PyBranchruleInit, PyBranchruleExit,
 *                                           PyBranchruleInitsol, PyBranchruleExitsol, PyBranchruleExeclp, PyBranchruleExecext,
*/
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_priority); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9756, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_v_maxdepth); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9756, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyFloat_AsDouble(__pyx_v_maxbounddist); if (unlikely((__pyx_t_9 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9756, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9755
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeBranchrule(self._scip, nam, des,             # <<<<<<<<<<<<<<
 *                                           priority, maxdepth, maxbounddist,
 *                                           PyBranchruleCopy, PyBranchruleFree, PyBranchruleInit, PyBranchruleExit,
*/
  __pyx_t_10 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeBranchrule(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_f_9pyscipopt_4scip_PyBranchruleCopy, __pyx_f_9pyscipopt_4scip_PyBranchruleFree, __pyx_f_9pyscipopt_4scip_PyBranchruleInit, __pyx_f_9pyscipopt_4scip_PyBranchruleExit, __pyx_f_9pyscipopt_4scip_PyBranchruleInitsol, __pyx_f_9pyscipopt_4scip_PyBranchruleExitsol, __pyx_f_9pyscipopt_4scip_PyBranchruleExeclp, __pyx_f_9pyscipopt_4scip_PyBranchruleExecext, __pyx_f_9pyscipopt_4scip_PyBranchruleExecps, ((SCIP_BRANCHRULEDATA *)__pyx_v_branchrule))); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9755, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_10};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9755, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9760
 *                                           PyBranchruleInitsol, PyBranchruleExitsol, PyBranchruleExeclp, PyBranchruleExecext,
 *                                           PyBranchruleExecps, <SCIP_BRANCHRULEDATA*> branchrule))
 *         branchrule.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         Py_INCREF(branchrule)
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_branchrule->model);
  __Pyx_DECREF((PyObject *)__pyx_v_branchrule->model);
  __pyx_v_branchrule->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9761
 *                                           PyBranchruleExecps, <SCIP_BRANCHRULEDATA*> branchrule))
 *         branchrule.model = <Model>weakref.proxy(self)
 *         Py_INCREF(branchrule)             # <<<<<<<<<<<<<<
 * 
 *     def includeNodesel(self, Nodesel nodesel, name, desc, stdpriority, memsavepriority):
*/
  Py_INCREF(((PyObject *)__pyx_v_branchrule));

  /* "src/pyscipopt/scip.pxi":9731
 *         Py_INCREF(cutsel)
 * 
 *     def includeBranchrule(self, Branchrule branchrule, name, desc, priority, maxdepth, maxbounddist):             # <<<<<<<<<<<<<<
 *         """
 *         Include a branching rule.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeBranchrule", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_nam);
  __Pyx_XDECREF(__pyx_v_des);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9763
 *         Py_INCREF(branchrule)
 * 
 *     def includeNodesel(self, Nodesel nodesel, name, desc, stdpriority, memsavepriority):             # <<<<<<<<<<<<<<
 *         """
 *         Include a node selector.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_585includeNodesel(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_584includeNodesel, "\n        Include a node selector.\n\n        Parameters\n        ----------\n        nodesel : Nodesel\n            node selector\n        name : str\n            name of node selector\n        desc : str\n            description of node selector\n        stdpriority : int\n            priority of the node selector in standard mode\n        memsavepriority : int\n            priority of the node selector in memory saving mode\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_585includeNodesel = {"includeNodesel", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_585includeNodesel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_584includeNodesel};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_585includeNodesel(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_nodesel = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_stdpriority = 0;
  PyObject *__pyx_v_memsavepriority = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeNodesel (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_nodesel,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_stdpriority,&__pyx_mstate_global->__pyx_n_u_memsavepriority,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9763, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9763, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9763, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9763, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9763, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9763, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeNodesel", 0) < (0)) __PYX_ERR(2, 9763, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeNodesel", 1, 5, 5, i); __PYX_ERR(2, 9763, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 5)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9763, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9763, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9763, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9763, __pyx_L3_error)
      values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9763, __pyx_L3_error)
    }
    __pyx_v_nodesel = ((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
    __pyx_v_stdpriority = values[3];
    __pyx_v_memsavepriority = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeNodesel", 1, 5, 5, __pyx_nargs); __PYX_ERR(2, 9763, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeNodesel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_nodesel), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Nodesel, 1, "nodesel", 0))) __PYX_ERR(2, 9763, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_584includeNodesel(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_nodesel, __pyx_v_name, __pyx_v_desc, __pyx_v_stdpriority, __pyx_v_memsavepriority);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_584includeNodesel(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v_nodesel, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_stdpriority, PyObject *__pyx_v_memsavepriority) {
  PyObject *__pyx_v_nam = NULL;
  PyObject *__pyx_v_des = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeNodesel", 0);

  /* "src/pyscipopt/scip.pxi":9781
 * 
 *         """
 *         nam = str_conversion(name)             # <<<<<<<<<<<<<<
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeNodesel(self._scip, nam, des,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9781, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_nam = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9782
 *         """
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludeNodesel(self._scip, nam, des,
 *                                           stdpriority, memsavepriority,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9782, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_des = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9783
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeNodesel(self._scip, nam, des,             # <<<<<<<<<<<<<<
 *                                           stdpriority, memsavepriority,
 *                                           PyNodeselCopy, PyNodeselFree, PyNodeselInit, PyNodeselExit,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_nam); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9783, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_des); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9783, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9784
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeNodesel(self._scip, nam, des,
 *                                           stdpriority, memsavepriority,             # <<<<<<<<<<<<<<
 *                                           PyNodeselCopy, PyNodeselFree, PyNodeselInit, PyNodeselExit,
 *                                           PyNodeselInitsol, PyNodeselExitsol, PyNodeselSelect, PyNodeselComp,
*/
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_stdpriority); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9784, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_v_memsavepriority); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9784, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9783
 *         nam = str_conversion(name)
 *         des = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeNodesel(self._scip, nam, des,             # <<<<<<<<<<<<<<
 *                                           stdpriority, memsavepriority,
 *                                           PyNodeselCopy, PyNodeselFree, PyNodeselInit, PyNodeselExit,
*/
  __pyx_t_9 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeNodesel(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_f_9pyscipopt_4scip_PyNodeselCopy, __pyx_f_9pyscipopt_4scip_PyNodeselFree, __pyx_f_9pyscipopt_4scip_PyNodeselInit, __pyx_f_9pyscipopt_4scip_PyNodeselExit, __pyx_f_9pyscipopt_4scip_PyNodeselInitsol, __pyx_f_9pyscipopt_4scip_PyNodeselExitsol, __pyx_f_9pyscipopt_4scip_PyNodeselSelect, __pyx_f_9pyscipopt_4scip_PyNodeselComp, ((SCIP_NODESELDATA *)__pyx_v_nodesel))); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 9783, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_9};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9783, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9788
 *                                           PyNodeselInitsol, PyNodeselExitsol, PyNodeselSelect, PyNodeselComp,
 *                                           <SCIP_NODESELDATA*> nodesel))
 *         nodesel.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         Py_INCREF(nodesel)
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 9788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9788, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9788, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_nodesel->model);
  __Pyx_DECREF((PyObject *)__pyx_v_nodesel->model);
  __pyx_v_nodesel->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9789
 *                                           <SCIP_NODESELDATA*> nodesel))
 *         nodesel.model = <Model>weakref.proxy(self)
 *         Py_INCREF(nodesel)             # <<<<<<<<<<<<<<
 * 
 *     def includeBenders(self, Benders benders, name, desc, priority=1, cutlp=True, cutpseudo=True, cutrelax=True,
*/
  Py_INCREF(((PyObject *)__pyx_v_nodesel));

  /* "src/pyscipopt/scip.pxi":9763
 *         Py_INCREF(branchrule)
 * 
 *     def includeNodesel(self, Nodesel nodesel, name, desc, stdpriority, memsavepriority):             # <<<<<<<<<<<<<<
 *         """
 *         Include a node selector.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeNodesel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_nam);
  __Pyx_XDECREF(__pyx_v_des);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9791
 *         Py_INCREF(nodesel)
 * 
 *     def includeBenders(self, Benders benders, name, desc, priority=1, cutlp=True, cutpseudo=True, cutrelax=True,             # <<<<<<<<<<<<<<
 *             shareaux=False):
 *         """
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_587includeBenders(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_586includeBenders, "\n        Include a Benders' decomposition.\n\n        Parameters\n        ----------\n        benders : Benders\n            the Benders decomposition\n        name : str\n            the name\n        desc : str\n            the description\n        priority : int, optional\n            priority of the Benders' decomposition\n        cutlp : bool, optional\n            should Benders' cuts be generated from LP solutions\n        cutpseudo : bool, optional\n            should Benders' cuts be generated from pseudo solutions\n        cutrelax : bool, optional\n            should Benders' cuts be generated from relaxation solutions\n        shareaux : bool, optional\n            should the Benders' decomposition share the auxiliary variables of the\n            highest priority Benders' decomposition\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_587includeBenders = {"includeBenders", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_587includeBenders, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_586includeBenders};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_587includeBenders(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_priority = 0;
  PyObject *__pyx_v_cutlp = 0;
  PyObject *__pyx_v_cutpseudo = 0;
  PyObject *__pyx_v_cutrelax = 0;
  PyObject *__pyx_v_shareaux = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[8] = {0,0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeBenders (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_benders,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_priority,&__pyx_mstate_global->__pyx_n_u_cutlp,&__pyx_mstate_global->__pyx_n_u_cutpseudo,&__pyx_mstate_global->__pyx_n_u_cutrelax,&__pyx_mstate_global->__pyx_n_u_shareaux,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9791, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 9791, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 9791, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9791, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9791, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9791, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9791, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9791, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9791, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeBenders", 0) < (0)) __PYX_ERR(2, 9791, __pyx_L3_error)
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":9792
 * 
 *     def includeBenders(self, Benders benders, name, desc, priority=1, cutlp=True, cutpseudo=True, cutrelax=True,
 *             shareaux=False):             # <<<<<<<<<<<<<<
 *         """
 *         Include a Benders' decomposition.
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeBenders", 0, 3, 8, i); __PYX_ERR(2, 9791, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  8:
        values[7] = __Pyx_ArgRef_FASTCALL(__pyx_args, 7);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[7])) __PYX_ERR(2, 9791, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 9791, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9791, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9791, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9791, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9791, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9791, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9791, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));

      /* "src/pyscipopt/scip.pxi":9791
 *         Py_INCREF(nodesel)
 * 
 *     def includeBenders(self, Benders benders, name, desc, priority=1, cutlp=True, cutpseudo=True, cutrelax=True,             # <<<<<<<<<<<<<<
 *             shareaux=False):
 *         """
*/
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));

      /* "src/pyscipopt/scip.pxi":9792
 * 
 *     def includeBenders(self, Benders benders, name, desc, priority=1, cutlp=True, cutpseudo=True, cutrelax=True,
 *             shareaux=False):             # <<<<<<<<<<<<<<
 *         """
 *         Include a Benders' decomposition.
*/
      if (!values[7]) values[7] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)values[0]);
    __pyx_v_name = values[1];
    __pyx_v_desc = values[2];
    __pyx_v_priority = values[3];
    __pyx_v_cutlp = values[4];
    __pyx_v_cutpseudo = values[5];
    __pyx_v_cutrelax = values[6];
    __pyx_v_shareaux = values[7];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeBenders", 0, 3, 8, __pyx_nargs); __PYX_ERR(2, 9791, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeBenders", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benders), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, 1, "benders", 0))) __PYX_ERR(2, 9791, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_586includeBenders(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_benders, __pyx_v_name, __pyx_v_desc, __pyx_v_priority, __pyx_v_cutlp, __pyx_v_cutpseudo, __pyx_v_cutrelax, __pyx_v_shareaux);

  /* "src/pyscipopt/scip.pxi":9791
 *         Py_INCREF(nodesel)
 * 
 *     def includeBenders(self, Benders benders, name, desc, priority=1, cutlp=True, cutpseudo=True, cutrelax=True,             # <<<<<<<<<<<<<<
 *             shareaux=False):
 *         """
*/

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_586includeBenders(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_cutlp, PyObject *__pyx_v_cutpseudo, PyObject *__pyx_v_cutrelax, PyObject *__pyx_v_shareaux) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_d = NULL;
  SCIP_BENDERS *__pyx_v_scip_benders;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  char const *__pyx_t_6;
  int __pyx_t_7;
  SCIP_Bool __pyx_t_8;
  SCIP_Bool __pyx_t_9;
  SCIP_Bool __pyx_t_10;
  SCIP_Bool __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  char const *__pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeBenders", 0);

  /* "src/pyscipopt/scip.pxi":9817
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeBenders(self._scip, n, d,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9817, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9818
 *         """
 *         n = str_conversion(name)
 *         d = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludeBenders(self._scip, n, d,
 *                                             priority, cutlp, cutrelax, cutpseudo, shareaux,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9818, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_desc};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9818, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_d = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9819
 *         n = str_conversion(name)
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeBenders(self._scip, n, d,             # <<<<<<<<<<<<<<
 *                                             priority, cutlp, cutrelax, cutpseudo, shareaux,
 *                                             PyBendersCopy, PyBendersFree, PyBendersInit, PyBendersExit, PyBendersInitpre,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 9819, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_d); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9819, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9820
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeBenders(self._scip, n, d,
 *                                             priority, cutlp, cutrelax, cutpseudo, shareaux,             # <<<<<<<<<<<<<<
 *                                             PyBendersCopy, PyBendersFree, PyBendersInit, PyBendersExit, PyBendersInitpre,
 *                                             PyBendersExitpre, PyBendersInitsol, PyBendersExitsol, PyBendersGetvar,
*/
  __pyx_t_7 = __Pyx_PyLong_As_int(__pyx_v_priority); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9820, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_cutlp); if (unlikely((__pyx_t_8 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9820, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_cutrelax); if (unlikely((__pyx_t_9 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9820, __pyx_L1_error)
  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_cutpseudo); if (unlikely((__pyx_t_10 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9820, __pyx_L1_error)
  __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_shareaux); if (unlikely((__pyx_t_11 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9820, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9819
 *         n = str_conversion(name)
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeBenders(self._scip, n, d,             # <<<<<<<<<<<<<<
 *                                             priority, cutlp, cutrelax, cutpseudo, shareaux,
 *                                             PyBendersCopy, PyBendersFree, PyBendersInit, PyBendersExit, PyBendersInitpre,
*/
  __pyx_t_12 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeBenders(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_t_10, __pyx_t_11, __pyx_f_9pyscipopt_4scip_PyBendersCopy, __pyx_f_9pyscipopt_4scip_PyBendersFree, __pyx_f_9pyscipopt_4scip_PyBendersInit, __pyx_f_9pyscipopt_4scip_PyBendersExit, __pyx_f_9pyscipopt_4scip_PyBendersInitpre, __pyx_f_9pyscipopt_4scip_PyBendersExitpre, __pyx_f_9pyscipopt_4scip_PyBendersInitsol, __pyx_f_9pyscipopt_4scip_PyBendersExitsol, __pyx_f_9pyscipopt_4scip_PyBendersGetvar, __pyx_f_9pyscipopt_4scip_PyBendersCreatesub, __pyx_f_9pyscipopt_4scip_PyBendersPresubsolve, __pyx_f_9pyscipopt_4scip_PyBendersSolvesubconvex, __pyx_f_9pyscipopt_4scip_PyBendersSolvesub, __pyx_f_9pyscipopt_4scip_PyBendersPostsolve, __pyx_f_9pyscipopt_4scip_PyBendersFreesub, ((SCIP_BENDERSDATA *)__pyx_v_benders))); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 9819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_12};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9827
 *                                             <SCIP_BENDERSDATA*>benders))
 *         cdef SCIP_BENDERS* scip_benders
 *         scip_benders = SCIPfindBenders(self._scip, n)             # <<<<<<<<<<<<<<
 *         benders.model = <Model>weakref.proxy(self)
 *         benders.name = name
*/
  __pyx_t_13 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_13) && PyErr_Occurred())) __PYX_ERR(2, 9827, __pyx_L1_error)
  __pyx_v_scip_benders = SCIPfindBenders(__pyx_v_self->_scip, __pyx_t_13);

  /* "src/pyscipopt/scip.pxi":9828
 *         cdef SCIP_BENDERS* scip_benders
 *         scip_benders = SCIPfindBenders(self._scip, n)
 *         benders.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         benders.name = name
 *         benders._benders = scip_benders
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 9828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_self)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __pyx_t_1;
  __Pyx_INCREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_benders->model);
  __Pyx_DECREF((PyObject *)__pyx_v_benders->model);
  __pyx_v_benders->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9829
 *         scip_benders = SCIPfindBenders(self._scip, n)
 *         benders.model = <Model>weakref.proxy(self)
 *         benders.name = name             # <<<<<<<<<<<<<<
 *         benders._benders = scip_benders
 *         Py_INCREF(benders)
*/
  __pyx_t_2 = __pyx_v_name;
  __Pyx_INCREF(__pyx_t_2);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_2))||((__pyx_t_2) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_2))) __PYX_ERR(2, 9829, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF(__pyx_v_benders->name);
  __Pyx_DECREF(__pyx_v_benders->name);
  __pyx_v_benders->name = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9830
 *         benders.model = <Model>weakref.proxy(self)
 *         benders.name = name
 *         benders._benders = scip_benders             # <<<<<<<<<<<<<<
 *         Py_INCREF(benders)
 * 
*/
  __pyx_v_benders->_benders = __pyx_v_scip_benders;

  /* "src/pyscipopt/scip.pxi":9831
 *         benders.name = name
 *         benders._benders = scip_benders
 *         Py_INCREF(benders)             # <<<<<<<<<<<<<<
 * 
 *     def includeBenderscut(self, Benders benders, Benderscut benderscut, name, desc, priority=1, islpcut=True):
*/
  Py_INCREF(((PyObject *)__pyx_v_benders));

  /* "src/pyscipopt/scip.pxi":9791
 *         Py_INCREF(nodesel)
 * 
 *     def includeBenders(self, Benders benders, name, desc, priority=1, cutlp=True, cutpseudo=True, cutrelax=True,             # <<<<<<<<<<<<<<
 *             shareaux=False):
 *         """
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeBenders", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_d);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9833
 *         Py_INCREF(benders)
 * 
 *     def includeBenderscut(self, Benders benders, Benderscut benderscut, name, desc, priority=1, islpcut=True):             # <<<<<<<<<<<<<<
 *         """
 *         Include a Benders' decomposition cutting method
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_589includeBenderscut(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_588includeBenderscut, "\n        Include a Benders' decomposition cutting method\n\n        Parameters\n        ----------\n        benders : Benders\n            the Benders' decomposition that this cutting method is attached to\n        benderscut : Benderscut\n            the Benders' decomposition cutting method\n        name : str\n            the name\n        desc : str\n            the description\n        priority : int. optional\n            priority of the Benders' decomposition (Default = 1)\n        islpcut : bool, optional\n            is this cutting method suitable for generating cuts for convex relaxations?\n            (Default = True)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_589includeBenderscut = {"includeBenderscut", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_589includeBenderscut, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_588includeBenderscut};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_589includeBenderscut(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders = 0;
  struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_benderscut = 0;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_desc = 0;
  PyObject *__pyx_v_priority = 0;
  PyObject *__pyx_v_islpcut = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[6] = {0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("includeBenderscut (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_benders,&__pyx_mstate_global->__pyx_n_u_benderscut,&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_desc,&__pyx_mstate_global->__pyx_n_u_priority,&__pyx_mstate_global->__pyx_n_u_islpcut,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9833, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9833, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9833, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9833, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9833, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9833, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9833, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "includeBenderscut", 0) < (0)) __PYX_ERR(2, 9833, __pyx_L3_error)
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("includeBenderscut", 0, 4, 6, i); __PYX_ERR(2, 9833, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 9833, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 9833, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 9833, __pyx_L3_error)
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 9833, __pyx_L3_error)
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9833, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9833, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_1));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)values[0]);
    __pyx_v_benderscut = ((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)values[1]);
    __pyx_v_name = values[2];
    __pyx_v_desc = values[3];
    __pyx_v_priority = values[4];
    __pyx_v_islpcut = values[5];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("includeBenderscut", 0, 4, 6, __pyx_nargs); __PYX_ERR(2, 9833, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeBenderscut", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benders), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, 1, "benders", 0))) __PYX_ERR(2, 9833, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_benderscut), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benderscut, 1, "benderscut", 0))) __PYX_ERR(2, 9833, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_588includeBenderscut(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_benders, __pyx_v_benderscut, __pyx_v_name, __pyx_v_desc, __pyx_v_priority, __pyx_v_islpcut);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_588includeBenderscut(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Benders *__pyx_v_benders, struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v_benderscut, PyObject *__pyx_v_name, PyObject *__pyx_v_desc, PyObject *__pyx_v_priority, PyObject *__pyx_v_islpcut) {
  SCIP_BENDERS *__pyx_v__benders;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_d = NULL;
  CYTHON_UNUSED SCIP_BENDERSCUT *__pyx_v_scip_benderscut;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_BENDERS *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  char const *__pyx_t_6;
  char const *__pyx_t_7;
  int __pyx_t_8;
  SCIP_Bool __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  char const *__pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("includeBenderscut", 0);

  /* "src/pyscipopt/scip.pxi":9856
 *         cdef SCIP_BENDERS* _benders
 * 
 *         _benders = benders._benders             # <<<<<<<<<<<<<<
 * 
 *         n = str_conversion(name)
*/
  __pyx_t_1 = __pyx_v_benders->_benders;
  __pyx_v__benders = __pyx_t_1;

  /* "src/pyscipopt/scip.pxi":9858
 *         _benders = benders._benders
 * 
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeBenderscut(self._scip, _benders, n, d, priority, islpcut,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_name};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9858, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_n = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9859
 * 
 *         n = str_conversion(name)
 *         d = str_conversion(desc)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPincludeBenderscut(self._scip, _benders, n, d, priority, islpcut,
 *                                             PyBenderscutCopy, PyBenderscutFree, PyBenderscutInit, PyBenderscutExit,
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_desc};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9859, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v_d = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9860
 *         n = str_conversion(name)
 *         d = str_conversion(desc)
 *         PY_SCIP_CALL(SCIPincludeBenderscut(self._scip, _benders, n, d, priority, islpcut,             # <<<<<<<<<<<<<<
 *                                             PyBenderscutCopy, PyBenderscutFree, PyBenderscutInit, PyBenderscutExit,
 *                                             PyBenderscutInitsol, PyBenderscutExitsol, PyBenderscutExec,
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 9860, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_d); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 9860, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_As_int(__pyx_v_priority); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 9860, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_islpcut); if (unlikely((__pyx_t_9 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 9860, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":9863
 *                                             PyBenderscutCopy, PyBenderscutFree, PyBenderscutInit, PyBenderscutExit,
 *                                             PyBenderscutInitsol, PyBenderscutExitsol, PyBenderscutExec,
 *                                             <SCIP_BENDERSCUTDATA*>benderscut))             # <<<<<<<<<<<<<<
 * 
 *         cdef SCIP_BENDERSCUT* scip_benderscut
*/
  __pyx_t_10 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPincludeBenderscut(__pyx_v_self->_scip, __pyx_v__benders, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9, __pyx_f_9pyscipopt_4scip_PyBenderscutCopy, __pyx_f_9pyscipopt_4scip_PyBenderscutFree, __pyx_f_9pyscipopt_4scip_PyBenderscutInit, __pyx_f_9pyscipopt_4scip_PyBenderscutExit, __pyx_f_9pyscipopt_4scip_PyBenderscutInitsol, __pyx_f_9pyscipopt_4scip_PyBenderscutExitsol, __pyx_f_9pyscipopt_4scip_PyBenderscutExec, ((SCIP_BENDERSCUTDATA *)__pyx_v_benderscut))); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_10};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9860, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":9866
 * 
 *         cdef SCIP_BENDERSCUT* scip_benderscut
 *         scip_benderscut = SCIPfindBenderscut(_benders, n)             # <<<<<<<<<<<<<<
 *         benderscut.model = <Model>weakref.proxy(self)
 *         benderscut.benders = benders
*/
  __pyx_t_11 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) __PYX_ERR(2, 9866, __pyx_L1_error)
  __pyx_v_scip_benderscut = SCIPfindBenderscut(__pyx_v__benders, __pyx_t_11);

  /* "src/pyscipopt/scip.pxi":9867
 *         cdef SCIP_BENDERSCUT* scip_benderscut
 *         scip_benderscut = SCIPfindBenderscut(_benders, n)
 *         benderscut.model = <Model>weakref.proxy(self)             # <<<<<<<<<<<<<<
 *         benderscut.benders = benders
 *         benderscut.name = name
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_weakref); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_proxy); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, ((PyObject *)__pyx_v_self)};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9867, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_3 = __pyx_t_2;
  __Pyx_INCREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF((PyObject *)__pyx_v_benderscut->model);
  __Pyx_DECREF((PyObject *)__pyx_v_benderscut->model);
  __pyx_v_benderscut->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":9868
 *         scip_benderscut = SCIPfindBenderscut(_benders, n)
 *         benderscut.model = <Model>weakref.proxy(self)
 *         benderscut.benders = benders             # <<<<<<<<<<<<<<
 *         benderscut.name = name
 *         # TODO: It might be necessary in increment the reference to benders i.e Py_INCREF(benders)
*/
  __Pyx_INCREF((PyObject *)__pyx_v_benders);
  __Pyx_GIVEREF((PyObject *)__pyx_v_benders);
  __Pyx_GOTREF((PyObject *)__pyx_v_benderscut->benders);
  __Pyx_DECREF((PyObject *)__pyx_v_benderscut->benders);
  __pyx_v_benderscut->benders = __pyx_v_benders;

  /* "src/pyscipopt/scip.pxi":9869
 *         benderscut.model = <Model>weakref.proxy(self)
 *         benderscut.benders = benders
 *         benderscut.name = name             # <<<<<<<<<<<<<<
 *         # TODO: It might be necessary in increment the reference to benders i.e Py_INCREF(benders)
 *         Py_INCREF(benderscut)
*/
  __pyx_t_3 = __pyx_v_name;
  __Pyx_INCREF(__pyx_t_3);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_3))) __PYX_ERR(2, 9869, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_3);
  __Pyx_GOTREF(__pyx_v_benderscut->name);
  __Pyx_DECREF(__pyx_v_benderscut->name);
  __pyx_v_benderscut->name = ((PyObject*)__pyx_t_3);
  __pyx_t_3 = 0;

  /* "src/pyscipopt/scip.pxi":9871
 *         benderscut.name = name
 *         # TODO: It might be necessary in increment the reference to benders i.e Py_INCREF(benders)
 *         Py_INCREF(benderscut)             # <<<<<<<<<<<<<<
 * 
 *     def getLPBranchCands(self):
*/
  Py_INCREF(((PyObject *)__pyx_v_benderscut));

  /* "src/pyscipopt/scip.pxi":9833
 *         Py_INCREF(benders)
 * 
 *     def includeBenderscut(self, Benders benders, Benderscut benderscut, name, desc, priority=1, islpcut=True):             # <<<<<<<<<<<<<<
 *         """
 *         Include a Benders' decomposition cutting method
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.Model.includeBenderscut", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_d);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9873
 *         Py_INCREF(benderscut)
 * 
 *     def getLPBranchCands(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets branching candidates for LP solution branching (fractional variables) along with solution values,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_591getLPBranchCands(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_590getLPBranchCands, "\n        Gets branching candidates for LP solution branching (fractional variables) along with solution values,\n        fractionalities, and number of branching candidates; The number of branching candidates does NOT account\n        for fractional implicit integer variables which should not be used for branching decisions. Fractional\n        implicit integer variables are stored at the positions nlpcands to nlpcands + nfracimplvars - 1\n        branching rules should always select the branching candidate among the first npriolpcands of the candidate list\n\n        Returns\n        -------\n        list of Variable\n            list of variables of LP branching candidates\n        list of float\n            list of LP candidate solution values\n        list of float\n            list of LP candidate fractionalities\n        int\n            number of LP branching candidates\n        int\n            number of candidates with maximal priority\n        int\n            number of fractional implicit integer variables\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_591getLPBranchCands = {"getLPBranchCands", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_591getLPBranchCands, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_590getLPBranchCands};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_591getLPBranchCands(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getLPBranchCands (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getLPBranchCands", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getLPBranchCands", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_590getLPBranchCands(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_590getLPBranchCands(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_VAR **__pyx_v_lpcands;
  SCIP_Real *__pyx_v_lpcandssol;
  SCIP_Real *__pyx_v_lpcandsfrac;
  int __pyx_v_nlpcands;
  int __pyx_v_npriolpcands;
  int __pyx_v_nfracimplvars;
  int __pyx_9genexpr54__pyx_v_i;
  int __pyx_9genexpr55__pyx_v_i;
  int __pyx_9genexpr56__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getLPBranchCands", 0);

  /* "src/pyscipopt/scip.pxi":9906
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPgetLPBranchCands(self._scip, &lpcands, &lpcandssol, &lpcandsfrac,             # <<<<<<<<<<<<<<
 *                                           &nlpcands, &npriolpcands, &nfracimplvars))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);

  /* "src/pyscipopt/scip.pxi":9907
 * 
 *         PY_SCIP_CALL(SCIPgetLPBranchCands(self._scip, &lpcands, &lpcandssol, &lpcandsfrac,
 *                                           &nlpcands, &npriolpcands, &nfracimplvars))             # <<<<<<<<<<<<<<
 * 
 *         return ([self._getOrCreateVar(lpcands[i]) for i in range(nlpcands)], [lpcandssol[i] for i in range(nlpcands)],
*/
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetLPBranchCands(__pyx_v_self->_scip, (&__pyx_v_lpcands), (&__pyx_v_lpcandssol), (&__pyx_v_lpcandsfrac), (&__pyx_v_nlpcands), (&__pyx_v_npriolpcands), (&__pyx_v_nfracimplvars))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9906, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9906, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9909
 *                                           &nlpcands, &npriolpcands, &nfracimplvars))
 * 
 *         return ([self._getOrCreateVar(lpcands[i]) for i in range(nlpcands)], [lpcandssol[i] for i in range(nlpcands)],             # <<<<<<<<<<<<<<
 *                 [lpcandsfrac[i] for i in range(nlpcands)], nlpcands, npriolpcands, nfracimplvars)
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9909, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __pyx_v_nlpcands;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr54__pyx_v_i = __pyx_t_8;
      __pyx_t_3 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, (__pyx_v_lpcands[__pyx_9genexpr54__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9909, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 9909, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  } /* exit inner scope */
  { /* enter inner scope */
    __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9909, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = __pyx_v_nlpcands;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr55__pyx_v_i = __pyx_t_8;
      __pyx_t_4 = PyFloat_FromDouble((__pyx_v_lpcandssol[__pyx_9genexpr55__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9909, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(2, 9909, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    }
  } /* exit inner scope */
  { /* enter inner scope */

    /* "src/pyscipopt/scip.pxi":9910
 * 
 *         return ([self._getOrCreateVar(lpcands[i]) for i in range(nlpcands)], [lpcandssol[i] for i in range(nlpcands)],
 *                 [lpcandsfrac[i] for i in range(nlpcands)], nlpcands, npriolpcands, nfracimplvars)             # <<<<<<<<<<<<<<
 * 
 *     def getNLPBranchCands(self):
*/
    __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9910, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = __pyx_v_nlpcands;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr56__pyx_v_i = __pyx_t_8;
      __pyx_t_2 = PyFloat_FromDouble((__pyx_v_lpcandsfrac[__pyx_9genexpr56__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9910, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_2))) __PYX_ERR(2, 9910, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    }
  } /* exit inner scope */
  __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_nlpcands); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = __Pyx_PyLong_From_int(__pyx_v_npriolpcands); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 9910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyLong_From_int(__pyx_v_nfracimplvars); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9910, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);

  /* "src/pyscipopt/scip.pxi":9909
 *                                           &nlpcands, &npriolpcands, &nfracimplvars))
 * 
 *         return ([self._getOrCreateVar(lpcands[i]) for i in range(nlpcands)], [lpcandssol[i] for i in range(nlpcands)],             # <<<<<<<<<<<<<<
 *                 [lpcandsfrac[i] for i in range(nlpcands)], nlpcands, npriolpcands, nfracimplvars)
 * 
*/
  __pyx_t_11 = PyTuple_New(6); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 9909, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 9909, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 9909, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_4) != (0)) __PYX_ERR(2, 9909, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_2) != (0)) __PYX_ERR(2, 9909, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_9);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 4, __pyx_t_9) != (0)) __PYX_ERR(2, 9909, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_10);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 5, __pyx_t_10) != (0)) __PYX_ERR(2, 9909, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_t_9 = 0;
  __pyx_t_10 = 0;
  __pyx_r = __pyx_t_11;
  __pyx_t_11 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9873
 *         Py_INCREF(benderscut)
 * 
 *     def getLPBranchCands(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets branching candidates for LP solution branching (fractional variables) along with solution values,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getLPBranchCands", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9912
 *                 [lpcandsfrac[i] for i in range(nlpcands)], nlpcands, npriolpcands, nfracimplvars)
 * 
 *     def getNLPBranchCands(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of branching candidates for LP solution branching (number of fractional variables)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_593getNLPBranchCands(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_592getNLPBranchCands, "\n        Gets number of branching candidates for LP solution branching (number of fractional variables)\n\n        Returns\n        -------\n        int\n    \t    number of LP branching candidates\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_593getNLPBranchCands = {"getNLPBranchCands", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_593getNLPBranchCands, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_592getNLPBranchCands};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_593getNLPBranchCands(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNLPBranchCands (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNLPBranchCands", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNLPBranchCands", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_592getNLPBranchCands(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_592getNLPBranchCands(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNLPBranchCands", 0);

  /* "src/pyscipopt/scip.pxi":9922
 * 
 *         """
 *         return SCIPgetNLPBranchCands(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getPseudoBranchCands(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNLPBranchCands(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9922, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9912
 *                 [lpcandsfrac[i] for i in range(nlpcands)], nlpcands, npriolpcands, nfracimplvars)
 * 
 *     def getNLPBranchCands(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of branching candidates for LP solution branching (number of fractional variables)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNLPBranchCands", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9924
 *         return SCIPgetNLPBranchCands(self._scip)
 * 
 *     def getPseudoBranchCands(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets branching candidates for pseudo solution branching (non-fixed variables)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_595getPseudoBranchCands(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_594getPseudoBranchCands, "\n        Gets branching candidates for pseudo solution branching (non-fixed variables)\n        along with the number of candidates.\n\n        Returns\n        -------\n        list of Variable\n            list of variables of pseudo branching candidates\n        int\n            number of pseudo branching candidates\n        int\n            number of candidates with maximal priority\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_595getPseudoBranchCands = {"getPseudoBranchCands", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_595getPseudoBranchCands, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_594getPseudoBranchCands};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_595getPseudoBranchCands(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPseudoBranchCands (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPseudoBranchCands", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPseudoBranchCands", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_594getPseudoBranchCands(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_594getPseudoBranchCands(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_VAR **__pyx_v_pseudocands;
  int __pyx_v_npseudocands;
  int __pyx_v_npriopseudocands;
  int __pyx_9genexpr57__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPseudoBranchCands", 0);

  /* "src/pyscipopt/scip.pxi":9944
 *         cdef int i
 * 
 *         PY_SCIP_CALL(SCIPgetPseudoBranchCands(self._scip, &pseudocands, &npseudocands, &npriopseudocands))             # <<<<<<<<<<<<<<
 * 
 *         return ([self._getOrCreateVar(pseudocands[i]) for i in range(npseudocands)], npseudocands, npriopseudocands)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetPseudoBranchCands(__pyx_v_self->_scip, (&__pyx_v_pseudocands), (&__pyx_v_npseudocands), (&__pyx_v_npriopseudocands))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9944, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9944, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9946
 *         PY_SCIP_CALL(SCIPgetPseudoBranchCands(self._scip, &pseudocands, &npseudocands, &npriopseudocands))
 * 
 *         return ([self._getOrCreateVar(pseudocands[i]) for i in range(npseudocands)], npseudocands, npriopseudocands)             # <<<<<<<<<<<<<<
 * 
 *     def branchVar(self, Variable variable):
*/
  __Pyx_XDECREF(__pyx_r);
  { /* enter inner scope */
    __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_6 = __pyx_v_npseudocands;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_9genexpr57__pyx_v_i = __pyx_t_8;
      __pyx_t_3 = ((struct __pyx_vtabstruct_9pyscipopt_4scip_Model *)__pyx_v_self->__pyx_vtab)->_getOrCreateVar(__pyx_v_self, (__pyx_v_pseudocands[__pyx_9genexpr57__pyx_v_i])); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9946, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 9946, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    }
  } /* exit inner scope */
  __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_npseudocands); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 9946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_int(__pyx_v_npriopseudocands); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 9946, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 9946, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_4) != (0)) __PYX_ERR(2, 9946, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9924
 *         return SCIPgetNLPBranchCands(self._scip)
 * 
 *     def getPseudoBranchCands(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets branching candidates for pseudo solution branching (non-fixed variables)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getPseudoBranchCands", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9948
 *         return ([self._getOrCreateVar(pseudocands[i]) for i in range(npseudocands)], npseudocands, npriopseudocands)
 * 
 *     def branchVar(self, Variable variable):             # <<<<<<<<<<<<<<
 *         """
 *         Branch on a non-continuous variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_597branchVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_596branchVar, "\n        Branch on a non-continuous variable.\n\n        Parameters\n        ----------\n        variable : Variable\n            Variable to branch on\n\n        Returns\n        -------\n        Node\n            Node created for the down (left) branch\n        Node or None\n            Node created for the equal child (middle child). Only exists if branch variable is integer\n        Node\n            Node created for the up (right) branch\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_597branchVar = {"branchVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_597branchVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_596branchVar};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_597branchVar(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_variable = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchVar (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_variable,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9948, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9948, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "branchVar", 0) < (0)) __PYX_ERR(2, 9948, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("branchVar", 1, 1, 1, i); __PYX_ERR(2, 9948, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9948, __pyx_L3_error)
    }
    __pyx_v_variable = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("branchVar", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 9948, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.branchVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_variable), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "variable", 0))) __PYX_ERR(2, 9948, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_596branchVar(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_variable);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_596branchVar(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_variable) {
  SCIP_NODE *__pyx_v_downchild;
  SCIP_NODE *__pyx_v_eqchild;
  SCIP_NODE *__pyx_v_upchild;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("branchVar", 0);

  /* "src/pyscipopt/scip.pxi":9970
 *         cdef SCIP_NODE* eqchild
 *         cdef SCIP_NODE* upchild
 *         cdef _VarArray wrapper = _VarArray(variable)             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPbranchVar(self._scip, wrapper.ptr[0], &downchild, &eqchild, &upchild))
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_variable)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9970, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_wrapper = ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9972
 *         cdef _VarArray wrapper = _VarArray(variable)
 * 
 *         PY_SCIP_CALL(SCIPbranchVar(self._scip, wrapper.ptr[0], &downchild, &eqchild, &upchild))             # <<<<<<<<<<<<<<
 *         return Node.create(downchild), Node.create(eqchild), Node.create(upchild)
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPbranchVar(__pyx_v_self->_scip, (__pyx_v_wrapper->ptr[0]), (&__pyx_v_downchild), (&__pyx_v_eqchild), (&__pyx_v_upchild))); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 9972, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9972, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":9973
 * 
 *         PY_SCIP_CALL(SCIPbranchVar(self._scip, wrapper.ptr[0], &downchild, &eqchild, &upchild))
 *         return Node.create(downchild), Node.create(eqchild), Node.create(upchild)             # <<<<<<<<<<<<<<
 * 
 *     def branchVarVal(self, Variable variable, value):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(__pyx_v_downchild); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __pyx_f_9pyscipopt_4scip_4Node_create(__pyx_v_eqchild); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __pyx_f_9pyscipopt_4scip_4Node_create(__pyx_v_upchild); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 9973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 9973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 9973, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4) != (0)) __PYX_ERR(2, 9973, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_5);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_5) != (0)) __PYX_ERR(2, 9973, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9948
 *         return ([self._getOrCreateVar(pseudocands[i]) for i in range(npseudocands)], npseudocands, npriopseudocands)
 * 
 *     def branchVar(self, Variable variable):             # <<<<<<<<<<<<<<
 *         """
 *         Branch on a non-continuous variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.branchVar", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":9975
 *         return Node.create(downchild), Node.create(eqchild), Node.create(upchild)
 * 
 *     def branchVarVal(self, Variable variable, value):             # <<<<<<<<<<<<<<
 *         """
 *         Branches on variable using a value which separates the domain of the variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_599branchVarVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_598branchVarVal, "\n        Branches on variable using a value which separates the domain of the variable.\n\n        Parameters\n        ----------\n        variable : Variable\n            Variable to branch on\n        value : float\n            value to branch on\n\n        Returns\n        -------\n        Node\n            Node created for the down (left) branch\n        Node or None\n            Node created for the equal child (middle child). Only exists if the branch variable is integer\n        Node\n            Node created for the up (right) branch\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_599branchVarVal = {"branchVarVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_599branchVarVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_598branchVarVal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_599branchVarVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_variable = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchVarVal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_variable,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 9975, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9975, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9975, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "branchVarVal", 0) < (0)) __PYX_ERR(2, 9975, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("branchVarVal", 1, 2, 2, i); __PYX_ERR(2, 9975, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 9975, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 9975, __pyx_L3_error)
    }
    __pyx_v_variable = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("branchVarVal", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 9975, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.branchVarVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_variable), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "variable", 0))) __PYX_ERR(2, 9975, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_598branchVarVal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_variable, __pyx_v_value);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_598branchVarVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_variable, PyObject *__pyx_v_value) {
  SCIP_NODE *__pyx_v_downchild;
  SCIP_NODE *__pyx_v_eqchild;
  SCIP_NODE *__pyx_v_upchild;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("branchVarVal", 0);

  /* "src/pyscipopt/scip.pxi":9999
 *         cdef SCIP_NODE* eqchild
 *         cdef SCIP_NODE* upchild
 *         cdef _VarArray wrapper = _VarArray(variable)             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPbranchVarVal(self._scip, wrapper.ptr[0], value, &downchild, &eqchild, &upchild))
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_variable)};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9999, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_1);
  }
  __pyx_v_wrapper = ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10001
 *         cdef _VarArray wrapper = _VarArray(variable)
 * 
 *         PY_SCIP_CALL(SCIPbranchVarVal(self._scip, wrapper.ptr[0], value, &downchild, &eqchild, &upchild))             # <<<<<<<<<<<<<<
 * 
 *         return Node.create(downchild), Node.create(eqchild), Node.create(upchild)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10001, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPbranchVarVal(__pyx_v_self->_scip, (__pyx_v_wrapper->ptr[0]), __pyx_t_5, (&__pyx_v_downchild), (&__pyx_v_eqchild), (&__pyx_v_upchild))); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 10001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10001, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10003
 *         PY_SCIP_CALL(SCIPbranchVarVal(self._scip, wrapper.ptr[0], value, &downchild, &eqchild, &upchild))
 * 
 *         return Node.create(downchild), Node.create(eqchild), Node.create(upchild)             # <<<<<<<<<<<<<<
 * 
 *     def calcNodeselPriority(self, Variable variable, branchdir, targetvalue):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(__pyx_v_downchild); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = __pyx_f_9pyscipopt_4scip_4Node_create(__pyx_v_eqchild); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __pyx_f_9pyscipopt_4scip_4Node_create(__pyx_v_upchild); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 10003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10003, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 10003, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4) != (0)) __PYX_ERR(2, 10003, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_6) != (0)) __PYX_ERR(2, 10003, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_t_6 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":9975
 *         return Node.create(downchild), Node.create(eqchild), Node.create(upchild)
 * 
 *     def branchVarVal(self, Variable variable, value):             # <<<<<<<<<<<<<<
 *         """
 *         Branches on variable using a value which separates the domain of the variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.branchVarVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10005
 *         return Node.create(downchild), Node.create(eqchild), Node.create(upchild)
 * 
 *     def calcNodeselPriority(self, Variable variable, branchdir, targetvalue):             # <<<<<<<<<<<<<<
 *         """
 *         Calculates the node selection priority for moving the given variable's LP value
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_601calcNodeselPriority(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_600calcNodeselPriority, "\n        Calculates the node selection priority for moving the given variable's LP value\n        to the given target value;\n        this node selection priority can be given to the SCIPcreateChild() call.\n\n        Parameters\n        ----------\n        variable : Variable\n            variable on which the branching is applied\n        branchdir : PY_SCIP_BRANCHDIR\n            type of branching that was performed\n        targetvalue : float\n            new value of the variable in the child node\n\n        Returns\n        -------\n        int\n            node selection priority for moving the given variable's LP value to the given target value\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_601calcNodeselPriority = {"calcNodeselPriority", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_601calcNodeselPriority, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_600calcNodeselPriority};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_601calcNodeselPriority(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_variable = 0;
  PyObject *__pyx_v_branchdir = 0;
  PyObject *__pyx_v_targetvalue = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("calcNodeselPriority (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_variable,&__pyx_mstate_global->__pyx_n_u_branchdir,&__pyx_mstate_global->__pyx_n_u_targetvalue,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10005, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10005, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10005, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10005, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "calcNodeselPriority", 0) < (0)) __PYX_ERR(2, 10005, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("calcNodeselPriority", 1, 3, 3, i); __PYX_ERR(2, 10005, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10005, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10005, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10005, __pyx_L3_error)
    }
    __pyx_v_variable = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_branchdir = values[1];
    __pyx_v_targetvalue = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("calcNodeselPriority", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 10005, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.calcNodeselPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_variable), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "variable", 0))) __PYX_ERR(2, 10005, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_600calcNodeselPriority(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_variable, __pyx_v_branchdir, __pyx_v_targetvalue);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_600calcNodeselPriority(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_variable, PyObject *__pyx_v_branchdir, PyObject *__pyx_v_targetvalue) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_BRANCHDIR __pyx_t_1;
  SCIP_Real __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("calcNodeselPriority", 0);

  /* "src/pyscipopt/scip.pxi":10026
 * 
 *         """
 *         return SCIPcalcNodeselPriority(self._scip, variable.scip_var, branchdir, targetvalue)             # <<<<<<<<<<<<<<
 * 
 *     def calcChildEstimate(self, Variable variable, targetvalue):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_As_SCIP_BRANCHDIR(__pyx_v_branchdir); if (unlikely((__pyx_t_1 == ((SCIP_BRANCHDIR)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10026, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyFloat_AsDouble(__pyx_v_targetvalue); if (unlikely((__pyx_t_2 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10026, __pyx_L1_error)
  __pyx_t_3 = PyFloat_FromDouble(SCIPcalcNodeselPriority(__pyx_v_self->_scip, __pyx_v_variable->scip_var, __pyx_t_1, __pyx_t_2)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10005
 *         return Node.create(downchild), Node.create(eqchild), Node.create(upchild)
 * 
 *     def calcNodeselPriority(self, Variable variable, branchdir, targetvalue):             # <<<<<<<<<<<<<<
 *         """
 *         Calculates the node selection priority for moving the given variable's LP value
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.calcNodeselPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10028
 *         return SCIPcalcNodeselPriority(self._scip, variable.scip_var, branchdir, targetvalue)
 * 
 *     def calcChildEstimate(self, Variable variable, targetvalue):             # <<<<<<<<<<<<<<
 *         """
 *         Calculates an estimate for the objective of the best feasible solution
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_603calcChildEstimate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_602calcChildEstimate, "\n        Calculates an estimate for the objective of the best feasible solution\n        contained in the subtree after applying the given branching;\n        this estimate can be given to the SCIPcreateChild() call.\n\n        Parameters\n        ----------\n        variable : Variable\n            Variable to compute the estimate for\n        targetvalue : float\n            new value of the variable in the child node\n\n        Returns\n        -------\n        float\n            objective estimate of the best solution in the subtree after applying the given branching\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_603calcChildEstimate = {"calcChildEstimate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_603calcChildEstimate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_602calcChildEstimate};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_603calcChildEstimate(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_variable = 0;
  PyObject *__pyx_v_targetvalue = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("calcChildEstimate (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_variable,&__pyx_mstate_global->__pyx_n_u_targetvalue,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10028, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10028, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10028, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "calcChildEstimate", 0) < (0)) __PYX_ERR(2, 10028, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("calcChildEstimate", 1, 2, 2, i); __PYX_ERR(2, 10028, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10028, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10028, __pyx_L3_error)
    }
    __pyx_v_variable = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_targetvalue = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("calcChildEstimate", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 10028, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.calcChildEstimate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_variable), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "variable", 0))) __PYX_ERR(2, 10028, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_602calcChildEstimate(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_variable, __pyx_v_targetvalue);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_602calcChildEstimate(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_variable, PyObject *__pyx_v_targetvalue) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Real __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("calcChildEstimate", 0);

  /* "src/pyscipopt/scip.pxi":10047
 * 
 *         """
 *         return SCIPcalcChildEstimate(self._scip, variable.scip_var, targetvalue)             # <<<<<<<<<<<<<<
 * 
 *     def createChild(self, nodeselprio, estimate):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyFloat_AsDouble(__pyx_v_targetvalue); if (unlikely((__pyx_t_1 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10047, __pyx_L1_error)
  __pyx_t_2 = PyFloat_FromDouble(SCIPcalcChildEstimate(__pyx_v_self->_scip, __pyx_v_variable->scip_var, __pyx_t_1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10047, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10028
 *         return SCIPcalcNodeselPriority(self._scip, variable.scip_var, branchdir, targetvalue)
 * 
 *     def calcChildEstimate(self, Variable variable, targetvalue):             # <<<<<<<<<<<<<<
 *         """
 *         Calculates an estimate for the objective of the best feasible solution
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.calcChildEstimate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10049
 *         return SCIPcalcChildEstimate(self._scip, variable.scip_var, targetvalue)
 * 
 *     def createChild(self, nodeselprio, estimate):             # <<<<<<<<<<<<<<
 *         """
 *         Create a child node of the focus node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_605createChild(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_604createChild, "\n        Create a child node of the focus node.\n\n        Parameters\n        ----------\n        nodeselprio : int\n            node selection priority of new node\n        estimate : float\n            estimate for (transformed) objective value of best feasible solution in subtree\n\n        Returns\n        -------\n        Node\n            the child which was created\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_605createChild = {"createChild", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_605createChild, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_604createChild};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_605createChild(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_nodeselprio = 0;
  PyObject *__pyx_v_estimate = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("createChild (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_nodeselprio,&__pyx_mstate_global->__pyx_n_u_estimate,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10049, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10049, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10049, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "createChild", 0) < (0)) __PYX_ERR(2, 10049, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("createChild", 1, 2, 2, i); __PYX_ERR(2, 10049, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10049, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10049, __pyx_L3_error)
    }
    __pyx_v_nodeselprio = values[0];
    __pyx_v_estimate = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("createChild", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 10049, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.createChild", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_604createChild(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_nodeselprio, __pyx_v_estimate);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_604createChild(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_nodeselprio, PyObject *__pyx_v_estimate) {
  SCIP_NODE *__pyx_v_child;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("createChild", 0);

  /* "src/pyscipopt/scip.pxi":10067
 *         """
 *         cdef SCIP_NODE* child
 *         PY_SCIP_CALL(SCIPcreateChild(self._scip, &child, nodeselprio, estimate))             # <<<<<<<<<<<<<<
 *         return Node.create(child)
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_nodeselprio); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10067, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_estimate); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10067, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateChild(__pyx_v_self->_scip, (&__pyx_v_child), __pyx_t_4, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 10067, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10067, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10068
 *         cdef SCIP_NODE* child
 *         PY_SCIP_CALL(SCIPcreateChild(self._scip, &child, nodeselprio, estimate))
 *         return Node.create(child)             # <<<<<<<<<<<<<<
 * 
 *     # Diving methods (Diving is LP related)
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9pyscipopt_4scip_4Node_create(__pyx_v_child); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10068, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10049
 *         return SCIPcalcChildEstimate(self._scip, variable.scip_var, targetvalue)
 * 
 *     def createChild(self, nodeselprio, estimate):             # <<<<<<<<<<<<<<
 *         """
 *         Create a child node of the focus node.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.createChild", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10071
 * 
 *     # Diving methods (Diving is LP related)
 *     def startDive(self):             # <<<<<<<<<<<<<<
 *         """Initiates LP diving.
 *         It allows the user to change the LP in several ways, solve, change again, etc,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_607startDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_606startDive, "Initiates LP diving.\n        It allows the user to change the LP in several ways, solve, change again, etc,\n        without affecting the actual LP. When endDive() is called,\n        SCIP will undo all changes done and recover the LP it had before startDive.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_607startDive = {"startDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_607startDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_606startDive};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_607startDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("startDive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("startDive", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("startDive", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_606startDive(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_606startDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("startDive", 0);

  /* "src/pyscipopt/scip.pxi":10076
 *         without affecting the actual LP. When endDive() is called,
 *         SCIP will undo all changes done and recover the LP it had before startDive."""
 *         PY_SCIP_CALL(SCIPstartDive(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def endDive(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPstartDive(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10076, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10076, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10071
 * 
 *     # Diving methods (Diving is LP related)
 *     def startDive(self):             # <<<<<<<<<<<<<<
 *         """Initiates LP diving.
 *         It allows the user to change the LP in several ways, solve, change again, etc,
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.startDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10078
 *         PY_SCIP_CALL(SCIPstartDive(self._scip))
 * 
 *     def endDive(self):             # <<<<<<<<<<<<<<
 *         """Quits probing and resets bounds and constraints to the focus node's environment."""
 *         PY_SCIP_CALL(SCIPendDive(self._scip))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_609endDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_608endDive, "Quits probing and resets bounds and constraints to the focus node's environment.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_609endDive = {"endDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_609endDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_608endDive};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_609endDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("endDive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("endDive", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("endDive", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_608endDive(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_608endDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("endDive", 0);

  /* "src/pyscipopt/scip.pxi":10080
 *     def endDive(self):
 *         """Quits probing and resets bounds and constraints to the focus node's environment."""
 *         PY_SCIP_CALL(SCIPendDive(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def chgVarObjDive(self, Variable var, newobj):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPendDive(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10080, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10078
 *         PY_SCIP_CALL(SCIPstartDive(self._scip))
 * 
 *     def endDive(self):             # <<<<<<<<<<<<<<
 *         """Quits probing and resets bounds and constraints to the focus node's environment."""
 *         PY_SCIP_CALL(SCIPendDive(self._scip))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.endDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10082
 *         PY_SCIP_CALL(SCIPendDive(self._scip))
 * 
 *     def chgVarObjDive(self, Variable var, newobj):             # <<<<<<<<<<<<<<
 *         """
 *         Changes (column) variable's objective value in current dive.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_611chgVarObjDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_610chgVarObjDive, "\n        Changes (column) variable's objective value in current dive.\n\n        Parameters\n        ----------\n        var : Variable\n        newobj : float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_611chgVarObjDive = {"chgVarObjDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_611chgVarObjDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_610chgVarObjDive};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_611chgVarObjDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_newobj = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarObjDive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_newobj,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10082, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10082, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10082, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarObjDive", 0) < (0)) __PYX_ERR(2, 10082, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarObjDive", 1, 2, 2, i); __PYX_ERR(2, 10082, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10082, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10082, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_newobj = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarObjDive", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 10082, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarObjDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 10082, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_610chgVarObjDive(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_newobj);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_610chgVarObjDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_newobj) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarObjDive", 0);

  /* "src/pyscipopt/scip.pxi":10092
 * 
 *         """
 *         PY_SCIP_CALL(SCIPchgVarObjDive(self._scip, var.scip_var, newobj))             # <<<<<<<<<<<<<<
 * 
 *     def chgVarLbDive(self, Variable var, newbound):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_newobj); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10092, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarObjDive(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10092, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10092, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10082
 *         PY_SCIP_CALL(SCIPendDive(self._scip))
 * 
 *     def chgVarObjDive(self, Variable var, newobj):             # <<<<<<<<<<<<<<
 *         """
 *         Changes (column) variable's objective value in current dive.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarObjDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10094
 *         PY_SCIP_CALL(SCIPchgVarObjDive(self._scip, var.scip_var, newobj))
 * 
 *     def chgVarLbDive(self, Variable var, newbound):             # <<<<<<<<<<<<<<
 *         """
 *         Changes variable's current lb in current dive.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_613chgVarLbDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_612chgVarLbDive, "\n        Changes variable's current lb in current dive.\n\n        Parameters\n        ----------\n        var : Variable\n        newbound : float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_613chgVarLbDive = {"chgVarLbDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_613chgVarLbDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_612chgVarLbDive};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_613chgVarLbDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_newbound = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarLbDive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_newbound,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10094, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10094, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10094, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarLbDive", 0) < (0)) __PYX_ERR(2, 10094, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarLbDive", 1, 2, 2, i); __PYX_ERR(2, 10094, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10094, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10094, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_newbound = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarLbDive", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 10094, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarLbDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 10094, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_612chgVarLbDive(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_newbound);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_612chgVarLbDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_newbound) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarLbDive", 0);

  /* "src/pyscipopt/scip.pxi":10104
 * 
 *         """
 *         PY_SCIP_CALL(SCIPchgVarLbDive(self._scip, var.scip_var, newbound))             # <<<<<<<<<<<<<<
 * 
 *     def chgVarUbDive(self, Variable var, newbound):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_newbound); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10104, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarLbDive(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10094
 *         PY_SCIP_CALL(SCIPchgVarObjDive(self._scip, var.scip_var, newobj))
 * 
 *     def chgVarLbDive(self, Variable var, newbound):             # <<<<<<<<<<<<<<
 *         """
 *         Changes variable's current lb in current dive.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarLbDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10106
 *         PY_SCIP_CALL(SCIPchgVarLbDive(self._scip, var.scip_var, newbound))
 * 
 *     def chgVarUbDive(self, Variable var, newbound):             # <<<<<<<<<<<<<<
 *         """
 *         Changes variable's current ub in current dive.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_615chgVarUbDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_614chgVarUbDive, "\n        Changes variable's current ub in current dive.\n\n        Parameters\n        ----------\n        var : Variable\n        newbound : float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_615chgVarUbDive = {"chgVarUbDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_615chgVarUbDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_614chgVarUbDive};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_615chgVarUbDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_newbound = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarUbDive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_newbound,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10106, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10106, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10106, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarUbDive", 0) < (0)) __PYX_ERR(2, 10106, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarUbDive", 1, 2, 2, i); __PYX_ERR(2, 10106, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10106, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10106, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_newbound = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarUbDive", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 10106, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarUbDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 10106, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_614chgVarUbDive(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_newbound);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_614chgVarUbDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_newbound) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarUbDive", 0);

  /* "src/pyscipopt/scip.pxi":10116
 * 
 *         """
 *         PY_SCIP_CALL(SCIPchgVarUbDive(self._scip, var.scip_var, newbound))             # <<<<<<<<<<<<<<
 * 
 *     def getVarLbDive(self, Variable var):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_newbound); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10116, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarUbDive(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10116, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10106
 *         PY_SCIP_CALL(SCIPchgVarLbDive(self._scip, var.scip_var, newbound))
 * 
 *     def chgVarUbDive(self, Variable var, newbound):             # <<<<<<<<<<<<<<
 *         """
 *         Changes variable's current ub in current dive.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarUbDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10118
 *         PY_SCIP_CALL(SCIPchgVarUbDive(self._scip, var.scip_var, newbound))
 * 
 *     def getVarLbDive(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Returns variable's current lb in current dive.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_617getVarLbDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_616getVarLbDive, "\n        Returns variable's current lb in current dive.\n\n        Parameters\n        ----------\n        var : Variable\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_617getVarLbDive = {"getVarLbDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_617getVarLbDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_616getVarLbDive};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_617getVarLbDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVarLbDive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10118, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10118, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getVarLbDive", 0) < (0)) __PYX_ERR(2, 10118, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getVarLbDive", 1, 1, 1, i); __PYX_ERR(2, 10118, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10118, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getVarLbDive", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 10118, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarLbDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 10118, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_616getVarLbDive(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_616getVarLbDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVarLbDive", 0);

  /* "src/pyscipopt/scip.pxi":10131
 * 
 *         """
 *         return SCIPgetVarLbDive(self._scip, var.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getVarUbDive(self, Variable var):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetVarLbDive(__pyx_v_self->_scip, __pyx_v_var->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10118
 *         PY_SCIP_CALL(SCIPchgVarUbDive(self._scip, var.scip_var, newbound))
 * 
 *     def getVarLbDive(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Returns variable's current lb in current dive.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarLbDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10133
 *         return SCIPgetVarLbDive(self._scip, var.scip_var)
 * 
 *     def getVarUbDive(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Returns variable's current ub in current dive.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_619getVarUbDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_618getVarUbDive, "\n        Returns variable's current ub in current dive.\n\n        Parameters\n        ----------\n        var : Variable\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_619getVarUbDive = {"getVarUbDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_619getVarUbDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_618getVarUbDive};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_619getVarUbDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVarUbDive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10133, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10133, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getVarUbDive", 0) < (0)) __PYX_ERR(2, 10133, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getVarUbDive", 1, 1, 1, i); __PYX_ERR(2, 10133, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10133, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getVarUbDive", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 10133, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarUbDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 10133, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_618getVarUbDive(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_618getVarUbDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVarUbDive", 0);

  /* "src/pyscipopt/scip.pxi":10146
 * 
 *         """
 *         return SCIPgetVarUbDive(self._scip, var.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def chgRowLhsDive(self, Row row, newlhs):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetVarUbDive(__pyx_v_self->_scip, __pyx_v_var->scip_var)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10133
 *         return SCIPgetVarLbDive(self._scip, var.scip_var)
 * 
 *     def getVarUbDive(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Returns variable's current ub in current dive.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarUbDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10148
 *         return SCIPgetVarUbDive(self._scip, var.scip_var)
 * 
 *     def chgRowLhsDive(self, Row row, newlhs):             # <<<<<<<<<<<<<<
 *         """
 *         Changes row lhs in current dive, change will be undone after diving
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_621chgRowLhsDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_620chgRowLhsDive, "\n        Changes row lhs in current dive, change will be undone after diving\n        ends, for permanent changes use SCIPchgRowLhs().\n\n        Parameters\n        ----------\n        row : Row\n        newlhs : float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_621chgRowLhsDive = {"chgRowLhsDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_621chgRowLhsDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_620chgRowLhsDive};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_621chgRowLhsDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  PyObject *__pyx_v_newlhs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgRowLhsDive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,&__pyx_mstate_global->__pyx_n_u_newlhs,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10148, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10148, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10148, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgRowLhsDive", 0) < (0)) __PYX_ERR(2, 10148, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgRowLhsDive", 1, 2, 2, i); __PYX_ERR(2, 10148, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10148, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10148, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
    __pyx_v_newlhs = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgRowLhsDive", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 10148, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgRowLhsDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 1, "row", 0))) __PYX_ERR(2, 10148, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_620chgRowLhsDive(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row, __pyx_v_newlhs);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_620chgRowLhsDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row, PyObject *__pyx_v_newlhs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgRowLhsDive", 0);

  /* "src/pyscipopt/scip.pxi":10159
 * 
 *         """
 *         PY_SCIP_CALL(SCIPchgRowLhsDive(self._scip, row.scip_row, newlhs))             # <<<<<<<<<<<<<<
 * 
 *     def chgRowRhsDive(self, Row row, newrhs):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_newlhs); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10159, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgRowLhsDive(__pyx_v_self->_scip, __pyx_v_row->scip_row, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10159, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10148
 *         return SCIPgetVarUbDive(self._scip, var.scip_var)
 * 
 *     def chgRowLhsDive(self, Row row, newlhs):             # <<<<<<<<<<<<<<
 *         """
 *         Changes row lhs in current dive, change will be undone after diving
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgRowLhsDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10161
 *         PY_SCIP_CALL(SCIPchgRowLhsDive(self._scip, row.scip_row, newlhs))
 * 
 *     def chgRowRhsDive(self, Row row, newrhs):             # <<<<<<<<<<<<<<
 *         """
 *         Changes row rhs in current dive, change will be undone after diving
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_623chgRowRhsDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_622chgRowRhsDive, "\n        Changes row rhs in current dive, change will be undone after diving\n        ends. For permanent changes use SCIPchgRowRhs().\n\n        Parameters\n        ----------\n        row : Row\n        newrhs : float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_623chgRowRhsDive = {"chgRowRhsDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_623chgRowRhsDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_622chgRowRhsDive};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_623chgRowRhsDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  PyObject *__pyx_v_newrhs = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgRowRhsDive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,&__pyx_mstate_global->__pyx_n_u_newrhs,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10161, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10161, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10161, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgRowRhsDive", 0) < (0)) __PYX_ERR(2, 10161, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgRowRhsDive", 1, 2, 2, i); __PYX_ERR(2, 10161, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10161, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10161, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
    __pyx_v_newrhs = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgRowRhsDive", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 10161, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgRowRhsDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 1, "row", 0))) __PYX_ERR(2, 10161, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_622chgRowRhsDive(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row, __pyx_v_newrhs);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_622chgRowRhsDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row, PyObject *__pyx_v_newrhs) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgRowRhsDive", 0);

  /* "src/pyscipopt/scip.pxi":10172
 * 
 *         """
 *         PY_SCIP_CALL(SCIPchgRowRhsDive(self._scip, row.scip_row, newrhs))             # <<<<<<<<<<<<<<
 * 
 *     def addRowDive(self, Row row):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_newrhs); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10172, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgRowRhsDive(__pyx_v_self->_scip, __pyx_v_row->scip_row, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10172, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10161
 *         PY_SCIP_CALL(SCIPchgRowLhsDive(self._scip, row.scip_row, newlhs))
 * 
 *     def chgRowRhsDive(self, Row row, newrhs):             # <<<<<<<<<<<<<<
 *         """
 *         Changes row rhs in current dive, change will be undone after diving
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgRowRhsDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10174
 *         PY_SCIP_CALL(SCIPchgRowRhsDive(self._scip, row.scip_row, newrhs))
 * 
 *     def addRowDive(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Adds a row to the LP in current dive.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_625addRowDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_624addRowDive, "\n        Adds a row to the LP in current dive.\n\n        Parameters\n        ----------\n        row : Row\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_625addRowDive = {"addRowDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_625addRowDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_624addRowDive};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_625addRowDive(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addRowDive (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10174, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10174, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addRowDive", 0) < (0)) __PYX_ERR(2, 10174, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addRowDive", 1, 1, 1, i); __PYX_ERR(2, 10174, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10174, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addRowDive", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 10174, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addRowDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 1, "row", 0))) __PYX_ERR(2, 10174, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_624addRowDive(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_624addRowDive(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addRowDive", 0);

  /* "src/pyscipopt/scip.pxi":10183
 * 
 *         """
 *         PY_SCIP_CALL(SCIPaddRowDive(self._scip, row.scip_row))             # <<<<<<<<<<<<<<
 * 
 *     def solveDiveLP(self, itlim = -1):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddRowDive(__pyx_v_self->_scip, __pyx_v_row->scip_row)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10183, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10183, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10174
 *         PY_SCIP_CALL(SCIPchgRowRhsDive(self._scip, row.scip_row, newrhs))
 * 
 *     def addRowDive(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Adds a row to the LP in current dive.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addRowDive", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10185
 *         PY_SCIP_CALL(SCIPaddRowDive(self._scip, row.scip_row))
 * 
 *     def solveDiveLP(self, itlim = -1):             # <<<<<<<<<<<<<<
 *         """
 *         Solves the LP of the current dive. No separation or pricing is applied.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_627solveDiveLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_626solveDiveLP, "\n        Solves the LP of the current dive. No separation or pricing is applied.\n\n        Parameters\n        ----------\n        itlim : int, optional\n            maximal number of LP iterations to perform (Default value = -1, that is, no limit)\n\n        Returns\n        -------\n        lperror : bool\n            whether an unresolved lp error occured\n        cutoff : bool\n            whether the LP was infeasible or the objective limit was reached\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_627solveDiveLP = {"solveDiveLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_627solveDiveLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_626solveDiveLP};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_627solveDiveLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_itlim = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("solveDiveLP (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_itlim,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10185, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10185, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "solveDiveLP", 0) < (0)) __PYX_ERR(2, 10185, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10185, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));
    }
    __pyx_v_itlim = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("solveDiveLP", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 10185, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.solveDiveLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_626solveDiveLP(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_itlim);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_626solveDiveLP(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_itlim) {
  SCIP_Bool __pyx_v_lperror;
  SCIP_Bool __pyx_v_cutoff;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("solveDiveLP", 0);

  /* "src/pyscipopt/scip.pxi":10205
 *         cdef SCIP_Bool cutoff
 * 
 *         PY_SCIP_CALL(SCIPsolveDiveLP(self._scip, itlim, &lperror, &cutoff))             # <<<<<<<<<<<<<<
 *         return lperror, cutoff
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_v_itlim); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 10205, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsolveDiveLP(__pyx_v_self->_scip, __pyx_t_4, (&__pyx_v_lperror), (&__pyx_v_cutoff))); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10205, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10206
 * 
 *         PY_SCIP_CALL(SCIPsolveDiveLP(self._scip, itlim, &lperror, &cutoff))
 *         return lperror, cutoff             # <<<<<<<<<<<<<<
 * 
 *     def inRepropagation(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_lperror); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_cutoff); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 10206, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 10206, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10185
 *         PY_SCIP_CALL(SCIPaddRowDive(self._scip, row.scip_row))
 * 
 *     def solveDiveLP(self, itlim = -1):             # <<<<<<<<<<<<<<
 *         """
 *         Solves the LP of the current dive. No separation or pricing is applied.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.solveDiveLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10208
 *         return lperror, cutoff
 * 
 *     def inRepropagation(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if the current node is already solved and only propagated again.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_629inRepropagation(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_628inRepropagation, "\n        Returns if the current node is already solved and only propagated again.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_629inRepropagation = {"inRepropagation", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_629inRepropagation, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_628inRepropagation};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_629inRepropagation(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("inRepropagation (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("inRepropagation", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("inRepropagation", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_628inRepropagation(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_628inRepropagation(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("inRepropagation", 0);

  /* "src/pyscipopt/scip.pxi":10217
 * 
 *         """
 *         return SCIPinRepropagation(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     # Probing methods (Probing is tree based)
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPinRepropagation(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10208
 *         return lperror, cutoff
 * 
 *     def inRepropagation(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if the current node is already solved and only propagated again.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.inRepropagation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10220
 * 
 *     # Probing methods (Probing is tree based)
 *     def startProbing(self):             # <<<<<<<<<<<<<<
 *         """Initiates probing, making methods SCIPnewProbingNode(), SCIPbacktrackProbing(), SCIPchgVarLbProbing(),
 *            SCIPchgVarUbProbing(), SCIPfixVarProbing(), SCIPpropagateProbing(), SCIPsolveProbingLP(), etc available.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_631startProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_630startProbing, "Initiates probing, making methods SCIPnewProbingNode(), SCIPbacktrackProbing(), SCIPchgVarLbProbing(),\n           SCIPchgVarUbProbing(), SCIPfixVarProbing(), SCIPpropagateProbing(), SCIPsolveProbingLP(), etc available.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_631startProbing = {"startProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_631startProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_630startProbing};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_631startProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("startProbing (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("startProbing", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("startProbing", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_630startProbing(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_630startProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("startProbing", 0);

  /* "src/pyscipopt/scip.pxi":10224
 *            SCIPchgVarUbProbing(), SCIPfixVarProbing(), SCIPpropagateProbing(), SCIPsolveProbingLP(), etc available.
 *         """
 *         PY_SCIP_CALL( SCIPstartProbing(self._scip) )             # <<<<<<<<<<<<<<
 * 
 *     def endProbing(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPstartProbing(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10224, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10220
 * 
 *     # Probing methods (Probing is tree based)
 *     def startProbing(self):             # <<<<<<<<<<<<<<
 *         """Initiates probing, making methods SCIPnewProbingNode(), SCIPbacktrackProbing(), SCIPchgVarLbProbing(),
 *            SCIPchgVarUbProbing(), SCIPfixVarProbing(), SCIPpropagateProbing(), SCIPsolveProbingLP(), etc available.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.startProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10226
 *         PY_SCIP_CALL( SCIPstartProbing(self._scip) )
 * 
 *     def endProbing(self):             # <<<<<<<<<<<<<<
 *         """Quits probing and resets bounds and constraints to the focus node's environment."""
 *         PY_SCIP_CALL( SCIPendProbing(self._scip) )
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_633endProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_632endProbing, "Quits probing and resets bounds and constraints to the focus node's environment.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_633endProbing = {"endProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_633endProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_632endProbing};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_633endProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("endProbing (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("endProbing", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("endProbing", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_632endProbing(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_632endProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("endProbing", 0);

  /* "src/pyscipopt/scip.pxi":10228
 *     def endProbing(self):
 *         """Quits probing and resets bounds and constraints to the focus node's environment."""
 *         PY_SCIP_CALL( SCIPendProbing(self._scip) )             # <<<<<<<<<<<<<<
 * 
 *     def newProbingNode(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPendProbing(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10228, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10226
 *         PY_SCIP_CALL( SCIPstartProbing(self._scip) )
 * 
 *     def endProbing(self):             # <<<<<<<<<<<<<<
 *         """Quits probing and resets bounds and constraints to the focus node's environment."""
 *         PY_SCIP_CALL( SCIPendProbing(self._scip) )
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.endProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10230
 *         PY_SCIP_CALL( SCIPendProbing(self._scip) )
 * 
 *     def newProbingNode(self):             # <<<<<<<<<<<<<<
 *         """Creates a new probing sub node, whose changes can be undone by backtracking to a higher node in the
 *         probing path with a call to backtrackProbing().
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_635newProbingNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_634newProbingNode, "Creates a new probing sub node, whose changes can be undone by backtracking to a higher node in the\n        probing path with a call to backtrackProbing().\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_635newProbingNode = {"newProbingNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_635newProbingNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_634newProbingNode};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_635newProbingNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("newProbingNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("newProbingNode", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("newProbingNode", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_634newProbingNode(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_634newProbingNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("newProbingNode", 0);

  /* "src/pyscipopt/scip.pxi":10234
 *         probing path with a call to backtrackProbing().
 *         """
 *         PY_SCIP_CALL( SCIPnewProbingNode(self._scip) )             # <<<<<<<<<<<<<<
 * 
 *     def backtrackProbing(self, probingdepth):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPnewProbingNode(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10234, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10230
 *         PY_SCIP_CALL( SCIPendProbing(self._scip) )
 * 
 *     def newProbingNode(self):             # <<<<<<<<<<<<<<
 *         """Creates a new probing sub node, whose changes can be undone by backtracking to a higher node in the
 *         probing path with a call to backtrackProbing().
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.newProbingNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10236
 *         PY_SCIP_CALL( SCIPnewProbingNode(self._scip) )
 * 
 *     def backtrackProbing(self, probingdepth):             # <<<<<<<<<<<<<<
 *         """
 *         Undoes all changes to the problem applied in probing up to the given probing depth.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_637backtrackProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_636backtrackProbing, "\n        Undoes all changes to the problem applied in probing up to the given probing depth.\n\n        Parameters\n        ----------\n        probingdepth : int\n            probing depth of the node in the probing path that should be reactivated\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_637backtrackProbing = {"backtrackProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_637backtrackProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_636backtrackProbing};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_637backtrackProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_probingdepth = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("backtrackProbing (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_probingdepth,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10236, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10236, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "backtrackProbing", 0) < (0)) __PYX_ERR(2, 10236, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("backtrackProbing", 1, 1, 1, i); __PYX_ERR(2, 10236, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10236, __pyx_L3_error)
    }
    __pyx_v_probingdepth = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("backtrackProbing", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 10236, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.backtrackProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_636backtrackProbing(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_probingdepth);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_636backtrackProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_probingdepth) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("backtrackProbing", 0);

  /* "src/pyscipopt/scip.pxi":10246
 * 
 *         """
 *         PY_SCIP_CALL( SCIPbacktrackProbing(self._scip, probingdepth) )             # <<<<<<<<<<<<<<
 * 
 *     def getProbingDepth(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_v_probingdepth); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 10246, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPbacktrackProbing(__pyx_v_self->_scip, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10246, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10236
 *         PY_SCIP_CALL( SCIPnewProbingNode(self._scip) )
 * 
 *     def backtrackProbing(self, probingdepth):             # <<<<<<<<<<<<<<
 *         """
 *         Undoes all changes to the problem applied in probing up to the given probing depth.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.backtrackProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10248
 *         PY_SCIP_CALL( SCIPbacktrackProbing(self._scip, probingdepth) )
 * 
 *     def getProbingDepth(self):             # <<<<<<<<<<<<<<
 *         """Returns the current probing depth."""
 *         return SCIPgetProbingDepth(self._scip)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_639getProbingDepth(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_638getProbingDepth, "Returns the current probing depth.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_639getProbingDepth = {"getProbingDepth", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_639getProbingDepth, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_638getProbingDepth};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_639getProbingDepth(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getProbingDepth (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getProbingDepth", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getProbingDepth", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_638getProbingDepth(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_638getProbingDepth(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getProbingDepth", 0);

  /* "src/pyscipopt/scip.pxi":10250
 *     def getProbingDepth(self):
 *         """Returns the current probing depth."""
 *         return SCIPgetProbingDepth(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def chgVarObjProbing(self, Variable var, newobj):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetProbingDepth(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10248
 *         PY_SCIP_CALL( SCIPbacktrackProbing(self._scip, probingdepth) )
 * 
 *     def getProbingDepth(self):             # <<<<<<<<<<<<<<
 *         """Returns the current probing depth."""
 *         return SCIPgetProbingDepth(self._scip)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getProbingDepth", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10252
 *         return SCIPgetProbingDepth(self._scip)
 * 
 *     def chgVarObjProbing(self, Variable var, newobj):             # <<<<<<<<<<<<<<
 *         """Changes (column) variable's objective value during probing mode."""
 *         PY_SCIP_CALL( SCIPchgVarObjProbing(self._scip, var.scip_var, newobj) )
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_641chgVarObjProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_640chgVarObjProbing, "Changes (column) variable's objective value during probing mode.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_641chgVarObjProbing = {"chgVarObjProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_641chgVarObjProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_640chgVarObjProbing};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_641chgVarObjProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_newobj = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarObjProbing (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_newobj,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10252, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10252, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10252, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarObjProbing", 0) < (0)) __PYX_ERR(2, 10252, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarObjProbing", 1, 2, 2, i); __PYX_ERR(2, 10252, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10252, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10252, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_newobj = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarObjProbing", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 10252, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarObjProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 10252, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_640chgVarObjProbing(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_newobj);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_640chgVarObjProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_newobj) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarObjProbing", 0);

  /* "src/pyscipopt/scip.pxi":10254
 *     def chgVarObjProbing(self, Variable var, newobj):
 *         """Changes (column) variable's objective value during probing mode."""
 *         PY_SCIP_CALL( SCIPchgVarObjProbing(self._scip, var.scip_var, newobj) )             # <<<<<<<<<<<<<<
 * 
 *     def chgVarLbProbing(self, Variable var, lb):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_newobj); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10254, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarObjProbing(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10254, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10252
 *         return SCIPgetProbingDepth(self._scip)
 * 
 *     def chgVarObjProbing(self, Variable var, newobj):             # <<<<<<<<<<<<<<
 *         """Changes (column) variable's objective value during probing mode."""
 *         PY_SCIP_CALL( SCIPchgVarObjProbing(self._scip, var.scip_var, newobj) )
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarObjProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10256
 *         PY_SCIP_CALL( SCIPchgVarObjProbing(self._scip, var.scip_var, newobj) )
 * 
 *     def chgVarLbProbing(self, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """
 *         Changes the variable lower bound during probing mode.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_643chgVarLbProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_642chgVarLbProbing, "\n        Changes the variable lower bound during probing mode.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to change bound of\n        lb : float or None\n            new lower bound (set to None for -infinity)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_643chgVarLbProbing = {"chgVarLbProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_643chgVarLbProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_642chgVarLbProbing};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_643chgVarLbProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_lb = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarLbProbing (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_lb,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10256, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10256, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10256, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarLbProbing", 0) < (0)) __PYX_ERR(2, 10256, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarLbProbing", 1, 2, 2, i); __PYX_ERR(2, 10256, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10256, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10256, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_lb = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarLbProbing", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 10256, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarLbProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 10256, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_642chgVarLbProbing(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_lb);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_642chgVarLbProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_lb) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarLbProbing", 0);
  __Pyx_INCREF(__pyx_v_lb);

  /* "src/pyscipopt/scip.pxi":10268
 * 
 *         """
 *         if lb is None:             # <<<<<<<<<<<<<<
 *            lb = -SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarLbProbing(self._scip, var.scip_var, lb))
*/
  __pyx_t_1 = (__pyx_v_lb == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":10269
 *         """
 *         if lb is None:
 *            lb = -SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPchgVarLbProbing(self._scip, var.scip_var, lb))
 * 
*/
    __pyx_t_2 = PyFloat_FromDouble((-SCIPinfinity(__pyx_v_self->_scip))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10269, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_lb, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":10268
 * 
 *         """
 *         if lb is None:             # <<<<<<<<<<<<<<
 *            lb = -SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarLbProbing(self._scip, var.scip_var, lb))
*/
  }

  /* "src/pyscipopt/scip.pxi":10270
 *         if lb is None:
 *            lb = -SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarLbProbing(self._scip, var.scip_var, lb))             # <<<<<<<<<<<<<<
 * 
 *     def chgVarUbProbing(self, Variable var, ub):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_lb); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10270, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarLbProbing(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 10270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10270, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":10256
 *         PY_SCIP_CALL( SCIPchgVarObjProbing(self._scip, var.scip_var, newobj) )
 * 
 *     def chgVarLbProbing(self, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """
 *         Changes the variable lower bound during probing mode.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarLbProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_lb);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10272
 *         PY_SCIP_CALL(SCIPchgVarLbProbing(self._scip, var.scip_var, lb))
 * 
 *     def chgVarUbProbing(self, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """
 *         Changes the variable upper bound during probing mode.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_645chgVarUbProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_644chgVarUbProbing, "\n        Changes the variable upper bound during probing mode.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to change bound of\n        ub : float or None\n            new upper bound (set to None for +infinity)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_645chgVarUbProbing = {"chgVarUbProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_645chgVarUbProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_644chgVarUbProbing};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_645chgVarUbProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_ub = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarUbProbing (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_ub,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10272, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10272, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10272, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarUbProbing", 0) < (0)) __PYX_ERR(2, 10272, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarUbProbing", 1, 2, 2, i); __PYX_ERR(2, 10272, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10272, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10272, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_ub = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarUbProbing", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 10272, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarUbProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 10272, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_644chgVarUbProbing(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_ub);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_644chgVarUbProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_ub) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarUbProbing", 0);
  __Pyx_INCREF(__pyx_v_ub);

  /* "src/pyscipopt/scip.pxi":10284
 * 
 *         """
 *         if ub is None:             # <<<<<<<<<<<<<<
 *            ub = SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarUbProbing(self._scip, var.scip_var, ub))
*/
  __pyx_t_1 = (__pyx_v_ub == Py_None);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":10285
 *         """
 *         if ub is None:
 *            ub = SCIPinfinity(self._scip)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPchgVarUbProbing(self._scip, var.scip_var, ub))
 * 
*/
    __pyx_t_2 = PyFloat_FromDouble(SCIPinfinity(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10285, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF_SET(__pyx_v_ub, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":10284
 * 
 *         """
 *         if ub is None:             # <<<<<<<<<<<<<<
 *            ub = SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarUbProbing(self._scip, var.scip_var, ub))
*/
  }

  /* "src/pyscipopt/scip.pxi":10286
 *         if ub is None:
 *            ub = SCIPinfinity(self._scip)
 *         PY_SCIP_CALL(SCIPchgVarUbProbing(self._scip, var.scip_var, ub))             # <<<<<<<<<<<<<<
 * 
 *     def fixVarProbing(self, Variable var, fixedval):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_ub); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10286, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarUbProbing(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 10286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":10272
 *         PY_SCIP_CALL(SCIPchgVarLbProbing(self._scip, var.scip_var, lb))
 * 
 *     def chgVarUbProbing(self, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """
 *         Changes the variable upper bound during probing mode.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarUbProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ub);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10288
 *         PY_SCIP_CALL(SCIPchgVarUbProbing(self._scip, var.scip_var, ub))
 * 
 *     def fixVarProbing(self, Variable var, fixedval):             # <<<<<<<<<<<<<<
 *         """
 *         Fixes a variable at the current probing node.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_647fixVarProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_646fixVarProbing, "\n        Fixes a variable at the current probing node.\n\n        Parameters\n        ----------\n        var : Variable\n        fixedval : float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_647fixVarProbing = {"fixVarProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_647fixVarProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_646fixVarProbing};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_647fixVarProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_fixedval = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("fixVarProbing (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_fixedval,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10288, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10288, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10288, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "fixVarProbing", 0) < (0)) __PYX_ERR(2, 10288, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("fixVarProbing", 1, 2, 2, i); __PYX_ERR(2, 10288, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10288, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10288, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_fixedval = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("fixVarProbing", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 10288, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.fixVarProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 10288, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_646fixVarProbing(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_fixedval);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_646fixVarProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_fixedval) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("fixVarProbing", 0);

  /* "src/pyscipopt/scip.pxi":10298
 * 
 *         """
 *         PY_SCIP_CALL( SCIPfixVarProbing(self._scip, var.scip_var, fixedval) )             # <<<<<<<<<<<<<<
 * 
 *     def isObjChangedProbing(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_fixedval); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10298, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPfixVarProbing(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10298, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10298, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10288
 *         PY_SCIP_CALL(SCIPchgVarUbProbing(self._scip, var.scip_var, ub))
 * 
 *     def fixVarProbing(self, Variable var, fixedval):             # <<<<<<<<<<<<<<
 *         """
 *         Fixes a variable at the current probing node.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.fixVarProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10300
 *         PY_SCIP_CALL( SCIPfixVarProbing(self._scip, var.scip_var, fixedval) )
 * 
 *     def isObjChangedProbing(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the objective function has changed during probing mode.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_649isObjChangedProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_648isObjChangedProbing, "\n        Returns whether the objective function has changed during probing mode.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_649isObjChangedProbing = {"isObjChangedProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_649isObjChangedProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_648isObjChangedProbing};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_649isObjChangedProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isObjChangedProbing (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isObjChangedProbing", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isObjChangedProbing", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_648isObjChangedProbing(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_648isObjChangedProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isObjChangedProbing", 0);

  /* "src/pyscipopt/scip.pxi":10309
 * 
 *         """
 *         return SCIPisObjChangedProbing(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def inProbing(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPisObjChangedProbing(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10300
 *         PY_SCIP_CALL( SCIPfixVarProbing(self._scip, var.scip_var, fixedval) )
 * 
 *     def isObjChangedProbing(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the objective function has changed during probing mode.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isObjChangedProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10311
 *         return SCIPisObjChangedProbing(self._scip)
 * 
 *     def inProbing(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether we are in probing mode;
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_651inProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_650inProbing, "\n        Returns whether we are in probing mode;\n        probing mode is activated via startProbing() and stopped via endProbing().\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_651inProbing = {"inProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_651inProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_650inProbing};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_651inProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("inProbing (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("inProbing", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("inProbing", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_650inProbing(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_650inProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("inProbing", 0);

  /* "src/pyscipopt/scip.pxi":10321
 * 
 *         """
 *         return SCIPinProbing(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def solveProbingLP(self, itlim = -1):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPinProbing(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10321, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10311
 *         return SCIPisObjChangedProbing(self._scip)
 * 
 *     def inProbing(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether we are in probing mode;
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.inProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10323
 *         return SCIPinProbing(self._scip)
 * 
 *     def solveProbingLP(self, itlim = -1):             # <<<<<<<<<<<<<<
 *         """
 *         Solves the LP at the current probing node (cannot be applied at preprocessing stage)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_653solveProbingLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_652solveProbingLP, "\n        Solves the LP at the current probing node (cannot be applied at preprocessing stage)\n        no separation or pricing is applied.\n\n        Parameters\n        ----------\n        itlim : int\n            maximal number of LP iterations to perform (Default value = -1, that is, no limit)\n\n        Returns\n        -------\n        lperror : bool\n            if an unresolved lp error occured\n        cutoff : bool\n            whether the LP was infeasible or the objective limit was reached\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_653solveProbingLP = {"solveProbingLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_653solveProbingLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_652solveProbingLP};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_653solveProbingLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_itlim = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("solveProbingLP (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_itlim,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10323, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10323, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "solveProbingLP", 0) < (0)) __PYX_ERR(2, 10323, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10323, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_int_neg_1));
    }
    __pyx_v_itlim = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("solveProbingLP", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 10323, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.solveProbingLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_652solveProbingLP(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_itlim);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_652solveProbingLP(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_itlim) {
  SCIP_Bool __pyx_v_lperror;
  SCIP_Bool __pyx_v_cutoff;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("solveProbingLP", 0);

  /* "src/pyscipopt/scip.pxi":10344
 *         cdef SCIP_Bool cutoff
 * 
 *         PY_SCIP_CALL( SCIPsolveProbingLP(self._scip, itlim, &lperror, &cutoff) )             # <<<<<<<<<<<<<<
 *         return lperror, cutoff
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_v_itlim); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 10344, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsolveProbingLP(__pyx_v_self->_scip, __pyx_t_4, (&__pyx_v_lperror), (&__pyx_v_cutoff))); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10344, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10345
 * 
 *         PY_SCIP_CALL( SCIPsolveProbingLP(self._scip, itlim, &lperror, &cutoff) )
 *         return lperror, cutoff             # <<<<<<<<<<<<<<
 * 
 *     def applyCutsProbing(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_lperror); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_cutoff); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10345, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 10345, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 10345, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10323
 *         return SCIPinProbing(self._scip)
 * 
 *     def solveProbingLP(self, itlim = -1):             # <<<<<<<<<<<<<<
 *         """
 *         Solves the LP at the current probing node (cannot be applied at preprocessing stage)
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.solveProbingLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10347
 *         return lperror, cutoff
 * 
 *     def applyCutsProbing(self):             # <<<<<<<<<<<<<<
 *         """
 *         Applies the cuts in the separation storage to the LP and clears the storage afterwards;
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_655applyCutsProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_654applyCutsProbing, "\n        Applies the cuts in the separation storage to the LP and clears the storage afterwards;\n        this method can only be applied during probing; the user should resolve the probing LP afterwards\n        in order to get a new solution.\n        returns:\n\n        Returns\n        -------\n        cutoff : bool\n            whether an empty domain was created\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_655applyCutsProbing = {"applyCutsProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_655applyCutsProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_654applyCutsProbing};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_655applyCutsProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("applyCutsProbing (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("applyCutsProbing", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("applyCutsProbing", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_654applyCutsProbing(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_654applyCutsProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_Bool __pyx_v_cutoff;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("applyCutsProbing", 0);

  /* "src/pyscipopt/scip.pxi":10362
 *         cdef SCIP_Bool cutoff
 * 
 *         PY_SCIP_CALL( SCIPapplyCutsProbing(self._scip, &cutoff) )             # <<<<<<<<<<<<<<
 *         return cutoff
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPapplyCutsProbing(__pyx_v_self->_scip, (&__pyx_v_cutoff))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10362, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10363
 * 
 *         PY_SCIP_CALL( SCIPapplyCutsProbing(self._scip, &cutoff) )
 *         return cutoff             # <<<<<<<<<<<<<<
 * 
 *     def propagateProbing(self, maxproprounds):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_cutoff); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10347
 *         return lperror, cutoff
 * 
 *     def applyCutsProbing(self):             # <<<<<<<<<<<<<<
 *         """
 *         Applies the cuts in the separation storage to the LP and clears the storage afterwards;
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.applyCutsProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10365
 *         return cutoff
 * 
 *     def propagateProbing(self, maxproprounds):             # <<<<<<<<<<<<<<
 *         """
 *         Applies domain propagation on the probing sub problem, that was changed after SCIPstartProbing() was called;
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_657propagateProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_656propagateProbing, "\n        Applies domain propagation on the probing sub problem, that was changed after SCIPstartProbing() was called;\n        the propagated domains of the variables can be accessed with the usual bound accessing calls SCIPvarGetLbLocal()\n        and SCIPvarGetUbLocal(); the propagation is only valid locally, i.e. the local bounds as well as the changed\n        bounds due to SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), and SCIPfixVarProbing() are used for propagation.\n\n        Parameters\n        ----------\n        maxproprounds : int\n            maximal number of propagation rounds (Default value = -1, that is, no limit)\n\n        Returns\n        -------\n        cutoff : bool\n            whether the probing node can be cutoff\n        ndomredsfound : int\n            number of domain reductions found\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_657propagateProbing = {"propagateProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_657propagateProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_656propagateProbing};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_657propagateProbing(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_maxproprounds = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("propagateProbing (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_maxproprounds,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10365, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10365, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "propagateProbing", 0) < (0)) __PYX_ERR(2, 10365, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("propagateProbing", 1, 1, 1, i); __PYX_ERR(2, 10365, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10365, __pyx_L3_error)
    }
    __pyx_v_maxproprounds = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("propagateProbing", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 10365, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.propagateProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_656propagateProbing(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_maxproprounds);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_656propagateProbing(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_maxproprounds) {
  SCIP_Bool __pyx_v_cutoff;
  SCIP_Longint __pyx_v_ndomredsfound;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("propagateProbing", 0);

  /* "src/pyscipopt/scip.pxi":10388
 *         cdef SCIP_Longint ndomredsfound
 * 
 *         PY_SCIP_CALL( SCIPpropagateProbing(self._scip, maxproprounds, &cutoff, &ndomredsfound) )             # <<<<<<<<<<<<<<
 *         return cutoff, ndomredsfound
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_v_maxproprounds); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 10388, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPpropagateProbing(__pyx_v_self->_scip, __pyx_t_4, (&__pyx_v_cutoff), (&__pyx_v_ndomredsfound))); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10388, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10388, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10389
 * 
 *         PY_SCIP_CALL( SCIPpropagateProbing(self._scip, maxproprounds, &cutoff, &ndomredsfound) )
 *         return cutoff, ndomredsfound             # <<<<<<<<<<<<<<
 * 
 *     def interruptSolve(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_v_cutoff); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_PyLong_From_SCIP_Longint(__pyx_v_ndomredsfound); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 10389, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 10389, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_r = __pyx_t_5;
  __pyx_t_5 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10365
 *         return cutoff
 * 
 *     def propagateProbing(self, maxproprounds):             # <<<<<<<<<<<<<<
 *         """
 *         Applies domain propagation on the probing sub problem, that was changed after SCIPstartProbing() was called;
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.propagateProbing", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10391
 *         return cutoff, ndomredsfound
 * 
 *     def interruptSolve(self):             # <<<<<<<<<<<<<<
 *         """Interrupt the solving process as soon as possible."""
 *         PY_SCIP_CALL(SCIPinterruptSolve(self._scip))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_659interruptSolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_658interruptSolve, "Interrupt the solving process as soon as possible.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_659interruptSolve = {"interruptSolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_659interruptSolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_658interruptSolve};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_659interruptSolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("interruptSolve (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("interruptSolve", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("interruptSolve", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_658interruptSolve(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_658interruptSolve(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("interruptSolve", 0);

  /* "src/pyscipopt/scip.pxi":10393
 *     def interruptSolve(self):
 *         """Interrupt the solving process as soon as possible."""
 *         PY_SCIP_CALL(SCIPinterruptSolve(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def restartSolve(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPinterruptSolve(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10391
 *         return cutoff, ndomredsfound
 * 
 *     def interruptSolve(self):             # <<<<<<<<<<<<<<
 *         """Interrupt the solving process as soon as possible."""
 *         PY_SCIP_CALL(SCIPinterruptSolve(self._scip))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.interruptSolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10395
 *         PY_SCIP_CALL(SCIPinterruptSolve(self._scip))
 * 
 *     def restartSolve(self):             # <<<<<<<<<<<<<<
 *         """Restarts the solving process as soon as possible."""
 *         PY_SCIP_CALL(SCIPrestartSolve(self._scip))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_661restartSolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_660restartSolve, "Restarts the solving process as soon as possible.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_661restartSolve = {"restartSolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_661restartSolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_660restartSolve};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_661restartSolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("restartSolve (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("restartSolve", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("restartSolve", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_660restartSolve(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_660restartSolve(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("restartSolve", 0);

  /* "src/pyscipopt/scip.pxi":10397
 *     def restartSolve(self):
 *         """Restarts the solving process as soon as possible."""
 *         PY_SCIP_CALL(SCIPrestartSolve(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     # Solution functions
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPrestartSolve(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10397, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10397, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10395
 *         PY_SCIP_CALL(SCIPinterruptSolve(self._scip))
 * 
 *     def restartSolve(self):             # <<<<<<<<<<<<<<
 *         """Restarts the solving process as soon as possible."""
 *         PY_SCIP_CALL(SCIPrestartSolve(self._scip))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.restartSolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10401
 *     # Solution functions
 * 
 *     def writeLP(self, filename="LP.lp"):             # <<<<<<<<<<<<<<
 *         """
 *         Writes current LP to a file.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_663writeLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_662writeLP, "\n        Writes current LP to a file.\n\n        Parameters\n        ----------\n        filename : str, optional\n            file name (Default value = \"LP.lp\")\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_663writeLP = {"writeLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_663writeLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_662writeLP};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_663writeLP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeLP (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10401, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10401, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "writeLP", 0) < (0)) __PYX_ERR(2, 10401, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_LP_lp));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10401, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_LP_lp));
    }
    __pyx_v_filename = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeLP", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 10401, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_662writeLP(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_filename);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_662writeLP(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_absfile = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  char const *__pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("writeLP", 0);

  /* "src/pyscipopt/scip.pxi":10411
 * 
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 10411, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10411, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10412
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         absfile = str_conversion(abspath(filename))
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10412, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10412, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10414
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         absfile = str_conversion(abspath(filename))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL( SCIPwriteLP(self._scip, absfile) )
 * 
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_abspath); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10414, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_filename};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10414, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_absfile = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10415
 * 
 *         absfile = str_conversion(abspath(filename))
 *         PY_SCIP_CALL( SCIPwriteLP(self._scip, absfile) )             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_v_absfile); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(2, 10415, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPwriteLP(__pyx_v_self->_scip, __pyx_t_8)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10415, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10415, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10417
 *         PY_SCIP_CALL( SCIPwriteLP(self._scip, absfile) )
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def writeMIP(self, filename, genericnames=False, origobj=False, lazyconss=False):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_7, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10417, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10401
 *     # Solution functions
 * 
 *     def writeLP(self, filename="LP.lp"):             # <<<<<<<<<<<<<<
 *         """
 *         Writes current LP to a file.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeLP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_absfile);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10419
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeMIP(self, filename, genericnames=False, origobj=False, lazyconss=False):             # <<<<<<<<<<<<<<
 *         """
 *         Writes MIP relaxation of the current branch-and-bound node to a file
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_665writeMIP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_664writeMIP, "\n        Writes MIP relaxation of the current branch-and-bound node to a file\n\n        Parameters\n        ----------\n        filename : str\n            name of the output file\n        genericnames : bool, optional\n            should generic names like x_i and row_j be used in order to avoid troubles with reserved symbols? (Default value = False)\n        origobj : bool, optional\n            should the original objective function be used (Default value = False)\n        lazyconss : bool, optional\n            output removable rows as lazy constraints? (Default value = False)\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_665writeMIP = {"writeMIP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_665writeMIP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_664writeMIP};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_665writeMIP(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  PyObject *__pyx_v_genericnames = 0;
  PyObject *__pyx_v_origobj = 0;
  PyObject *__pyx_v_lazyconss = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeMIP (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,&__pyx_mstate_global->__pyx_n_u_genericnames,&__pyx_mstate_global->__pyx_n_u_origobj,&__pyx_mstate_global->__pyx_n_u_lazyconss,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10419, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 10419, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10419, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10419, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10419, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "writeMIP", 0) < (0)) __PYX_ERR(2, 10419, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("writeMIP", 0, 1, 4, i); __PYX_ERR(2, 10419, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 10419, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10419, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10419, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10419, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_filename = values[0];
    __pyx_v_genericnames = values[1];
    __pyx_v_origobj = values[2];
    __pyx_v_lazyconss = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeMIP", 0, 1, 4, __pyx_nargs); __PYX_ERR(2, 10419, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeMIP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_664writeMIP(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_filename, __pyx_v_genericnames, __pyx_v_origobj, __pyx_v_lazyconss);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_664writeMIP(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_genericnames, PyObject *__pyx_v_origobj, PyObject *__pyx_v_lazyconss) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_absfile = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  char const *__pyx_t_8;
  SCIP_Bool __pyx_t_9;
  SCIP_Bool __pyx_t_10;
  SCIP_Bool __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("writeMIP", 0);

  /* "src/pyscipopt/scip.pxi":10434
 *             output removable rows as lazy constraints? (Default value = False)
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10434, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 10434, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10434, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10435
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         absfile = str_conversion(abspath(filename))
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10435, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10435, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10437
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         absfile = str_conversion(abspath(filename))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPwriteMIP(self._scip, absfile, genericnames, origobj, lazyconss))
 * 
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_abspath); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_filename};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_absfile = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10438
 * 
 *         absfile = str_conversion(abspath(filename))
 *         PY_SCIP_CALL(SCIPwriteMIP(self._scip, absfile, genericnames, origobj, lazyconss))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_v_absfile); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(2, 10438, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_genericnames); if (unlikely((__pyx_t_9 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10438, __pyx_L1_error)
  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_origobj); if (unlikely((__pyx_t_10 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10438, __pyx_L1_error)
  __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_lazyconss); if (unlikely((__pyx_t_11 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10438, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPwriteMIP(__pyx_v_self->_scip, __pyx_t_8, __pyx_t_9, __pyx_t_10, __pyx_t_11)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10440
 *         PY_SCIP_CALL(SCIPwriteMIP(self._scip, absfile, genericnames, origobj, lazyconss))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def createSol(self, Heur heur = None, initlp=False):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_7, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10440, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10419
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeMIP(self, filename, genericnames=False, origobj=False, lazyconss=False):             # <<<<<<<<<<<<<<
 *         """
 *         Writes MIP relaxation of the current branch-and-bound node to a file
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeMIP", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_absfile);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10442
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def createSol(self, Heur heur = None, initlp=False):             # <<<<<<<<<<<<<<
 *         """
 *         Create a new primal solution in the transformed space.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_667createSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_666createSol, "\n        Create a new primal solution in the transformed space.\n\n        Parameters\n        ----------\n        heur : Heur or None, optional\n            heuristic that found the solution (Default value = None)\n        initlp : bool, optional\n            Should the created solution be initialised to the current LP solution instead of all zeros\n\n        Returns\n        -------\n        Solution\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_667createSol = {"createSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_667createSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_666createSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_667createSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_heur = 0;
  PyObject *__pyx_v_initlp = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("createSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_heur,&__pyx_mstate_global->__pyx_n_u_initlp,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10442, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10442, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10442, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "createSol", 0) < (0)) __PYX_ERR(2, 10442, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Heur *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10442, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10442, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Heur *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_heur = ((struct __pyx_obj_9pyscipopt_4scip_Heur *)values[0]);
    __pyx_v_initlp = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("createSol", 0, 0, 2, __pyx_nargs); __PYX_ERR(2, 10442, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.createSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_heur), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur, 1, "heur", 0))) __PYX_ERR(2, 10442, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_666createSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_heur, __pyx_v_initlp);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_666createSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_heur, PyObject *__pyx_v_initlp) {
  SCIP_HEUR *__pyx_v__heur;
  SCIP_SOL *__pyx_v__sol;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_solution = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  char const *__pyx_t_6;
  int __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("createSol", 0);

  /* "src/pyscipopt/scip.pxi":10461
 *         cdef SCIP_SOL* _sol
 * 
 *         if isinstance(heur, Heur):             # <<<<<<<<<<<<<<
 *             n = str_conversion(heur.name)
 *             _heur = SCIPfindHeur(self._scip, n)
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_heur), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur); 
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":10462
 * 
 *         if isinstance(heur, Heur):
 *             n = str_conversion(heur.name)             # <<<<<<<<<<<<<<
 *             _heur = SCIPfindHeur(self._scip, n)
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10462, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_heur->name};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10462, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_n = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":10463
 *         if isinstance(heur, Heur):
 *             n = str_conversion(heur.name)
 *             _heur = SCIPfindHeur(self._scip, n)             # <<<<<<<<<<<<<<
 *         else:
 *             _heur = NULL
*/
    __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 10463, __pyx_L1_error)
    __pyx_v__heur = SCIPfindHeur(__pyx_v_self->_scip, __pyx_t_6);

    /* "src/pyscipopt/scip.pxi":10461
 *         cdef SCIP_SOL* _sol
 * 
 *         if isinstance(heur, Heur):             # <<<<<<<<<<<<<<
 *             n = str_conversion(heur.name)
 *             _heur = SCIPfindHeur(self._scip, n)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":10465
 *             _heur = SCIPfindHeur(self._scip, n)
 *         else:
 *             _heur = NULL             # <<<<<<<<<<<<<<
 *         if not initlp:
 *             PY_SCIP_CALL(SCIPcreateSol(self._scip, &_sol, _heur))
*/
  /*else*/ {
    __pyx_v__heur = NULL;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":10466
 *         else:
 *             _heur = NULL
 *         if not initlp:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPcreateSol(self._scip, &_sol, _heur))
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_initlp); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 10466, __pyx_L1_error)
  __pyx_t_7 = (!__pyx_t_1);
  if (__pyx_t_7) {

    /* "src/pyscipopt/scip.pxi":10467
 *             _heur = NULL
 *         if not initlp:
 *             PY_SCIP_CALL(SCIPcreateSol(self._scip, &_sol, _heur))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPcreateLPSol(self._scip, &_sol, _heur))
*/
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateSol(__pyx_v_self->_scip, (&__pyx_v__sol), __pyx_v__heur)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 10467, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_8};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10467, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":10466
 *         else:
 *             _heur = NULL
 *         if not initlp:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPcreateSol(self._scip, &_sol, _heur))
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":10469
 *             PY_SCIP_CALL(SCIPcreateSol(self._scip, &_sol, _heur))
 *         else:
 *             PY_SCIP_CALL(SCIPcreateLPSol(self._scip, &_sol, _heur))             # <<<<<<<<<<<<<<
 *         solution = Solution.create(self._scip, _sol)
 *         return solution
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 10469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateLPSol(__pyx_v_self->_scip, (&__pyx_v__sol), __pyx_v__heur)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10469, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10469, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":10470
 *         else:
 *             PY_SCIP_CALL(SCIPcreateLPSol(self._scip, &_sol, _heur))
 *         solution = Solution.create(self._scip, _sol)             # <<<<<<<<<<<<<<
 *         return solution
 * 
*/
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_self->_scip, __pyx_v__sol); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_solution = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":10471
 *             PY_SCIP_CALL(SCIPcreateLPSol(self._scip, &_sol, _heur))
 *         solution = Solution.create(self._scip, _sol)
 *         return solution             # <<<<<<<<<<<<<<
 * 
 *     def createPartialSol(self, Heur heur = None):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_solution);
  __pyx_r = __pyx_v_solution;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10442
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def createSol(self, Heur heur = None, initlp=False):             # <<<<<<<<<<<<<<
 *         """
 *         Create a new primal solution in the transformed space.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.createSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_solution);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10473
 *         return solution
 * 
 *     def createPartialSol(self, Heur heur = None):             # <<<<<<<<<<<<<<
 *         """
 *         Create a partial primal solution, initialized to unknown values.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_669createPartialSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_668createPartialSol, "\n        Create a partial primal solution, initialized to unknown values.\n\n        Parameters\n        ----------\n        heur : Heur or None, optional\n            heuristic that found the solution (Default value = None)\n\n        Returns\n        -------\n        Solution\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_669createPartialSol = {"createPartialSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_669createPartialSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_668createPartialSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_669createPartialSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_heur = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("createPartialSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_heur,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10473, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10473, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "createPartialSol", 0) < (0)) __PYX_ERR(2, 10473, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Heur *)Py_None));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10473, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Heur *)Py_None));
    }
    __pyx_v_heur = ((struct __pyx_obj_9pyscipopt_4scip_Heur *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("createPartialSol", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 10473, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.createPartialSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_heur), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur, 1, "heur", 0))) __PYX_ERR(2, 10473, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_668createPartialSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_heur);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_668createPartialSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_heur) {
  SCIP_HEUR *__pyx_v__heur;
  SCIP_SOL *__pyx_v__sol;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_partialsolution = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  char const *__pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("createPartialSol", 0);

  /* "src/pyscipopt/scip.pxi":10490
 *         cdef SCIP_SOL* _sol
 * 
 *         if isinstance(heur, Heur):             # <<<<<<<<<<<<<<
 *             n = str_conversion(heur.name)
 *             _heur = SCIPfindHeur(self._scip, n)
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_heur), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur); 
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":10491
 * 
 *         if isinstance(heur, Heur):
 *             n = str_conversion(heur.name)             # <<<<<<<<<<<<<<
 *             _heur = SCIPfindHeur(self._scip, n)
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10491, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_heur->name};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10491, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_n = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":10492
 *         if isinstance(heur, Heur):
 *             n = str_conversion(heur.name)
 *             _heur = SCIPfindHeur(self._scip, n)             # <<<<<<<<<<<<<<
 *         else:
 *             _heur = NULL
*/
    __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 10492, __pyx_L1_error)
    __pyx_v__heur = SCIPfindHeur(__pyx_v_self->_scip, __pyx_t_6);

    /* "src/pyscipopt/scip.pxi":10490
 *         cdef SCIP_SOL* _sol
 * 
 *         if isinstance(heur, Heur):             # <<<<<<<<<<<<<<
 *             n = str_conversion(heur.name)
 *             _heur = SCIPfindHeur(self._scip, n)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":10494
 *             _heur = SCIPfindHeur(self._scip, n)
 *         else:
 *             _heur = NULL             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPcreatePartialSol(self._scip, &_sol, _heur))
 *         partialsolution = Solution.create(self._scip, _sol)
*/
  /*else*/ {
    __pyx_v__heur = NULL;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":10495
 *         else:
 *             _heur = NULL
 *         PY_SCIP_CALL(SCIPcreatePartialSol(self._scip, &_sol, _heur))             # <<<<<<<<<<<<<<
 *         partialsolution = Solution.create(self._scip, _sol)
 *         return partialsolution
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreatePartialSol(__pyx_v_self->_scip, (&__pyx_v__sol), __pyx_v__heur)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":10496
 *             _heur = NULL
 *         PY_SCIP_CALL(SCIPcreatePartialSol(self._scip, &_sol, _heur))
 *         partialsolution = Solution.create(self._scip, _sol)             # <<<<<<<<<<<<<<
 *         return partialsolution
 * 
*/
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_self->_scip, __pyx_v__sol); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10496, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_partialsolution = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":10497
 *         PY_SCIP_CALL(SCIPcreatePartialSol(self._scip, &_sol, _heur))
 *         partialsolution = Solution.create(self._scip, _sol)
 *         return partialsolution             # <<<<<<<<<<<<<<
 * 
 *     def createOrigSol(self, Heur heur = None):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_partialsolution);
  __pyx_r = __pyx_v_partialsolution;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10473
 *         return solution
 * 
 *     def createPartialSol(self, Heur heur = None):             # <<<<<<<<<<<<<<
 *         """
 *         Create a partial primal solution, initialized to unknown values.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.createPartialSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_partialsolution);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10499
 *         return partialsolution
 * 
 *     def createOrigSol(self, Heur heur = None):             # <<<<<<<<<<<<<<
 *         """
 *         Create a new primal solution in the original space.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_671createOrigSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_670createOrigSol, "\n        Create a new primal solution in the original space.\n\n        Parameters\n        ----------\n        heur : Heur or None, optional\n            heuristic that found the solution (Default value = None)\n\n        Returns\n        -------\n        Solution\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_671createOrigSol = {"createOrigSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_671createOrigSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_670createOrigSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_671createOrigSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_heur = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("createOrigSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_heur,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10499, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10499, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "createOrigSol", 0) < (0)) __PYX_ERR(2, 10499, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Heur *)Py_None));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10499, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Heur *)Py_None));
    }
    __pyx_v_heur = ((struct __pyx_obj_9pyscipopt_4scip_Heur *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("createOrigSol", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 10499, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.createOrigSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_heur), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur, 1, "heur", 0))) __PYX_ERR(2, 10499, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_670createOrigSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_heur);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_670createOrigSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v_heur) {
  SCIP_HEUR *__pyx_v__heur;
  SCIP_SOL *__pyx_v__sol;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_solution = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  char const *__pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("createOrigSol", 0);

  /* "src/pyscipopt/scip.pxi":10516
 *         cdef SCIP_SOL* _sol
 * 
 *         if isinstance(heur, Heur):             # <<<<<<<<<<<<<<
 *             n = str_conversion(heur.name)
 *             _heur = SCIPfindHeur(self._scip, n)
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_heur), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur); 
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":10517
 * 
 *         if isinstance(heur, Heur):
 *             n = str_conversion(heur.name)             # <<<<<<<<<<<<<<
 *             _heur = SCIPfindHeur(self._scip, n)
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_heur->name};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10517, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_n = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":10518
 *         if isinstance(heur, Heur):
 *             n = str_conversion(heur.name)
 *             _heur = SCIPfindHeur(self._scip, n)             # <<<<<<<<<<<<<<
 *         else:
 *             _heur = NULL
*/
    __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 10518, __pyx_L1_error)
    __pyx_v__heur = SCIPfindHeur(__pyx_v_self->_scip, __pyx_t_6);

    /* "src/pyscipopt/scip.pxi":10516
 *         cdef SCIP_SOL* _sol
 * 
 *         if isinstance(heur, Heur):             # <<<<<<<<<<<<<<
 *             n = str_conversion(heur.name)
 *             _heur = SCIPfindHeur(self._scip, n)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":10520
 *             _heur = SCIPfindHeur(self._scip, n)
 *         else:
 *             _heur = NULL             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPcreateOrigSol(self._scip, &_sol, _heur))
*/
  /*else*/ {
    __pyx_v__heur = NULL;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":10522
 *             _heur = NULL
 * 
 *         PY_SCIP_CALL(SCIPcreateOrigSol(self._scip, &_sol, _heur))             # <<<<<<<<<<<<<<
 *         solution = Solution.create(self._scip, _sol)
 *         return solution
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcreateOrigSol(__pyx_v_self->_scip, (&__pyx_v__sol), __pyx_v__heur)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10522, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_7};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10522, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":10523
 * 
 *         PY_SCIP_CALL(SCIPcreateOrigSol(self._scip, &_sol, _heur))
 *         solution = Solution.create(self._scip, _sol)             # <<<<<<<<<<<<<<
 *         return solution
 * 
*/
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_self->_scip, __pyx_v__sol); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10523, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_solution = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":10524
 *         PY_SCIP_CALL(SCIPcreateOrigSol(self._scip, &_sol, _heur))
 *         solution = Solution.create(self._scip, _sol)
 *         return solution             # <<<<<<<<<<<<<<
 * 
 *     def printBestSol(self, write_zeros=False):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_solution);
  __pyx_r = __pyx_v_solution;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10499
 *         return partialsolution
 * 
 *     def createOrigSol(self, Heur heur = None):             # <<<<<<<<<<<<<<
 *         """
 *         Create a new primal solution in the original space.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.createOrigSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_solution);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10526
 *         return solution
 * 
 *     def printBestSol(self, write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Prints the best feasible primal solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_673printBestSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_672printBestSol, "\n        Prints the best feasible primal solution.\n\n        Parameters\n        ----------\n        write_zeros : bool, optional\n            include variables that are set to zero (Default = False)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_673printBestSol = {"printBestSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_673printBestSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_672printBestSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_673printBestSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_write_zeros = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("printBestSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_write_zeros,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10526, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "printBestSol", 0) < (0)) __PYX_ERR(2, 10526, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10526, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_write_zeros = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("printBestSol", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 10526, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.printBestSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_672printBestSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_write_zeros);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_672printBestSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_write_zeros) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  SCIP_Bool __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("printBestSol", 0);

  /* "src/pyscipopt/scip.pxi":10536
 * 
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 10536, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10537
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPprintBestSol(self._scip, NULL, write_zeros))
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10539
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         PY_SCIP_CALL(SCIPprintBestSol(self._scip, NULL, write_zeros))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_write_zeros); if (unlikely((__pyx_t_7 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10539, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintBestSol(__pyx_v_self->_scip, NULL, __pyx_t_7)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10539, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10541
 *         PY_SCIP_CALL(SCIPprintBestSol(self._scip, NULL, write_zeros))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def printSol(self, Solution solution=None, write_zeros=False):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10541, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10526
 *         return solution
 * 
 *     def printBestSol(self, write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Prints the best feasible primal solution.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.printBestSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10543
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def printSol(self, Solution solution=None, write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Print the given primal solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_675printSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_674printSol, "\n        Print the given primal solution.\n\n        Parameters\n        ----------\n        solution : Solution or None, optional\n            solution to print (default = None)\n        write_zeros : bool, optional\n            include variables that are set to zero (Default=False)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_675printSol = {"printSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_675printSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_674printSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_675printSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution = 0;
  PyObject *__pyx_v_write_zeros = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("printSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_write_zeros,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10543, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "printSol", 0) < (0)) __PYX_ERR(2, 10543, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10543, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef((PyObject *)((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_solution = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
    __pyx_v_write_zeros = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("printSol", 0, 0, 2, __pyx_nargs); __PYX_ERR(2, 10543, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.printSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "solution", 0))) __PYX_ERR(2, 10543, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_674printSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_solution, __pyx_v_write_zeros);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_674printSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_write_zeros) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_t_7;
  SCIP_Bool __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("printSol", 0);

  /* "src/pyscipopt/scip.pxi":10556
 *         """
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10556, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 10556, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10556, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10557
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         if solution is None:
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10557, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10557, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10559
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         if solution is None:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPprintSol(self._scip, NULL, NULL, write_zeros))
 *         else:
*/
  __pyx_t_7 = (((PyObject *)__pyx_v_solution) == Py_None);
  if (__pyx_t_7) {

    /* "src/pyscipopt/scip.pxi":10560
 * 
 *         if solution is None:
 *             PY_SCIP_CALL(SCIPprintSol(self._scip, NULL, NULL, write_zeros))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPprintSol(self._scip, solution.sol, NULL, write_zeros))
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_write_zeros); if (unlikely((__pyx_t_8 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10560, __pyx_L1_error)
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintSol(__pyx_v_self->_scip, NULL, NULL, __pyx_t_8)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10560, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10560, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":10559
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         if solution is None:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPprintSol(self._scip, NULL, NULL, write_zeros))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":10562
 *             PY_SCIP_CALL(SCIPprintSol(self._scip, NULL, NULL, write_zeros))
 *         else:
 *             PY_SCIP_CALL(SCIPprintSol(self._scip, solution.sol, NULL, write_zeros))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
  /*else*/ {
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_write_zeros); if (unlikely((__pyx_t_8 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10562, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintSol(__pyx_v_self->_scip, __pyx_v_solution->sol, NULL, __pyx_t_8)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10562, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10562, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":10564
 *             PY_SCIP_CALL(SCIPprintSol(self._scip, solution.sol, NULL, write_zeros))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def writeBestSol(self, filename="origprob.sol", write_zeros=False):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10564, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10564, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10543
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def printSol(self, Solution solution=None, write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Print the given primal solution.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.printSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10566
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeBestSol(self, filename="origprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the best feasible primal solution to a file.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_677writeBestSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_676writeBestSol, "\n        Write the best feasible primal solution to a file.\n\n        Parameters\n        ----------\n        filename : str, optional\n            name of the output file (Default=\"origprob.sol\")\n        write_zeros : bool, optional\n            include variables that are set to zero (Default=False)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_677writeBestSol = {"writeBestSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_677writeBestSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_676writeBestSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_677writeBestSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  PyObject *__pyx_v_write_zeros = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeBestSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,&__pyx_mstate_global->__pyx_n_u_write_zeros,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10566, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "writeBestSol", 0) < (0)) __PYX_ERR(2, 10566, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_origprob_sol));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10566, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_origprob_sol));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_filename = values[0];
    __pyx_v_write_zeros = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeBestSol", 0, 0, 2, __pyx_nargs); __PYX_ERR(2, 10566, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeBestSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_676writeBestSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_filename, __pyx_v_write_zeros);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_676writeBestSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_write_zeros) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_f = NULL;
  FILE *__pyx_v_cfile;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  SCIP_Bool __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("writeBestSol", 0);

  /* "src/pyscipopt/scip.pxi":10579
 *         """
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 10579, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10579, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10580
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         # use this doubled opening pattern to ensure that IOErrors are
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10580, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10584
 *         # use this doubled opening pattern to ensure that IOErrors are
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintBestSol(self._scip, cfile, write_zeros))
*/
  /*with:*/ {
    __pyx_t_5 = NULL;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_filename, __pyx_mstate_global->__pyx_n_u_w};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_open, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10584, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10584, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = NULL;
    __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10584, __pyx_L3_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10584, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_4 = __pyx_t_5;
    __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    /*try:*/ {
      {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        /*try:*/ {
          __pyx_v_f = __pyx_t_4;
          __pyx_t_4 = 0;

          /* "src/pyscipopt/scip.pxi":10585
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:
 *             cfile = fdopen(f.fileno(), "w")             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPprintBestSol(self._scip, cfile, write_zeros))
 * 
*/
          __pyx_t_1 = __pyx_v_f;
          __Pyx_INCREF(__pyx_t_1);
          __pyx_t_6 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
            __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_fileno, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10585, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 10585, __pyx_L7_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_v_cfile = fdopen(__pyx_t_11, __pyx_k_w);

          /* "src/pyscipopt/scip.pxi":10586
 *         with open(filename, "w") as f:
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintBestSol(self._scip, cfile, write_zeros))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
          __pyx_t_1 = NULL;
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10586, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_write_zeros); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10586, __pyx_L7_error)
          __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintBestSol(__pyx_v_self->_scip, __pyx_v_cfile, __pyx_t_12)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10586, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
            assert(__pyx_t_1);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_1);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
            __pyx_t_6 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
            __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10586, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

          /* "src/pyscipopt/scip.pxi":10584
 *         # use this doubled opening pattern to ensure that IOErrors are
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintBestSol(self._scip, cfile, write_zeros))
*/
        }
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L12_try_end;
        __pyx_L7_error:;
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        /*except:*/ {
          __Pyx_AddTraceback("pyscipopt.scip.Model.writeBestSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(2, 10584, __pyx_L9_except_error)
          __Pyx_XGOTREF(__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_5);
          __Pyx_XGOTREF(__pyx_t_2);
          __pyx_t_1 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10584, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_1, NULL);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 10584, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (__pyx_t_14 < (0)) __PYX_ERR(2, 10584, __pyx_L9_except_error)
          __pyx_t_15 = (!__pyx_t_14);
          if (unlikely(__pyx_t_15)) {
            __Pyx_GIVEREF(__pyx_t_4);
            __Pyx_GIVEREF(__pyx_t_5);
            __Pyx_XGIVEREF(__pyx_t_2);
            __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_5, __pyx_t_2);
            __pyx_t_4 = 0;  __pyx_t_5 = 0;  __pyx_t_2 = 0; 
            __PYX_ERR(2, 10584, __pyx_L9_except_error)
          }
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          goto __pyx_L8_exception_handled;
        }
        __pyx_L9_except_error:;
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
        goto __pyx_L1_error;
        __pyx_L8_exception_handled:;
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
        __pyx_L12_try_end:;
      }
    }
    /*finally:*/ {
      /*normal exit:*/{
        if (__pyx_t_7) {
          __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_mstate_global->__pyx_tuple[25], NULL);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10584, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        }
        goto __pyx_L6;
      }
      __pyx_L6:;
    }
    goto __pyx_L16;
    __pyx_L3_error:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L1_error;
    __pyx_L16:;
  }

  /* "src/pyscipopt/scip.pxi":10588
 *             PY_SCIP_CALL(SCIPprintBestSol(self._scip, cfile, write_zeros))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def writeBestTransSol(self, filename="transprob.sol", write_zeros=False):
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10588, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":10566
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeBestSol(self, filename="origprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the best feasible primal solution to a file.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeBestSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_f);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10590
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeBestTransSol(self, filename="transprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the best feasible primal solution for the transformed problem to a file.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_679writeBestTransSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_678writeBestTransSol, "\n        Write the best feasible primal solution for the transformed problem to a file.\n\n        Parameters\n        ----------\n        filename : str, optional\n            name of the output file (Default=\"transprob.sol\")\n        write_zeros : bool, optional\n            include variables that are set to zero (Default=False)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_679writeBestTransSol = {"writeBestTransSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_679writeBestTransSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_678writeBestTransSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_679writeBestTransSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  PyObject *__pyx_v_write_zeros = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeBestTransSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,&__pyx_mstate_global->__pyx_n_u_write_zeros,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10590, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10590, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10590, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "writeBestTransSol", 0) < (0)) __PYX_ERR(2, 10590, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_transprob_sol));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10590, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10590, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_transprob_sol));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_filename = values[0];
    __pyx_v_write_zeros = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeBestTransSol", 0, 0, 2, __pyx_nargs); __PYX_ERR(2, 10590, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeBestTransSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_678writeBestTransSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_filename, __pyx_v_write_zeros);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_678writeBestTransSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_write_zeros) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_f = NULL;
  FILE *__pyx_v_cfile;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  SCIP_Bool __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("writeBestTransSol", 0);

  /* "src/pyscipopt/scip.pxi":10602
 * 
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10602, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 10602, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10602, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10603
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         # use this double opening pattern to ensure that IOErrors are
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10603, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10607
 *         # use this double opening pattern to ensure that IOErrors are
 *         #   triggered early and in python not in C, Cython or SCIP.
 *         with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintBestTransSol(self._scip, cfile, write_zeros))
*/
  /*with:*/ {
    __pyx_t_5 = NULL;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_filename, __pyx_mstate_global->__pyx_n_u_w};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_open, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10607, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10607, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = NULL;
    __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10607, __pyx_L3_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10607, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_4 = __pyx_t_5;
    __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    /*try:*/ {
      {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        /*try:*/ {
          __pyx_v_f = __pyx_t_4;
          __pyx_t_4 = 0;

          /* "src/pyscipopt/scip.pxi":10608
 *         #   triggered early and in python not in C, Cython or SCIP.
 *         with open(filename, "w") as f:
 *             cfile = fdopen(f.fileno(), "w")             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPprintBestTransSol(self._scip, cfile, write_zeros))
 * 
*/
          __pyx_t_1 = __pyx_v_f;
          __Pyx_INCREF(__pyx_t_1);
          __pyx_t_6 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
            __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_fileno, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10608, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 10608, __pyx_L7_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_v_cfile = fdopen(__pyx_t_11, __pyx_k_w);

          /* "src/pyscipopt/scip.pxi":10609
 *         with open(filename, "w") as f:
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintBestTransSol(self._scip, cfile, write_zeros))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
          __pyx_t_1 = NULL;
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10609, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_write_zeros); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10609, __pyx_L7_error)
          __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintBestTransSol(__pyx_v_self->_scip, __pyx_v_cfile, __pyx_t_12)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10609, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
            assert(__pyx_t_1);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_1);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
            __pyx_t_6 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
            __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10609, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

          /* "src/pyscipopt/scip.pxi":10607
 *         # use this double opening pattern to ensure that IOErrors are
 *         #   triggered early and in python not in C, Cython or SCIP.
 *         with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintBestTransSol(self._scip, cfile, write_zeros))
*/
        }
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L12_try_end;
        __pyx_L7_error:;
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        /*except:*/ {
          __Pyx_AddTraceback("pyscipopt.scip.Model.writeBestTransSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(2, 10607, __pyx_L9_except_error)
          __Pyx_XGOTREF(__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_5);
          __Pyx_XGOTREF(__pyx_t_2);
          __pyx_t_1 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10607, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_1, NULL);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 10607, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (__pyx_t_14 < (0)) __PYX_ERR(2, 10607, __pyx_L9_except_error)
          __pyx_t_15 = (!__pyx_t_14);
          if (unlikely(__pyx_t_15)) {
            __Pyx_GIVEREF(__pyx_t_4);
            __Pyx_GIVEREF(__pyx_t_5);
            __Pyx_XGIVEREF(__pyx_t_2);
            __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_5, __pyx_t_2);
            __pyx_t_4 = 0;  __pyx_t_5 = 0;  __pyx_t_2 = 0; 
            __PYX_ERR(2, 10607, __pyx_L9_except_error)
          }
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          goto __pyx_L8_exception_handled;
        }
        __pyx_L9_except_error:;
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
        goto __pyx_L1_error;
        __pyx_L8_exception_handled:;
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
        __pyx_L12_try_end:;
      }
    }
    /*finally:*/ {
      /*normal exit:*/{
        if (__pyx_t_7) {
          __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_mstate_global->__pyx_tuple[25], NULL);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10607, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        }
        goto __pyx_L6;
      }
      __pyx_L6:;
    }
    goto __pyx_L16;
    __pyx_L3_error:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L1_error;
    __pyx_L16:;
  }

  /* "src/pyscipopt/scip.pxi":10611
 *             PY_SCIP_CALL(SCIPprintBestTransSol(self._scip, cfile, write_zeros))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def writeSol(self, Solution solution, filename="origprob.sol", write_zeros=False):
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":10590
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeBestTransSol(self, filename="transprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the best feasible primal solution for the transformed problem to a file.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeBestTransSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_f);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10613
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeSol(self, Solution solution, filename="origprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the given primal solution to a file.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_681writeSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_680writeSol, "\n        Write the given primal solution to a file.\n\n        Parameters\n        ----------\n        solution : Solution\n            solution to write\n        filename : str, optional\n            name of the output file (Default=\"origprob.sol\")\n        write_zeros : bool, optional\n            include variables that are set to zero (Default=False)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_681writeSol = {"writeSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_681writeSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_680writeSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_681writeSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution = 0;
  PyObject *__pyx_v_filename = 0;
  PyObject *__pyx_v_write_zeros = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_filename,&__pyx_mstate_global->__pyx_n_u_write_zeros,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10613, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10613, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10613, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10613, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "writeSol", 0) < (0)) __PYX_ERR(2, 10613, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_origprob_sol));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("writeSol", 0, 1, 3, i); __PYX_ERR(2, 10613, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10613, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10613, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10613, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_origprob_sol));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_solution = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
    __pyx_v_filename = values[1];
    __pyx_v_write_zeros = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeSol", 0, 1, 3, __pyx_nargs); __PYX_ERR(2, 10613, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "solution", 0))) __PYX_ERR(2, 10613, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_680writeSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_solution, __pyx_v_filename, __pyx_v_write_zeros);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_680writeSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_filename, PyObject *__pyx_v_write_zeros) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_f = NULL;
  FILE *__pyx_v_cfile;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  SCIP_Bool __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("writeSol", 0);

  /* "src/pyscipopt/scip.pxi":10627
 * 
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10627, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 10627, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10627, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10628
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         # use this doubled opening pattern to ensure that IOErrors are
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10632
 *         # use this doubled opening pattern to ensure that IOErrors are
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintSol(self._scip, solution.sol, cfile, write_zeros))
*/
  /*with:*/ {
    __pyx_t_5 = NULL;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_filename, __pyx_mstate_global->__pyx_n_u_w};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_open, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10632, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10632, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = NULL;
    __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10632, __pyx_L3_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10632, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_4 = __pyx_t_5;
    __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    /*try:*/ {
      {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        /*try:*/ {
          __pyx_v_f = __pyx_t_4;
          __pyx_t_4 = 0;

          /* "src/pyscipopt/scip.pxi":10633
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:
 *             cfile = fdopen(f.fileno(), "w")             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPprintSol(self._scip, solution.sol, cfile, write_zeros))
 * 
*/
          __pyx_t_1 = __pyx_v_f;
          __Pyx_INCREF(__pyx_t_1);
          __pyx_t_6 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
            __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_fileno, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10633, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 10633, __pyx_L7_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_v_cfile = fdopen(__pyx_t_11, __pyx_k_w);

          /* "src/pyscipopt/scip.pxi":10634
 *         with open(filename, "w") as f:
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintSol(self._scip, solution.sol, cfile, write_zeros))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
          __pyx_t_1 = NULL;
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10634, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_write_zeros); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10634, __pyx_L7_error)
          __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintSol(__pyx_v_self->_scip, __pyx_v_solution->sol, __pyx_v_cfile, __pyx_t_12)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10634, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
            assert(__pyx_t_1);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_1);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
            __pyx_t_6 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
            __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10634, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

          /* "src/pyscipopt/scip.pxi":10632
 *         # use this doubled opening pattern to ensure that IOErrors are
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintSol(self._scip, solution.sol, cfile, write_zeros))
*/
        }
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L12_try_end;
        __pyx_L7_error:;
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        /*except:*/ {
          __Pyx_AddTraceback("pyscipopt.scip.Model.writeSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(2, 10632, __pyx_L9_except_error)
          __Pyx_XGOTREF(__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_5);
          __Pyx_XGOTREF(__pyx_t_2);
          __pyx_t_1 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10632, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_1, NULL);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 10632, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (__pyx_t_14 < (0)) __PYX_ERR(2, 10632, __pyx_L9_except_error)
          __pyx_t_15 = (!__pyx_t_14);
          if (unlikely(__pyx_t_15)) {
            __Pyx_GIVEREF(__pyx_t_4);
            __Pyx_GIVEREF(__pyx_t_5);
            __Pyx_XGIVEREF(__pyx_t_2);
            __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_5, __pyx_t_2);
            __pyx_t_4 = 0;  __pyx_t_5 = 0;  __pyx_t_2 = 0; 
            __PYX_ERR(2, 10632, __pyx_L9_except_error)
          }
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          goto __pyx_L8_exception_handled;
        }
        __pyx_L9_except_error:;
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
        goto __pyx_L1_error;
        __pyx_L8_exception_handled:;
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
        __pyx_L12_try_end:;
      }
    }
    /*finally:*/ {
      /*normal exit:*/{
        if (__pyx_t_7) {
          __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_mstate_global->__pyx_tuple[25], NULL);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10632, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        }
        goto __pyx_L6;
      }
      __pyx_L6:;
    }
    goto __pyx_L16;
    __pyx_L3_error:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L1_error;
    __pyx_L16:;
  }

  /* "src/pyscipopt/scip.pxi":10636
 *             PY_SCIP_CALL(SCIPprintSol(self._scip, solution.sol, cfile, write_zeros))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def writeTransSol(self, Solution solution, filename="transprob.sol", write_zeros=False):
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10636, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":10613
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeSol(self, Solution solution, filename="origprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the given primal solution to a file.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_f);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10638
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeTransSol(self, Solution solution, filename="transprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the given transformed primal solution to a file.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_683writeTransSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_682writeTransSol, "\n        Write the given transformed primal solution to a file.\n\n        Parameters\n        ----------\n        solution : Solution\n            transformed solution to write\n        filename : str, optional\n            name of the output file (Default=\"transprob.sol\")\n        write_zeros : bool, optional\n            include variables that are set to zero (Default=False)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_683writeTransSol = {"writeTransSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_683writeTransSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_682writeTransSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_683writeTransSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution = 0;
  PyObject *__pyx_v_filename = 0;
  PyObject *__pyx_v_write_zeros = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeTransSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_filename,&__pyx_mstate_global->__pyx_n_u_write_zeros,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10638, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10638, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10638, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10638, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "writeTransSol", 0) < (0)) __PYX_ERR(2, 10638, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_transprob_sol));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("writeTransSol", 0, 1, 3, i); __PYX_ERR(2, 10638, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10638, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10638, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10638, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_transprob_sol));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_solution = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
    __pyx_v_filename = values[1];
    __pyx_v_write_zeros = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeTransSol", 0, 1, 3, __pyx_nargs); __PYX_ERR(2, 10638, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeTransSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "solution", 0))) __PYX_ERR(2, 10638, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_682writeTransSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_solution, __pyx_v_filename, __pyx_v_write_zeros);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_682writeTransSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_filename, PyObject *__pyx_v_write_zeros) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_f = NULL;
  FILE *__pyx_v_cfile;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  SCIP_Bool __pyx_t_12;
  PyObject *__pyx_t_13 = NULL;
  int __pyx_t_14;
  int __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("writeTransSol", 0);

  /* "src/pyscipopt/scip.pxi":10652
 * 
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10652, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 10652, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10652, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10653
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         # use this doubled opening pattern to ensure that IOErrors are
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10653, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10657
 *         # use this doubled opening pattern to ensure that IOErrors are
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintTransSol(self._scip, solution.sol, cfile, write_zeros))
*/
  /*with:*/ {
    __pyx_t_5 = NULL;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_filename, __pyx_mstate_global->__pyx_n_u_w};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_open, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10657, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = NULL;
    __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10657, __pyx_L3_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10657, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_4 = __pyx_t_5;
    __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    /*try:*/ {
      {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        /*try:*/ {
          __pyx_v_f = __pyx_t_4;
          __pyx_t_4 = 0;

          /* "src/pyscipopt/scip.pxi":10658
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:
 *             cfile = fdopen(f.fileno(), "w")             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPprintTransSol(self._scip, solution.sol, cfile, write_zeros))
 * 
*/
          __pyx_t_1 = __pyx_v_f;
          __Pyx_INCREF(__pyx_t_1);
          __pyx_t_6 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
            __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_fileno, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10658, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 10658, __pyx_L7_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_v_cfile = fdopen(__pyx_t_11, __pyx_k_w);

          /* "src/pyscipopt/scip.pxi":10659
 *         with open(filename, "w") as f:
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintTransSol(self._scip, solution.sol, cfile, write_zeros))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
          __pyx_t_1 = NULL;
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10659, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_write_zeros); if (unlikely((__pyx_t_12 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10659, __pyx_L7_error)
          __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintTransSol(__pyx_v_self->_scip, __pyx_v_solution->sol, __pyx_v_cfile, __pyx_t_12)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10659, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
            assert(__pyx_t_1);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_1);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
            __pyx_t_6 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
            __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10659, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

          /* "src/pyscipopt/scip.pxi":10657
 *         # use this doubled opening pattern to ensure that IOErrors are
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintTransSol(self._scip, solution.sol, cfile, write_zeros))
*/
        }
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L12_try_end;
        __pyx_L7_error:;
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        /*except:*/ {
          __Pyx_AddTraceback("pyscipopt.scip.Model.writeTransSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(2, 10657, __pyx_L9_except_error)
          __Pyx_XGOTREF(__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_5);
          __Pyx_XGOTREF(__pyx_t_2);
          __pyx_t_1 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10657, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_1, NULL);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 10657, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (__pyx_t_14 < (0)) __PYX_ERR(2, 10657, __pyx_L9_except_error)
          __pyx_t_15 = (!__pyx_t_14);
          if (unlikely(__pyx_t_15)) {
            __Pyx_GIVEREF(__pyx_t_4);
            __Pyx_GIVEREF(__pyx_t_5);
            __Pyx_XGIVEREF(__pyx_t_2);
            __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_5, __pyx_t_2);
            __pyx_t_4 = 0;  __pyx_t_5 = 0;  __pyx_t_2 = 0; 
            __PYX_ERR(2, 10657, __pyx_L9_except_error)
          }
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          goto __pyx_L8_exception_handled;
        }
        __pyx_L9_except_error:;
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
        goto __pyx_L1_error;
        __pyx_L8_exception_handled:;
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
        __pyx_L12_try_end:;
      }
    }
    /*finally:*/ {
      /*normal exit:*/{
        if (__pyx_t_7) {
          __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_mstate_global->__pyx_tuple[25], NULL);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10657, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        }
        goto __pyx_L6;
      }
      __pyx_L6:;
    }
    goto __pyx_L16;
    __pyx_L3_error:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L1_error;
    __pyx_L16:;
  }

  /* "src/pyscipopt/scip.pxi":10661
 *             PY_SCIP_CALL(SCIPprintTransSol(self._scip, solution.sol, cfile, write_zeros))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     # perhaps this should not be included as it implements duplicated functionality
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10661, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":10638
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeTransSol(self, Solution solution, filename="transprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the given transformed primal solution to a file.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeTransSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_f);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10665
 *     # perhaps this should not be included as it implements duplicated functionality
 *     #   (as does it's namesake in SCIP)
 *     def readSol(self, filename):             # <<<<<<<<<<<<<<
 *         """
 *         Reads a given solution file, problem has to be transformed in advance.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_685readSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_684readSol, "\n        Reads a given solution file, problem has to be transformed in advance.\n\n        Parameters\n        ----------\n        filename : str\n            name of the input file\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_685readSol = {"readSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_685readSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_684readSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_685readSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("readSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10665, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10665, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "readSol", 0) < (0)) __PYX_ERR(2, 10665, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("readSol", 1, 1, 1, i); __PYX_ERR(2, 10665, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10665, __pyx_L3_error)
    }
    __pyx_v_filename = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("readSol", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 10665, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.readSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_684readSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_filename);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_684readSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_absfile = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  char const *__pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("readSol", 0);

  /* "src/pyscipopt/scip.pxi":10675
 * 
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 10675, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10675, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10676
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         absfile = str_conversion(abspath(filename))
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10678
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         absfile = str_conversion(abspath(filename))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPreadSol(self._scip, absfile))
 * 
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_abspath); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_filename};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_absfile = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10679
 * 
 *         absfile = str_conversion(abspath(filename))
 *         PY_SCIP_CALL(SCIPreadSol(self._scip, absfile))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_v_absfile); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(2, 10679, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreadSol(__pyx_v_self->_scip, __pyx_t_8)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10679, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10679, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10681
 *         PY_SCIP_CALL(SCIPreadSol(self._scip, absfile))
 * 
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def readSolFile(self, filename):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_7, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10681, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10665
 *     # perhaps this should not be included as it implements duplicated functionality
 *     #   (as does it's namesake in SCIP)
 *     def readSol(self, filename):             # <<<<<<<<<<<<<<
 *         """
 *         Reads a given solution file, problem has to be transformed in advance.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.readSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_absfile);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10683
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)
 * 
 *     def readSolFile(self, filename):             # <<<<<<<<<<<<<<
 *         """
 *         Reads a given solution file.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_687readSolFile(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_686readSolFile, "\n        Reads a given solution file.\n\n        Solution is created but not added to storage/the model.\n        Use 'addSol' OR 'trySol' to add it.\n\n        Parameters\n        ----------\n        filename : str\n            name of the input file\n\n        Returns\n        -------\n        Solution\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_687readSolFile = {"readSolFile", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_687readSolFile, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_686readSolFile};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_687readSolFile(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("readSolFile (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10683, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10683, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "readSolFile", 0) < (0)) __PYX_ERR(2, 10683, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("readSolFile", 1, 1, 1, i); __PYX_ERR(2, 10683, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10683, __pyx_L3_error)
    }
    __pyx_v_filename = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("readSolFile", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 10683, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.readSolFile", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_686readSolFile(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_filename);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_686readSolFile(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename) {
  SCIP_Bool __pyx_v_partial;
  SCIP_Bool __pyx_v_error;
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution = 0;
  PyObject *__pyx_v_str_absfile = NULL;
  PyObject *__pyx_v_absfile = NULL;
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  char const *__pyx_t_7;
  int __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("readSolFile", 0);

  /* "src/pyscipopt/scip.pxi":10705
 *         cdef Solution solution
 * 
 *         str_absfile = abspath(filename)             # <<<<<<<<<<<<<<
 *         absfile = str_conversion(str_absfile)
 *         solution = self.createSol()
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_abspath); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_filename};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10705, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_str_absfile = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10706
 * 
 *         str_absfile = abspath(filename)
 *         absfile = str_conversion(str_absfile)             # <<<<<<<<<<<<<<
 *         solution = self.createSol()
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10706, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_str_absfile};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10706, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_absfile = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10707
 *         str_absfile = abspath(filename)
 *         absfile = str_conversion(str_absfile)
 *         solution = self.createSol()             # <<<<<<<<<<<<<<
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_createSol, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10707, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution))))) __PYX_ERR(2, 10707, __pyx_L1_error)
  __pyx_v_solution = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10709
 *         solution = self.createSol()
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 10709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_6, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 10709, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10709, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10710
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPreadSolFile(self._scip, absfile, solution.sol, False, &partial, &error))
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 10710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10710, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10710, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10712
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         PY_SCIP_CALL(SCIPreadSolFile(self._scip, absfile, solution.sol, False, &partial, &error))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)
*/
  __pyx_t_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_absfile); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 10712, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreadSolFile(__pyx_v_self->_scip, __pyx_t_7, __pyx_v_solution->sol, 0, (&__pyx_v_partial), (&__pyx_v_error))); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10712, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10714
 *         PY_SCIP_CALL(SCIPreadSolFile(self._scip, absfile, solution.sol, False, &partial, &error))
 * 
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)             # <<<<<<<<<<<<<<
 * 
 *         if error:
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 10714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10714, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10716
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)
 * 
 *         if error:             # <<<<<<<<<<<<<<
 *             raise Exception("SCIP: reading solution from file " + str_absfile + " failed!")
 * 
*/
  __pyx_t_8 = (__pyx_v_error != 0);
  if (unlikely(__pyx_t_8)) {

    /* "src/pyscipopt/scip.pxi":10717
 * 
 *         if error:
 *             raise Exception("SCIP: reading solution from file " + str_absfile + " failed!")             # <<<<<<<<<<<<<<
 * 
 *         return solution
*/
    __pyx_t_6 = NULL;
    __pyx_t_3 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_SCIP_reading_solution_from_file, __pyx_v_str_absfile); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_failed); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10717, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Exception)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10717, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 10717, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":10716
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)
 * 
 *         if error:             # <<<<<<<<<<<<<<
 *             raise Exception("SCIP: reading solution from file " + str_absfile + " failed!")
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":10719
 *             raise Exception("SCIP: reading solution from file " + str_absfile + " failed!")
 * 
 *         return solution             # <<<<<<<<<<<<<<
 * 
 *     def setSolVal(self, Solution solution, Variable var, val):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_solution);
  __pyx_r = ((PyObject *)__pyx_v_solution);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10683
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)
 * 
 *     def readSolFile(self, filename):             # <<<<<<<<<<<<<<
 *         """
 *         Reads a given solution file.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.readSolFile", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_solution);
  __Pyx_XDECREF(__pyx_v_str_absfile);
  __Pyx_XDECREF(__pyx_v_absfile);
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10721
 *         return solution
 * 
 *     def setSolVal(self, Solution solution, Variable var, val):             # <<<<<<<<<<<<<<
 *         """
 *         Set a variable in a solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_689setSolVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_688setSolVal, "\n        Set a variable in a solution.\n\n        Parameters\n        ----------\n        solution : Solution\n            solution to be modified\n        var : Variable\n            variable in the solution\n        val : float\n            value of the specified variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_689setSolVal = {"setSolVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_689setSolVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_688setSolVal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_689setSolVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution = 0;
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_val = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setSolVal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_val,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10721, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10721, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setSolVal", 0) < (0)) __PYX_ERR(2, 10721, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setSolVal", 1, 3, 3, i); __PYX_ERR(2, 10721, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10721, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10721, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10721, __pyx_L3_error)
    }
    __pyx_v_solution = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[1]);
    __pyx_v_val = values[2];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setSolVal", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 10721, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setSolVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "solution", 0))) __PYX_ERR(2, 10721, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 10721, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_688setSolVal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_solution, __pyx_v_var, __pyx_v_val);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_688setSolVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_val) {
  SCIP_SOL *__pyx_v__sol;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  SCIP_Real __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setSolVal", 0);

  /* "src/pyscipopt/scip.pxi":10736
 *         """
 *         cdef SCIP_SOL* _sol
 *         _sol = <SCIP_SOL*>solution.sol             # <<<<<<<<<<<<<<
 * 
 *         assert _sol != NULL, "Cannot set value to a freed solution."
*/
  __pyx_v__sol = ((SCIP_SOL *)__pyx_v_solution->sol);

  /* "src/pyscipopt/scip.pxi":10738
 *         _sol = <SCIP_SOL*>solution.sol
 * 
 *         assert _sol != NULL, "Cannot set value to a freed solution."             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPsetSolVal(self._scip, _sol, var.scip_var, val))
 * 
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (__pyx_v__sol != NULL);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_Cannot_set_value_to_a_freed_solu, 0, 0);
      __PYX_ERR(2, 10738, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 10738, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":10739
 * 
 *         assert _sol != NULL, "Cannot set value to a freed solution."
 *         PY_SCIP_CALL(SCIPsetSolVal(self._scip, _sol, var.scip_var, val))             # <<<<<<<<<<<<<<
 * 
 *     def trySol(self, Solution solution, printreason=True, completely=False, checkbounds=True, checkintegrality=True, checklprows=True, free=True):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_val); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10739, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetSolVal(__pyx_v_self->_scip, __pyx_v__sol, __pyx_v_var->scip_var, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 10739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":10721
 *         return solution
 * 
 *     def setSolVal(self, Solution solution, Variable var, val):             # <<<<<<<<<<<<<<
 *         """
 *         Set a variable in a solution.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setSolVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10741
 *         PY_SCIP_CALL(SCIPsetSolVal(self._scip, _sol, var.scip_var, val))
 * 
 *     def trySol(self, Solution solution, printreason=True, completely=False, checkbounds=True, checkintegrality=True, checklprows=True, free=True):             # <<<<<<<<<<<<<<
 *         """
 *         Check given primal solution for feasibility and try to add it to the storage.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_691trySol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_690trySol, "\n        Check given primal solution for feasibility and try to add it to the storage.\n\n        Parameters\n        ----------\n        solution : Solution\n            solution to store\n        printreason : bool, optional\n            should all reasons of violations be printed? (Default value = True)\n        completely : bool, optional\n            should all violation be checked? (Default value = False)\n        checkbounds : bool, optional\n            should the bounds of the variables be checked? (Default value = True)\n        checkintegrality : bool, optional\n            does integrality have to be checked? (Default value = True)\n        checklprows : bool, optional\n            do current LP rows (both local and global) have to be checked? (Default value = True)\n        free : bool, optional\n            should solution be freed? (Default value = True)\n\n        Returns\n        -------\n        stored : bool\n            whether given solution was feasible and good enough to keep\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_691trySol = {"trySol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_691trySol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_690trySol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_691trySol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution = 0;
  PyObject *__pyx_v_printreason = 0;
  PyObject *__pyx_v_completely = 0;
  PyObject *__pyx_v_checkbounds = 0;
  PyObject *__pyx_v_checkintegrality = 0;
  PyObject *__pyx_v_checklprows = 0;
  PyObject *__pyx_v_free = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[7] = {0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("trySol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_printreason,&__pyx_mstate_global->__pyx_n_u_completely,&__pyx_mstate_global->__pyx_n_u_checkbounds,&__pyx_mstate_global->__pyx_n_u_checkintegrality,&__pyx_mstate_global->__pyx_n_u_checklprows,&__pyx_mstate_global->__pyx_n_u_free,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10741, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 10741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 10741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 10741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 10741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "trySol", 0) < (0)) __PYX_ERR(2, 10741, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("trySol", 0, 1, 7, i); __PYX_ERR(2, 10741, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 10741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 10741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 10741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 10741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10741, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_solution = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
    __pyx_v_printreason = values[1];
    __pyx_v_completely = values[2];
    __pyx_v_checkbounds = values[3];
    __pyx_v_checkintegrality = values[4];
    __pyx_v_checklprows = values[5];
    __pyx_v_free = values[6];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("trySol", 0, 1, 7, __pyx_nargs); __PYX_ERR(2, 10741, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.trySol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "solution", 0))) __PYX_ERR(2, 10741, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_690trySol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_solution, __pyx_v_printreason, __pyx_v_completely, __pyx_v_checkbounds, __pyx_v_checkintegrality, __pyx_v_checklprows, __pyx_v_free);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_690trySol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_printreason, PyObject *__pyx_v_completely, PyObject *__pyx_v_checkbounds, PyObject *__pyx_v_checkintegrality, PyObject *__pyx_v_checklprows, PyObject *__pyx_v_free) {
  SCIP_Bool __pyx_v_stored;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  SCIP_Bool __pyx_t_5;
  SCIP_Bool __pyx_t_6;
  SCIP_Bool __pyx_t_7;
  SCIP_Bool __pyx_t_8;
  SCIP_Bool __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  size_t __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("trySol", 0);

  /* "src/pyscipopt/scip.pxi":10769
 *         """
 *         cdef SCIP_Bool stored
 *         if free:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPtrySolFree(self._scip, &solution.sol, printreason, completely, checkbounds, checkintegrality, checklprows, &stored))
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_free); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 10769, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":10770
 *         cdef SCIP_Bool stored
 *         if free:
 *             PY_SCIP_CALL(SCIPtrySolFree(self._scip, &solution.sol, printreason, completely, checkbounds, checkintegrality, checklprows, &stored))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPtrySol(self._scip, solution.sol, printreason, completely, checkbounds, checkintegrality, checklprows, &stored))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_printreason); if (unlikely((__pyx_t_5 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10770, __pyx_L1_error)
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_completely); if (unlikely((__pyx_t_6 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10770, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_checkbounds); if (unlikely((__pyx_t_7 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10770, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_checkintegrality); if (unlikely((__pyx_t_8 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10770, __pyx_L1_error)
    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_checklprows); if (unlikely((__pyx_t_9 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10770, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPtrySolFree(__pyx_v_self->_scip, (&__pyx_v_solution->sol), __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8, __pyx_t_9, (&__pyx_v_stored))); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10770, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_11 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_11 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_10};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10770, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":10769
 *         """
 *         cdef SCIP_Bool stored
 *         if free:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPtrySolFree(self._scip, &solution.sol, printreason, completely, checkbounds, checkintegrality, checklprows, &stored))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":10772
 *             PY_SCIP_CALL(SCIPtrySolFree(self._scip, &solution.sol, printreason, completely, checkbounds, checkintegrality, checklprows, &stored))
 *         else:
 *             PY_SCIP_CALL(SCIPtrySol(self._scip, solution.sol, printreason, completely, checkbounds, checkintegrality, checklprows, &stored))             # <<<<<<<<<<<<<<
 *         return stored
 * 
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_printreason); if (unlikely((__pyx_t_9 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10772, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_completely); if (unlikely((__pyx_t_8 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10772, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_checkbounds); if (unlikely((__pyx_t_7 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10772, __pyx_L1_error)
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_checkintegrality); if (unlikely((__pyx_t_6 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10772, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_checklprows); if (unlikely((__pyx_t_5 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10772, __pyx_L1_error)
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPtrySol(__pyx_v_self->_scip, __pyx_v_solution->sol, __pyx_t_9, __pyx_t_8, __pyx_t_7, __pyx_t_6, __pyx_t_5, (&__pyx_v_stored))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10772, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_11 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_10))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_10);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_10);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_10, __pyx__function);
      __pyx_t_11 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_11, (2-__pyx_t_11) | (__pyx_t_11*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10772, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":10773
 *         else:
 *             PY_SCIP_CALL(SCIPtrySol(self._scip, solution.sol, printreason, completely, checkbounds, checkintegrality, checklprows, &stored))
 *         return stored             # <<<<<<<<<<<<<<
 * 
 *     def checkSol(self, Solution solution, printreason=True, completely=False, checkbounds=True, checkintegrality=True, checklprows=True, original=False):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_stored); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10741
 *         PY_SCIP_CALL(SCIPsetSolVal(self._scip, _sol, var.scip_var, val))
 * 
 *     def trySol(self, Solution solution, printreason=True, completely=False, checkbounds=True, checkintegrality=True, checklprows=True, free=True):             # <<<<<<<<<<<<<<
 *         """
 *         Check given primal solution for feasibility and try to add it to the storage.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_AddTraceback("pyscipopt.scip.Model.trySol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10775
 *         return stored
 * 
 *     def checkSol(self, Solution solution, printreason=True, completely=False, checkbounds=True, checkintegrality=True, checklprows=True, original=False):             # <<<<<<<<<<<<<<
 *         """
 *         Check given primal solution for feasibility without adding it to the storage.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_693checkSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_692checkSol, "\n        Check given primal solution for feasibility without adding it to the storage.\n\n        Parameters\n        ----------\n        solution : Solution\n            solution to store\n        printreason : bool, optional\n            should all reasons of violations be printed? (Default value = True)\n        completely : bool, optional\n            should all violation be checked? (Default value = False)\n        checkbounds : bool, optional\n            should the bounds of the variables be checked? (Default value = True)\n        checkintegrality : bool, optional\n            has integrality to be checked? (Default value = True)\n        checklprows : bool, optional\n            have current LP rows (both local and global) to be checked? (Default value = True)\n        original : bool, optional\n            must the solution be checked against the original problem (Default value = False)\n\n        Returns\n        -------\n        feasible : bool\n            whether the given solution was feasible or not\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_693checkSol = {"checkSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_693checkSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_692checkSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_693checkSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution = 0;
  PyObject *__pyx_v_printreason = 0;
  PyObject *__pyx_v_completely = 0;
  PyObject *__pyx_v_checkbounds = 0;
  PyObject *__pyx_v_checkintegrality = 0;
  PyObject *__pyx_v_checklprows = 0;
  PyObject *__pyx_v_original = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[7] = {0,0,0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("checkSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_printreason,&__pyx_mstate_global->__pyx_n_u_completely,&__pyx_mstate_global->__pyx_n_u_checkbounds,&__pyx_mstate_global->__pyx_n_u_checkintegrality,&__pyx_mstate_global->__pyx_n_u_checklprows,&__pyx_mstate_global->__pyx_n_u_original,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10775, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 10775, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 10775, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 10775, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 10775, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10775, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10775, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10775, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "checkSol", 0) < (0)) __PYX_ERR(2, 10775, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("checkSol", 0, 1, 7, i); __PYX_ERR(2, 10775, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  7:
        values[6] = __Pyx_ArgRef_FASTCALL(__pyx_args, 6);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[6])) __PYX_ERR(2, 10775, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  6:
        values[5] = __Pyx_ArgRef_FASTCALL(__pyx_args, 5);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[5])) __PYX_ERR(2, 10775, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 10775, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 10775, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 10775, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10775, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10775, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[5]) values[5] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[6]) values[6] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_solution = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
    __pyx_v_printreason = values[1];
    __pyx_v_completely = values[2];
    __pyx_v_checkbounds = values[3];
    __pyx_v_checkintegrality = values[4];
    __pyx_v_checklprows = values[5];
    __pyx_v_original = values[6];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("checkSol", 0, 1, 7, __pyx_nargs); __PYX_ERR(2, 10775, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.checkSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "solution", 0))) __PYX_ERR(2, 10775, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_692checkSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_solution, __pyx_v_printreason, __pyx_v_completely, __pyx_v_checkbounds, __pyx_v_checkintegrality, __pyx_v_checklprows, __pyx_v_original);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_692checkSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_printreason, PyObject *__pyx_v_completely, PyObject *__pyx_v_checkbounds, PyObject *__pyx_v_checkintegrality, PyObject *__pyx_v_checklprows, PyObject *__pyx_v_original) {
  SCIP_Bool __pyx_v_feasible;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  SCIP_Bool __pyx_t_5;
  SCIP_Bool __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  SCIP_Bool __pyx_t_9;
  SCIP_Bool __pyx_t_10;
  SCIP_Bool __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("checkSol", 0);

  /* "src/pyscipopt/scip.pxi":10803
 *         """
 *         cdef SCIP_Bool feasible
 *         if original:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPcheckSolOrig(self._scip, solution.sol, &feasible, printreason, completely))
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_original); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 10803, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":10804
 *         cdef SCIP_Bool feasible
 *         if original:
 *             PY_SCIP_CALL(SCIPcheckSolOrig(self._scip, solution.sol, &feasible, printreason, completely))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPcheckSol(self._scip, solution.sol, printreason, completely, checkbounds, checkintegrality, checklprows, &feasible))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_printreason); if (unlikely((__pyx_t_5 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10804, __pyx_L1_error)
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_completely); if (unlikely((__pyx_t_6 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10804, __pyx_L1_error)
    __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcheckSolOrig(__pyx_v_self->_scip, __pyx_v_solution->sol, (&__pyx_v_feasible), __pyx_t_5, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10804, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_8 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10804, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":10803
 *         """
 *         cdef SCIP_Bool feasible
 *         if original:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPcheckSolOrig(self._scip, solution.sol, &feasible, printreason, completely))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":10806
 *             PY_SCIP_CALL(SCIPcheckSolOrig(self._scip, solution.sol, &feasible, printreason, completely))
 *         else:
 *             PY_SCIP_CALL(SCIPcheckSol(self._scip, solution.sol, printreason, completely, checkbounds, checkintegrality, checklprows, &feasible))             # <<<<<<<<<<<<<<
 *         return feasible
 * 
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_printreason); if (unlikely((__pyx_t_6 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10806, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_completely); if (unlikely((__pyx_t_5 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10806, __pyx_L1_error)
    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_checkbounds); if (unlikely((__pyx_t_9 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10806, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_checkintegrality); if (unlikely((__pyx_t_10 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10806, __pyx_L1_error)
    __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_checklprows); if (unlikely((__pyx_t_11 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 10806, __pyx_L1_error)
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcheckSol(__pyx_v_self->_scip, __pyx_v_solution->sol, __pyx_t_6, __pyx_t_5, __pyx_t_9, __pyx_t_10, __pyx_t_11, (&__pyx_v_feasible))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10806, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
      __pyx_t_8 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10806, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":10807
 *         else:
 *             PY_SCIP_CALL(SCIPcheckSol(self._scip, solution.sol, printreason, completely, checkbounds, checkintegrality, checklprows, &feasible))
 *         return feasible             # <<<<<<<<<<<<<<
 * 
 *     def addSol(self, Solution solution, free=True):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_feasible); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10807, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10775
 *         return stored
 * 
 *     def checkSol(self, Solution solution, printreason=True, completely=False, checkbounds=True, checkintegrality=True, checklprows=True, original=False):             # <<<<<<<<<<<<<<
 *         """
 *         Check given primal solution for feasibility without adding it to the storage.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.checkSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10809
 *         return feasible
 * 
 *     def addSol(self, Solution solution, free=True):             # <<<<<<<<<<<<<<
 *         """
 *         Try to add a solution to the storage.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_695addSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_694addSol, "\n        Try to add a solution to the storage.\n\n        Parameters\n        ----------\n        solution : Solution\n            solution to store\n        free : bool, optional\n            should solution be freed afterwards? (Default value = True)\n\n        Returns\n        -------\n        stored : bool\n            stores whether given solution was good enough to keep\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_695addSol = {"addSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_695addSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_694addSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_695addSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution = 0;
  PyObject *__pyx_v_free = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,&__pyx_mstate_global->__pyx_n_u_free,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10809, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10809, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10809, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addSol", 0) < (0)) __PYX_ERR(2, 10809, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addSol", 0, 1, 2, i); __PYX_ERR(2, 10809, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10809, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10809, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_solution = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
    __pyx_v_free = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addSol", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 10809, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "solution", 0))) __PYX_ERR(2, 10809, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_694addSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_solution, __pyx_v_free);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_694addSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution, PyObject *__pyx_v_free) {
  SCIP_Bool __pyx_v_stored;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addSol", 0);

  /* "src/pyscipopt/scip.pxi":10827
 *         """
 *         cdef SCIP_Bool stored
 *         if free:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddSolFree(self._scip, &solution.sol, &stored))
 *         else:
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_free); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 10827, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":10828
 *         cdef SCIP_Bool stored
 *         if free:
 *             PY_SCIP_CALL(SCIPaddSolFree(self._scip, &solution.sol, &stored))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPaddSol(self._scip, solution.sol, &stored))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddSolFree(__pyx_v_self->_scip, (&__pyx_v_solution->sol), (&__pyx_v_stored))); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_5};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10828, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":10827
 *         """
 *         cdef SCIP_Bool stored
 *         if free:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPaddSolFree(self._scip, &solution.sol, &stored))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":10830
 *             PY_SCIP_CALL(SCIPaddSolFree(self._scip, &solution.sol, &stored))
 *         else:
 *             PY_SCIP_CALL(SCIPaddSol(self._scip, solution.sol, &stored))             # <<<<<<<<<<<<<<
 *         return stored
 * 
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddSol(__pyx_v_self->_scip, __pyx_v_solution->sol, (&__pyx_v_stored))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10830, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10830, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":10831
 *         else:
 *             PY_SCIP_CALL(SCIPaddSol(self._scip, solution.sol, &stored))
 *         return stored             # <<<<<<<<<<<<<<
 * 
 *     def freeSol(self, Solution solution):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_stored); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10809
 *         return feasible
 * 
 *     def addSol(self, Solution solution, free=True):             # <<<<<<<<<<<<<<
 *         """
 *         Try to add a solution to the storage.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10833
 *         return stored
 * 
 *     def freeSol(self, Solution solution):             # <<<<<<<<<<<<<<
 *         """
 *         Free given solution
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_697freeSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_696freeSol, "\n        Free given solution\n\n        Parameters\n        ----------\n        solution : Solution\n            solution to be freed\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_697freeSol = {"freeSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_697freeSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_696freeSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_697freeSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("freeSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_solution,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10833, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10833, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "freeSol", 0) < (0)) __PYX_ERR(2, 10833, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("freeSol", 1, 1, 1, i); __PYX_ERR(2, 10833, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10833, __pyx_L3_error)
    }
    __pyx_v_solution = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("freeSol", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 10833, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.freeSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_solution), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "solution", 0))) __PYX_ERR(2, 10833, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_696freeSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_solution);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_696freeSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_solution) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("freeSol", 0);

  /* "src/pyscipopt/scip.pxi":10843
 * 
 *         """
 *         PY_SCIP_CALL(SCIPfreeSol(self._scip, &solution.sol))             # <<<<<<<<<<<<<<
 * 
 *     def getNSols(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPfreeSol(__pyx_v_self->_scip, (&__pyx_v_solution->sol))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 10843, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10843, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10833
 *         return stored
 * 
 *     def freeSol(self, Solution solution):             # <<<<<<<<<<<<<<
 *         """
 *         Free given solution
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.freeSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10845
 *         PY_SCIP_CALL(SCIPfreeSol(self._scip, &solution.sol))
 * 
 *     def getNSols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of feasible primal solutions stored in the solution storage in case the problem is transformed;
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_699getNSols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_698getNSols, "\n        Gets number of feasible primal solutions stored in the solution storage in case the problem is transformed;\n        in case the problem stage is SCIP_STAGE_PROBLEM, the number of solution in the original solution candidate\n        storage is returned.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_699getNSols = {"getNSols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_699getNSols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_698getNSols};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_699getNSols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNSols (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNSols", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNSols", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_698getNSols(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_698getNSols(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNSols", 0);

  /* "src/pyscipopt/scip.pxi":10856
 * 
 *         """
 *         return SCIPgetNSols(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNSolsFound(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNSols(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10845
 *         PY_SCIP_CALL(SCIPfreeSol(self._scip, &solution.sol))
 * 
 *     def getNSols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of feasible primal solutions stored in the solution storage in case the problem is transformed;
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNSols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10858
 *         return SCIPgetNSols(self._scip)
 * 
 *     def getNSolsFound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of feasible primal solutions found so far.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_701getNSolsFound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_700getNSolsFound, "\n        Gets number of feasible primal solutions found so far.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_701getNSolsFound = {"getNSolsFound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_701getNSolsFound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_700getNSolsFound};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_701getNSolsFound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNSolsFound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNSolsFound", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNSolsFound", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_700getNSolsFound(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_700getNSolsFound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNSolsFound", 0);

  /* "src/pyscipopt/scip.pxi":10867
 * 
 *         """
 *         return SCIPgetNSolsFound(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNLimSolsFound(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNSolsFound(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10858
 *         return SCIPgetNSols(self._scip)
 * 
 *     def getNSolsFound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of feasible primal solutions found so far.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNSolsFound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10869
 *         return SCIPgetNSolsFound(self._scip)
 * 
 *     def getNLimSolsFound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of feasible primal solutions respecting the objective limit found so far.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_703getNLimSolsFound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_702getNLimSolsFound, "\n        Gets number of feasible primal solutions respecting the objective limit found so far.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_703getNLimSolsFound = {"getNLimSolsFound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_703getNLimSolsFound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_702getNLimSolsFound};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_703getNLimSolsFound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNLimSolsFound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNLimSolsFound", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNLimSolsFound", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_702getNLimSolsFound(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_702getNLimSolsFound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNLimSolsFound", 0);

  /* "src/pyscipopt/scip.pxi":10878
 * 
 *         """
 *         return SCIPgetNLimSolsFound(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNBestSolsFound(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNLimSolsFound(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10878, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10869
 *         return SCIPgetNSolsFound(self._scip)
 * 
 *     def getNLimSolsFound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of feasible primal solutions respecting the objective limit found so far.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNLimSolsFound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10880
 *         return SCIPgetNLimSolsFound(self._scip)
 * 
 *     def getNBestSolsFound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of feasible primal solutions found so far,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_705getNBestSolsFound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_704getNBestSolsFound, "\n        Gets number of feasible primal solutions found so far,\n        that improved the primal bound at the time they were found.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_705getNBestSolsFound = {"getNBestSolsFound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_705getNBestSolsFound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_704getNBestSolsFound};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_705getNBestSolsFound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNBestSolsFound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNBestSolsFound", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNBestSolsFound", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_704getNBestSolsFound(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_704getNBestSolsFound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNBestSolsFound", 0);

  /* "src/pyscipopt/scip.pxi":10890
 * 
 *         """
 *         return SCIPgetNBestSolsFound(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getSols(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNBestSolsFound(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10890, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10880
 *         return SCIPgetNLimSolsFound(self._scip)
 * 
 *     def getNBestSolsFound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of feasible primal solutions found so far,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNBestSolsFound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10892
 *         return SCIPgetNBestSolsFound(self._scip)
 * 
 *     def getSols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve list of all feasible primal solutions stored in the solution storage.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_707getSols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_706getSols, "\n        Retrieve list of all feasible primal solutions stored in the solution storage.\n\n        Returns\n        -------\n        list of Solution\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_707getSols = {"getSols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_707getSols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_706getSols};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_707getSols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSols (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getSols", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getSols", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_706getSols(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_706getSols(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_SOL **__pyx_v__sols;
  int __pyx_v_nsols;
  int __pyx_v_i;
  PyObject *__pyx_v_sols = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getSols", 0);

  /* "src/pyscipopt/scip.pxi":10901
 * 
 *         """
 *         cdef SCIP_SOL** _sols = SCIPgetSols(self._scip)             # <<<<<<<<<<<<<<
 *         cdef int nsols = SCIPgetNSols(self._scip)
 *         cdef int i
*/
  __pyx_v__sols = SCIPgetSols(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":10902
 *         """
 *         cdef SCIP_SOL** _sols = SCIPgetSols(self._scip)
 *         cdef int nsols = SCIPgetNSols(self._scip)             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_nsols = SCIPgetNSols(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":10905
 *         cdef int i
 * 
 *         sols = []             # <<<<<<<<<<<<<<
 * 
 *         for i in range(nsols):
*/
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_sols = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10907
 *         sols = []
 * 
 *         for i in range(nsols):             # <<<<<<<<<<<<<<
 *             sols.append(Solution.create(self._scip, _sols[i]))
 * 
*/
  __pyx_t_2 = __pyx_v_nsols;
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/scip.pxi":10908
 * 
 *         for i in range(nsols):
 *             sols.append(Solution.create(self._scip, _sols[i]))             # <<<<<<<<<<<<<<
 * 
 *         return sols
*/
    __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_self->_scip, (__pyx_v__sols[__pyx_v_i])); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10908, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_sols, __pyx_t_1); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(2, 10908, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/scip.pxi":10910
 *             sols.append(Solution.create(self._scip, _sols[i]))
 * 
 *         return sols             # <<<<<<<<<<<<<<
 * 
 *     def getBestSol(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_sols);
  __pyx_r = __pyx_v_sols;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10892
 *         return SCIPgetNBestSolsFound(self._scip)
 * 
 *     def getSols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve list of all feasible primal solutions stored in the solution storage.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getSols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_sols);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10912
 *         return sols
 * 
 *     def getBestSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve currently best known feasible primal solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_709getBestSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_708getBestSol, "\n        Retrieve currently best known feasible primal solution.\n\n        Returns\n        -------\n        Solution or None\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_709getBestSol = {"getBestSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_709getBestSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_708getBestSol};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_709getBestSol(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBestSol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getBestSol", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getBestSol", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_708getBestSol(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_708getBestSol(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_SOL *__pyx_v__sol;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBestSol", 0);

  /* "src/pyscipopt/scip.pxi":10921
 * 
 *         """
 *         cdef SCIP_SOL* _sol = SCIPgetBestSol(self._scip)             # <<<<<<<<<<<<<<
 *         if _sol == NULL:
 *             return None
*/
  __pyx_v__sol = SCIPgetBestSol(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":10922
 *         """
 *         cdef SCIP_SOL* _sol = SCIPgetBestSol(self._scip)
 *         if _sol == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         self._bestSol = Solution.create(self._scip, _sol)
*/
  __pyx_t_1 = (__pyx_v__sol == NULL);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":10923
 *         cdef SCIP_SOL* _sol = SCIPgetBestSol(self._scip)
 *         if _sol == NULL:
 *             return None             # <<<<<<<<<<<<<<
 *         self._bestSol = Solution.create(self._scip, _sol)
 *         return self._bestSol
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":10922
 *         """
 *         cdef SCIP_SOL* _sol = SCIPgetBestSol(self._scip)
 *         if _sol == NULL:             # <<<<<<<<<<<<<<
 *             return None
 *         self._bestSol = Solution.create(self._scip, _sol)
*/
  }

  /* "src/pyscipopt/scip.pxi":10924
 *         if _sol == NULL:
 *             return None
 *         self._bestSol = Solution.create(self._scip, _sol)             # <<<<<<<<<<<<<<
 *         return self._bestSol
 * 
*/
  __pyx_t_2 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_self->_scip, __pyx_v__sol); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution))))) __PYX_ERR(2, 10924, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_2);
  __Pyx_GOTREF((PyObject *)__pyx_v_self->_bestSol);
  __Pyx_DECREF((PyObject *)__pyx_v_self->_bestSol);
  __pyx_v_self->_bestSol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":10925
 *             return None
 *         self._bestSol = Solution.create(self._scip, _sol)
 *         return self._bestSol             # <<<<<<<<<<<<<<
 * 
 *     def getSolObjVal(self, Solution sol, original=True):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF((PyObject *)__pyx_v_self->_bestSol);
  __pyx_r = ((PyObject *)__pyx_v_self->_bestSol);
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10912
 *         return sols
 * 
 *     def getBestSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve currently best known feasible primal solution.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBestSol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10927
 *         return self._bestSol
 * 
 *     def getSolObjVal(self, Solution sol, original=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the objective value of the solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_711getSolObjVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_710getSolObjVal, "\n        Retrieve the objective value of the solution.\n\n        Parameters\n        ----------\n        sol : Solution\n        original : bool, optional\n            objective value in original space (Default value = True)\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_711getSolObjVal = {"getSolObjVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_711getSolObjVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_710getSolObjVal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_711getSolObjVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  PyObject *__pyx_v_original = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSolObjVal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sol,&__pyx_mstate_global->__pyx_n_u_original,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10927, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10927, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10927, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getSolObjVal", 0) < (0)) __PYX_ERR(2, 10927, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getSolObjVal", 0, 1, 2, i); __PYX_ERR(2, 10927, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 10927, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10927, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
    __pyx_v_original = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getSolObjVal", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 10927, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getSolObjVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(2, 10927, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_710getSolObjVal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_sol, __pyx_v_original);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_710getSolObjVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, PyObject *__pyx_v_original) {
  PyObject *__pyx_v_objval = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getSolObjVal", 0);
  __Pyx_INCREF((PyObject *)__pyx_v_sol);

  /* "src/pyscipopt/scip.pxi":10942
 * 
 *         """
 *         if sol == None:             # <<<<<<<<<<<<<<
 *             sol = Solution.create(self._scip, NULL)
 * 
*/
  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_sol), Py_None, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10942, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 10942, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":10943
 *         """
 *         if sol == None:
 *             sol = Solution.create(self._scip, NULL)             # <<<<<<<<<<<<<<
 * 
 *         sol._checkStage("getSolObjVal")
*/
    __pyx_t_1 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_self->_scip, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10943, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution))))) __PYX_ERR(2, 10943, __pyx_L1_error)
    __Pyx_DECREF_SET(__pyx_v_sol, ((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_t_1));
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":10942
 * 
 *         """
 *         if sol == None:             # <<<<<<<<<<<<<<
 *             sol = Solution.create(self._scip, NULL)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":10945
 *             sol = Solution.create(self._scip, NULL)
 * 
 *         sol._checkStage("getSolObjVal")             # <<<<<<<<<<<<<<
 * 
 *         if original:
*/
  __pyx_t_3 = ((PyObject *)__pyx_v_sol);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getSolObjVal};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_checkStage, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10945, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":10947
 *         sol._checkStage("getSolObjVal")
 * 
 *         if original:             # <<<<<<<<<<<<<<
 *             objval = SCIPgetSolOrigObj(self._scip, sol.sol)
 *         else:
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_original); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 10947, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":10948
 * 
 *         if original:
 *             objval = SCIPgetSolOrigObj(self._scip, sol.sol)             # <<<<<<<<<<<<<<
 *         else:
 *             objval = SCIPgetSolTransObj(self._scip, sol.sol)
*/
    __pyx_t_1 = PyFloat_FromDouble(SCIPgetSolOrigObj(__pyx_v_self->_scip, __pyx_v_sol->sol)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10948, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_objval = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":10947
 *         sol._checkStage("getSolObjVal")
 * 
 *         if original:             # <<<<<<<<<<<<<<
 *             objval = SCIPgetSolOrigObj(self._scip, sol.sol)
 *         else:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":10950
 *             objval = SCIPgetSolOrigObj(self._scip, sol.sol)
 *         else:
 *             objval = SCIPgetSolTransObj(self._scip, sol.sol)             # <<<<<<<<<<<<<<
 * 
 *         return objval
*/
  /*else*/ {
    __pyx_t_1 = PyFloat_FromDouble(SCIPgetSolTransObj(__pyx_v_self->_scip, __pyx_v_sol->sol)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 10950, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_v_objval = __pyx_t_1;
    __pyx_t_1 = 0;
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":10952
 *             objval = SCIPgetSolTransObj(self._scip, sol.sol)
 * 
 *         return objval             # <<<<<<<<<<<<<<
 * 
 *     def getSolTime(self, Solution sol):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_objval);
  __pyx_r = __pyx_v_objval;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10927
 *         return self._bestSol
 * 
 *     def getSolObjVal(self, Solution sol, original=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the objective value of the solution.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getSolObjVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_objval);
  __Pyx_XDECREF((PyObject *)__pyx_v_sol);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10954
 *         return objval
 * 
 *     def getSolTime(self, Solution sol):             # <<<<<<<<<<<<<<
 *         """
 *         Get clock time when this solution was found.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_713getSolTime(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_712getSolTime, "\n        Get clock time when this solution was found.\n\n        Parameters\n        ----------\n        sol : Solution\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_713getSolTime = {"getSolTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_713getSolTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_712getSolTime};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_713getSolTime(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSolTime (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sol,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10954, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10954, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getSolTime", 0) < (0)) __PYX_ERR(2, 10954, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getSolTime", 1, 1, 1, i); __PYX_ERR(2, 10954, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10954, __pyx_L3_error)
    }
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getSolTime", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 10954, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getSolTime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(2, 10954, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_712getSolTime(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_sol);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_712getSolTime(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getSolTime", 0);

  /* "src/pyscipopt/scip.pxi":10967
 * 
 *         """
 *         if sol is None or sol.sol == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Cannot get solution time: solution is None or NULL")
 *         return SCIPgetSolTime(self._scip, sol.sol)
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_sol) == Py_None);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_sol->sol == NULL);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":10968
 *         """
 *         if sol is None or sol.sol == NULL:
 *             raise ValueError("Cannot get solution time: solution is None or NULL")             # <<<<<<<<<<<<<<
 *         return SCIPgetSolTime(self._scip, sol.sol)
 * 
*/
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Cannot_get_solution_time_solutio};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10968, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 10968, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":10967
 * 
 *         """
 *         if sol is None or sol.sol == NULL:             # <<<<<<<<<<<<<<
 *             raise ValueError("Cannot get solution time: solution is None or NULL")
 *         return SCIPgetSolTime(self._scip, sol.sol)
*/
  }

  /* "src/pyscipopt/scip.pxi":10969
 *         if sol is None or sol.sol == NULL:
 *             raise ValueError("Cannot get solution time: solution is None or NULL")
 *         return SCIPgetSolTime(self._scip, sol.sol)             # <<<<<<<<<<<<<<
 * 
 *     def getObjVal(self, original=True):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_3 = PyFloat_FromDouble(SCIPgetSolTime(__pyx_v_self->_scip, __pyx_v_sol->sol)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10969, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10954
 *         return objval
 * 
 *     def getSolTime(self, Solution sol):             # <<<<<<<<<<<<<<
 *         """
 *         Get clock time when this solution was found.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getSolTime", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":10971
 *         return SCIPgetSolTime(self._scip, sol.sol)
 * 
 *     def getObjVal(self, original=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the objective value of the best solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_715getObjVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_714getObjVal, "\n        Retrieve the objective value of the best solution.\n\n        Parameters\n        ----------\n        original : bool, optional\n            objective value in original space (Default value = True)\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_715getObjVal = {"getObjVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_715getObjVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_714getObjVal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_715getObjVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_original = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getObjVal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_original,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 10971, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10971, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getObjVal", 0) < (0)) __PYX_ERR(2, 10971, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 10971, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_original = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getObjVal", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 10971, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getObjVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_714getObjVal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_original);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_714getObjVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_original) {
  SCIP_STAGE __pyx_v_min_stage_requirement;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getObjVal", 0);

  /* "src/pyscipopt/scip.pxi":10986
 *         """
 * 
 *         if SCIPgetNSols(self._scip) == 0:             # <<<<<<<<<<<<<<
 *             if self.getStage() != SCIP_STAGE_SOLVING:
 *                 raise Warning("Without a solution, method can only be called in stage SOLVING.")
*/
  __pyx_t_1 = (SCIPgetNSols(__pyx_v_self->_scip) == 0);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":10987
 * 
 *         if SCIPgetNSols(self._scip) == 0:
 *             if self.getStage() != SCIP_STAGE_SOLVING:             # <<<<<<<<<<<<<<
 *                 raise Warning("Without a solution, method can only be called in stage SOLVING.")
 *         else:
*/
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10987, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_SOLVING); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10987, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10987, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 10987, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(__pyx_t_1)) {

      /* "src/pyscipopt/scip.pxi":10988
 *         if SCIPgetNSols(self._scip) == 0:
 *             if self.getStage() != SCIP_STAGE_SOLVING:
 *                 raise Warning("Without a solution, method can only be called in stage SOLVING.")             # <<<<<<<<<<<<<<
 *         else:
 *             assert self._bestSol.sol != NULL
*/
      __pyx_t_3 = NULL;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Without_a_solution_method_can_on};
        __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10988, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
      }
      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __PYX_ERR(2, 10988, __pyx_L1_error)

      /* "src/pyscipopt/scip.pxi":10987
 * 
 *         if SCIPgetNSols(self._scip) == 0:
 *             if self.getStage() != SCIP_STAGE_SOLVING:             # <<<<<<<<<<<<<<
 *                 raise Warning("Without a solution, method can only be called in stage SOLVING.")
 *         else:
*/
    }

    /* "src/pyscipopt/scip.pxi":10986
 *         """
 * 
 *         if SCIPgetNSols(self._scip) == 0:             # <<<<<<<<<<<<<<
 *             if self.getStage() != SCIP_STAGE_SOLVING:
 *                 raise Warning("Without a solution, method can only be called in stage SOLVING.")
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":10990
 *                 raise Warning("Without a solution, method can only be called in stage SOLVING.")
 *         else:
 *             assert self._bestSol.sol != NULL             # <<<<<<<<<<<<<<
 * 
 *             if SCIPsolIsOriginal(self._bestSol.sol):
*/
  /*else*/ {
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_1 = (__pyx_v_self->_bestSol->sol != NULL);
      if (unlikely(!__pyx_t_1)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
        __PYX_ERR(2, 10990, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 10990, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":10992
 *             assert self._bestSol.sol != NULL
 * 
 *             if SCIPsolIsOriginal(self._bestSol.sol):             # <<<<<<<<<<<<<<
 *                 min_stage_requirement = SCIP_STAGE_PROBLEM
 *             else:
*/
    __pyx_t_1 = (SCIPsolIsOriginal(__pyx_v_self->_bestSol->sol) != 0);
    if (__pyx_t_1) {

      /* "src/pyscipopt/scip.pxi":10993
 * 
 *             if SCIPsolIsOriginal(self._bestSol.sol):
 *                 min_stage_requirement = SCIP_STAGE_PROBLEM             # <<<<<<<<<<<<<<
 *             else:
 *                 min_stage_requirement = SCIP_STAGE_TRANSFORMING
*/
      __pyx_v_min_stage_requirement = SCIP_STAGE_PROBLEM;

      /* "src/pyscipopt/scip.pxi":10992
 *             assert self._bestSol.sol != NULL
 * 
 *             if SCIPsolIsOriginal(self._bestSol.sol):             # <<<<<<<<<<<<<<
 *                 min_stage_requirement = SCIP_STAGE_PROBLEM
 *             else:
*/
      goto __pyx_L5;
    }

    /* "src/pyscipopt/scip.pxi":10995
 *                 min_stage_requirement = SCIP_STAGE_PROBLEM
 *             else:
 *                 min_stage_requirement = SCIP_STAGE_TRANSFORMING             # <<<<<<<<<<<<<<
 * 
 *             if not self.getStage() >= min_stage_requirement:
*/
    /*else*/ {
      __pyx_v_min_stage_requirement = SCIP_STAGE_TRANSFORMING;
    }
    __pyx_L5:;

    /* "src/pyscipopt/scip.pxi":10997
 *                 min_stage_requirement = SCIP_STAGE_TRANSFORMING
 * 
 *             if not self.getStage() >= min_stage_requirement:             # <<<<<<<<<<<<<<
 *                 raise Warning("method cannot be called in stage %i." % self.getStage)
 * 
*/
    __pyx_t_3 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_3);
    __pyx_t_4 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
      __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_4, (1-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10997, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_STAGE(__pyx_v_min_stage_requirement); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 10997, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_3, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10997, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 10997, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_6 = (!__pyx_t_1);
    if (unlikely(__pyx_t_6)) {

      /* "src/pyscipopt/scip.pxi":10998
 * 
 *             if not self.getStage() >= min_stage_requirement:
 *                 raise Warning("method cannot be called in stage %i." % self.getStage)             # <<<<<<<<<<<<<<
 * 
 *         return self.getSolObjVal(self._bestSol, original)
*/
      __pyx_t_3 = NULL;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_getStage); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 10998, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_7 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_in_stage, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 10998, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_7);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_4 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 10998, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(2, 10998, __pyx_L1_error)

      /* "src/pyscipopt/scip.pxi":10997
 *                 min_stage_requirement = SCIP_STAGE_TRANSFORMING
 * 
 *             if not self.getStage() >= min_stage_requirement:             # <<<<<<<<<<<<<<
 *                 raise Warning("method cannot be called in stage %i." % self.getStage)
 * 
*/
    }
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":11000
 *                 raise Warning("method cannot be called in stage %i." % self.getStage)
 * 
 *         return self.getSolObjVal(self._bestSol, original)             # <<<<<<<<<<<<<<
 * 
 *     def getSolVal(
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_7 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_7);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_7, ((PyObject *)__pyx_v_self->_bestSol), __pyx_v_original};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getSolObjVal, __pyx_callargs+__pyx_t_4, (3-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11000, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":10971
 *         return SCIPgetSolTime(self._scip, sol.sol)
 * 
 *     def getObjVal(self, original=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the objective value of the best solution.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getObjVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11002
 *         return self.getSolObjVal(self._bestSol, original)
 * 
 *     def getSolVal(             # <<<<<<<<<<<<<<
 *         self,
 *         Solution sol,
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_717getSolVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_716getSolVal, "\n        Retrieve value of given variable or expression in the given solution.\n\n        Parameters\n        ----------\n        sol : Solution\n            Solution to query the value from. If None, the current LP/pseudo solution is\n            used.\n\n        expr : Expr, GenExpr, MatrixExpr\n            Expression to query the value of.\n\n        Returns\n        -------\n        float or np.ndarray\n\n        Notes\n        -----\n        A variable is also an expression.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_717getSolVal = {"getSolVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_717getSolVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_716getSolVal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_717getSolVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol = 0;
  PyObject *__pyx_v_expr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getSolVal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_sol,&__pyx_mstate_global->__pyx_n_u_expr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11002, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11002, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11002, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getSolVal", 0) < (0)) __PYX_ERR(2, 11002, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getSolVal", 1, 2, 2, i); __PYX_ERR(2, 11002, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11002, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11002, __pyx_L3_error)
    }
    __pyx_v_sol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)values[0]);
    __pyx_v_expr = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getSolVal", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 11002, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getSolVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_sol), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, 1, "sol", 0))) __PYX_ERR(2, 11004, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_716getSolVal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_sol, __pyx_v_expr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_716getSolVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Solution *__pyx_v_sol, PyObject *__pyx_v_expr) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getSolVal", 0);

  /* "src/pyscipopt/scip.pxi":11029
 *         """
 *         # no need to create a NULL solution wrapper in case we have a variable
 *         return (sol or Solution.create(self._scip, NULL))[expr]             # <<<<<<<<<<<<<<
 * 
 *     def getVal(self, expr: Union[Expr, GenExpr, MatrixExpr]) -> Union[float, np.ndarray]:
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_sol)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 11029, __pyx_L1_error)
  if (!__pyx_t_2) {
  } else {
    __Pyx_INCREF((PyObject *)__pyx_v_sol);
    __pyx_t_1 = ((PyObject *)__pyx_v_sol);
    goto __pyx_L3_bool_binop_done;
  }
  __pyx_t_3 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_self->_scip, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_1 = __pyx_t_3;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_L3_bool_binop_done:;
  __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_expr); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_3;
  __pyx_t_3 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11002
 *         return self.getSolObjVal(self._bestSol, original)
 * 
 *     def getSolVal(             # <<<<<<<<<<<<<<
 *         self,
 *         Solution sol,
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getSolVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11031
 *         return (sol or Solution.create(self._scip, NULL))[expr]
 * 
 *     def getVal(self, expr: Union[Expr, GenExpr, MatrixExpr]) -> Union[float, np.ndarray]:             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the value of the given variable or expression in the best known solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_719getVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_718getVal, "\n        Retrieve the value of the given variable or expression in the best known solution.\n        Can only be called after solving is completed.\n\n        Parameters\n        ----------\n        expr : Expr, GenExpr or MatrixExpr\n            Expression to query the value of.\n\n        Returns\n        -------\n        float or np.ndarray\n\n        Notes\n        -----\n        A variable is also an expression.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_719getVal = {"getVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_719getVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_718getVal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_719getVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_expr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_expr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11031, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11031, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getVal", 0) < (0)) __PYX_ERR(2, 11031, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getVal", 1, 1, 1, i); __PYX_ERR(2, 11031, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11031, __pyx_L3_error)
    }
    __pyx_v_expr = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getVal", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 11031, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_718getVal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_expr);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_718getVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_expr) {
  SCIP_SOL *__pyx_v_current_best_sol;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_STAGE __pyx_t_1;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVal", 0);

  /* "src/pyscipopt/scip.pxi":11050
 * 
 *         """
 *         if SCIPgetStage(self._scip) in {SCIP_STAGE_INIT, SCIP_STAGE_FREE}:             # <<<<<<<<<<<<<<
 *             raise Warning("Method cannot be called in stage ", self.getStage())
 * 
*/
  __pyx_t_1 = SCIPgetStage(__pyx_v_self->_scip);
  __pyx_t_3 = (__pyx_t_1 == SCIP_STAGE_INIT);
  if (!__pyx_t_3) {
  } else {
    __pyx_t_2 = __pyx_t_3;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_3 = (__pyx_t_1 == SCIP_STAGE_FREE);
  __pyx_t_2 = __pyx_t_3;
  __pyx_L4_bool_binop_done:;
  __pyx_t_3 = __pyx_t_2;
  if (unlikely(__pyx_t_3)) {

    /* "src/pyscipopt/scip.pxi":11051
 *         """
 *         if SCIPgetStage(self._scip) in {SCIP_STAGE_INIT, SCIP_STAGE_FREE}:
 *             raise Warning("Method cannot be called in stage ", self.getStage())             # <<<<<<<<<<<<<<
 * 
 *         # Ensure _bestSol is up-to-date (cheap pointer comparison)
*/
    __pyx_t_5 = NULL;
    __pyx_t_7 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_8, (1-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11051, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_Method_cannot_be_called_in_stage, __pyx_t_6};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_8, (3-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11051, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(2, 11051, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":11050
 * 
 *         """
 *         if SCIPgetStage(self._scip) in {SCIP_STAGE_INIT, SCIP_STAGE_FREE}:             # <<<<<<<<<<<<<<
 *             raise Warning("Method cannot be called in stage ", self.getStage())
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":11054
 * 
 *         # Ensure _bestSol is up-to-date (cheap pointer comparison)
 *         cdef SCIP_SOL* current_best_sol = SCIPgetBestSol(self._scip)             # <<<<<<<<<<<<<<
 *         if self._bestSol is None or self._bestSol.sol != current_best_sol:
 *             self._bestSol = Solution.create(self._scip, current_best_sol)
*/
  __pyx_v_current_best_sol = SCIPgetBestSol(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":11055
 *         # Ensure _bestSol is up-to-date (cheap pointer comparison)
 *         cdef SCIP_SOL* current_best_sol = SCIPgetBestSol(self._scip)
 *         if self._bestSol is None or self._bestSol.sol != current_best_sol:             # <<<<<<<<<<<<<<
 *             self._bestSol = Solution.create(self._scip, current_best_sol)
 * 
*/
  __pyx_t_2 = (((PyObject *)__pyx_v_self->_bestSol) == Py_None);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_3 = __pyx_t_2;
    goto __pyx_L7_bool_binop_done;
  }
  __pyx_t_2 = (__pyx_v_self->_bestSol->sol != __pyx_v_current_best_sol);
  __pyx_t_3 = __pyx_t_2;
  __pyx_L7_bool_binop_done:;
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":11056
 *         cdef SCIP_SOL* current_best_sol = SCIPgetBestSol(self._scip)
 *         if self._bestSol is None or self._bestSol.sol != current_best_sol:
 *             self._bestSol = Solution.create(self._scip, current_best_sol)             # <<<<<<<<<<<<<<
 * 
 *         if self._bestSol.sol == NULL and SCIPgetStage(self._scip) != SCIP_STAGE_SOLVING:
*/
    __pyx_t_4 = __pyx_f_9pyscipopt_4scip_8Solution_create(__pyx_v_self->_scip, __pyx_v_current_best_sol); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11056, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution))))) __PYX_ERR(2, 11056, __pyx_L1_error)
    __Pyx_GIVEREF(__pyx_t_4);
    __Pyx_GOTREF((PyObject *)__pyx_v_self->_bestSol);
    __Pyx_DECREF((PyObject *)__pyx_v_self->_bestSol);
    __pyx_v_self->_bestSol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)__pyx_t_4);
    __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":11055
 *         # Ensure _bestSol is up-to-date (cheap pointer comparison)
 *         cdef SCIP_SOL* current_best_sol = SCIPgetBestSol(self._scip)
 *         if self._bestSol is None or self._bestSol.sol != current_best_sol:             # <<<<<<<<<<<<<<
 *             self._bestSol = Solution.create(self._scip, current_best_sol)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":11058
 *             self._bestSol = Solution.create(self._scip, current_best_sol)
 * 
 *         if self._bestSol.sol == NULL and SCIPgetStage(self._scip) != SCIP_STAGE_SOLVING:             # <<<<<<<<<<<<<<
 *             raise Warning("No solution available")
 * 
*/
  __pyx_t_2 = (__pyx_v_self->_bestSol->sol == NULL);
  if (__pyx_t_2) {
  } else {
    __pyx_t_3 = __pyx_t_2;
    goto __pyx_L10_bool_binop_done;
  }
  __pyx_t_2 = (SCIPgetStage(__pyx_v_self->_scip) != SCIP_STAGE_SOLVING);
  __pyx_t_3 = __pyx_t_2;
  __pyx_L10_bool_binop_done:;
  if (unlikely(__pyx_t_3)) {

    /* "src/pyscipopt/scip.pxi":11059
 * 
 *         if self._bestSol.sol == NULL and SCIPgetStage(self._scip) != SCIP_STAGE_SOLVING:
 *             raise Warning("No solution available")             # <<<<<<<<<<<<<<
 * 
 *         return self._bestSol[expr]
*/
    __pyx_t_6 = NULL;
    __pyx_t_8 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_kp_u_No_solution_available};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11059, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(2, 11059, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":11058
 *             self._bestSol = Solution.create(self._scip, current_best_sol)
 * 
 *         if self._bestSol.sol == NULL and SCIPgetStage(self._scip) != SCIP_STAGE_SOLVING:             # <<<<<<<<<<<<<<
 *             raise Warning("No solution available")
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":11061
 *             raise Warning("No solution available")
 * 
 *         return self._bestSol[expr]             # <<<<<<<<<<<<<<
 * 
 *     def hasPrimalRay(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_4 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_self->_bestSol), __pyx_v_expr); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11031
 *         return (sol or Solution.create(self._scip, NULL))[expr]
 * 
 *     def getVal(self, expr: Union[Expr, GenExpr, MatrixExpr]) -> Union[float, np.ndarray]:             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the value of the given variable or expression in the best known solution.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11063
 *         return self._bestSol[expr]
 * 
 *     def hasPrimalRay(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether a primal ray is stored that proves unboundedness of the LP relaxation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_721hasPrimalRay(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_720hasPrimalRay, "\n        Returns whether a primal ray is stored that proves unboundedness of the LP relaxation.\n\n        Returns\n        -------\n        bool\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_721hasPrimalRay = {"hasPrimalRay", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_721hasPrimalRay, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_720hasPrimalRay};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_721hasPrimalRay(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("hasPrimalRay (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("hasPrimalRay", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("hasPrimalRay", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_720hasPrimalRay(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_720hasPrimalRay(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("hasPrimalRay", 0);

  /* "src/pyscipopt/scip.pxi":11072
 * 
 *         """
 *         return SCIPhasPrimalRay(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getPrimalRayVal(self, Variable var):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPhasPrimalRay(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11063
 *         return self._bestSol[expr]
 * 
 *     def hasPrimalRay(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether a primal ray is stored that proves unboundedness of the LP relaxation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.hasPrimalRay", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11074
 *         return SCIPhasPrimalRay(self._scip)
 * 
 *     def getPrimalRayVal(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Gets value of given variable in primal ray causing unboundedness of the LP relaxation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_723getPrimalRayVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_722getPrimalRayVal, "\n        Gets value of given variable in primal ray causing unboundedness of the LP relaxation.\n\n        Parameters\n        ----------\n        var : Variable\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_723getPrimalRayVal = {"getPrimalRayVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_723getPrimalRayVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_722getPrimalRayVal};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_723getPrimalRayVal(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPrimalRayVal (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11074, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11074, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getPrimalRayVal", 0) < (0)) __PYX_ERR(2, 11074, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getPrimalRayVal", 1, 1, 1, i); __PYX_ERR(2, 11074, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11074, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getPrimalRayVal", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 11074, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getPrimalRayVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 11074, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_722getPrimalRayVal(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_722getPrimalRayVal(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPrimalRayVal", 0);

  /* "src/pyscipopt/scip.pxi":11087
 * 
 *         """
 *         assert SCIPhasPrimalRay(self._scip), "The problem does not have a primal ray."             # <<<<<<<<<<<<<<
 * 
 *         return SCIPgetPrimalRayVal(self._scip, var.scip_var)
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (SCIPhasPrimalRay(__pyx_v_self->_scip) != 0);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_The_problem_does_not_have_a_prim, 0, 0);
      __PYX_ERR(2, 11087, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 11087, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":11089
 *         assert SCIPhasPrimalRay(self._scip), "The problem does not have a primal ray."
 * 
 *         return SCIPgetPrimalRayVal(self._scip, var.scip_var)             # <<<<<<<<<<<<<<
 * 
 *     def getPrimalRay(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(SCIPgetPrimalRayVal(__pyx_v_self->_scip, __pyx_v_var->scip_var)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11089, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11074
 *         return SCIPhasPrimalRay(self._scip)
 * 
 *     def getPrimalRayVal(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Gets value of given variable in primal ray causing unboundedness of the LP relaxation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getPrimalRayVal", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11091
 *         return SCIPgetPrimalRayVal(self._scip, var.scip_var)
 * 
 *     def getPrimalRay(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets primal ray causing unboundedness of the LP relaxation.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_725getPrimalRay(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_724getPrimalRay, "\n        Gets primal ray causing unboundedness of the LP relaxation.\n\n        Returns\n        -------\n        list of float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_725getPrimalRay = {"getPrimalRay", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_725getPrimalRay, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_724getPrimalRay};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_725getPrimalRay(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPrimalRay (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPrimalRay", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPrimalRay", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_724getPrimalRay(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_724getPrimalRay(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_VAR **__pyx_v_vars;
  int __pyx_v_nvars;
  int __pyx_v_i;
  PyObject *__pyx_v_ray = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPrimalRay", 0);

  /* "src/pyscipopt/scip.pxi":11100
 * 
 *         """
 *         assert SCIPhasPrimalRay(self._scip), "The problem does not have a primal ray."             # <<<<<<<<<<<<<<
 *         cdef SCIP_VAR** vars = SCIPgetVars(self._scip)
 *         cdef int nvars = SCIPgetNVars(self._scip)
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = (SCIPhasPrimalRay(__pyx_v_self->_scip) != 0);
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_The_problem_does_not_have_a_prim, 0, 0);
      __PYX_ERR(2, 11100, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 11100, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":11101
 *         """
 *         assert SCIPhasPrimalRay(self._scip), "The problem does not have a primal ray."
 *         cdef SCIP_VAR** vars = SCIPgetVars(self._scip)             # <<<<<<<<<<<<<<
 *         cdef int nvars = SCIPgetNVars(self._scip)
 *         cdef int i
*/
  __pyx_v_vars = SCIPgetVars(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":11102
 *         assert SCIPhasPrimalRay(self._scip), "The problem does not have a primal ray."
 *         cdef SCIP_VAR** vars = SCIPgetVars(self._scip)
 *         cdef int nvars = SCIPgetNVars(self._scip)             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_nvars = SCIPgetNVars(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":11105
 *         cdef int i
 * 
 *         ray = []             # <<<<<<<<<<<<<<
 *         for i in range(nvars):
 *             ray.append(float(SCIPgetPrimalRayVal(self._scip, vars[i])))
*/
  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_v_ray = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11106
 * 
 *         ray = []
 *         for i in range(nvars):             # <<<<<<<<<<<<<<
 *             ray.append(float(SCIPgetPrimalRayVal(self._scip, vars[i])))
 * 
*/
  __pyx_t_3 = __pyx_v_nvars;
  __pyx_t_4 = __pyx_t_3;
  for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
    __pyx_v_i = __pyx_t_5;

    /* "src/pyscipopt/scip.pxi":11107
 *         ray = []
 *         for i in range(nvars):
 *             ray.append(float(SCIPgetPrimalRayVal(self._scip, vars[i])))             # <<<<<<<<<<<<<<
 * 
 *         return ray
*/
    __pyx_t_2 = PyFloat_FromDouble(((double)SCIPgetPrimalRayVal(__pyx_v_self->_scip, (__pyx_v_vars[__pyx_v_i])))); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_ray, __pyx_t_2); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(2, 11107, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }

  /* "src/pyscipopt/scip.pxi":11109
 *             ray.append(float(SCIPgetPrimalRayVal(self._scip, vars[i])))
 * 
 *         return ray             # <<<<<<<<<<<<<<
 * 
 *     def getPrimalbound(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_ray);
  __pyx_r = __pyx_v_ray;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11091
 *         return SCIPgetPrimalRayVal(self._scip, var.scip_var)
 * 
 *     def getPrimalRay(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets primal ray causing unboundedness of the LP relaxation.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getPrimalRay", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_ray);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11111
 *         return ray
 * 
 *     def getPrimalbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the best primal bound.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_727getPrimalbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_726getPrimalbound, "\n        Retrieve the best primal bound.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_727getPrimalbound = {"getPrimalbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_727getPrimalbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_726getPrimalbound};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_727getPrimalbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getPrimalbound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getPrimalbound", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getPrimalbound", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_726getPrimalbound(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_726getPrimalbound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getPrimalbound", 0);

  /* "src/pyscipopt/scip.pxi":11120
 * 
 *         """
 *         return SCIPgetPrimalbound(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getDualbound(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetPrimalbound(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11120, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11111
 *         return ray
 * 
 *     def getPrimalbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the best primal bound.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getPrimalbound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11122
 *         return SCIPgetPrimalbound(self._scip)
 * 
 *     def getDualbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the best dual bound.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_729getDualbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_728getDualbound, "\n        Retrieve the best dual bound.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_729getDualbound = {"getDualbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_729getDualbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_728getDualbound};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_729getDualbound(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDualbound (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getDualbound", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getDualbound", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_728getDualbound(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_728getDualbound(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDualbound", 0);

  /* "src/pyscipopt/scip.pxi":11131
 * 
 *         """
 *         return SCIPgetDualbound(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getDualboundRoot(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetDualbound(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11122
 *         return SCIPgetPrimalbound(self._scip)
 * 
 *     def getDualbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the best dual bound.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualbound", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11133
 *         return SCIPgetDualbound(self._scip)
 * 
 *     def getDualboundRoot(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the best root dual bound.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_731getDualboundRoot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_730getDualboundRoot, "\n        Retrieve the best root dual bound.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_731getDualboundRoot = {"getDualboundRoot", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_731getDualboundRoot, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_730getDualboundRoot};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_731getDualboundRoot(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getDualboundRoot (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getDualboundRoot", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getDualboundRoot", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_730getDualboundRoot(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_730getDualboundRoot(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getDualboundRoot", 0);

  /* "src/pyscipopt/scip.pxi":11142
 * 
 *         """
 *         return SCIPgetDualboundRoot(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def writeName(self, Variable var):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetDualboundRoot(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11133
 *         return SCIPgetDualbound(self._scip)
 * 
 *     def getDualboundRoot(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the best root dual bound.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getDualboundRoot", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11144
 *         return SCIPgetDualboundRoot(self._scip)
 * 
 *     def writeName(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Write the name of the variable to the std out.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_733writeName(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_732writeName, "\n        Write the name of the variable to the std out.\n\n        Parameters\n        ----------\n        var : Variable\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_733writeName = {"writeName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_733writeName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_732writeName};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_733writeName(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeName (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11144, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11144, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "writeName", 0) < (0)) __PYX_ERR(2, 11144, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("writeName", 1, 1, 1, i); __PYX_ERR(2, 11144, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11144, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeName", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 11144, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 11144, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_732writeName(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_732writeName(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("writeName", 0);

  /* "src/pyscipopt/scip.pxi":11153
 * 
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 11153, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11154
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPwriteVarName(self._scip, NULL, var.scip_var, False))
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11154, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11156
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         PY_SCIP_CALL(SCIPwriteVarName(self._scip, NULL, var.scip_var, False))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPwriteVarName(__pyx_v_self->_scip, NULL, __pyx_v_var->scip_var, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11156, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11158
 *         PY_SCIP_CALL(SCIPwriteVarName(self._scip, NULL, var.scip_var, False))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def getStage(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11158, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11144
 *         return SCIPgetDualboundRoot(self._scip)
 * 
 *     def writeName(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Write the name of the variable to the std out.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11160
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def getStage(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current SCIP stage.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_735getStage(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_734getStage, "\n        Retrieve current SCIP stage.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_735getStage = {"getStage", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_735getStage, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_734getStage};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_735getStage(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getStage (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getStage", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getStage", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_734getStage(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_734getStage(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getStage", 0);

  /* "src/pyscipopt/scip.pxi":11169
 * 
 *         """
 *         return SCIPgetStage(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getStageName(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_STAGE(SCIPgetStage(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11160
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def getStage(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current SCIP stage.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getStage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11171
 *         return SCIPgetStage(self._scip)
 * 
 *     def getStageName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns name of current stage as string.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_737getStageName(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_736getStageName, "\n        Returns name of current stage as string.\n\n        Returns\n        -------\n        str\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_737getStageName = {"getStageName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_737getStageName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_736getStageName};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_737getStageName(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getStageName (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getStageName", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getStageName", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_736getStageName(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_736getStageName(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getStageName", 0);

  /* "src/pyscipopt/scip.pxi":11180
 * 
 *         """
 *         if not StageNames:             # <<<<<<<<<<<<<<
 *             self._getStageNames()
 *         return StageNames[self.getStage()]
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_StageNames); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 11180, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_3 = (!__pyx_t_2);
  if (__pyx_t_3) {

    /* "src/pyscipopt/scip.pxi":11181
 *         """
 *         if not StageNames:
 *             self._getStageNames()             # <<<<<<<<<<<<<<
 *         return StageNames[self.getStage()]
 * 
*/
    __pyx_t_4 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_4);
    __pyx_t_5 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStageNames, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11181, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11180
 * 
 *         """
 *         if not StageNames:             # <<<<<<<<<<<<<<
 *             self._getStageNames()
 *         return StageNames[self.getStage()]
*/
  }

  /* "src/pyscipopt/scip.pxi":11182
 *         if not StageNames:
 *             self._getStageNames()
 *         return StageNames[self.getStage()]             # <<<<<<<<<<<<<<
 * 
 *     def _getStageNames(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_StageNames); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_6 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_6);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11182, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_r = __pyx_t_6;
  __pyx_t_6 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11171
 *         return SCIPgetStage(self._scip)
 * 
 *     def getStageName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns name of current stage as string.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getStageName", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11184
 *         return StageNames[self.getStage()]
 * 
 *     def _getStageNames(self):             # <<<<<<<<<<<<<<
 *         """Gets names of stages."""
 *         for name in dir(PY_SCIP_STAGE):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_739_getStageNames(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_738_getStageNames, "Gets names of stages.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_739_getStageNames = {"_getStageNames", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_739_getStageNames, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_738_getStageNames};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_739_getStageNames(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("_getStageNames (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("_getStageNames", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("_getStageNames", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_738_getStageNames(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_738_getStageNames(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_attr = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  Py_ssize_t __pyx_t_3;
  PyObject *(*__pyx_t_4)(PyObject *);
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_getStageNames", 0);

  /* "src/pyscipopt/scip.pxi":11186
 *     def _getStageNames(self):
 *         """Gets names of stages."""
 *         for name in dir(PY_SCIP_STAGE):             # <<<<<<<<<<<<<<
 *             attr = getattr(PY_SCIP_STAGE, name)
 *             if isinstance(attr, int):
*/
  __pyx_t_1 = PyObject_Dir(((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
    __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    __pyx_t_4 = NULL;
  } else {
    __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11186, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  for (;;) {
    if (likely(!__pyx_t_4)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 11186, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        __pyx_t_1 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_3, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_3;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 11186, __pyx_L1_error)
          #endif
          if (__pyx_t_3 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_1 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3));
        #else
        __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3);
        #endif
        ++__pyx_t_3;
      }
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11186, __pyx_L1_error)
    } else {
      __pyx_t_1 = __pyx_t_4(__pyx_t_2);
      if (unlikely(!__pyx_t_1)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 11186, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11187
 *         """Gets names of stages."""
 *         for name in dir(PY_SCIP_STAGE):
 *             attr = getattr(PY_SCIP_STAGE, name)             # <<<<<<<<<<<<<<
 *             if isinstance(attr, int):
 *                 StageNames[attr] = name
*/
    __pyx_t_1 = __Pyx_GetAttr(((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE), __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11187, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_attr, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11188
 *         for name in dir(PY_SCIP_STAGE):
 *             attr = getattr(PY_SCIP_STAGE, name)
 *             if isinstance(attr, int):             # <<<<<<<<<<<<<<
 *                 StageNames[attr] = name
 * 
*/
    __pyx_t_5 = PyLong_Check(__pyx_v_attr); 
    if (__pyx_t_5) {

      /* "src/pyscipopt/scip.pxi":11189
 *             attr = getattr(PY_SCIP_STAGE, name)
 *             if isinstance(attr, int):
 *                 StageNames[attr] = name             # <<<<<<<<<<<<<<
 * 
 *     def getStatus(self):
*/
      __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_StageNames); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11189, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_v_attr, __pyx_v_name) < 0))) __PYX_ERR(2, 11189, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

      /* "src/pyscipopt/scip.pxi":11188
 *         for name in dir(PY_SCIP_STAGE):
 *             attr = getattr(PY_SCIP_STAGE, name)
 *             if isinstance(attr, int):             # <<<<<<<<<<<<<<
 *                 StageNames[attr] = name
 * 
*/
    }

    /* "src/pyscipopt/scip.pxi":11186
 *     def _getStageNames(self):
 *         """Gets names of stages."""
 *         for name in dir(PY_SCIP_STAGE):             # <<<<<<<<<<<<<<
 *             attr = getattr(PY_SCIP_STAGE, name)
 *             if isinstance(attr, int):
*/
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11184
 *         return StageNames[self.getStage()]
 * 
 *     def _getStageNames(self):             # <<<<<<<<<<<<<<
 *         """Gets names of stages."""
 *         for name in dir(PY_SCIP_STAGE):
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Model._getStageNames", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_attr);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11191
 *                 StageNames[attr] = name
 * 
 *     def getStatus(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve solution status.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_741getStatus(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_740getStatus, "\n        Retrieve solution status.\n\n        Returns\n        -------\n        str\n            The status of SCIP.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_741getStatus = {"getStatus", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_741getStatus, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_740getStatus};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_741getStatus(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getStatus (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getStatus", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getStatus", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_740getStatus(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_740getStatus(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_STATUS __pyx_v_stat;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("getStatus", 0);

  /* "src/pyscipopt/scip.pxi":11201
 * 
 *         """
 *         cdef SCIP_STATUS stat = SCIPgetStatus(self._scip)             # <<<<<<<<<<<<<<
 *         if stat == SCIP_STATUS_OPTIMAL:
 *             return "optimal"
*/
  __pyx_v_stat = SCIPgetStatus(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":11202
 *         """
 *         cdef SCIP_STATUS stat = SCIPgetStatus(self._scip)
 *         if stat == SCIP_STATUS_OPTIMAL:             # <<<<<<<<<<<<<<
 *             return "optimal"
 *         elif stat == SCIP_STATUS_TIMELIMIT:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_OPTIMAL);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11203
 *         cdef SCIP_STATUS stat = SCIPgetStatus(self._scip)
 *         if stat == SCIP_STATUS_OPTIMAL:
 *             return "optimal"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_TIMELIMIT:
 *             return "timelimit"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_optimal);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_optimal;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11202
 *         """
 *         cdef SCIP_STATUS stat = SCIPgetStatus(self._scip)
 *         if stat == SCIP_STATUS_OPTIMAL:             # <<<<<<<<<<<<<<
 *             return "optimal"
 *         elif stat == SCIP_STATUS_TIMELIMIT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11204
 *         if stat == SCIP_STATUS_OPTIMAL:
 *             return "optimal"
 *         elif stat == SCIP_STATUS_TIMELIMIT:             # <<<<<<<<<<<<<<
 *             return "timelimit"
 *         elif stat == SCIP_STATUS_INFEASIBLE:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_TIMELIMIT);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11205
 *             return "optimal"
 *         elif stat == SCIP_STATUS_TIMELIMIT:
 *             return "timelimit"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_INFEASIBLE:
 *             return "infeasible"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_timelimit);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_timelimit;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11204
 *         if stat == SCIP_STATUS_OPTIMAL:
 *             return "optimal"
 *         elif stat == SCIP_STATUS_TIMELIMIT:             # <<<<<<<<<<<<<<
 *             return "timelimit"
 *         elif stat == SCIP_STATUS_INFEASIBLE:
*/
  }

  /* "src/pyscipopt/scip.pxi":11206
 *         elif stat == SCIP_STATUS_TIMELIMIT:
 *             return "timelimit"
 *         elif stat == SCIP_STATUS_INFEASIBLE:             # <<<<<<<<<<<<<<
 *             return "infeasible"
 *         elif stat == SCIP_STATUS_UNBOUNDED:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_INFEASIBLE);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11207
 *             return "timelimit"
 *         elif stat == SCIP_STATUS_INFEASIBLE:
 *             return "infeasible"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_UNBOUNDED:
 *             return "unbounded"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_infeasible);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_infeasible;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11206
 *         elif stat == SCIP_STATUS_TIMELIMIT:
 *             return "timelimit"
 *         elif stat == SCIP_STATUS_INFEASIBLE:             # <<<<<<<<<<<<<<
 *             return "infeasible"
 *         elif stat == SCIP_STATUS_UNBOUNDED:
*/
  }

  /* "src/pyscipopt/scip.pxi":11208
 *         elif stat == SCIP_STATUS_INFEASIBLE:
 *             return "infeasible"
 *         elif stat == SCIP_STATUS_UNBOUNDED:             # <<<<<<<<<<<<<<
 *             return "unbounded"
 *         elif stat == SCIP_STATUS_USERINTERRUPT:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_UNBOUNDED);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11209
 *             return "infeasible"
 *         elif stat == SCIP_STATUS_UNBOUNDED:
 *             return "unbounded"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_USERINTERRUPT:
 *             return "userinterrupt"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_unbounded);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_unbounded;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11208
 *         elif stat == SCIP_STATUS_INFEASIBLE:
 *             return "infeasible"
 *         elif stat == SCIP_STATUS_UNBOUNDED:             # <<<<<<<<<<<<<<
 *             return "unbounded"
 *         elif stat == SCIP_STATUS_USERINTERRUPT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11210
 *         elif stat == SCIP_STATUS_UNBOUNDED:
 *             return "unbounded"
 *         elif stat == SCIP_STATUS_USERINTERRUPT:             # <<<<<<<<<<<<<<
 *             return "userinterrupt"
 *         elif stat == SCIP_STATUS_INFORUNBD:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_USERINTERRUPT);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11211
 *             return "unbounded"
 *         elif stat == SCIP_STATUS_USERINTERRUPT:
 *             return "userinterrupt"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_INFORUNBD:
 *             return "inforunbd"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_userinterrupt);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_userinterrupt;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11210
 *         elif stat == SCIP_STATUS_UNBOUNDED:
 *             return "unbounded"
 *         elif stat == SCIP_STATUS_USERINTERRUPT:             # <<<<<<<<<<<<<<
 *             return "userinterrupt"
 *         elif stat == SCIP_STATUS_INFORUNBD:
*/
  }

  /* "src/pyscipopt/scip.pxi":11212
 *         elif stat == SCIP_STATUS_USERINTERRUPT:
 *             return "userinterrupt"
 *         elif stat == SCIP_STATUS_INFORUNBD:             # <<<<<<<<<<<<<<
 *             return "inforunbd"
 *         elif stat == SCIP_STATUS_NODELIMIT:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_INFORUNBD);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11213
 *             return "userinterrupt"
 *         elif stat == SCIP_STATUS_INFORUNBD:
 *             return "inforunbd"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_NODELIMIT:
 *             return "nodelimit"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_inforunbd);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_inforunbd;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11212
 *         elif stat == SCIP_STATUS_USERINTERRUPT:
 *             return "userinterrupt"
 *         elif stat == SCIP_STATUS_INFORUNBD:             # <<<<<<<<<<<<<<
 *             return "inforunbd"
 *         elif stat == SCIP_STATUS_NODELIMIT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11214
 *         elif stat == SCIP_STATUS_INFORUNBD:
 *             return "inforunbd"
 *         elif stat == SCIP_STATUS_NODELIMIT:             # <<<<<<<<<<<<<<
 *             return "nodelimit"
 *         elif stat == SCIP_STATUS_TOTALNODELIMIT:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_NODELIMIT);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11215
 *             return "inforunbd"
 *         elif stat == SCIP_STATUS_NODELIMIT:
 *             return "nodelimit"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_TOTALNODELIMIT:
 *             return "totalnodelimit"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_nodelimit);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_nodelimit;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11214
 *         elif stat == SCIP_STATUS_INFORUNBD:
 *             return "inforunbd"
 *         elif stat == SCIP_STATUS_NODELIMIT:             # <<<<<<<<<<<<<<
 *             return "nodelimit"
 *         elif stat == SCIP_STATUS_TOTALNODELIMIT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11216
 *         elif stat == SCIP_STATUS_NODELIMIT:
 *             return "nodelimit"
 *         elif stat == SCIP_STATUS_TOTALNODELIMIT:             # <<<<<<<<<<<<<<
 *             return "totalnodelimit"
 *         elif stat == SCIP_STATUS_STALLNODELIMIT:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_TOTALNODELIMIT);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11217
 *             return "nodelimit"
 *         elif stat == SCIP_STATUS_TOTALNODELIMIT:
 *             return "totalnodelimit"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_STALLNODELIMIT:
 *             return "stallnodelimit"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_totalnodelimit);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_totalnodelimit;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11216
 *         elif stat == SCIP_STATUS_NODELIMIT:
 *             return "nodelimit"
 *         elif stat == SCIP_STATUS_TOTALNODELIMIT:             # <<<<<<<<<<<<<<
 *             return "totalnodelimit"
 *         elif stat == SCIP_STATUS_STALLNODELIMIT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11218
 *         elif stat == SCIP_STATUS_TOTALNODELIMIT:
 *             return "totalnodelimit"
 *         elif stat == SCIP_STATUS_STALLNODELIMIT:             # <<<<<<<<<<<<<<
 *             return "stallnodelimit"
 *         elif stat == SCIP_STATUS_GAPLIMIT:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_STALLNODELIMIT);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11219
 *             return "totalnodelimit"
 *         elif stat == SCIP_STATUS_STALLNODELIMIT:
 *             return "stallnodelimit"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_GAPLIMIT:
 *             return "gaplimit"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_stallnodelimit);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_stallnodelimit;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11218
 *         elif stat == SCIP_STATUS_TOTALNODELIMIT:
 *             return "totalnodelimit"
 *         elif stat == SCIP_STATUS_STALLNODELIMIT:             # <<<<<<<<<<<<<<
 *             return "stallnodelimit"
 *         elif stat == SCIP_STATUS_GAPLIMIT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11220
 *         elif stat == SCIP_STATUS_STALLNODELIMIT:
 *             return "stallnodelimit"
 *         elif stat == SCIP_STATUS_GAPLIMIT:             # <<<<<<<<<<<<<<
 *             return "gaplimit"
 *         elif stat == SCIP_STATUS_MEMLIMIT:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_GAPLIMIT);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11221
 *             return "stallnodelimit"
 *         elif stat == SCIP_STATUS_GAPLIMIT:
 *             return "gaplimit"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_MEMLIMIT:
 *             return "memlimit"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_gaplimit);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_gaplimit;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11220
 *         elif stat == SCIP_STATUS_STALLNODELIMIT:
 *             return "stallnodelimit"
 *         elif stat == SCIP_STATUS_GAPLIMIT:             # <<<<<<<<<<<<<<
 *             return "gaplimit"
 *         elif stat == SCIP_STATUS_MEMLIMIT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11222
 *         elif stat == SCIP_STATUS_GAPLIMIT:
 *             return "gaplimit"
 *         elif stat == SCIP_STATUS_MEMLIMIT:             # <<<<<<<<<<<<<<
 *             return "memlimit"
 *         elif stat == SCIP_STATUS_SOLLIMIT:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_MEMLIMIT);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11223
 *             return "gaplimit"
 *         elif stat == SCIP_STATUS_MEMLIMIT:
 *             return "memlimit"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_SOLLIMIT:
 *             return "sollimit"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_memlimit);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_memlimit;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11222
 *         elif stat == SCIP_STATUS_GAPLIMIT:
 *             return "gaplimit"
 *         elif stat == SCIP_STATUS_MEMLIMIT:             # <<<<<<<<<<<<<<
 *             return "memlimit"
 *         elif stat == SCIP_STATUS_SOLLIMIT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11224
 *         elif stat == SCIP_STATUS_MEMLIMIT:
 *             return "memlimit"
 *         elif stat == SCIP_STATUS_SOLLIMIT:             # <<<<<<<<<<<<<<
 *             return "sollimit"
 *         elif stat == SCIP_STATUS_BESTSOLLIMIT:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_SOLLIMIT);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11225
 *             return "memlimit"
 *         elif stat == SCIP_STATUS_SOLLIMIT:
 *             return "sollimit"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_BESTSOLLIMIT:
 *             return "bestsollimit"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_sollimit);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_sollimit;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11224
 *         elif stat == SCIP_STATUS_MEMLIMIT:
 *             return "memlimit"
 *         elif stat == SCIP_STATUS_SOLLIMIT:             # <<<<<<<<<<<<<<
 *             return "sollimit"
 *         elif stat == SCIP_STATUS_BESTSOLLIMIT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11226
 *         elif stat == SCIP_STATUS_SOLLIMIT:
 *             return "sollimit"
 *         elif stat == SCIP_STATUS_BESTSOLLIMIT:             # <<<<<<<<<<<<<<
 *             return "bestsollimit"
 *         elif stat == SCIP_STATUS_RESTARTLIMIT:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_BESTSOLLIMIT);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11227
 *             return "sollimit"
 *         elif stat == SCIP_STATUS_BESTSOLLIMIT:
 *             return "bestsollimit"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_RESTARTLIMIT:
 *             return  "restartlimit"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_bestsollimit);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_bestsollimit;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11226
 *         elif stat == SCIP_STATUS_SOLLIMIT:
 *             return "sollimit"
 *         elif stat == SCIP_STATUS_BESTSOLLIMIT:             # <<<<<<<<<<<<<<
 *             return "bestsollimit"
 *         elif stat == SCIP_STATUS_RESTARTLIMIT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11228
 *         elif stat == SCIP_STATUS_BESTSOLLIMIT:
 *             return "bestsollimit"
 *         elif stat == SCIP_STATUS_RESTARTLIMIT:             # <<<<<<<<<<<<<<
 *             return  "restartlimit"
 *         elif stat == SCIP_STATUS_PRIMALLIMIT:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_RESTARTLIMIT);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11229
 *             return "bestsollimit"
 *         elif stat == SCIP_STATUS_RESTARTLIMIT:
 *             return  "restartlimit"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_PRIMALLIMIT:
 *             return "primallimit"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_restartlimit);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_restartlimit;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11228
 *         elif stat == SCIP_STATUS_BESTSOLLIMIT:
 *             return "bestsollimit"
 *         elif stat == SCIP_STATUS_RESTARTLIMIT:             # <<<<<<<<<<<<<<
 *             return  "restartlimit"
 *         elif stat == SCIP_STATUS_PRIMALLIMIT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11230
 *         elif stat == SCIP_STATUS_RESTARTLIMIT:
 *             return  "restartlimit"
 *         elif stat == SCIP_STATUS_PRIMALLIMIT:             # <<<<<<<<<<<<<<
 *             return "primallimit"
 *         elif stat == SCIP_STATUS_DUALLIMIT:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_PRIMALLIMIT);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11231
 *             return  "restartlimit"
 *         elif stat == SCIP_STATUS_PRIMALLIMIT:
 *             return "primallimit"             # <<<<<<<<<<<<<<
 *         elif stat == SCIP_STATUS_DUALLIMIT:
 *             return "duallimit"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_primallimit);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_primallimit;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11230
 *         elif stat == SCIP_STATUS_RESTARTLIMIT:
 *             return  "restartlimit"
 *         elif stat == SCIP_STATUS_PRIMALLIMIT:             # <<<<<<<<<<<<<<
 *             return "primallimit"
 *         elif stat == SCIP_STATUS_DUALLIMIT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11232
 *         elif stat == SCIP_STATUS_PRIMALLIMIT:
 *             return "primallimit"
 *         elif stat == SCIP_STATUS_DUALLIMIT:             # <<<<<<<<<<<<<<
 *             return "duallimit"
 *         else:
*/
  __pyx_t_1 = (__pyx_v_stat == SCIP_STATUS_DUALLIMIT);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11233
 *             return "primallimit"
 *         elif stat == SCIP_STATUS_DUALLIMIT:
 *             return "duallimit"             # <<<<<<<<<<<<<<
 *         else:
 *             return "unknown"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_duallimit);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_duallimit;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11232
 *         elif stat == SCIP_STATUS_PRIMALLIMIT:
 *             return "primallimit"
 *         elif stat == SCIP_STATUS_DUALLIMIT:             # <<<<<<<<<<<<<<
 *             return "duallimit"
 *         else:
*/
  }

  /* "src/pyscipopt/scip.pxi":11235
 *             return "duallimit"
 *         else:
 *             return "unknown"             # <<<<<<<<<<<<<<
 * 
 *     def getObjectiveSense(self):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_unknown);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_unknown;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/scip.pxi":11191
 *                 StageNames[attr] = name
 * 
 *     def getStatus(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve solution status.
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11237
 *             return "unknown"
 * 
 *     def getObjectiveSense(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve objective sense.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_743getObjectiveSense(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_742getObjectiveSense, "\n        Retrieve objective sense.\n\n        Returns\n        -------\n        str\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_743getObjectiveSense = {"getObjectiveSense", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_743getObjectiveSense, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_742getObjectiveSense};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_743getObjectiveSense(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getObjectiveSense (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getObjectiveSense", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getObjectiveSense", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_742getObjectiveSense(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_742getObjectiveSense(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_OBJSENSE __pyx_v_sense;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("getObjectiveSense", 0);

  /* "src/pyscipopt/scip.pxi":11246
 * 
 *         """
 *         cdef SCIP_OBJSENSE sense = SCIPgetObjsense(self._scip)             # <<<<<<<<<<<<<<
 *         if sense == SCIP_OBJSENSE_MAXIMIZE:
 *             return "maximize"
*/
  __pyx_v_sense = SCIPgetObjsense(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":11247
 *         """
 *         cdef SCIP_OBJSENSE sense = SCIPgetObjsense(self._scip)
 *         if sense == SCIP_OBJSENSE_MAXIMIZE:             # <<<<<<<<<<<<<<
 *             return "maximize"
 *         elif sense == SCIP_OBJSENSE_MINIMIZE:
*/
  __pyx_t_1 = (__pyx_v_sense == SCIP_OBJSENSE_MAXIMIZE);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11248
 *         cdef SCIP_OBJSENSE sense = SCIPgetObjsense(self._scip)
 *         if sense == SCIP_OBJSENSE_MAXIMIZE:
 *             return "maximize"             # <<<<<<<<<<<<<<
 *         elif sense == SCIP_OBJSENSE_MINIMIZE:
 *             return "minimize"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_maximize);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_maximize;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11247
 *         """
 *         cdef SCIP_OBJSENSE sense = SCIPgetObjsense(self._scip)
 *         if sense == SCIP_OBJSENSE_MAXIMIZE:             # <<<<<<<<<<<<<<
 *             return "maximize"
 *         elif sense == SCIP_OBJSENSE_MINIMIZE:
*/
  }

  /* "src/pyscipopt/scip.pxi":11249
 *         if sense == SCIP_OBJSENSE_MAXIMIZE:
 *             return "maximize"
 *         elif sense == SCIP_OBJSENSE_MINIMIZE:             # <<<<<<<<<<<<<<
 *             return "minimize"
 *         else:
*/
  __pyx_t_1 = (__pyx_v_sense == SCIP_OBJSENSE_MINIMIZE);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11250
 *             return "maximize"
 *         elif sense == SCIP_OBJSENSE_MINIMIZE:
 *             return "minimize"             # <<<<<<<<<<<<<<
 *         else:
 *             return "unknown"
*/
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_minimize);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_minimize;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11249
 *         if sense == SCIP_OBJSENSE_MAXIMIZE:
 *             return "maximize"
 *         elif sense == SCIP_OBJSENSE_MINIMIZE:             # <<<<<<<<<<<<<<
 *             return "minimize"
 *         else:
*/
  }

  /* "src/pyscipopt/scip.pxi":11252
 *             return "minimize"
 *         else:
 *             return "unknown"             # <<<<<<<<<<<<<<
 * 
 *     def catchEvent(self, eventtype, Eventhdlr eventhdlr):
*/
  /*else*/ {
    __Pyx_XDECREF(__pyx_r);
    __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_unknown);
    __pyx_r = __pyx_mstate_global->__pyx_n_u_unknown;
    goto __pyx_L0;
  }

  /* "src/pyscipopt/scip.pxi":11237
 *             return "unknown"
 * 
 *     def getObjectiveSense(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve objective sense.
*/

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11254
 *             return "unknown"
 * 
 *     def catchEvent(self, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Catches a global (not variable or row dependent) event.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_745catchEvent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_744catchEvent, "\n        Catches a global (not variable or row dependent) event.\n\n        Parameters\n        ----------\n        eventtype : PY_SCIP_EVENTTYPE\n        eventhdlr : Eventhdlr\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_745catchEvent = {"catchEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_745catchEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_744catchEvent};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_745catchEvent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_eventtype = 0;
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("catchEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_eventtype,&__pyx_mstate_global->__pyx_n_u_eventhdlr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11254, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11254, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11254, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "catchEvent", 0) < (0)) __PYX_ERR(2, 11254, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("catchEvent", 1, 2, 2, i); __PYX_ERR(2, 11254, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11254, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11254, __pyx_L3_error)
    }
    __pyx_v_eventtype = values[0];
    __pyx_v_eventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("catchEvent", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 11254, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.catchEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_eventhdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, 1, "eventhdlr", 0))) __PYX_ERR(2, 11254, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_744catchEvent(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_eventtype, __pyx_v_eventhdlr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_744catchEvent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_eventtype, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr) {
  SCIP_EVENTHDLR *__pyx_v__eventhdlr;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  char const *__pyx_t_6;
  SCIP_EVENTTYPE __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("catchEvent", 0);

  /* "src/pyscipopt/scip.pxi":11265
 *         """
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):             # <<<<<<<<<<<<<<
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_eventhdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr); 
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":11266
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):
 *             n = str_conversion(eventhdlr.name)             # <<<<<<<<<<<<<<
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11266, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_eventhdlr->name};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11266, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_n = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":11267
 *         if isinstance(eventhdlr, Eventhdlr):
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("event handler not found")
*/
    __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 11267, __pyx_L1_error)
    __pyx_v__eventhdlr = SCIPfindEventhdlr(__pyx_v_self->_scip, __pyx_t_6);

    /* "src/pyscipopt/scip.pxi":11265
 *         """
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):             # <<<<<<<<<<<<<<
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":11269
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
 *         else:
 *             raise Warning("event handler not found")             # <<<<<<<<<<<<<<
 * 
 *         Py_INCREF(self)
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_event_handler_not_found};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11269, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 11269, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":11271
 *             raise Warning("event handler not found")
 * 
 *         Py_INCREF(self)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPcatchEvent(self._scip, eventtype, _eventhdlr, NULL, NULL))
 * 
*/
  Py_INCREF(((PyObject *)__pyx_v_self));

  /* "src/pyscipopt/scip.pxi":11272
 * 
 *         Py_INCREF(self)
 *         PY_SCIP_CALL(SCIPcatchEvent(self._scip, eventtype, _eventhdlr, NULL, NULL))             # <<<<<<<<<<<<<<
 * 
 *     def dropEvent(self, eventtype, Eventhdlr eventhdlr):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_As_SCIP_EVENTTYPE(__pyx_v_eventtype); if (unlikely((__pyx_t_7 == ((SCIP_EVENTTYPE)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11272, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcatchEvent(__pyx_v_self->_scip, __pyx_t_7, __pyx_v__eventhdlr, NULL, NULL)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 11272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11272, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11254
 *             return "unknown"
 * 
 *     def catchEvent(self, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Catches a global (not variable or row dependent) event.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.catchEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11274
 *         PY_SCIP_CALL(SCIPcatchEvent(self._scip, eventtype, _eventhdlr, NULL, NULL))
 * 
 *     def dropEvent(self, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Drops a global event (stops tracking the event).
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_747dropEvent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_746dropEvent, "\n        Drops a global event (stops tracking the event).\n\n        Parameters\n        ----------\n        eventtype : PY_SCIP_EVENTTYPE\n        eventhdlr : Eventhdlr\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_747dropEvent = {"dropEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_747dropEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_746dropEvent};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_747dropEvent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_eventtype = 0;
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("dropEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_eventtype,&__pyx_mstate_global->__pyx_n_u_eventhdlr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11274, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11274, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11274, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "dropEvent", 0) < (0)) __PYX_ERR(2, 11274, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("dropEvent", 1, 2, 2, i); __PYX_ERR(2, 11274, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11274, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11274, __pyx_L3_error)
    }
    __pyx_v_eventtype = values[0];
    __pyx_v_eventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)values[1]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("dropEvent", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 11274, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.dropEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_eventhdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, 1, "eventhdlr", 0))) __PYX_ERR(2, 11274, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_746dropEvent(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_eventtype, __pyx_v_eventhdlr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_746dropEvent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_eventtype, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr) {
  SCIP_EVENTHDLR *__pyx_v__eventhdlr;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  char const *__pyx_t_6;
  SCIP_EVENTTYPE __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("dropEvent", 0);

  /* "src/pyscipopt/scip.pxi":11285
 *         """
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):             # <<<<<<<<<<<<<<
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_eventhdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr); 
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":11286
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):
 *             n = str_conversion(eventhdlr.name)             # <<<<<<<<<<<<<<
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11286, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_eventhdlr->name};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11286, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_n = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":11287
 *         if isinstance(eventhdlr, Eventhdlr):
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("event handler not found")
*/
    __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 11287, __pyx_L1_error)
    __pyx_v__eventhdlr = SCIPfindEventhdlr(__pyx_v_self->_scip, __pyx_t_6);

    /* "src/pyscipopt/scip.pxi":11285
 *         """
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):             # <<<<<<<<<<<<<<
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":11289
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
 *         else:
 *             raise Warning("event handler not found")             # <<<<<<<<<<<<<<
 * 
 *         Py_DECREF(self)
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_event_handler_not_found};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 11289, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":11291
 *             raise Warning("event handler not found")
 * 
 *         Py_DECREF(self)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPdropEvent(self._scip, eventtype, _eventhdlr, NULL, -1))
 * 
*/
  Py_DECREF(((PyObject *)__pyx_v_self));

  /* "src/pyscipopt/scip.pxi":11292
 * 
 *         Py_DECREF(self)
 *         PY_SCIP_CALL(SCIPdropEvent(self._scip, eventtype, _eventhdlr, NULL, -1))             # <<<<<<<<<<<<<<
 * 
 *     def catchVarEvent(self, Variable var, eventtype, Eventhdlr eventhdlr):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_As_SCIP_EVENTTYPE(__pyx_v_eventtype); if (unlikely((__pyx_t_7 == ((SCIP_EVENTTYPE)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11292, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPdropEvent(__pyx_v_self->_scip, __pyx_t_7, __pyx_v__eventhdlr, NULL, -1)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 11292, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11292, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11274
 *         PY_SCIP_CALL(SCIPcatchEvent(self._scip, eventtype, _eventhdlr, NULL, NULL))
 * 
 *     def dropEvent(self, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Drops a global event (stops tracking the event).
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.dropEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11294
 *         PY_SCIP_CALL(SCIPdropEvent(self._scip, eventtype, _eventhdlr, NULL, -1))
 * 
 *     def catchVarEvent(self, Variable var, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Catches an objective value or domain change event on the given transformed variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_749catchVarEvent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_748catchVarEvent, "\n        Catches an objective value or domain change event on the given transformed variable.\n\n        Parameters\n        ----------\n        var : Variable\n        eventtype : PY_SCIP_EVENTTYPE\n        eventhdlr : Eventhdlr\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_749catchVarEvent = {"catchVarEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_749catchVarEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_748catchVarEvent};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_749catchVarEvent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_eventtype = 0;
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("catchVarEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_eventtype,&__pyx_mstate_global->__pyx_n_u_eventhdlr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11294, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 11294, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11294, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11294, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "catchVarEvent", 0) < (0)) __PYX_ERR(2, 11294, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("catchVarEvent", 1, 3, 3, i); __PYX_ERR(2, 11294, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11294, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11294, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 11294, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_eventtype = values[1];
    __pyx_v_eventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("catchVarEvent", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 11294, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.catchVarEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 11294, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_eventhdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, 1, "eventhdlr", 0))) __PYX_ERR(2, 11294, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_748catchVarEvent(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_eventtype, __pyx_v_eventhdlr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_748catchVarEvent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_eventtype, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr) {
  SCIP_EVENTHDLR *__pyx_v__eventhdlr;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  char const *__pyx_t_6;
  SCIP_EVENTTYPE __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("catchVarEvent", 0);

  /* "src/pyscipopt/scip.pxi":11306
 *         """
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):             # <<<<<<<<<<<<<<
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_eventhdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr); 
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":11307
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):
 *             n = str_conversion(eventhdlr.name)             # <<<<<<<<<<<<<<
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11307, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_eventhdlr->name};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11307, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_n = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":11308
 *         if isinstance(eventhdlr, Eventhdlr):
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("event handler not found")
*/
    __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 11308, __pyx_L1_error)
    __pyx_v__eventhdlr = SCIPfindEventhdlr(__pyx_v_self->_scip, __pyx_t_6);

    /* "src/pyscipopt/scip.pxi":11306
 *         """
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):             # <<<<<<<<<<<<<<
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":11310
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
 *         else:
 *             raise Warning("event handler not found")             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPcatchVarEvent(self._scip, var.scip_var, eventtype, _eventhdlr, NULL, NULL))
 * 
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_event_handler_not_found};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11310, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 11310, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":11311
 *         else:
 *             raise Warning("event handler not found")
 *         PY_SCIP_CALL(SCIPcatchVarEvent(self._scip, var.scip_var, eventtype, _eventhdlr, NULL, NULL))             # <<<<<<<<<<<<<<
 * 
 *     def dropVarEvent(self, Variable var, eventtype, Eventhdlr eventhdlr):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_As_SCIP_EVENTTYPE(__pyx_v_eventtype); if (unlikely((__pyx_t_7 == ((SCIP_EVENTTYPE)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11311, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcatchVarEvent(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_7, __pyx_v__eventhdlr, NULL, NULL)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 11311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11311, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11294
 *         PY_SCIP_CALL(SCIPdropEvent(self._scip, eventtype, _eventhdlr, NULL, -1))
 * 
 *     def catchVarEvent(self, Variable var, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Catches an objective value or domain change event on the given transformed variable.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.catchVarEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11313
 *         PY_SCIP_CALL(SCIPcatchVarEvent(self._scip, var.scip_var, eventtype, _eventhdlr, NULL, NULL))
 * 
 *     def dropVarEvent(self, Variable var, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Drops an objective value or domain change event (stops tracking the event) on the given transformed variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_751dropVarEvent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_750dropVarEvent, "\n        Drops an objective value or domain change event (stops tracking the event) on the given transformed variable.\n\n        Parameters\n        ----------\n        var : Variable\n        eventtype : PY_SCIP_EVENTTYPE\n        eventhdlr : Eventhdlr\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_751dropVarEvent = {"dropVarEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_751dropVarEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_750dropVarEvent};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_751dropVarEvent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_eventtype = 0;
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("dropVarEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_eventtype,&__pyx_mstate_global->__pyx_n_u_eventhdlr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11313, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 11313, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11313, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11313, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "dropVarEvent", 0) < (0)) __PYX_ERR(2, 11313, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("dropVarEvent", 1, 3, 3, i); __PYX_ERR(2, 11313, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11313, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11313, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 11313, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_eventtype = values[1];
    __pyx_v_eventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("dropVarEvent", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 11313, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.dropVarEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 11313, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_eventhdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, 1, "eventhdlr", 0))) __PYX_ERR(2, 11313, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_750dropVarEvent(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_eventtype, __pyx_v_eventhdlr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_750dropVarEvent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_eventtype, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr) {
  SCIP_EVENTHDLR *__pyx_v__eventhdlr;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  char const *__pyx_t_6;
  SCIP_EVENTTYPE __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("dropVarEvent", 0);

  /* "src/pyscipopt/scip.pxi":11325
 *         """
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):             # <<<<<<<<<<<<<<
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_eventhdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr); 
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":11326
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):
 *             n = str_conversion(eventhdlr.name)             # <<<<<<<<<<<<<<
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11326, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_eventhdlr->name};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11326, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_n = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":11327
 *         if isinstance(eventhdlr, Eventhdlr):
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("event handler not found")
*/
    __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 11327, __pyx_L1_error)
    __pyx_v__eventhdlr = SCIPfindEventhdlr(__pyx_v_self->_scip, __pyx_t_6);

    /* "src/pyscipopt/scip.pxi":11325
 *         """
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):             # <<<<<<<<<<<<<<
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":11329
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
 *         else:
 *             raise Warning("event handler not found")             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPdropVarEvent(self._scip, var.scip_var, eventtype, _eventhdlr, NULL, -1))
 * 
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_event_handler_not_found};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11329, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 11329, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":11330
 *         else:
 *             raise Warning("event handler not found")
 *         PY_SCIP_CALL(SCIPdropVarEvent(self._scip, var.scip_var, eventtype, _eventhdlr, NULL, -1))             # <<<<<<<<<<<<<<
 * 
 *     def catchRowEvent(self, Row row, eventtype, Eventhdlr eventhdlr):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_As_SCIP_EVENTTYPE(__pyx_v_eventtype); if (unlikely((__pyx_t_7 == ((SCIP_EVENTTYPE)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11330, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPdropVarEvent(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_7, __pyx_v__eventhdlr, NULL, -1)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 11330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11330, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11313
 *         PY_SCIP_CALL(SCIPcatchVarEvent(self._scip, var.scip_var, eventtype, _eventhdlr, NULL, NULL))
 * 
 *     def dropVarEvent(self, Variable var, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Drops an objective value or domain change event (stops tracking the event) on the given transformed variable.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.dropVarEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11332
 *         PY_SCIP_CALL(SCIPdropVarEvent(self._scip, var.scip_var, eventtype, _eventhdlr, NULL, -1))
 * 
 *     def catchRowEvent(self, Row row, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Catches a row coefficient, constant, or side change event on the given row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_753catchRowEvent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_752catchRowEvent, "\n        Catches a row coefficient, constant, or side change event on the given row.\n\n        Parameters\n        ----------\n        row : Row\n        eventtype : PY_SCIP_EVENTTYPE\n        eventhdlr : Eventhdlr\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_753catchRowEvent = {"catchRowEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_753catchRowEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_752catchRowEvent};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_753catchRowEvent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  PyObject *__pyx_v_eventtype = 0;
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("catchRowEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,&__pyx_mstate_global->__pyx_n_u_eventtype,&__pyx_mstate_global->__pyx_n_u_eventhdlr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11332, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 11332, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11332, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11332, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "catchRowEvent", 0) < (0)) __PYX_ERR(2, 11332, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("catchRowEvent", 1, 3, 3, i); __PYX_ERR(2, 11332, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11332, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11332, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 11332, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
    __pyx_v_eventtype = values[1];
    __pyx_v_eventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("catchRowEvent", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 11332, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.catchRowEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 1, "row", 0))) __PYX_ERR(2, 11332, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_eventhdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, 1, "eventhdlr", 0))) __PYX_ERR(2, 11332, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_752catchRowEvent(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row, __pyx_v_eventtype, __pyx_v_eventhdlr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_752catchRowEvent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row, PyObject *__pyx_v_eventtype, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr) {
  SCIP_EVENTHDLR *__pyx_v__eventhdlr;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  char const *__pyx_t_6;
  SCIP_EVENTTYPE __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("catchRowEvent", 0);

  /* "src/pyscipopt/scip.pxi":11344
 *         """
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):             # <<<<<<<<<<<<<<
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_eventhdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr); 
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":11345
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):
 *             n = str_conversion(eventhdlr.name)             # <<<<<<<<<<<<<<
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11345, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_eventhdlr->name};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11345, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_n = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":11346
 *         if isinstance(eventhdlr, Eventhdlr):
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("event handler not found")
*/
    __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 11346, __pyx_L1_error)
    __pyx_v__eventhdlr = SCIPfindEventhdlr(__pyx_v_self->_scip, __pyx_t_6);

    /* "src/pyscipopt/scip.pxi":11344
 *         """
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):             # <<<<<<<<<<<<<<
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":11348
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
 *         else:
 *             raise Warning("event handler not found")             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPcatchRowEvent(self._scip, row.scip_row, eventtype, _eventhdlr, NULL, NULL))
 * 
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_event_handler_not_found};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11348, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 11348, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":11349
 *         else:
 *             raise Warning("event handler not found")
 *         PY_SCIP_CALL(SCIPcatchRowEvent(self._scip, row.scip_row, eventtype, _eventhdlr, NULL, NULL))             # <<<<<<<<<<<<<<
 * 
 *     def dropRowEvent(self, Row row, eventtype, Eventhdlr eventhdlr):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_As_SCIP_EVENTTYPE(__pyx_v_eventtype); if (unlikely((__pyx_t_7 == ((SCIP_EVENTTYPE)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11349, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcatchRowEvent(__pyx_v_self->_scip, __pyx_v_row->scip_row, __pyx_t_7, __pyx_v__eventhdlr, NULL, NULL)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 11349, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11349, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11332
 *         PY_SCIP_CALL(SCIPdropVarEvent(self._scip, var.scip_var, eventtype, _eventhdlr, NULL, -1))
 * 
 *     def catchRowEvent(self, Row row, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Catches a row coefficient, constant, or side change event on the given row.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.catchRowEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11351
 *         PY_SCIP_CALL(SCIPcatchRowEvent(self._scip, row.scip_row, eventtype, _eventhdlr, NULL, NULL))
 * 
 *     def dropRowEvent(self, Row row, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Drops a row coefficient, constant, or side change event (stops tracking the event) on the given row.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_755dropRowEvent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_754dropRowEvent, "\n        Drops a row coefficient, constant, or side change event (stops tracking the event) on the given row.\n\n        Parameters\n        ----------\n        row : Row\n        eventtype : PY_SCIP_EVENTTYPE\n        eventhdlr : Eventhdlr\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_755dropRowEvent = {"dropRowEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_755dropRowEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_754dropRowEvent};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_755dropRowEvent(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row = 0;
  PyObject *__pyx_v_eventtype = 0;
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("dropRowEvent (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_row,&__pyx_mstate_global->__pyx_n_u_eventtype,&__pyx_mstate_global->__pyx_n_u_eventhdlr,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11351, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 11351, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11351, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11351, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "dropRowEvent", 0) < (0)) __PYX_ERR(2, 11351, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("dropRowEvent", 1, 3, 3, i); __PYX_ERR(2, 11351, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11351, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11351, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 11351, __pyx_L3_error)
    }
    __pyx_v_row = ((struct __pyx_obj_9pyscipopt_4scip_Row *)values[0]);
    __pyx_v_eventtype = values[1];
    __pyx_v_eventhdlr = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("dropRowEvent", 1, 3, 3, __pyx_nargs); __PYX_ERR(2, 11351, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.dropRowEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_row), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, 1, "row", 0))) __PYX_ERR(2, 11351, __pyx_L1_error)
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_eventhdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, 1, "eventhdlr", 0))) __PYX_ERR(2, 11351, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_754dropRowEvent(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_row, __pyx_v_eventtype, __pyx_v_eventhdlr);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_754dropRowEvent(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Row *__pyx_v_row, PyObject *__pyx_v_eventtype, struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v_eventhdlr) {
  SCIP_EVENTHDLR *__pyx_v__eventhdlr;
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  char const *__pyx_t_6;
  SCIP_EVENTTYPE __pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("dropRowEvent", 0);

  /* "src/pyscipopt/scip.pxi":11363
 *         """
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):             # <<<<<<<<<<<<<<
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
*/
  __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_eventhdlr), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr); 
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":11364
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):
 *             n = str_conversion(eventhdlr.name)             # <<<<<<<<<<<<<<
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11364, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_eventhdlr->name};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11364, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_n = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":11365
 *         if isinstance(eventhdlr, Eventhdlr):
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("event handler not found")
*/
    __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 11365, __pyx_L1_error)
    __pyx_v__eventhdlr = SCIPfindEventhdlr(__pyx_v_self->_scip, __pyx_t_6);

    /* "src/pyscipopt/scip.pxi":11363
 *         """
 *         cdef SCIP_EVENTHDLR* _eventhdlr
 *         if isinstance(eventhdlr, Eventhdlr):             # <<<<<<<<<<<<<<
 *             n = str_conversion(eventhdlr.name)
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":11367
 *             _eventhdlr = SCIPfindEventhdlr(self._scip, n)
 *         else:
 *             raise Warning("event handler not found")             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPdropRowEvent(self._scip, row.scip_row, eventtype, _eventhdlr, NULL, -1))
 * 
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_event_handler_not_found};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 11367, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":11368
 *         else:
 *             raise Warning("event handler not found")
 *         PY_SCIP_CALL(SCIPdropRowEvent(self._scip, row.scip_row, eventtype, _eventhdlr, NULL, -1))             # <<<<<<<<<<<<<<
 * 
 *     # Statistic Methods
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_7 = __Pyx_PyLong_As_SCIP_EVENTTYPE(__pyx_v_eventtype); if (unlikely((__pyx_t_7 == ((SCIP_EVENTTYPE)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11368, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPdropRowEvent(__pyx_v_self->_scip, __pyx_v_row->scip_row, __pyx_t_7, __pyx_v__eventhdlr, NULL, -1)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 11368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_8};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11368, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11351
 *         PY_SCIP_CALL(SCIPcatchRowEvent(self._scip, row.scip_row, eventtype, _eventhdlr, NULL, NULL))
 * 
 *     def dropRowEvent(self, Row row, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Drops a row coefficient, constant, or side change event (stops tracking the event) on the given row.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.dropRowEvent", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11372
 *     # Statistic Methods
 * 
 *     def printStatistics(self, filename=None):             # <<<<<<<<<<<<<<
 *         """
 *         Print statistics.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_757printStatistics(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_756printStatistics, "\n        Print statistics.\n\n        Parameters\n        ----------\n        filename : str, optional\n            name of the output file (Default = None)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_757printStatistics = {"printStatistics", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_757printStatistics, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_756printStatistics};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_757printStatistics(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("printStatistics (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11372, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11372, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "printStatistics", 0) < (0)) __PYX_ERR(2, 11372, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11372, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_filename = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("printStatistics", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 11372, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.printStatistics", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_756printStatistics(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_filename);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_756printStatistics(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_f = NULL;
  FILE *__pyx_v_cfile;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("printStatistics", 0);

  /* "src/pyscipopt/scip.pxi":11383
 *         """
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 11383, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11383, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11384
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         if not filename:
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11384, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11386
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         if not filename:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPprintStatistics(self._scip, NULL))
 *         else:
*/
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_filename); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 11386, __pyx_L1_error)
  __pyx_t_8 = (!__pyx_t_7);
  if (__pyx_t_8) {

    /* "src/pyscipopt/scip.pxi":11387
 * 
 *         if not filename:
 *             PY_SCIP_CALL(SCIPprintStatistics(self._scip, NULL))             # <<<<<<<<<<<<<<
 *         else:
 *             with open(filename, "w") as f:
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintStatistics(__pyx_v_self->_scip, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11387, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11387, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11386
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         if not filename:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPprintStatistics(self._scip, NULL))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":11389
 *             PY_SCIP_CALL(SCIPprintStatistics(self._scip, NULL))
 *         else:
 *             with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *                 cfile = fdopen(f.fileno(), "w")
 *                 PY_SCIP_CALL(SCIPprintStatistics(self._scip, cfile))
*/
  /*else*/ {
    /*with:*/ {
      __pyx_t_2 = NULL;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_filename, __pyx_mstate_global->__pyx_n_u_w};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_open, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11389, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 11389, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_4 = NULL;
      __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11389, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (likely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
        assert(__pyx_t_4);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11389, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_5 = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      /*try:*/ {
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
          __Pyx_XGOTREF(__pyx_t_10);
          __Pyx_XGOTREF(__pyx_t_11);
          __Pyx_XGOTREF(__pyx_t_12);
          /*try:*/ {
            __pyx_v_f = __pyx_t_5;
            __pyx_t_5 = 0;

            /* "src/pyscipopt/scip.pxi":11390
 *         else:
 *             with open(filename, "w") as f:
 *                 cfile = fdopen(f.fileno(), "w")             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPprintStatistics(self._scip, cfile))
 * 
*/
            __pyx_t_1 = __pyx_v_f;
            __Pyx_INCREF(__pyx_t_1);
            __pyx_t_6 = 0;
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
              __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_fileno, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
              __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11390, __pyx_L8_error)
              __Pyx_GOTREF(__pyx_t_5);
            }
            __pyx_t_13 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_13 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 11390, __pyx_L8_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_v_cfile = fdopen(__pyx_t_13, __pyx_k_w);

            /* "src/pyscipopt/scip.pxi":11391
 *             with open(filename, "w") as f:
 *                 cfile = fdopen(f.fileno(), "w")
 *                 PY_SCIP_CALL(SCIPprintStatistics(self._scip, cfile))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
            __pyx_t_1 = NULL;
            __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11391, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintStatistics(__pyx_v_self->_scip, __pyx_v_cfile)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11391, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_6 = 1;
            #if CYTHON_UNPACK_METHODS
            if (unlikely(PyMethod_Check(__pyx_t_2))) {
              __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
              assert(__pyx_t_1);
              PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_1);
              __Pyx_INCREF(__pyx__function);
              __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
              __pyx_t_6 = 0;
            }
            #endif
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_4};
              __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
              __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11391, __pyx_L8_error)
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "src/pyscipopt/scip.pxi":11389
 *             PY_SCIP_CALL(SCIPprintStatistics(self._scip, NULL))
 *         else:
 *             with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *                 cfile = fdopen(f.fileno(), "w")
 *                 PY_SCIP_CALL(SCIPprintStatistics(self._scip, cfile))
*/
          }
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          goto __pyx_L13_try_end;
          __pyx_L8_error:;
          __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          /*except:*/ {
            __Pyx_AddTraceback("pyscipopt.scip.Model.printStatistics", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_2, &__pyx_t_4) < 0) __PYX_ERR(2, 11389, __pyx_L10_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_2);
            __Pyx_XGOTREF(__pyx_t_4);
            __pyx_t_1 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11389, __pyx_L10_except_error)
            __Pyx_GOTREF(__pyx_t_1);
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_1, NULL);
            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 11389, __pyx_L10_except_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (__pyx_t_8 < (0)) __PYX_ERR(2, 11389, __pyx_L10_except_error)
            __pyx_t_7 = (!__pyx_t_8);
            if (unlikely(__pyx_t_7)) {
              __Pyx_GIVEREF(__pyx_t_5);
              __Pyx_GIVEREF(__pyx_t_2);
              __Pyx_XGIVEREF(__pyx_t_4);
              __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_2, __pyx_t_4);
              __pyx_t_5 = 0;  __pyx_t_2 = 0;  __pyx_t_4 = 0; 
              __PYX_ERR(2, 11389, __pyx_L10_except_error)
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            goto __pyx_L9_exception_handled;
          }
          __pyx_L10_except_error:;
          __Pyx_XGIVEREF(__pyx_t_10);
          __Pyx_XGIVEREF(__pyx_t_11);
          __Pyx_XGIVEREF(__pyx_t_12);
          __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
          goto __pyx_L1_error;
          __pyx_L9_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_10);
          __Pyx_XGIVEREF(__pyx_t_11);
          __Pyx_XGIVEREF(__pyx_t_12);
          __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
          __pyx_L13_try_end:;
        }
      }
      /*finally:*/ {
        /*normal exit:*/{
          if (__pyx_t_9) {
            __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_mstate_global->__pyx_tuple[25], NULL);
            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 11389, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_12);
            __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          }
          goto __pyx_L7;
        }
        __pyx_L7:;
      }
      goto __pyx_L17;
      __pyx_L4_error:;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      goto __pyx_L1_error;
      __pyx_L17:;
    }
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":11393
 *                 PY_SCIP_CALL(SCIPprintStatistics(self._scip, cfile))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def printStatisticsJson(self, filename=None):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11393, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11393, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":11372
 *     # Statistic Methods
 * 
 *     def printStatistics(self, filename=None):             # <<<<<<<<<<<<<<
 *         """
 *         Print statistics.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.printStatistics", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_f);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11395
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def printStatisticsJson(self, filename=None):             # <<<<<<<<<<<<<<
 *         """
 *         Print statistics in JSON format.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_759printStatisticsJson(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_758printStatisticsJson, "\n        Print statistics in JSON format.\n\n        Parameters\n        ----------\n        filename : str, optional\n            name of the output file (Default = None)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_759printStatisticsJson = {"printStatisticsJson", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_759printStatisticsJson, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_758printStatisticsJson};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_759printStatisticsJson(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("printStatisticsJson (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11395, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11395, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "printStatisticsJson", 0) < (0)) __PYX_ERR(2, 11395, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11395, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_filename = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("printStatisticsJson", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 11395, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.printStatisticsJson", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_758printStatisticsJson(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_filename);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_758printStatisticsJson(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_f = NULL;
  FILE *__pyx_v_cfile;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("printStatisticsJson", 0);

  /* "src/pyscipopt/scip.pxi":11406
 *         """
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11406, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 11406, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11406, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11407
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         if not filename:
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11407, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11409
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         if not filename:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, NULL))
 *         else:
*/
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_filename); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(2, 11409, __pyx_L1_error)
  __pyx_t_8 = (!__pyx_t_7);
  if (__pyx_t_8) {

    /* "src/pyscipopt/scip.pxi":11410
 * 
 *         if not filename:
 *             PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, NULL))             # <<<<<<<<<<<<<<
 *         else:
 *             with open(filename, "w") as f:
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintStatisticsJson(__pyx_v_self->_scip, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11410, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11410, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11409
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         if not filename:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, NULL))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":11412
 *             PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, NULL))
 *         else:
 *             with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *                 cfile = fdopen(f.fileno(), "w")
 *                 PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, cfile))
*/
  /*else*/ {
    /*with:*/ {
      __pyx_t_2 = NULL;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_filename, __pyx_mstate_global->__pyx_n_u_w};
        __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_open, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11412, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
      }
      __pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 11412, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_9);
      __pyx_t_4 = NULL;
      __pyx_t_5 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11412, __pyx_L4_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_6 = 1;
      #if CYTHON_UNPACK_METHODS
      if (likely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
        assert(__pyx_t_4);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
        __Pyx_INCREF(__pyx_t_4);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
        __pyx_t_6 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
        __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11412, __pyx_L4_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_5 = __pyx_t_2;
      __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      /*try:*/ {
        {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
          __Pyx_XGOTREF(__pyx_t_10);
          __Pyx_XGOTREF(__pyx_t_11);
          __Pyx_XGOTREF(__pyx_t_12);
          /*try:*/ {
            __pyx_v_f = __pyx_t_5;
            __pyx_t_5 = 0;

            /* "src/pyscipopt/scip.pxi":11413
 *         else:
 *             with open(filename, "w") as f:
 *                 cfile = fdopen(f.fileno(), "w")             # <<<<<<<<<<<<<<
 *                 PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, cfile))
 * 
*/
            __pyx_t_1 = __pyx_v_f;
            __Pyx_INCREF(__pyx_t_1);
            __pyx_t_6 = 0;
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
              __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_fileno, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
              __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11413, __pyx_L8_error)
              __Pyx_GOTREF(__pyx_t_5);
            }
            __pyx_t_13 = __Pyx_PyLong_As_int(__pyx_t_5); if (unlikely((__pyx_t_13 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 11413, __pyx_L8_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_v_cfile = fdopen(__pyx_t_13, __pyx_k_w);

            /* "src/pyscipopt/scip.pxi":11414
 *             with open(filename, "w") as f:
 *                 cfile = fdopen(f.fileno(), "w")
 *                 PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, cfile))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
            __pyx_t_1 = NULL;
            __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11414, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintStatisticsJson(__pyx_v_self->_scip, __pyx_v_cfile)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11414, __pyx_L8_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_6 = 1;
            #if CYTHON_UNPACK_METHODS
            if (unlikely(PyMethod_Check(__pyx_t_2))) {
              __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
              assert(__pyx_t_1);
              PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_1);
              __Pyx_INCREF(__pyx__function);
              __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
              __pyx_t_6 = 0;
            }
            #endif
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_4};
              __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
              __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11414, __pyx_L8_error)
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

            /* "src/pyscipopt/scip.pxi":11412
 *             PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, NULL))
 *         else:
 *             with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *                 cfile = fdopen(f.fileno(), "w")
 *                 PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, cfile))
*/
          }
          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
          __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
          goto __pyx_L13_try_end;
          __pyx_L8_error:;
          __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          /*except:*/ {
            __Pyx_AddTraceback("pyscipopt.scip.Model.printStatisticsJson", __pyx_clineno, __pyx_lineno, __pyx_filename);
            if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_2, &__pyx_t_4) < 0) __PYX_ERR(2, 11412, __pyx_L10_except_error)
            __Pyx_XGOTREF(__pyx_t_5);
            __Pyx_XGOTREF(__pyx_t_2);
            __Pyx_XGOTREF(__pyx_t_4);
            __pyx_t_1 = PyTuple_Pack(3, __pyx_t_5, __pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11412, __pyx_L10_except_error)
            __Pyx_GOTREF(__pyx_t_1);
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_1, NULL);
            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 11412, __pyx_L10_except_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (__pyx_t_8 < (0)) __PYX_ERR(2, 11412, __pyx_L10_except_error)
            __pyx_t_7 = (!__pyx_t_8);
            if (unlikely(__pyx_t_7)) {
              __Pyx_GIVEREF(__pyx_t_5);
              __Pyx_GIVEREF(__pyx_t_2);
              __Pyx_XGIVEREF(__pyx_t_4);
              __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_2, __pyx_t_4);
              __pyx_t_5 = 0;  __pyx_t_2 = 0;  __pyx_t_4 = 0; 
              __PYX_ERR(2, 11412, __pyx_L10_except_error)
            }
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            goto __pyx_L9_exception_handled;
          }
          __pyx_L10_except_error:;
          __Pyx_XGIVEREF(__pyx_t_10);
          __Pyx_XGIVEREF(__pyx_t_11);
          __Pyx_XGIVEREF(__pyx_t_12);
          __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
          goto __pyx_L1_error;
          __pyx_L9_exception_handled:;
          __Pyx_XGIVEREF(__pyx_t_10);
          __Pyx_XGIVEREF(__pyx_t_11);
          __Pyx_XGIVEREF(__pyx_t_12);
          __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
          __pyx_L13_try_end:;
        }
      }
      /*finally:*/ {
        /*normal exit:*/{
          if (__pyx_t_9) {
            __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_mstate_global->__pyx_tuple[25], NULL);
            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
            if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 11412, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_12);
            __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          }
          goto __pyx_L7;
        }
        __pyx_L7:;
      }
      goto __pyx_L17;
      __pyx_L4_error:;
      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
      goto __pyx_L1_error;
      __pyx_L17:;
    }
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":11416
 *                 PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, cfile))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def printStatisticsJson(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11416, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11416, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":11395
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def printStatisticsJson(self, filename=None):             # <<<<<<<<<<<<<<
 *         """
 *         Print statistics in JSON format.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.printStatisticsJson", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_f);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11418
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def printStatisticsJson(self):             # <<<<<<<<<<<<<<
 *         """Print statistics in JSON format."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_761printStatisticsJson(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_760printStatisticsJson, "Print statistics in JSON format.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_761printStatisticsJson = {"printStatisticsJson", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_761printStatisticsJson, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_760printStatisticsJson};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_761printStatisticsJson(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("printStatisticsJson (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("printStatisticsJson", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("printStatisticsJson", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_760printStatisticsJson(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_760printStatisticsJson(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("printStatisticsJson", 0);

  /* "src/pyscipopt/scip.pxi":11420
 *     def printStatisticsJson(self):
 *         """Print statistics in JSON format."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 11420, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11420, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11421
 *         """Print statistics in JSON format."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, NULL))
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11421, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11423
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, NULL))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintStatisticsJson(__pyx_v_self->_scip, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11423, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11423, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11425
 *         PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, NULL))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def writeStatistics(self, filename="origprob.stats"):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11425, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11425, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11418
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def printStatisticsJson(self):             # <<<<<<<<<<<<<<
 *         """Print statistics in JSON format."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.printStatisticsJson", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11427
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeStatistics(self, filename="origprob.stats"):             # <<<<<<<<<<<<<<
 *         """
 *         Write statistics to a file.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_763writeStatistics(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_762writeStatistics, "\n        Write statistics to a file.\n\n        Parameters\n        ----------\n        filename : str, optional\n            name of the output file (Default = \"origprob.stats\")\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_763writeStatistics = {"writeStatistics", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_763writeStatistics, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_762writeStatistics};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_763writeStatistics(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeStatistics (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11427, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11427, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "writeStatistics", 0) < (0)) __PYX_ERR(2, 11427, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_origprob_stats));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11427, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_origprob_stats));
    }
    __pyx_v_filename = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeStatistics", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 11427, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeStatistics", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_762writeStatistics(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_filename);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_762writeStatistics(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_f = NULL;
  FILE *__pyx_v_cfile;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("writeStatistics", 0);

  /* "src/pyscipopt/scip.pxi":11437
 * 
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11437, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 11437, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11437, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11438
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         # use this doubled opening pattern to ensure that IOErrors are
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11438, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11442
 *         # use this doubled opening pattern to ensure that IOErrors are
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintStatistics(self._scip, cfile))
*/
  /*with:*/ {
    __pyx_t_5 = NULL;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_filename, __pyx_mstate_global->__pyx_n_u_w};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_open, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11442, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11442, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = NULL;
    __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11442, __pyx_L3_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11442, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_4 = __pyx_t_5;
    __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    /*try:*/ {
      {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        /*try:*/ {
          __pyx_v_f = __pyx_t_4;
          __pyx_t_4 = 0;

          /* "src/pyscipopt/scip.pxi":11443
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:
 *             cfile = fdopen(f.fileno(), "w")             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPprintStatistics(self._scip, cfile))
 * 
*/
          __pyx_t_1 = __pyx_v_f;
          __Pyx_INCREF(__pyx_t_1);
          __pyx_t_6 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
            __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_fileno, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11443, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 11443, __pyx_L7_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_v_cfile = fdopen(__pyx_t_11, __pyx_k_w);

          /* "src/pyscipopt/scip.pxi":11444
 *         with open(filename, "w") as f:
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintStatistics(self._scip, cfile))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
          __pyx_t_1 = NULL;
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11444, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintStatistics(__pyx_v_self->_scip, __pyx_v_cfile)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11444, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
            assert(__pyx_t_1);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_1);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
            __pyx_t_6 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
            __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11444, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

          /* "src/pyscipopt/scip.pxi":11442
 *         # use this doubled opening pattern to ensure that IOErrors are
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintStatistics(self._scip, cfile))
*/
        }
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L12_try_end;
        __pyx_L7_error:;
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        /*except:*/ {
          __Pyx_AddTraceback("pyscipopt.scip.Model.writeStatistics", __pyx_clineno, __pyx_lineno, __pyx_filename);
          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(2, 11442, __pyx_L9_except_error)
          __Pyx_XGOTREF(__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_5);
          __Pyx_XGOTREF(__pyx_t_2);
          __pyx_t_1 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11442, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_1, NULL);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 11442, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          if (__pyx_t_13 < (0)) __PYX_ERR(2, 11442, __pyx_L9_except_error)
          __pyx_t_14 = (!__pyx_t_13);
          if (unlikely(__pyx_t_14)) {
            __Pyx_GIVEREF(__pyx_t_4);
            __Pyx_GIVEREF(__pyx_t_5);
            __Pyx_XGIVEREF(__pyx_t_2);
            __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_5, __pyx_t_2);
            __pyx_t_4 = 0;  __pyx_t_5 = 0;  __pyx_t_2 = 0; 
            __PYX_ERR(2, 11442, __pyx_L9_except_error)
          }
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          goto __pyx_L8_exception_handled;
        }
        __pyx_L9_except_error:;
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
        goto __pyx_L1_error;
        __pyx_L8_exception_handled:;
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
        __pyx_L12_try_end:;
      }
    }
    /*finally:*/ {
      /*normal exit:*/{
        if (__pyx_t_7) {
          __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_mstate_global->__pyx_tuple[25], NULL);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11442, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        }
        goto __pyx_L6;
      }
      __pyx_L6:;
    }
    goto __pyx_L16;
    __pyx_L3_error:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L1_error;
    __pyx_L16:;
  }

  /* "src/pyscipopt/scip.pxi":11446
 *             PY_SCIP_CALL(SCIPprintStatistics(self._scip, cfile))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11446, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11446, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11427
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeStatistics(self, filename="origprob.stats"):             # <<<<<<<<<<<<<<
 *         """
 *         Write statistics to a file.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeStatistics", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_f);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11449
 * 
 * 
 *     def writeStatisticsJson(self, filename="origprob.stats.json"):             # <<<<<<<<<<<<<<
 *         """
 *         Write statistics to a JSON file.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_765writeStatisticsJson(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_764writeStatisticsJson, "\n        Write statistics to a JSON file.\n\n        Parameters\n        ----------\n        filename : str, optional\n            name of the output file (Default = \"origprob.stats.json\")\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_765writeStatisticsJson = {"writeStatisticsJson", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_765writeStatisticsJson, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_764writeStatisticsJson};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_765writeStatisticsJson(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeStatisticsJson (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11449, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11449, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "writeStatisticsJson", 0) < (0)) __PYX_ERR(2, 11449, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_origprob_stats_json));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11449, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_origprob_stats_json));
    }
    __pyx_v_filename = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeStatisticsJson", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 11449, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeStatisticsJson", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_764writeStatisticsJson(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_filename);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_764writeStatisticsJson(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_f = NULL;
  FILE *__pyx_v_cfile;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  int __pyx_t_11;
  PyObject *__pyx_t_12 = NULL;
  int __pyx_t_13;
  int __pyx_t_14;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("writeStatisticsJson", 0);

  /* "src/pyscipopt/scip.pxi":11459
 * 
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11459, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 11459, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11459, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11460
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         # use this doubled opening pattern to ensure that IOErrors are
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11460, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11464
 *         # use this doubled opening pattern to ensure that IOErrors are
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, cfile))
*/
  /*with:*/ {
    __pyx_t_5 = NULL;
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_filename, __pyx_mstate_global->__pyx_n_u_w};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_open, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11464, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_t_7 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_exit); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11464, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_2 = NULL;
    __pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11464, __pyx_L3_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (likely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11464, __pyx_L3_error)
      __Pyx_GOTREF(__pyx_t_5);
    }
    __pyx_t_4 = __pyx_t_5;
    __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    /*try:*/ {
      {
        __Pyx_PyThreadState_declare
        __Pyx_PyThreadState_assign
        __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
        __Pyx_XGOTREF(__pyx_t_8);
        __Pyx_XGOTREF(__pyx_t_9);
        __Pyx_XGOTREF(__pyx_t_10);
        /*try:*/ {
          __pyx_v_f = __pyx_t_4;
          __pyx_t_4 = 0;

          /* "src/pyscipopt/scip.pxi":11465
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:
 *             cfile = fdopen(f.fileno(), "w")             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, cfile))
 * 
*/
          __pyx_t_1 = __pyx_v_f;
          __Pyx_INCREF(__pyx_t_1);
          __pyx_t_6 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_1, NULL};
            __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_fileno, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11465, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 11465, __pyx_L7_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_v_cfile = fdopen(__pyx_t_11, __pyx_k_w);

          /* "src/pyscipopt/scip.pxi":11466
 *         with open(filename, "w") as f:
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, cfile))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
          __pyx_t_1 = NULL;
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11466, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPprintStatisticsJson(__pyx_v_self->_scip, __pyx_v_cfile)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11466, __pyx_L7_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_6 = 1;
          #if CYTHON_UNPACK_METHODS
          if (unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
            assert(__pyx_t_1);
            PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
            __Pyx_INCREF(__pyx_t_1);
            __Pyx_INCREF(__pyx__function);
            __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
            __pyx_t_6 = 0;
          }
          #endif
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_2};
            __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11466, __pyx_L7_error)
            __Pyx_GOTREF(__pyx_t_4);
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

          /* "src/pyscipopt/scip.pxi":11464
 *         # use this doubled opening pattern to ensure that IOErrors are
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, cfile))
*/
        }
        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
        goto __pyx_L12_try_end;
        __pyx_L7_error:;
        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        /*except:*/ {
          __Pyx_AddTraceback("pyscipopt.scip.Model.writeStatisticsJson", __pyx_clineno, __pyx_lineno, __pyx_filename);
          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_2) < 0) __PYX_ERR(2, 11464, __pyx_L9_except_error)
          __Pyx_XGOTREF(__pyx_t_4);
          __Pyx_XGOTREF(__pyx_t_5);
          __Pyx_XGOTREF(__pyx_t_2);
          __pyx_t_1 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11464, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_1);
          __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_1, NULL);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 11464, __pyx_L9_except_error)
          __Pyx_GOTREF(__pyx_t_12);
          __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_12);
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
          if (__pyx_t_13 < (0)) __PYX_ERR(2, 11464, __pyx_L9_except_error)
          __pyx_t_14 = (!__pyx_t_13);
          if (unlikely(__pyx_t_14)) {
            __Pyx_GIVEREF(__pyx_t_4);
            __Pyx_GIVEREF(__pyx_t_5);
            __Pyx_XGIVEREF(__pyx_t_2);
            __Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_5, __pyx_t_2);
            __pyx_t_4 = 0;  __pyx_t_5 = 0;  __pyx_t_2 = 0; 
            __PYX_ERR(2, 11464, __pyx_L9_except_error)
          }
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          goto __pyx_L8_exception_handled;
        }
        __pyx_L9_except_error:;
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
        goto __pyx_L1_error;
        __pyx_L8_exception_handled:;
        __Pyx_XGIVEREF(__pyx_t_8);
        __Pyx_XGIVEREF(__pyx_t_9);
        __Pyx_XGIVEREF(__pyx_t_10);
        __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
        __pyx_L12_try_end:;
      }
    }
    /*finally:*/ {
      /*normal exit:*/{
        if (__pyx_t_7) {
          __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_mstate_global->__pyx_tuple[25], NULL);
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
          if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11464, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_10);
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        }
        goto __pyx_L6;
      }
      __pyx_L6:;
    }
    goto __pyx_L16;
    __pyx_L3_error:;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    goto __pyx_L1_error;
    __pyx_L16:;
  }

  /* "src/pyscipopt/scip.pxi":11468
 *             PY_SCIP_CALL(SCIPprintStatisticsJson(self._scip, cfile))
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def getNLPs(self):
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11468, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_1))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11468, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11449
 * 
 * 
 *     def writeStatisticsJson(self, filename="origprob.stats.json"):             # <<<<<<<<<<<<<<
 *         """
 *         Write statistics to a JSON file.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeStatisticsJson", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_f);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11470
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def getNLPs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets total number of LPs solved so far.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_767getNLPs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_766getNLPs, "\n        Gets total number of LPs solved so far.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_767getNLPs = {"getNLPs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_767getNLPs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_766getNLPs};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_767getNLPs(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNLPs (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNLPs", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNLPs", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_766getNLPs(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_766getNLPs(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNLPs", 0);

  /* "src/pyscipopt/scip.pxi":11479
 * 
 *         """
 *         return SCIPgetNLPs(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     # Verbosity Methods
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(SCIPgetNLPs(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11479, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11470
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def getNLPs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets total number of LPs solved so far.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNLPs", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11483
 *     # Verbosity Methods
 * 
 *     def hideOutput(self, quiet = True):             # <<<<<<<<<<<<<<
 *         """
 *         Hide the output.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_769hideOutput(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_768hideOutput, "\n        Hide the output.\n\n        Parameters\n        ----------\n        quiet : bool, optional\n            hide output? (Default value = True)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_769hideOutput = {"hideOutput", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_769hideOutput, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_768hideOutput};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_769hideOutput(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_quiet = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("hideOutput (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_quiet,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11483, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11483, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "hideOutput", 0) < (0)) __PYX_ERR(2, 11483, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    } else {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11483, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_quiet = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("hideOutput", 0, 0, 1, __pyx_nargs); __PYX_ERR(2, 11483, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.hideOutput", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_768hideOutput(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_quiet);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_768hideOutput(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_quiet) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP_Bool __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("hideOutput", 0);

  /* "src/pyscipopt/scip.pxi":11493
 * 
 *         """
 *         SCIPsetMessagehdlrQuiet(self._scip, quiet)             # <<<<<<<<<<<<<<
 * 
 *     # Output Methods
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_quiet); if (unlikely((__pyx_t_1 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11493, __pyx_L1_error)
  SCIPsetMessagehdlrQuiet(__pyx_v_self->_scip, __pyx_t_1);

  /* "src/pyscipopt/scip.pxi":11483
 *     # Verbosity Methods
 * 
 *     def hideOutput(self, quiet = True):             # <<<<<<<<<<<<<<
 *         """
 *         Hide the output.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Model.hideOutput", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11497
 *     # Output Methods
 * 
 *     def redirectOutput(self):             # <<<<<<<<<<<<<<
 *         """Send output to python instead of terminal."""
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_771redirectOutput(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_770redirectOutput, "Send output to python instead of terminal.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_771redirectOutput = {"redirectOutput", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_771redirectOutput, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_770redirectOutput};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_771redirectOutput(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("redirectOutput (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("redirectOutput", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("redirectOutput", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_770redirectOutput(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_770redirectOutput(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_MESSAGEHDLR *__pyx_v_myMessageHandler;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("redirectOutput", 0);

  /* "src/pyscipopt/scip.pxi":11502
 *         cdef SCIP_MESSAGEHDLR *myMessageHandler
 * 
 *         PY_SCIP_CALL(SCIPmessagehdlrCreate(&myMessageHandler, False, NULL, False, relayMessage, relayMessage, relayMessage, NULL, NULL))             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPsetMessagehdlr(self._scip, myMessageHandler))
 *         SCIPmessageSetErrorPrinting(relayErrorMessage, NULL)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPmessagehdlrCreate((&__pyx_v_myMessageHandler), 0, NULL, 0, __pyx_f_9pyscipopt_4scip_relayMessage, __pyx_f_9pyscipopt_4scip_relayMessage, __pyx_f_9pyscipopt_4scip_relayMessage, NULL, NULL)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11502, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11503
 * 
 *         PY_SCIP_CALL(SCIPmessagehdlrCreate(&myMessageHandler, False, NULL, False, relayMessage, relayMessage, relayMessage, NULL, NULL))
 *         PY_SCIP_CALL(SCIPsetMessagehdlr(self._scip, myMessageHandler))             # <<<<<<<<<<<<<<
 *         SCIPmessageSetErrorPrinting(relayErrorMessage, NULL)
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetMessagehdlr(__pyx_v_self->_scip, __pyx_v_myMessageHandler)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11503, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11503, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11504
 *         PY_SCIP_CALL(SCIPmessagehdlrCreate(&myMessageHandler, False, NULL, False, relayMessage, relayMessage, relayMessage, NULL, NULL))
 *         PY_SCIP_CALL(SCIPsetMessagehdlr(self._scip, myMessageHandler))
 *         SCIPmessageSetErrorPrinting(relayErrorMessage, NULL)             # <<<<<<<<<<<<<<
 * 
 *     def setLogfile(self, path):
*/
  SCIPmessageSetErrorPrinting(__pyx_f_9pyscipopt_4scip_relayErrorMessage, NULL);

  /* "src/pyscipopt/scip.pxi":11497
 *     # Output Methods
 * 
 *     def redirectOutput(self):             # <<<<<<<<<<<<<<
 *         """Send output to python instead of terminal."""
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.redirectOutput", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11506
 *         SCIPmessageSetErrorPrinting(relayErrorMessage, NULL)
 * 
 *     def setLogfile(self, path):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the log file name for the currently installed message handler.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_773setLogfile(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_772setLogfile, "\n        Sets the log file name for the currently installed message handler.\n\n        Parameters\n        ----------\n        path : str or None\n            name of log file, or None (no log)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_773setLogfile = {"setLogfile", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_773setLogfile, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_772setLogfile};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_773setLogfile(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_path = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setLogfile (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_path,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11506, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11506, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setLogfile", 0) < (0)) __PYX_ERR(2, 11506, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setLogfile", 1, 1, 1, i); __PYX_ERR(2, 11506, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11506, __pyx_L3_error)
    }
    __pyx_v_path = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setLogfile", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 11506, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setLogfile", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_772setLogfile(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_path);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_772setLogfile(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_path) {
  PyObject *__pyx_v_c_path = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  char const *__pyx_t_6;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setLogfile", 0);

  /* "src/pyscipopt/scip.pxi":11516
 * 
 *         """
 *         if path:             # <<<<<<<<<<<<<<
 *             c_path = str_conversion(path)
 *             SCIPsetMessagehdlrLogfile(self._scip, c_path)
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_path); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 11516, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11517
 *         """
 *         if path:
 *             c_path = str_conversion(path)             # <<<<<<<<<<<<<<
 *             SCIPsetMessagehdlrLogfile(self._scip, c_path)
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11517, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_path};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11517, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_v_c_path = __pyx_t_2;
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":11518
 *         if path:
 *             c_path = str_conversion(path)
 *             SCIPsetMessagehdlrLogfile(self._scip, c_path)             # <<<<<<<<<<<<<<
 *         else:
 *             SCIPsetMessagehdlrLogfile(self._scip, NULL)
*/
    __pyx_t_6 = __Pyx_PyObject_AsString(__pyx_v_c_path); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 11518, __pyx_L1_error)
    SCIPsetMessagehdlrLogfile(__pyx_v_self->_scip, __pyx_t_6);

    /* "src/pyscipopt/scip.pxi":11516
 * 
 *         """
 *         if path:             # <<<<<<<<<<<<<<
 *             c_path = str_conversion(path)
 *             SCIPsetMessagehdlrLogfile(self._scip, c_path)
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":11520
 *             SCIPsetMessagehdlrLogfile(self._scip, c_path)
 *         else:
 *             SCIPsetMessagehdlrLogfile(self._scip, NULL)             # <<<<<<<<<<<<<<
 * 
 *     # Parameter Methods
*/
  /*else*/ {
    SCIPsetMessagehdlrLogfile(__pyx_v_self->_scip, NULL);
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":11506
 *         SCIPmessageSetErrorPrinting(relayErrorMessage, NULL)
 * 
 *     def setLogfile(self, path):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the log file name for the currently installed message handler.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setLogfile", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_c_path);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11524
 *     # Parameter Methods
 * 
 *     def setBoolParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a boolean-valued parameter.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_775setBoolParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_774setBoolParam, "\n        Set a boolean-valued parameter.\n\n        Parameters\n        ----------\n        name : str\n            name of parameter\n        value : bool\n            value of parameter\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_775setBoolParam = {"setBoolParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_775setBoolParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_774setBoolParam};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_775setBoolParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setBoolParam (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11524, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11524, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11524, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setBoolParam", 0) < (0)) __PYX_ERR(2, 11524, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setBoolParam", 1, 2, 2, i); __PYX_ERR(2, 11524, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11524, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11524, __pyx_L3_error)
    }
    __pyx_v_name = values[0];
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setBoolParam", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 11524, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setBoolParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_774setBoolParam(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_name, __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_774setBoolParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char *__pyx_t_5;
  SCIP_Bool __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setBoolParam", 0);

  /* "src/pyscipopt/scip.pxi":11536
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPsetBoolParam(self._scip, n, value))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11536, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11537
 *         """
 *         n = str_conversion(name)
 *         PY_SCIP_CALL(SCIPsetBoolParam(self._scip, n, value))             # <<<<<<<<<<<<<<
 * 
 *     def setIntParam(self, name, value):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 11537, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_value); if (unlikely((__pyx_t_6 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11537, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetBoolParam(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11537, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11537, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11524
 *     # Parameter Methods
 * 
 *     def setBoolParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a boolean-valued parameter.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setBoolParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11539
 *         PY_SCIP_CALL(SCIPsetBoolParam(self._scip, n, value))
 * 
 *     def setIntParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set an int-valued parameter.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_777setIntParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_776setIntParam, "\n        Set an int-valued parameter.\n\n        Parameters\n        ----------\n        name : str\n            name of parameter\n        value : int\n            value of parameter\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_777setIntParam = {"setIntParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_777setIntParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_776setIntParam};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_777setIntParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setIntParam (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11539, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11539, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11539, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setIntParam", 0) < (0)) __PYX_ERR(2, 11539, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setIntParam", 1, 2, 2, i); __PYX_ERR(2, 11539, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11539, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11539, __pyx_L3_error)
    }
    __pyx_v_name = values[0];
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setIntParam", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 11539, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setIntParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_776setIntParam(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_name, __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_776setIntParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char *__pyx_t_5;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setIntParam", 0);

  /* "src/pyscipopt/scip.pxi":11551
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPsetIntParam(self._scip, n, value))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11551, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11552
 *         """
 *         n = str_conversion(name)
 *         PY_SCIP_CALL(SCIPsetIntParam(self._scip, n, value))             # <<<<<<<<<<<<<<
 * 
 *     def setLongintParam(self, name, value):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 11552, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_As_int(__pyx_v_value); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 11552, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetIntParam(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11552, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11552, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11539
 *         PY_SCIP_CALL(SCIPsetBoolParam(self._scip, n, value))
 * 
 *     def setIntParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set an int-valued parameter.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setIntParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11554
 *         PY_SCIP_CALL(SCIPsetIntParam(self._scip, n, value))
 * 
 *     def setLongintParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a long-valued parameter.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_779setLongintParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_778setLongintParam, "\n        Set a long-valued parameter.\n\n        Parameters\n        ----------\n        name : str\n            name of parameter\n        value : int\n            value of parameter\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_779setLongintParam = {"setLongintParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_779setLongintParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_778setLongintParam};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_779setLongintParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setLongintParam (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11554, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11554, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11554, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setLongintParam", 0) < (0)) __PYX_ERR(2, 11554, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setLongintParam", 1, 2, 2, i); __PYX_ERR(2, 11554, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11554, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11554, __pyx_L3_error)
    }
    __pyx_v_name = values[0];
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setLongintParam", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 11554, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setLongintParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_778setLongintParam(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_name, __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_778setLongintParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char *__pyx_t_5;
  SCIP_Longint __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setLongintParam", 0);

  /* "src/pyscipopt/scip.pxi":11566
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPsetLongintParam(self._scip, n, value))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11566, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11567
 *         """
 *         n = str_conversion(name)
 *         PY_SCIP_CALL(SCIPsetLongintParam(self._scip, n, value))             # <<<<<<<<<<<<<<
 * 
 *     def setRealParam(self, name, value):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 11567, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_As_SCIP_Longint(__pyx_v_value); if (unlikely((__pyx_t_6 == ((SCIP_Longint)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11567, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetLongintParam(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11567, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11554
 *         PY_SCIP_CALL(SCIPsetIntParam(self._scip, n, value))
 * 
 *     def setLongintParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a long-valued parameter.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setLongintParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11569
 *         PY_SCIP_CALL(SCIPsetLongintParam(self._scip, n, value))
 * 
 *     def setRealParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a real-valued parameter.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_781setRealParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_780setRealParam, "\n        Set a real-valued parameter.\n\n        Parameters\n        ----------\n        name : str\n            name of parameter\n        value : float\n            value of parameter\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_781setRealParam = {"setRealParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_781setRealParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_780setRealParam};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_781setRealParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setRealParam (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11569, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11569, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11569, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setRealParam", 0) < (0)) __PYX_ERR(2, 11569, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setRealParam", 1, 2, 2, i); __PYX_ERR(2, 11569, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11569, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11569, __pyx_L3_error)
    }
    __pyx_v_name = values[0];
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setRealParam", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 11569, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setRealParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_780setRealParam(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_name, __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_780setRealParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char *__pyx_t_5;
  SCIP_Real __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setRealParam", 0);

  /* "src/pyscipopt/scip.pxi":11581
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPsetRealParam(self._scip, n, value))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11582
 *         """
 *         n = str_conversion(name)
 *         PY_SCIP_CALL(SCIPsetRealParam(self._scip, n, value))             # <<<<<<<<<<<<<<
 * 
 *     def setCharParam(self, name, value):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 11582, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_value); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11582, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetRealParam(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11582, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11569
 *         PY_SCIP_CALL(SCIPsetLongintParam(self._scip, n, value))
 * 
 *     def setRealParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a real-valued parameter.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setRealParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11584
 *         PY_SCIP_CALL(SCIPsetRealParam(self._scip, n, value))
 * 
 *     def setCharParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a char-valued parameter.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_783setCharParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_782setCharParam, "\n        Set a char-valued parameter.\n\n        Parameters\n        ----------\n        name : str\n            name of parameter\n        value : str\n            value of parameter\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_783setCharParam = {"setCharParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_783setCharParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_782setCharParam};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_783setCharParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setCharParam (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11584, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11584, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11584, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setCharParam", 0) < (0)) __PYX_ERR(2, 11584, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setCharParam", 1, 2, 2, i); __PYX_ERR(2, 11584, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11584, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11584, __pyx_L3_error)
    }
    __pyx_v_name = values[0];
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setCharParam", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 11584, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setCharParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_782setCharParam(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_name, __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_782setCharParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char *__pyx_t_5;
  long __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setCharParam", 0);

  /* "src/pyscipopt/scip.pxi":11596
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPsetCharParam(self._scip, n, ord(value)))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11596, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11597
 *         """
 *         n = str_conversion(name)
 *         PY_SCIP_CALL(SCIPsetCharParam(self._scip, n, ord(value)))             # <<<<<<<<<<<<<<
 * 
 *     def setStringParam(self, name, value):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 11597, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_Ord(__pyx_v_value); if (unlikely(__pyx_t_6 == ((long)(long)(Py_UCS4)-1))) __PYX_ERR(2, 11597, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetCharParam(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11584
 *         PY_SCIP_CALL(SCIPsetRealParam(self._scip, n, value))
 * 
 *     def setCharParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a char-valued parameter.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setCharParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11599
 *         PY_SCIP_CALL(SCIPsetCharParam(self._scip, n, ord(value)))
 * 
 *     def setStringParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a string-valued parameter.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_785setStringParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_784setStringParam, "\n        Set a string-valued parameter.\n\n        Parameters\n        ----------\n        name : str\n            name of parameter\n        value : str\n            value of parameter\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_785setStringParam = {"setStringParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_785setStringParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_784setStringParam};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_785setStringParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setStringParam (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11599, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11599, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11599, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setStringParam", 0) < (0)) __PYX_ERR(2, 11599, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setStringParam", 1, 2, 2, i); __PYX_ERR(2, 11599, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11599, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11599, __pyx_L3_error)
    }
    __pyx_v_name = values[0];
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setStringParam", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 11599, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setStringParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_784setStringParam(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_name, __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_784setStringParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_v_v = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char *__pyx_t_5;
  char *__pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setStringParam", 0);

  /* "src/pyscipopt/scip.pxi":11611
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         v = str_conversion(value)
 *         PY_SCIP_CALL(SCIPsetStringParam(self._scip, n, v))
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11611, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11612
 *         """
 *         n = str_conversion(name)
 *         v = str_conversion(value)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPsetStringParam(self._scip, n, v))
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11612, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_v = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11613
 *         n = str_conversion(name)
 *         v = str_conversion(value)
 *         PY_SCIP_CALL(SCIPsetStringParam(self._scip, n, v))             # <<<<<<<<<<<<<<
 * 
 *     def setParam(self, name, value):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 11613, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyObject_AsWritableString(__pyx_v_v); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) __PYX_ERR(2, 11613, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetStringParam(__pyx_v_self->_scip, __pyx_t_5, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11599
 *         PY_SCIP_CALL(SCIPsetCharParam(self._scip, n, ord(value)))
 * 
 *     def setStringParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a string-valued parameter.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setStringParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11615
 *         PY_SCIP_CALL(SCIPsetStringParam(self._scip, n, v))
 * 
 *     def setParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """Set a parameter with value in int, bool, real, long, char or str.
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_787setParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_786setParam, "Set a parameter with value in int, bool, real, long, char or str.\n\n        Parameters\n        ----------\n        name : str\n            name of parameter\n        value : object\n            value of parameter\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_787setParam = {"setParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_787setParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_786setParam};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_787setParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_v_value = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setParam (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,&__pyx_mstate_global->__pyx_n_u_value,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11615, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11615, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11615, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setParam", 0) < (0)) __PYX_ERR(2, 11615, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setParam", 1, 2, 2, i); __PYX_ERR(2, 11615, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11615, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11615, __pyx_L3_error)
    }
    __pyx_v_name = values[0];
    __pyx_v_value = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setParam", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 11615, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_786setParam(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_name, __pyx_v_value);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_786setParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value) {
  SCIP_PARAM *__pyx_v_param;
  PyObject *__pyx_v_n = NULL;
  SCIP_PARAMTYPE __pyx_v_paramtype;
  PyObject *__pyx_v_v = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  int __pyx_t_6;
  char *__pyx_t_7;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_t_9;
  SCIP_Longint __pyx_t_10;
  double __pyx_t_11;
  long __pyx_t_12;
  char *__pyx_t_13;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setParam", 0);

  /* "src/pyscipopt/scip.pxi":11628
 *         cdef SCIP_PARAM* param
 * 
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         param = SCIPgetParam(self._scip, n)
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11628, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11629
 * 
 *         n = str_conversion(name)
 *         param = SCIPgetParam(self._scip, n)             # <<<<<<<<<<<<<<
 * 
 *         if param == NULL:
*/
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 11629, __pyx_L1_error)
  __pyx_v_param = SCIPgetParam(__pyx_v_self->_scip, __pyx_t_5);

  /* "src/pyscipopt/scip.pxi":11631
 *         param = SCIPgetParam(self._scip, n)
 * 
 *         if param == NULL:             # <<<<<<<<<<<<<<
 *             raise KeyError("Not a valid parameter name")
 * 
*/
  __pyx_t_6 = (__pyx_v_param == NULL);
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":11632
 * 
 *         if param == NULL:
 *             raise KeyError("Not a valid parameter name")             # <<<<<<<<<<<<<<
 * 
 *         paramtype =  SCIPparamGetType(param)
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Not_a_valid_parameter_name};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_KeyError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11632, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 11632, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":11631
 *         param = SCIPgetParam(self._scip, n)
 * 
 *         if param == NULL:             # <<<<<<<<<<<<<<
 *             raise KeyError("Not a valid parameter name")
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":11634
 *             raise KeyError("Not a valid parameter name")
 * 
 *         paramtype =  SCIPparamGetType(param)             # <<<<<<<<<<<<<<
 * 
 *         if paramtype == SCIP_PARAMTYPE_BOOL:
*/
  __pyx_v_paramtype = SCIPparamGetType(__pyx_v_param);

  /* "src/pyscipopt/scip.pxi":11636
 *         paramtype =  SCIPparamGetType(param)
 * 
 *         if paramtype == SCIP_PARAMTYPE_BOOL:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPsetBoolParam(self._scip, n, bool(int(value))))
 *         elif paramtype == SCIP_PARAMTYPE_INT:
*/
  __pyx_t_6 = (__pyx_v_paramtype == SCIP_PARAMTYPE_BOOL);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":11637
 * 
 *         if paramtype == SCIP_PARAMTYPE_BOOL:
 *             PY_SCIP_CALL(SCIPsetBoolParam(self._scip, n, bool(int(value))))             # <<<<<<<<<<<<<<
 *         elif paramtype == SCIP_PARAMTYPE_INT:
 *             PY_SCIP_CALL(SCIPsetIntParam(self._scip, n, int(value)))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 11637, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 11637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 11637, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
    __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetBoolParam(__pyx_v_self->_scip, __pyx_t_7, (!(!__pyx_t_6)))); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 11637, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11637, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11636
 *         paramtype =  SCIPparamGetType(param)
 * 
 *         if paramtype == SCIP_PARAMTYPE_BOOL:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPsetBoolParam(self._scip, n, bool(int(value))))
 *         elif paramtype == SCIP_PARAMTYPE_INT:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":11638
 *         if paramtype == SCIP_PARAMTYPE_BOOL:
 *             PY_SCIP_CALL(SCIPsetBoolParam(self._scip, n, bool(int(value))))
 *         elif paramtype == SCIP_PARAMTYPE_INT:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPsetIntParam(self._scip, n, int(value)))
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:
*/
  __pyx_t_6 = (__pyx_v_paramtype == SCIP_PARAMTYPE_INT);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":11639
 *             PY_SCIP_CALL(SCIPsetBoolParam(self._scip, n, bool(int(value))))
 *         elif paramtype == SCIP_PARAMTYPE_INT:
 *             PY_SCIP_CALL(SCIPsetIntParam(self._scip, n, int(value)))             # <<<<<<<<<<<<<<
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:
 *             PY_SCIP_CALL(SCIPsetLongintParam(self._scip, n, int(value)))
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 11639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_7 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 11639, __pyx_L1_error)
    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_9 = __Pyx_PyLong_As_int(__pyx_t_3); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 11639, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetIntParam(__pyx_v_self->_scip, __pyx_t_7, __pyx_t_9)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11639, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11638
 *         if paramtype == SCIP_PARAMTYPE_BOOL:
 *             PY_SCIP_CALL(SCIPsetBoolParam(self._scip, n, bool(int(value))))
 *         elif paramtype == SCIP_PARAMTYPE_INT:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPsetIntParam(self._scip, n, int(value)))
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":11640
 *         elif paramtype == SCIP_PARAMTYPE_INT:
 *             PY_SCIP_CALL(SCIPsetIntParam(self._scip, n, int(value)))
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPsetLongintParam(self._scip, n, int(value)))
 *         elif paramtype == SCIP_PARAMTYPE_REAL:
*/
  __pyx_t_6 = (__pyx_v_paramtype == SCIP_PARAMTYPE_LONGINT);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":11641
 *             PY_SCIP_CALL(SCIPsetIntParam(self._scip, n, int(value)))
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:
 *             PY_SCIP_CALL(SCIPsetLongintParam(self._scip, n, int(value)))             # <<<<<<<<<<<<<<
 *         elif paramtype == SCIP_PARAMTYPE_REAL:
 *             PY_SCIP_CALL(SCIPsetRealParam(self._scip, n, float(value)))
*/
    __pyx_t_8 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11641, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 11641, __pyx_L1_error)
    __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_value); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11641, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_10 = __Pyx_PyLong_As_SCIP_Longint(__pyx_t_2); if (unlikely((__pyx_t_10 == ((SCIP_Longint)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11641, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetLongintParam(__pyx_v_self->_scip, __pyx_t_7, __pyx_t_10)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11641, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_8);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11641, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11640
 *         elif paramtype == SCIP_PARAMTYPE_INT:
 *             PY_SCIP_CALL(SCIPsetIntParam(self._scip, n, int(value)))
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPsetLongintParam(self._scip, n, int(value)))
 *         elif paramtype == SCIP_PARAMTYPE_REAL:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":11642
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:
 *             PY_SCIP_CALL(SCIPsetLongintParam(self._scip, n, int(value)))
 *         elif paramtype == SCIP_PARAMTYPE_REAL:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPsetRealParam(self._scip, n, float(value)))
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:
*/
  __pyx_t_6 = (__pyx_v_paramtype == SCIP_PARAMTYPE_REAL);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":11643
 *             PY_SCIP_CALL(SCIPsetLongintParam(self._scip, n, int(value)))
 *         elif paramtype == SCIP_PARAMTYPE_REAL:
 *             PY_SCIP_CALL(SCIPsetRealParam(self._scip, n, float(value)))             # <<<<<<<<<<<<<<
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:
 *             PY_SCIP_CALL(SCIPsetCharParam(self._scip, n, ord(value)))
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 11643, __pyx_L1_error)
    __pyx_t_11 = __Pyx_PyObject_AsDouble(__pyx_v_value); if (unlikely(__PYX_CHECK_FLOAT_EXCEPTION(__pyx_t_11, ((double)((double)-1))) && PyErr_Occurred())) __PYX_ERR(2, 11643, __pyx_L1_error)
    __pyx_t_8 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetRealParam(__pyx_v_self->_scip, __pyx_t_7, __pyx_t_11)); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 11643, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_2))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11643, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11642
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:
 *             PY_SCIP_CALL(SCIPsetLongintParam(self._scip, n, int(value)))
 *         elif paramtype == SCIP_PARAMTYPE_REAL:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPsetRealParam(self._scip, n, float(value)))
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":11644
 *         elif paramtype == SCIP_PARAMTYPE_REAL:
 *             PY_SCIP_CALL(SCIPsetRealParam(self._scip, n, float(value)))
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPsetCharParam(self._scip, n, ord(value)))
 *         elif paramtype == SCIP_PARAMTYPE_STRING:
*/
  __pyx_t_6 = (__pyx_v_paramtype == SCIP_PARAMTYPE_CHAR);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":11645
 *             PY_SCIP_CALL(SCIPsetRealParam(self._scip, n, float(value)))
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:
 *             PY_SCIP_CALL(SCIPsetCharParam(self._scip, n, ord(value)))             # <<<<<<<<<<<<<<
 *         elif paramtype == SCIP_PARAMTYPE_STRING:
 *             v = str_conversion(value)
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 11645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_7 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 11645, __pyx_L1_error)
    __pyx_t_12 = __Pyx_PyObject_Ord(__pyx_v_value); if (unlikely(__pyx_t_12 == ((long)(long)(Py_UCS4)-1))) __PYX_ERR(2, 11645, __pyx_L1_error)
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetCharParam(__pyx_v_self->_scip, __pyx_t_7, __pyx_t_12)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11645, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11645, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11644
 *         elif paramtype == SCIP_PARAMTYPE_REAL:
 *             PY_SCIP_CALL(SCIPsetRealParam(self._scip, n, float(value)))
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPsetCharParam(self._scip, n, ord(value)))
 *         elif paramtype == SCIP_PARAMTYPE_STRING:
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":11646
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:
 *             PY_SCIP_CALL(SCIPsetCharParam(self._scip, n, ord(value)))
 *         elif paramtype == SCIP_PARAMTYPE_STRING:             # <<<<<<<<<<<<<<
 *             v = str_conversion(value)
 *             PY_SCIP_CALL(SCIPsetStringParam(self._scip, n, v))
*/
  __pyx_t_6 = (__pyx_v_paramtype == SCIP_PARAMTYPE_STRING);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":11647
 *             PY_SCIP_CALL(SCIPsetCharParam(self._scip, n, ord(value)))
 *         elif paramtype == SCIP_PARAMTYPE_STRING:
 *             v = str_conversion(value)             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPsetStringParam(self._scip, n, v))
 * 
*/
    __pyx_t_8 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11647, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_8);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_8);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_v_value};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11647, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __pyx_v_v = __pyx_t_1;
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11648
 *         elif paramtype == SCIP_PARAMTYPE_STRING:
 *             v = str_conversion(value)
 *             PY_SCIP_CALL(SCIPsetStringParam(self._scip, n, v))             # <<<<<<<<<<<<<<
 * 
 *     def getParam(self, name):
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 11648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_8);
    __pyx_t_7 = __Pyx_PyObject_AsWritableString(__pyx_v_n); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 11648, __pyx_L1_error)
    __pyx_t_13 = __Pyx_PyObject_AsWritableString(__pyx_v_v); if (unlikely((!__pyx_t_13) && PyErr_Occurred())) __PYX_ERR(2, 11648, __pyx_L1_error)
    __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetStringParam(__pyx_v_self->_scip, __pyx_t_7, __pyx_t_13)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11648, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_4 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_8))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
      __pyx_t_4 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11648, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11646
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:
 *             PY_SCIP_CALL(SCIPsetCharParam(self._scip, n, ord(value)))
 *         elif paramtype == SCIP_PARAMTYPE_STRING:             # <<<<<<<<<<<<<<
 *             v = str_conversion(value)
 *             PY_SCIP_CALL(SCIPsetStringParam(self._scip, n, v))
*/
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":11615
 *         PY_SCIP_CALL(SCIPsetStringParam(self._scip, n, v))
 * 
 *     def setParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """Set a parameter with value in int, bool, real, long, char or str.
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XDECREF(__pyx_v_v);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11650
 *             PY_SCIP_CALL(SCIPsetStringParam(self._scip, n, v))
 * 
 *     def getParam(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Get the value of a parameter of type
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_789getParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_788getParam, "\n        Get the value of a parameter of type\n        int, bool, real, long, char or str.\n\n        Parameters\n        ----------\n        name : str\n            name of parameter\n\n        Returns\n        -------\n        object\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_789getParam = {"getParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_789getParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_788getParam};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_789getParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getParam (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11650, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11650, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getParam", 0) < (0)) __PYX_ERR(2, 11650, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getParam", 1, 1, 1, i); __PYX_ERR(2, 11650, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11650, __pyx_L3_error)
    }
    __pyx_v_name = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getParam", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 11650, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_788getParam(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_788getParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name) {
  SCIP_PARAM *__pyx_v_param;
  PyObject *__pyx_v_n = NULL;
  SCIP_PARAMTYPE __pyx_v_paramtype;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  int __pyx_t_6;
  char *__pyx_t_7;
  Py_ssize_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getParam", 0);

  /* "src/pyscipopt/scip.pxi":11667
 *         cdef SCIP_PARAM* param
 * 
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         param = SCIPgetParam(self._scip, n)
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11667, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11667, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11668
 * 
 *         n = str_conversion(name)
 *         param = SCIPgetParam(self._scip, n)             # <<<<<<<<<<<<<<
 * 
 *         if param == NULL:
*/
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 11668, __pyx_L1_error)
  __pyx_v_param = SCIPgetParam(__pyx_v_self->_scip, __pyx_t_5);

  /* "src/pyscipopt/scip.pxi":11670
 *         param = SCIPgetParam(self._scip, n)
 * 
 *         if param == NULL:             # <<<<<<<<<<<<<<
 *             raise KeyError("Not a valid parameter name")
 * 
*/
  __pyx_t_6 = (__pyx_v_param == NULL);
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":11671
 * 
 *         if param == NULL:
 *             raise KeyError("Not a valid parameter name")             # <<<<<<<<<<<<<<
 * 
 *         paramtype =  SCIPparamGetType(param)
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Not_a_valid_parameter_name};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_KeyError)), __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11671, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 11671, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":11670
 *         param = SCIPgetParam(self._scip, n)
 * 
 *         if param == NULL:             # <<<<<<<<<<<<<<
 *             raise KeyError("Not a valid parameter name")
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":11673
 *             raise KeyError("Not a valid parameter name")
 * 
 *         paramtype =  SCIPparamGetType(param)             # <<<<<<<<<<<<<<
 * 
 *         if paramtype == SCIP_PARAMTYPE_BOOL:
*/
  __pyx_v_paramtype = SCIPparamGetType(__pyx_v_param);

  /* "src/pyscipopt/scip.pxi":11675
 *         paramtype =  SCIPparamGetType(param)
 * 
 *         if paramtype == SCIP_PARAMTYPE_BOOL:             # <<<<<<<<<<<<<<
 *             return SCIPparamGetBool(param)
 *         elif paramtype == SCIP_PARAMTYPE_INT:
*/
  __pyx_t_6 = (__pyx_v_paramtype == SCIP_PARAMTYPE_BOOL);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":11676
 * 
 *         if paramtype == SCIP_PARAMTYPE_BOOL:
 *             return SCIPparamGetBool(param)             # <<<<<<<<<<<<<<
 *         elif paramtype == SCIP_PARAMTYPE_INT:
 *             return SCIPparamGetInt(param)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPparamGetBool(__pyx_v_param)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11676, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11675
 *         paramtype =  SCIPparamGetType(param)
 * 
 *         if paramtype == SCIP_PARAMTYPE_BOOL:             # <<<<<<<<<<<<<<
 *             return SCIPparamGetBool(param)
 *         elif paramtype == SCIP_PARAMTYPE_INT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11677
 *         if paramtype == SCIP_PARAMTYPE_BOOL:
 *             return SCIPparamGetBool(param)
 *         elif paramtype == SCIP_PARAMTYPE_INT:             # <<<<<<<<<<<<<<
 *             return SCIPparamGetInt(param)
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:
*/
  __pyx_t_6 = (__pyx_v_paramtype == SCIP_PARAMTYPE_INT);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":11678
 *             return SCIPparamGetBool(param)
 *         elif paramtype == SCIP_PARAMTYPE_INT:
 *             return SCIPparamGetInt(param)             # <<<<<<<<<<<<<<
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:
 *             return SCIPparamGetLongint(param)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_From_int(SCIPparamGetInt(__pyx_v_param)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11678, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11677
 *         if paramtype == SCIP_PARAMTYPE_BOOL:
 *             return SCIPparamGetBool(param)
 *         elif paramtype == SCIP_PARAMTYPE_INT:             # <<<<<<<<<<<<<<
 *             return SCIPparamGetInt(param)
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:
*/
  }

  /* "src/pyscipopt/scip.pxi":11679
 *         elif paramtype == SCIP_PARAMTYPE_INT:
 *             return SCIPparamGetInt(param)
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:             # <<<<<<<<<<<<<<
 *             return SCIPparamGetLongint(param)
 *         elif paramtype == SCIP_PARAMTYPE_REAL:
*/
  __pyx_t_6 = (__pyx_v_paramtype == SCIP_PARAMTYPE_LONGINT);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":11680
 *             return SCIPparamGetInt(param)
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:
 *             return SCIPparamGetLongint(param)             # <<<<<<<<<<<<<<
 *         elif paramtype == SCIP_PARAMTYPE_REAL:
 *             return SCIPparamGetReal(param)
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(SCIPparamGetLongint(__pyx_v_param)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11680, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11679
 *         elif paramtype == SCIP_PARAMTYPE_INT:
 *             return SCIPparamGetInt(param)
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:             # <<<<<<<<<<<<<<
 *             return SCIPparamGetLongint(param)
 *         elif paramtype == SCIP_PARAMTYPE_REAL:
*/
  }

  /* "src/pyscipopt/scip.pxi":11681
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:
 *             return SCIPparamGetLongint(param)
 *         elif paramtype == SCIP_PARAMTYPE_REAL:             # <<<<<<<<<<<<<<
 *             return SCIPparamGetReal(param)
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:
*/
  __pyx_t_6 = (__pyx_v_paramtype == SCIP_PARAMTYPE_REAL);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":11682
 *             return SCIPparamGetLongint(param)
 *         elif paramtype == SCIP_PARAMTYPE_REAL:
 *             return SCIPparamGetReal(param)             # <<<<<<<<<<<<<<
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:
 *             return chr(SCIPparamGetChar(param))
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = PyFloat_FromDouble(SCIPparamGetReal(__pyx_v_param)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11682, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11681
 *         elif paramtype == SCIP_PARAMTYPE_LONGINT:
 *             return SCIPparamGetLongint(param)
 *         elif paramtype == SCIP_PARAMTYPE_REAL:             # <<<<<<<<<<<<<<
 *             return SCIPparamGetReal(param)
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:
*/
  }

  /* "src/pyscipopt/scip.pxi":11683
 *         elif paramtype == SCIP_PARAMTYPE_REAL:
 *             return SCIPparamGetReal(param)
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:             # <<<<<<<<<<<<<<
 *             return chr(SCIPparamGetChar(param))
 *         elif paramtype == SCIP_PARAMTYPE_STRING:
*/
  __pyx_t_6 = (__pyx_v_paramtype == SCIP_PARAMTYPE_CHAR);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":11684
 *             return SCIPparamGetReal(param)
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:
 *             return chr(SCIPparamGetChar(param))             # <<<<<<<<<<<<<<
 *         elif paramtype == SCIP_PARAMTYPE_STRING:
 *             return SCIPparamGetString(param).decode('utf-8')
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_1 = PyUnicode_FromOrdinal(SCIPparamGetChar(__pyx_v_param)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11684, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11683
 *         elif paramtype == SCIP_PARAMTYPE_REAL:
 *             return SCIPparamGetReal(param)
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:             # <<<<<<<<<<<<<<
 *             return chr(SCIPparamGetChar(param))
 *         elif paramtype == SCIP_PARAMTYPE_STRING:
*/
  }

  /* "src/pyscipopt/scip.pxi":11685
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:
 *             return chr(SCIPparamGetChar(param))
 *         elif paramtype == SCIP_PARAMTYPE_STRING:             # <<<<<<<<<<<<<<
 *             return SCIPparamGetString(param).decode('utf-8')
 * 
*/
  __pyx_t_6 = (__pyx_v_paramtype == SCIP_PARAMTYPE_STRING);
  if (__pyx_t_6) {

    /* "src/pyscipopt/scip.pxi":11686
 *             return chr(SCIPparamGetChar(param))
 *         elif paramtype == SCIP_PARAMTYPE_STRING:
 *             return SCIPparamGetString(param).decode('utf-8')             # <<<<<<<<<<<<<<
 * 
 *     def getParams(self):
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_t_7 = SCIPparamGetString(__pyx_v_param);
    __pyx_t_8 = __Pyx_ssize_strlen(__pyx_t_7); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(2, 11686, __pyx_L1_error)
    __pyx_t_1 = __Pyx_decode_c_string(__pyx_t_7, 0, __pyx_t_8, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11686, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_1);
    __pyx_r = __pyx_t_1;
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11685
 *         elif paramtype == SCIP_PARAMTYPE_CHAR:
 *             return chr(SCIPparamGetChar(param))
 *         elif paramtype == SCIP_PARAMTYPE_STRING:             # <<<<<<<<<<<<<<
 *             return SCIPparamGetString(param).decode('utf-8')
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":11650
 *             PY_SCIP_CALL(SCIPsetStringParam(self._scip, n, v))
 * 
 *     def getParam(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Get the value of a parameter of type
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11688
 *             return SCIPparamGetString(param).decode('utf-8')
 * 
 *     def getParams(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the values of all parameters as a dict mapping parameter names
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_791getParams(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_790getParams, "\n        Gets the values of all parameters as a dict mapping parameter names\n        to their values.\n\n        Returns\n        -------\n        dict of str to object\n            dict mapping parameter names to their values.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_791getParams = {"getParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_791getParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_790getParams};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_791getParams(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getParams", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getParams", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_790getParams(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_790getParams(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_PARAM **__pyx_v_params;
  int __pyx_v_i;
  PyObject *__pyx_v_result = NULL;
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  char const *__pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getParams", 0);

  /* "src/pyscipopt/scip.pxi":11699
 * 
 *         """
 *         cdef SCIP_PARAM** params = SCIPgetParams(self._scip)             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v_params = SCIPgetParams(__pyx_v_self->_scip);

  /* "src/pyscipopt/scip.pxi":11702
 *         cdef int i
 * 
 *         result = {}             # <<<<<<<<<<<<<<
 *         for i in range(SCIPgetNParams(self._scip)):
 *           name = SCIPparamGetName(params[i]).decode('utf-8')
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11702, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_result = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11703
 * 
 *         result = {}
 *         for i in range(SCIPgetNParams(self._scip)):             # <<<<<<<<<<<<<<
 *           name = SCIPparamGetName(params[i]).decode('utf-8')
 *           result[name] = self.getParam(name)
*/
  __pyx_t_2 = SCIPgetNParams(__pyx_v_self->_scip);
  __pyx_t_3 = __pyx_t_2;
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
    __pyx_v_i = __pyx_t_4;

    /* "src/pyscipopt/scip.pxi":11704
 *         result = {}
 *         for i in range(SCIPgetNParams(self._scip)):
 *           name = SCIPparamGetName(params[i]).decode('utf-8')             # <<<<<<<<<<<<<<
 *           result[name] = self.getParam(name)
 * 
*/
    __pyx_t_5 = SCIPparamGetName((__pyx_v_params[__pyx_v_i]));
    __pyx_t_6 = __Pyx_ssize_strlen(__pyx_t_5); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(2, 11704, __pyx_L1_error)
    __pyx_t_1 = __Pyx_decode_c_string(__pyx_t_5, 0, __pyx_t_6, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11704, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __Pyx_INCREF(__pyx_t_1);
    __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_1);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11705
 *         for i in range(SCIPgetNParams(self._scip)):
 *           name = SCIPparamGetName(params[i]).decode('utf-8')
 *           result[name] = self.getParam(name)             # <<<<<<<<<<<<<<
 * 
 *         return result
*/
    __pyx_t_7 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_v_name};
      __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getParam, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11705, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    if (unlikely((PyDict_SetItem(__pyx_v_result, __pyx_v_name, __pyx_t_1) < 0))) __PYX_ERR(2, 11705, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "src/pyscipopt/scip.pxi":11707
 *           result[name] = self.getParam(name)
 * 
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     def setParams(self, params):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_result);
  __pyx_r = __pyx_v_result;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11688
 *             return SCIPparamGetString(param).decode('utf-8')
 * 
 *     def getParams(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the values of all parameters as a dict mapping parameter names
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11709
 *         return result
 * 
 *     def setParams(self, params):             # <<<<<<<<<<<<<<
 *         """
 *         Sets multiple parameters at once.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_793setParams(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_792setParams, "\n        Sets multiple parameters at once.\n\n        Parameters\n        ----------\n        params : dict of str to object\n            dict mapping parameter names to their values.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_793setParams = {"setParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_793setParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_792setParams};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_793setParams(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_params = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_params,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11709, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11709, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setParams", 0) < (0)) __PYX_ERR(2, 11709, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setParams", 1, 1, 1, i); __PYX_ERR(2, 11709, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11709, __pyx_L3_error)
    }
    __pyx_v_params = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 11709, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_792setParams(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_params);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_792setParams(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_params) {
  PyObject *__pyx_v_name = NULL;
  PyObject *__pyx_v_value = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setParams", 0);

  /* "src/pyscipopt/scip.pxi":11719
 * 
 *         """
 *         for name, value in params.items():             # <<<<<<<<<<<<<<
 *           self.setParam(name, value)
 * 
*/
  __pyx_t_2 = 0;
  if (unlikely(__pyx_v_params == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(2, 11719, __pyx_L1_error)
  }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_params, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11719, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(2, 11719, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6);
    __pyx_t_6 = 0;

    /* "src/pyscipopt/scip.pxi":11720
 *         """
 *         for name, value in params.items():
 *           self.setParam(name, value)             # <<<<<<<<<<<<<<
 * 
 *     def readParams(self, file):
*/
    __pyx_t_5 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_5);
    __pyx_t_8 = 0;
    {
      PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_v_name, __pyx_v_value};
      __pyx_t_6 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_setParam, __pyx_callargs+__pyx_t_8, (3-__pyx_t_8) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11720, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
    }
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11709
 *         return result
 * 
 *     def setParams(self, params):             # <<<<<<<<<<<<<<
 *         """
 *         Sets multiple parameters at once.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_name);
  __Pyx_XDECREF(__pyx_v_value);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11722
 *           self.setParam(name, value)
 * 
 *     def readParams(self, file):             # <<<<<<<<<<<<<<
 *         """
 *         Read an external parameter file.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_795readParams(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_794readParams, "\n        Read an external parameter file.\n\n        Parameters\n        ----------\n        file : str\n            file to read\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_795readParams = {"readParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_795readParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_794readParams};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_795readParams(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_file = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("readParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_file,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11722, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11722, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "readParams", 0) < (0)) __PYX_ERR(2, 11722, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("readParams", 1, 1, 1, i); __PYX_ERR(2, 11722, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11722, __pyx_L3_error)
    }
    __pyx_v_file = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("readParams", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 11722, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.readParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_794readParams(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_file);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_794readParams(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_file) {
  PyObject *__pyx_v_absfile = NULL;
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  char *__pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("readParams", 0);

  /* "src/pyscipopt/scip.pxi":11732
 * 
 *         """
 *         absfile = str_conversion(abspath(file))             # <<<<<<<<<<<<<<
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_mstate_global->__pyx_n_u_abspath); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_file};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11732, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_absfile = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11734
 *         absfile = str_conversion(abspath(file))
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11734, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_3, NULL};
    __pyx_t_4 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_6, __pyx_t_4, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 11734, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_7, (1-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_4);
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11734, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11735
 * 
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPreadParams(self._scip, absfile))
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_t_3, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11737
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         PY_SCIP_CALL(SCIPreadParams(self._scip, absfile))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)
*/
  __pyx_t_6 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_8 = __Pyx_PyObject_AsWritableString(__pyx_v_absfile); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(2, 11737, __pyx_L1_error)
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreadParams(__pyx_v_self->_scip, __pyx_t_8)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_6);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_6);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11737, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11739
 *         PY_SCIP_CALL(SCIPreadParams(self._scip, absfile))
 * 
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def writeParams(self, filename='param.set', comments=True, onlychanged=True, verbose=True):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11739, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_6))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_6);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_6, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_t_4, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_6, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11739, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11722
 *           self.setParam(name, value)
 * 
 *     def readParams(self, file):             # <<<<<<<<<<<<<<
 *         """
 *         Read an external parameter file.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.readParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_absfile);
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11741
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)
 * 
 *     def writeParams(self, filename='param.set', comments=True, onlychanged=True, verbose=True):             # <<<<<<<<<<<<<<
 *         """
 *         Write parameter settings to an external file.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_797writeParams(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_796writeParams, "\n        Write parameter settings to an external file.\n\n        Parameters\n        ----------\n        filename : str, optional\n            file to be written (Default value = 'param.set')\n        comments : bool, optional\n            write parameter descriptions as comments? (Default value = True)\n        onlychanged : bool, optional\n            write only modified parameters (Default value = True)\n        verbose : bool, optional\n            indicates whether a success message should be printed\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_797writeParams = {"writeParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_797writeParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_796writeParams};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_797writeParams(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  PyObject *__pyx_v_comments = 0;
  PyObject *__pyx_v_onlychanged = 0;
  PyObject *__pyx_v_verbose = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("writeParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,&__pyx_mstate_global->__pyx_n_u_comments,&__pyx_mstate_global->__pyx_n_u_onlychanged,&__pyx_mstate_global->__pyx_n_u_verbose,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11741, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 11741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 11741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "writeParams", 0) < (0)) __PYX_ERR(2, 11741, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_param_set));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 11741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 11741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11741, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_kp_u_param_set));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_True));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_filename = values[0];
    __pyx_v_comments = values[1];
    __pyx_v_onlychanged = values[2];
    __pyx_v_verbose = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("writeParams", 0, 0, 4, __pyx_nargs); __PYX_ERR(2, 11741, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_796writeParams(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_filename, __pyx_v_comments, __pyx_v_onlychanged, __pyx_v_verbose);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_796writeParams(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_comments, PyObject *__pyx_v_onlychanged, PyObject *__pyx_v_verbose) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_str_absfile = NULL;
  PyObject *__pyx_v_absfile = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  char *__pyx_t_7;
  SCIP_Bool __pyx_t_8;
  SCIP_Bool __pyx_t_9;
  int __pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("writeParams", 0);

  /* "src/pyscipopt/scip.pxi":11757
 * 
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11757, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 11757, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11757, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11758
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         str_absfile = abspath(filename)
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11758, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11760
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         str_absfile = abspath(filename)             # <<<<<<<<<<<<<<
 *         absfile = str_conversion(str_absfile)
 *         PY_SCIP_CALL(SCIPwriteParams(self._scip, absfile, comments, onlychanged))
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_abspath); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_filename};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11760, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_str_absfile = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11761
 * 
 *         str_absfile = abspath(filename)
 *         absfile = str_conversion(str_absfile)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPwriteParams(self._scip, absfile, comments, onlychanged))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_str_absfile};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11761, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_absfile = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11762
 *         str_absfile = abspath(filename)
 *         absfile = str_conversion(str_absfile)
 *         PY_SCIP_CALL(SCIPwriteParams(self._scip, absfile, comments, onlychanged))             # <<<<<<<<<<<<<<
 * 
 *         if verbose:
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_AsWritableString(__pyx_v_absfile); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 11762, __pyx_L1_error)
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_comments); if (unlikely((__pyx_t_8 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11762, __pyx_L1_error)
  __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_onlychanged); if (unlikely((__pyx_t_9 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11762, __pyx_L1_error)
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPwriteParams(__pyx_v_self->_scip, __pyx_t_7, __pyx_t_8, __pyx_t_9)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11762, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11762, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11764
 *         PY_SCIP_CALL(SCIPwriteParams(self._scip, absfile, comments, onlychanged))
 * 
 *         if verbose:             # <<<<<<<<<<<<<<
 *             print('wrote parameter settings to file ' + str_absfile)
 * 
*/
  __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_verbose); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(2, 11764, __pyx_L1_error)
  if (__pyx_t_10) {

    /* "src/pyscipopt/scip.pxi":11765
 * 
 *         if verbose:
 *             print('wrote parameter settings to file ' + str_absfile)             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
*/
    __pyx_t_2 = NULL;
    __pyx_t_4 = PyNumber_Add(__pyx_mstate_global->__pyx_kp_u_wrote_parameter_settings_to_file, __pyx_v_str_absfile); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11765, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_6 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_print, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11765, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11764
 *         PY_SCIP_CALL(SCIPwriteParams(self._scip, absfile, comments, onlychanged))
 * 
 *         if verbose:             # <<<<<<<<<<<<<<
 *             print('wrote parameter settings to file ' + str_absfile)
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":11767
 *             print('wrote parameter settings to file ' + str_absfile)
 * 
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)             # <<<<<<<<<<<<<<
 * 
 *     def resetParam(self, name):
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_3, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11767, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11741
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)
 * 
 *     def writeParams(self, filename='param.set', comments=True, onlychanged=True, verbose=True):             # <<<<<<<<<<<<<<
 *         """
 *         Write parameter settings to an external file.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_AddTraceback("pyscipopt.scip.Model.writeParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_str_absfile);
  __Pyx_XDECREF(__pyx_v_absfile);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11769
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def resetParam(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Reset parameter setting to its default value
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_799resetParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_798resetParam, "\n        Reset parameter setting to its default value\n\n        Parameters\n        ----------\n        name : str\n            parameter to reset\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_799resetParam = {"resetParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_799resetParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_798resetParam};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_799resetParam(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_name = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("resetParam (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11769, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11769, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "resetParam", 0) < (0)) __PYX_ERR(2, 11769, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("resetParam", 1, 1, 1, i); __PYX_ERR(2, 11769, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11769, __pyx_L3_error)
    }
    __pyx_v_name = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("resetParam", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 11769, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.resetParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_798resetParam(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_name);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_798resetParam(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_name) {
  PyObject *__pyx_v_n = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  char const *__pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("resetParam", 0);

  /* "src/pyscipopt/scip.pxi":11779
 * 
 *         """
 *         n = str_conversion(name)             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPresetParam(self._scip, n))
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11779, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_name};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11779, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_n = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11780
 *         """
 *         n = str_conversion(name)
 *         PY_SCIP_CALL(SCIPresetParam(self._scip, n))             # <<<<<<<<<<<<<<
 * 
 *     def resetParams(self):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_AsString(__pyx_v_n); if (unlikely((!__pyx_t_5) && PyErr_Occurred())) __PYX_ERR(2, 11780, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPresetParam(__pyx_v_self->_scip, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11780, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_4 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_4 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11780, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11769
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def resetParam(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Reset parameter setting to its default value
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.resetParam", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_n);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11782
 *         PY_SCIP_CALL(SCIPresetParam(self._scip, n))
 * 
 *     def resetParams(self):             # <<<<<<<<<<<<<<
 *         """Reset parameter settings to their default values."""
 *         PY_SCIP_CALL(SCIPresetParams(self._scip))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_801resetParams(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_800resetParams, "Reset parameter settings to their default values.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_801resetParams = {"resetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_801resetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_800resetParams};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_801resetParams(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("resetParams (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("resetParams", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("resetParams", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_800resetParams(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_800resetParams(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("resetParams", 0);

  /* "src/pyscipopt/scip.pxi":11784
 *     def resetParams(self):
 *         """Reset parameter settings to their default values."""
 *         PY_SCIP_CALL(SCIPresetParams(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def setEmphasis(self, paraemphasis, quiet = True):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPresetParams(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11784, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11782
 *         PY_SCIP_CALL(SCIPresetParam(self._scip, n))
 * 
 *     def resetParams(self):             # <<<<<<<<<<<<<<
 *         """Reset parameter settings to their default values."""
 *         PY_SCIP_CALL(SCIPresetParams(self._scip))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.resetParams", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11786
 *         PY_SCIP_CALL(SCIPresetParams(self._scip))
 * 
 *     def setEmphasis(self, paraemphasis, quiet = True):             # <<<<<<<<<<<<<<
 *         """
 *         Set emphasis settings
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_803setEmphasis(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_802setEmphasis, "\n        Set emphasis settings\n\n        Parameters\n        ----------\n        paraemphasis : PY_SCIP_PARAMEMPHASIS\n            emphasis to set\n        quiet : bool, optional\n            hide output? (Default value = True)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_803setEmphasis = {"setEmphasis", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_803setEmphasis, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_802setEmphasis};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_803setEmphasis(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_paraemphasis = 0;
  PyObject *__pyx_v_quiet = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setEmphasis (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_paraemphasis,&__pyx_mstate_global->__pyx_n_u_quiet,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11786, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11786, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11786, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "setEmphasis", 0) < (0)) __PYX_ERR(2, 11786, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("setEmphasis", 0, 1, 2, i); __PYX_ERR(2, 11786, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11786, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11786, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_True));
    }
    __pyx_v_paraemphasis = values[0];
    __pyx_v_quiet = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("setEmphasis", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 11786, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.setEmphasis", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_802setEmphasis(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_paraemphasis, __pyx_v_quiet);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_802setEmphasis(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_paraemphasis, PyObject *__pyx_v_quiet) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_PARAMEMPHASIS __pyx_t_4;
  SCIP_Bool __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setEmphasis", 0);

  /* "src/pyscipopt/scip.pxi":11798
 * 
 *         """
 *         PY_SCIP_CALL(SCIPsetEmphasis(self._scip, paraemphasis, quiet))             # <<<<<<<<<<<<<<
 * 
 *     def readProblem(self, filename, extension = None):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_As_SCIP_PARAMEMPHASIS(__pyx_v_paraemphasis); if (unlikely((__pyx_t_4 == ((SCIP_PARAMEMPHASIS)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11798, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_quiet); if (unlikely((__pyx_t_5 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11798, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetEmphasis(__pyx_v_self->_scip, __pyx_t_4, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_6};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11798, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11786
 *         PY_SCIP_CALL(SCIPresetParams(self._scip))
 * 
 *     def setEmphasis(self, paraemphasis, quiet = True):             # <<<<<<<<<<<<<<
 *         """
 *         Set emphasis settings
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setEmphasis", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11800
 *         PY_SCIP_CALL(SCIPsetEmphasis(self._scip, paraemphasis, quiet))
 * 
 *     def readProblem(self, filename, extension = None):             # <<<<<<<<<<<<<<
 *         """
 *         Read a problem instance from an external file.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_805readProblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_804readProblem, "\n        Read a problem instance from an external file.\n\n        Parameters\n        ----------\n        filename : str\n            problem file name\n        extension : str or None\n            specify file extension/type (Default value = None)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_805readProblem = {"readProblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_805readProblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_804readProblem};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_805readProblem(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  PyObject *__pyx_v_extension = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("readProblem (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,&__pyx_mstate_global->__pyx_n_u_extension,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11800, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11800, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11800, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "readProblem", 0) < (0)) __PYX_ERR(2, 11800, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("readProblem", 0, 1, 2, i); __PYX_ERR(2, 11800, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11800, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11800, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
    }
    __pyx_v_filename = values[0];
    __pyx_v_extension = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("readProblem", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 11800, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.readProblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_804readProblem(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_filename, __pyx_v_extension);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_804readProblem(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_filename, PyObject *__pyx_v_extension) {
  PyObject *__pyx_v_user_locale = NULL;
  PyObject *__pyx_v_absfile = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_t_8;
  char *__pyx_t_9;
  char *__pyx_t_10;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("readProblem", 0);
  __Pyx_INCREF(__pyx_v_extension);

  /* "src/pyscipopt/scip.pxi":11812
 * 
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)             # <<<<<<<<<<<<<<
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_getlocale); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11812, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 1 : 0)] = {__pyx_t_2, NULL};
    __pyx_t_3 = __Pyx_MakeVectorcallBuilderKwds(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11812, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_category, __pyx_t_5, __pyx_t_3, __pyx_callargs+1, 0) < (0)) __PYX_ERR(2, 11812, __pyx_L1_error)
    __pyx_t_1 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_3);
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11812, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_user_locale = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11813
 *         """
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
 *         locale.setlocale(locale.LC_NUMERIC, "C")             # <<<<<<<<<<<<<<
 * 
 *         absfile = str_conversion(abspath(filename))
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_2, __pyx_mstate_global->__pyx_n_u_C};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11813, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11815
 *         locale.setlocale(locale.LC_NUMERIC, "C")
 * 
 *         absfile = str_conversion(abspath(filename))             # <<<<<<<<<<<<<<
 *         if extension is None:
 *             PY_SCIP_CALL(SCIPreadProb(self._scip, absfile, NULL))
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_abspath); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_7))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_filename};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_5);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_5);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11815, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_absfile = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11816
 * 
 *         absfile = str_conversion(abspath(filename))
 *         if extension is None:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPreadProb(self._scip, absfile, NULL))
 *         else:
*/
  __pyx_t_8 = (__pyx_v_extension == Py_None);
  if (__pyx_t_8) {

    /* "src/pyscipopt/scip.pxi":11817
 *         absfile = str_conversion(abspath(filename))
 *         if extension is None:
 *             PY_SCIP_CALL(SCIPreadProb(self._scip, absfile, NULL))             # <<<<<<<<<<<<<<
 *         else:
 *             extension = str_conversion(extension)
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_9 = __Pyx_PyObject_AsWritableString(__pyx_v_absfile); if (unlikely((!__pyx_t_9) && PyErr_Occurred())) __PYX_ERR(2, 11817, __pyx_L1_error)
    __pyx_t_5 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreadProb(__pyx_v_self->_scip, __pyx_t_9, NULL)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11817, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_5};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11817, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11816
 * 
 *         absfile = str_conversion(abspath(filename))
 *         if extension is None:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPreadProb(self._scip, absfile, NULL))
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":11819
 *             PY_SCIP_CALL(SCIPreadProb(self._scip, absfile, NULL))
 *         else:
 *             extension = str_conversion(extension)             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPreadProb(self._scip, absfile, extension))
 * 
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_str_conversion); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11819, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_5))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_extension};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11819, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF_SET(__pyx_v_extension, __pyx_t_1);
    __pyx_t_1 = 0;

    /* "src/pyscipopt/scip.pxi":11820
 *         else:
 *             extension = str_conversion(extension)
 *             PY_SCIP_CALL(SCIPreadProb(self._scip, absfile, extension))             # <<<<<<<<<<<<<<
 * 
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)
*/
    __pyx_t_5 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_9 = __Pyx_PyObject_AsWritableString(__pyx_v_absfile); if (unlikely((!__pyx_t_9) && PyErr_Occurred())) __PYX_ERR(2, 11820, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyObject_AsWritableString(__pyx_v_extension); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) __PYX_ERR(2, 11820, __pyx_L1_error)
    __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPreadProb(__pyx_v_self->_scip, __pyx_t_9, __pyx_t_10)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11820, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_6 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_5);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_6 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_2};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11820, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":11822
 *             PY_SCIP_CALL(SCIPreadProb(self._scip, absfile, extension))
 * 
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)             # <<<<<<<<<<<<<<
 * 
 *     # Counting functions
*/
  __pyx_t_4 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_setlocale); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_locale); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_LC_NUMERIC); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11822, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_4);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_4);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_6 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[3] = {__pyx_t_4, __pyx_t_7, __pyx_v_user_locale};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11822, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11800
 *         PY_SCIP_CALL(SCIPsetEmphasis(self._scip, paraemphasis, quiet))
 * 
 *     def readProblem(self, filename, extension = None):             # <<<<<<<<<<<<<<
 *         """
 *         Read a problem instance from an external file.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.readProblem", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_user_locale);
  __Pyx_XDECREF(__pyx_v_absfile);
  __Pyx_XDECREF(__pyx_v_extension);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11826
 *     # Counting functions
 * 
 *     def count(self):             # <<<<<<<<<<<<<<
 *         """Counts the number of feasible points of problem."""
 *         PY_SCIP_CALL(SCIPcount(self._scip))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_807count(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_806count, "Counts the number of feasible points of problem.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_807count = {"count", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_807count, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_806count};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_807count(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("count (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("count", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("count", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_806count(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_806count(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("count", 0);

  /* "src/pyscipopt/scip.pxi":11828
 *     def count(self):
 *         """Counts the number of feasible points of problem."""
 *         PY_SCIP_CALL(SCIPcount(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def getNReaders(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPcount(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11828, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11828, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11826
 *     # Counting functions
 * 
 *     def count(self):             # <<<<<<<<<<<<<<
 *         """Counts the number of feasible points of problem."""
 *         PY_SCIP_CALL(SCIPcount(self._scip))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.count", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11830
 *         PY_SCIP_CALL(SCIPcount(self._scip))
 * 
 *     def getNReaders(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get number of currently available readers.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_809getNReaders(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_808getNReaders, "\n        Get number of currently available readers.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_809getNReaders = {"getNReaders", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_809getNReaders, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_808getNReaders};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_809getNReaders(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNReaders (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNReaders", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNReaders", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_808getNReaders(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_808getNReaders(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNReaders", 0);

  /* "src/pyscipopt/scip.pxi":11839
 * 
 *         """
 *         return SCIPgetNReaders(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def getNCountedSols(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_int(SCIPgetNReaders(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11830
 *         PY_SCIP_CALL(SCIPcount(self._scip))
 * 
 *     def getNReaders(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get number of currently available readers.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNReaders", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11841
 *         return SCIPgetNReaders(self._scip)
 * 
 *     def getNCountedSols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get number of feasible solution.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_811getNCountedSols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_810getNCountedSols, "\n        Get number of feasible solution.\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_811getNCountedSols = {"getNCountedSols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_811getNCountedSols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_810getNCountedSols};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_811getNCountedSols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getNCountedSols (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getNCountedSols", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getNCountedSols", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_810getNCountedSols(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_810getNCountedSols(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_Bool __pyx_v_valid;
  SCIP_Longint __pyx_v_nsols;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getNCountedSols", 0);

  /* "src/pyscipopt/scip.pxi":11853
 *         cdef SCIP_Longint nsols
 * 
 *         nsols = SCIPgetNCountedSols(self._scip, &valid)             # <<<<<<<<<<<<<<
 *         if not valid:
 *             print('total number of solutions found is not valid!')
*/
  __pyx_v_nsols = SCIPgetNCountedSols(__pyx_v_self->_scip, (&__pyx_v_valid));

  /* "src/pyscipopt/scip.pxi":11854
 * 
 *         nsols = SCIPgetNCountedSols(self._scip, &valid)
 *         if not valid:             # <<<<<<<<<<<<<<
 *             print('total number of solutions found is not valid!')
 *         return nsols
*/
  __pyx_t_1 = (!(__pyx_v_valid != 0));
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11855
 *         nsols = SCIPgetNCountedSols(self._scip, &valid)
 *         if not valid:
 *             print('total number of solutions found is not valid!')             # <<<<<<<<<<<<<<
 *         return nsols
 * 
*/
    __pyx_t_3 = NULL;
    __pyx_t_4 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_total_number_of_solutions_found};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_print, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (__pyx_t_4*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11855, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":11854
 * 
 *         nsols = SCIPgetNCountedSols(self._scip, &valid)
 *         if not valid:             # <<<<<<<<<<<<<<
 *             print('total number of solutions found is not valid!')
 *         return nsols
*/
  }

  /* "src/pyscipopt/scip.pxi":11856
 *         if not valid:
 *             print('total number of solutions found is not valid!')
 *         return nsols             # <<<<<<<<<<<<<<
 * 
 *     def setParamsCountsols(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_Longint(__pyx_v_nsols); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11856, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11841
 *         return SCIPgetNReaders(self._scip)
 * 
 *     def getNCountedSols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get number of feasible solution.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getNCountedSols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11858
 *         return nsols
 * 
 *     def setParamsCountsols(self):             # <<<<<<<<<<<<<<
 *         """Sets SCIP parameters such that a valid counting process is possible."""
 *         PY_SCIP_CALL(SCIPsetParamsCountsols(self._scip))
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_813setParamsCountsols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_812setParamsCountsols, "Sets SCIP parameters such that a valid counting process is possible.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_813setParamsCountsols = {"setParamsCountsols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_813setParamsCountsols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_812setParamsCountsols};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_813setParamsCountsols(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("setParamsCountsols (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("setParamsCountsols", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("setParamsCountsols", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_812setParamsCountsols(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_812setParamsCountsols(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("setParamsCountsols", 0);

  /* "src/pyscipopt/scip.pxi":11860
 *     def setParamsCountsols(self):
 *         """Sets SCIP parameters such that a valid counting process is possible."""
 *         PY_SCIP_CALL(SCIPsetParamsCountsols(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def freeReoptSolve(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPsetParamsCountsols(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11860, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11860, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11858
 *         return nsols
 * 
 *     def setParamsCountsols(self):             # <<<<<<<<<<<<<<
 *         """Sets SCIP parameters such that a valid counting process is possible."""
 *         PY_SCIP_CALL(SCIPsetParamsCountsols(self._scip))
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.setParamsCountsols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11862
 *         PY_SCIP_CALL(SCIPsetParamsCountsols(self._scip))
 * 
 *     def freeReoptSolve(self):             # <<<<<<<<<<<<<<
 *         """Frees all solution process data and prepares for reoptimization."""
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_815freeReoptSolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_814freeReoptSolve, "Frees all solution process data and prepares for reoptimization.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_815freeReoptSolve = {"freeReoptSolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_815freeReoptSolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_814freeReoptSolve};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_815freeReoptSolve(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("freeReoptSolve (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("freeReoptSolve", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("freeReoptSolve", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_814freeReoptSolve(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_814freeReoptSolve(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  int __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("freeReoptSolve", 0);

  /* "src/pyscipopt/scip.pxi":11865
 *         """Frees all solution process data and prepares for reoptimization."""
 * 
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_2 = ((PyObject *)__pyx_v_self);
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11865, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_INIT); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":11866
 * 
 *         if self.getStage() not in [SCIP_STAGE_INIT,
 *                                  SCIP_STAGE_PROBLEM,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_TRANSFORMED,
 *                                  SCIP_STAGE_PRESOLVING,
*/
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_PROBLEM); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11866, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "src/pyscipopt/scip.pxi":11865
 *         """Frees all solution process data and prepares for reoptimization."""
 * 
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":11867
 *         if self.getStage() not in [SCIP_STAGE_INIT,
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PRESOLVING,
 *                                  SCIP_STAGE_PRESOLVED,
*/
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_TRANSFORMED); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11867, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11865
 *         """Frees all solution process data and prepares for reoptimization."""
 * 
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":11868
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
 *                                  SCIP_STAGE_PRESOLVING,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PRESOLVED,
 *                                  SCIP_STAGE_SOLVING,
*/
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_PRESOLVING); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11868, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "src/pyscipopt/scip.pxi":11865
 *         """Frees all solution process data and prepares for reoptimization."""
 * 
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":11869
 *                                  SCIP_STAGE_TRANSFORMED,
 *                                  SCIP_STAGE_PRESOLVING,
 *                                  SCIP_STAGE_PRESOLVED,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_SOLVING,
 *                                  SCIP_STAGE_SOLVED]:
*/
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_PRESOLVED); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11865
 *         """Frees all solution process data and prepares for reoptimization."""
 * 
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":11870
 *                                  SCIP_STAGE_PRESOLVING,
 *                                  SCIP_STAGE_PRESOLVED,
 *                                  SCIP_STAGE_SOLVING,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_SOLVED]:
 *             raise Warning("method cannot be called in stage %i." % self.getStage())
*/
  __pyx_t_5 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_SOLVING); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "src/pyscipopt/scip.pxi":11865
 *         """Frees all solution process data and prepares for reoptimization."""
 * 
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_6) {
  } else {
    __pyx_t_4 = __pyx_t_6;
    goto __pyx_L4_bool_binop_done;
  }

  /* "src/pyscipopt/scip.pxi":11871
 *                                  SCIP_STAGE_PRESOLVED,
 *                                  SCIP_STAGE_SOLVING,
 *                                  SCIP_STAGE_SOLVED]:             # <<<<<<<<<<<<<<
 *             raise Warning("method cannot be called in stage %i." % self.getStage())
 *         PY_SCIP_CALL(SCIPfreeReoptSolve(self._scip))
*/
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_SOLVED); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11871, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11865
 *         """Frees all solution process data and prepares for reoptimization."""
 * 
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(2, 11865, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_4 = __pyx_t_6;
  __pyx_L4_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_6 = __pyx_t_4;
  if (unlikely(__pyx_t_6)) {

    /* "src/pyscipopt/scip.pxi":11872
 *                                  SCIP_STAGE_SOLVING,
 *                                  SCIP_STAGE_SOLVED]:
 *             raise Warning("method cannot be called in stage %i." % self.getStage())             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPfreeReoptSolve(self._scip))
 * 
*/
    __pyx_t_5 = NULL;
    __pyx_t_7 = ((PyObject *)__pyx_v_self);
    __Pyx_INCREF(__pyx_t_7);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_7, NULL};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_getStage, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11872, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __pyx_t_7 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_method_cannot_be_called_in_stage, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11872, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_3 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_7};
      __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11872, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
    }
    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __PYX_ERR(2, 11872, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":11865
 *         """Frees all solution process data and prepares for reoptimization."""
 * 
 *         if self.getStage() not in [SCIP_STAGE_INIT,             # <<<<<<<<<<<<<<
 *                                  SCIP_STAGE_PROBLEM,
 *                                  SCIP_STAGE_TRANSFORMED,
*/
  }

  /* "src/pyscipopt/scip.pxi":11873
 *                                  SCIP_STAGE_SOLVED]:
 *             raise Warning("method cannot be called in stage %i." % self.getStage())
 *         PY_SCIP_CALL(SCIPfreeReoptSolve(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def chgReoptObjective(self, coeffs, sense = 'minimize'):
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 11873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_2 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPfreeReoptSolve(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_5))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
    __pyx_t_3 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_2};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11873, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11862
 *         PY_SCIP_CALL(SCIPsetParamsCountsols(self._scip))
 * 
 *     def freeReoptSolve(self):             # <<<<<<<<<<<<<<
 *         """Frees all solution process data and prepares for reoptimization."""
 * 
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.freeReoptSolve", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11875
 *         PY_SCIP_CALL(SCIPfreeReoptSolve(self._scip))
 * 
 *     def chgReoptObjective(self, coeffs, sense = 'minimize'):             # <<<<<<<<<<<<<<
 *         """
 *         Change the objective function for reoptimization.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_817chgReoptObjective(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_816chgReoptObjective, "\n        Change the objective function for reoptimization.\n\n        Parameters\n        ----------\n        coeffs : Expr\n            the coefficients as a linear expression\n        sense : str\n            the objective sense (Default value = 'minimize')\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_817chgReoptObjective = {"chgReoptObjective", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_817chgReoptObjective, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_816chgReoptObjective};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_817chgReoptObjective(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_coeffs = 0;
  PyObject *__pyx_v_sense = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgReoptObjective (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_coeffs,&__pyx_mstate_global->__pyx_n_u_sense,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11875, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11875, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11875, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgReoptObjective", 0) < (0)) __PYX_ERR(2, 11875, __pyx_L3_error)
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_minimize));
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgReoptObjective", 0, 1, 2, i); __PYX_ERR(2, 11875, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11875, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11875, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_minimize));
    }
    __pyx_v_coeffs = values[0];
    __pyx_v_sense = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgReoptObjective", 0, 1, 2, __pyx_nargs); __PYX_ERR(2, 11875, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgReoptObjective", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_816chgReoptObjective(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_coeffs, __pyx_v_sense);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_816chgReoptObjective(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_coeffs, PyObject *__pyx_v_sense) {
  SCIP_VAR **__pyx_v_vars;
  int __pyx_v_nvars;
  SCIP_Real *__pyx_v__coeffs;
  SCIP_OBJSENSE __pyx_v_objsense;
  int __pyx_v_i;
  struct __pyx_obj_9pyscipopt_4scip__VarArray *__pyx_v_wrapper = 0;
  PyObject *__pyx_v_term = NULL;
  PyObject *__pyx_v_coef = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  Py_ssize_t __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  SCIP_Real __pyx_t_11;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgReoptObjective", 0);

  /* "src/pyscipopt/scip.pxi":11894
 *         cdef _VarArray wrapper
 * 
 *         if sense == "minimize":             # <<<<<<<<<<<<<<
 *             objsense = SCIP_OBJSENSE_MINIMIZE
 *         elif sense == "maximize":
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_sense, __pyx_mstate_global->__pyx_n_u_minimize, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 11894, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11895
 * 
 *         if sense == "minimize":
 *             objsense = SCIP_OBJSENSE_MINIMIZE             # <<<<<<<<<<<<<<
 *         elif sense == "maximize":
 *             objsense = SCIP_OBJSENSE_MAXIMIZE
*/
    __pyx_v_objsense = SCIP_OBJSENSE_MINIMIZE;

    /* "src/pyscipopt/scip.pxi":11894
 *         cdef _VarArray wrapper
 * 
 *         if sense == "minimize":             # <<<<<<<<<<<<<<
 *             objsense = SCIP_OBJSENSE_MINIMIZE
 *         elif sense == "maximize":
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":11896
 *         if sense == "minimize":
 *             objsense = SCIP_OBJSENSE_MINIMIZE
 *         elif sense == "maximize":             # <<<<<<<<<<<<<<
 *             objsense = SCIP_OBJSENSE_MAXIMIZE
 *         else:
*/
  __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_sense, __pyx_mstate_global->__pyx_n_u_maximize, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 11896, __pyx_L1_error)
  if (likely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":11897
 *             objsense = SCIP_OBJSENSE_MINIMIZE
 *         elif sense == "maximize":
 *             objsense = SCIP_OBJSENSE_MAXIMIZE             # <<<<<<<<<<<<<<
 *         else:
 *             raise Warning("unrecognized optimization sense: %s" % sense)
*/
    __pyx_v_objsense = SCIP_OBJSENSE_MAXIMIZE;

    /* "src/pyscipopt/scip.pxi":11896
 *         if sense == "minimize":
 *             objsense = SCIP_OBJSENSE_MINIMIZE
 *         elif sense == "maximize":             # <<<<<<<<<<<<<<
 *             objsense = SCIP_OBJSENSE_MAXIMIZE
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":11899
 *             objsense = SCIP_OBJSENSE_MAXIMIZE
 *         else:
 *             raise Warning("unrecognized optimization sense: %s" % sense)             # <<<<<<<<<<<<<<
 * 
 *         assert isinstance(coeffs, Expr), "given coefficients are not Expr but %s" % coeffs.__class__.__name__
*/
  /*else*/ {
    __pyx_t_3 = NULL;
    __pyx_t_4 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_unrecognized_optimization_sense, __pyx_v_sense); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11899, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_4};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11899, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 11899, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":11901
 *             raise Warning("unrecognized optimization sense: %s" % sense)
 * 
 *         assert isinstance(coeffs, Expr), "given coefficients are not Expr but %s" % coeffs.__class__.__name__             # <<<<<<<<<<<<<<
 * 
 *         if coeffs.degree() > 1:
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_coeffs, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr); 
    if (unlikely(!__pyx_t_1)) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_coeffs, __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11901, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11901, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_given_coefficients_are_not_Expr, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11901, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_2, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(2, 11901, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 11901, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":11903
 *         assert isinstance(coeffs, Expr), "given coefficients are not Expr but %s" % coeffs.__class__.__name__
 * 
 *         if coeffs.degree() > 1:             # <<<<<<<<<<<<<<
 *             raise ValueError("Nonlinear objective functions are not supported!")
 *         if coeffs[CONST] != 0.0:
*/
  __pyx_t_4 = __pyx_v_coeffs;
  __Pyx_INCREF(__pyx_t_4);
  __pyx_t_5 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_degree, __pyx_callargs+__pyx_t_5, (1-__pyx_t_5) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11903, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_mstate_global->__pyx_int_1, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11903, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 11903, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":11904
 * 
 *         if coeffs.degree() > 1:
 *             raise ValueError("Nonlinear objective functions are not supported!")             # <<<<<<<<<<<<<<
 *         if coeffs[CONST] != 0.0:
 *             raise ValueError("Constant offsets in objective are not supported!")
*/
    __pyx_t_2 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_Nonlinear_objective_functions_ar};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11904, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __PYX_ERR(2, 11904, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":11903
 *         assert isinstance(coeffs, Expr), "given coefficients are not Expr but %s" % coeffs.__class__.__name__
 * 
 *         if coeffs.degree() > 1:             # <<<<<<<<<<<<<<
 *             raise ValueError("Nonlinear objective functions are not supported!")
 *         if coeffs[CONST] != 0.0:
*/
  }

  /* "src/pyscipopt/scip.pxi":11905
 *         if coeffs.degree() > 1:
 *             raise ValueError("Nonlinear objective functions are not supported!")
 *         if coeffs[CONST] != 0.0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Constant offsets in objective are not supported!")
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CONST); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_coeffs, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11905, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = (__Pyx_PyFloat_BoolNeObjC(__pyx_t_2, __pyx_mstate_global->__pyx_float_0_0, 0.0, 0, 0)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 11905, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(__pyx_t_1)) {

    /* "src/pyscipopt/scip.pxi":11906
 *             raise ValueError("Nonlinear objective functions are not supported!")
 *         if coeffs[CONST] != 0.0:
 *             raise ValueError("Constant offsets in objective are not supported!")             # <<<<<<<<<<<<<<
 * 
 *         nvars = len(coeffs.terms) - (CONST in coeffs.terms)
*/
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_Constant_offsets_in_objective_ar};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11906, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __PYX_ERR(2, 11906, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":11905
 *         if coeffs.degree() > 1:
 *             raise ValueError("Nonlinear objective functions are not supported!")
 *         if coeffs[CONST] != 0.0:             # <<<<<<<<<<<<<<
 *             raise ValueError("Constant offsets in objective are not supported!")
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":11908
 *             raise ValueError("Constant offsets in objective are not supported!")
 * 
 *         nvars = len(coeffs.terms) - (CONST in coeffs.terms)             # <<<<<<<<<<<<<<
 * 
 *         if nvars == 0:
*/
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_coeffs, __pyx_mstate_global->__pyx_n_u_terms); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(2, 11908, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_CONST); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_coeffs, __pyx_mstate_global->__pyx_n_u_terms); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11908, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_1 = (__Pyx_PySequence_ContainsTF(__pyx_t_2, __pyx_t_4, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 11908, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_v_nvars = (__pyx_t_6 - __pyx_t_1);

  /* "src/pyscipopt/scip.pxi":11910
 *         nvars = len(coeffs.terms) - (CONST in coeffs.terms)
 * 
 *         if nvars == 0:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgReoptObjective(self._scip, objsense, NULL, NULL, 0))
 *             return
*/
  __pyx_t_1 = (__pyx_v_nvars == 0);
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":11911
 * 
 *         if nvars == 0:
 *             PY_SCIP_CALL(SCIPchgReoptObjective(self._scip, objsense, NULL, NULL, 0))             # <<<<<<<<<<<<<<
 *             return
 * 
*/
    __pyx_t_2 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgReoptObjective(__pyx_v_self->_scip, __pyx_v_objsense, NULL, NULL, 0)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11911, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_5 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_3))) {
      __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
      assert(__pyx_t_2);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
      __pyx_t_5 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
      __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11911, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
    }
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

    /* "src/pyscipopt/scip.pxi":11912
 *         if nvars == 0:
 *             PY_SCIP_CALL(SCIPchgReoptObjective(self._scip, objsense, NULL, NULL, 0))
 *             return             # <<<<<<<<<<<<<<
 * 
 *         _coeffs = <SCIP_Real*> malloc(nvars * sizeof(SCIP_Real))
*/
    __Pyx_XDECREF(__pyx_r);
    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
    goto __pyx_L0;

    /* "src/pyscipopt/scip.pxi":11910
 *         nvars = len(coeffs.terms) - (CONST in coeffs.terms)
 * 
 *         if nvars == 0:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPchgReoptObjective(self._scip, objsense, NULL, NULL, 0))
 *             return
*/
  }

  /* "src/pyscipopt/scip.pxi":11914
 *             return
 * 
 *         _coeffs = <SCIP_Real*> malloc(nvars * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         vars = <SCIP_VAR**> malloc(nvars * sizeof(SCIP_VAR*))
 * 
*/
  __pyx_v__coeffs = ((SCIP_Real *)malloc((__pyx_v_nvars * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/scip.pxi":11915
 * 
 *         _coeffs = <SCIP_Real*> malloc(nvars * sizeof(SCIP_Real))
 *         vars = <SCIP_VAR**> malloc(nvars * sizeof(SCIP_VAR*))             # <<<<<<<<<<<<<<
 * 
 *         i = 0
*/
  __pyx_v_vars = ((SCIP_VAR **)malloc((__pyx_v_nvars * (sizeof(SCIP_VAR *)))));

  /* "src/pyscipopt/scip.pxi":11917
 *         vars = <SCIP_VAR**> malloc(nvars * sizeof(SCIP_VAR*))
 * 
 *         i = 0             # <<<<<<<<<<<<<<
 *         for term, coef in coeffs.terms.items():
 *             # avoid CONST term of Expr
*/
  __pyx_v_i = 0;

  /* "src/pyscipopt/scip.pxi":11918
 * 
 *         i = 0
 *         for term, coef in coeffs.terms.items():             # <<<<<<<<<<<<<<
 *             # avoid CONST term of Expr
 *             if term != CONST:
*/
  __pyx_t_6 = 0;
  __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_coeffs, __pyx_mstate_global->__pyx_n_u_terms); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  if (unlikely(__pyx_t_3 == Py_None)) {
    PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
    __PYX_ERR(2, 11918, __pyx_L1_error)
  }
  __pyx_t_7 = __Pyx_dict_iterator(__pyx_t_3, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_8), (&__pyx_t_9)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11918, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_XDECREF(__pyx_t_4);
  __pyx_t_4 = __pyx_t_7;
  __pyx_t_7 = 0;
  while (1) {
    __pyx_t_10 = __Pyx_dict_iter_next(__pyx_t_4, __pyx_t_8, &__pyx_t_6, &__pyx_t_7, &__pyx_t_3, NULL, __pyx_t_9);
    if (unlikely(__pyx_t_10 == 0)) break;
    if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(2, 11918, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_term, __pyx_t_7);
    __pyx_t_7 = 0;
    __Pyx_XDECREF_SET(__pyx_v_coef, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":11920
 *         for term, coef in coeffs.terms.items():
 *             # avoid CONST term of Expr
 *             if term != CONST:             # <<<<<<<<<<<<<<
 *                 wrapper = _VarArray(term[0])
 *                 vars[i] = wrapper.ptr[0]
*/
    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_CONST); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11920, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_7 = PyObject_RichCompare(__pyx_v_term, __pyx_t_3, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11920, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 11920, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    if (__pyx_t_1) {

      /* "src/pyscipopt/scip.pxi":11921
 *             # avoid CONST term of Expr
 *             if term != CONST:
 *                 wrapper = _VarArray(term[0])             # <<<<<<<<<<<<<<
 *                 vars[i] = wrapper.ptr[0]
 *                 _coeffs[i] = coef
*/
      __pyx_t_3 = NULL;
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_term, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11921, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_2};
        __pyx_t_7 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip__VarArray, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11921, __pyx_L1_error)
        __Pyx_GOTREF((PyObject *)__pyx_t_7);
      }
      __Pyx_XDECREF_SET(__pyx_v_wrapper, ((struct __pyx_obj_9pyscipopt_4scip__VarArray *)__pyx_t_7));
      __pyx_t_7 = 0;

      /* "src/pyscipopt/scip.pxi":11922
 *             if term != CONST:
 *                 wrapper = _VarArray(term[0])
 *                 vars[i] = wrapper.ptr[0]             # <<<<<<<<<<<<<<
 *                 _coeffs[i] = coef
 *                 i += 1
*/
      (__pyx_v_vars[__pyx_v_i]) = (__pyx_v_wrapper->ptr[0]);

      /* "src/pyscipopt/scip.pxi":11923
 *                 wrapper = _VarArray(term[0])
 *                 vars[i] = wrapper.ptr[0]
 *                 _coeffs[i] = coef             # <<<<<<<<<<<<<<
 *                 i += 1
 * 
*/
      __pyx_t_11 = __Pyx_PyFloat_AsDouble(__pyx_v_coef); if (unlikely((__pyx_t_11 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 11923, __pyx_L1_error)
      (__pyx_v__coeffs[__pyx_v_i]) = __pyx_t_11;

      /* "src/pyscipopt/scip.pxi":11924
 *                 vars[i] = wrapper.ptr[0]
 *                 _coeffs[i] = coef
 *                 i += 1             # <<<<<<<<<<<<<<
 * 
 *         PY_SCIP_CALL(SCIPchgReoptObjective(self._scip, objsense, vars, _coeffs, nvars))
*/
      __pyx_v_i = (__pyx_v_i + 1);

      /* "src/pyscipopt/scip.pxi":11920
 *         for term, coef in coeffs.terms.items():
 *             # avoid CONST term of Expr
 *             if term != CONST:             # <<<<<<<<<<<<<<
 *                 wrapper = _VarArray(term[0])
 *                 vars[i] = wrapper.ptr[0]
*/
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":11926
 *                 i += 1
 * 
 *         PY_SCIP_CALL(SCIPchgReoptObjective(self._scip, objsense, vars, _coeffs, nvars))             # <<<<<<<<<<<<<<
 * 
 *         free(vars)
*/
  __pyx_t_7 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgReoptObjective(__pyx_v_self->_scip, __pyx_v_objsense, __pyx_v_vars, __pyx_v__coeffs, __pyx_v_nvars)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11926, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
    assert(__pyx_t_7);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
    __Pyx_INCREF(__pyx_t_7);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_3};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11926, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":11928
 *         PY_SCIP_CALL(SCIPchgReoptObjective(self._scip, objsense, vars, _coeffs, nvars))
 * 
 *         free(vars)             # <<<<<<<<<<<<<<
 *         free(_coeffs)
 * 
*/
  free(__pyx_v_vars);

  /* "src/pyscipopt/scip.pxi":11929
 * 
 *         free(vars)
 *         free(_coeffs)             # <<<<<<<<<<<<<<
 * 
 *     def chgVarBranchPriority(self, Variable var, priority):
*/
  free(__pyx_v__coeffs);

  /* "src/pyscipopt/scip.pxi":11875
 *         PY_SCIP_CALL(SCIPfreeReoptSolve(self._scip))
 * 
 *     def chgReoptObjective(self, coeffs, sense = 'minimize'):             # <<<<<<<<<<<<<<
 *         """
 *         Change the objective function for reoptimization.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgReoptObjective", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF((PyObject *)__pyx_v_wrapper);
  __Pyx_XDECREF(__pyx_v_term);
  __Pyx_XDECREF(__pyx_v_coef);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11931
 *         free(_coeffs)
 * 
 *     def chgVarBranchPriority(self, Variable var, priority):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the branch priority of the variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_819chgVarBranchPriority(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_818chgVarBranchPriority, "\n        Sets the branch priority of the variable.\n        Variables with higher branch priority are always preferred to variables with\n        lower priority in selection of branching variable.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to change priority of\n        priority : int\n            the new priority of the variable (the default branching priority is 0)\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_819chgVarBranchPriority = {"chgVarBranchPriority", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_819chgVarBranchPriority, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_818chgVarBranchPriority};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_819chgVarBranchPriority(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_priority = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("chgVarBranchPriority (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_priority,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11931, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11931, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11931, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "chgVarBranchPriority", 0) < (0)) __PYX_ERR(2, 11931, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("chgVarBranchPriority", 1, 2, 2, i); __PYX_ERR(2, 11931, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11931, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 11931, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_priority = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("chgVarBranchPriority", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 11931, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarBranchPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 11931, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_818chgVarBranchPriority(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_priority);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_818chgVarBranchPriority(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_priority) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  size_t __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("chgVarBranchPriority", 0);

  /* "src/pyscipopt/scip.pxi":11945
 * 
 *         """
 *         assert isinstance(var, Variable), "The given variable is not a pyvar, but %s" % var.__class__.__name__             # <<<<<<<<<<<<<<
 *         PY_SCIP_CALL(SCIPchgVarBranchPriority(self._scip, var.scip_var, priority))
 * 
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable); 
    if (unlikely(!__pyx_t_1)) {
      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_n_u_class); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11945, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11945, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_mstate_global->__pyx_kp_u_The_given_variable_is_not_a_pyva, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11945, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_t_2, 0, 0);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __PYX_ERR(2, 11945, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 11945, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":11946
 *         """
 *         assert isinstance(var, Variable), "The given variable is not a pyvar, but %s" % var.__class__.__name__
 *         PY_SCIP_CALL(SCIPchgVarBranchPriority(self._scip, var.scip_var, priority))             # <<<<<<<<<<<<<<
 * 
 *     def startStrongbranch(self):
*/
  __pyx_t_3 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_v_priority); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 11946, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPchgVarBranchPriority(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
    assert(__pyx_t_3);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
    __Pyx_INCREF(__pyx_t_3);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
    __pyx_t_7 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_6};
    __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (__pyx_t_7*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11946, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "src/pyscipopt/scip.pxi":11931
 *         free(_coeffs)
 * 
 *     def chgVarBranchPriority(self, Variable var, priority):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the branch priority of the variable.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.chgVarBranchPriority", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11948
 *         PY_SCIP_CALL(SCIPchgVarBranchPriority(self._scip, var.scip_var, priority))
 * 
 *     def startStrongbranch(self):             # <<<<<<<<<<<<<<
 *         """Start strong branching. Needs to be called before any strong branching. Must also later end strong branching.
 *         TODO: Propagation option has currently been disabled via Python.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_821startStrongbranch(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_820startStrongbranch, "Start strong branching. Needs to be called before any strong branching. Must also later end strong branching.\n        TODO: Propagation option has currently been disabled via Python.\n        If propagation is enabled then strong branching is not done on the LP, but on additionally created nodes\n        (has some overhead). ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_821startStrongbranch = {"startStrongbranch", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_821startStrongbranch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_820startStrongbranch};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_821startStrongbranch(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("startStrongbranch (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("startStrongbranch", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("startStrongbranch", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_820startStrongbranch(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_820startStrongbranch(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("startStrongbranch", 0);

  /* "src/pyscipopt/scip.pxi":11954
 *         (has some overhead). """
 * 
 *         PY_SCIP_CALL(SCIPstartStrongbranch(self._scip, False))             # <<<<<<<<<<<<<<
 * 
 *     def endStrongbranch(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPstartStrongbranch(__pyx_v_self->_scip, 0)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11954, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11948
 *         PY_SCIP_CALL(SCIPchgVarBranchPriority(self._scip, var.scip_var, priority))
 * 
 *     def startStrongbranch(self):             # <<<<<<<<<<<<<<
 *         """Start strong branching. Needs to be called before any strong branching. Must also later end strong branching.
 *         TODO: Propagation option has currently been disabled via Python.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.startStrongbranch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11956
 *         PY_SCIP_CALL(SCIPstartStrongbranch(self._scip, False))
 * 
 *     def endStrongbranch(self):             # <<<<<<<<<<<<<<
 *         """End strong branching. Needs to be called if startStrongBranching was called previously.
 *         Between these calls the user can access all strong branching functionality."""
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_823endStrongbranch(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_822endStrongbranch, "End strong branching. Needs to be called if startStrongBranching was called previously.\n        Between these calls the user can access all strong branching functionality.");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_823endStrongbranch = {"endStrongbranch", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_823endStrongbranch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_822endStrongbranch};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_823endStrongbranch(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("endStrongbranch (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("endStrongbranch", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("endStrongbranch", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_822endStrongbranch(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_822endStrongbranch(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("endStrongbranch", 0);

  /* "src/pyscipopt/scip.pxi":11960
 *         Between these calls the user can access all strong branching functionality."""
 * 
 *         PY_SCIP_CALL(SCIPendStrongbranch(self._scip))             # <<<<<<<<<<<<<<
 * 
 *     def getVarStrongbranchLast(self, Variable var):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPendStrongbranch(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11960, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11960, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11956
 *         PY_SCIP_CALL(SCIPstartStrongbranch(self._scip, False))
 * 
 *     def endStrongbranch(self):             # <<<<<<<<<<<<<<
 *         """End strong branching. Needs to be called if startStrongBranching was called previously.
 *         Between these calls the user can access all strong branching functionality."""
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.endStrongbranch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":11962
 *         PY_SCIP_CALL(SCIPendStrongbranch(self._scip))
 * 
 *     def getVarStrongbranchLast(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Get the results of the last strong branching call on this variable (potentially was called
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_825getVarStrongbranchLast(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_824getVarStrongbranchLast, "\n        Get the results of the last strong branching call on this variable (potentially was called\n        at another node).\n\n        Parameters\n        ----------\n        var : Variable\n            variable to get the previous strong branching information from\n\n        Returns\n        -------\n        down : float\n            The dual bound of the LP after branching down on the variable\n        up : float\n            The dual bound of the LP after branchign up on the variable\n        downvalid : bool\n            stores whether the returned down value is a valid dual bound, or NULL\n        upvalid : bool\n            stores whether the returned up value is a valid dual bound, or NULL\n        solval : float\n            The solution value of the variable at the last strong branching call\n        lpobjval : float\n            The LP objective value at the time of the last strong branching call\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_825getVarStrongbranchLast = {"getVarStrongbranchLast", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_825getVarStrongbranchLast, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_824getVarStrongbranchLast};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_825getVarStrongbranchLast(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVarStrongbranchLast (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 11962, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11962, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getVarStrongbranchLast", 0) < (0)) __PYX_ERR(2, 11962, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getVarStrongbranchLast", 1, 1, 1, i); __PYX_ERR(2, 11962, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 11962, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getVarStrongbranchLast", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 11962, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarStrongbranchLast", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 11962, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_824getVarStrongbranchLast(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_824getVarStrongbranchLast(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  SCIP_Real __pyx_v_down;
  SCIP_Real __pyx_v_up;
  SCIP_Real __pyx_v_solval;
  SCIP_Real __pyx_v_lpobjval;
  SCIP_Bool __pyx_v_downvalid;
  SCIP_Bool __pyx_v_upvalid;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  PyObject *__pyx_t_7 = NULL;
  PyObject *__pyx_t_8 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVarStrongbranchLast", 0);

  /* "src/pyscipopt/scip.pxi":11996
 *         cdef SCIP_Bool upvalid
 * 
 *         PY_SCIP_CALL(SCIPgetVarStrongbranchLast(self._scip, var.scip_var, &down, &up, &downvalid, &upvalid, &solval, &lpobjval))             # <<<<<<<<<<<<<<
 * 
 *         return down, up, downvalid, upvalid, solval, lpobjval
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetVarStrongbranchLast(__pyx_v_self->_scip, __pyx_v_var->scip_var, (&__pyx_v_down), (&__pyx_v_up), (&__pyx_v_downvalid), (&__pyx_v_upvalid), (&__pyx_v_solval), (&__pyx_v_lpobjval))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11996, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11996, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":11998
 *         PY_SCIP_CALL(SCIPgetVarStrongbranchLast(self._scip, var.scip_var, &down, &up, &downvalid, &upvalid, &solval, &lpobjval))
 * 
 *         return down, up, downvalid, upvalid, solval, lpobjval             # <<<<<<<<<<<<<<
 * 
 *     def getVarStrongbranchNode(self, Variable var):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_down); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 11998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyFloat_FromDouble(__pyx_v_up); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 11998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_downvalid); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_upvalid); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 11998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_6 = PyFloat_FromDouble(__pyx_v_solval); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 11998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_lpobjval); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 11998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = PyTuple_New(6); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 11998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_1) != (0)) __PYX_ERR(2, 11998, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3) != (0)) __PYX_ERR(2, 11998, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_4) != (0)) __PYX_ERR(2, 11998, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_t_2) != (0)) __PYX_ERR(2, 11998, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_6);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 4, __pyx_t_6) != (0)) __PYX_ERR(2, 11998, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 5, __pyx_t_7) != (0)) __PYX_ERR(2, 11998, __pyx_L1_error);
  __pyx_t_1 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_t_2 = 0;
  __pyx_t_6 = 0;
  __pyx_t_7 = 0;
  __pyx_r = __pyx_t_8;
  __pyx_t_8 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":11962
 *         PY_SCIP_CALL(SCIPendStrongbranch(self._scip))
 * 
 *     def getVarStrongbranchLast(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Get the results of the last strong branching call on this variable (potentially was called
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarStrongbranchLast", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12000
 *         return down, up, downvalid, upvalid, solval, lpobjval
 * 
 *     def getVarStrongbranchNode(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Get the node number from the last time strong branching was called on the variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_827getVarStrongbranchNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_826getVarStrongbranchNode, "\n        Get the node number from the last time strong branching was called on the variable.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to get the previous strong branching node from\n\n        Returns\n        -------\n        int\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_827getVarStrongbranchNode = {"getVarStrongbranchNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_827getVarStrongbranchNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_826getVarStrongbranchNode};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_827getVarStrongbranchNode(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVarStrongbranchNode (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12000, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12000, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getVarStrongbranchNode", 0) < (0)) __PYX_ERR(2, 12000, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getVarStrongbranchNode", 1, 1, 1, i); __PYX_ERR(2, 12000, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12000, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getVarStrongbranchNode", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12000, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarStrongbranchNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 12000, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_826getVarStrongbranchNode(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_826getVarStrongbranchNode(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var) {
  SCIP_Longint __pyx_v_node_num;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVarStrongbranchNode", 0);

  /* "src/pyscipopt/scip.pxi":12016
 * 
 *         cdef SCIP_Longint node_num
 *         node_num = SCIPgetVarStrongbranchNode(self._scip, var.scip_var)             # <<<<<<<<<<<<<<
 * 
 *         return node_num
*/
  __pyx_v_node_num = SCIPgetVarStrongbranchNode(__pyx_v_self->_scip, __pyx_v_var->scip_var);

  /* "src/pyscipopt/scip.pxi":12018
 *         node_num = SCIPgetVarStrongbranchNode(self._scip, var.scip_var)
 * 
 *         return node_num             # <<<<<<<<<<<<<<
 * 
 *     def getVarStrongbranch(self, Variable var, itlim, idempotent=False, integral=False):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_Longint(__pyx_v_node_num); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12018, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12000
 *         return down, up, downvalid, upvalid, solval, lpobjval
 * 
 *     def getVarStrongbranchNode(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Get the node number from the last time strong branching was called on the variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarStrongbranchNode", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12020
 *         return node_num
 * 
 *     def getVarStrongbranch(self, Variable var, itlim, idempotent=False, integral=False):             # <<<<<<<<<<<<<<
 *         """
 *         Strong branches and gets information on column variable.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_829getVarStrongbranch(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_828getVarStrongbranch, "\n        Strong branches and gets information on column variable.\n\n        Parameters\n        ----------\n        var : Variable\n            Variable to get strong branching information on\n        itlim : int\n            LP iteration limit for total strong branching calls\n        idempotent : bool, optional\n            Should SCIP's state remain the same after the call?\n        integral : bool, optional\n            Boolean on whether the variable is currently integer.\n\n        Returns\n        -------\n        down : float\n            The dual bound of the LP after branching down on the variable\n        up : float\n            The dual bound of the LP after branchign up on the variable\n        downvalid : bool\n            stores whether the returned down value is a valid dual bound, or NULL\n        upvalid : bool\n            stores whether the returned up value is a valid dual bound, or NULL\n        downinf : bool\n            store whether the downwards branch is infeasible\n        upinf : bool\n            store whether the upwards branch is infeasible\n        downconflict : bool\n            store whether a conflict constraint was created for an infeasible downwards branch\n        upconflict : bool\n            store whether a conflict constraint was created for an infeasible upwards branch\n        lperror : bool\n            whether an unresolved LP error occurred in the solving process\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_829getVarStrongbranch = {"getVarStrongbranch", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_829getVarStrongbranch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_828getVarStrongbranch};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_829getVarStrongbranch(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_itlim = 0;
  PyObject *__pyx_v_idempotent = 0;
  PyObject *__pyx_v_integral = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getVarStrongbranch (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_itlim,&__pyx_mstate_global->__pyx_n_u_idempotent,&__pyx_mstate_global->__pyx_n_u_integral,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12020, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 12020, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 12020, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 12020, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12020, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getVarStrongbranch", 0) < (0)) __PYX_ERR(2, 12020, __pyx_L3_error)
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getVarStrongbranch", 0, 2, 4, i); __PYX_ERR(2, 12020, __pyx_L3_error) }
      }
    } else {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 12020, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 12020, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 12020, __pyx_L3_error)
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12020, __pyx_L3_error)
        break;
        default: goto __pyx_L5_argtuple_error;
      }
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_itlim = values[1];
    __pyx_v_idempotent = values[2];
    __pyx_v_integral = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getVarStrongbranch", 0, 2, 4, __pyx_nargs); __PYX_ERR(2, 12020, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarStrongbranch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 12020, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_828getVarStrongbranch(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_itlim, __pyx_v_idempotent, __pyx_v_integral);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_828getVarStrongbranch(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_itlim, PyObject *__pyx_v_idempotent, PyObject *__pyx_v_integral) {
  SCIP_Real __pyx_v_down;
  SCIP_Real __pyx_v_up;
  SCIP_Bool __pyx_v_downvalid;
  SCIP_Bool __pyx_v_upvalid;
  SCIP_Bool __pyx_v_downinf;
  SCIP_Bool __pyx_v_upinf;
  SCIP_Bool __pyx_v_downconflict;
  SCIP_Bool __pyx_v_upconflict;
  SCIP_Bool __pyx_v_lperror;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  SCIP_Bool __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  PyObject *__pyx_t_9 = NULL;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getVarStrongbranch", 0);

  /* "src/pyscipopt/scip.pxi":12068
 *         cdef SCIP_Bool lperror
 * 
 *         if integral:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPgetVarStrongbranchInt(self._scip, var.scip_var, itlim, idempotent, &down, &up, &downvalid,
 *                                                    &upvalid, &downinf, &upinf, &downconflict, &upconflict, &lperror))
*/
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_integral); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(2, 12068, __pyx_L1_error)
  if (__pyx_t_1) {

    /* "src/pyscipopt/scip.pxi":12069
 * 
 *         if integral:
 *             PY_SCIP_CALL(SCIPgetVarStrongbranchInt(self._scip, var.scip_var, itlim, idempotent, &down, &up, &downvalid,             # <<<<<<<<<<<<<<
 *                                                    &upvalid, &downinf, &upinf, &downconflict, &upconflict, &lperror))
 *         else:
*/
    __pyx_t_3 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12069, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_v_itlim); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12069, __pyx_L1_error)
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_idempotent); if (unlikely((__pyx_t_6 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 12069, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":12070
 *         if integral:
 *             PY_SCIP_CALL(SCIPgetVarStrongbranchInt(self._scip, var.scip_var, itlim, idempotent, &down, &up, &downvalid,
 *                                                    &upvalid, &downinf, &upinf, &downconflict, &upconflict, &lperror))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPgetVarStrongbranchFrac(self._scip, var.scip_var, itlim, idempotent, &down, &up, &downvalid,
*/
    __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetVarStrongbranchInt(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_5, __pyx_t_6, (&__pyx_v_down), (&__pyx_v_up), (&__pyx_v_downvalid), (&__pyx_v_upvalid), (&__pyx_v_downinf), (&__pyx_v_upinf), (&__pyx_v_downconflict), (&__pyx_v_upconflict), (&__pyx_v_lperror))); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 12069, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_8 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_4))) {
      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
      assert(__pyx_t_3);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_3);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
      __pyx_t_8 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_7};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12069, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":12068
 *         cdef SCIP_Bool lperror
 * 
 *         if integral:             # <<<<<<<<<<<<<<
 *             PY_SCIP_CALL(SCIPgetVarStrongbranchInt(self._scip, var.scip_var, itlim, idempotent, &down, &up, &downvalid,
 *                                                    &upvalid, &downinf, &upinf, &downconflict, &upconflict, &lperror))
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":12072
 *                                                    &upvalid, &downinf, &upinf, &downconflict, &upconflict, &lperror))
 *         else:
 *             PY_SCIP_CALL(SCIPgetVarStrongbranchFrac(self._scip, var.scip_var, itlim, idempotent, &down, &up, &downvalid,             # <<<<<<<<<<<<<<
 *                                                     &upvalid, &downinf, &upinf, &downconflict, &upconflict, &lperror))
 * 
*/
  /*else*/ {
    __pyx_t_4 = NULL;
    __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 12072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_7);
    __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_v_itlim); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12072, __pyx_L1_error)
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_idempotent); if (unlikely((__pyx_t_6 == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 12072, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":12073
 *         else:
 *             PY_SCIP_CALL(SCIPgetVarStrongbranchFrac(self._scip, var.scip_var, itlim, idempotent, &down, &up, &downvalid,
 *                                                     &upvalid, &downinf, &upinf, &downconflict, &upconflict, &lperror))             # <<<<<<<<<<<<<<
 * 
 *         return down, up, downvalid, upvalid, downinf, upinf, downconflict, upconflict, lperror
*/
    __pyx_t_3 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPgetVarStrongbranchFrac(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_5, __pyx_t_6, (&__pyx_v_down), (&__pyx_v_up), (&__pyx_v_downvalid), (&__pyx_v_upvalid), (&__pyx_v_downinf), (&__pyx_v_upinf), (&__pyx_v_downconflict), (&__pyx_v_upconflict), (&__pyx_v_lperror))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12072, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_8 = 1;
    #if CYTHON_UNPACK_METHODS
    if (unlikely(PyMethod_Check(__pyx_t_7))) {
      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
      assert(__pyx_t_4);
      PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_7);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(__pyx__function);
      __Pyx_DECREF_SET(__pyx_t_7, __pyx__function);
      __pyx_t_8 = 0;
    }
    #endif
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_3};
      __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_7, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12072, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":12075
 *                                                     &upvalid, &downinf, &upinf, &downconflict, &upconflict, &lperror))
 * 
 *         return down, up, downvalid, upvalid, downinf, upinf, downconflict, upconflict, lperror             # <<<<<<<<<<<<<<
 * 
 *     def updateVarPseudocost(self, Variable var, valdelta, objdelta, weight):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_down); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_7 = PyFloat_FromDouble(__pyx_v_up); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 12075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_downvalid); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_upvalid); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_9 = __Pyx_PyBool_FromLong(__pyx_v_downinf); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 12075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __Pyx_PyBool_FromLong(__pyx_v_upinf); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = __Pyx_PyBool_FromLong(__pyx_v_downconflict); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 12075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_12 = __Pyx_PyBool_FromLong(__pyx_v_upconflict); if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 12075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_13 = __Pyx_PyBool_FromLong(__pyx_v_lperror); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 12075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = PyTuple_New(9); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12075, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_GIVEREF(__pyx_t_2);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_2) != (0)) __PYX_ERR(2, 12075, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_7);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_7) != (0)) __PYX_ERR(2, 12075, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_3);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_t_3) != (0)) __PYX_ERR(2, 12075, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_4);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 3, __pyx_t_4) != (0)) __PYX_ERR(2, 12075, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_9);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 4, __pyx_t_9) != (0)) __PYX_ERR(2, 12075, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_10);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 5, __pyx_t_10) != (0)) __PYX_ERR(2, 12075, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_11);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 6, __pyx_t_11) != (0)) __PYX_ERR(2, 12075, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_12);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 7, __pyx_t_12) != (0)) __PYX_ERR(2, 12075, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_13);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_14, 8, __pyx_t_13) != (0)) __PYX_ERR(2, 12075, __pyx_L1_error);
  __pyx_t_2 = 0;
  __pyx_t_7 = 0;
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_t_9 = 0;
  __pyx_t_10 = 0;
  __pyx_t_11 = 0;
  __pyx_t_12 = 0;
  __pyx_t_13 = 0;
  __pyx_r = __pyx_t_14;
  __pyx_t_14 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12020
 *         return node_num
 * 
 *     def getVarStrongbranch(self, Variable var, itlim, idempotent=False, integral=False):             # <<<<<<<<<<<<<<
 *         """
 *         Strong branches and gets information on column variable.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getVarStrongbranch", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12077
 *         return down, up, downvalid, upvalid, downinf, upinf, downconflict, upconflict, lperror
 * 
 *     def updateVarPseudocost(self, Variable var, valdelta, objdelta, weight):             # <<<<<<<<<<<<<<
 *         """
 *         Updates the pseudo costs of the given variable and the global pseudo costs after a change of valdelta
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_831updateVarPseudocost(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_830updateVarPseudocost, "\n        Updates the pseudo costs of the given variable and the global pseudo costs after a change of valdelta\n        in the variable's solution value and resulting change of objdelta in the LP's objective value.\n        Update is ignored if objdelts is infinite. Weight is in range (0, 1], and affects how it updates\n        the global weighted sum.\n\n        Parameters\n        ----------\n        var : Variable\n            Variable whos pseudo cost will be updated\n        valdelta : float\n            The change in variable value (e.g. the fractional amount removed or added by branching)\n        objdelta : float\n            The change in objective value of the LP after valdelta change of the variable\n        weight : float\n            the weight in range (0,1] of how the update affects the stored weighted sum.\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_831updateVarPseudocost = {"updateVarPseudocost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_831updateVarPseudocost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_830updateVarPseudocost};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_831updateVarPseudocost(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_valdelta = 0;
  PyObject *__pyx_v_objdelta = 0;
  PyObject *__pyx_v_weight = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[4] = {0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("updateVarPseudocost (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_valdelta,&__pyx_mstate_global->__pyx_n_u_objdelta,&__pyx_mstate_global->__pyx_n_u_weight,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12077, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 12077, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 12077, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 12077, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12077, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "updateVarPseudocost", 0) < (0)) __PYX_ERR(2, 12077, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 4; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("updateVarPseudocost", 1, 4, 4, i); __PYX_ERR(2, 12077, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 4)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12077, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 12077, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 12077, __pyx_L3_error)
      values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 12077, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_valdelta = values[1];
    __pyx_v_objdelta = values[2];
    __pyx_v_weight = values[3];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("updateVarPseudocost", 1, 4, 4, __pyx_nargs); __PYX_ERR(2, 12077, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.updateVarPseudocost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 12077, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_830updateVarPseudocost(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_valdelta, __pyx_v_objdelta, __pyx_v_weight);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_830updateVarPseudocost(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_valdelta, PyObject *__pyx_v_objdelta, PyObject *__pyx_v_weight) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  SCIP_Real __pyx_t_4;
  SCIP_Real __pyx_t_5;
  SCIP_Real __pyx_t_6;
  PyObject *__pyx_t_7 = NULL;
  size_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("updateVarPseudocost", 0);

  /* "src/pyscipopt/scip.pxi":12097
 *         """
 * 
 *         PY_SCIP_CALL(SCIPupdateVarPseudocost(self._scip, var.scip_var, valdelta, objdelta, weight))             # <<<<<<<<<<<<<<
 * 
 *     def getBranchScoreMultiple(self, Variable var, gains):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_v_valdelta); if (unlikely((__pyx_t_4 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 12097, __pyx_L1_error)
  __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_v_objdelta); if (unlikely((__pyx_t_5 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 12097, __pyx_L1_error)
  __pyx_t_6 = __Pyx_PyFloat_AsDouble(__pyx_v_weight); if (unlikely((__pyx_t_6 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 12097, __pyx_L1_error)
  __pyx_t_7 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPupdateVarPseudocost(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_t_4, __pyx_t_5, __pyx_t_6)); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 12097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_8 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_7};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12097, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":12077
 *         return down, up, downvalid, upvalid, downinf, upinf, downconflict, upconflict, lperror
 * 
 *     def updateVarPseudocost(self, Variable var, valdelta, objdelta, weight):             # <<<<<<<<<<<<<<
 *         """
 *         Updates the pseudo costs of the given variable and the global pseudo costs after a change of valdelta
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_AddTraceback("pyscipopt.scip.Model.updateVarPseudocost", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12099
 *         PY_SCIP_CALL(SCIPupdateVarPseudocost(self._scip, var.scip_var, valdelta, objdelta, weight))
 * 
 *     def getBranchScoreMultiple(self, Variable var, gains):             # <<<<<<<<<<<<<<
 *         """
 *         Calculates the branching score out of the gain predictions for a branching with
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_833getBranchScoreMultiple(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_832getBranchScoreMultiple, "\n        Calculates the branching score out of the gain predictions for a branching with\n        arbitrarily many children.\n\n        Parameters\n        ----------\n        var : Variable\n            variable to calculate the score for\n        gains : list of float\n            list of gains for each child.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_833getBranchScoreMultiple = {"getBranchScoreMultiple", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_833getBranchScoreMultiple, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_832getBranchScoreMultiple};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_833getBranchScoreMultiple(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var = 0;
  PyObject *__pyx_v_gains = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[2] = {0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBranchScoreMultiple (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_var,&__pyx_mstate_global->__pyx_n_u_gains,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12099, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 12099, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12099, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getBranchScoreMultiple", 0) < (0)) __PYX_ERR(2, 12099, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("getBranchScoreMultiple", 1, 2, 2, i); __PYX_ERR(2, 12099, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 2)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12099, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 12099, __pyx_L3_error)
    }
    __pyx_v_var = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)values[0]);
    __pyx_v_gains = values[1];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getBranchScoreMultiple", 1, 2, 2, __pyx_nargs); __PYX_ERR(2, 12099, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBranchScoreMultiple", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_var), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, 1, "var", 0))) __PYX_ERR(2, 12099, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_832getBranchScoreMultiple(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_var, __pyx_v_gains);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_832getBranchScoreMultiple(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_Variable *__pyx_v_var, PyObject *__pyx_v_gains) {
  int __pyx_v_nchildren;
  SCIP_Real *__pyx_v__gains;
  int __pyx_v_i;
  PyObject *__pyx_v_score = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  Py_ssize_t __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  PyObject *__pyx_t_6 = NULL;
  SCIP_Real __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBranchScoreMultiple", 0);

  /* "src/pyscipopt/scip.pxi":12116
 * 
 *         """
 *         assert isinstance(gains, list)             # <<<<<<<<<<<<<<
 *         cdef int nchildren = len(gains)
 *         cdef SCIP_Real* _gains = <SCIP_Real*> malloc(nchildren * sizeof(SCIP_Real))
*/
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  if (unlikely(__pyx_assertions_enabled())) {
    __pyx_t_1 = PyList_Check(__pyx_v_gains); 
    if (unlikely(!__pyx_t_1)) {
      __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
      __PYX_ERR(2, 12116, __pyx_L1_error)
    }
  }
  #else
  if ((1)); else __PYX_ERR(2, 12116, __pyx_L1_error)
  #endif

  /* "src/pyscipopt/scip.pxi":12117
 *         """
 *         assert isinstance(gains, list)
 *         cdef int nchildren = len(gains)             # <<<<<<<<<<<<<<
 *         cdef SCIP_Real* _gains = <SCIP_Real*> malloc(nchildren * sizeof(SCIP_Real))
 *         cdef int i
*/
  __pyx_t_2 = PyObject_Length(__pyx_v_gains); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12117, __pyx_L1_error)
  __pyx_v_nchildren = __pyx_t_2;

  /* "src/pyscipopt/scip.pxi":12118
 *         assert isinstance(gains, list)
 *         cdef int nchildren = len(gains)
 *         cdef SCIP_Real* _gains = <SCIP_Real*> malloc(nchildren * sizeof(SCIP_Real))             # <<<<<<<<<<<<<<
 *         cdef int i
 * 
*/
  __pyx_v__gains = ((SCIP_Real *)malloc((__pyx_v_nchildren * (sizeof(SCIP_Real)))));

  /* "src/pyscipopt/scip.pxi":12121
 *         cdef int i
 * 
 *         for i in range(nchildren):             # <<<<<<<<<<<<<<
 *             _gains[i] = gains[i]
 * 
*/
  __pyx_t_3 = __pyx_v_nchildren;
  __pyx_t_4 = __pyx_t_3;
  for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
    __pyx_v_i = __pyx_t_5;

    /* "src/pyscipopt/scip.pxi":12122
 * 
 *         for i in range(nchildren):
 *             _gains[i] = gains[i]             # <<<<<<<<<<<<<<
 * 
 *         score = SCIPgetBranchScoreMultiple(self._scip, var.scip_var, nchildren, _gains)
*/
    __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_gains, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 12122, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    __pyx_t_7 = __Pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_7 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 12122, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
    (__pyx_v__gains[__pyx_v_i]) = __pyx_t_7;
  }

  /* "src/pyscipopt/scip.pxi":12124
 *             _gains[i] = gains[i]
 * 
 *         score = SCIPgetBranchScoreMultiple(self._scip, var.scip_var, nchildren, _gains)             # <<<<<<<<<<<<<<
 * 
 *         free(_gains)
*/
  __pyx_t_6 = PyFloat_FromDouble(SCIPgetBranchScoreMultiple(__pyx_v_self->_scip, __pyx_v_var->scip_var, __pyx_v_nchildren, __pyx_v__gains)); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 12124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_v_score = __pyx_t_6;
  __pyx_t_6 = 0;

  /* "src/pyscipopt/scip.pxi":12126
 *         score = SCIPgetBranchScoreMultiple(self._scip, var.scip_var, nchildren, _gains)
 * 
 *         free(_gains)             # <<<<<<<<<<<<<<
 * 
 *         return score
*/
  free(__pyx_v__gains);

  /* "src/pyscipopt/scip.pxi":12128
 *         free(_gains)
 * 
 *         return score             # <<<<<<<<<<<<<<
 * 
 *     def getTreesizeEstimation(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_score);
  __pyx_r = __pyx_v_score;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12099
 *         PY_SCIP_CALL(SCIPupdateVarPseudocost(self._scip, var.scip_var, valdelta, objdelta, weight))
 * 
 *     def getBranchScoreMultiple(self, Variable var, gains):             # <<<<<<<<<<<<<<
 *         """
 *         Calculates the branching score out of the gain predictions for a branching with
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBranchScoreMultiple", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_score);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12130
 *         return score
 * 
 *     def getTreesizeEstimation(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get an estimate of the final tree size.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_835getTreesizeEstimation(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_834getTreesizeEstimation, "\n        Get an estimate of the final tree size.\n\n        Returns\n        -------\n        float\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_835getTreesizeEstimation = {"getTreesizeEstimation", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_835getTreesizeEstimation, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_834getTreesizeEstimation};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_835getTreesizeEstimation(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getTreesizeEstimation (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("getTreesizeEstimation", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("getTreesizeEstimation", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_834getTreesizeEstimation(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_834getTreesizeEstimation(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getTreesizeEstimation", 0);

  /* "src/pyscipopt/scip.pxi":12139
 * 
 *         """
 *         return SCIPgetTreesizeEstimation(self._scip)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(SCIPgetTreesizeEstimation(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12130
 *         return score
 * 
 *     def getTreesizeEstimation(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get an estimate of the final tree size.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getTreesizeEstimation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12143
 * 
 *     # Exact SCIP methods
 *     def enableExactSolving(self, SCIP_Bool enable):             # <<<<<<<<<<<<<<
 *         """
 *         Enables or disables exact solving mode in SCIP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_837enableExactSolving(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_836enableExactSolving, "\n        Enables or disables exact solving mode in SCIP.\n\n        Parameters\n        ----------\n        enable : SCIP_Bool\n            Whether to enable exact solving mode (True) or disable it (False).\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_837enableExactSolving = {"enableExactSolving", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_837enableExactSolving, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_836enableExactSolving};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_837enableExactSolving(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  SCIP_Bool __pyx_v_enable;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("enableExactSolving (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_enable,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12143, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12143, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "enableExactSolving", 0) < (0)) __PYX_ERR(2, 12143, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("enableExactSolving", 1, 1, 1, i); __PYX_ERR(2, 12143, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12143, __pyx_L3_error)
    }
    __pyx_v_enable = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_enable == ((SCIP_Bool)-1)) && PyErr_Occurred())) __PYX_ERR(2, 12143, __pyx_L3_error)
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("enableExactSolving", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12143, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.enableExactSolving", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_836enableExactSolving(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_enable);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_836enableExactSolving(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, SCIP_Bool __pyx_v_enable) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("enableExactSolving", 0);

  /* "src/pyscipopt/scip.pxi":12153
 *         """
 * 
 *         PY_SCIP_CALL(SCIPenableExactSolving(self._scip, enable))             # <<<<<<<<<<<<<<
 * 
 *     def isExact(self):
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPenableExactSolving(__pyx_v_self->_scip, __pyx_v_enable)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12153, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12153, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":12143
 * 
 *     # Exact SCIP methods
 *     def enableExactSolving(self, SCIP_Bool enable):             # <<<<<<<<<<<<<<
 *         """
 *         Enables or disables exact solving mode in SCIP.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.enableExactSolving", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12155
 *         PY_SCIP_CALL(SCIPenableExactSolving(self._scip, enable))
 * 
 *     def isExact(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether exact solving mode is enabled in SCIP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_839isExact(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_838isExact, "\n        Returns whether exact solving mode is enabled in SCIP.\n\n        Returns\n        -------\n        bool\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_839isExact = {"isExact", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_839isExact, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_838isExact};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_839isExact(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("isExact (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("isExact", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("isExact", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_838isExact(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_838isExact(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("isExact", 0);

  /* "src/pyscipopt/scip.pxi":12164
 *         """
 * 
 *         return SCIPisExact(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def allowNegSlackExact(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPisExact(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12155
 *         PY_SCIP_CALL(SCIPenableExactSolving(self._scip, enable))
 * 
 *     def isExact(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether exact solving mode is enabled in SCIP.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.isExact", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12166
 *         return SCIPisExact(self._scip)
 * 
 *     def allowNegSlackExact(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether negative slack is allowed in exact solving mode.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_841allowNegSlackExact(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_840allowNegSlackExact, "\n        Returns whether negative slack is allowed in exact solving mode.\n\n        Returns\n        -------\n        bool\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_841allowNegSlackExact = {"allowNegSlackExact", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_841allowNegSlackExact, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_840allowNegSlackExact};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_841allowNegSlackExact(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("allowNegSlackExact (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("allowNegSlackExact", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("allowNegSlackExact", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_840allowNegSlackExact(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_840allowNegSlackExact(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("allowNegSlackExact", 0);

  /* "src/pyscipopt/scip.pxi":12175
 *         """
 * 
 *         return SCIPallowNegSlack(self._scip)             # <<<<<<<<<<<<<<
 * 
 *     def branchLPExact(self):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong(SCIPallowNegSlack(__pyx_v_self->_scip)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12166
 *         return SCIPisExact(self._scip)
 * 
 *     def allowNegSlackExact(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether negative slack is allowed in exact solving mode.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.Model.allowNegSlackExact", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12177
 *         return SCIPallowNegSlack(self._scip)
 * 
 *     def branchLPExact(self):             # <<<<<<<<<<<<<<
 *         """
 *         Performs exact LP branching.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_843branchLPExact(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_842branchLPExact, "\n        Performs exact LP branching.\n\n        Returns\n        -------\n        SCIP_RESULT\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_843branchLPExact = {"branchLPExact", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_843branchLPExact, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_842branchLPExact};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_843branchLPExact(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("branchLPExact (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("branchLPExact", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("branchLPExact", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_842branchLPExact(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_842branchLPExact(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  SCIP_RESULT __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("branchLPExact", 0);

  /* "src/pyscipopt/scip.pxi":12186
 *         """
 *         cdef SCIP_RESULT result
 *         PY_SCIP_CALL(SCIPbranchLPExact(self._scip, &result))             # <<<<<<<<<<<<<<
 *         return result
 * 
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPbranchLPExact(__pyx_v_self->_scip, (&__pyx_v_result))); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12186, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":12187
 *         cdef SCIP_RESULT result
 *         PY_SCIP_CALL(SCIPbranchLPExact(self._scip, &result))
 *         return result             # <<<<<<<<<<<<<<
 * 
 *     def addRowExact(self, RowExact rowexact):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyLong_From_SCIP_RESULT(__pyx_v_result); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12177
 *         return SCIPallowNegSlack(self._scip)
 * 
 *     def branchLPExact(self):             # <<<<<<<<<<<<<<
 *         """
 *         Performs exact LP branching.
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.branchLPExact", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12189
 *         return result
 * 
 *     def addRowExact(self, RowExact rowexact):             # <<<<<<<<<<<<<<
 *         """
 *         Adds an exact row to the LP.
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_845addRowExact(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_844addRowExact, "\n        Adds an exact row to the LP.\n\n        Parameters\n        ----------\n        rowexact : RowExact\n            The exact row to add.\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_845addRowExact = {"addRowExact", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_845addRowExact, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_844addRowExact};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_845addRowExact(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_rowexact = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("addRowExact (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_rowexact,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12189, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12189, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "addRowExact", 0) < (0)) __PYX_ERR(2, 12189, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("addRowExact", 1, 1, 1, i); __PYX_ERR(2, 12189, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12189, __pyx_L3_error)
    }
    __pyx_v_rowexact = ((struct __pyx_obj_9pyscipopt_4scip_RowExact *)values[0]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("addRowExact", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12189, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.addRowExact", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_rowexact), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_RowExact, 1, "rowexact", 0))) __PYX_ERR(2, 12189, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_844addRowExact(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_rowexact);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_844addRowExact(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, struct __pyx_obj_9pyscipopt_4scip_RowExact *__pyx_v_rowexact) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("addRowExact", 0);

  /* "src/pyscipopt/scip.pxi":12198
 *             The exact row to add.
 *         """
 *         PY_SCIP_CALL(SCIPaddRowExact(self._scip, rowexact.scip_row_exact))             # <<<<<<<<<<<<<<
 * 
 *     def getBipartiteGraphRepresentation(self, prev_col_features=None, prev_edge_features=None, prev_row_features=None,
*/
  __pyx_t_2 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = __Pyx_PyLong_From_SCIP_RETCODE(SCIPaddRowExact(__pyx_v_self->_scip, __pyx_v_rowexact->scip_row_exact)); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = 1;
  #if CYTHON_UNPACK_METHODS
  if (unlikely(PyMethod_Check(__pyx_t_3))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
    assert(__pyx_t_2);
    PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
    __Pyx_INCREF(__pyx_t_2);
    __Pyx_INCREF(__pyx__function);
    __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
    __pyx_t_5 = 0;
  }
  #endif
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_4};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12198, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":12189
 *         return result
 * 
 *     def addRowExact(self, RowExact rowexact):             # <<<<<<<<<<<<<<
 *         """
 *         Adds an exact row to the LP.
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("pyscipopt.scip.Model.addRowExact", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12200
 *         PY_SCIP_CALL(SCIPaddRowExact(self._scip, rowexact.scip_row_exact))
 * 
 *     def getBipartiteGraphRepresentation(self, prev_col_features=None, prev_edge_features=None, prev_row_features=None,             # <<<<<<<<<<<<<<
 *                                         static_only=False, suppress_warnings=False):
 *         """
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_847getBipartiteGraphRepresentation(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_5Model_846getBipartiteGraphRepresentation, "\n        This function generates the bipartite graph representation of an LP, which was first used in\n        the following paper:\n        @inproceedings{conf/nips/GasseCFCL19,\n        title={Exact Combinatorial Optimization with Graph Convolutional Neural Networks},\n        author={Gasse, Maxime and Ch\303\251telat, Didier and Ferroni, Nicola and Charlin, Laurent and Lodi, Andrea},\n        booktitle={Advances in Neural Information Processing Systems 32},\n        year={2019}\n        }\n        The exact features have been modified compared to the original implementation.\n        This function is used mainly in the machine learning community for MIP.\n        A user can only call it during the solving process, when there is an LP object. This means calling it\n        from some user defined plugin on the Python side.\n        An example plugin is a branching rule or an event handler, which is exclusively created to call this function.\n        The user must then make certain to return the appropriate SCIP_RESULT (e.g. DIDNOTRUN)\n\n        Parameters\n        ----------\n        prev_col_features : list of list or None, optional\n            The list of column features previously returned by this function\n        prev_edge_features : list of list or None, optional\n            The list of edge features previously returned by this function\n        prev_row_features : list of list or None, optional\n            The list of row features previously returned by this function\n        static_only : bool, optional\n            Whether exclusively static features should be generated\n        suppress_warnings : bool, optional\n            Whether warnings should be suppressed\n\n        Returns\n        -------\n        col_features : list of list\n        edge_features : list of list\n        row_features : list of list\n        dict\n            The feature mappings for the columns, edges, and rows\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_847getBipartiteGraphRepresentation = {"getBipartiteGraphRepresentation", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_847getBipartiteGraphRepresentation, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_846getBipartiteGraphRepresentation};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_847getBipartiteGraphRepresentation(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_prev_col_features = 0;
  PyObject *__pyx_v_prev_edge_features = 0;
  PyObject *__pyx_v_prev_row_features = 0;
  PyObject *__pyx_v_static_only = 0;
  PyObject *__pyx_v_suppress_warnings = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[5] = {0,0,0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("getBipartiteGraphRepresentation (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_prev_col_features,&__pyx_mstate_global->__pyx_n_u_prev_edge_features,&__pyx_mstate_global->__pyx_n_u_prev_row_features,&__pyx_mstate_global->__pyx_n_u_static_only,&__pyx_mstate_global->__pyx_n_u_suppress_warnings,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12200, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 12200, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 12200, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 12200, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 12200, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12200, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "getBipartiteGraphRepresentation", 0) < (0)) __PYX_ERR(2, 12200, __pyx_L3_error)
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));

      /* "src/pyscipopt/scip.pxi":12201
 * 
 *     def getBipartiteGraphRepresentation(self, prev_col_features=None, prev_edge_features=None, prev_row_features=None,
 *                                         static_only=False, suppress_warnings=False):             # <<<<<<<<<<<<<<
 *         """
 *         This function generates the bipartite graph representation of an LP, which was first used in
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_False));
    } else {
      switch (__pyx_nargs) {
        case  5:
        values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(2, 12200, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  4:
        values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(2, 12200, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(2, 12200, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(2, 12200, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12200, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }

      /* "src/pyscipopt/scip.pxi":12200
 *         PY_SCIP_CALL(SCIPaddRowExact(self._scip, rowexact.scip_row_exact))
 * 
 *     def getBipartiteGraphRepresentation(self, prev_col_features=None, prev_edge_features=None, prev_row_features=None,             # <<<<<<<<<<<<<<
 *                                         static_only=False, suppress_warnings=False):
 *         """
*/
      if (!values[0]) values[0] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)Py_None));
      if (!values[2]) values[2] = __Pyx_NewRef(((PyObject *)Py_None));

      /* "src/pyscipopt/scip.pxi":12201
 * 
 *     def getBipartiteGraphRepresentation(self, prev_col_features=None, prev_edge_features=None, prev_row_features=None,
 *                                         static_only=False, suppress_warnings=False):             # <<<<<<<<<<<<<<
 *         """
 *         This function generates the bipartite graph representation of an LP, which was first used in
*/
      if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)Py_False));
      if (!values[4]) values[4] = __Pyx_NewRef(((PyObject *)Py_False));
    }
    __pyx_v_prev_col_features = values[0];
    __pyx_v_prev_edge_features = values[1];
    __pyx_v_prev_row_features = values[2];
    __pyx_v_static_only = values[3];
    __pyx_v_suppress_warnings = values[4];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("getBipartiteGraphRepresentation", 0, 0, 5, __pyx_nargs); __PYX_ERR(2, 12200, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBipartiteGraphRepresentation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_846getBipartiteGraphRepresentation(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v_prev_col_features, __pyx_v_prev_edge_features, __pyx_v_prev_row_features, __pyx_v_static_only, __pyx_v_suppress_warnings);

  /* "src/pyscipopt/scip.pxi":12200
 *         PY_SCIP_CALL(SCIPaddRowExact(self._scip, rowexact.scip_row_exact))
 * 
 *     def getBipartiteGraphRepresentation(self, prev_col_features=None, prev_edge_features=None, prev_row_features=None,             # <<<<<<<<<<<<<<
 *                                         static_only=False, suppress_warnings=False):
 *         """
*/

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_846getBipartiteGraphRepresentation(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_prev_col_features, PyObject *__pyx_v_prev_edge_features, PyObject *__pyx_v_prev_row_features, PyObject *__pyx_v_static_only, PyObject *__pyx_v_suppress_warnings) {
  SCIP *__pyx_v_scip;
  SCIP_VARTYPE __pyx_v_vtype;
  int __pyx_v_col_i;
  int __pyx_v_i;
  int __pyx_v_j;
  int __pyx_v_k;
  SCIP_COL **__pyx_v_cols;
  int __pyx_v_ncols;
  long __pyx_v_n_col_features;
  PyObject *__pyx_v_col_feature_map = NULL;
  PyObject *__pyx_v_col_features = NULL;
  SCIP_SOL *__pyx_v_sol;
  SCIP_VAR *__pyx_v_var;
  SCIP_Real __pyx_v_lb;
  SCIP_Real __pyx_v_ub;
  SCIP_Real __pyx_v_solval;
  SCIP_BASESTAT __pyx_v_basis_status;
  SCIP_ROW **__pyx_v_rows;
  int __pyx_v_nrows;
  long __pyx_v_n_row_features;
  PyObject *__pyx_v_row_feature_map = NULL;
  PyObject *__pyx_v_row_features = NULL;
  SCIP_Real __pyx_v_lhs;
  SCIP_Real __pyx_v_rhs;
  SCIP_Real __pyx_v_cst;
  int __pyx_v_nnzrs;
  PyObject *__pyx_v_activity = NULL;
  SCIP_COL **__pyx_v_row_cols;
  SCIP_Real *__pyx_v_row_vals;
  long __pyx_v_n_edge_features;
  PyObject *__pyx_v_edge_feature_map = NULL;
  PyObject *__pyx_v_edge_features = NULL;
  CYTHON_UNUSED int __pyx_9genexpr58__pyx_v_j;
  CYTHON_UNUSED int __pyx_9genexpr59__pyx_v_i;
  CYTHON_UNUSED int __pyx_9genexpr60__pyx_v_j;
  CYTHON_UNUSED int __pyx_9genexpr61__pyx_v_i;
  CYTHON_UNUSED int __pyx_9genexpr62__pyx_v_j;
  CYTHON_UNUSED int __pyx_9genexpr63__pyx_v_i;
  CYTHON_UNUSED int __pyx_9genexpr64__pyx_v_j;
  CYTHON_UNUSED int __pyx_9genexpr65__pyx_v_i;
  CYTHON_UNUSED int __pyx_9genexpr66__pyx_v_j;
  CYTHON_UNUSED int __pyx_9genexpr67__pyx_v_i;
  CYTHON_UNUSED int __pyx_9genexpr68__pyx_v_j;
  CYTHON_UNUSED int __pyx_9genexpr69__pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  SCIP *__pyx_t_1;
  int __pyx_t_2;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  size_t __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  long __pyx_t_9;
  long __pyx_t_10;
  int __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  int __pyx_t_13;
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  PyObject *__pyx_t_16[4];
  PyObject *__pyx_t_17 = NULL;
  double __pyx_t_18;
  SCIP_Real __pyx_t_19;
  Py_ssize_t __pyx_t_20;
  PyObject *__pyx_t_21[3];
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("getBipartiteGraphRepresentation", 0);
  __Pyx_INCREF(__pyx_v_prev_col_features);
  __Pyx_INCREF(__pyx_v_prev_edge_features);
  __Pyx_INCREF(__pyx_v_prev_row_features);

  /* "src/pyscipopt/scip.pxi":12240
 * 
 *         """
 *         cdef SCIP* scip = self._scip             # <<<<<<<<<<<<<<
 *         cdef SCIP_VARTYPE vtype
 *         cdef SCIP_Real sim, prod
*/
  __pyx_t_1 = __pyx_v_self->_scip;
  __pyx_v_scip = __pyx_t_1;

  /* "src/pyscipopt/scip.pxi":12249
 * 
 *         # Check if SCIP is in the correct stage
 *         if SCIPgetStage(scip) != SCIP_STAGE_SOLVING:             # <<<<<<<<<<<<<<
 *             raise Warning("This functionality can only been called in SCIP_STAGE SOLVING. The row and column"
 *                           "information is then accessible")
*/
  __pyx_t_2 = (SCIPgetStage(__pyx_v_scip) != SCIP_STAGE_SOLVING);
  if (unlikely(__pyx_t_2)) {

    /* "src/pyscipopt/scip.pxi":12250
 *         # Check if SCIP is in the correct stage
 *         if SCIPgetStage(scip) != SCIP_STAGE_SOLVING:
 *             raise Warning("This functionality can only been called in SCIP_STAGE SOLVING. The row and column"             # <<<<<<<<<<<<<<
 *                           "information is then accessible")
 * 
*/
    __pyx_t_4 = NULL;
    __pyx_t_5 = 1;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_This_functionality_can_only_been};
      __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12250, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
    }
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __PYX_ERR(2, 12250, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":12249
 * 
 *         # Check if SCIP is in the correct stage
 *         if SCIPgetStage(scip) != SCIP_STAGE_SOLVING:             # <<<<<<<<<<<<<<
 *             raise Warning("This functionality can only been called in SCIP_STAGE SOLVING. The row and column"
 *                           "information is then accessible")
*/
  }

  /* "src/pyscipopt/scip.pxi":12254
 * 
 *         # Generate column features
 *         cdef SCIP_COL** cols = SCIPgetLPCols(scip)             # <<<<<<<<<<<<<<
 *         cdef int ncols = SCIPgetNLPCols(scip)
 * 
*/
  __pyx_v_cols = SCIPgetLPCols(__pyx_v_scip);

  /* "src/pyscipopt/scip.pxi":12255
 *         # Generate column features
 *         cdef SCIP_COL** cols = SCIPgetLPCols(scip)
 *         cdef int ncols = SCIPgetNLPCols(scip)             # <<<<<<<<<<<<<<
 * 
 *         if static_only:
*/
  __pyx_v_ncols = SCIPgetNLPCols(__pyx_v_scip);

  /* "src/pyscipopt/scip.pxi":12257
 *         cdef int ncols = SCIPgetNLPCols(scip)
 * 
 *         if static_only:             # <<<<<<<<<<<<<<
 *             n_col_features = 5
 *             col_feature_map = {"continuous": 0, "binary": 1, "integer": 2, "implicit_integer": 3, "obj_coef": 4}
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_static_only); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 12257, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":12258
 * 
 *         if static_only:
 *             n_col_features = 5             # <<<<<<<<<<<<<<
 *             col_feature_map = {"continuous": 0, "binary": 1, "integer": 2, "implicit_integer": 3, "obj_coef": 4}
 *         else:
*/
    __pyx_v_n_col_features = 5;

    /* "src/pyscipopt/scip.pxi":12259
 *         if static_only:
 *             n_col_features = 5
 *             col_feature_map = {"continuous": 0, "binary": 1, "integer": 2, "implicit_integer": 3, "obj_coef": 4}             # <<<<<<<<<<<<<<
 *         else:
 *             n_col_features = 19
*/
    __pyx_t_3 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12259, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_continuous, __pyx_mstate_global->__pyx_int_0) < (0)) __PYX_ERR(2, 12259, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_binary, __pyx_mstate_global->__pyx_int_1) < (0)) __PYX_ERR(2, 12259, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_integer, __pyx_mstate_global->__pyx_int_2) < (0)) __PYX_ERR(2, 12259, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_implicit_integer, __pyx_mstate_global->__pyx_int_3) < (0)) __PYX_ERR(2, 12259, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_obj_coef, __pyx_mstate_global->__pyx_int_4) < (0)) __PYX_ERR(2, 12259, __pyx_L1_error)
    __pyx_v_col_feature_map = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":12257
 *         cdef int ncols = SCIPgetNLPCols(scip)
 * 
 *         if static_only:             # <<<<<<<<<<<<<<
 *             n_col_features = 5
 *             col_feature_map = {"continuous": 0, "binary": 1, "integer": 2, "implicit_integer": 3, "obj_coef": 4}
*/
    goto __pyx_L4;
  }

  /* "src/pyscipopt/scip.pxi":12261
 *             col_feature_map = {"continuous": 0, "binary": 1, "integer": 2, "implicit_integer": 3, "obj_coef": 4}
 *         else:
 *             n_col_features = 19             # <<<<<<<<<<<<<<
 *             col_feature_map = {"continuous": 0, "binary": 1, "integer": 2, "implicit_integer": 3, "obj_coef": 4,
 *                                "has_lb": 5, "has_ub": 6, "sol_at_lb": 7, "sol_at_ub": 8, "sol_val": 9, "sol_frac": 10,
*/
  /*else*/ {
    __pyx_v_n_col_features = 19;

    /* "src/pyscipopt/scip.pxi":12262
 *         else:
 *             n_col_features = 19
 *             col_feature_map = {"continuous": 0, "binary": 1, "integer": 2, "implicit_integer": 3, "obj_coef": 4,             # <<<<<<<<<<<<<<
 *                                "has_lb": 5, "has_ub": 6, "sol_at_lb": 7, "sol_at_ub": 8, "sol_val": 9, "sol_frac": 10,
 *                                "red_cost": 11, "basis_lower": 12, "basis_basic": 13, "basis_upper": 14,
*/
    __pyx_t_3 = __Pyx_PyDict_NewPresized(19); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12262, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_continuous, __pyx_mstate_global->__pyx_int_0) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_binary, __pyx_mstate_global->__pyx_int_1) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_integer, __pyx_mstate_global->__pyx_int_2) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_implicit_integer, __pyx_mstate_global->__pyx_int_3) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_obj_coef, __pyx_mstate_global->__pyx_int_4) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_has_lb, __pyx_mstate_global->__pyx_int_5) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_has_ub, __pyx_mstate_global->__pyx_int_6) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_sol_at_lb, __pyx_mstate_global->__pyx_int_7) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_sol_at_ub, __pyx_mstate_global->__pyx_int_8) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_sol_val, __pyx_mstate_global->__pyx_int_9) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_sol_frac, __pyx_mstate_global->__pyx_int_10) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_red_cost, __pyx_mstate_global->__pyx_int_11) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_basis_lower, __pyx_mstate_global->__pyx_int_12) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_basis_basic, __pyx_mstate_global->__pyx_int_13) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_basis_upper, __pyx_mstate_global->__pyx_int_14) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_basis_zero, __pyx_mstate_global->__pyx_int_15) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_best_incumbent_val, __pyx_mstate_global->__pyx_int_16) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_avg_incumbent_val, __pyx_mstate_global->__pyx_int_17) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_age, __pyx_mstate_global->__pyx_int_18) < (0)) __PYX_ERR(2, 12262, __pyx_L1_error)
    __pyx_v_col_feature_map = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L4:;

  /* "src/pyscipopt/scip.pxi":12267
 *                                "basis_zero": 15, "best_incumbent_val": 16, "avg_incumbent_val": 17, "age": 18}
 * 
 *         if prev_col_features is None:             # <<<<<<<<<<<<<<
 *             col_features = [[0 for i in range(n_col_features)] for j in range(ncols)]
 *         else:
*/
  __pyx_t_2 = (__pyx_v_prev_col_features == Py_None);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":12268
 * 
 *         if prev_col_features is None:
 *             col_features = [[0 for i in range(n_col_features)] for j in range(ncols)]             # <<<<<<<<<<<<<<
 *         else:
 *             assert len(prev_col_features) > 0, "Previous column features is empty"
*/
    { /* enter inner scope */
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12268, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_6 = __pyx_v_ncols;
      __pyx_t_7 = __pyx_t_6;
      for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
        __pyx_9genexpr58__pyx_v_j = __pyx_t_8;
        { /* enter inner scope */
          __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12268, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_9 = __pyx_v_n_col_features;
          __pyx_t_10 = __pyx_t_9;
          for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
            __pyx_9genexpr59__pyx_v_i = __pyx_t_11;
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_mstate_global->__pyx_int_0))) __PYX_ERR(2, 12268, __pyx_L1_error)
          }
        } /* exit inner scope */
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(2, 12268, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    } /* exit inner scope */
    __pyx_v_col_features = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":12267
 *                                "basis_zero": 15, "best_incumbent_val": 16, "avg_incumbent_val": 17, "age": 18}
 * 
 *         if prev_col_features is None:             # <<<<<<<<<<<<<<
 *             col_features = [[0 for i in range(n_col_features)] for j in range(ncols)]
 *         else:
*/
    goto __pyx_L5;
  }

  /* "src/pyscipopt/scip.pxi":12270
 *             col_features = [[0 for i in range(n_col_features)] for j in range(ncols)]
 *         else:
 *             assert len(prev_col_features) > 0, "Previous column features is empty"             # <<<<<<<<<<<<<<
 *             col_features = prev_col_features
 *             if len(prev_col_features) != ncols:
*/
  /*else*/ {
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_12 = PyObject_Length(__pyx_v_prev_col_features); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12270, __pyx_L1_error)
      __pyx_t_2 = (__pyx_t_12 > 0);
      if (unlikely(!__pyx_t_2)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_Previous_column_features_is_empt, 0, 0);
        __PYX_ERR(2, 12270, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 12270, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":12271
 *         else:
 *             assert len(prev_col_features) > 0, "Previous column features is empty"
 *             col_features = prev_col_features             # <<<<<<<<<<<<<<
 *             if len(prev_col_features) != ncols:
 *                 if not suppress_warnings:
*/
    __Pyx_INCREF(__pyx_v_prev_col_features);
    __pyx_v_col_features = __pyx_v_prev_col_features;

    /* "src/pyscipopt/scip.pxi":12272
 *             assert len(prev_col_features) > 0, "Previous column features is empty"
 *             col_features = prev_col_features
 *             if len(prev_col_features) != ncols:             # <<<<<<<<<<<<<<
 *                 if not suppress_warnings:
 *                     raise Warning(f"The number of columns has changed. Previous column data being ignored")
*/
    __pyx_t_12 = PyObject_Length(__pyx_v_prev_col_features); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12272, __pyx_L1_error)
    __pyx_t_2 = (__pyx_t_12 != __pyx_v_ncols);
    if (__pyx_t_2) {

      /* "src/pyscipopt/scip.pxi":12273
 *             col_features = prev_col_features
 *             if len(prev_col_features) != ncols:
 *                 if not suppress_warnings:             # <<<<<<<<<<<<<<
 *                     raise Warning(f"The number of columns has changed. Previous column data being ignored")
 *                 else:
*/
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_suppress_warnings); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 12273, __pyx_L1_error)
      __pyx_t_13 = (!__pyx_t_2);
      if (unlikely(__pyx_t_13)) {

        /* "src/pyscipopt/scip.pxi":12274
 *             if len(prev_col_features) != ncols:
 *                 if not suppress_warnings:
 *                     raise Warning(f"The number of columns has changed. Previous column data being ignored")             # <<<<<<<<<<<<<<
 *                 else:
 *                     col_features = [[0 for i in range(n_col_features)] for j in range(ncols)]
*/
        __pyx_t_4 = NULL;
        __pyx_t_5 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_The_number_of_columns_has_change};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12274, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(2, 12274, __pyx_L1_error)

        /* "src/pyscipopt/scip.pxi":12273
 *             col_features = prev_col_features
 *             if len(prev_col_features) != ncols:
 *                 if not suppress_warnings:             # <<<<<<<<<<<<<<
 *                     raise Warning(f"The number of columns has changed. Previous column data being ignored")
 *                 else:
*/
      }

      /* "src/pyscipopt/scip.pxi":12276
 *                     raise Warning(f"The number of columns has changed. Previous column data being ignored")
 *                 else:
 *                     col_features = [[0 for i in range(n_col_features)] for j in range(ncols)]             # <<<<<<<<<<<<<<
 *                     prev_col_features = None
 *             if len(prev_col_features[0]) != n_col_features:
*/
      /*else*/ {
        { /* enter inner scope */
          __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12276, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_6 = __pyx_v_ncols;
          __pyx_t_7 = __pyx_t_6;
          for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
            __pyx_9genexpr60__pyx_v_j = __pyx_t_8;
            { /* enter inner scope */
              __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12276, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_9 = __pyx_v_n_col_features;
              __pyx_t_10 = __pyx_t_9;
              for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
                __pyx_9genexpr61__pyx_v_i = __pyx_t_11;
                if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_mstate_global->__pyx_int_0))) __PYX_ERR(2, 12276, __pyx_L1_error)
              }
            } /* exit inner scope */
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(2, 12276, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
        } /* exit inner scope */
        __Pyx_DECREF_SET(__pyx_v_col_features, __pyx_t_3);
        __pyx_t_3 = 0;

        /* "src/pyscipopt/scip.pxi":12277
 *                 else:
 *                     col_features = [[0 for i in range(n_col_features)] for j in range(ncols)]
 *                     prev_col_features = None             # <<<<<<<<<<<<<<
 *             if len(prev_col_features[0]) != n_col_features:
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"
*/
        __Pyx_INCREF(Py_None);
        __Pyx_DECREF_SET(__pyx_v_prev_col_features, Py_None);
      }

      /* "src/pyscipopt/scip.pxi":12272
 *             assert len(prev_col_features) > 0, "Previous column features is empty"
 *             col_features = prev_col_features
 *             if len(prev_col_features) != ncols:             # <<<<<<<<<<<<<<
 *                 if not suppress_warnings:
 *                     raise Warning(f"The number of columns has changed. Previous column data being ignored")
*/
    }

    /* "src/pyscipopt/scip.pxi":12278
 *                     col_features = [[0 for i in range(n_col_features)] for j in range(ncols)]
 *                     prev_col_features = None
 *             if len(prev_col_features[0]) != n_col_features:             # <<<<<<<<<<<<<<
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"
 *                               f"{len(prev_col_features[0])} != {n_col_features}")
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_prev_col_features, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12278, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12278, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_13 = (__pyx_t_12 != __pyx_v_n_col_features);
    if (unlikely(__pyx_t_13)) {

      /* "src/pyscipopt/scip.pxi":12279
 *                     prev_col_features = None
 *             if len(prev_col_features[0]) != n_col_features:
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"             # <<<<<<<<<<<<<<
 *                               f"{len(prev_col_features[0])} != {n_col_features}")
 * 
*/
      __pyx_t_4 = NULL;

      /* "src/pyscipopt/scip.pxi":12280
 *             if len(prev_col_features[0]) != n_col_features:
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"
 *                               f"{len(prev_col_features[0])} != {n_col_features}")             # <<<<<<<<<<<<<<
 * 
 *         cdef SCIP_SOL* sol = SCIPgetBestSol(scip)
*/
      __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_prev_col_features, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12280, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_12 = PyObject_Length(__pyx_t_14); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12280, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __pyx_t_14 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_12, 0, ' ', 'd'); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12280, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_15 = __Pyx_PyUnicode_From_long(__pyx_v_n_col_features, 0, ' ', 'd'); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12280, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_16[0] = __pyx_mstate_global->__pyx_kp_u_Dimension_mismatch_in_provided_p;
      __pyx_t_16[1] = __pyx_t_14;
      __pyx_t_16[2] = __pyx_mstate_global->__pyx_kp_u__18;
      __pyx_t_16[3] = __pyx_t_15;

      /* "src/pyscipopt/scip.pxi":12279
 *                     prev_col_features = None
 *             if len(prev_col_features[0]) != n_col_features:
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"             # <<<<<<<<<<<<<<
 *                               f"{len(prev_col_features[0])} != {n_col_features}")
 * 
*/
      __pyx_t_17 = __Pyx_PyUnicode_Join(__pyx_t_16, 4, 66 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_14) + 4 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_15), 127);
      if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12279, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_17};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12279, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(2, 12279, __pyx_L1_error)

      /* "src/pyscipopt/scip.pxi":12278
 *                     col_features = [[0 for i in range(n_col_features)] for j in range(ncols)]
 *                     prev_col_features = None
 *             if len(prev_col_features[0]) != n_col_features:             # <<<<<<<<<<<<<<
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"
 *                               f"{len(prev_col_features[0])} != {n_col_features}")
*/
    }
  }
  __pyx_L5:;

  /* "src/pyscipopt/scip.pxi":12282
 *                               f"{len(prev_col_features[0])} != {n_col_features}")
 * 
 *         cdef SCIP_SOL* sol = SCIPgetBestSol(scip)             # <<<<<<<<<<<<<<
 *         cdef SCIP_VAR* var
 *         cdef SCIP_Real lb
*/
  __pyx_v_sol = SCIPgetBestSol(__pyx_v_scip);

  /* "src/pyscipopt/scip.pxi":12289
 *         cdef SCIP_BASESTAT basis_status
 * 
 *         for i in range(ncols):             # <<<<<<<<<<<<<<
 *             col_i = SCIPcolGetLPPos(cols[i])
 *             var = SCIPcolGetVar(cols[i])
*/
  __pyx_t_6 = __pyx_v_ncols;
  __pyx_t_7 = __pyx_t_6;
  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
    __pyx_v_i = __pyx_t_8;

    /* "src/pyscipopt/scip.pxi":12290
 * 
 *         for i in range(ncols):
 *             col_i = SCIPcolGetLPPos(cols[i])             # <<<<<<<<<<<<<<
 *             var = SCIPcolGetVar(cols[i])
 * 
*/
    __pyx_v_col_i = SCIPcolGetLPPos((__pyx_v_cols[__pyx_v_i]));

    /* "src/pyscipopt/scip.pxi":12291
 *         for i in range(ncols):
 *             col_i = SCIPcolGetLPPos(cols[i])
 *             var = SCIPcolGetVar(cols[i])             # <<<<<<<<<<<<<<
 * 
 *             lb = SCIPcolGetLb(cols[i])
*/
    __pyx_v_var = SCIPcolGetVar((__pyx_v_cols[__pyx_v_i]));

    /* "src/pyscipopt/scip.pxi":12293
 *             var = SCIPcolGetVar(cols[i])
 * 
 *             lb = SCIPcolGetLb(cols[i])             # <<<<<<<<<<<<<<
 *             ub = SCIPcolGetUb(cols[i])
 *             solval = SCIPcolGetPrimsol(cols[i])
*/
    __pyx_v_lb = SCIPcolGetLb((__pyx_v_cols[__pyx_v_i]));

    /* "src/pyscipopt/scip.pxi":12294
 * 
 *             lb = SCIPcolGetLb(cols[i])
 *             ub = SCIPcolGetUb(cols[i])             # <<<<<<<<<<<<<<
 *             solval = SCIPcolGetPrimsol(cols[i])
 * 
*/
    __pyx_v_ub = SCIPcolGetUb((__pyx_v_cols[__pyx_v_i]));

    /* "src/pyscipopt/scip.pxi":12295
 *             lb = SCIPcolGetLb(cols[i])
 *             ub = SCIPcolGetUb(cols[i])
 *             solval = SCIPcolGetPrimsol(cols[i])             # <<<<<<<<<<<<<<
 * 
 *             # Collect the static features first (don't need to changed if previous features are passed)
*/
    __pyx_v_solval = SCIPcolGetPrimsol((__pyx_v_cols[__pyx_v_i]));

    /* "src/pyscipopt/scip.pxi":12298
 * 
 *             # Collect the static features first (don't need to changed if previous features are passed)
 *             if prev_col_features is None:             # <<<<<<<<<<<<<<
 *                 # Variable types
 *                 vtype = SCIPvarGetType(var)
*/
    __pyx_t_13 = (__pyx_v_prev_col_features == Py_None);
    if (__pyx_t_13) {

      /* "src/pyscipopt/scip.pxi":12300
 *             if prev_col_features is None:
 *                 # Variable types
 *                 vtype = SCIPvarGetType(var)             # <<<<<<<<<<<<<<
 *                 if vtype == SCIP_VARTYPE_BINARY:
 *                     col_features[col_i][col_feature_map["binary"]] = 1
*/
      __pyx_v_vtype = SCIPvarGetType(__pyx_v_var);

      /* "src/pyscipopt/scip.pxi":12301
 *                 # Variable types
 *                 vtype = SCIPvarGetType(var)
 *                 if vtype == SCIP_VARTYPE_BINARY:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["binary"]] = 1
 *                 elif vtype == SCIP_VARTYPE_INTEGER:
*/
      __pyx_t_13 = (__pyx_v_vtype == SCIP_VARTYPE_BINARY);
      if (__pyx_t_13) {

        /* "src/pyscipopt/scip.pxi":12302
 *                 vtype = SCIPvarGetType(var)
 *                 if vtype == SCIP_VARTYPE_BINARY:
 *                     col_features[col_i][col_feature_map["binary"]] = 1             # <<<<<<<<<<<<<<
 *                 elif vtype == SCIP_VARTYPE_INTEGER:
 *                     col_features[col_i][col_feature_map["integer"]] = 1
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12302, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_17 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_binary); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12302, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_17);
        if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_t_17, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12302, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

        /* "src/pyscipopt/scip.pxi":12301
 *                 # Variable types
 *                 vtype = SCIPvarGetType(var)
 *                 if vtype == SCIP_VARTYPE_BINARY:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["binary"]] = 1
 *                 elif vtype == SCIP_VARTYPE_INTEGER:
*/
        goto __pyx_L20;
      }

      /* "src/pyscipopt/scip.pxi":12303
 *                 if vtype == SCIP_VARTYPE_BINARY:
 *                     col_features[col_i][col_feature_map["binary"]] = 1
 *                 elif vtype == SCIP_VARTYPE_INTEGER:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["integer"]] = 1
 *                 elif vtype == SCIP_VARTYPE_CONTINUOUS:
*/
      __pyx_t_13 = (__pyx_v_vtype == SCIP_VARTYPE_INTEGER);
      if (__pyx_t_13) {

        /* "src/pyscipopt/scip.pxi":12304
 *                     col_features[col_i][col_feature_map["binary"]] = 1
 *                 elif vtype == SCIP_VARTYPE_INTEGER:
 *                     col_features[col_i][col_feature_map["integer"]] = 1             # <<<<<<<<<<<<<<
 *                 elif vtype == SCIP_VARTYPE_CONTINUOUS:
 *                     col_features[col_i][col_feature_map["continuous"]] = 1
*/
        __pyx_t_17 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12304, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_17);
        __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_integer); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12304, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely((PyObject_SetItem(__pyx_t_17, __pyx_t_3, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12304, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

        /* "src/pyscipopt/scip.pxi":12303
 *                 if vtype == SCIP_VARTYPE_BINARY:
 *                     col_features[col_i][col_feature_map["binary"]] = 1
 *                 elif vtype == SCIP_VARTYPE_INTEGER:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["integer"]] = 1
 *                 elif vtype == SCIP_VARTYPE_CONTINUOUS:
*/
        goto __pyx_L20;
      }

      /* "src/pyscipopt/scip.pxi":12305
 *                 elif vtype == SCIP_VARTYPE_INTEGER:
 *                     col_features[col_i][col_feature_map["integer"]] = 1
 *                 elif vtype == SCIP_VARTYPE_CONTINUOUS:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["continuous"]] = 1
 *                 elif vtype == SCIP_DEPRECATED_VARTYPE_IMPLINT:
*/
      __pyx_t_13 = (__pyx_v_vtype == SCIP_VARTYPE_CONTINUOUS);
      if (__pyx_t_13) {

        /* "src/pyscipopt/scip.pxi":12306
 *                     col_features[col_i][col_feature_map["integer"]] = 1
 *                 elif vtype == SCIP_VARTYPE_CONTINUOUS:
 *                     col_features[col_i][col_feature_map["continuous"]] = 1             # <<<<<<<<<<<<<<
 *                 elif vtype == SCIP_DEPRECATED_VARTYPE_IMPLINT:
 *                     col_features[col_i][col_feature_map["implicit_integer"]] = 1
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12306, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_17 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_continuous); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12306, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_17);
        if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_t_17, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12306, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;

        /* "src/pyscipopt/scip.pxi":12305
 *                 elif vtype == SCIP_VARTYPE_INTEGER:
 *                     col_features[col_i][col_feature_map["integer"]] = 1
 *                 elif vtype == SCIP_VARTYPE_CONTINUOUS:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["continuous"]] = 1
 *                 elif vtype == SCIP_DEPRECATED_VARTYPE_IMPLINT:
*/
        goto __pyx_L20;
      }

      /* "src/pyscipopt/scip.pxi":12307
 *                 elif vtype == SCIP_VARTYPE_CONTINUOUS:
 *                     col_features[col_i][col_feature_map["continuous"]] = 1
 *                 elif vtype == SCIP_DEPRECATED_VARTYPE_IMPLINT:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["implicit_integer"]] = 1
 *                 # Objective coefficient
*/
      __pyx_t_13 = (__pyx_v_vtype == SCIP_DEPRECATED_VARTYPE_IMPLINT);
      if (__pyx_t_13) {

        /* "src/pyscipopt/scip.pxi":12308
 *                     col_features[col_i][col_feature_map["continuous"]] = 1
 *                 elif vtype == SCIP_DEPRECATED_VARTYPE_IMPLINT:
 *                     col_features[col_i][col_feature_map["implicit_integer"]] = 1             # <<<<<<<<<<<<<<
 *                 # Objective coefficient
 *                 col_features[col_i][col_feature_map["obj_coef"]] = SCIPcolGetObj(cols[i])
*/
        __pyx_t_17 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12308, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_17);
        __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_implicit_integer); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12308, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely((PyObject_SetItem(__pyx_t_17, __pyx_t_3, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12308, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

        /* "src/pyscipopt/scip.pxi":12307
 *                 elif vtype == SCIP_VARTYPE_CONTINUOUS:
 *                     col_features[col_i][col_feature_map["continuous"]] = 1
 *                 elif vtype == SCIP_DEPRECATED_VARTYPE_IMPLINT:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["implicit_integer"]] = 1
 *                 # Objective coefficient
*/
      }
      __pyx_L20:;

      /* "src/pyscipopt/scip.pxi":12310
 *                     col_features[col_i][col_feature_map["implicit_integer"]] = 1
 *                 # Objective coefficient
 *                 col_features[col_i][col_feature_map["obj_coef"]] = SCIPcolGetObj(cols[i])             # <<<<<<<<<<<<<<
 * 
 *             # Collect the dynamic features
*/
      __pyx_t_3 = PyFloat_FromDouble(SCIPcolGetObj((__pyx_v_cols[__pyx_v_i]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12310, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_17 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12310, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_obj_coef); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12310, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely((PyObject_SetItem(__pyx_t_17, __pyx_t_4, __pyx_t_3) < 0))) __PYX_ERR(2, 12310, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":12298
 * 
 *             # Collect the static features first (don't need to changed if previous features are passed)
 *             if prev_col_features is None:             # <<<<<<<<<<<<<<
 *                 # Variable types
 *                 vtype = SCIPvarGetType(var)
*/
    }

    /* "src/pyscipopt/scip.pxi":12313
 * 
 *             # Collect the dynamic features
 *             if not static_only:             # <<<<<<<<<<<<<<
 *                 # Lower bound
 *                 if not SCIPisInfinity(scip, abs(lb)):
*/
    __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_static_only); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(2, 12313, __pyx_L1_error)
    __pyx_t_2 = (!__pyx_t_13);
    if (__pyx_t_2) {

      /* "src/pyscipopt/scip.pxi":12315
 *             if not static_only:
 *                 # Lower bound
 *                 if not SCIPisInfinity(scip, abs(lb)):             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["has_lb"]] = 1
 * 
*/
      __pyx_t_18 = fabs(__pyx_v_lb); 
      __pyx_t_2 = (!(SCIPisInfinity(__pyx_v_scip, __pyx_t_18) != 0));
      if (__pyx_t_2) {

        /* "src/pyscipopt/scip.pxi":12316
 *                 # Lower bound
 *                 if not SCIPisInfinity(scip, abs(lb)):
 *                     col_features[col_i][col_feature_map["has_lb"]] = 1             # <<<<<<<<<<<<<<
 * 
 *                 # Upper bound
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12316, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_has_lb); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12316, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_t_4, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12316, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "src/pyscipopt/scip.pxi":12315
 *             if not static_only:
 *                 # Lower bound
 *                 if not SCIPisInfinity(scip, abs(lb)):             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["has_lb"]] = 1
 * 
*/
      }

      /* "src/pyscipopt/scip.pxi":12319
 * 
 *                 # Upper bound
 *                 if not SCIPisInfinity(scip, abs(ub)):             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["has_ub"]] = 1
 * 
*/
      __pyx_t_18 = fabs(__pyx_v_ub); 
      __pyx_t_2 = (!(SCIPisInfinity(__pyx_v_scip, __pyx_t_18) != 0));
      if (__pyx_t_2) {

        /* "src/pyscipopt/scip.pxi":12320
 *                 # Upper bound
 *                 if not SCIPisInfinity(scip, abs(ub)):
 *                     col_features[col_i][col_feature_map["has_ub"]] = 1             # <<<<<<<<<<<<<<
 * 
 *                 # Basis status
*/
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12320, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_has_ub); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12320, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely((PyObject_SetItem(__pyx_t_4, __pyx_t_3, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12320, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

        /* "src/pyscipopt/scip.pxi":12319
 * 
 *                 # Upper bound
 *                 if not SCIPisInfinity(scip, abs(ub)):             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["has_ub"]] = 1
 * 
*/
      }

      /* "src/pyscipopt/scip.pxi":12323
 * 
 *                 # Basis status
 *                 basis_status = SCIPcolGetBasisStatus(cols[i])             # <<<<<<<<<<<<<<
 *                 if basis_status == SCIP_BASESTAT_LOWER:
 *                     col_features[col_i][col_feature_map["basis_lower"]] = 1
*/
      __pyx_v_basis_status = SCIPcolGetBasisStatus((__pyx_v_cols[__pyx_v_i]));

      /* "src/pyscipopt/scip.pxi":12324
 *                 # Basis status
 *                 basis_status = SCIPcolGetBasisStatus(cols[i])
 *                 if basis_status == SCIP_BASESTAT_LOWER:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["basis_lower"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_BASIC:
*/
      __pyx_t_2 = (__pyx_v_basis_status == SCIP_BASESTAT_LOWER);
      if (__pyx_t_2) {

        /* "src/pyscipopt/scip.pxi":12325
 *                 basis_status = SCIPcolGetBasisStatus(cols[i])
 *                 if basis_status == SCIP_BASESTAT_LOWER:
 *                     col_features[col_i][col_feature_map["basis_lower"]] = 1             # <<<<<<<<<<<<<<
 *                 elif basis_status == SCIP_BASESTAT_BASIC:
 *                     col_features[col_i][col_feature_map["basis_basic"]] = 1
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12325, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_basis_lower); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12325, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_t_4, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12325, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "src/pyscipopt/scip.pxi":12324
 *                 # Basis status
 *                 basis_status = SCIPcolGetBasisStatus(cols[i])
 *                 if basis_status == SCIP_BASESTAT_LOWER:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["basis_lower"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_BASIC:
*/
        goto __pyx_L24;
      }

      /* "src/pyscipopt/scip.pxi":12326
 *                 if basis_status == SCIP_BASESTAT_LOWER:
 *                     col_features[col_i][col_feature_map["basis_lower"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_BASIC:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["basis_basic"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_UPPER:
*/
      __pyx_t_2 = (__pyx_v_basis_status == SCIP_BASESTAT_BASIC);
      if (__pyx_t_2) {

        /* "src/pyscipopt/scip.pxi":12327
 *                     col_features[col_i][col_feature_map["basis_lower"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_BASIC:
 *                     col_features[col_i][col_feature_map["basis_basic"]] = 1             # <<<<<<<<<<<<<<
 *                 elif basis_status == SCIP_BASESTAT_UPPER:
 *                     col_features[col_i][col_feature_map["basis_upper"]] = 1
*/
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12327, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_basis_basic); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12327, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely((PyObject_SetItem(__pyx_t_4, __pyx_t_3, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12327, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

        /* "src/pyscipopt/scip.pxi":12326
 *                 if basis_status == SCIP_BASESTAT_LOWER:
 *                     col_features[col_i][col_feature_map["basis_lower"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_BASIC:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["basis_basic"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_UPPER:
*/
        goto __pyx_L24;
      }

      /* "src/pyscipopt/scip.pxi":12328
 *                 elif basis_status == SCIP_BASESTAT_BASIC:
 *                     col_features[col_i][col_feature_map["basis_basic"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_UPPER:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["basis_upper"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_ZERO:
*/
      __pyx_t_2 = (__pyx_v_basis_status == SCIP_BASESTAT_UPPER);
      if (__pyx_t_2) {

        /* "src/pyscipopt/scip.pxi":12329
 *                     col_features[col_i][col_feature_map["basis_basic"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_UPPER:
 *                     col_features[col_i][col_feature_map["basis_upper"]] = 1             # <<<<<<<<<<<<<<
 *                 elif basis_status == SCIP_BASESTAT_ZERO:
 *                     col_features[col_i][col_feature_map["basis_zero"]] = 1
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12329, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_basis_upper); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12329, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_t_4, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12329, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "src/pyscipopt/scip.pxi":12328
 *                 elif basis_status == SCIP_BASESTAT_BASIC:
 *                     col_features[col_i][col_feature_map["basis_basic"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_UPPER:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["basis_upper"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_ZERO:
*/
        goto __pyx_L24;
      }

      /* "src/pyscipopt/scip.pxi":12330
 *                 elif basis_status == SCIP_BASESTAT_UPPER:
 *                     col_features[col_i][col_feature_map["basis_upper"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_ZERO:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["basis_zero"]] = 1
 * 
*/
      __pyx_t_2 = (__pyx_v_basis_status == SCIP_BASESTAT_ZERO);
      if (__pyx_t_2) {

        /* "src/pyscipopt/scip.pxi":12331
 *                     col_features[col_i][col_feature_map["basis_upper"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_ZERO:
 *                     col_features[col_i][col_feature_map["basis_zero"]] = 1             # <<<<<<<<<<<<<<
 * 
 *                 # Reduced cost
*/
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12331, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_basis_zero); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12331, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely((PyObject_SetItem(__pyx_t_4, __pyx_t_3, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12331, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

        /* "src/pyscipopt/scip.pxi":12330
 *                 elif basis_status == SCIP_BASESTAT_UPPER:
 *                     col_features[col_i][col_feature_map["basis_upper"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_ZERO:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["basis_zero"]] = 1
 * 
*/
      }
      __pyx_L24:;

      /* "src/pyscipopt/scip.pxi":12334
 * 
 *                 # Reduced cost
 *                 col_features[col_i][col_feature_map["red_cost"]] = SCIPgetColRedcost(scip, cols[i])             # <<<<<<<<<<<<<<
 * 
 *                 # Age
*/
      __pyx_t_3 = PyFloat_FromDouble(SCIPgetColRedcost(__pyx_v_scip, (__pyx_v_cols[__pyx_v_i]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12334, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12334, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_17 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_red_cost); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12334, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      if (unlikely((PyObject_SetItem(__pyx_t_4, __pyx_t_17, __pyx_t_3) < 0))) __PYX_ERR(2, 12334, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":12337
 * 
 *                 # Age
 *                 col_features[col_i][col_feature_map["age"]] = SCIPcolGetAge(cols[i])             # <<<<<<<<<<<<<<
 * 
 *                 # LP solution value
*/
      __pyx_t_3 = __Pyx_PyLong_From_int(SCIPcolGetAge((__pyx_v_cols[__pyx_v_i]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12337, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_17 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12337, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_age); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12337, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely((PyObject_SetItem(__pyx_t_17, __pyx_t_4, __pyx_t_3) < 0))) __PYX_ERR(2, 12337, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":12340
 * 
 *                 # LP solution value
 *                 col_features[col_i][col_feature_map["sol_val"]] = solval             # <<<<<<<<<<<<<<
 *                 col_features[col_i][col_feature_map["sol_frac"]] = SCIPfeasFrac(scip, solval)
 *                 col_features[col_i][col_feature_map["sol_at_lb"]] = int(SCIPisEQ(scip, solval, lb))
*/
      __pyx_t_3 = PyFloat_FromDouble(__pyx_v_solval); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_17 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_sol_val); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12340, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      if (unlikely((PyObject_SetItem(__pyx_t_4, __pyx_t_17, __pyx_t_3) < 0))) __PYX_ERR(2, 12340, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":12341
 *                 # LP solution value
 *                 col_features[col_i][col_feature_map["sol_val"]] = solval
 *                 col_features[col_i][col_feature_map["sol_frac"]] = SCIPfeasFrac(scip, solval)             # <<<<<<<<<<<<<<
 *                 col_features[col_i][col_feature_map["sol_at_lb"]] = int(SCIPisEQ(scip, solval, lb))
 *                 col_features[col_i][col_feature_map["sol_at_ub"]] = int(SCIPisEQ(scip, solval, ub))
*/
      __pyx_t_3 = PyFloat_FromDouble(SCIPfeasFrac(__pyx_v_scip, __pyx_v_solval)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12341, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_17 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12341, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_sol_frac); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12341, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely((PyObject_SetItem(__pyx_t_17, __pyx_t_4, __pyx_t_3) < 0))) __PYX_ERR(2, 12341, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":12342
 *                 col_features[col_i][col_feature_map["sol_val"]] = solval
 *                 col_features[col_i][col_feature_map["sol_frac"]] = SCIPfeasFrac(scip, solval)
 *                 col_features[col_i][col_feature_map["sol_at_lb"]] = int(SCIPisEQ(scip, solval, lb))             # <<<<<<<<<<<<<<
 *                 col_features[col_i][col_feature_map["sol_at_ub"]] = int(SCIPisEQ(scip, solval, ub))
 * 
*/
      __pyx_t_4 = NULL;
      __pyx_t_17 = __Pyx_PyBool_FromLong(SCIPisEQ(__pyx_v_scip, __pyx_v_solval, __pyx_v_lb)); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12342, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_17};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(&PyLong_Type), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12342, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __pyx_t_17 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12342, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_sol_at_lb); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12342, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely((PyObject_SetItem(__pyx_t_17, __pyx_t_4, __pyx_t_3) < 0))) __PYX_ERR(2, 12342, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":12343
 *                 col_features[col_i][col_feature_map["sol_frac"]] = SCIPfeasFrac(scip, solval)
 *                 col_features[col_i][col_feature_map["sol_at_lb"]] = int(SCIPisEQ(scip, solval, lb))
 *                 col_features[col_i][col_feature_map["sol_at_ub"]] = int(SCIPisEQ(scip, solval, ub))             # <<<<<<<<<<<<<<
 * 
 *                 # Incumbent solution value
*/
      __pyx_t_4 = NULL;
      __pyx_t_17 = __Pyx_PyBool_FromLong(SCIPisEQ(__pyx_v_scip, __pyx_v_solval, __pyx_v_ub)); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12343, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_17};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(&PyLong_Type), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12343, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __pyx_t_17 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12343, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_sol_at_ub); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12343, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely((PyObject_SetItem(__pyx_t_17, __pyx_t_4, __pyx_t_3) < 0))) __PYX_ERR(2, 12343, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":12346
 * 
 *                 # Incumbent solution value
 *                 if sol is NULL:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["best_incumbent_val"]] = None
 *                     col_features[col_i][col_feature_map["avg_incumbent_val"]] = None
*/
      __pyx_t_2 = (__pyx_v_sol == NULL);
      if (__pyx_t_2) {

        /* "src/pyscipopt/scip.pxi":12347
 *                 # Incumbent solution value
 *                 if sol is NULL:
 *                     col_features[col_i][col_feature_map["best_incumbent_val"]] = None             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["avg_incumbent_val"]] = None
 *                 else:
*/
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12347, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_best_incumbent_val); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12347, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_t_4, Py_None) < 0))) __PYX_ERR(2, 12347, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "src/pyscipopt/scip.pxi":12348
 *                 if sol is NULL:
 *                     col_features[col_i][col_feature_map["best_incumbent_val"]] = None
 *                     col_features[col_i][col_feature_map["avg_incumbent_val"]] = None             # <<<<<<<<<<<<<<
 *                 else:
 *                     col_features[col_i][col_feature_map["best_incumbent_val"]] = SCIPgetSolVal(scip, sol, var)
*/
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12348, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_avg_incumbent_val); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12348, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely((PyObject_SetItem(__pyx_t_4, __pyx_t_3, Py_None) < 0))) __PYX_ERR(2, 12348, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

        /* "src/pyscipopt/scip.pxi":12346
 * 
 *                 # Incumbent solution value
 *                 if sol is NULL:             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["best_incumbent_val"]] = None
 *                     col_features[col_i][col_feature_map["avg_incumbent_val"]] = None
*/
        goto __pyx_L25;
      }

      /* "src/pyscipopt/scip.pxi":12350
 *                     col_features[col_i][col_feature_map["avg_incumbent_val"]] = None
 *                 else:
 *                     col_features[col_i][col_feature_map["best_incumbent_val"]] = SCIPgetSolVal(scip, sol, var)             # <<<<<<<<<<<<<<
 *                     col_features[col_i][col_feature_map["avg_incumbent_val"]] = SCIPvarGetAvgSol(var)
 * 
*/
      /*else*/ {
        __pyx_t_3 = PyFloat_FromDouble(SCIPgetSolVal(__pyx_v_scip, __pyx_v_sol, __pyx_v_var)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12350, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12350, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_17 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_best_incumbent_val); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12350, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_17);
        if (unlikely((PyObject_SetItem(__pyx_t_4, __pyx_t_17, __pyx_t_3) < 0))) __PYX_ERR(2, 12350, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

        /* "src/pyscipopt/scip.pxi":12351
 *                 else:
 *                     col_features[col_i][col_feature_map["best_incumbent_val"]] = SCIPgetSolVal(scip, sol, var)
 *                     col_features[col_i][col_feature_map["avg_incumbent_val"]] = SCIPvarGetAvgSol(var)             # <<<<<<<<<<<<<<
 * 
 *         # Generate row features
*/
        __pyx_t_3 = PyFloat_FromDouble(SCIPvarGetAvgSol(__pyx_v_var)); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12351, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_17 = __Pyx_GetItemInt(__pyx_v_col_features, __pyx_v_col_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12351, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_17);
        __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_col_feature_map, __pyx_mstate_global->__pyx_n_u_avg_incumbent_val); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12351, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        if (unlikely((PyObject_SetItem(__pyx_t_17, __pyx_t_4, __pyx_t_3) < 0))) __PYX_ERR(2, 12351, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
      __pyx_L25:;

      /* "src/pyscipopt/scip.pxi":12313
 * 
 *             # Collect the dynamic features
 *             if not static_only:             # <<<<<<<<<<<<<<
 *                 # Lower bound
 *                 if not SCIPisInfinity(scip, abs(lb)):
*/
    }
  }

  /* "src/pyscipopt/scip.pxi":12354
 * 
 *         # Generate row features
 *         cdef SCIP_ROW** rows = SCIPgetLPRows(scip)             # <<<<<<<<<<<<<<
 *         cdef int nrows = SCIPgetNLPRows(scip)
 * 
*/
  __pyx_v_rows = SCIPgetLPRows(__pyx_v_scip);

  /* "src/pyscipopt/scip.pxi":12355
 *         # Generate row features
 *         cdef SCIP_ROW** rows = SCIPgetLPRows(scip)
 *         cdef int nrows = SCIPgetNLPRows(scip)             # <<<<<<<<<<<<<<
 * 
 *         if static_only:
*/
  __pyx_v_nrows = SCIPgetNLPRows(__pyx_v_scip);

  /* "src/pyscipopt/scip.pxi":12357
 *         cdef int nrows = SCIPgetNLPRows(scip)
 * 
 *         if static_only:             # <<<<<<<<<<<<<<
 *             n_row_features = 6
 *             row_feature_map = {"has_lhs": 0, "has_rhs": 1, "n_non_zeros": 2, "obj_cosine": 3, "bias": 4, "norm": 5}
*/
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_static_only); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 12357, __pyx_L1_error)
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":12358
 * 
 *         if static_only:
 *             n_row_features = 6             # <<<<<<<<<<<<<<
 *             row_feature_map = {"has_lhs": 0, "has_rhs": 1, "n_non_zeros": 2, "obj_cosine": 3, "bias": 4, "norm": 5}
 *         else:
*/
    __pyx_v_n_row_features = 6;

    /* "src/pyscipopt/scip.pxi":12359
 *         if static_only:
 *             n_row_features = 6
 *             row_feature_map = {"has_lhs": 0, "has_rhs": 1, "n_non_zeros": 2, "obj_cosine": 3, "bias": 4, "norm": 5}             # <<<<<<<<<<<<<<
 *         else:
 *             n_row_features = 14
*/
    __pyx_t_3 = __Pyx_PyDict_NewPresized(6); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12359, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_has_lhs, __pyx_mstate_global->__pyx_int_0) < (0)) __PYX_ERR(2, 12359, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_has_rhs, __pyx_mstate_global->__pyx_int_1) < (0)) __PYX_ERR(2, 12359, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_n_non_zeros, __pyx_mstate_global->__pyx_int_2) < (0)) __PYX_ERR(2, 12359, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_obj_cosine, __pyx_mstate_global->__pyx_int_3) < (0)) __PYX_ERR(2, 12359, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_bias, __pyx_mstate_global->__pyx_int_4) < (0)) __PYX_ERR(2, 12359, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_norm, __pyx_mstate_global->__pyx_int_5) < (0)) __PYX_ERR(2, 12359, __pyx_L1_error)
    __pyx_v_row_feature_map = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":12357
 *         cdef int nrows = SCIPgetNLPRows(scip)
 * 
 *         if static_only:             # <<<<<<<<<<<<<<
 *             n_row_features = 6
 *             row_feature_map = {"has_lhs": 0, "has_rhs": 1, "n_non_zeros": 2, "obj_cosine": 3, "bias": 4, "norm": 5}
*/
    goto __pyx_L26;
  }

  /* "src/pyscipopt/scip.pxi":12361
 *             row_feature_map = {"has_lhs": 0, "has_rhs": 1, "n_non_zeros": 2, "obj_cosine": 3, "bias": 4, "norm": 5}
 *         else:
 *             n_row_features = 14             # <<<<<<<<<<<<<<
 *             row_feature_map = {"has_lhs": 0, "has_rhs": 1, "n_non_zeros": 2, "obj_cosine": 3, "bias": 4, "norm": 5,
 *                                "sol_at_lhs": 6, "sol_at_rhs": 7, "dual_sol": 8, "age": 9,
*/
  /*else*/ {
    __pyx_v_n_row_features = 14;

    /* "src/pyscipopt/scip.pxi":12362
 *         else:
 *             n_row_features = 14
 *             row_feature_map = {"has_lhs": 0, "has_rhs": 1, "n_non_zeros": 2, "obj_cosine": 3, "bias": 4, "norm": 5,             # <<<<<<<<<<<<<<
 *                                "sol_at_lhs": 6, "sol_at_rhs": 7, "dual_sol": 8, "age": 9,
 *                                "basis_lower": 10, "basis_basic": 11, "basis_upper": 12, "basis_zero": 13}
*/
    __pyx_t_3 = __Pyx_PyDict_NewPresized(14); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12362, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_has_lhs, __pyx_mstate_global->__pyx_int_0) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_has_rhs, __pyx_mstate_global->__pyx_int_1) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_n_non_zeros, __pyx_mstate_global->__pyx_int_2) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_obj_cosine, __pyx_mstate_global->__pyx_int_3) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_bias, __pyx_mstate_global->__pyx_int_4) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_norm, __pyx_mstate_global->__pyx_int_5) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_sol_at_lhs, __pyx_mstate_global->__pyx_int_6) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_sol_at_rhs, __pyx_mstate_global->__pyx_int_7) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_dual_sol, __pyx_mstate_global->__pyx_int_8) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_age, __pyx_mstate_global->__pyx_int_9) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_basis_lower, __pyx_mstate_global->__pyx_int_10) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_basis_basic, __pyx_mstate_global->__pyx_int_11) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_basis_upper, __pyx_mstate_global->__pyx_int_12) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    if (PyDict_SetItem(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_basis_zero, __pyx_mstate_global->__pyx_int_13) < (0)) __PYX_ERR(2, 12362, __pyx_L1_error)
    __pyx_v_row_feature_map = ((PyObject*)__pyx_t_3);
    __pyx_t_3 = 0;
  }
  __pyx_L26:;

  /* "src/pyscipopt/scip.pxi":12366
 *                                "basis_lower": 10, "basis_basic": 11, "basis_upper": 12, "basis_zero": 13}
 * 
 *         if prev_row_features is None:             # <<<<<<<<<<<<<<
 *             row_features = [[0 for i in range(n_row_features)] for j in range(nrows)]
 *         else:
*/
  __pyx_t_2 = (__pyx_v_prev_row_features == Py_None);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":12367
 * 
 *         if prev_row_features is None:
 *             row_features = [[0 for i in range(n_row_features)] for j in range(nrows)]             # <<<<<<<<<<<<<<
 *         else:
 *             assert len(prev_row_features) > 0, "Previous row features is empty"
*/
    { /* enter inner scope */
      __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12367, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_6 = __pyx_v_nrows;
      __pyx_t_7 = __pyx_t_6;
      for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
        __pyx_9genexpr62__pyx_v_j = __pyx_t_8;
        { /* enter inner scope */
          __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12367, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_9 = __pyx_v_n_row_features;
          __pyx_t_10 = __pyx_t_9;
          for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
            __pyx_9genexpr63__pyx_v_i = __pyx_t_11;
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_mstate_global->__pyx_int_0))) __PYX_ERR(2, 12367, __pyx_L1_error)
          }
        } /* exit inner scope */
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(2, 12367, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      }
    } /* exit inner scope */
    __pyx_v_row_features = __pyx_t_3;
    __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":12366
 *                                "basis_lower": 10, "basis_basic": 11, "basis_upper": 12, "basis_zero": 13}
 * 
 *         if prev_row_features is None:             # <<<<<<<<<<<<<<
 *             row_features = [[0 for i in range(n_row_features)] for j in range(nrows)]
 *         else:
*/
    goto __pyx_L27;
  }

  /* "src/pyscipopt/scip.pxi":12369
 *             row_features = [[0 for i in range(n_row_features)] for j in range(nrows)]
 *         else:
 *             assert len(prev_row_features) > 0, "Previous row features is empty"             # <<<<<<<<<<<<<<
 *             row_features = prev_row_features
 *             if len(prev_row_features) != nrows:
*/
  /*else*/ {
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_12 = PyObject_Length(__pyx_v_prev_row_features); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12369, __pyx_L1_error)
      __pyx_t_2 = (__pyx_t_12 > 0);
      if (unlikely(!__pyx_t_2)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_Previous_row_features_is_empty, 0, 0);
        __PYX_ERR(2, 12369, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 12369, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":12370
 *         else:
 *             assert len(prev_row_features) > 0, "Previous row features is empty"
 *             row_features = prev_row_features             # <<<<<<<<<<<<<<
 *             if len(prev_row_features) != nrows:
 *                 if not suppress_warnings:
*/
    __Pyx_INCREF(__pyx_v_prev_row_features);
    __pyx_v_row_features = __pyx_v_prev_row_features;

    /* "src/pyscipopt/scip.pxi":12371
 *             assert len(prev_row_features) > 0, "Previous row features is empty"
 *             row_features = prev_row_features
 *             if len(prev_row_features) != nrows:             # <<<<<<<<<<<<<<
 *                 if not suppress_warnings:
 *                     raise Warning(f"The number of rows has changed. Previous row data being ignored")
*/
    __pyx_t_12 = PyObject_Length(__pyx_v_prev_row_features); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12371, __pyx_L1_error)
    __pyx_t_2 = (__pyx_t_12 != __pyx_v_nrows);
    if (__pyx_t_2) {

      /* "src/pyscipopt/scip.pxi":12372
 *             row_features = prev_row_features
 *             if len(prev_row_features) != nrows:
 *                 if not suppress_warnings:             # <<<<<<<<<<<<<<
 *                     raise Warning(f"The number of rows has changed. Previous row data being ignored")
 *                 else:
*/
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_suppress_warnings); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 12372, __pyx_L1_error)
      __pyx_t_13 = (!__pyx_t_2);
      if (unlikely(__pyx_t_13)) {

        /* "src/pyscipopt/scip.pxi":12373
 *             if len(prev_row_features) != nrows:
 *                 if not suppress_warnings:
 *                     raise Warning(f"The number of rows has changed. Previous row data being ignored")             # <<<<<<<<<<<<<<
 *                 else:
 *                     row_features = [[0 for i in range(n_row_features)] for j in range(nrows)]
*/
        __pyx_t_4 = NULL;
        __pyx_t_5 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_The_number_of_rows_has_changed_P};
          __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12373, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(2, 12373, __pyx_L1_error)

        /* "src/pyscipopt/scip.pxi":12372
 *             row_features = prev_row_features
 *             if len(prev_row_features) != nrows:
 *                 if not suppress_warnings:             # <<<<<<<<<<<<<<
 *                     raise Warning(f"The number of rows has changed. Previous row data being ignored")
 *                 else:
*/
      }

      /* "src/pyscipopt/scip.pxi":12375
 *                     raise Warning(f"The number of rows has changed. Previous row data being ignored")
 *                 else:
 *                     row_features = [[0 for i in range(n_row_features)] for j in range(nrows)]             # <<<<<<<<<<<<<<
 *                     prev_row_features = None
 *             if len(prev_row_features[0]) != n_row_features:
*/
      /*else*/ {
        { /* enter inner scope */
          __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12375, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_6 = __pyx_v_nrows;
          __pyx_t_7 = __pyx_t_6;
          for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
            __pyx_9genexpr64__pyx_v_j = __pyx_t_8;
            { /* enter inner scope */
              __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12375, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_9 = __pyx_v_n_row_features;
              __pyx_t_10 = __pyx_t_9;
              for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
                __pyx_9genexpr65__pyx_v_i = __pyx_t_11;
                if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_mstate_global->__pyx_int_0))) __PYX_ERR(2, 12375, __pyx_L1_error)
              }
            } /* exit inner scope */
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_4))) __PYX_ERR(2, 12375, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
        } /* exit inner scope */
        __Pyx_DECREF_SET(__pyx_v_row_features, __pyx_t_3);
        __pyx_t_3 = 0;

        /* "src/pyscipopt/scip.pxi":12376
 *                 else:
 *                     row_features = [[0 for i in range(n_row_features)] for j in range(nrows)]
 *                     prev_row_features = None             # <<<<<<<<<<<<<<
 *             if len(prev_row_features[0]) != n_row_features:
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"
*/
        __Pyx_INCREF(Py_None);
        __Pyx_DECREF_SET(__pyx_v_prev_row_features, Py_None);
      }

      /* "src/pyscipopt/scip.pxi":12371
 *             assert len(prev_row_features) > 0, "Previous row features is empty"
 *             row_features = prev_row_features
 *             if len(prev_row_features) != nrows:             # <<<<<<<<<<<<<<
 *                 if not suppress_warnings:
 *                     raise Warning(f"The number of rows has changed. Previous row data being ignored")
*/
    }

    /* "src/pyscipopt/scip.pxi":12377
 *                     row_features = [[0 for i in range(n_row_features)] for j in range(nrows)]
 *                     prev_row_features = None
 *             if len(prev_row_features[0]) != n_row_features:             # <<<<<<<<<<<<<<
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"
 *                               f"{len(prev_row_features[0])} != {n_row_features}")
*/
    __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_prev_row_features, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12377, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_12 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12377, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_13 = (__pyx_t_12 != __pyx_v_n_row_features);
    if (unlikely(__pyx_t_13)) {

      /* "src/pyscipopt/scip.pxi":12378
 *                     prev_row_features = None
 *             if len(prev_row_features[0]) != n_row_features:
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"             # <<<<<<<<<<<<<<
 *                               f"{len(prev_row_features[0])} != {n_row_features}")
 * 
*/
      __pyx_t_4 = NULL;

      /* "src/pyscipopt/scip.pxi":12379
 *             if len(prev_row_features[0]) != n_row_features:
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"
 *                               f"{len(prev_row_features[0])} != {n_row_features}")             # <<<<<<<<<<<<<<
 * 
 *         cdef SCIP_Real lhs
*/
      __pyx_t_17 = __Pyx_GetItemInt(__pyx_v_prev_row_features, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12379, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      __pyx_t_12 = PyObject_Length(__pyx_t_17); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12379, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __pyx_t_17 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_12, 0, ' ', 'd'); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12379, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_17);
      __pyx_t_15 = __Pyx_PyUnicode_From_long(__pyx_v_n_row_features, 0, ' ', 'd'); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12379, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_16[0] = __pyx_mstate_global->__pyx_kp_u_Dimension_mismatch_in_provided_p;
      __pyx_t_16[1] = __pyx_t_17;
      __pyx_t_16[2] = __pyx_mstate_global->__pyx_kp_u__18;
      __pyx_t_16[3] = __pyx_t_15;

      /* "src/pyscipopt/scip.pxi":12378
 *                     prev_row_features = None
 *             if len(prev_row_features[0]) != n_row_features:
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"             # <<<<<<<<<<<<<<
 *                               f"{len(prev_row_features[0])} != {n_row_features}")
 * 
*/
      __pyx_t_14 = __Pyx_PyUnicode_Join(__pyx_t_16, 4, 66 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_17) + 4 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_15), 127);
      if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12378, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_14};
        __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12378, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
      }
      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __PYX_ERR(2, 12378, __pyx_L1_error)

      /* "src/pyscipopt/scip.pxi":12377
 *                     row_features = [[0 for i in range(n_row_features)] for j in range(nrows)]
 *                     prev_row_features = None
 *             if len(prev_row_features[0]) != n_row_features:             # <<<<<<<<<<<<<<
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"
 *                               f"{len(prev_row_features[0])} != {n_row_features}")
*/
    }
  }
  __pyx_L27:;

  /* "src/pyscipopt/scip.pxi":12384
 *         cdef SCIP_Real rhs
 *         cdef SCIP_Real cst
 *         cdef int nnzrs = 0             # <<<<<<<<<<<<<<
 * 
 *         for i in range(nrows):
*/
  __pyx_v_nnzrs = 0;

  /* "src/pyscipopt/scip.pxi":12386
 *         cdef int nnzrs = 0
 * 
 *         for i in range(nrows):             # <<<<<<<<<<<<<<
 * 
 *             # lhs <= activity + cst <= rhs
*/
  __pyx_t_6 = __pyx_v_nrows;
  __pyx_t_7 = __pyx_t_6;
  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
    __pyx_v_i = __pyx_t_8;

    /* "src/pyscipopt/scip.pxi":12389
 * 
 *             # lhs <= activity + cst <= rhs
 *             lhs = SCIProwGetLhs(rows[i])             # <<<<<<<<<<<<<<
 *             rhs = SCIProwGetRhs(rows[i])
 *             cst = SCIProwGetConstant(rows[i])
*/
    __pyx_v_lhs = SCIProwGetLhs((__pyx_v_rows[__pyx_v_i]));

    /* "src/pyscipopt/scip.pxi":12390
 *             # lhs <= activity + cst <= rhs
 *             lhs = SCIProwGetLhs(rows[i])
 *             rhs = SCIProwGetRhs(rows[i])             # <<<<<<<<<<<<<<
 *             cst = SCIProwGetConstant(rows[i])
 *             activity = SCIPgetRowLPActivity(scip, rows[i])
*/
    __pyx_v_rhs = SCIProwGetRhs((__pyx_v_rows[__pyx_v_i]));

    /* "src/pyscipopt/scip.pxi":12391
 *             lhs = SCIProwGetLhs(rows[i])
 *             rhs = SCIProwGetRhs(rows[i])
 *             cst = SCIProwGetConstant(rows[i])             # <<<<<<<<<<<<<<
 *             activity = SCIPgetRowLPActivity(scip, rows[i])
 * 
*/
    __pyx_v_cst = SCIProwGetConstant((__pyx_v_rows[__pyx_v_i]));

    /* "src/pyscipopt/scip.pxi":12392
 *             rhs = SCIProwGetRhs(rows[i])
 *             cst = SCIProwGetConstant(rows[i])
 *             activity = SCIPgetRowLPActivity(scip, rows[i])             # <<<<<<<<<<<<<<
 * 
 *             if prev_row_features is None:
*/
    __pyx_t_3 = PyFloat_FromDouble(SCIPgetRowLPActivity(__pyx_v_scip, (__pyx_v_rows[__pyx_v_i]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12392, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_XDECREF_SET(__pyx_v_activity, __pyx_t_3);
    __pyx_t_3 = 0;

    /* "src/pyscipopt/scip.pxi":12394
 *             activity = SCIPgetRowLPActivity(scip, rows[i])
 * 
 *             if prev_row_features is None:             # <<<<<<<<<<<<<<
 *                 # number of coefficients
 *                 row_features[i][row_feature_map["n_non_zeros"]] = SCIProwGetNLPNonz(rows[i])
*/
    __pyx_t_13 = (__pyx_v_prev_row_features == Py_None);
    if (__pyx_t_13) {

      /* "src/pyscipopt/scip.pxi":12396
 *             if prev_row_features is None:
 *                 # number of coefficients
 *                 row_features[i][row_feature_map["n_non_zeros"]] = SCIProwGetNLPNonz(rows[i])             # <<<<<<<<<<<<<<
 *                 nnzrs += row_features[i][row_feature_map["n_non_zeros"]]
 * 
*/
      __pyx_t_3 = __Pyx_PyLong_From_int(SCIProwGetNLPNonz((__pyx_v_rows[__pyx_v_i]))); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12396, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12396, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_n_non_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12396, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (unlikely((PyObject_SetItem(__pyx_t_14, __pyx_t_4, __pyx_t_3) < 0))) __PYX_ERR(2, 12396, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

      /* "src/pyscipopt/scip.pxi":12397
 *                 # number of coefficients
 *                 row_features[i][row_feature_map["n_non_zeros"]] = SCIProwGetNLPNonz(rows[i])
 *                 nnzrs += row_features[i][row_feature_map["n_non_zeros"]]             # <<<<<<<<<<<<<<
 * 
 *                 # left-hand-side
*/
      __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_nnzrs); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12397, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12397, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_n_non_zeros); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12397, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12397, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __pyx_t_14 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_15); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12397, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __pyx_t_11 = __Pyx_PyLong_As_int(__pyx_t_14); if (unlikely((__pyx_t_11 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 12397, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __pyx_v_nnzrs = __pyx_t_11;

      /* "src/pyscipopt/scip.pxi":12400
 * 
 *                 # left-hand-side
 *                 if not SCIPisInfinity(scip, abs(lhs)):             # <<<<<<<<<<<<<<
 *                     row_features[i][row_feature_map["has_lhs"]] = 1
 * 
*/
      __pyx_t_18 = fabs(__pyx_v_lhs); 
      __pyx_t_13 = (!(SCIPisInfinity(__pyx_v_scip, __pyx_t_18) != 0));
      if (__pyx_t_13) {

        /* "src/pyscipopt/scip.pxi":12401
 *                 # left-hand-side
 *                 if not SCIPisInfinity(scip, abs(lhs)):
 *                     row_features[i][row_feature_map["has_lhs"]] = 1             # <<<<<<<<<<<<<<
 * 
 *                 # right-hand-side
*/
        __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12401, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_15 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_has_lhs); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12401, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        if (unlikely((PyObject_SetItem(__pyx_t_14, __pyx_t_15, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12401, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

        /* "src/pyscipopt/scip.pxi":12400
 * 
 *                 # left-hand-side
 *                 if not SCIPisInfinity(scip, abs(lhs)):             # <<<<<<<<<<<<<<
 *                     row_features[i][row_feature_map["has_lhs"]] = 1
 * 
*/
      }

      /* "src/pyscipopt/scip.pxi":12404
 * 
 *                 # right-hand-side
 *                 if not SCIPisInfinity(scip, abs(rhs)):             # <<<<<<<<<<<<<<
 *                     row_features[i][row_feature_map["has_rhs"]] = 1
 * 
*/
      __pyx_t_18 = fabs(__pyx_v_rhs); 
      __pyx_t_13 = (!(SCIPisInfinity(__pyx_v_scip, __pyx_t_18) != 0));
      if (__pyx_t_13) {

        /* "src/pyscipopt/scip.pxi":12405
 *                 # right-hand-side
 *                 if not SCIPisInfinity(scip, abs(rhs)):
 *                     row_features[i][row_feature_map["has_rhs"]] = 1             # <<<<<<<<<<<<<<
 * 
 *                 # bias
*/
        __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12405, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_has_rhs); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12405, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        if (unlikely((PyObject_SetItem(__pyx_t_15, __pyx_t_14, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12405, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

        /* "src/pyscipopt/scip.pxi":12404
 * 
 *                 # right-hand-side
 *                 if not SCIPisInfinity(scip, abs(rhs)):             # <<<<<<<<<<<<<<
 *                     row_features[i][row_feature_map["has_rhs"]] = 1
 * 
*/
      }

      /* "src/pyscipopt/scip.pxi":12408
 * 
 *                 # bias
 *                 row_features[i][row_feature_map["bias"]] = cst             # <<<<<<<<<<<<<<
 * 
 *                 # Objective cosine similarity
*/
      __pyx_t_14 = PyFloat_FromDouble(__pyx_v_cst); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12408, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12408, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_bias); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12408, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely((PyObject_SetItem(__pyx_t_15, __pyx_t_3, __pyx_t_14) < 0))) __PYX_ERR(2, 12408, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

      /* "src/pyscipopt/scip.pxi":12411
 * 
 *                 # Objective cosine similarity
 *                 row_features[i][row_feature_map["obj_cosine"]] = SCIPgetRowObjParallelism(scip, rows[i])             # <<<<<<<<<<<<<<
 * 
 *                 # L2 norm
*/
      __pyx_t_14 = PyFloat_FromDouble(SCIPgetRowObjParallelism(__pyx_v_scip, (__pyx_v_rows[__pyx_v_i]))); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12411, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12411, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_15 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_obj_cosine); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12411, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_t_15, __pyx_t_14) < 0))) __PYX_ERR(2, 12411, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

      /* "src/pyscipopt/scip.pxi":12414
 * 
 *                 # L2 norm
 *                 row_features[i][row_feature_map["norm"]] = SCIProwGetNorm(rows[i])             # <<<<<<<<<<<<<<
 * 
 *             if not static_only:
*/
      __pyx_t_14 = PyFloat_FromDouble(SCIProwGetNorm((__pyx_v_rows[__pyx_v_i]))); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12414, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12414, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_norm); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12414, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely((PyObject_SetItem(__pyx_t_15, __pyx_t_3, __pyx_t_14) < 0))) __PYX_ERR(2, 12414, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

      /* "src/pyscipopt/scip.pxi":12394
 *             activity = SCIPgetRowLPActivity(scip, rows[i])
 * 
 *             if prev_row_features is None:             # <<<<<<<<<<<<<<
 *                 # number of coefficients
 *                 row_features[i][row_feature_map["n_non_zeros"]] = SCIProwGetNLPNonz(rows[i])
*/
    }

    /* "src/pyscipopt/scip.pxi":12416
 *                 row_features[i][row_feature_map["norm"]] = SCIProwGetNorm(rows[i])
 * 
 *             if not static_only:             # <<<<<<<<<<<<<<
 * 
 *                 # Dual solution
*/
    __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_v_static_only); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(2, 12416, __pyx_L1_error)
    __pyx_t_2 = (!__pyx_t_13);
    if (__pyx_t_2) {

      /* "src/pyscipopt/scip.pxi":12419
 * 
 *                 # Dual solution
 *                 row_features[i][row_feature_map["dual_sol"]] = SCIProwGetDualsol(rows[i])             # <<<<<<<<<<<<<<
 * 
 *                 # Basis status
*/
      __pyx_t_14 = PyFloat_FromDouble(SCIProwGetDualsol((__pyx_v_rows[__pyx_v_i]))); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12419, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12419, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_15 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_dual_sol); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12419, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_t_15, __pyx_t_14) < 0))) __PYX_ERR(2, 12419, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

      /* "src/pyscipopt/scip.pxi":12422
 * 
 *                 # Basis status
 *                 basis_status = SCIProwGetBasisStatus(rows[i])             # <<<<<<<<<<<<<<
 *                 if basis_status == SCIP_BASESTAT_LOWER:
 *                     row_features[i][row_feature_map["basis_lower"]] = 1
*/
      __pyx_v_basis_status = SCIProwGetBasisStatus((__pyx_v_rows[__pyx_v_i]));

      /* "src/pyscipopt/scip.pxi":12423
 *                 # Basis status
 *                 basis_status = SCIProwGetBasisStatus(rows[i])
 *                 if basis_status == SCIP_BASESTAT_LOWER:             # <<<<<<<<<<<<<<
 *                     row_features[i][row_feature_map["basis_lower"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_BASIC:
*/
      __pyx_t_2 = (__pyx_v_basis_status == SCIP_BASESTAT_LOWER);
      if (__pyx_t_2) {

        /* "src/pyscipopt/scip.pxi":12424
 *                 basis_status = SCIProwGetBasisStatus(rows[i])
 *                 if basis_status == SCIP_BASESTAT_LOWER:
 *                     row_features[i][row_feature_map["basis_lower"]] = 1             # <<<<<<<<<<<<<<
 *                 elif basis_status == SCIP_BASESTAT_BASIC:
 *                     row_features[i][row_feature_map["basis_basic"]] = 1
*/
        __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12424, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_15 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_basis_lower); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12424, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        if (unlikely((PyObject_SetItem(__pyx_t_14, __pyx_t_15, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12424, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

        /* "src/pyscipopt/scip.pxi":12423
 *                 # Basis status
 *                 basis_status = SCIProwGetBasisStatus(rows[i])
 *                 if basis_status == SCIP_BASESTAT_LOWER:             # <<<<<<<<<<<<<<
 *                     row_features[i][row_feature_map["basis_lower"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_BASIC:
*/
        goto __pyx_L45;
      }

      /* "src/pyscipopt/scip.pxi":12425
 *                 if basis_status == SCIP_BASESTAT_LOWER:
 *                     row_features[i][row_feature_map["basis_lower"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_BASIC:             # <<<<<<<<<<<<<<
 *                     row_features[i][row_feature_map["basis_basic"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_UPPER:
*/
      __pyx_t_2 = (__pyx_v_basis_status == SCIP_BASESTAT_BASIC);
      if (__pyx_t_2) {

        /* "src/pyscipopt/scip.pxi":12426
 *                     row_features[i][row_feature_map["basis_lower"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_BASIC:
 *                     row_features[i][row_feature_map["basis_basic"]] = 1             # <<<<<<<<<<<<<<
 *                 elif basis_status == SCIP_BASESTAT_UPPER:
 *                     row_features[i][row_feature_map["basis_upper"]] = 1
*/
        __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12426, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_basis_basic); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12426, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        if (unlikely((PyObject_SetItem(__pyx_t_15, __pyx_t_14, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12426, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

        /* "src/pyscipopt/scip.pxi":12425
 *                 if basis_status == SCIP_BASESTAT_LOWER:
 *                     row_features[i][row_feature_map["basis_lower"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_BASIC:             # <<<<<<<<<<<<<<
 *                     row_features[i][row_feature_map["basis_basic"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_UPPER:
*/
        goto __pyx_L45;
      }

      /* "src/pyscipopt/scip.pxi":12427
 *                 elif basis_status == SCIP_BASESTAT_BASIC:
 *                     row_features[i][row_feature_map["basis_basic"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_UPPER:             # <<<<<<<<<<<<<<
 *                     row_features[i][row_feature_map["basis_upper"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_ZERO:
*/
      __pyx_t_2 = (__pyx_v_basis_status == SCIP_BASESTAT_UPPER);
      if (__pyx_t_2) {

        /* "src/pyscipopt/scip.pxi":12428
 *                     row_features[i][row_feature_map["basis_basic"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_UPPER:
 *                     row_features[i][row_feature_map["basis_upper"]] = 1             # <<<<<<<<<<<<<<
 *                 elif basis_status == SCIP_BASESTAT_ZERO:
 *                     row_features[i][row_feature_map["basis_zero"]] = 1
*/
        __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12428, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_15 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_basis_upper); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12428, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        if (unlikely((PyObject_SetItem(__pyx_t_14, __pyx_t_15, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12428, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

        /* "src/pyscipopt/scip.pxi":12427
 *                 elif basis_status == SCIP_BASESTAT_BASIC:
 *                     row_features[i][row_feature_map["basis_basic"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_UPPER:             # <<<<<<<<<<<<<<
 *                     row_features[i][row_feature_map["basis_upper"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_ZERO:
*/
        goto __pyx_L45;
      }

      /* "src/pyscipopt/scip.pxi":12429
 *                 elif basis_status == SCIP_BASESTAT_UPPER:
 *                     row_features[i][row_feature_map["basis_upper"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_ZERO:             # <<<<<<<<<<<<<<
 *                     row_features[i][row_feature_map["basis_zero"]] = 1
 * 
*/
      __pyx_t_2 = (__pyx_v_basis_status == SCIP_BASESTAT_ZERO);
      if (__pyx_t_2) {

        /* "src/pyscipopt/scip.pxi":12430
 *                     row_features[i][row_feature_map["basis_upper"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_ZERO:
 *                     row_features[i][row_feature_map["basis_zero"]] = 1             # <<<<<<<<<<<<<<
 * 
 *                 # Age
*/
        __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12430, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_basis_zero); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12430, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        if (unlikely((PyObject_SetItem(__pyx_t_15, __pyx_t_14, __pyx_mstate_global->__pyx_int_1) < 0))) __PYX_ERR(2, 12430, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

        /* "src/pyscipopt/scip.pxi":12429
 *                 elif basis_status == SCIP_BASESTAT_UPPER:
 *                     row_features[i][row_feature_map["basis_upper"]] = 1
 *                 elif basis_status == SCIP_BASESTAT_ZERO:             # <<<<<<<<<<<<<<
 *                     row_features[i][row_feature_map["basis_zero"]] = 1
 * 
*/
      }
      __pyx_L45:;

      /* "src/pyscipopt/scip.pxi":12433
 * 
 *                 # Age
 *                 row_features[i][row_feature_map["age"]] = SCIProwGetAge(rows[i])             # <<<<<<<<<<<<<<
 * 
 *                 # Is tight
*/
      __pyx_t_14 = __Pyx_PyLong_From_int(SCIProwGetAge((__pyx_v_rows[__pyx_v_i]))); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_age); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12433, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely((PyObject_SetItem(__pyx_t_15, __pyx_t_3, __pyx_t_14) < 0))) __PYX_ERR(2, 12433, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

      /* "src/pyscipopt/scip.pxi":12436
 * 
 *                 # Is tight
 *                 row_features[i][row_feature_map["sol_at_lhs"]] = int(SCIPisEQ(scip, activity, lhs))             # <<<<<<<<<<<<<<
 *                 row_features[i][row_feature_map["sol_at_rhs"]] = int(SCIPisEQ(scip, activity, rhs))
 * 
*/
      __pyx_t_3 = NULL;
      __pyx_t_19 = __Pyx_PyFloat_AsDouble(__pyx_v_activity); if (unlikely((__pyx_t_19 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 12436, __pyx_L1_error)
      __pyx_t_15 = __Pyx_PyBool_FromLong(SCIPisEQ(__pyx_v_scip, __pyx_t_19, __pyx_v_lhs)); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12436, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_15};
        __pyx_t_14 = __Pyx_PyObject_FastCall((PyObject*)(&PyLong_Type), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
        if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12436, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
      }
      __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12436, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_sol_at_lhs); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12436, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely((PyObject_SetItem(__pyx_t_15, __pyx_t_3, __pyx_t_14) < 0))) __PYX_ERR(2, 12436, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

      /* "src/pyscipopt/scip.pxi":12437
 *                 # Is tight
 *                 row_features[i][row_feature_map["sol_at_lhs"]] = int(SCIPisEQ(scip, activity, lhs))
 *                 row_features[i][row_feature_map["sol_at_rhs"]] = int(SCIPisEQ(scip, activity, rhs))             # <<<<<<<<<<<<<<
 * 
 *         # Generate edge (coefficient) features
*/
      __pyx_t_3 = NULL;
      __pyx_t_19 = __Pyx_PyFloat_AsDouble(__pyx_v_activity); if (unlikely((__pyx_t_19 == ((SCIP_Real)-1)) && PyErr_Occurred())) __PYX_ERR(2, 12437, __pyx_L1_error)
      __pyx_t_15 = __Pyx_PyBool_FromLong(SCIPisEQ(__pyx_v_scip, __pyx_t_19, __pyx_v_rhs)); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12437, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_15};
        __pyx_t_14 = __Pyx_PyObject_FastCall((PyObject*)(&PyLong_Type), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
        if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12437, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
      }
      __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12437, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_sol_at_rhs); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12437, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (unlikely((PyObject_SetItem(__pyx_t_15, __pyx_t_3, __pyx_t_14) < 0))) __PYX_ERR(2, 12437, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

      /* "src/pyscipopt/scip.pxi":12416
 *                 row_features[i][row_feature_map["norm"]] = SCIProwGetNorm(rows[i])
 * 
 *             if not static_only:             # <<<<<<<<<<<<<<
 * 
 *                 # Dual solution
*/
    }
  }

  /* "src/pyscipopt/scip.pxi":12443
 *         cdef SCIP_Real * row_vals
 * 
 *         n_edge_features = 3             # <<<<<<<<<<<<<<
 *         edge_feature_map = {"col_idx": 0, "row_idx": 1, "coef": 2}
 *         if prev_edge_features is None:
*/
  __pyx_v_n_edge_features = 3;

  /* "src/pyscipopt/scip.pxi":12444
 * 
 *         n_edge_features = 3
 *         edge_feature_map = {"col_idx": 0, "row_idx": 1, "coef": 2}             # <<<<<<<<<<<<<<
 *         if prev_edge_features is None:
 *             edge_features = [[0 for i in range(n_edge_features)] for j in range(nnzrs)]
*/
  __pyx_t_14 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12444, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  if (PyDict_SetItem(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_col_idx, __pyx_mstate_global->__pyx_int_0) < (0)) __PYX_ERR(2, 12444, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_row_idx, __pyx_mstate_global->__pyx_int_1) < (0)) __PYX_ERR(2, 12444, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_14, __pyx_mstate_global->__pyx_n_u_coef, __pyx_mstate_global->__pyx_int_2) < (0)) __PYX_ERR(2, 12444, __pyx_L1_error)
  __pyx_v_edge_feature_map = ((PyObject*)__pyx_t_14);
  __pyx_t_14 = 0;

  /* "src/pyscipopt/scip.pxi":12445
 *         n_edge_features = 3
 *         edge_feature_map = {"col_idx": 0, "row_idx": 1, "coef": 2}
 *         if prev_edge_features is None:             # <<<<<<<<<<<<<<
 *             edge_features = [[0 for i in range(n_edge_features)] for j in range(nnzrs)]
 *             j = 0
*/
  __pyx_t_2 = (__pyx_v_prev_edge_features == Py_None);
  if (__pyx_t_2) {

    /* "src/pyscipopt/scip.pxi":12446
 *         edge_feature_map = {"col_idx": 0, "row_idx": 1, "coef": 2}
 *         if prev_edge_features is None:
 *             edge_features = [[0 for i in range(n_edge_features)] for j in range(nnzrs)]             # <<<<<<<<<<<<<<
 *             j = 0
 *             for i in range(nrows):
*/
    { /* enter inner scope */
      __pyx_t_14 = PyList_New(0); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12446, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_6 = __pyx_v_nnzrs;
      __pyx_t_7 = __pyx_t_6;
      for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
        __pyx_9genexpr66__pyx_v_j = __pyx_t_8;
        { /* enter inner scope */
          __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12446, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_9 = __pyx_v_n_edge_features;
          __pyx_t_10 = __pyx_t_9;
          for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
            __pyx_9genexpr67__pyx_v_i = __pyx_t_11;
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_mstate_global->__pyx_int_0))) __PYX_ERR(2, 12446, __pyx_L1_error)
          }
        } /* exit inner scope */
        if (unlikely(__Pyx_ListComp_Append(__pyx_t_14, (PyObject*)__pyx_t_3))) __PYX_ERR(2, 12446, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      }
    } /* exit inner scope */
    __pyx_v_edge_features = __pyx_t_14;
    __pyx_t_14 = 0;

    /* "src/pyscipopt/scip.pxi":12447
 *         if prev_edge_features is None:
 *             edge_features = [[0 for i in range(n_edge_features)] for j in range(nnzrs)]
 *             j = 0             # <<<<<<<<<<<<<<
 *             for i in range(nrows):
 *                 # coefficient indexes and values
*/
    __pyx_v_j = 0;

    /* "src/pyscipopt/scip.pxi":12448
 *             edge_features = [[0 for i in range(n_edge_features)] for j in range(nnzrs)]
 *             j = 0
 *             for i in range(nrows):             # <<<<<<<<<<<<<<
 *                 # coefficient indexes and values
 *                 row_cols = SCIProwGetCols(rows[i])
*/
    __pyx_t_6 = __pyx_v_nrows;
    __pyx_t_7 = __pyx_t_6;
    for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
      __pyx_v_i = __pyx_t_8;

      /* "src/pyscipopt/scip.pxi":12450
 *             for i in range(nrows):
 *                 # coefficient indexes and values
 *                 row_cols = SCIProwGetCols(rows[i])             # <<<<<<<<<<<<<<
 *                 row_vals = SCIProwGetVals(rows[i])
 *                 for k in range(row_features[i][row_feature_map["n_non_zeros"]]):
*/
      __pyx_v_row_cols = SCIProwGetCols((__pyx_v_rows[__pyx_v_i]));

      /* "src/pyscipopt/scip.pxi":12451
 *                 # coefficient indexes and values
 *                 row_cols = SCIProwGetCols(rows[i])
 *                 row_vals = SCIProwGetVals(rows[i])             # <<<<<<<<<<<<<<
 *                 for k in range(row_features[i][row_feature_map["n_non_zeros"]]):
 *                     edge_features[j][edge_feature_map["col_idx"]] = SCIPcolGetLPPos(row_cols[k])
*/
      __pyx_v_row_vals = SCIProwGetVals((__pyx_v_rows[__pyx_v_i]));

      /* "src/pyscipopt/scip.pxi":12452
 *                 row_cols = SCIProwGetCols(rows[i])
 *                 row_vals = SCIProwGetVals(rows[i])
 *                 for k in range(row_features[i][row_feature_map["n_non_zeros"]]):             # <<<<<<<<<<<<<<
 *                     edge_features[j][edge_feature_map["col_idx"]] = SCIPcolGetLPPos(row_cols[k])
 *                     edge_features[j][edge_feature_map["row_idx"]] = i
*/
      __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_row_features, __pyx_v_i, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_row_feature_map, __pyx_mstate_global->__pyx_n_u_n_non_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_t_3); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12452, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_15);
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_12 = __Pyx_PyIndex_AsSsize_t(__pyx_t_15); if (unlikely((__pyx_t_12 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(2, 12452, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __pyx_t_20 = __pyx_t_12;
      for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_20; __pyx_t_11+=1) {
        __pyx_v_k = __pyx_t_11;

        /* "src/pyscipopt/scip.pxi":12453
 *                 row_vals = SCIProwGetVals(rows[i])
 *                 for k in range(row_features[i][row_feature_map["n_non_zeros"]]):
 *                     edge_features[j][edge_feature_map["col_idx"]] = SCIPcolGetLPPos(row_cols[k])             # <<<<<<<<<<<<<<
 *                     edge_features[j][edge_feature_map["row_idx"]] = i
 *                     edge_features[j][edge_feature_map["coef"]] = row_vals[k]
*/
        __pyx_t_15 = __Pyx_PyLong_From_int(SCIPcolGetLPPos((__pyx_v_row_cols[__pyx_v_k]))); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12453, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_edge_features, __pyx_v_j, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12453, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_edge_feature_map, __pyx_mstate_global->__pyx_n_u_col_idx); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12453, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_t_14, __pyx_t_15) < 0))) __PYX_ERR(2, 12453, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

        /* "src/pyscipopt/scip.pxi":12454
 *                 for k in range(row_features[i][row_feature_map["n_non_zeros"]]):
 *                     edge_features[j][edge_feature_map["col_idx"]] = SCIPcolGetLPPos(row_cols[k])
 *                     edge_features[j][edge_feature_map["row_idx"]] = i             # <<<<<<<<<<<<<<
 *                     edge_features[j][edge_feature_map["coef"]] = row_vals[k]
 *                     j += 1
*/
        __pyx_t_15 = __Pyx_PyLong_From_int(__pyx_v_i); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12454, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_edge_features, __pyx_v_j, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12454, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_edge_feature_map, __pyx_mstate_global->__pyx_n_u_row_idx); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12454, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        if (unlikely((PyObject_SetItem(__pyx_t_14, __pyx_t_3, __pyx_t_15) < 0))) __PYX_ERR(2, 12454, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

        /* "src/pyscipopt/scip.pxi":12455
 *                     edge_features[j][edge_feature_map["col_idx"]] = SCIPcolGetLPPos(row_cols[k])
 *                     edge_features[j][edge_feature_map["row_idx"]] = i
 *                     edge_features[j][edge_feature_map["coef"]] = row_vals[k]             # <<<<<<<<<<<<<<
 *                     j += 1
 *         else:
*/
        __pyx_t_15 = PyFloat_FromDouble((__pyx_v_row_vals[__pyx_v_k])); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12455, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_edge_features, __pyx_v_j, int, 1, __Pyx_PyLong_From_int, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12455, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_edge_feature_map, __pyx_mstate_global->__pyx_n_u_coef); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12455, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        if (unlikely((PyObject_SetItem(__pyx_t_3, __pyx_t_14, __pyx_t_15) < 0))) __PYX_ERR(2, 12455, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

        /* "src/pyscipopt/scip.pxi":12456
 *                     edge_features[j][edge_feature_map["row_idx"]] = i
 *                     edge_features[j][edge_feature_map["coef"]] = row_vals[k]
 *                     j += 1             # <<<<<<<<<<<<<<
 *         else:
 *             assert len(prev_edge_features) > 0, "Previous edge features is empty"
*/
        __pyx_v_j = (__pyx_v_j + 1);
      }
    }

    /* "src/pyscipopt/scip.pxi":12445
 *         n_edge_features = 3
 *         edge_feature_map = {"col_idx": 0, "row_idx": 1, "coef": 2}
 *         if prev_edge_features is None:             # <<<<<<<<<<<<<<
 *             edge_features = [[0 for i in range(n_edge_features)] for j in range(nnzrs)]
 *             j = 0
*/
    goto __pyx_L46;
  }

  /* "src/pyscipopt/scip.pxi":12458
 *                     j += 1
 *         else:
 *             assert len(prev_edge_features) > 0, "Previous edge features is empty"             # <<<<<<<<<<<<<<
 *             edge_features = prev_edge_features
 *             if len(prev_edge_features) != nnzrs:
*/
  /*else*/ {
    #ifndef CYTHON_WITHOUT_ASSERTIONS
    if (unlikely(__pyx_assertions_enabled())) {
      __pyx_t_12 = PyObject_Length(__pyx_v_prev_edge_features); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12458, __pyx_L1_error)
      __pyx_t_2 = (__pyx_t_12 > 0);
      if (unlikely(!__pyx_t_2)) {
        __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), __pyx_mstate_global->__pyx_kp_u_Previous_edge_features_is_empty, 0, 0);
        __PYX_ERR(2, 12458, __pyx_L1_error)
      }
    }
    #else
    if ((1)); else __PYX_ERR(2, 12458, __pyx_L1_error)
    #endif

    /* "src/pyscipopt/scip.pxi":12459
 *         else:
 *             assert len(prev_edge_features) > 0, "Previous edge features is empty"
 *             edge_features = prev_edge_features             # <<<<<<<<<<<<<<
 *             if len(prev_edge_features) != nnzrs:
 *                 if not suppress_warnings:
*/
    __Pyx_INCREF(__pyx_v_prev_edge_features);
    __pyx_v_edge_features = __pyx_v_prev_edge_features;

    /* "src/pyscipopt/scip.pxi":12460
 *             assert len(prev_edge_features) > 0, "Previous edge features is empty"
 *             edge_features = prev_edge_features
 *             if len(prev_edge_features) != nnzrs:             # <<<<<<<<<<<<<<
 *                 if not suppress_warnings:
 *                     raise Warning(f"The number of coefficients in the LP has changed. Previous edge data being ignored")
*/
    __pyx_t_12 = PyObject_Length(__pyx_v_prev_edge_features); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12460, __pyx_L1_error)
    __pyx_t_2 = (__pyx_t_12 != __pyx_v_nnzrs);
    if (__pyx_t_2) {

      /* "src/pyscipopt/scip.pxi":12461
 *             edge_features = prev_edge_features
 *             if len(prev_edge_features) != nnzrs:
 *                 if not suppress_warnings:             # <<<<<<<<<<<<<<
 *                     raise Warning(f"The number of coefficients in the LP has changed. Previous edge data being ignored")
 *                 else:
*/
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_suppress_warnings); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(2, 12461, __pyx_L1_error)
      __pyx_t_13 = (!__pyx_t_2);
      if (unlikely(__pyx_t_13)) {

        /* "src/pyscipopt/scip.pxi":12462
 *             if len(prev_edge_features) != nnzrs:
 *                 if not suppress_warnings:
 *                     raise Warning(f"The number of coefficients in the LP has changed. Previous edge data being ignored")             # <<<<<<<<<<<<<<
 *                 else:
 *                     edge_features = [[0 for i in range(3)] for j in range(nnzrs)]
*/
        __pyx_t_14 = NULL;
        __pyx_t_5 = 1;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_mstate_global->__pyx_kp_u_The_number_of_coefficients_in_th};
          __pyx_t_15 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12462, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_15);
        }
        __Pyx_Raise(__pyx_t_15, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
        __PYX_ERR(2, 12462, __pyx_L1_error)

        /* "src/pyscipopt/scip.pxi":12461
 *             edge_features = prev_edge_features
 *             if len(prev_edge_features) != nnzrs:
 *                 if not suppress_warnings:             # <<<<<<<<<<<<<<
 *                     raise Warning(f"The number of coefficients in the LP has changed. Previous edge data being ignored")
 *                 else:
*/
      }

      /* "src/pyscipopt/scip.pxi":12464
 *                     raise Warning(f"The number of coefficients in the LP has changed. Previous edge data being ignored")
 *                 else:
 *                     edge_features = [[0 for i in range(3)] for j in range(nnzrs)]             # <<<<<<<<<<<<<<
 *                     prev_edge_features = None
 *             if len(prev_edge_features[0]) != 3:
*/
      /*else*/ {
        { /* enter inner scope */
          __pyx_t_15 = PyList_New(0); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12464, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_15);
          __pyx_t_6 = __pyx_v_nnzrs;
          __pyx_t_7 = __pyx_t_6;
          for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
            __pyx_9genexpr68__pyx_v_j = __pyx_t_8;
            { /* enter inner scope */
              __pyx_t_14 = PyList_New(0); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12464, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              for (__pyx_t_11 = 0; __pyx_t_11 < 3; __pyx_t_11+=1) {
                __pyx_9genexpr69__pyx_v_i = __pyx_t_11;
                if (unlikely(__Pyx_ListComp_Append(__pyx_t_14, (PyObject*)__pyx_mstate_global->__pyx_int_0))) __PYX_ERR(2, 12464, __pyx_L1_error)
              }
            } /* exit inner scope */
            if (unlikely(__Pyx_ListComp_Append(__pyx_t_15, (PyObject*)__pyx_t_14))) __PYX_ERR(2, 12464, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          }
        } /* exit inner scope */
        __Pyx_DECREF_SET(__pyx_v_edge_features, __pyx_t_15);
        __pyx_t_15 = 0;

        /* "src/pyscipopt/scip.pxi":12465
 *                 else:
 *                     edge_features = [[0 for i in range(3)] for j in range(nnzrs)]
 *                     prev_edge_features = None             # <<<<<<<<<<<<<<
 *             if len(prev_edge_features[0]) != 3:
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"
*/
        __Pyx_INCREF(Py_None);
        __Pyx_DECREF_SET(__pyx_v_prev_edge_features, Py_None);
      }

      /* "src/pyscipopt/scip.pxi":12460
 *             assert len(prev_edge_features) > 0, "Previous edge features is empty"
 *             edge_features = prev_edge_features
 *             if len(prev_edge_features) != nnzrs:             # <<<<<<<<<<<<<<
 *                 if not suppress_warnings:
 *                     raise Warning(f"The number of coefficients in the LP has changed. Previous edge data being ignored")
*/
    }

    /* "src/pyscipopt/scip.pxi":12466
 *                     edge_features = [[0 for i in range(3)] for j in range(nnzrs)]
 *                     prev_edge_features = None
 *             if len(prev_edge_features[0]) != 3:             # <<<<<<<<<<<<<<
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"
 *                               f"{len(prev_edge_features[0])} != 3")
*/
    __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_prev_edge_features, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12466, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_12 = PyObject_Length(__pyx_t_15); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12466, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
    __pyx_t_13 = (__pyx_t_12 != 3);
    if (unlikely(__pyx_t_13)) {

      /* "src/pyscipopt/scip.pxi":12467
 *                     prev_edge_features = None
 *             if len(prev_edge_features[0]) != 3:
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"             # <<<<<<<<<<<<<<
 *                               f"{len(prev_edge_features[0])} != 3")
 * 
*/
      __pyx_t_14 = NULL;

      /* "src/pyscipopt/scip.pxi":12468
 *             if len(prev_edge_features[0]) != 3:
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"
 *                               f"{len(prev_edge_features[0])} != 3")             # <<<<<<<<<<<<<<
 * 
 *         return (col_features, edge_features, row_features,
*/
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_prev_edge_features, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_12 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 12468, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_12, 0, ' ', 'd'); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 12468, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_21[0] = __pyx_mstate_global->__pyx_kp_u_Dimension_mismatch_in_provided_p;
      __pyx_t_21[1] = __pyx_t_3;
      __pyx_t_21[2] = __pyx_mstate_global->__pyx_kp_u_3;

      /* "src/pyscipopt/scip.pxi":12467
 *                     prev_edge_features = None
 *             if len(prev_edge_features[0]) != 3:
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"             # <<<<<<<<<<<<<<
 *                               f"{len(prev_edge_features[0])} != 3")
 * 
*/
      __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_21, 3, 66 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 5, 127);
      if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12467, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_5 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_t_4};
        __pyx_t_15 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_Warning)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12467, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
      }
      __Pyx_Raise(__pyx_t_15, 0, 0, 0);
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      __PYX_ERR(2, 12467, __pyx_L1_error)

      /* "src/pyscipopt/scip.pxi":12466
 *                     edge_features = [[0 for i in range(3)] for j in range(nnzrs)]
 *                     prev_edge_features = None
 *             if len(prev_edge_features[0]) != 3:             # <<<<<<<<<<<<<<
 *                 raise Warning(f"Dimension mismatch in provided previous features and new features:"
 *                               f"{len(prev_edge_features[0])} != 3")
*/
    }
  }
  __pyx_L46:;

  /* "src/pyscipopt/scip.pxi":12470
 *                               f"{len(prev_edge_features[0])} != 3")
 * 
 *         return (col_features, edge_features, row_features,             # <<<<<<<<<<<<<<
 *                 {"col": col_feature_map, "edge": edge_feature_map, "row": row_feature_map})
 * 
*/
  __Pyx_XDECREF(__pyx_r);

  /* "src/pyscipopt/scip.pxi":12471
 * 
 *         return (col_features, edge_features, row_features,
 *                 {"col": col_feature_map, "edge": edge_feature_map, "row": row_feature_map})             # <<<<<<<<<<<<<<
 * 
 * @dataclass
*/
  __pyx_t_15 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_15);
  if (PyDict_SetItem(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_col, __pyx_v_col_feature_map) < (0)) __PYX_ERR(2, 12471, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_edge, __pyx_v_edge_feature_map) < (0)) __PYX_ERR(2, 12471, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_15, __pyx_mstate_global->__pyx_n_u_row, __pyx_v_row_feature_map) < (0)) __PYX_ERR(2, 12471, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":12470
 *                               f"{len(prev_edge_features[0])} != 3")
 * 
 *         return (col_features, edge_features, row_features,             # <<<<<<<<<<<<<<
 *                 {"col": col_feature_map, "edge": edge_feature_map, "row": row_feature_map})
 * 
*/
  __pyx_t_4 = PyTuple_New(4); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_INCREF(__pyx_v_col_features);
  __Pyx_GIVEREF(__pyx_v_col_features);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_col_features) != (0)) __PYX_ERR(2, 12470, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_edge_features);
  __Pyx_GIVEREF(__pyx_v_edge_features);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_edge_features) != (0)) __PYX_ERR(2, 12470, __pyx_L1_error);
  __Pyx_INCREF(__pyx_v_row_features);
  __Pyx_GIVEREF(__pyx_v_row_features);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_row_features) != (0)) __PYX_ERR(2, 12470, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_t_15);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_15) != (0)) __PYX_ERR(2, 12470, __pyx_L1_error);
  __pyx_t_15 = 0;
  __pyx_r = __pyx_t_4;
  __pyx_t_4 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12200
 *         PY_SCIP_CALL(SCIPaddRowExact(self._scip, rowexact.scip_row_exact))
 * 
 *     def getBipartiteGraphRepresentation(self, prev_col_features=None, prev_edge_features=None, prev_row_features=None,             # <<<<<<<<<<<<<<
 *                                         static_only=False, suppress_warnings=False):
 *         """
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_17);
  __Pyx_AddTraceback("pyscipopt.scip.Model.getBipartiteGraphRepresentation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_col_feature_map);
  __Pyx_XDECREF(__pyx_v_col_features);
  __Pyx_XDECREF(__pyx_v_row_feature_map);
  __Pyx_XDECREF(__pyx_v_row_features);
  __Pyx_XDECREF(__pyx_v_activity);
  __Pyx_XDECREF(__pyx_v_edge_feature_map);
  __Pyx_XDECREF(__pyx_v_edge_features);
  __Pyx_XDECREF(__pyx_v_prev_col_features);
  __Pyx_XDECREF(__pyx_v_prev_edge_features);
  __Pyx_XDECREF(__pyx_v_prev_row_features);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "pyscipopt/scip.pxd":2233
 *     cdef Solution _bestSol
 *     # can be used to store problem data
 *     cdef public object data             # <<<<<<<<<<<<<<
 *     # make Model weak referentiable
 *     cdef object __weakref__
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_4data_1__get__(PyObject *__pyx_v_self); /*proto*/
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_4data_1__get__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_4data___get__(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_4data___get__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__get__", 0);
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_self->data);
  __pyx_r = __pyx_v_self->data;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_5Model_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_5Model_4data_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_4data_2__set__(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), ((PyObject *)__pyx_v_value));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_5Model_4data_2__set__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, PyObject *__pyx_v_value) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__set__", 0);
  __Pyx_INCREF(__pyx_v_value);
  __Pyx_GIVEREF(__pyx_v_value);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = __pyx_v_value;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static int __pyx_pw_9pyscipopt_4scip_5Model_4data_5__del__(PyObject *__pyx_v_self); /*proto*/
static int __pyx_pw_9pyscipopt_4scip_5Model_4data_5__del__(PyObject *__pyx_v_self) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_4data_4__del__(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static int __pyx_pf_9pyscipopt_4scip_5Model_4data_4__del__(struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__del__", 0);
  __Pyx_INCREF(Py_None);
  __Pyx_GIVEREF(Py_None);
  __Pyx_GOTREF(__pyx_v_self->data);
  __Pyx_DECREF(__pyx_v_self->data);
  __pyx_v_self->data = Py_None;

  /* function exit code */
  __pyx_r = 0;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._iis,self._scip,self._valid cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_849__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_849__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_849__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_849__reduce_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL; }
  const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
  if (unlikely(__pyx_kwds_len < 0)) return NULL;
  if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords("__reduce_cython__", __pyx_kwds); return NULL;}
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_848__reduce_cython__(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_848__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__reduce_cython__", 0);

  /* "(tree fragment)":2
 * def __reduce_cython__(self):
 *     raise TypeError, "self._iis,self._scip,self._valid cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self._iis,self._scip,self._valid cannot be converted to a Python object for pickling"
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self__iis_self__scip_self__valid, 0, 0);
  __PYX_ERR(5, 2, __pyx_L1_error)

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._iis,self._scip,self._valid cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Model.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self._iis,self._scip,self._valid cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._iis,self._scip,self._valid cannot be converted to a Python object for pickling"
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_851__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_5Model_851__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_851__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_5Model_851__setstate_cython__(PyObject *__pyx_v_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 3, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__setstate_cython__", 0) < (0)) __PYX_ERR(5, 3, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, i); __PYX_ERR(5, 3, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 3, __pyx_L3_error)
    }
    __pyx_v___pyx_state = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(5, 3, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Model.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_5Model_850__setstate_cython__(((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_v_self), __pyx_v___pyx_state);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_5Model_850__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_9pyscipopt_4scip_Model *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__setstate_cython__", 0);

  /* "(tree fragment)":4
 *     raise TypeError, "self._iis,self._scip,self._valid cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
 *     raise TypeError, "self._iis,self._scip,self._valid cannot be converted to a Python object for pickling"             # <<<<<<<<<<<<<<
*/
  __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_self__iis_self__scip_self__valid, 0, 0);
  __PYX_ERR(5, 4, __pyx_L1_error)

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self._iis,self._scip,self._valid cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._iis,self._scip,self._valid cannot be converted to a Python object for pickling"
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.Model.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12561
 *     # unpacking the _variables, _presolved_variables, _constraints
 *     # _presolved_constraints dictionaries
 *     @property             # <<<<<<<<<<<<<<
 *     def n_vars(self):
 *         return self._variables["total"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_1n_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_1n_vars = {"n_vars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_1n_vars, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_1n_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_vars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12561, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12561, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_vars", 0) < (0)) __PYX_ERR(2, 12561, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_vars", 1, 1, 1, i); __PYX_ERR(2, 12561, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12561, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_vars", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12561, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_n_vars(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_n_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_vars", 0);

  /* "src/pyscipopt/scip.pxi":12563
 *     @property
 *     def n_vars(self):
 *         return self._variables["total"]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_variables); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_total); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12563, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12561
 *     # unpacking the _variables, _presolved_variables, _constraints
 *     # _presolved_constraints dictionaries
 *     @property             # <<<<<<<<<<<<<<
 *     def n_vars(self):
 *         return self._variables["total"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12565
 *         return self._variables["total"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_binary_vars(self):
 *         return self._variables["binary"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_3n_binary_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_3n_binary_vars = {"n_binary_vars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_3n_binary_vars, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_3n_binary_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_binary_vars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12565, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12565, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_binary_vars", 0) < (0)) __PYX_ERR(2, 12565, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_binary_vars", 1, 1, 1, i); __PYX_ERR(2, 12565, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12565, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_binary_vars", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12565, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_binary_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_2n_binary_vars(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_2n_binary_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_binary_vars", 0);

  /* "src/pyscipopt/scip.pxi":12567
 *     @property
 *     def n_binary_vars(self):
 *         return self._variables["binary"]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_variables); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_binary); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12565
 *         return self._variables["total"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_binary_vars(self):
 *         return self._variables["binary"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_binary_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12569
 *         return self._variables["binary"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_integer_vars(self):
 *         return self._variables["integer"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_5n_integer_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_5n_integer_vars = {"n_integer_vars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_5n_integer_vars, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_5n_integer_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_integer_vars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12569, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12569, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_integer_vars", 0) < (0)) __PYX_ERR(2, 12569, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_integer_vars", 1, 1, 1, i); __PYX_ERR(2, 12569, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12569, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_integer_vars", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12569, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_integer_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_4n_integer_vars(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_4n_integer_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_integer_vars", 0);

  /* "src/pyscipopt/scip.pxi":12571
 *     @property
 *     def n_integer_vars(self):
 *         return self._variables["integer"]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_variables); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_integer); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12569
 *         return self._variables["binary"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_integer_vars(self):
 *         return self._variables["integer"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_integer_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12573
 *         return self._variables["integer"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_implicit_integer_vars(self):
 *         return self._variables["implicit"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_7n_implicit_integer_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_7n_implicit_integer_vars = {"n_implicit_integer_vars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_7n_implicit_integer_vars, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_7n_implicit_integer_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_implicit_integer_vars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12573, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12573, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_implicit_integer_vars", 0) < (0)) __PYX_ERR(2, 12573, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_implicit_integer_vars", 1, 1, 1, i); __PYX_ERR(2, 12573, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12573, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_implicit_integer_vars", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12573, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_implicit_integer_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_6n_implicit_integer_vars(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_6n_implicit_integer_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_implicit_integer_vars", 0);

  /* "src/pyscipopt/scip.pxi":12575
 *     @property
 *     def n_implicit_integer_vars(self):
 *         return self._variables["implicit"]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_variables); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_implicit); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12575, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12573
 *         return self._variables["integer"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_implicit_integer_vars(self):
 *         return self._variables["implicit"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_implicit_integer_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12577
 *         return self._variables["implicit"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_continuous_vars(self):
 *         return self._variables["continuous"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_9n_continuous_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_9n_continuous_vars = {"n_continuous_vars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_9n_continuous_vars, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_9n_continuous_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_continuous_vars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12577, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12577, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_continuous_vars", 0) < (0)) __PYX_ERR(2, 12577, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_continuous_vars", 1, 1, 1, i); __PYX_ERR(2, 12577, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12577, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_continuous_vars", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12577, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_continuous_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_8n_continuous_vars(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_8n_continuous_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_continuous_vars", 0);

  /* "src/pyscipopt/scip.pxi":12579
 *     @property
 *     def n_continuous_vars(self):
 *         return self._variables["continuous"]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_variables); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_continuous); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12579, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12577
 *         return self._variables["implicit"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_continuous_vars(self):
 *         return self._variables["continuous"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_continuous_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12581
 *         return self._variables["continuous"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_vars(self):
 *         return self._presolved_variables["total"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_11n_presolved_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_11n_presolved_vars = {"n_presolved_vars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_11n_presolved_vars, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_11n_presolved_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_presolved_vars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12581, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12581, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_presolved_vars", 0) < (0)) __PYX_ERR(2, 12581, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_presolved_vars", 1, 1, 1, i); __PYX_ERR(2, 12581, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12581, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_presolved_vars", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12581, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_10n_presolved_vars(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_10n_presolved_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_presolved_vars", 0);

  /* "src/pyscipopt/scip.pxi":12583
 *     @property
 *     def n_presolved_vars(self):
 *         return self._presolved_variables["total"]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_presolved_variables); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_total); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12581
 *         return self._variables["continuous"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_vars(self):
 *         return self._presolved_variables["total"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12585
 *         return self._presolved_variables["total"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_binary_vars(self):
 *         return self._presolved_variables["binary"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_13n_presolved_binary_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_13n_presolved_binary_vars = {"n_presolved_binary_vars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_13n_presolved_binary_vars, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_13n_presolved_binary_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_presolved_binary_vars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12585, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12585, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_presolved_binary_vars", 0) < (0)) __PYX_ERR(2, 12585, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_presolved_binary_vars", 1, 1, 1, i); __PYX_ERR(2, 12585, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12585, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_presolved_binary_vars", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12585, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_binary_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_12n_presolved_binary_vars(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_12n_presolved_binary_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_presolved_binary_vars", 0);

  /* "src/pyscipopt/scip.pxi":12587
 *     @property
 *     def n_presolved_binary_vars(self):
 *         return self._presolved_variables["binary"]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_presolved_variables); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_binary); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12585
 *         return self._presolved_variables["total"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_binary_vars(self):
 *         return self._presolved_variables["binary"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_binary_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12589
 *         return self._presolved_variables["binary"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_integer_vars(self):
 *         return self._presolved_variables["integer"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_15n_presolved_integer_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_15n_presolved_integer_vars = {"n_presolved_integer_vars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_15n_presolved_integer_vars, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_15n_presolved_integer_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_presolved_integer_vars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12589, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12589, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_presolved_integer_vars", 0) < (0)) __PYX_ERR(2, 12589, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_presolved_integer_vars", 1, 1, 1, i); __PYX_ERR(2, 12589, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12589, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_presolved_integer_vars", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12589, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_integer_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_14n_presolved_integer_vars(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_14n_presolved_integer_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_presolved_integer_vars", 0);

  /* "src/pyscipopt/scip.pxi":12591
 *     @property
 *     def n_presolved_integer_vars(self):
 *         return self._presolved_variables["integer"]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_presolved_variables); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_integer); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12591, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12589
 *         return self._presolved_variables["binary"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_integer_vars(self):
 *         return self._presolved_variables["integer"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_integer_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12593
 *         return self._presolved_variables["integer"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_implicit_integer_vars(self):
 *         return self._presolved_variables["implicit"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_17n_presolved_implicit_integer_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_17n_presolved_implicit_integer_vars = {"n_presolved_implicit_integer_vars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_17n_presolved_implicit_integer_vars, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_17n_presolved_implicit_integer_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_presolved_implicit_integer_vars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12593, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12593, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_presolved_implicit_integer_vars", 0) < (0)) __PYX_ERR(2, 12593, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_presolved_implicit_integer_vars", 1, 1, 1, i); __PYX_ERR(2, 12593, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12593, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_presolved_implicit_integer_vars", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12593, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_implicit_integer_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_16n_presolved_implicit_integer_vars(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_16n_presolved_implicit_integer_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_presolved_implicit_integer_vars", 0);

  /* "src/pyscipopt/scip.pxi":12595
 *     @property
 *     def n_presolved_implicit_integer_vars(self):
 *         return self._presolved_variables["implicit"]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_presolved_variables); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_implicit); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12593
 *         return self._presolved_variables["integer"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_implicit_integer_vars(self):
 *         return self._presolved_variables["implicit"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_implicit_integer_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12597
 *         return self._presolved_variables["implicit"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_continuous_vars(self):
 *         return self._presolved_variables["continuous"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_19n_presolved_continuous_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_19n_presolved_continuous_vars = {"n_presolved_continuous_vars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_19n_presolved_continuous_vars, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_19n_presolved_continuous_vars(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_presolved_continuous_vars (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12597, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12597, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_presolved_continuous_vars", 0) < (0)) __PYX_ERR(2, 12597, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_presolved_continuous_vars", 1, 1, 1, i); __PYX_ERR(2, 12597, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12597, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_presolved_continuous_vars", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12597, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_continuous_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_18n_presolved_continuous_vars(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_18n_presolved_continuous_vars(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_presolved_continuous_vars", 0);

  /* "src/pyscipopt/scip.pxi":12599
 *     @property
 *     def n_presolved_continuous_vars(self):
 *         return self._presolved_variables["continuous"]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_presolved_variables); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_continuous); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12597
 *         return self._presolved_variables["implicit"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_continuous_vars(self):
 *         return self._presolved_variables["continuous"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_continuous_vars", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12601
 *         return self._presolved_variables["continuous"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_conss(self):
 *         return self._constraints["initial"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_21n_conss(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_21n_conss = {"n_conss", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_21n_conss, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_21n_conss(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_conss (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12601, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12601, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_conss", 0) < (0)) __PYX_ERR(2, 12601, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_conss", 1, 1, 1, i); __PYX_ERR(2, 12601, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12601, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_conss", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12601, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_conss", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_20n_conss(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_20n_conss(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_conss", 0);

  /* "src/pyscipopt/scip.pxi":12603
 *     @property
 *     def n_conss(self):
 *         return self._constraints["initial"]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_constraints_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_initial); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12603, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12601
 *         return self._presolved_variables["continuous"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_conss(self):
 *         return self._constraints["initial"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_conss", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12605
 *         return self._constraints["initial"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_maximal_cons(self):
 *         return self._constraints["maximal"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_23n_maximal_cons(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_23n_maximal_cons = {"n_maximal_cons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_23n_maximal_cons, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_23n_maximal_cons(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_maximal_cons (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12605, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12605, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_maximal_cons", 0) < (0)) __PYX_ERR(2, 12605, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_maximal_cons", 1, 1, 1, i); __PYX_ERR(2, 12605, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12605, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_maximal_cons", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12605, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_maximal_cons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_22n_maximal_cons(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_22n_maximal_cons(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_maximal_cons", 0);

  /* "src/pyscipopt/scip.pxi":12607
 *     @property
 *     def n_maximal_cons(self):
 *         return self._constraints["maximal"]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_constraints_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_maximal); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12605
 *         return self._constraints["initial"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_maximal_cons(self):
 *         return self._constraints["maximal"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_maximal_cons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12609
 *         return self._constraints["maximal"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_conss(self):
 *         return self._presolved_constraints["initial"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_25n_presolved_conss(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_25n_presolved_conss = {"n_presolved_conss", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_25n_presolved_conss, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_25n_presolved_conss(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_presolved_conss (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12609, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12609, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_presolved_conss", 0) < (0)) __PYX_ERR(2, 12609, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_presolved_conss", 1, 1, 1, i); __PYX_ERR(2, 12609, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12609, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_presolved_conss", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12609, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_conss", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_24n_presolved_conss(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_24n_presolved_conss(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_presolved_conss", 0);

  /* "src/pyscipopt/scip.pxi":12611
 *     @property
 *     def n_presolved_conss(self):
 *         return self._presolved_constraints["initial"]             # <<<<<<<<<<<<<<
 * 
 *     @property
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_presolved_constraints); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_initial); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12609
 *         return self._constraints["maximal"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_conss(self):
 *         return self._presolved_constraints["initial"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_conss", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12613
 *         return self._presolved_constraints["initial"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_maximal_cons(self):
 *         return self._presolved_constraints["maximal"]
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_27n_presolved_maximal_cons(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_10Statistics_27n_presolved_maximal_cons = {"n_presolved_maximal_cons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Statistics_27n_presolved_maximal_cons, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_10Statistics_27n_presolved_maximal_cons(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_self = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("n_presolved_maximal_cons (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_self,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12613, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12613, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "n_presolved_maximal_cons", 0) < (0)) __PYX_ERR(2, 12613, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("n_presolved_maximal_cons", 1, 1, 1, i); __PYX_ERR(2, 12613, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12613, __pyx_L3_error)
    }
    __pyx_v_self = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("n_presolved_maximal_cons", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12613, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_maximal_cons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_10Statistics_26n_presolved_maximal_cons(__pyx_self, __pyx_v_self);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_10Statistics_26n_presolved_maximal_cons(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("n_presolved_maximal_cons", 0);

  /* "src/pyscipopt/scip.pxi":12615
 *     @property
 *     def n_presolved_maximal_cons(self):
 *         return self._presolved_constraints["maximal"]             # <<<<<<<<<<<<<<
 * 
 * def readStatistics(filename):
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_mstate_global->__pyx_n_u_presolved_constraints); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_maximal); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12613
 *         return self._presolved_constraints["initial"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_maximal_cons(self):
 *         return self._presolved_constraints["maximal"]
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("pyscipopt.scip.Statistics.n_presolved_maximal_cons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12617
 *         return self._presolved_constraints["maximal"]
 * 
 * def readStatistics(filename):             # <<<<<<<<<<<<<<
 *         """
 *         Given a .stats file of a solved model, reads it and returns an instance of the Statistics class
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_35readStatistics(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
PyDoc_STRVAR(__pyx_doc_9pyscipopt_4scip_34readStatistics, "\n        Given a .stats file of a solved model, reads it and returns an instance of the Statistics class\n        holding some statistics.\n\n        Parameters\n        ----------\n        filename : str\n            name of the input file\n\n        Returns\n        -------\n        Statistics\n\n        ");
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_35readStatistics = {"readStatistics", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_35readStatistics, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_34readStatistics};
static PyObject *__pyx_pw_9pyscipopt_4scip_35readStatistics(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v_filename = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[1] = {0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("readStatistics (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_filename,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(2, 12617, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12617, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "readStatistics", 0) < (0)) __PYX_ERR(2, 12617, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("readStatistics", 1, 1, 1, i); __PYX_ERR(2, 12617, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 1)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(2, 12617, __pyx_L3_error)
    }
    __pyx_v_filename = values[0];
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("readStatistics", 1, 1, 1, __pyx_nargs); __PYX_ERR(2, 12617, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.readStatistics", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9pyscipopt_4scip_34readStatistics(__pyx_self, __pyx_v_filename);

  /* function exit code */
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
static PyObject *__pyx_gb_9pyscipopt_4scip_14readStatistics_2generator12(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */

/* "src/pyscipopt/scip.pxi":12735
 *                 treated_keys["Gap"]         = "gap"
 *                 treated_keys["primal-dual"]     = "primal_dual_integral"
 *         treated_result = dict((treated_keys[key], value) for (key, value) in result.items())             # <<<<<<<<<<<<<<
 * 
 *         stats = Statistics(**treated_result)
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_14readStatistics_genexpr(PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr *__pyx_cur_scope;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("genexpr", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_16_genexpr(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(2, 12735, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }
  __pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics *) __pyx_self;
  __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_outer_scope);
  __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
  __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
  {
    __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_9pyscipopt_4scip_14readStatistics_2generator12, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[21]), (PyObject *) __pyx_cur_scope, __pyx_mstate_global->__pyx_n_u_genexpr, __pyx_mstate_global->__pyx_n_u_readStatistics_locals_genexpr, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip); if (unlikely(!gen)) __PYX_ERR(2, 12735, __pyx_L1_error)
    __Pyx_DECREF(__pyx_cur_scope);
    __Pyx_RefNannyFinishContext();
    return (PyObject *) gen;
  }

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.readStatistics.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_gb_9pyscipopt_4scip_14readStatistics_2generator12(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr *__pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr *)__pyx_generator->closure);
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  Py_ssize_t __pyx_t_3;
  int __pyx_t_4;
  PyObject *__pyx_t_5 = NULL;
  PyObject *__pyx_t_6 = NULL;
  int __pyx_t_7;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("genexpr", 0);
  switch (__pyx_generator->resume_label) {
    case 0: goto __pyx_L3_first_run;
    default: /* CPython raises the right error here */
    __Pyx_RefNannyFinishContext();
    return NULL;
  }
  __pyx_L3_first_run:;
  if (unlikely(!__pyx_sent_value)) __PYX_ERR(2, 12735, __pyx_L1_error)
  __pyx_r = PyDict_New(); if (unlikely(!__pyx_r)) __PYX_ERR(2, 12735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_r);
  __pyx_t_2 = 0;
  if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(2, 12735, __pyx_L1_error) }
  __pyx_t_5 = __Pyx_dict_iterator(__pyx_cur_scope->__pyx_genexpr_arg_0, 1, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 12735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_1);
  __pyx_t_1 = __pyx_t_5;
  __pyx_t_5 = 0;
  while (1) {
    __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
    if (unlikely(__pyx_t_7 == 0)) break;
    if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(2, 12735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_5);
    __Pyx_GOTREF(__pyx_t_6);
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_key);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_key, __pyx_t_5);
    __Pyx_GIVEREF(__pyx_t_5);
    __pyx_t_5 = 0;
    __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_value);
    __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_value, __pyx_t_6);
    __Pyx_GIVEREF(__pyx_t_6);
    __pyx_t_6 = 0;
    if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_treated_keys)) { __Pyx_RaiseClosureNameError("treated_keys"); __PYX_ERR(2, 12735, __pyx_L1_error) }
    if (unlikely(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_treated_keys == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
      __PYX_ERR(2, 12735, __pyx_L1_error)
    }
    __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_treated_keys, __pyx_cur_scope->__pyx_v_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 12735, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_6);
    if (unlikely(PyDict_SetItem(__pyx_r, (PyObject*)__pyx_t_6, (PyObject*)__pyx_cur_scope->__pyx_v_value))) __PYX_ERR(2, 12735, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  if (__Pyx_PyErr_Occurred()) {
    __Pyx_Generator_Replace_StopIteration(0);
    __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  }
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  #if !CYTHON_USE_EXC_INFO_STACK
  __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
  #endif
  __pyx_generator->resume_label = -1;
  __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12617
 *         return self._presolved_constraints["maximal"]
 * 
 * def readStatistics(filename):             # <<<<<<<<<<<<<<
 *         """
 *         Given a .stats file of a solved model, reads it and returns an instance of the Statistics class
*/

static PyObject *__pyx_pf_9pyscipopt_4scip_34readStatistics(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics *__pyx_cur_scope;
  int __pyx_v_i;
  PyObject *__pyx_v_result = NULL;
  PyObject *__pyx_v_file = NULL;
  PyObject *__pyx_v_data = NULL;
  PyObject *__pyx_v_available_stats = NULL;
  PyObject *__pyx_v_seen_cons = NULL;
  PyObject *__pyx_v_line = NULL;
  PyObject *__pyx_v_split_line = NULL;
  PyObject *__pyx_v_stat_name = NULL;
  PyObject *__pyx_v_relevant_value = NULL;
  PyObject *__pyx_v_var_stats = NULL;
  PyObject *__pyx_v_split_var = NULL;
  PyObject *__pyx_v_var_type = NULL;
  PyObject *__pyx_v_split_result = NULL;
  PyObject *__pyx_v_con_stats = NULL;
  PyObject *__pyx_v_split_con = NULL;
  PyObject *__pyx_v_con_type = NULL;
  PyObject *__pyx_v_treated_result = NULL;
  PyObject *__pyx_v_stats = NULL;
  PyObject *__pyx_gb_9pyscipopt_4scip_14readStatistics_2generator12 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  size_t __pyx_t_3;
  int __pyx_t_4;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  int __pyx_t_8;
  int __pyx_t_9;
  int __pyx_t_10;
  int __pyx_t_11;
  Py_ssize_t __pyx_t_12;
  PyObject *(*__pyx_t_13)(PyObject *);
  PyObject *__pyx_t_14 = NULL;
  PyObject *__pyx_t_15 = NULL;
  Py_ssize_t __pyx_t_16;
  PyObject *(*__pyx_t_17)(PyObject *);
  PyObject *__pyx_t_18 = NULL;
  PyObject *__pyx_t_19 = NULL;
  long __pyx_t_20;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("readStatistics", 0);
  __pyx_cur_scope = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics, __pyx_mstate_global->__pyx_empty_tuple, NULL);
  if (unlikely(!__pyx_cur_scope)) {
    __pyx_cur_scope = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics *)Py_None);
    __Pyx_INCREF(Py_None);
    __PYX_ERR(2, 12617, __pyx_L1_error)
  } else {
    __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
  }

  /* "src/pyscipopt/scip.pxi":12634
 *         cdef int i
 * 
 *         result = {}             # <<<<<<<<<<<<<<
 *         file = open(filename)
 *         data = file.readlines()
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12634, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_v_result = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":12635
 * 
 *         result = {}
 *         file = open(filename)             # <<<<<<<<<<<<<<
 *         data = file.readlines()
 * 
*/
  __pyx_t_2 = NULL;
  __pyx_t_3 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_filename};
    __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_open, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12635, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_file = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":12636
 *         result = {}
 *         file = open(filename)
 *         data = file.readlines()             # <<<<<<<<<<<<<<
 * 
 *         if "optimal solution found" in data[0]:
*/
  __pyx_t_2 = __pyx_v_file;
  __Pyx_INCREF(__pyx_t_2);
  __pyx_t_3 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
    __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_readlines, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12636, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
  }
  __pyx_v_data = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":12638
 *         data = file.readlines()
 * 
 *         if "optimal solution found" in data[0]:             # <<<<<<<<<<<<<<
 *             result["status"] = "optimal"
 *         elif "infeasible" in data[0]:
*/
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_data, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_kp_u_optimal_solution_found, __pyx_t_1, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 12638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_4) {

    /* "src/pyscipopt/scip.pxi":12639
 * 
 *         if "optimal solution found" in data[0]:
 *             result["status"] = "optimal"             # <<<<<<<<<<<<<<
 *         elif "infeasible" in data[0]:
 *             result["status"] = "infeasible"
*/
    if (unlikely((PyDict_SetItem(__pyx_v_result, __pyx_mstate_global->__pyx_n_u_status, __pyx_mstate_global->__pyx_n_u_optimal) < 0))) __PYX_ERR(2, 12639, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":12638
 *         data = file.readlines()
 * 
 *         if "optimal solution found" in data[0]:             # <<<<<<<<<<<<<<
 *             result["status"] = "optimal"
 *         elif "infeasible" in data[0]:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":12640
 *         if "optimal solution found" in data[0]:
 *             result["status"] = "optimal"
 *         elif "infeasible" in data[0]:             # <<<<<<<<<<<<<<
 *             result["status"] = "infeasible"
 *         elif "unbounded" in data[0]:
*/
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_data, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12640, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_n_u_infeasible, __pyx_t_1, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 12640, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_4) {

    /* "src/pyscipopt/scip.pxi":12641
 *             result["status"] = "optimal"
 *         elif "infeasible" in data[0]:
 *             result["status"] = "infeasible"             # <<<<<<<<<<<<<<
 *         elif "unbounded" in data[0]:
 *             result["status"] = "unbounded"
*/
    if (unlikely((PyDict_SetItem(__pyx_v_result, __pyx_mstate_global->__pyx_n_u_status, __pyx_mstate_global->__pyx_n_u_infeasible) < 0))) __PYX_ERR(2, 12641, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":12640
 *         if "optimal solution found" in data[0]:
 *             result["status"] = "optimal"
 *         elif "infeasible" in data[0]:             # <<<<<<<<<<<<<<
 *             result["status"] = "infeasible"
 *         elif "unbounded" in data[0]:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":12642
 *         elif "infeasible" in data[0]:
 *             result["status"] = "infeasible"
 *         elif "unbounded" in data[0]:             # <<<<<<<<<<<<<<
 *             result["status"] = "unbounded"
 *         elif "limit reached" in data[0]:
*/
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_data, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12642, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_n_u_unbounded, __pyx_t_1, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 12642, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (__pyx_t_4) {

    /* "src/pyscipopt/scip.pxi":12643
 *             result["status"] = "infeasible"
 *         elif "unbounded" in data[0]:
 *             result["status"] = "unbounded"             # <<<<<<<<<<<<<<
 *         elif "limit reached" in data[0]:
 *             result["status"] = "user_interrupt"
*/
    if (unlikely((PyDict_SetItem(__pyx_v_result, __pyx_mstate_global->__pyx_n_u_status, __pyx_mstate_global->__pyx_n_u_unbounded) < 0))) __PYX_ERR(2, 12643, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":12642
 *         elif "infeasible" in data[0]:
 *             result["status"] = "infeasible"
 *         elif "unbounded" in data[0]:             # <<<<<<<<<<<<<<
 *             result["status"] = "unbounded"
 *         elif "limit reached" in data[0]:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":12644
 *         elif "unbounded" in data[0]:
 *             result["status"] = "unbounded"
 *         elif "limit reached" in data[0]:             # <<<<<<<<<<<<<<
 *             result["status"] = "user_interrupt"
 *         else:
*/
  __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_data, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12644, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_kp_u_limit_reached, __pyx_t_1, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 12644, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (likely(__pyx_t_4)) {

    /* "src/pyscipopt/scip.pxi":12645
 *             result["status"] = "unbounded"
 *         elif "limit reached" in data[0]:
 *             result["status"] = "user_interrupt"             # <<<<<<<<<<<<<<
 *         else:
 *             raise "readStatistics can only be called if the problem was solved"
*/
    if (unlikely((PyDict_SetItem(__pyx_v_result, __pyx_mstate_global->__pyx_n_u_status, __pyx_mstate_global->__pyx_n_u_user_interrupt) < 0))) __PYX_ERR(2, 12645, __pyx_L1_error)

    /* "src/pyscipopt/scip.pxi":12644
 *         elif "unbounded" in data[0]:
 *             result["status"] = "unbounded"
 *         elif "limit reached" in data[0]:             # <<<<<<<<<<<<<<
 *             result["status"] = "user_interrupt"
 *         else:
*/
    goto __pyx_L3;
  }

  /* "src/pyscipopt/scip.pxi":12647
 *             result["status"] = "user_interrupt"
 *         else:
 *             raise "readStatistics can only be called if the problem was solved"             # <<<<<<<<<<<<<<
 * 
 *         available_stats = ["Total Time", "solving", "presolving", "reading", "copying",
*/
  /*else*/ {
    __Pyx_Raise(__pyx_mstate_global->__pyx_kp_u_readStatistics_can_only_be_calle, 0, 0, 0);
    __PYX_ERR(2, 12647, __pyx_L1_error)
  }
  __pyx_L3:;

  /* "src/pyscipopt/scip.pxi":12649
 *             raise "readStatistics can only be called if the problem was solved"
 * 
 *         available_stats = ["Total Time", "solving", "presolving", "reading", "copying",             # <<<<<<<<<<<<<<
 *                 "Problem name", "Variables", "Constraints", "number of runs",
 *                 "nodes", "Solutions found"]
*/
  __pyx_t_1 = PyList_New(11); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12649, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Total_Time);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Total_Time);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_mstate_global->__pyx_kp_u_Total_Time) != (0)) __PYX_ERR(2, 12649, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_solving);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_solving);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_n_u_solving) != (0)) __PYX_ERR(2, 12649, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_presolving);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_presolving);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 2, __pyx_mstate_global->__pyx_n_u_presolving) != (0)) __PYX_ERR(2, 12649, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_reading);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_reading);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 3, __pyx_mstate_global->__pyx_n_u_reading) != (0)) __PYX_ERR(2, 12649, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_copying);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_copying);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 4, __pyx_mstate_global->__pyx_n_u_copying) != (0)) __PYX_ERR(2, 12649, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Problem_name);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Problem_name);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 5, __pyx_mstate_global->__pyx_kp_u_Problem_name) != (0)) __PYX_ERR(2, 12649, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Variables);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_Variables);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 6, __pyx_mstate_global->__pyx_n_u_Variables) != (0)) __PYX_ERR(2, 12649, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_Constraints);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_Constraints);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 7, __pyx_mstate_global->__pyx_n_u_Constraints) != (0)) __PYX_ERR(2, 12649, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_number_of_runs);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_number_of_runs);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 8, __pyx_mstate_global->__pyx_kp_u_number_of_runs) != (0)) __PYX_ERR(2, 12649, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_nodes);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_nodes);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 9, __pyx_mstate_global->__pyx_n_u_nodes) != (0)) __PYX_ERR(2, 12649, __pyx_L1_error);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_u_Solutions_found);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_u_Solutions_found);
  if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 10, __pyx_mstate_global->__pyx_kp_u_Solutions_found) != (0)) __PYX_ERR(2, 12649, __pyx_L1_error);
  __pyx_v_available_stats = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":12653
 *                 "nodes", "Solutions found"]
 * 
 *         if result["status"] in ["optimal", "user_interrupt"]:             # <<<<<<<<<<<<<<
 *             available_stats.extend(["First Solution", "Primal Bound", "Dual Bound", "Gap", "primal-dual"])
 * 
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result, __pyx_mstate_global->__pyx_n_u_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12653, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_optimal, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 12653, __pyx_L1_error)
  if (!__pyx_t_5) {
  } else {
    __pyx_t_4 = __pyx_t_5;
    goto __pyx_L5_bool_binop_done;
  }
  __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_user_interrupt, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 12653, __pyx_L1_error)
  __pyx_t_4 = __pyx_t_5;
  __pyx_L5_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_5 = __pyx_t_4;
  if (__pyx_t_5) {

    /* "src/pyscipopt/scip.pxi":12654
 * 
 *         if result["status"] in ["optimal", "user_interrupt"]:
 *             available_stats.extend(["First Solution", "Primal Bound", "Dual Bound", "Gap", "primal-dual"])             # <<<<<<<<<<<<<<
 * 
 *         seen_cons = 0
*/
    __pyx_t_6 = __Pyx_ListComp_Append(__pyx_v_available_stats, __pyx_mstate_global->__pyx_kp_u_First_Solution); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(2, 12654, __pyx_L1_error)
    __pyx_t_7 = __Pyx_ListComp_Append(__pyx_v_available_stats, __pyx_mstate_global->__pyx_kp_u_Primal_Bound); if (unlikely(__pyx_t_7 == ((int)-1))) __PYX_ERR(2, 12654, __pyx_L1_error)
    __pyx_t_8 = __Pyx_ListComp_Append(__pyx_v_available_stats, __pyx_mstate_global->__pyx_kp_u_Dual_Bound); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(2, 12654, __pyx_L1_error)
    __pyx_t_9 = __Pyx_ListComp_Append(__pyx_v_available_stats, __pyx_mstate_global->__pyx_n_u_Gap); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(2, 12654, __pyx_L1_error)
    __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_available_stats, __pyx_mstate_global->__pyx_kp_u_primal_dual); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(2, 12654, __pyx_L1_error)
    (void)((__pyx_t_6 | (__pyx_t_7 | (__pyx_t_8 | (__pyx_t_9 | __pyx_t_10)))));

    /* "src/pyscipopt/scip.pxi":12653
 *                 "nodes", "Solutions found"]
 * 
 *         if result["status"] in ["optimal", "user_interrupt"]:             # <<<<<<<<<<<<<<
 *             available_stats.extend(["First Solution", "Primal Bound", "Dual Bound", "Gap", "primal-dual"])
 * 
*/
  }

  /* "src/pyscipopt/scip.pxi":12656
 *             available_stats.extend(["First Solution", "Primal Bound", "Dual Bound", "Gap", "primal-dual"])
 * 
 *         seen_cons = 0             # <<<<<<<<<<<<<<
 *         for i, line in enumerate(data):
 *             if line == "\n":
*/
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
  __pyx_v_seen_cons = __pyx_mstate_global->__pyx_int_0;

  /* "src/pyscipopt/scip.pxi":12657
 * 
 *         seen_cons = 0
 *         for i, line in enumerate(data):             # <<<<<<<<<<<<<<
 *             if line == "\n":
 *                 continue
*/
  __pyx_t_11 = 0;
  if (likely(PyList_CheckExact(__pyx_v_data)) || PyTuple_CheckExact(__pyx_v_data)) {
    __pyx_t_1 = __pyx_v_data; __Pyx_INCREF(__pyx_t_1);
    __pyx_t_12 = 0;
    __pyx_t_13 = NULL;
  } else {
    __pyx_t_12 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12657, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_13 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 12657, __pyx_L1_error)
  }
  for (;;) {
    if (likely(!__pyx_t_13)) {
      if (likely(PyList_CheckExact(__pyx_t_1))) {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 12657, __pyx_L1_error)
          #endif
          if (__pyx_t_12 >= __pyx_temp) break;
        }
        __pyx_t_2 = __Pyx_PyList_GetItemRefFast(__pyx_t_1, __pyx_t_12, __Pyx_ReferenceSharing_OwnStrongReference);
        ++__pyx_t_12;
      } else {
        {
          Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 12657, __pyx_L1_error)
          #endif
          if (__pyx_t_12 >= __pyx_temp) break;
        }
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_2 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_12));
        #else
        __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_12);
        #endif
        ++__pyx_t_12;
      }
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12657, __pyx_L1_error)
    } else {
      __pyx_t_2 = __pyx_t_13(__pyx_t_1);
      if (unlikely(!__pyx_t_2)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 12657, __pyx_L1_error)
          PyErr_Clear();
        }
        break;
      }
    }
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_XDECREF_SET(__pyx_v_line, __pyx_t_2);
    __pyx_t_2 = 0;
    __pyx_v_i = __pyx_t_11;
    __pyx_t_11 = (__pyx_t_11 + 1);

    /* "src/pyscipopt/scip.pxi":12658
 *         seen_cons = 0
 *         for i, line in enumerate(data):
 *             if line == "\n":             # <<<<<<<<<<<<<<
 *                 continue
 * 
*/
    __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_line, __pyx_mstate_global->__pyx_kp_u__19, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 12658, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "src/pyscipopt/scip.pxi":12659
 *         for i, line in enumerate(data):
 *             if line == "\n":
 *                 continue             # <<<<<<<<<<<<<<
 * 
 *             split_line = line.split(":")
*/
      goto __pyx_L7_continue;

      /* "src/pyscipopt/scip.pxi":12658
 *         seen_cons = 0
 *         for i, line in enumerate(data):
 *             if line == "\n":             # <<<<<<<<<<<<<<
 *                 continue
 * 
*/
    }

    /* "src/pyscipopt/scip.pxi":12661
 *                 continue
 * 
 *             split_line = line.split(":")             # <<<<<<<<<<<<<<
 *             split_line[1] = split_line[1][:-1] # removing \n
 *             stat_name = split_line[0].strip()
*/
    __pyx_t_14 = __pyx_v_line;
    __Pyx_INCREF(__pyx_t_14);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_mstate_global->__pyx_kp_u__20};
      __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_split, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
      if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12661, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF_SET(__pyx_v_split_line, __pyx_t_2);
    __pyx_t_2 = 0;

    /* "src/pyscipopt/scip.pxi":12662
 * 
 *             split_line = line.split(":")
 *             split_line[1] = split_line[1][:-1] # removing \n             # <<<<<<<<<<<<<<
 *             stat_name = split_line[0].strip()
 * 
*/
    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_split_line, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_14 = __Pyx_PyObject_GetSlice(__pyx_t_2, 0, -1L, NULL, NULL, &__pyx_mstate_global->__pyx_slice[2], 0, 1, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12662, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_14);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    if (unlikely((__Pyx_SetItemInt(__pyx_v_split_line, 1, __pyx_t_14, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(2, 12662, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

    /* "src/pyscipopt/scip.pxi":12663
 *             split_line = line.split(":")
 *             split_line[1] = split_line[1][:-1] # removing \n
 *             stat_name = split_line[0].strip()             # <<<<<<<<<<<<<<
 * 
 *             if seen_cons == 2 and stat_name == "Constraints":
*/
    __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_split_line, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12663, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_15);
    __pyx_t_2 = __pyx_t_15;
    __Pyx_INCREF(__pyx_t_2);
    __pyx_t_3 = 0;
    {
      PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
      __pyx_t_14 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_strip, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
      if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12663, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
    }
    __Pyx_XDECREF_SET(__pyx_v_stat_name, __pyx_t_14);
    __pyx_t_14 = 0;

    /* "src/pyscipopt/scip.pxi":12665
 *             stat_name = split_line[0].strip()
 * 
 *             if seen_cons == 2 and stat_name == "Constraints":             # <<<<<<<<<<<<<<
 *                 continue
 * 
*/
    __pyx_t_4 = (__Pyx_PyLong_BoolEqObjC(__pyx_v_seen_cons, __pyx_mstate_global->__pyx_int_2, 2, 0)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 12665, __pyx_L1_error)
    if (__pyx_t_4) {
    } else {
      __pyx_t_5 = __pyx_t_4;
      goto __pyx_L11_bool_binop_done;
    }
    __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_v_stat_name, __pyx_mstate_global->__pyx_n_u_Constraints, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 12665, __pyx_L1_error)
    __pyx_t_5 = __pyx_t_4;
    __pyx_L11_bool_binop_done:;
    if (__pyx_t_5) {

      /* "src/pyscipopt/scip.pxi":12666
 * 
 *             if seen_cons == 2 and stat_name == "Constraints":
 *                 continue             # <<<<<<<<<<<<<<
 * 
 *             if stat_name in available_stats:
*/
      goto __pyx_L7_continue;

      /* "src/pyscipopt/scip.pxi":12665
 *             stat_name = split_line[0].strip()
 * 
 *             if seen_cons == 2 and stat_name == "Constraints":             # <<<<<<<<<<<<<<
 *                 continue
 * 
*/
    }

    /* "src/pyscipopt/scip.pxi":12668
 *                 continue
 * 
 *             if stat_name in available_stats:             # <<<<<<<<<<<<<<
 *                 relevant_value = split_line[1].strip()
 * 
*/
    __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_v_stat_name, __pyx_v_available_stats, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 12668, __pyx_L1_error)
    if (__pyx_t_5) {

      /* "src/pyscipopt/scip.pxi":12669
 * 
 *             if stat_name in available_stats:
 *                 relevant_value = split_line[1].strip()             # <<<<<<<<<<<<<<
 * 
 *                 if stat_name == "Variables":
*/
      __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_split_line, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12669, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_15 = __pyx_t_2;
      __Pyx_INCREF(__pyx_t_15);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_15, NULL};
        __pyx_t_14 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_strip, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12669, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
      }
      __Pyx_XDECREF_SET(__pyx_v_relevant_value, __pyx_t_14);
      __pyx_t_14 = 0;

      /* "src/pyscipopt/scip.pxi":12671
 *                 relevant_value = split_line[1].strip()
 * 
 *                 if stat_name == "Variables":             # <<<<<<<<<<<<<<
 *                     relevant_value = relevant_value[:-1] # removing ")"
 *                     var_stats = {}
*/
      __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_stat_name, __pyx_mstate_global->__pyx_n_u_Variables, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 12671, __pyx_L1_error)
      if (__pyx_t_5) {

        /* "src/pyscipopt/scip.pxi":12672
 * 
 *                 if stat_name == "Variables":
 *                     relevant_value = relevant_value[:-1] # removing ")"             # <<<<<<<<<<<<<<
 *                     var_stats = {}
 *                     split_var = relevant_value.split("(")
*/
        __pyx_t_14 = __Pyx_PyObject_GetSlice(__pyx_v_relevant_value, 0, -1L, NULL, NULL, &__pyx_mstate_global->__pyx_slice[2], 0, 1, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12672, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_DECREF_SET(__pyx_v_relevant_value, __pyx_t_14);
        __pyx_t_14 = 0;

        /* "src/pyscipopt/scip.pxi":12673
 *                 if stat_name == "Variables":
 *                     relevant_value = relevant_value[:-1] # removing ")"
 *                     var_stats = {}             # <<<<<<<<<<<<<<
 *                     split_var = relevant_value.split("(")
 *                     var_stats["total"] = int(split_var[0])
*/
        __pyx_t_14 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12673, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_XDECREF_SET(__pyx_v_var_stats, ((PyObject*)__pyx_t_14));
        __pyx_t_14 = 0;

        /* "src/pyscipopt/scip.pxi":12674
 *                     relevant_value = relevant_value[:-1] # removing ")"
 *                     var_stats = {}
 *                     split_var = relevant_value.split("(")             # <<<<<<<<<<<<<<
 *                     var_stats["total"] = int(split_var[0])
 *                     split_var = split_var[1].split(",")
*/
        __pyx_t_2 = __pyx_v_relevant_value;
        __Pyx_INCREF(__pyx_t_2);
        __pyx_t_3 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u__7};
          __pyx_t_14 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_split, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12674, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
        }
        __Pyx_XDECREF_SET(__pyx_v_split_var, __pyx_t_14);
        __pyx_t_14 = 0;

        /* "src/pyscipopt/scip.pxi":12675
 *                     var_stats = {}
 *                     split_var = relevant_value.split("(")
 *                     var_stats["total"] = int(split_var[0])             # <<<<<<<<<<<<<<
 *                     split_var = split_var[1].split(",")
 * 
*/
        __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_split_var, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12675, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12675, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        if (unlikely((PyDict_SetItem(__pyx_v_var_stats, __pyx_mstate_global->__pyx_n_u_total, __pyx_t_2) < 0))) __PYX_ERR(2, 12675, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "src/pyscipopt/scip.pxi":12676
 *                     split_var = relevant_value.split("(")
 *                     var_stats["total"] = int(split_var[0])
 *                     split_var = split_var[1].split(",")             # <<<<<<<<<<<<<<
 * 
 *                     for var_type in split_var:
*/
        __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_split_var, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12676, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_15);
        __pyx_t_14 = __pyx_t_15;
        __Pyx_INCREF(__pyx_t_14);
        __pyx_t_3 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_mstate_global->__pyx_kp_u__8};
          __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_split, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12676, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __Pyx_DECREF_SET(__pyx_v_split_var, __pyx_t_2);
        __pyx_t_2 = 0;

        /* "src/pyscipopt/scip.pxi":12678
 *                     split_var = split_var[1].split(",")
 * 
 *                     for var_type in split_var:             # <<<<<<<<<<<<<<
 *                         split_result = var_type.strip().split(" ")
 *                         var_stats[split_result[1]] = int(split_result[0])
*/
        if (likely(PyList_CheckExact(__pyx_v_split_var)) || PyTuple_CheckExact(__pyx_v_split_var)) {
          __pyx_t_2 = __pyx_v_split_var; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_16 = 0;
          __pyx_t_17 = NULL;
        } else {
          __pyx_t_16 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_split_var); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12678, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_17 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12678, __pyx_L1_error)
        }
        for (;;) {
          if (likely(!__pyx_t_17)) {
            if (likely(PyList_CheckExact(__pyx_t_2))) {
              {
                Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                #if !CYTHON_ASSUME_SAFE_SIZE
                if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 12678, __pyx_L1_error)
                #endif
                if (__pyx_t_16 >= __pyx_temp) break;
              }
              __pyx_t_15 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_16, __Pyx_ReferenceSharing_OwnStrongReference);
              ++__pyx_t_16;
            } else {
              {
                Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                #if !CYTHON_ASSUME_SAFE_SIZE
                if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 12678, __pyx_L1_error)
                #endif
                if (__pyx_t_16 >= __pyx_temp) break;
              }
              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
              __pyx_t_15 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_16));
              #else
              __pyx_t_15 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_16);
              #endif
              ++__pyx_t_16;
            }
            if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12678, __pyx_L1_error)
          } else {
            __pyx_t_15 = __pyx_t_17(__pyx_t_2);
            if (unlikely(!__pyx_t_15)) {
              PyObject* exc_type = PyErr_Occurred();
              if (exc_type) {
                if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 12678, __pyx_L1_error)
                PyErr_Clear();
              }
              break;
            }
          }
          __Pyx_GOTREF(__pyx_t_15);
          __Pyx_XDECREF_SET(__pyx_v_var_type, __pyx_t_15);
          __pyx_t_15 = 0;

          /* "src/pyscipopt/scip.pxi":12679
 * 
 *                     for var_type in split_var:
 *                         split_result = var_type.strip().split(" ")             # <<<<<<<<<<<<<<
 *                         var_stats[split_result[1]] = int(split_result[0])
 * 
*/
          __pyx_t_19 = __pyx_v_var_type;
          __Pyx_INCREF(__pyx_t_19);
          __pyx_t_3 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_19, NULL};
            __pyx_t_18 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_strip, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
            if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 12679, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_18);
          }
          __pyx_t_14 = __pyx_t_18;
          __Pyx_INCREF(__pyx_t_14);
          __pyx_t_3 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_mstate_global->__pyx_kp_u__21};
            __pyx_t_15 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_split, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
            if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12679, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_15);
          }
          __Pyx_XDECREF_SET(__pyx_v_split_result, __pyx_t_15);
          __pyx_t_15 = 0;

          /* "src/pyscipopt/scip.pxi":12680
 *                     for var_type in split_var:
 *                         split_result = var_type.strip().split(" ")
 *                         var_stats[split_result[1]] = int(split_result[0])             # <<<<<<<<<<<<<<
 * 
 *                     if "Original" in data[i-2]:
*/
          __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_split_result, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12680, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_15);
          __pyx_t_18 = __Pyx_PyNumber_Int(__pyx_t_15); if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 12680, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_18);
          __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
          __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_split_result, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 12680, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_15);
          if (unlikely((PyDict_SetItem(__pyx_v_var_stats, __pyx_t_15, __pyx_t_18) < 0))) __PYX_ERR(2, 12680, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
          __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;

          /* "src/pyscipopt/scip.pxi":12678
 *                     split_var = split_var[1].split(",")
 * 
 *                     for var_type in split_var:             # <<<<<<<<<<<<<<
 *                         split_result = var_type.strip().split(" ")
 *                         var_stats[split_result[1]] = int(split_result[0])
*/
        }
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "src/pyscipopt/scip.pxi":12682
 *                         var_stats[split_result[1]] = int(split_result[0])
 * 
 *                     if "Original" in data[i-2]:             # <<<<<<<<<<<<<<
 *                         result["Variables"] = var_stats
 *                     else:
*/
        __pyx_t_20 = (__pyx_v_i - 2);
        __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_data, __pyx_t_20, long, 1, __Pyx_PyLong_From_long, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12682, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_n_u_Original, __pyx_t_2, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 12682, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (__pyx_t_5) {

          /* "src/pyscipopt/scip.pxi":12683
 * 
 *                     if "Original" in data[i-2]:
 *                         result["Variables"] = var_stats             # <<<<<<<<<<<<<<
 *                     else:
 *                         result["Presolved Variables"] = var_stats
*/
          if (unlikely((PyDict_SetItem(__pyx_v_result, __pyx_mstate_global->__pyx_n_u_Variables, __pyx_v_var_stats) < 0))) __PYX_ERR(2, 12683, __pyx_L1_error)

          /* "src/pyscipopt/scip.pxi":12682
 *                         var_stats[split_result[1]] = int(split_result[0])
 * 
 *                     if "Original" in data[i-2]:             # <<<<<<<<<<<<<<
 *                         result["Variables"] = var_stats
 *                     else:
*/
          goto __pyx_L18;
        }

        /* "src/pyscipopt/scip.pxi":12685
 *                         result["Variables"] = var_stats
 *                     else:
 *                         result["Presolved Variables"] = var_stats             # <<<<<<<<<<<<<<
 * 
 *                     continue
*/
        /*else*/ {
          if (unlikely((PyDict_SetItem(__pyx_v_result, __pyx_mstate_global->__pyx_kp_u_Presolved_Variables, __pyx_v_var_stats) < 0))) __PYX_ERR(2, 12685, __pyx_L1_error)
        }
        __pyx_L18:;

        /* "src/pyscipopt/scip.pxi":12687
 *                         result["Presolved Variables"] = var_stats
 * 
 *                     continue             # <<<<<<<<<<<<<<
 * 
 *                 if stat_name == "Constraints":
*/
        goto __pyx_L7_continue;

        /* "src/pyscipopt/scip.pxi":12671
 *                 relevant_value = split_line[1].strip()
 * 
 *                 if stat_name == "Variables":             # <<<<<<<<<<<<<<
 *                     relevant_value = relevant_value[:-1] # removing ")"
 *                     var_stats = {}
*/
      }

      /* "src/pyscipopt/scip.pxi":12689
 *                     continue
 * 
 *                 if stat_name == "Constraints":             # <<<<<<<<<<<<<<
 *                     seen_cons += 1
 *                     con_stats = {}
*/
      __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_stat_name, __pyx_mstate_global->__pyx_n_u_Constraints, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 12689, __pyx_L1_error)
      if (__pyx_t_5) {

        /* "src/pyscipopt/scip.pxi":12690
 * 
 *                 if stat_name == "Constraints":
 *                     seen_cons += 1             # <<<<<<<<<<<<<<
 *                     con_stats = {}
 *                     split_con = relevant_value.split(",")
*/
        __pyx_t_2 = __Pyx_PyLong_AddObjC(__pyx_v_seen_cons, __pyx_mstate_global->__pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12690, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF_SET(__pyx_v_seen_cons, __pyx_t_2);
        __pyx_t_2 = 0;

        /* "src/pyscipopt/scip.pxi":12691
 *                 if stat_name == "Constraints":
 *                     seen_cons += 1
 *                     con_stats = {}             # <<<<<<<<<<<<<<
 *                     split_con = relevant_value.split(",")
 *                     for con_type in split_con:
*/
        __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12691, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_XDECREF_SET(__pyx_v_con_stats, ((PyObject*)__pyx_t_2));
        __pyx_t_2 = 0;

        /* "src/pyscipopt/scip.pxi":12692
 *                     seen_cons += 1
 *                     con_stats = {}
 *                     split_con = relevant_value.split(",")             # <<<<<<<<<<<<<<
 *                     for con_type in split_con:
 *                         split_result = con_type.strip().split(" ")
*/
        __pyx_t_18 = __pyx_v_relevant_value;
        __Pyx_INCREF(__pyx_t_18);
        __pyx_t_3 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_18, __pyx_mstate_global->__pyx_kp_u__8};
          __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_split, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12692, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
        }
        __Pyx_XDECREF_SET(__pyx_v_split_con, __pyx_t_2);
        __pyx_t_2 = 0;

        /* "src/pyscipopt/scip.pxi":12693
 *                     con_stats = {}
 *                     split_con = relevant_value.split(",")
 *                     for con_type in split_con:             # <<<<<<<<<<<<<<
 *                         split_result = con_type.strip().split(" ")
 *                         con_stats[split_result[1]] = int(split_result[0])
*/
        if (likely(PyList_CheckExact(__pyx_v_split_con)) || PyTuple_CheckExact(__pyx_v_split_con)) {
          __pyx_t_2 = __pyx_v_split_con; __Pyx_INCREF(__pyx_t_2);
          __pyx_t_16 = 0;
          __pyx_t_17 = NULL;
        } else {
          __pyx_t_16 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_split_con); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12693, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_17 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_2); if (unlikely(!__pyx_t_17)) __PYX_ERR(2, 12693, __pyx_L1_error)
        }
        for (;;) {
          if (likely(!__pyx_t_17)) {
            if (likely(PyList_CheckExact(__pyx_t_2))) {
              {
                Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
                #if !CYTHON_ASSUME_SAFE_SIZE
                if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 12693, __pyx_L1_error)
                #endif
                if (__pyx_t_16 >= __pyx_temp) break;
              }
              __pyx_t_18 = __Pyx_PyList_GetItemRefFast(__pyx_t_2, __pyx_t_16, __Pyx_ReferenceSharing_OwnStrongReference);
              ++__pyx_t_16;
            } else {
              {
                Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
                #if !CYTHON_ASSUME_SAFE_SIZE
                if (unlikely((__pyx_temp < 0))) __PYX_ERR(2, 12693, __pyx_L1_error)
                #endif
                if (__pyx_t_16 >= __pyx_temp) break;
              }
              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
              __pyx_t_18 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_16));
              #else
              __pyx_t_18 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_16);
              #endif
              ++__pyx_t_16;
            }
            if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 12693, __pyx_L1_error)
          } else {
            __pyx_t_18 = __pyx_t_17(__pyx_t_2);
            if (unlikely(!__pyx_t_18)) {
              PyObject* exc_type = PyErr_Occurred();
              if (exc_type) {
                if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(2, 12693, __pyx_L1_error)
                PyErr_Clear();
              }
              break;
            }
          }
          __Pyx_GOTREF(__pyx_t_18);
          __Pyx_XDECREF_SET(__pyx_v_con_type, __pyx_t_18);
          __pyx_t_18 = 0;

          /* "src/pyscipopt/scip.pxi":12694
 *                     split_con = relevant_value.split(",")
 *                     for con_type in split_con:
 *                         split_result = con_type.strip().split(" ")             # <<<<<<<<<<<<<<
 *                         con_stats[split_result[1]] = int(split_result[0])
 * 
*/
          __pyx_t_19 = __pyx_v_con_type;
          __Pyx_INCREF(__pyx_t_19);
          __pyx_t_3 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_19, NULL};
            __pyx_t_14 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_strip, __pyx_callargs+__pyx_t_3, (1-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12694, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
          }
          __pyx_t_15 = __pyx_t_14;
          __Pyx_INCREF(__pyx_t_15);
          __pyx_t_3 = 0;
          {
            PyObject *__pyx_callargs[2] = {__pyx_t_15, __pyx_mstate_global->__pyx_kp_u__21};
            __pyx_t_18 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_split, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
            __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 12694, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_18);
          }
          __Pyx_XDECREF_SET(__pyx_v_split_result, __pyx_t_18);
          __pyx_t_18 = 0;

          /* "src/pyscipopt/scip.pxi":12695
 *                     for con_type in split_con:
 *                         split_result = con_type.strip().split(" ")
 *                         con_stats[split_result[1]] = int(split_result[0])             # <<<<<<<<<<<<<<
 * 
 *                     if "Original" in data[i-3]:
*/
          __pyx_t_18 = __Pyx_GetItemInt(__pyx_v_split_result, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 12695, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_18);
          __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_18); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12695, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
          __pyx_t_18 = __Pyx_GetItemInt(__pyx_v_split_result, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 12695, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_18);
          if (unlikely((PyDict_SetItem(__pyx_v_con_stats, __pyx_t_18, __pyx_t_14) < 0))) __PYX_ERR(2, 12695, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

          /* "src/pyscipopt/scip.pxi":12693
 *                     con_stats = {}
 *                     split_con = relevant_value.split(",")
 *                     for con_type in split_con:             # <<<<<<<<<<<<<<
 *                         split_result = con_type.strip().split(" ")
 *                         con_stats[split_result[1]] = int(split_result[0])
*/
        }
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

        /* "src/pyscipopt/scip.pxi":12697
 *                         con_stats[split_result[1]] = int(split_result[0])
 * 
 *                     if "Original" in data[i-3]:             # <<<<<<<<<<<<<<
 *                         result["Constraints"] = con_stats
 *                     else:
*/
        __pyx_t_20 = (__pyx_v_i - 3);
        __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_data, __pyx_t_20, long, 1, __Pyx_PyLong_From_long, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12697, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_n_u_Original, __pyx_t_2, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 12697, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        if (__pyx_t_5) {

          /* "src/pyscipopt/scip.pxi":12698
 * 
 *                     if "Original" in data[i-3]:
 *                         result["Constraints"] = con_stats             # <<<<<<<<<<<<<<
 *                     else:
 *                         result["Presolved Constraints"] = con_stats
*/
          if (unlikely((PyDict_SetItem(__pyx_v_result, __pyx_mstate_global->__pyx_n_u_Constraints, __pyx_v_con_stats) < 0))) __PYX_ERR(2, 12698, __pyx_L1_error)

          /* "src/pyscipopt/scip.pxi":12697
 *                         con_stats[split_result[1]] = int(split_result[0])
 * 
 *                     if "Original" in data[i-3]:             # <<<<<<<<<<<<<<
 *                         result["Constraints"] = con_stats
 *                     else:
*/
          goto __pyx_L23;
        }

        /* "src/pyscipopt/scip.pxi":12700
 *                         result["Constraints"] = con_stats
 *                     else:
 *                         result["Presolved Constraints"] = con_stats             # <<<<<<<<<<<<<<
 *                     continue
 * 
*/
        /*else*/ {
          if (unlikely((PyDict_SetItem(__pyx_v_result, __pyx_mstate_global->__pyx_kp_u_Presolved_Constraints, __pyx_v_con_stats) < 0))) __PYX_ERR(2, 12700, __pyx_L1_error)
        }
        __pyx_L23:;

        /* "src/pyscipopt/scip.pxi":12701
 *                     else:
 *                         result["Presolved Constraints"] = con_stats
 *                     continue             # <<<<<<<<<<<<<<
 * 
 *                 relevant_value = relevant_value.split(" ")[0]
*/
        goto __pyx_L7_continue;

        /* "src/pyscipopt/scip.pxi":12689
 *                     continue
 * 
 *                 if stat_name == "Constraints":             # <<<<<<<<<<<<<<
 *                     seen_cons += 1
 *                     con_stats = {}
*/
      }

      /* "src/pyscipopt/scip.pxi":12703
 *                     continue
 * 
 *                 relevant_value = relevant_value.split(" ")[0]             # <<<<<<<<<<<<<<
 *                 if stat_name == "Problem name":
 *                     if "Original" in data[i-1]:
*/
      __pyx_t_14 = __pyx_v_relevant_value;
      __Pyx_INCREF(__pyx_t_14);
      __pyx_t_3 = 0;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_mstate_global->__pyx_kp_u__21};
        __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_split, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
        if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 12703, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
      }
      __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12703, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_14);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF_SET(__pyx_v_relevant_value, __pyx_t_14);
      __pyx_t_14 = 0;

      /* "src/pyscipopt/scip.pxi":12704
 * 
 *                 relevant_value = relevant_value.split(" ")[0]
 *                 if stat_name == "Problem name":             # <<<<<<<<<<<<<<
 *                     if "Original" in data[i-1]:
 *                         result["Problem name"] = relevant_value
*/
      __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_stat_name, __pyx_mstate_global->__pyx_kp_u_Problem_name, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 12704, __pyx_L1_error)
      if (__pyx_t_5) {

        /* "src/pyscipopt/scip.pxi":12705
 *                 relevant_value = relevant_value.split(" ")[0]
 *                 if stat_name == "Problem name":
 *                     if "Original" in data[i-1]:             # <<<<<<<<<<<<<<
 *                         result["Problem name"] = relevant_value
 *                     else:
*/
        __pyx_t_20 = (__pyx_v_i - 1);
        __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_data, __pyx_t_20, long, 1, __Pyx_PyLong_From_long, 0, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12705, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_mstate_global->__pyx_n_u_Original, __pyx_t_14, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 12705, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        if (__pyx_t_5) {

          /* "src/pyscipopt/scip.pxi":12706
 *                 if stat_name == "Problem name":
 *                     if "Original" in data[i-1]:
 *                         result["Problem name"] = relevant_value             # <<<<<<<<<<<<<<
 *                     else:
 *                         result["Presolved Problem name"] = relevant_value
*/
          if (unlikely((PyDict_SetItem(__pyx_v_result, __pyx_mstate_global->__pyx_kp_u_Problem_name, __pyx_v_relevant_value) < 0))) __PYX_ERR(2, 12706, __pyx_L1_error)

          /* "src/pyscipopt/scip.pxi":12705
 *                 relevant_value = relevant_value.split(" ")[0]
 *                 if stat_name == "Problem name":
 *                     if "Original" in data[i-1]:             # <<<<<<<<<<<<<<
 *                         result["Problem name"] = relevant_value
 *                     else:
*/
          goto __pyx_L25;
        }

        /* "src/pyscipopt/scip.pxi":12708
 *                         result["Problem name"] = relevant_value
 *                     else:
 *                         result["Presolved Problem name"] = relevant_value             # <<<<<<<<<<<<<<
 *                     continue
 * 
*/
        /*else*/ {
          if (unlikely((PyDict_SetItem(__pyx_v_result, __pyx_mstate_global->__pyx_kp_u_Presolved_Problem_name, __pyx_v_relevant_value) < 0))) __PYX_ERR(2, 12708, __pyx_L1_error)
        }
        __pyx_L25:;

        /* "src/pyscipopt/scip.pxi":12709
 *                     else:
 *                         result["Presolved Problem name"] = relevant_value
 *                     continue             # <<<<<<<<<<<<<<
 * 
 *                 if stat_name == "Gap":
*/
        goto __pyx_L7_continue;

        /* "src/pyscipopt/scip.pxi":12704
 * 
 *                 relevant_value = relevant_value.split(" ")[0]
 *                 if stat_name == "Problem name":             # <<<<<<<<<<<<<<
 *                     if "Original" in data[i-1]:
 *                         result["Problem name"] = relevant_value
*/
      }

      /* "src/pyscipopt/scip.pxi":12711
 *                     continue
 * 
 *                 if stat_name == "Gap":             # <<<<<<<<<<<<<<
 *                     relevant_value = relevant_value[:-1] # removing %
 * 
*/
      __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_stat_name, __pyx_mstate_global->__pyx_n_u_Gap, Py_EQ)); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 12711, __pyx_L1_error)
      if (__pyx_t_5) {

        /* "src/pyscipopt/scip.pxi":12712
 * 
 *                 if stat_name == "Gap":
 *                     relevant_value = relevant_value[:-1] # removing %             # <<<<<<<<<<<<<<
 * 
 *                 if _is_number(relevant_value):
*/
        __pyx_t_14 = __Pyx_PyObject_GetSlice(__pyx_v_relevant_value, 0, -1L, NULL, NULL, &__pyx_mstate_global->__pyx_slice[2], 0, 1, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12712, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __Pyx_DECREF_SET(__pyx_v_relevant_value, __pyx_t_14);
        __pyx_t_14 = 0;

        /* "src/pyscipopt/scip.pxi":12711
 *                     continue
 * 
 *                 if stat_name == "Gap":             # <<<<<<<<<<<<<<
 *                     relevant_value = relevant_value[:-1] # removing %
 * 
*/
      }

      /* "src/pyscipopt/scip.pxi":12714
 *                     relevant_value = relevant_value[:-1] # removing %
 * 
 *                 if _is_number(relevant_value):             # <<<<<<<<<<<<<<
 *                     result[stat_name] = float(relevant_value)
 *                     if stat_name == "Solutions found" and result[stat_name] == 0:
*/
      __pyx_t_2 = NULL;
      __Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_mstate_global->__pyx_n_u_is_number); if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 12714, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_18);
      __pyx_t_3 = 1;
      #if CYTHON_UNPACK_METHODS
      if (unlikely(PyMethod_Check(__pyx_t_18))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_18);
        assert(__pyx_t_2);
        PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_18);
        __Pyx_INCREF(__pyx_t_2);
        __Pyx_INCREF(__pyx__function);
        __Pyx_DECREF_SET(__pyx_t_18, __pyx__function);
        __pyx_t_3 = 0;
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_v_relevant_value};
        __pyx_t_14 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_18, __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
        __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
        if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12714, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
      }
      __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely((__pyx_t_5 < 0))) __PYX_ERR(2, 12714, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
      if (__pyx_t_5) {

        /* "src/pyscipopt/scip.pxi":12715
 * 
 *                 if _is_number(relevant_value):
 *                     result[stat_name] = float(relevant_value)             # <<<<<<<<<<<<<<
 *                     if stat_name == "Solutions found" and result[stat_name] == 0:
 *                         break
*/
        __pyx_t_14 = __Pyx_PyNumber_Float(__pyx_v_relevant_value); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12715, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        if (unlikely((PyDict_SetItem(__pyx_v_result, __pyx_v_stat_name, __pyx_t_14) < 0))) __PYX_ERR(2, 12715, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

        /* "src/pyscipopt/scip.pxi":12716
 *                 if _is_number(relevant_value):
 *                     result[stat_name] = float(relevant_value)
 *                     if stat_name == "Solutions found" and result[stat_name] == 0:             # <<<<<<<<<<<<<<
 *                         break
 * 
*/
        __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_v_stat_name, __pyx_mstate_global->__pyx_kp_u_Solutions_found, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 12716, __pyx_L1_error)
        if (__pyx_t_4) {
        } else {
          __pyx_t_5 = __pyx_t_4;
          goto __pyx_L29_bool_binop_done;
        }
        __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_result, __pyx_v_stat_name); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12716, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_14);
        __pyx_t_4 = (__Pyx_PyLong_BoolEqObjC(__pyx_t_14, __pyx_mstate_global->__pyx_int_0, 0, 0)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 12716, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        __pyx_t_5 = __pyx_t_4;
        __pyx_L29_bool_binop_done:;
        if (__pyx_t_5) {

          /* "src/pyscipopt/scip.pxi":12717
 *                     result[stat_name] = float(relevant_value)
 *                     if stat_name == "Solutions found" and result[stat_name] == 0:
 *                         break             # <<<<<<<<<<<<<<
 * 
 *                 else: # it's a string
*/
          goto __pyx_L8_break;

          /* "src/pyscipopt/scip.pxi":12716
 *                 if _is_number(relevant_value):
 *                     result[stat_name] = float(relevant_value)
 *                     if stat_name == "Solutions found" and result[stat_name] == 0:             # <<<<<<<<<<<<<<
 *                         break
 * 
*/
        }

        /* "src/pyscipopt/scip.pxi":12714
 *                     relevant_value = relevant_value[:-1] # removing %
 * 
 *                 if _is_number(relevant_value):             # <<<<<<<<<<<<<<
 *                     result[stat_name] = float(relevant_value)
 *                     if stat_name == "Solutions found" and result[stat_name] == 0:
*/
        goto __pyx_L27;
      }

      /* "src/pyscipopt/scip.pxi":12720
 * 
 *                 else: # it's a string
 *                     result[stat_name] = relevant_value             # <<<<<<<<<<<<<<
 * 
 *         # changing keys to pythonic variable names
*/
      /*else*/ {
        if (unlikely((PyDict_SetItem(__pyx_v_result, __pyx_v_stat_name, __pyx_v_relevant_value) < 0))) __PYX_ERR(2, 12720, __pyx_L1_error)
      }
      __pyx_L27:;

      /* "src/pyscipopt/scip.pxi":12668
 *                 continue
 * 
 *             if stat_name in available_stats:             # <<<<<<<<<<<<<<
 *                 relevant_value = split_line[1].strip()
 * 
*/
    }

    /* "src/pyscipopt/scip.pxi":12657
 * 
 *         seen_cons = 0
 *         for i, line in enumerate(data):             # <<<<<<<<<<<<<<
 *             if line == "\n":
 *                 continue
*/
    __pyx_L7_continue:;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  goto __pyx_L31_for_end;
  __pyx_L8_break:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  goto __pyx_L31_for_end;
  __pyx_L31_for_end:;

  /* "src/pyscipopt/scip.pxi":12723
 * 
 *         # changing keys to pythonic variable names
 *         treated_keys = {"status": "status", "Total Time": "total_time", "solving":"solving_time", "presolving":"presolving_time", "reading":"reading_time",             # <<<<<<<<<<<<<<
 *                         "copying":"copying_time", "Problem name": "problem_name", "Presolved Problem name": "presolved_problem_name", "Variables":"_variables",
 *                         "Presolved Variables":"_presolved_variables", "Constraints": "_constraints", "Presolved Constraints":"_presolved_constraints",
*/
  __pyx_t_1 = __Pyx_PyDict_NewPresized(15); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_status, __pyx_mstate_global->__pyx_n_u_status) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Total_Time, __pyx_mstate_global->__pyx_n_u_total_time) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_solving, __pyx_mstate_global->__pyx_n_u_solving_time) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_presolving, __pyx_mstate_global->__pyx_n_u_presolving_time) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_reading, __pyx_mstate_global->__pyx_n_u_reading_time) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_copying, __pyx_mstate_global->__pyx_n_u_copying_time) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Problem_name, __pyx_mstate_global->__pyx_n_u_problem_name) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Presolved_Problem_name, __pyx_mstate_global->__pyx_n_u_presolved_problem_name) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Variables, __pyx_mstate_global->__pyx_n_u_variables) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Presolved_Variables, __pyx_mstate_global->__pyx_n_u_presolved_variables) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Constraints, __pyx_mstate_global->__pyx_n_u_constraints_2) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Presolved_Constraints, __pyx_mstate_global->__pyx_n_u_presolved_constraints) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_number_of_runs, __pyx_mstate_global->__pyx_n_u_n_runs) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_nodes, __pyx_mstate_global->__pyx_n_u_n_nodes) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_1, __pyx_mstate_global->__pyx_kp_u_Solutions_found, __pyx_mstate_global->__pyx_n_u_n_solutions_found) < (0)) __PYX_ERR(2, 12723, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_cur_scope->__pyx_v_treated_keys = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":12728
 *                         "number of runs": "n_runs", "nodes":"n_nodes", "Solutions found": "n_solutions_found"}
 * 
 *         if result["status"] in ["optimal", "user_interrupt"]:             # <<<<<<<<<<<<<<
 *             if result["Solutions found"] > 0:
 *                 treated_keys["First Solution"]  = "first_solution"
*/
  __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result, __pyx_mstate_global->__pyx_n_u_status); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12728, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_optimal, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 12728, __pyx_L1_error)
  if (!__pyx_t_4) {
  } else {
    __pyx_t_5 = __pyx_t_4;
    goto __pyx_L33_bool_binop_done;
  }
  __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_user_interrupt, Py_EQ)); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 12728, __pyx_L1_error)
  __pyx_t_5 = __pyx_t_4;
  __pyx_L33_bool_binop_done:;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __pyx_t_5;
  if (__pyx_t_4) {

    /* "src/pyscipopt/scip.pxi":12729
 * 
 *         if result["status"] in ["optimal", "user_interrupt"]:
 *             if result["Solutions found"] > 0:             # <<<<<<<<<<<<<<
 *                 treated_keys["First Solution"]  = "first_solution"
 *                 treated_keys["Primal Bound"]    = "primal_bound"
*/
    __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_result, __pyx_mstate_global->__pyx_kp_u_Solutions_found); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12729, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_14 = PyObject_RichCompare(__pyx_t_1, __pyx_mstate_global->__pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12729, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(2, 12729, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
    if (__pyx_t_4) {

      /* "src/pyscipopt/scip.pxi":12730
 *         if result["status"] in ["optimal", "user_interrupt"]:
 *             if result["Solutions found"] > 0:
 *                 treated_keys["First Solution"]  = "first_solution"             # <<<<<<<<<<<<<<
 *                 treated_keys["Primal Bound"]    = "primal_bound"
 *                 treated_keys["Dual Bound"]      = "dual_bound"
*/
      if (unlikely((PyDict_SetItem(__pyx_cur_scope->__pyx_v_treated_keys, __pyx_mstate_global->__pyx_kp_u_First_Solution, __pyx_mstate_global->__pyx_n_u_first_solution) < 0))) __PYX_ERR(2, 12730, __pyx_L1_error)

      /* "src/pyscipopt/scip.pxi":12731
 *             if result["Solutions found"] > 0:
 *                 treated_keys["First Solution"]  = "first_solution"
 *                 treated_keys["Primal Bound"]    = "primal_bound"             # <<<<<<<<<<<<<<
 *                 treated_keys["Dual Bound"]      = "dual_bound"
 *                 treated_keys["Gap"]         = "gap"
*/
      if (unlikely((PyDict_SetItem(__pyx_cur_scope->__pyx_v_treated_keys, __pyx_mstate_global->__pyx_kp_u_Primal_Bound, __pyx_mstate_global->__pyx_n_u_primal_bound) < 0))) __PYX_ERR(2, 12731, __pyx_L1_error)

      /* "src/pyscipopt/scip.pxi":12732
 *                 treated_keys["First Solution"]  = "first_solution"
 *                 treated_keys["Primal Bound"]    = "primal_bound"
 *                 treated_keys["Dual Bound"]      = "dual_bound"             # <<<<<<<<<<<<<<
 *                 treated_keys["Gap"]         = "gap"
 *                 treated_keys["primal-dual"]     = "primal_dual_integral"
*/
      if (unlikely((PyDict_SetItem(__pyx_cur_scope->__pyx_v_treated_keys, __pyx_mstate_global->__pyx_kp_u_Dual_Bound, __pyx_mstate_global->__pyx_n_u_dual_bound) < 0))) __PYX_ERR(2, 12732, __pyx_L1_error)

      /* "src/pyscipopt/scip.pxi":12733
 *                 treated_keys["Primal Bound"]    = "primal_bound"
 *                 treated_keys["Dual Bound"]      = "dual_bound"
 *                 treated_keys["Gap"]         = "gap"             # <<<<<<<<<<<<<<
 *                 treated_keys["primal-dual"]     = "primal_dual_integral"
 *         treated_result = dict((treated_keys[key], value) for (key, value) in result.items())
*/
      if (unlikely((PyDict_SetItem(__pyx_cur_scope->__pyx_v_treated_keys, __pyx_mstate_global->__pyx_n_u_Gap, __pyx_mstate_global->__pyx_n_u_gap) < 0))) __PYX_ERR(2, 12733, __pyx_L1_error)

      /* "src/pyscipopt/scip.pxi":12734
 *                 treated_keys["Dual Bound"]      = "dual_bound"
 *                 treated_keys["Gap"]         = "gap"
 *                 treated_keys["primal-dual"]     = "primal_dual_integral"             # <<<<<<<<<<<<<<
 *         treated_result = dict((treated_keys[key], value) for (key, value) in result.items())
 * 
*/
      if (unlikely((PyDict_SetItem(__pyx_cur_scope->__pyx_v_treated_keys, __pyx_mstate_global->__pyx_kp_u_primal_dual, __pyx_mstate_global->__pyx_n_u_primal_dual_integral) < 0))) __PYX_ERR(2, 12734, __pyx_L1_error)

      /* "src/pyscipopt/scip.pxi":12729
 * 
 *         if result["status"] in ["optimal", "user_interrupt"]:
 *             if result["Solutions found"] > 0:             # <<<<<<<<<<<<<<
 *                 treated_keys["First Solution"]  = "first_solution"
 *                 treated_keys["Primal Bound"]    = "primal_bound"
*/
    }

    /* "src/pyscipopt/scip.pxi":12728
 *                         "number of runs": "n_runs", "nodes":"n_nodes", "Solutions found": "n_solutions_found"}
 * 
 *         if result["status"] in ["optimal", "user_interrupt"]:             # <<<<<<<<<<<<<<
 *             if result["Solutions found"] > 0:
 *                 treated_keys["First Solution"]  = "first_solution"
*/
  }

  /* "src/pyscipopt/scip.pxi":12735
 *                 treated_keys["Gap"]         = "gap"
 *                 treated_keys["primal-dual"]     = "primal_dual_integral"
 *         treated_result = dict((treated_keys[key], value) for (key, value) in result.items())             # <<<<<<<<<<<<<<
 * 
 *         stats = Statistics(**treated_result)
*/
  __pyx_t_14 = __pyx_pf_9pyscipopt_4scip_14readStatistics_genexpr(((PyObject*)__pyx_cur_scope), __pyx_v_result); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_1 = __Pyx_Generator_GetInlinedResult(__pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_v_treated_result = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "src/pyscipopt/scip.pxi":12737
 *         treated_result = dict((treated_keys[key], value) for (key, value) in result.items())
 * 
 *         stats = Statistics(**treated_result)             # <<<<<<<<<<<<<<
 * 
 *         return stats
*/
  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_Statistics); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (unlikely(__pyx_v_treated_result == Py_None)) {
    PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
    __PYX_ERR(2, 12737, __pyx_L1_error)
  }
  __pyx_t_14 = PyDict_Copy(__pyx_v_treated_result); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 12737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_14);
  __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_mstate_global->__pyx_empty_tuple, __pyx_t_14); if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 12737, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_18);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
  __pyx_v_stats = __pyx_t_18;
  __pyx_t_18 = 0;

  /* "src/pyscipopt/scip.pxi":12739
 *         stats = Statistics(**treated_result)
 * 
 *         return stats             # <<<<<<<<<<<<<<
 * 
 * # debugging memory management
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_stats);
  __pyx_r = __pyx_v_stats;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12617
 *         return self._presolved_constraints["maximal"]
 * 
 * def readStatistics(filename):             # <<<<<<<<<<<<<<
 *         """
 *         Given a .stats file of a solved model, reads it and returns an instance of the Statistics class
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_15);
  __Pyx_XDECREF(__pyx_t_18);
  __Pyx_XDECREF(__pyx_t_19);
  __Pyx_AddTraceback("pyscipopt.scip.readStatistics", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_result);
  __Pyx_XDECREF(__pyx_v_file);
  __Pyx_XDECREF(__pyx_v_data);
  __Pyx_XDECREF(__pyx_v_available_stats);
  __Pyx_XDECREF(__pyx_v_seen_cons);
  __Pyx_XDECREF(__pyx_v_line);
  __Pyx_XDECREF(__pyx_v_split_line);
  __Pyx_XDECREF(__pyx_v_stat_name);
  __Pyx_XDECREF(__pyx_v_relevant_value);
  __Pyx_XDECREF(__pyx_v_var_stats);
  __Pyx_XDECREF(__pyx_v_split_var);
  __Pyx_XDECREF(__pyx_v_var_type);
  __Pyx_XDECREF(__pyx_v_split_result);
  __Pyx_XDECREF(__pyx_v_con_stats);
  __Pyx_XDECREF(__pyx_v_split_con);
  __Pyx_XDECREF(__pyx_v_con_type);
  __Pyx_XDECREF(__pyx_v_treated_result);
  __Pyx_XDECREF(__pyx_v_stats);
  __Pyx_XDECREF(__pyx_gb_9pyscipopt_4scip_14readStatistics_2generator12);
  __Pyx_DECREF((PyObject *)__pyx_cur_scope);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12742
 * 
 * # debugging memory management
 * def is_memory_freed():             # <<<<<<<<<<<<<<
 *     return BMSgetMemoryUsed() == 0
 * 
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_37is_memory_freed(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_37is_memory_freed = {"is_memory_freed", (PyCFunction)__pyx_pw_9pyscipopt_4scip_37is_memory_freed, METH_NOARGS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_37is_memory_freed(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("is_memory_freed (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_36is_memory_freed(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_36is_memory_freed(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("is_memory_freed", 0);

  /* "src/pyscipopt/scip.pxi":12743
 * # debugging memory management
 * def is_memory_freed():
 *     return BMSgetMemoryUsed() == 0             # <<<<<<<<<<<<<<
 * 
 * def print_memory_in_use():
*/
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyBool_FromLong((BMSgetMemoryUsed() == 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 12743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* "src/pyscipopt/scip.pxi":12742
 * 
 * # debugging memory management
 * def is_memory_freed():             # <<<<<<<<<<<<<<
 *     return BMSgetMemoryUsed() == 0
 * 
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.is_memory_freed", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "src/pyscipopt/scip.pxi":12745
 *     return BMSgetMemoryUsed() == 0
 * 
 * def print_memory_in_use():             # <<<<<<<<<<<<<<
 *     BMScheckEmptyMemory()
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_39print_memory_in_use(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_39print_memory_in_use = {"print_memory_in_use", (PyCFunction)__pyx_pw_9pyscipopt_4scip_39print_memory_in_use, METH_NOARGS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_39print_memory_in_use(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("print_memory_in_use (wrapper)", 0);
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
  __pyx_r = __pyx_pf_9pyscipopt_4scip_38print_memory_in_use(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_38print_memory_in_use(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("print_memory_in_use", 0);

  /* "src/pyscipopt/scip.pxi":12746
 * 
 * def print_memory_in_use():
 *     BMScheckEmptyMemory()             # <<<<<<<<<<<<<<
*/
  BMScheckEmptyMemory();

  /* "src/pyscipopt/scip.pxi":12745
 *     return BMSgetMemoryUsed() == 0
 * 
 * def print_memory_in_use():             # <<<<<<<<<<<<<<
 *     BMScheckEmptyMemory()
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Term(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9db3e8b, 0x45614d6, 0xc040dbf, b'hashval, ptrtuple, vartuple')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_41__pyx_unpickle_Term(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_41__pyx_unpickle_Term = {"__pyx_unpickle_Term", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_41__pyx_unpickle_Term, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_41__pyx_unpickle_Term(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Term (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Term", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Term", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Term", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Term", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_40__pyx_unpickle_Term(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_40__pyx_unpickle_Term(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Term", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Term(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9db3e8b, 0x45614d6, 0xc040dbf, b'hashval, ptrtuple, vartuple')             # <<<<<<<<<<<<<<
 *     __pyx_result = Term.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x9db3e8b, 0x45614d6, 0xc040dbf, __pyx_k_hashval_ptrtuple_vartuple); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9db3e8b, 0x45614d6, 0xc040dbf, b'hashval, ptrtuple, vartuple')
 *     __pyx_result = Term.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Term__set_state(<Term> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9db3e8b, 0x45614d6, 0xc040dbf, b'hashval, ptrtuple, vartuple')
 *     __pyx_result = Term.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Term__set_state(<Term> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Term.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Term__set_state(<Term> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Term__set_state(Term __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Term__set_state(((struct __pyx_obj_9pyscipopt_4scip_Term *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9db3e8b, 0x45614d6, 0xc040dbf, b'hashval, ptrtuple, vartuple')
 *     __pyx_result = Term.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Term__set_state(<Term> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Term__set_state(<Term> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Term__set_state(Term __pyx_result, __pyx_state: tuple):
 *     __pyx_result.hashval = __pyx_state[0]; __pyx_result.ptrtuple = __pyx_state[1]; __pyx_result.vartuple = __pyx_state[2]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Term(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9db3e8b, 0x45614d6, 0xc040dbf, b'hashval, ptrtuple, vartuple')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Term", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Term__set_state(<Term> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Term__set_state(Term __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.hashval = __pyx_state[0]; __pyx_result.ptrtuple = __pyx_state[1]; __pyx_result.vartuple = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Term__set_state(struct __pyx_obj_9pyscipopt_4scip_Term *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  Py_ssize_t __pyx_t_2;
  int __pyx_t_3;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Term__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Term__set_state(Term __pyx_result, __pyx_state: tuple):
 *     __pyx_result.hashval = __pyx_state[0]; __pyx_result.ptrtuple = __pyx_state[1]; __pyx_result.vartuple = __pyx_state[2]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v___pyx_result->hashval = __pyx_t_2;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->ptrtuple);
  __Pyx_DECREF(__pyx_v___pyx_result->ptrtuple);
  __pyx_v___pyx_result->ptrtuple = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_t_1))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->vartuple);
  __Pyx_DECREF(__pyx_v___pyx_result->vartuple);
  __pyx_v___pyx_result->vartuple = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Term__set_state(Term __pyx_result, __pyx_state: tuple):
 *     __pyx_result.hashval = __pyx_state[0]; __pyx_result.ptrtuple = __pyx_state[1]; __pyx_result.vartuple = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)             # <<<<<<<<<<<<<<
*/
  __pyx_t_3 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 3); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Term__set_state(<Term> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Term__set_state(Term __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.hashval = __pyx_state[0]; __pyx_result.ptrtuple = __pyx_state[1]; __pyx_result.vartuple = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Term__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Expr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x51d2361, 0xce620d6, 0x6f493bf, b'terms')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_43__pyx_unpickle_Expr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_43__pyx_unpickle_Expr = {"__pyx_unpickle_Expr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_43__pyx_unpickle_Expr, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_43__pyx_unpickle_Expr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Expr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Expr", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Expr", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Expr", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Expr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_42__pyx_unpickle_Expr(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_42__pyx_unpickle_Expr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Expr", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Expr(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x51d2361, 0xce620d6, 0x6f493bf, b'terms')             # <<<<<<<<<<<<<<
 *     __pyx_result = Expr.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x51d2361, 0xce620d6, 0x6f493bf, __pyx_k_terms); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x51d2361, 0xce620d6, 0x6f493bf, b'terms')
 *     __pyx_result = Expr.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Expr__set_state(<Expr> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x51d2361, 0xce620d6, 0x6f493bf, b'terms')
 *     __pyx_result = Expr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Expr__set_state(<Expr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Expr.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Expr__set_state(<Expr> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Expr__set_state(Expr __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Expr__set_state(((struct __pyx_obj_9pyscipopt_4scip_Expr *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x51d2361, 0xce620d6, 0x6f493bf, b'terms')
 *     __pyx_result = Expr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Expr__set_state(<Expr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Expr__set_state(<Expr> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Expr__set_state(Expr __pyx_result, __pyx_state: tuple):
 *     __pyx_result.terms = __pyx_state[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Expr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x51d2361, 0xce620d6, 0x6f493bf, b'terms')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Expr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Expr__set_state(<Expr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Expr__set_state(Expr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.terms = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Expr__set_state(struct __pyx_obj_9pyscipopt_4scip_Expr *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Expr__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Expr__set_state(Expr __pyx_result, __pyx_state: tuple):
 *     __pyx_result.terms = __pyx_state[0]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->terms);
  __Pyx_DECREF(__pyx_v___pyx_result->terms);
  __pyx_v___pyx_result->terms = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Expr__set_state(Expr __pyx_result, __pyx_state: tuple):
 *     __pyx_result.terms = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Expr__set_state(<Expr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Expr__set_state(Expr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.terms = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Expr__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_ExprCons(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x8863d2c, 0x181c0f9, 0x8f4795b, b'_lhs, _rhs, expr')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_45__pyx_unpickle_ExprCons(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_45__pyx_unpickle_ExprCons = {"__pyx_unpickle_ExprCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_45__pyx_unpickle_ExprCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_45__pyx_unpickle_ExprCons(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_ExprCons (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_ExprCons", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ExprCons", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ExprCons", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_ExprCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_44__pyx_unpickle_ExprCons(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_44__pyx_unpickle_ExprCons(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_ExprCons", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_ExprCons(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x8863d2c, 0x181c0f9, 0x8f4795b, b'_lhs, _rhs, expr')             # <<<<<<<<<<<<<<
 *     __pyx_result = ExprCons.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x8863d2c, 0x181c0f9, 0x8f4795b, __pyx_k_lhs__rhs_expr); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x8863d2c, 0x181c0f9, 0x8f4795b, b'_lhs, _rhs, expr')
 *     __pyx_result = ExprCons.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_ExprCons__set_state(<ExprCons> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x8863d2c, 0x181c0f9, 0x8f4795b, b'_lhs, _rhs, expr')
 *     __pyx_result = ExprCons.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_ExprCons__set_state(<ExprCons> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = ExprCons.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_ExprCons__set_state(<ExprCons> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_ExprCons__set_state(ExprCons __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_ExprCons__set_state(((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x8863d2c, 0x181c0f9, 0x8f4795b, b'_lhs, _rhs, expr')
 *     __pyx_result = ExprCons.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_ExprCons__set_state(<ExprCons> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_ExprCons__set_state(<ExprCons> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_ExprCons__set_state(ExprCons __pyx_result, __pyx_state: tuple):
 *     __pyx_result._lhs = __pyx_state[0]; __pyx_result._rhs = __pyx_state[1]; __pyx_result.expr = __pyx_state[2]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_ExprCons(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x8863d2c, 0x181c0f9, 0x8f4795b, b'_lhs, _rhs, expr')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_ExprCons", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_ExprCons__set_state(<ExprCons> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_ExprCons__set_state(ExprCons __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._lhs = __pyx_state[0]; __pyx_result._rhs = __pyx_state[1]; __pyx_result.expr = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_ExprCons__set_state(struct __pyx_obj_9pyscipopt_4scip_ExprCons *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_ExprCons__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_ExprCons__set_state(ExprCons __pyx_result, __pyx_state: tuple):
 *     __pyx_result._lhs = __pyx_state[0]; __pyx_result._rhs = __pyx_state[1]; __pyx_result.expr = __pyx_state[2]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->_lhs);
  __Pyx_DECREF(__pyx_v___pyx_result->_lhs);
  __pyx_v___pyx_result->_lhs = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->_rhs);
  __Pyx_DECREF(__pyx_v___pyx_result->_rhs);
  __pyx_v___pyx_result->_rhs = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->expr);
  __Pyx_DECREF(__pyx_v___pyx_result->expr);
  __pyx_v___pyx_result->expr = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_ExprCons__set_state(ExprCons __pyx_result, __pyx_state: tuple):
 *     __pyx_result._lhs = __pyx_state[0]; __pyx_result._rhs = __pyx_state[1]; __pyx_result.expr = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_ExprCons__set_state(<ExprCons> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_ExprCons__set_state(ExprCons __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._lhs = __pyx_state[0]; __pyx_result._rhs = __pyx_state[1]; __pyx_result.expr = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_ExprCons__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_GenExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, b'_op, children')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_47__pyx_unpickle_GenExpr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_47__pyx_unpickle_GenExpr = {"__pyx_unpickle_GenExpr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_47__pyx_unpickle_GenExpr, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_47__pyx_unpickle_GenExpr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_GenExpr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_GenExpr", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_GenExpr", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_GenExpr", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_GenExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_46__pyx_unpickle_GenExpr(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_46__pyx_unpickle_GenExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_GenExpr", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_GenExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, b'_op, children')             # <<<<<<<<<<<<<<
 *     __pyx_result = GenExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, __pyx_k_op_children); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, b'_op, children')
 *     __pyx_result = GenExpr.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_GenExpr__set_state(<GenExpr> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, b'_op, children')
 *     __pyx_result = GenExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_GenExpr__set_state(<GenExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = GenExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_GenExpr__set_state(<GenExpr> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_GenExpr__set_state(GenExpr __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_GenExpr__set_state(((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, b'_op, children')
 *     __pyx_result = GenExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_GenExpr__set_state(<GenExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_GenExpr__set_state(<GenExpr> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_GenExpr__set_state(GenExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_GenExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, b'_op, children')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_GenExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_GenExpr__set_state(<GenExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_GenExpr__set_state(GenExpr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_GenExpr__set_state(struct __pyx_obj_9pyscipopt_4scip_GenExpr *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_GenExpr__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_GenExpr__set_state(GenExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->_op);
  __Pyx_DECREF(__pyx_v___pyx_result->_op);
  __pyx_v___pyx_result->_op = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->children);
  __Pyx_DECREF(__pyx_v___pyx_result->children);
  __pyx_v___pyx_result->children = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_GenExpr__set_state(GenExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 2); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_GenExpr__set_state(<GenExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_GenExpr__set_state(GenExpr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_GenExpr__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_SumExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x3c52fb7, 0x911913a, 0x6d57035, b'_op, children, coefs, constant')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_49__pyx_unpickle_SumExpr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_49__pyx_unpickle_SumExpr = {"__pyx_unpickle_SumExpr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_49__pyx_unpickle_SumExpr, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_49__pyx_unpickle_SumExpr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_SumExpr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_SumExpr", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_SumExpr", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_SumExpr", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_SumExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_48__pyx_unpickle_SumExpr(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_48__pyx_unpickle_SumExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_SumExpr", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_SumExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x3c52fb7, 0x911913a, 0x6d57035, b'_op, children, coefs, constant')             # <<<<<<<<<<<<<<
 *     __pyx_result = SumExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x3c52fb7, 0x911913a, 0x6d57035, __pyx_k_op_children_coefs_constant); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x3c52fb7, 0x911913a, 0x6d57035, b'_op, children, coefs, constant')
 *     __pyx_result = SumExpr.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_SumExpr__set_state(<SumExpr> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_SumExpr);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x3c52fb7, 0x911913a, 0x6d57035, b'_op, children, coefs, constant')
 *     __pyx_result = SumExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_SumExpr__set_state(<SumExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = SumExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_SumExpr__set_state(<SumExpr> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_SumExpr__set_state(SumExpr __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_SumExpr__set_state(((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x3c52fb7, 0x911913a, 0x6d57035, b'_op, children, coefs, constant')
 *     __pyx_result = SumExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_SumExpr__set_state(<SumExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_SumExpr__set_state(<SumExpr> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_SumExpr__set_state(SumExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.coefs = __pyx_state[2]; __pyx_result.constant = __pyx_state[3]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_SumExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x3c52fb7, 0x911913a, 0x6d57035, b'_op, children, coefs, constant')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_SumExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_SumExpr__set_state(<SumExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_SumExpr__set_state(SumExpr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.coefs = __pyx_state[2]; __pyx_result.constant = __pyx_state[3]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 4)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_SumExpr__set_state(struct __pyx_obj_9pyscipopt_4scip_SumExpr *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_SumExpr__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_SumExpr__set_state(SumExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.coefs = __pyx_state[2]; __pyx_result.constant = __pyx_state[3]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 4)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base._op);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base._op);
  __pyx_v___pyx_result->__pyx_base._op = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.children);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.children);
  __pyx_v___pyx_result->__pyx_base.children = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->coefs);
  __Pyx_DECREF(__pyx_v___pyx_result->coefs);
  __pyx_v___pyx_result->coefs = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 3, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->constant);
  __Pyx_DECREF(__pyx_v___pyx_result->constant);
  __pyx_v___pyx_result->constant = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_SumExpr__set_state(SumExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.coefs = __pyx_state[2]; __pyx_result.constant = __pyx_state[3]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 4)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 4); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_SumExpr__set_state(<SumExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_SumExpr__set_state(SumExpr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.coefs = __pyx_state[2]; __pyx_result.constant = __pyx_state[3]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 4)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_SumExpr__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_ProdExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe54af0a, 0xbfe881d, 0x0d1f1a0, b'_op, children, constant')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_51__pyx_unpickle_ProdExpr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_51__pyx_unpickle_ProdExpr = {"__pyx_unpickle_ProdExpr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_51__pyx_unpickle_ProdExpr, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_51__pyx_unpickle_ProdExpr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_ProdExpr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_ProdExpr", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ProdExpr", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_ProdExpr", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_ProdExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_50__pyx_unpickle_ProdExpr(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_50__pyx_unpickle_ProdExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_ProdExpr", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_ProdExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe54af0a, 0xbfe881d, 0x0d1f1a0, b'_op, children, constant')             # <<<<<<<<<<<<<<
 *     __pyx_result = ProdExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe54af0a, 0xbfe881d, 0x0d1f1a0, __pyx_k_op_children_constant); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe54af0a, 0xbfe881d, 0x0d1f1a0, b'_op, children, constant')
 *     __pyx_result = ProdExpr.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_ProdExpr__set_state(<ProdExpr> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ProdExpr);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe54af0a, 0xbfe881d, 0x0d1f1a0, b'_op, children, constant')
 *     __pyx_result = ProdExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_ProdExpr__set_state(<ProdExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = ProdExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_ProdExpr__set_state(<ProdExpr> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_ProdExpr__set_state(ProdExpr __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_ProdExpr__set_state(((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe54af0a, 0xbfe881d, 0x0d1f1a0, b'_op, children, constant')
 *     __pyx_result = ProdExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_ProdExpr__set_state(<ProdExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_ProdExpr__set_state(<ProdExpr> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_ProdExpr__set_state(ProdExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.constant = __pyx_state[2]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_ProdExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe54af0a, 0xbfe881d, 0x0d1f1a0, b'_op, children, constant')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_ProdExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_ProdExpr__set_state(<ProdExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_ProdExpr__set_state(ProdExpr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.constant = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_ProdExpr__set_state(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_ProdExpr__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_ProdExpr__set_state(ProdExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.constant = __pyx_state[2]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base._op);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base._op);
  __pyx_v___pyx_result->__pyx_base._op = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.children);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.children);
  __pyx_v___pyx_result->__pyx_base.children = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->constant);
  __Pyx_DECREF(__pyx_v___pyx_result->constant);
  __pyx_v___pyx_result->constant = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_ProdExpr__set_state(ProdExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.constant = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_ProdExpr__set_state(<ProdExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_ProdExpr__set_state(ProdExpr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.constant = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_ProdExpr__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_VarExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x496e932, 0x80e5b0b, 0xf1ef42d, b'_op, children, var')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_53__pyx_unpickle_VarExpr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_53__pyx_unpickle_VarExpr = {"__pyx_unpickle_VarExpr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_53__pyx_unpickle_VarExpr, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_53__pyx_unpickle_VarExpr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_VarExpr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_VarExpr", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_VarExpr", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_VarExpr", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_VarExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_52__pyx_unpickle_VarExpr(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_52__pyx_unpickle_VarExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_VarExpr", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_VarExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x496e932, 0x80e5b0b, 0xf1ef42d, b'_op, children, var')             # <<<<<<<<<<<<<<
 *     __pyx_result = VarExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x496e932, 0x80e5b0b, 0xf1ef42d, __pyx_k_op_children_var); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x496e932, 0x80e5b0b, 0xf1ef42d, b'_op, children, var')
 *     __pyx_result = VarExpr.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_VarExpr__set_state(<VarExpr> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_VarExpr);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x496e932, 0x80e5b0b, 0xf1ef42d, b'_op, children, var')
 *     __pyx_result = VarExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_VarExpr__set_state(<VarExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = VarExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_VarExpr__set_state(<VarExpr> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_VarExpr__set_state(VarExpr __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_VarExpr__set_state(((struct __pyx_obj_9pyscipopt_4scip_VarExpr *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x496e932, 0x80e5b0b, 0xf1ef42d, b'_op, children, var')
 *     __pyx_result = VarExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_VarExpr__set_state(<VarExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_VarExpr__set_state(<VarExpr> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_VarExpr__set_state(VarExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.var = __pyx_state[2]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_VarExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x496e932, 0x80e5b0b, 0xf1ef42d, b'_op, children, var')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_VarExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_VarExpr__set_state(<VarExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_VarExpr__set_state(VarExpr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.var = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_VarExpr__set_state(struct __pyx_obj_9pyscipopt_4scip_VarExpr *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_VarExpr__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_VarExpr__set_state(VarExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.var = __pyx_state[2]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base._op);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base._op);
  __pyx_v___pyx_result->__pyx_base._op = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.children);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.children);
  __pyx_v___pyx_result->__pyx_base.children = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->var);
  __Pyx_DECREF(__pyx_v___pyx_result->var);
  __pyx_v___pyx_result->var = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_VarExpr__set_state(VarExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.var = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_VarExpr__set_state(<VarExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_VarExpr__set_state(VarExpr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.var = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_VarExpr__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PowExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x4cfb19d, 0xa8a49a6, 0xa5e5fc8, b'_op, children, expo')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_55__pyx_unpickle_PowExpr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_55__pyx_unpickle_PowExpr = {"__pyx_unpickle_PowExpr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_55__pyx_unpickle_PowExpr, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_55__pyx_unpickle_PowExpr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PowExpr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PowExpr", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PowExpr", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PowExpr", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PowExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_54__pyx_unpickle_PowExpr(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_54__pyx_unpickle_PowExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PowExpr", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PowExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x4cfb19d, 0xa8a49a6, 0xa5e5fc8, b'_op, children, expo')             # <<<<<<<<<<<<<<
 *     __pyx_result = PowExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x4cfb19d, 0xa8a49a6, 0xa5e5fc8, __pyx_k_op_children_expo); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x4cfb19d, 0xa8a49a6, 0xa5e5fc8, b'_op, children, expo')
 *     __pyx_result = PowExpr.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PowExpr__set_state(<PowExpr> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PowExpr);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x4cfb19d, 0xa8a49a6, 0xa5e5fc8, b'_op, children, expo')
 *     __pyx_result = PowExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PowExpr__set_state(<PowExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PowExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PowExpr__set_state(<PowExpr> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PowExpr__set_state(PowExpr __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PowExpr__set_state(((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x4cfb19d, 0xa8a49a6, 0xa5e5fc8, b'_op, children, expo')
 *     __pyx_result = PowExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PowExpr__set_state(<PowExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PowExpr__set_state(<PowExpr> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PowExpr__set_state(PowExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.expo = __pyx_state[2]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PowExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x4cfb19d, 0xa8a49a6, 0xa5e5fc8, b'_op, children, expo')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PowExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PowExpr__set_state(<PowExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PowExpr__set_state(PowExpr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.expo = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PowExpr__set_state(struct __pyx_obj_9pyscipopt_4scip_PowExpr *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PowExpr__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PowExpr__set_state(PowExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.expo = __pyx_state[2]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base._op);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base._op);
  __pyx_v___pyx_result->__pyx_base._op = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.children);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.children);
  __pyx_v___pyx_result->__pyx_base.children = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->expo);
  __Pyx_DECREF(__pyx_v___pyx_result->expo);
  __pyx_v___pyx_result->expo = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_PowExpr__set_state(PowExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.expo = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PowExpr__set_state(<PowExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PowExpr__set_state(PowExpr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.expo = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PowExpr__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_UnaryExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, b'_op, children')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_57__pyx_unpickle_UnaryExpr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_57__pyx_unpickle_UnaryExpr = {"__pyx_unpickle_UnaryExpr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_57__pyx_unpickle_UnaryExpr, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_57__pyx_unpickle_UnaryExpr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_UnaryExpr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_UnaryExpr", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_UnaryExpr", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_UnaryExpr", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_UnaryExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_56__pyx_unpickle_UnaryExpr(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_56__pyx_unpickle_UnaryExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_UnaryExpr", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_UnaryExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, b'_op, children')             # <<<<<<<<<<<<<<
 *     __pyx_result = UnaryExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, __pyx_k_op_children); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, b'_op, children')
 *     __pyx_result = UnaryExpr.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_UnaryExpr__set_state(<UnaryExpr> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, b'_op, children')
 *     __pyx_result = UnaryExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_UnaryExpr__set_state(<UnaryExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = UnaryExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_UnaryExpr__set_state(<UnaryExpr> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_UnaryExpr__set_state(UnaryExpr __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_UnaryExpr__set_state(((struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, b'_op, children')
 *     __pyx_result = UnaryExpr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_UnaryExpr__set_state(<UnaryExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_UnaryExpr__set_state(<UnaryExpr> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_UnaryExpr__set_state(UnaryExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_UnaryExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, b'_op, children')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_UnaryExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_UnaryExpr__set_state(<UnaryExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_UnaryExpr__set_state(UnaryExpr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_UnaryExpr__set_state(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_UnaryExpr__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_UnaryExpr__set_state(UnaryExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base._op);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base._op);
  __pyx_v___pyx_result->__pyx_base._op = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.children);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.children);
  __pyx_v___pyx_result->__pyx_base.children = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_UnaryExpr__set_state(UnaryExpr __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 2); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_UnaryExpr__set_state(<UnaryExpr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_UnaryExpr__set_state(UnaryExpr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_UnaryExpr__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Constant(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x7e75df4, 0xc30431f, 0x8ccbbec, b'_op, children, number')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_59__pyx_unpickle_Constant(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_59__pyx_unpickle_Constant = {"__pyx_unpickle_Constant", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_59__pyx_unpickle_Constant, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_59__pyx_unpickle_Constant(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Constant (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Constant", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Constant", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Constant", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_58__pyx_unpickle_Constant(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_58__pyx_unpickle_Constant(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Constant", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Constant(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x7e75df4, 0xc30431f, 0x8ccbbec, b'_op, children, number')             # <<<<<<<<<<<<<<
 *     __pyx_result = Constant.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x7e75df4, 0xc30431f, 0x8ccbbec, __pyx_k_op_children_number); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x7e75df4, 0xc30431f, 0x8ccbbec, b'_op, children, number')
 *     __pyx_result = Constant.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Constant__set_state(<Constant> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constant);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x7e75df4, 0xc30431f, 0x8ccbbec, b'_op, children, number')
 *     __pyx_result = Constant.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Constant__set_state(<Constant> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Constant.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Constant__set_state(<Constant> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Constant__set_state(Constant __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Constant__set_state(((struct __pyx_obj_9pyscipopt_4scip_Constant *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x7e75df4, 0xc30431f, 0x8ccbbec, b'_op, children, number')
 *     __pyx_result = Constant.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Constant__set_state(<Constant> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Constant__set_state(<Constant> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Constant__set_state(Constant __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.number = __pyx_state[2]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Constant(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x7e75df4, 0xc30431f, 0x8ccbbec, b'_op, children, number')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Constant", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Constant__set_state(<Constant> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Constant__set_state(Constant __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.number = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Constant__set_state(struct __pyx_obj_9pyscipopt_4scip_Constant *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Constant__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Constant__set_state(Constant __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.number = __pyx_state[2]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base._op);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base._op);
  __pyx_v___pyx_result->__pyx_base._op = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->__pyx_base.children);
  __Pyx_DECREF(__pyx_v___pyx_result->__pyx_base.children);
  __pyx_v___pyx_result->__pyx_base.children = __pyx_t_1;
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->number);
  __Pyx_DECREF(__pyx_v___pyx_result->number);
  __pyx_v___pyx_result->number = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Constant__set_state(Constant __pyx_result, __pyx_state: tuple):
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.number = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Constant__set_state(<Constant> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Constant__set_state(Constant __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result._op = __pyx_state[0]; __pyx_result.children = __pyx_state[1]; __pyx_result.number = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Constant__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Benderscut(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x5af043b, 0xc68d043, 0xfef88e0, b'benders, model, name')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_61__pyx_unpickle_Benderscut(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_61__pyx_unpickle_Benderscut = {"__pyx_unpickle_Benderscut", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_61__pyx_unpickle_Benderscut, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_61__pyx_unpickle_Benderscut(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Benderscut (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Benderscut", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Benderscut", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Benderscut", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Benderscut", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_60__pyx_unpickle_Benderscut(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_60__pyx_unpickle_Benderscut(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Benderscut", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Benderscut(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x5af043b, 0xc68d043, 0xfef88e0, b'benders, model, name')             # <<<<<<<<<<<<<<
 *     __pyx_result = Benderscut.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x5af043b, 0xc68d043, 0xfef88e0, __pyx_k_benders_model_name); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x5af043b, 0xc68d043, 0xfef88e0, b'benders, model, name')
 *     __pyx_result = Benderscut.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Benderscut__set_state(<Benderscut> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benderscut);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x5af043b, 0xc68d043, 0xfef88e0, b'benders, model, name')
 *     __pyx_result = Benderscut.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Benderscut__set_state(<Benderscut> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Benderscut.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Benderscut__set_state(<Benderscut> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Benderscut__set_state(Benderscut __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Benderscut__set_state(((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x5af043b, 0xc68d043, 0xfef88e0, b'benders, model, name')
 *     __pyx_result = Benderscut.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Benderscut__set_state(<Benderscut> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Benderscut__set_state(<Benderscut> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Benderscut__set_state(Benderscut __pyx_result, __pyx_state: tuple):
 *     __pyx_result.benders = __pyx_state[0]; __pyx_result.model = __pyx_state[1]; __pyx_result.name = __pyx_state[2]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Benderscut(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x5af043b, 0xc68d043, 0xfef88e0, b'benders, model, name')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Benderscut", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Benderscut__set_state(<Benderscut> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Benderscut__set_state(Benderscut __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.benders = __pyx_state[0]; __pyx_result.model = __pyx_state[1]; __pyx_result.name = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Benderscut__set_state(struct __pyx_obj_9pyscipopt_4scip_Benderscut *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Benderscut__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Benderscut__set_state(Benderscut __pyx_result, __pyx_state: tuple):
 *     __pyx_result.benders = __pyx_state[0]; __pyx_result.model = __pyx_state[1]; __pyx_result.name = __pyx_state[2]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders))))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->benders);
  __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->benders);
  __pyx_v___pyx_result->benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->model);
  __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->model);
  __pyx_v___pyx_result->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->name);
  __Pyx_DECREF(__pyx_v___pyx_result->name);
  __pyx_v___pyx_result->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Benderscut__set_state(Benderscut __pyx_result, __pyx_state: tuple):
 *     __pyx_result.benders = __pyx_state[0]; __pyx_result.model = __pyx_state[1]; __pyx_result.name = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 3); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Benderscut__set_state(<Benderscut> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Benderscut__set_state(Benderscut __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.benders = __pyx_state[0]; __pyx_result.model = __pyx_state[1]; __pyx_result.name = __pyx_state[2]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 3)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Benderscut__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Branchrule(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_63__pyx_unpickle_Branchrule(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_63__pyx_unpickle_Branchrule = {"__pyx_unpickle_Branchrule", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_63__pyx_unpickle_Branchrule, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_63__pyx_unpickle_Branchrule(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Branchrule (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Branchrule", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Branchrule", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Branchrule", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Branchrule", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_62__pyx_unpickle_Branchrule(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_62__pyx_unpickle_Branchrule(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Branchrule", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Branchrule(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')             # <<<<<<<<<<<<<<
 *     __pyx_result = Branchrule.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, __pyx_k_model); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Branchrule.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Branchrule__set_state(<Branchrule> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Branchrule);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Branchrule.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Branchrule__set_state(<Branchrule> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Branchrule.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Branchrule__set_state(<Branchrule> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Branchrule__set_state(Branchrule __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Branchrule__set_state(((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Branchrule.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Branchrule__set_state(<Branchrule> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Branchrule__set_state(<Branchrule> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Branchrule__set_state(Branchrule __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Branchrule(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Branchrule", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Branchrule__set_state(<Branchrule> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Branchrule__set_state(Branchrule __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Branchrule__set_state(struct __pyx_obj_9pyscipopt_4scip_Branchrule *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Branchrule__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Branchrule__set_state(Branchrule __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->model);
  __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->model);
  __pyx_v___pyx_result->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Branchrule__set_state(Branchrule __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Branchrule__set_state(<Branchrule> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Branchrule__set_state(Branchrule __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Branchrule__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Conshdlr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_65__pyx_unpickle_Conshdlr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_65__pyx_unpickle_Conshdlr = {"__pyx_unpickle_Conshdlr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_65__pyx_unpickle_Conshdlr, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_65__pyx_unpickle_Conshdlr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Conshdlr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Conshdlr", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Conshdlr", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Conshdlr", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Conshdlr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_64__pyx_unpickle_Conshdlr(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_64__pyx_unpickle_Conshdlr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Conshdlr", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Conshdlr(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')             # <<<<<<<<<<<<<<
 *     __pyx_result = Conshdlr.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, __pyx_k_model_name); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Conshdlr.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Conshdlr__set_state(<Conshdlr> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Conshdlr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Conshdlr__set_state(<Conshdlr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Conshdlr.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Conshdlr__set_state(<Conshdlr> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Conshdlr__set_state(Conshdlr __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Conshdlr__set_state(((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Conshdlr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Conshdlr__set_state(<Conshdlr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Conshdlr__set_state(<Conshdlr> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Conshdlr__set_state(Conshdlr __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Conshdlr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Conshdlr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Conshdlr__set_state(<Conshdlr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Conshdlr__set_state(Conshdlr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Conshdlr__set_state(struct __pyx_obj_9pyscipopt_4scip_Conshdlr *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Conshdlr__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Conshdlr__set_state(Conshdlr __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->model);
  __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->model);
  __pyx_v___pyx_result->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->name);
  __Pyx_DECREF(__pyx_v___pyx_result->name);
  __pyx_v___pyx_result->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Conshdlr__set_state(Conshdlr __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 2); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Conshdlr__set_state(<Conshdlr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Conshdlr__set_state(Conshdlr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Conshdlr__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Cutsel(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_67__pyx_unpickle_Cutsel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_67__pyx_unpickle_Cutsel = {"__pyx_unpickle_Cutsel", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_67__pyx_unpickle_Cutsel, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_67__pyx_unpickle_Cutsel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Cutsel (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Cutsel", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Cutsel", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Cutsel", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Cutsel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_66__pyx_unpickle_Cutsel(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_66__pyx_unpickle_Cutsel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Cutsel", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Cutsel(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')             # <<<<<<<<<<<<<<
 *     __pyx_result = Cutsel.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, __pyx_k_model); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Cutsel.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Cutsel__set_state(<Cutsel> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Cutsel);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Cutsel.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Cutsel__set_state(<Cutsel> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Cutsel.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Cutsel__set_state(<Cutsel> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Cutsel__set_state(Cutsel __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Cutsel__set_state(((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Cutsel.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Cutsel__set_state(<Cutsel> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Cutsel__set_state(<Cutsel> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Cutsel__set_state(Cutsel __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Cutsel(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Cutsel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Cutsel__set_state(<Cutsel> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Cutsel__set_state(Cutsel __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Cutsel__set_state(struct __pyx_obj_9pyscipopt_4scip_Cutsel *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Cutsel__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Cutsel__set_state(Cutsel __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->model);
  __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->model);
  __pyx_v___pyx_result->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Cutsel__set_state(Cutsel __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Cutsel__set_state(<Cutsel> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Cutsel__set_state(Cutsel __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Cutsel__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Eventhdlr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_69__pyx_unpickle_Eventhdlr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_69__pyx_unpickle_Eventhdlr = {"__pyx_unpickle_Eventhdlr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_69__pyx_unpickle_Eventhdlr, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_69__pyx_unpickle_Eventhdlr(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Eventhdlr (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Eventhdlr", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Eventhdlr", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Eventhdlr", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Eventhdlr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_68__pyx_unpickle_Eventhdlr(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_68__pyx_unpickle_Eventhdlr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Eventhdlr", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Eventhdlr(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')             # <<<<<<<<<<<<<<
 *     __pyx_result = Eventhdlr.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, __pyx_k_model_name); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Eventhdlr.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Eventhdlr__set_state(<Eventhdlr> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Eventhdlr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Eventhdlr__set_state(<Eventhdlr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Eventhdlr.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Eventhdlr__set_state(<Eventhdlr> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Eventhdlr__set_state(Eventhdlr __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Eventhdlr__set_state(((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Eventhdlr.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Eventhdlr__set_state(<Eventhdlr> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Eventhdlr__set_state(<Eventhdlr> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Eventhdlr__set_state(Eventhdlr __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Eventhdlr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Eventhdlr", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Eventhdlr__set_state(<Eventhdlr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Eventhdlr__set_state(Eventhdlr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Eventhdlr__set_state(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Eventhdlr__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Eventhdlr__set_state(Eventhdlr __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->model);
  __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->model);
  __pyx_v___pyx_result->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->name);
  __Pyx_DECREF(__pyx_v___pyx_result->name);
  __pyx_v___pyx_result->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Eventhdlr__set_state(Eventhdlr __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 2); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Eventhdlr__set_state(<Eventhdlr> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Eventhdlr__set_state(Eventhdlr __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Eventhdlr__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Heur(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_71__pyx_unpickle_Heur(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_71__pyx_unpickle_Heur = {"__pyx_unpickle_Heur", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_71__pyx_unpickle_Heur, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_71__pyx_unpickle_Heur(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Heur (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Heur", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Heur", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Heur", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Heur", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_70__pyx_unpickle_Heur(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_70__pyx_unpickle_Heur(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Heur", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Heur(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')             # <<<<<<<<<<<<<<
 *     __pyx_result = Heur.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, __pyx_k_model_name); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Heur.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Heur__set_state(<Heur> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Heur.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Heur__set_state(<Heur> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Heur.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Heur__set_state(<Heur> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Heur__set_state(Heur __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Heur__set_state(((struct __pyx_obj_9pyscipopt_4scip_Heur *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Heur.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Heur__set_state(<Heur> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Heur__set_state(<Heur> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Heur__set_state(Heur __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Heur(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Heur", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Heur__set_state(<Heur> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Heur__set_state(Heur __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Heur__set_state(struct __pyx_obj_9pyscipopt_4scip_Heur *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Heur__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Heur__set_state(Heur __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->model);
  __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->model);
  __pyx_v___pyx_result->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->name);
  __Pyx_DECREF(__pyx_v___pyx_result->name);
  __pyx_v___pyx_result->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Heur__set_state(Heur __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 2); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Heur__set_state(<Heur> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Heur__set_state(Heur __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Heur__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Presol(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_73__pyx_unpickle_Presol(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_73__pyx_unpickle_Presol = {"__pyx_unpickle_Presol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_73__pyx_unpickle_Presol, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_73__pyx_unpickle_Presol(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Presol (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Presol", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Presol", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Presol", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Presol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_72__pyx_unpickle_Presol(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_72__pyx_unpickle_Presol(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Presol", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Presol(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')             # <<<<<<<<<<<<<<
 *     __pyx_result = Presol.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, __pyx_k_model); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Presol.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Presol__set_state(<Presol> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Presol);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Presol.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Presol__set_state(<Presol> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Presol.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Presol__set_state(<Presol> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Presol__set_state(Presol __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Presol__set_state(((struct __pyx_obj_9pyscipopt_4scip_Presol *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Presol.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Presol__set_state(<Presol> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Presol__set_state(<Presol> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Presol__set_state(Presol __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Presol(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Presol", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Presol__set_state(<Presol> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Presol__set_state(Presol __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Presol__set_state(struct __pyx_obj_9pyscipopt_4scip_Presol *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Presol__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Presol__set_state(Presol __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->model);
  __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->model);
  __pyx_v___pyx_result->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Presol__set_state(Presol __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Presol__set_state(<Presol> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Presol__set_state(Presol __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Presol__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Prop(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_75__pyx_unpickle_Prop(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_75__pyx_unpickle_Prop = {"__pyx_unpickle_Prop", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_75__pyx_unpickle_Prop, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_75__pyx_unpickle_Prop(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Prop (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Prop", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Prop", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Prop", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Prop", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_74__pyx_unpickle_Prop(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_74__pyx_unpickle_Prop(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Prop", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Prop(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')             # <<<<<<<<<<<<<<
 *     __pyx_result = Prop.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, __pyx_k_model); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Prop.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Prop__set_state(<Prop> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Prop.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Prop__set_state(<Prop> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Prop.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Prop__set_state(<Prop> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Prop__set_state(Prop __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Prop__set_state(((struct __pyx_obj_9pyscipopt_4scip_Prop *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Prop.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Prop__set_state(<Prop> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Prop__set_state(<Prop> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Prop__set_state(Prop __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Prop(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Prop", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Prop__set_state(<Prop> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Prop__set_state(Prop __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Prop__set_state(struct __pyx_obj_9pyscipopt_4scip_Prop *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Prop__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Prop__set_state(Prop __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->model);
  __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->model);
  __pyx_v___pyx_result->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Prop__set_state(Prop __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Prop__set_state(<Prop> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Prop__set_state(Prop __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Prop__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Sepa(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_77__pyx_unpickle_Sepa(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_77__pyx_unpickle_Sepa = {"__pyx_unpickle_Sepa", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_77__pyx_unpickle_Sepa, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_77__pyx_unpickle_Sepa(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Sepa (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Sepa", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Sepa", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Sepa", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Sepa", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_76__pyx_unpickle_Sepa(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_76__pyx_unpickle_Sepa(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Sepa", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Sepa(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')             # <<<<<<<<<<<<<<
 *     __pyx_result = Sepa.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, __pyx_k_model_name); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Sepa.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Sepa__set_state(<Sepa> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Sepa);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Sepa.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Sepa__set_state(<Sepa> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Sepa.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Sepa__set_state(<Sepa> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Sepa__set_state(Sepa __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Sepa__set_state(((struct __pyx_obj_9pyscipopt_4scip_Sepa *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Sepa.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Sepa__set_state(<Sepa> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Sepa__set_state(<Sepa> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Sepa__set_state(Sepa __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Sepa(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Sepa", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Sepa__set_state(<Sepa> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Sepa__set_state(Sepa __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Sepa__set_state(struct __pyx_obj_9pyscipopt_4scip_Sepa *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Sepa__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Sepa__set_state(Sepa __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->model);
  __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->model);
  __pyx_v___pyx_result->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->name);
  __Pyx_DECREF(__pyx_v___pyx_result->name);
  __pyx_v___pyx_result->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Sepa__set_state(Sepa __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 2); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Sepa__set_state(<Sepa> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Sepa__set_state(Sepa __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Sepa__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Reader(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_79__pyx_unpickle_Reader(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_79__pyx_unpickle_Reader = {"__pyx_unpickle_Reader", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_79__pyx_unpickle_Reader, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_79__pyx_unpickle_Reader(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Reader (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Reader", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Reader", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Reader", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Reader", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_78__pyx_unpickle_Reader(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_78__pyx_unpickle_Reader(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Reader", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Reader(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')             # <<<<<<<<<<<<<<
 *     __pyx_result = Reader.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, __pyx_k_model_name); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Reader.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Reader__set_state(<Reader> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Reader);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Reader.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Reader__set_state(<Reader> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Reader.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Reader__set_state(<Reader> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Reader__set_state(Reader __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Reader__set_state(((struct __pyx_obj_9pyscipopt_4scip_Reader *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Reader.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Reader__set_state(<Reader> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Reader__set_state(<Reader> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Reader__set_state(Reader __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Reader(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Reader", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Reader__set_state(<Reader> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Reader__set_state(Reader __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Reader__set_state(struct __pyx_obj_9pyscipopt_4scip_Reader *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Reader__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Reader__set_state(Reader __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->model);
  __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->model);
  __pyx_v___pyx_result->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->name);
  __Pyx_DECREF(__pyx_v___pyx_result->name);
  __pyx_v___pyx_result->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Reader__set_state(Reader __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 2); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Reader__set_state(<Reader> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Reader__set_state(Reader __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Reader__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Relax(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_81__pyx_unpickle_Relax(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_81__pyx_unpickle_Relax = {"__pyx_unpickle_Relax", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_81__pyx_unpickle_Relax, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_81__pyx_unpickle_Relax(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Relax (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Relax", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Relax", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Relax", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Relax", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_80__pyx_unpickle_Relax(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_80__pyx_unpickle_Relax(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Relax", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Relax(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')             # <<<<<<<<<<<<<<
 *     __pyx_result = Relax.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, __pyx_k_model_name); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Relax.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Relax__set_state(<Relax> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Relax);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Relax.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Relax__set_state(<Relax> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Relax.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Relax__set_state(<Relax> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Relax__set_state(Relax __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Relax__set_state(((struct __pyx_obj_9pyscipopt_4scip_Relax *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
 *     __pyx_result = Relax.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Relax__set_state(<Relax> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Relax__set_state(<Relax> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Relax__set_state(Relax __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Relax(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Relax", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Relax__set_state(<Relax> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Relax__set_state(Relax __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Relax__set_state(struct __pyx_obj_9pyscipopt_4scip_Relax *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Relax__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Relax__set_state(Relax __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->model);
  __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->model);
  __pyx_v___pyx_result->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("str", __pyx_t_1))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF(__pyx_v___pyx_result->name);
  __Pyx_DECREF(__pyx_v___pyx_result->name);
  __pyx_v___pyx_result->name = ((PyObject*)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Relax__set_state(Relax __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 2); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Relax__set_state(<Relax> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Relax__set_state(Relax __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]; __pyx_result.name = __pyx_state[1]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 2)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Relax__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Nodesel(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_83__pyx_unpickle_Nodesel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_83__pyx_unpickle_Nodesel = {"__pyx_unpickle_Nodesel", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_83__pyx_unpickle_Nodesel, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_83__pyx_unpickle_Nodesel(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_Nodesel (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_Nodesel", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Nodesel", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Nodesel", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Nodesel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_82__pyx_unpickle_Nodesel(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_82__pyx_unpickle_Nodesel(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Nodesel", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_Nodesel(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')             # <<<<<<<<<<<<<<
 *     __pyx_result = Nodesel.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, __pyx_k_model); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Nodesel.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Nodesel__set_state(<Nodesel> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Nodesel);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Nodesel.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Nodesel__set_state(<Nodesel> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = Nodesel.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Nodesel__set_state(<Nodesel> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_Nodesel__set_state(Nodesel __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_Nodesel__set_state(((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
 *     __pyx_result = Nodesel.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_Nodesel__set_state(<Nodesel> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_Nodesel__set_state(<Nodesel> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_Nodesel__set_state(Nodesel __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Nodesel(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Nodesel", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_Nodesel__set_state(<Nodesel> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Nodesel__set_state(Nodesel __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_Nodesel__set_state(struct __pyx_obj_9pyscipopt_4scip_Nodesel *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_Nodesel__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_Nodesel__set_state(Nodesel __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/
  __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyLong_From_long, 0, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model))))) __PYX_ERR(5, 12, __pyx_L1_error)
  __Pyx_GIVEREF(__pyx_t_1);
  __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->model);
  __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->model);
  __pyx_v___pyx_result->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)__pyx_t_1);
  __pyx_t_1 = 0;

  /* "(tree fragment)":13
 * cdef __pyx_unpickle_Nodesel__set_state(Nodesel __pyx_result, __pyx_state: tuple):
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)             # <<<<<<<<<<<<<<
*/
  __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 13, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_Nodesel__set_state(<Nodesel> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_Nodesel__set_state(Nodesel __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __pyx_result.model = __pyx_state[0]
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 1)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_Nodesel__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_RESULT(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_88__pyx_unpickle_PY_SCIP_RESULT(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_88__pyx_unpickle_PY_SCIP_RESULT = {"__pyx_unpickle_PY_SCIP_RESULT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_88__pyx_unpickle_PY_SCIP_RESULT, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_88__pyx_unpickle_PY_SCIP_RESULT(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_RESULT (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_RESULT", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_RESULT", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_RESULT", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_RESULT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_87__pyx_unpickle_PY_SCIP_RESULT(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_87__pyx_unpickle_PY_SCIP_RESULT(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_RESULT", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_RESULT(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_RESULT.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_RESULT.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_RESULT__set_state(<PY_SCIP_RESULT> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_RESULT.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_RESULT__set_state(<PY_SCIP_RESULT> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_RESULT.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_RESULT__set_state(<PY_SCIP_RESULT> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_RESULT__set_state(PY_SCIP_RESULT __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_RESULT__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_RESULT *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_RESULT.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_RESULT__set_state(<PY_SCIP_RESULT> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_RESULT__set_state(<PY_SCIP_RESULT> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_RESULT__set_state(PY_SCIP_RESULT __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_RESULT(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_RESULT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_RESULT__set_state(<PY_SCIP_RESULT> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_RESULT__set_state(PY_SCIP_RESULT __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_RESULT__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_RESULT *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_RESULT__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_RESULT__set_state(PY_SCIP_RESULT __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_RESULT__set_state(<PY_SCIP_RESULT> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_RESULT__set_state(PY_SCIP_RESULT __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_RESULT__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_PARAMSETTING(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_90__pyx_unpickle_PY_SCIP_PARAMSETTING(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_90__pyx_unpickle_PY_SCIP_PARAMSETTING = {"__pyx_unpickle_PY_SCIP_PARAMSETTING", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_90__pyx_unpickle_PY_SCIP_PARAMSETTING, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_90__pyx_unpickle_PY_SCIP_PARAMSETTING(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_PARAMSETTING (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_PARAMSETTING", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_PARAMSETTING", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_PARAMSETTING", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_PARAMSETTING", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_89__pyx_unpickle_PY_SCIP_PARAMSETTING(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_89__pyx_unpickle_PY_SCIP_PARAMSETTING(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_PARAMSETTING", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_PARAMSETTING(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_PARAMSETTING.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_PARAMSETTING.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(<PY_SCIP_PARAMSETTING> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_PARAMSETTING.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(<PY_SCIP_PARAMSETTING> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_PARAMSETTING.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(<PY_SCIP_PARAMSETTING> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(PY_SCIP_PARAMSETTING __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMSETTING *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_PARAMSETTING.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(<PY_SCIP_PARAMSETTING> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(<PY_SCIP_PARAMSETTING> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(PY_SCIP_PARAMSETTING __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_PARAMSETTING(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_PARAMSETTING", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(<PY_SCIP_PARAMSETTING> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(PY_SCIP_PARAMSETTING __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMSETTING *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_PARAMSETTING__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(PY_SCIP_PARAMSETTING __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(<PY_SCIP_PARAMSETTING> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(PY_SCIP_PARAMSETTING __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_PARAMSETTING__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_LPPARAM(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_92__pyx_unpickle_PY_SCIP_LPPARAM(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_92__pyx_unpickle_PY_SCIP_LPPARAM = {"__pyx_unpickle_PY_SCIP_LPPARAM", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_92__pyx_unpickle_PY_SCIP_LPPARAM, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_92__pyx_unpickle_PY_SCIP_LPPARAM(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_LPPARAM (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_LPPARAM", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_LPPARAM", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_LPPARAM", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_LPPARAM", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_91__pyx_unpickle_PY_SCIP_LPPARAM(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_91__pyx_unpickle_PY_SCIP_LPPARAM(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_LPPARAM", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_LPPARAM(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_LPPARAM.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_LPPARAM.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_LPPARAM__set_state(<PY_SCIP_LPPARAM> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_LPPARAM.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_LPPARAM__set_state(<PY_SCIP_LPPARAM> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_LPPARAM.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_LPPARAM__set_state(<PY_SCIP_LPPARAM> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_LPPARAM__set_state(PY_SCIP_LPPARAM __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_LPPARAM__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPPARAM *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_LPPARAM.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_LPPARAM__set_state(<PY_SCIP_LPPARAM> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_LPPARAM__set_state(<PY_SCIP_LPPARAM> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_LPPARAM__set_state(PY_SCIP_LPPARAM __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_LPPARAM(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_LPPARAM", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_LPPARAM__set_state(<PY_SCIP_LPPARAM> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_LPPARAM__set_state(PY_SCIP_LPPARAM __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_LPPARAM__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPPARAM *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_LPPARAM__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_LPPARAM__set_state(PY_SCIP_LPPARAM __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_LPPARAM__set_state(<PY_SCIP_LPPARAM> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_LPPARAM__set_state(PY_SCIP_LPPARAM __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_LPPARAM__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_PARAMEMPHASIS(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_94__pyx_unpickle_PY_SCIP_PARAMEMPHASIS(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_94__pyx_unpickle_PY_SCIP_PARAMEMPHASIS = {"__pyx_unpickle_PY_SCIP_PARAMEMPHASIS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_94__pyx_unpickle_PY_SCIP_PARAMEMPHASIS, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_94__pyx_unpickle_PY_SCIP_PARAMEMPHASIS(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_PARAMEMPHASIS (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_PARAMEMPHASIS", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_PARAMEMPHASIS", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_PARAMEMPHASIS", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_PARAMEMPHASIS", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_93__pyx_unpickle_PY_SCIP_PARAMEMPHASIS(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_93__pyx_unpickle_PY_SCIP_PARAMEMPHASIS(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_PARAMEMPHASIS", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_PARAMEMPHASIS(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_PARAMEMPHASIS.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_PARAMEMPHASIS.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(<PY_SCIP_PARAMEMPHASIS> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_PARAMEMPHASIS.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(<PY_SCIP_PARAMEMPHASIS> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_PARAMEMPHASIS.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(<PY_SCIP_PARAMEMPHASIS> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(PY_SCIP_PARAMEMPHASIS __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_PARAMEMPHASIS.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(<PY_SCIP_PARAMEMPHASIS> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(<PY_SCIP_PARAMEMPHASIS> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(PY_SCIP_PARAMEMPHASIS __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_PARAMEMPHASIS(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_PARAMEMPHASIS", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(<PY_SCIP_PARAMEMPHASIS> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(PY_SCIP_PARAMEMPHASIS __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(PY_SCIP_PARAMEMPHASIS __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(<PY_SCIP_PARAMEMPHASIS> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(PY_SCIP_PARAMEMPHASIS __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_STATUS(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_96__pyx_unpickle_PY_SCIP_STATUS(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_96__pyx_unpickle_PY_SCIP_STATUS = {"__pyx_unpickle_PY_SCIP_STATUS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_96__pyx_unpickle_PY_SCIP_STATUS, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_96__pyx_unpickle_PY_SCIP_STATUS(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_STATUS (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_STATUS", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_STATUS", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_STATUS", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_STATUS", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_95__pyx_unpickle_PY_SCIP_STATUS(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_95__pyx_unpickle_PY_SCIP_STATUS(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_STATUS", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_STATUS(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_STATUS.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_STATUS.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_STATUS__set_state(<PY_SCIP_STATUS> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_STATUS.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_STATUS__set_state(<PY_SCIP_STATUS> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_STATUS.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_STATUS__set_state(<PY_SCIP_STATUS> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_STATUS__set_state(PY_SCIP_STATUS __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_STATUS__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STATUS *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_STATUS.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_STATUS__set_state(<PY_SCIP_STATUS> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_STATUS__set_state(<PY_SCIP_STATUS> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_STATUS__set_state(PY_SCIP_STATUS __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_STATUS(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_STATUS", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_STATUS__set_state(<PY_SCIP_STATUS> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_STATUS__set_state(PY_SCIP_STATUS __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_STATUS__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STATUS *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_STATUS__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_STATUS__set_state(PY_SCIP_STATUS __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_STATUS__set_state(<PY_SCIP_STATUS> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_STATUS__set_state(PY_SCIP_STATUS __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_STATUS__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_STAGE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_98__pyx_unpickle_PY_SCIP_STAGE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_98__pyx_unpickle_PY_SCIP_STAGE = {"__pyx_unpickle_PY_SCIP_STAGE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_98__pyx_unpickle_PY_SCIP_STAGE, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_98__pyx_unpickle_PY_SCIP_STAGE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_STAGE (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_STAGE", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_STAGE", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_STAGE", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_STAGE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_97__pyx_unpickle_PY_SCIP_STAGE(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_97__pyx_unpickle_PY_SCIP_STAGE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_STAGE", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_STAGE(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_STAGE.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_STAGE.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_STAGE__set_state(<PY_SCIP_STAGE> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_STAGE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_STAGE__set_state(<PY_SCIP_STAGE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_STAGE.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_STAGE__set_state(<PY_SCIP_STAGE> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_STAGE__set_state(PY_SCIP_STAGE __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_STAGE__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STAGE *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_STAGE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_STAGE__set_state(<PY_SCIP_STAGE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_STAGE__set_state(<PY_SCIP_STAGE> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_STAGE__set_state(PY_SCIP_STAGE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_STAGE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_STAGE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_STAGE__set_state(<PY_SCIP_STAGE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_STAGE__set_state(PY_SCIP_STAGE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_STAGE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STAGE *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_STAGE__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_STAGE__set_state(PY_SCIP_STAGE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_STAGE__set_state(<PY_SCIP_STAGE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_STAGE__set_state(PY_SCIP_STAGE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_STAGE__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_NODETYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_100__pyx_unpickle_PY_SCIP_NODETYPE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_100__pyx_unpickle_PY_SCIP_NODETYPE = {"__pyx_unpickle_PY_SCIP_NODETYPE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_100__pyx_unpickle_PY_SCIP_NODETYPE, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_100__pyx_unpickle_PY_SCIP_NODETYPE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_NODETYPE (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_NODETYPE", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_NODETYPE", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_NODETYPE", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_NODETYPE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_99__pyx_unpickle_PY_SCIP_NODETYPE(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_99__pyx_unpickle_PY_SCIP_NODETYPE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_NODETYPE", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_NODETYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_NODETYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_NODETYPE.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_NODETYPE__set_state(<PY_SCIP_NODETYPE> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_NODETYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_NODETYPE__set_state(<PY_SCIP_NODETYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_NODETYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_NODETYPE__set_state(<PY_SCIP_NODETYPE> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_NODETYPE__set_state(PY_SCIP_NODETYPE __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_NODETYPE__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_NODETYPE *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_NODETYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_NODETYPE__set_state(<PY_SCIP_NODETYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_NODETYPE__set_state(<PY_SCIP_NODETYPE> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_NODETYPE__set_state(PY_SCIP_NODETYPE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_NODETYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_NODETYPE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_NODETYPE__set_state(<PY_SCIP_NODETYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_NODETYPE__set_state(PY_SCIP_NODETYPE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_NODETYPE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_NODETYPE *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_NODETYPE__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_NODETYPE__set_state(PY_SCIP_NODETYPE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_NODETYPE__set_state(<PY_SCIP_NODETYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_NODETYPE__set_state(PY_SCIP_NODETYPE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_NODETYPE__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_PROPTIMING(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_102__pyx_unpickle_PY_SCIP_PROPTIMING(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_102__pyx_unpickle_PY_SCIP_PROPTIMING = {"__pyx_unpickle_PY_SCIP_PROPTIMING", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_102__pyx_unpickle_PY_SCIP_PROPTIMING, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_102__pyx_unpickle_PY_SCIP_PROPTIMING(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_PROPTIMING (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_PROPTIMING", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_PROPTIMING", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_PROPTIMING", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_PROPTIMING", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_101__pyx_unpickle_PY_SCIP_PROPTIMING(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_101__pyx_unpickle_PY_SCIP_PROPTIMING(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_PROPTIMING", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_PROPTIMING(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_PROPTIMING.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_PROPTIMING.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(<PY_SCIP_PROPTIMING> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_PROPTIMING.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(<PY_SCIP_PROPTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_PROPTIMING.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(<PY_SCIP_PROPTIMING> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(PY_SCIP_PROPTIMING __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PROPTIMING__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PROPTIMING *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_PROPTIMING.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(<PY_SCIP_PROPTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(<PY_SCIP_PROPTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(PY_SCIP_PROPTIMING __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_PROPTIMING(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_PROPTIMING", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(<PY_SCIP_PROPTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(PY_SCIP_PROPTIMING __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PROPTIMING__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PROPTIMING *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_PROPTIMING__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(PY_SCIP_PROPTIMING __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(<PY_SCIP_PROPTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(PY_SCIP_PROPTIMING __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_PROPTIMING__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_PRESOLTIMING(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_104__pyx_unpickle_PY_SCIP_PRESOLTIMING(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_104__pyx_unpickle_PY_SCIP_PRESOLTIMING = {"__pyx_unpickle_PY_SCIP_PRESOLTIMING", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_104__pyx_unpickle_PY_SCIP_PRESOLTIMING, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_104__pyx_unpickle_PY_SCIP_PRESOLTIMING(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_PRESOLTIMING (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_PRESOLTIMING", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_PRESOLTIMING", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_PRESOLTIMING", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_PRESOLTIMING", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_103__pyx_unpickle_PY_SCIP_PRESOLTIMING(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_103__pyx_unpickle_PY_SCIP_PRESOLTIMING(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_PRESOLTIMING", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_PRESOLTIMING(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_PRESOLTIMING.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_PRESOLTIMING.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(<PY_SCIP_PRESOLTIMING> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_PRESOLTIMING.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(<PY_SCIP_PRESOLTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_PRESOLTIMING.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(<PY_SCIP_PRESOLTIMING> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(PY_SCIP_PRESOLTIMING __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_PRESOLTIMING.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(<PY_SCIP_PRESOLTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(<PY_SCIP_PRESOLTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(PY_SCIP_PRESOLTIMING __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_PRESOLTIMING(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_PRESOLTIMING", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(<PY_SCIP_PRESOLTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(PY_SCIP_PRESOLTIMING __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(PY_SCIP_PRESOLTIMING __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(<PY_SCIP_PRESOLTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(PY_SCIP_PRESOLTIMING __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_HEURTIMING(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_106__pyx_unpickle_PY_SCIP_HEURTIMING(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_106__pyx_unpickle_PY_SCIP_HEURTIMING = {"__pyx_unpickle_PY_SCIP_HEURTIMING", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_106__pyx_unpickle_PY_SCIP_HEURTIMING, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_106__pyx_unpickle_PY_SCIP_HEURTIMING(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_HEURTIMING (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_HEURTIMING", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_HEURTIMING", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_HEURTIMING", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_HEURTIMING", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_105__pyx_unpickle_PY_SCIP_HEURTIMING(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_105__pyx_unpickle_PY_SCIP_HEURTIMING(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_HEURTIMING", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_HEURTIMING(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_HEURTIMING.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_HEURTIMING.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(<PY_SCIP_HEURTIMING> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_HEURTIMING.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(<PY_SCIP_HEURTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_HEURTIMING.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(<PY_SCIP_HEURTIMING> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(PY_SCIP_HEURTIMING __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_HEURTIMING__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_HEURTIMING *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_HEURTIMING.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(<PY_SCIP_HEURTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(<PY_SCIP_HEURTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(PY_SCIP_HEURTIMING __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_HEURTIMING(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_HEURTIMING", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(<PY_SCIP_HEURTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(PY_SCIP_HEURTIMING __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_HEURTIMING__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_HEURTIMING *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_HEURTIMING__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(PY_SCIP_HEURTIMING __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(<PY_SCIP_HEURTIMING> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(PY_SCIP_HEURTIMING __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_HEURTIMING__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_EVENTTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_108__pyx_unpickle_PY_SCIP_EVENTTYPE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_108__pyx_unpickle_PY_SCIP_EVENTTYPE = {"__pyx_unpickle_PY_SCIP_EVENTTYPE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_108__pyx_unpickle_PY_SCIP_EVENTTYPE, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_108__pyx_unpickle_PY_SCIP_EVENTTYPE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_EVENTTYPE (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_EVENTTYPE", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_EVENTTYPE", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_EVENTTYPE", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_EVENTTYPE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_107__pyx_unpickle_PY_SCIP_EVENTTYPE(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_107__pyx_unpickle_PY_SCIP_EVENTTYPE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_EVENTTYPE", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_EVENTTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_EVENTTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_EVENTTYPE.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(<PY_SCIP_EVENTTYPE> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_EVENTTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(<PY_SCIP_EVENTTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_EVENTTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(<PY_SCIP_EVENTTYPE> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(PY_SCIP_EVENTTYPE __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_EVENTTYPE *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_EVENTTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(<PY_SCIP_EVENTTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(<PY_SCIP_EVENTTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(PY_SCIP_EVENTTYPE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_EVENTTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_EVENTTYPE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(<PY_SCIP_EVENTTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(PY_SCIP_EVENTTYPE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_EVENTTYPE *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_EVENTTYPE__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(PY_SCIP_EVENTTYPE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(<PY_SCIP_EVENTTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(PY_SCIP_EVENTTYPE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_EVENTTYPE__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_LOCKTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_110__pyx_unpickle_PY_SCIP_LOCKTYPE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_110__pyx_unpickle_PY_SCIP_LOCKTYPE = {"__pyx_unpickle_PY_SCIP_LOCKTYPE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_110__pyx_unpickle_PY_SCIP_LOCKTYPE, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_110__pyx_unpickle_PY_SCIP_LOCKTYPE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_LOCKTYPE (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_LOCKTYPE", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_LOCKTYPE", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_LOCKTYPE", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_LOCKTYPE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_109__pyx_unpickle_PY_SCIP_LOCKTYPE(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_109__pyx_unpickle_PY_SCIP_LOCKTYPE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_LOCKTYPE", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_LOCKTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_LOCKTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_LOCKTYPE.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(<PY_SCIP_LOCKTYPE> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_LOCKTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(<PY_SCIP_LOCKTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_LOCKTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(<PY_SCIP_LOCKTYPE> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(PY_SCIP_LOCKTYPE __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LOCKTYPE *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_LOCKTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(<PY_SCIP_LOCKTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(<PY_SCIP_LOCKTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(PY_SCIP_LOCKTYPE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_LOCKTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_LOCKTYPE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(<PY_SCIP_LOCKTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(PY_SCIP_LOCKTYPE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LOCKTYPE *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_LOCKTYPE__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(PY_SCIP_LOCKTYPE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(<PY_SCIP_LOCKTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(PY_SCIP_LOCKTYPE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_LOCKTYPE__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_IMPLINTTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_112__pyx_unpickle_PY_SCIP_IMPLINTTYPE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_112__pyx_unpickle_PY_SCIP_IMPLINTTYPE = {"__pyx_unpickle_PY_SCIP_IMPLINTTYPE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_112__pyx_unpickle_PY_SCIP_IMPLINTTYPE, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_112__pyx_unpickle_PY_SCIP_IMPLINTTYPE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_IMPLINTTYPE (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_IMPLINTTYPE", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_IMPLINTTYPE", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_IMPLINTTYPE", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_IMPLINTTYPE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_111__pyx_unpickle_PY_SCIP_IMPLINTTYPE(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_111__pyx_unpickle_PY_SCIP_IMPLINTTYPE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_IMPLINTTYPE", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_IMPLINTTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_IMPLINTTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_IMPLINTTYPE.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(<PY_SCIP_IMPLINTTYPE> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_IMPLINTTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(<PY_SCIP_IMPLINTTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_IMPLINTTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(<PY_SCIP_IMPLINTTYPE> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(PY_SCIP_IMPLINTTYPE __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_IMPLINTTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(<PY_SCIP_IMPLINTTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(<PY_SCIP_IMPLINTTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(PY_SCIP_IMPLINTTYPE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_IMPLINTTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_IMPLINTTYPE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(<PY_SCIP_IMPLINTTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(PY_SCIP_IMPLINTTYPE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(PY_SCIP_IMPLINTTYPE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(<PY_SCIP_IMPLINTTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(PY_SCIP_IMPLINTTYPE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_LPSOLSTAT(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_114__pyx_unpickle_PY_SCIP_LPSOLSTAT(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_114__pyx_unpickle_PY_SCIP_LPSOLSTAT = {"__pyx_unpickle_PY_SCIP_LPSOLSTAT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_114__pyx_unpickle_PY_SCIP_LPSOLSTAT, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_114__pyx_unpickle_PY_SCIP_LPSOLSTAT(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_LPSOLSTAT (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_LPSOLSTAT", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_LPSOLSTAT", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_LPSOLSTAT", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_LPSOLSTAT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_113__pyx_unpickle_PY_SCIP_LPSOLSTAT(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_113__pyx_unpickle_PY_SCIP_LPSOLSTAT(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_LPSOLSTAT", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_LPSOLSTAT(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_LPSOLSTAT.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_LPSOLSTAT.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(<PY_SCIP_LPSOLSTAT> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_LPSOLSTAT.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(<PY_SCIP_LPSOLSTAT> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_LPSOLSTAT.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(<PY_SCIP_LPSOLSTAT> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(PY_SCIP_LPSOLSTAT __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_LPSOLSTAT.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(<PY_SCIP_LPSOLSTAT> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(<PY_SCIP_LPSOLSTAT> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(PY_SCIP_LPSOLSTAT __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_LPSOLSTAT(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_LPSOLSTAT", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(<PY_SCIP_LPSOLSTAT> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(PY_SCIP_LPSOLSTAT __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(PY_SCIP_LPSOLSTAT __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(<PY_SCIP_LPSOLSTAT> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(PY_SCIP_LPSOLSTAT __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_BRANCHDIR(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_116__pyx_unpickle_PY_SCIP_BRANCHDIR(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_116__pyx_unpickle_PY_SCIP_BRANCHDIR = {"__pyx_unpickle_PY_SCIP_BRANCHDIR", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_116__pyx_unpickle_PY_SCIP_BRANCHDIR, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_116__pyx_unpickle_PY_SCIP_BRANCHDIR(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_BRANCHDIR (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_BRANCHDIR", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_BRANCHDIR", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_BRANCHDIR", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_BRANCHDIR", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_115__pyx_unpickle_PY_SCIP_BRANCHDIR(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_115__pyx_unpickle_PY_SCIP_BRANCHDIR(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_BRANCHDIR", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_BRANCHDIR(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_BRANCHDIR.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_BRANCHDIR.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(<PY_SCIP_BRANCHDIR> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_BRANCHDIR.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(<PY_SCIP_BRANCHDIR> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_BRANCHDIR.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(<PY_SCIP_BRANCHDIR> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(PY_SCIP_BRANCHDIR __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BRANCHDIR *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_BRANCHDIR.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(<PY_SCIP_BRANCHDIR> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(<PY_SCIP_BRANCHDIR> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(PY_SCIP_BRANCHDIR __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_BRANCHDIR(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_BRANCHDIR", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(<PY_SCIP_BRANCHDIR> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(PY_SCIP_BRANCHDIR __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BRANCHDIR *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_BRANCHDIR__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(PY_SCIP_BRANCHDIR __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(<PY_SCIP_BRANCHDIR> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(PY_SCIP_BRANCHDIR __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_BRANCHDIR__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_118__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_118__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE = {"__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_118__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_118__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_117__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_117__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_BENDERSENFOTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_BENDERSENFOTYPE.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(<PY_SCIP_BENDERSENFOTYPE> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_BENDERSENFOTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(<PY_SCIP_BENDERSENFOTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_BENDERSENFOTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(<PY_SCIP_BENDERSENFOTYPE> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(PY_SCIP_BENDERSENFOTYPE __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_BENDERSENFOTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(<PY_SCIP_BENDERSENFOTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(<PY_SCIP_BENDERSENFOTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(PY_SCIP_BENDERSENFOTYPE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(<PY_SCIP_BENDERSENFOTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(PY_SCIP_BENDERSENFOTYPE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(PY_SCIP_BENDERSENFOTYPE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(<PY_SCIP_BENDERSENFOTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(PY_SCIP_BENDERSENFOTYPE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_ROWORIGINTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_120__pyx_unpickle_PY_SCIP_ROWORIGINTYPE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_120__pyx_unpickle_PY_SCIP_ROWORIGINTYPE = {"__pyx_unpickle_PY_SCIP_ROWORIGINTYPE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_120__pyx_unpickle_PY_SCIP_ROWORIGINTYPE, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_120__pyx_unpickle_PY_SCIP_ROWORIGINTYPE(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_ROWORIGINTYPE (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_ROWORIGINTYPE", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_ROWORIGINTYPE", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_ROWORIGINTYPE", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_ROWORIGINTYPE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_119__pyx_unpickle_PY_SCIP_ROWORIGINTYPE(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_119__pyx_unpickle_PY_SCIP_ROWORIGINTYPE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_ROWORIGINTYPE", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_ROWORIGINTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_ROWORIGINTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_ROWORIGINTYPE.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(<PY_SCIP_ROWORIGINTYPE> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_ROWORIGINTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(<PY_SCIP_ROWORIGINTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_ROWORIGINTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(<PY_SCIP_ROWORIGINTYPE> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(PY_SCIP_ROWORIGINTYPE __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_ROWORIGINTYPE.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(<PY_SCIP_ROWORIGINTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(<PY_SCIP_ROWORIGINTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(PY_SCIP_ROWORIGINTYPE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_ROWORIGINTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_ROWORIGINTYPE", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(<PY_SCIP_ROWORIGINTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(PY_SCIP_ROWORIGINTYPE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(PY_SCIP_ROWORIGINTYPE __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(<PY_SCIP_ROWORIGINTYPE> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(PY_SCIP_ROWORIGINTYPE __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_SOLORIGIN(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

/* Python wrapper */
static PyObject *__pyx_pw_9pyscipopt_4scip_122__pyx_unpickle_PY_SCIP_SOLORIGIN(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
); /*proto*/
static PyMethodDef __pyx_mdef_9pyscipopt_4scip_122__pyx_unpickle_PY_SCIP_SOLORIGIN = {"__pyx_unpickle_PY_SCIP_SOLORIGIN", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_122__pyx_unpickle_PY_SCIP_SOLORIGIN, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_9pyscipopt_4scip_122__pyx_unpickle_PY_SCIP_SOLORIGIN(PyObject *__pyx_self, 
#if CYTHON_METH_FASTCALL
PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
#else
PyObject *__pyx_args, PyObject *__pyx_kwds
#endif
) {
  PyObject *__pyx_v___pyx_type = 0;
  long __pyx_v___pyx_checksum;
  PyObject *__pyx_v___pyx_state = 0;
  #if !CYTHON_METH_FASTCALL
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
  #endif
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
  PyObject* values[3] = {0,0,0};
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_SOLORIGIN (wrapper)", 0);
  #if !CYTHON_METH_FASTCALL
  #if CYTHON_ASSUME_SAFE_SIZE
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
  #else
  __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
  #endif
  #endif
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
  {
    PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
    const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
    if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(5, 4, __pyx_L3_error)
    if (__pyx_kwds_len > 0) {
      switch (__pyx_nargs) {
        case  3:
        values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  2:
        values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  1:
        values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
        if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      const Py_ssize_t kwd_pos_args = __pyx_nargs;
      if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "__pyx_unpickle_PY_SCIP_SOLORIGIN", 0) < (0)) __PYX_ERR(5, 4, __pyx_L3_error)
      for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
        if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_SOLORIGIN", 1, 3, 3, i); __PYX_ERR(5, 4, __pyx_L3_error) }
      }
    } else if (unlikely(__pyx_nargs != 3)) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(5, 4, __pyx_L3_error)
      values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
      if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(5, 4, __pyx_L3_error)
    }
    __pyx_v___pyx_type = values[0];
    __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(5, 4, __pyx_L3_error)
    __pyx_v___pyx_state = ((PyObject*)values[2]);
  }
  goto __pyx_L6_skip;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_PY_SCIP_SOLORIGIN", 1, 3, 3, __pyx_nargs); __PYX_ERR(5, 4, __pyx_L3_error)
  __pyx_L6_skip:;
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_SOLORIGIN", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1, "__pyx_state", 1))) __PYX_ERR(5, 4, __pyx_L1_error)
  __pyx_r = __pyx_pf_9pyscipopt_4scip_121__pyx_unpickle_PY_SCIP_SOLORIGIN(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);

  /* function exit code */
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  goto __pyx_L7_cleaned_up;
  __pyx_L0:;
  for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
    Py_XDECREF(values[__pyx_temp]);
  }
  __pyx_L7_cleaned_up:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9pyscipopt_4scip_121__pyx_unpickle_PY_SCIP_SOLORIGIN(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_v___pyx_result = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_SOLORIGIN", 0);

  /* "(tree fragment)":6
 * def __pyx_unpickle_PY_SCIP_SOLORIGIN(__pyx_type, long __pyx_checksum, tuple __pyx_state):
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')             # <<<<<<<<<<<<<<
 *     __pyx_result = PY_SCIP_SOLORIGIN.__new__(__pyx_type)
 *     if __pyx_state is not None:
*/
  __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, __pyx_k__11); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 6, __pyx_L1_error)

  /* "(tree fragment)":7
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_SOLORIGIN.__new__(__pyx_type)             # <<<<<<<<<<<<<<
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(<PY_SCIP_SOLORIGIN> __pyx_result, __pyx_state)
*/
  __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN);
  __Pyx_INCREF(__pyx_t_3);
  __pyx_t_4 = 0;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
    __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 7, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
  }
  __pyx_v___pyx_result = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_SOLORIGIN.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(<PY_SCIP_SOLORIGIN> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
  if (__pyx_t_5) {

    /* "(tree fragment)":9
 *     __pyx_result = PY_SCIP_SOLORIGIN.__new__(__pyx_type)
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(<PY_SCIP_SOLORIGIN> __pyx_result, __pyx_state)             # <<<<<<<<<<<<<<
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(PY_SCIP_SOLORIGIN __pyx_result, __pyx_state: tuple):
*/
    if (unlikely(__pyx_v___pyx_state == Py_None)) {
      PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
      __PYX_ERR(5, 9, __pyx_L1_error)
    }
    __pyx_t_2 = __pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(((struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_SOLORIGIN *)__pyx_v___pyx_result), __pyx_v___pyx_state); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    /* "(tree fragment)":8
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
 *     __pyx_result = PY_SCIP_SOLORIGIN.__new__(__pyx_type)
 *     if __pyx_state is not None:             # <<<<<<<<<<<<<<
 *         __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(<PY_SCIP_SOLORIGIN> __pyx_result, __pyx_state)
 *     return __pyx_result
*/
  }

  /* "(tree fragment)":10
 *     if __pyx_state is not None:
 *         __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(<PY_SCIP_SOLORIGIN> __pyx_result, __pyx_state)
 *     return __pyx_result             # <<<<<<<<<<<<<<
 * cdef __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(PY_SCIP_SOLORIGIN __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v___pyx_result);
  __pyx_r = __pyx_v___pyx_result;
  goto __pyx_L0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_SOLORIGIN(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_SOLORIGIN", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v___pyx_result);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(<PY_SCIP_SOLORIGIN> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(PY_SCIP_SOLORIGIN __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

static PyObject *__pyx_f_9pyscipopt_4scip___pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_SOLORIGIN *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__pyx_unpickle_PY_SCIP_SOLORIGIN__set_state", 0);

  /* "(tree fragment)":12
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(PY_SCIP_SOLORIGIN __pyx_result, __pyx_state: tuple):
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)             # <<<<<<<<<<<<<<
*/
  __pyx_t_1 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 0); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(5, 12, __pyx_L1_error)

  /* "(tree fragment)":11
 *         __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(<PY_SCIP_SOLORIGIN> __pyx_result, __pyx_state)
 *     return __pyx_result
 * cdef __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(PY_SCIP_SOLORIGIN __pyx_result, __pyx_state: tuple):             # <<<<<<<<<<<<<<
 *     __Pyx_UpdateUnpickledDict(__pyx_result, __pyx_state, 0)
*/

  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("pyscipopt.scip.__pyx_unpickle_PY_SCIP_SOLORIGIN__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
/* #### Code section: module_exttypes ### */
static struct __pyx_vtabstruct_9pyscipopt_4scip_Expr __pyx_vtable_9pyscipopt_4scip_Expr;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Expr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Expr *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Expr *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_Expr;
  p->terms = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Expr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Expr *p = (struct __pyx_obj_9pyscipopt_4scip_Expr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Expr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->terms);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Expr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Expr *p = (struct __pyx_obj_9pyscipopt_4scip_Expr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->terms) {
    e = (*v)(p->terms, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Expr(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Expr *p = (struct __pyx_obj_9pyscipopt_4scip_Expr *)o;
  tmp = ((PyObject*)p->terms);
  p->terms = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_sq_item_9pyscipopt_4scip_Expr(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyLong_FromSsize_t(i); if(!x) return 0;
  #if CYTHON_USE_TYPE_SLOTS || (!CYTHON_USE_TYPE_SPECS && __PYX_LIMITED_VERSION_HEX < 0x030A0000)
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  #else
  r = ((binaryfunc)PyType_GetSlot(Py_TYPE(o), Py_mp_subscript))(o, x);
  #endif
  Py_DECREF(x);
  return r;
}

static CYTHON_INLINE PyObject *__pyx_nb_add_9pyscipopt_4scip_Expr_maybe_call_slot(PyTypeObject* type, PyObject *left, PyObject *right ) {
    binaryfunc slot;
#if CYTHON_USE_TYPE_SLOTS
    slot = type->tp_as_number ? type->tp_as_number->nb_add : NULL;
#else
    slot = (binaryfunc) PyType_GetSlot(type, Py_nb_add);
#endif
    return slot ? slot(left, right ) : __Pyx_NewRef(Py_NotImplemented);
}
static PyObject *__pyx_nb_add_9pyscipopt_4scip_Expr(PyObject *left, PyObject *right ) {
    int maybe_self_is_left, maybe_self_is_right = 0;
    maybe_self_is_left = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(left)->tp_as_number && Py_TYPE(left)->tp_as_number->nb_add == &__pyx_nb_add_9pyscipopt_4scip_Expr)
#endif
            || __Pyx_TypeCheck(left, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr);
    if (maybe_self_is_left) {
        PyObject *res;
        res = __pyx_pw_9pyscipopt_4scip_4Expr_9__add__(left, right);
        if (res != Py_NotImplemented) return res;
        Py_DECREF(res);
    }
    maybe_self_is_right = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(right)->tp_as_number && Py_TYPE(right)->tp_as_number->nb_add == &__pyx_nb_add_9pyscipopt_4scip_Expr)
#endif
            || PyType_IsSubtype(Py_TYPE(right), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr);
    if (maybe_self_is_right) {
        return __pyx_pw_9pyscipopt_4scip_4Expr_27__radd__(right, left);
    }
    return __Pyx_NewRef(Py_NotImplemented);
}



static CYTHON_INLINE PyObject *__pyx_nb_subtract_9pyscipopt_4scip_Expr_maybe_call_slot(PyTypeObject* type, PyObject *left, PyObject *right ) {
    binaryfunc slot;
#if CYTHON_USE_TYPE_SLOTS
    slot = type->tp_as_number ? type->tp_as_number->nb_subtract : NULL;
#else
    slot = (binaryfunc) PyType_GetSlot(type, Py_nb_subtract);
#endif
    return slot ? slot(left, right ) : __Pyx_NewRef(Py_NotImplemented);
}
static PyObject *__pyx_nb_subtract_9pyscipopt_4scip_Expr(PyObject *left, PyObject *right ) {
    int maybe_self_is_left, maybe_self_is_right = 0;
    maybe_self_is_left = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(left)->tp_as_number && Py_TYPE(left)->tp_as_number->nb_subtract == &__pyx_nb_subtract_9pyscipopt_4scip_Expr)
#endif
            || __Pyx_TypeCheck(left, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr);
    if (maybe_self_is_left) {
        PyObject *res;
        res = __pyx_pw_9pyscipopt_4scip_4Expr_25__sub__(left, right);
        if (res != Py_NotImplemented) return res;
        Py_DECREF(res);
    }
    maybe_self_is_right = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(right)->tp_as_number && Py_TYPE(right)->tp_as_number->nb_subtract == &__pyx_nb_subtract_9pyscipopt_4scip_Expr)
#endif
            || PyType_IsSubtype(Py_TYPE(right), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr);
    if (maybe_self_is_right) {
        return __pyx_pw_9pyscipopt_4scip_4Expr_31__rsub__(right, left);
    }
    return __Pyx_NewRef(Py_NotImplemented);
}



static CYTHON_INLINE PyObject *__pyx_nb_multiply_9pyscipopt_4scip_Expr_maybe_call_slot(PyTypeObject* type, PyObject *left, PyObject *right ) {
    binaryfunc slot;
#if CYTHON_USE_TYPE_SLOTS
    slot = type->tp_as_number ? type->tp_as_number->nb_multiply : NULL;
#else
    slot = (binaryfunc) PyType_GetSlot(type, Py_nb_multiply);
#endif
    return slot ? slot(left, right ) : __Pyx_NewRef(Py_NotImplemented);
}
static PyObject *__pyx_nb_multiply_9pyscipopt_4scip_Expr(PyObject *left, PyObject *right ) {
    int maybe_self_is_left, maybe_self_is_right = 0;
    maybe_self_is_left = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(left)->tp_as_number && Py_TYPE(left)->tp_as_number->nb_multiply == &__pyx_nb_multiply_9pyscipopt_4scip_Expr)
#endif
            || __Pyx_TypeCheck(left, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr);
    if (maybe_self_is_left) {
        PyObject *res;
        res = __pyx_pw_9pyscipopt_4scip_4Expr_13__mul__(left, right);
        if (res != Py_NotImplemented) return res;
        Py_DECREF(res);
    }
    maybe_self_is_right = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(right)->tp_as_number && Py_TYPE(right)->tp_as_number->nb_multiply == &__pyx_nb_multiply_9pyscipopt_4scip_Expr)
#endif
            || PyType_IsSubtype(Py_TYPE(right), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr);
    if (maybe_self_is_right) {
        return __pyx_pw_9pyscipopt_4scip_4Expr_29__rmul__(right, left);
    }
    return __Pyx_NewRef(Py_NotImplemented);
}



static CYTHON_INLINE PyObject *__pyx_nb_power_9pyscipopt_4scip_Expr_maybe_call_slot(PyTypeObject* type, PyObject *left, PyObject *right , PyObject* extra_arg) {
    ternaryfunc slot;
#if CYTHON_USE_TYPE_SLOTS
    slot = type->tp_as_number ? type->tp_as_number->nb_power : NULL;
#else
    slot = (ternaryfunc) PyType_GetSlot(type, Py_nb_power);
#endif
    return slot ? slot(left, right , extra_arg) : __Pyx_NewRef(Py_NotImplemented);
}
static PyObject *__pyx_nb_power_9pyscipopt_4scip_Expr(PyObject *left, PyObject *right , PyObject* extra_arg) {
    int maybe_self_is_left, maybe_self_is_right = 0;
    maybe_self_is_left = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(left)->tp_as_number && Py_TYPE(left)->tp_as_number->nb_power == &__pyx_nb_power_9pyscipopt_4scip_Expr)
#endif
            || __Pyx_TypeCheck(left, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr);
    if (maybe_self_is_left) {
        PyObject *res;
        res = __pyx_pw_9pyscipopt_4scip_4Expr_19__pow__(left, right, extra_arg);
        if (res != Py_NotImplemented) return res;
        Py_DECREF(res);
    }
    maybe_self_is_right = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(right)->tp_as_number && Py_TYPE(right)->tp_as_number->nb_power == &__pyx_nb_power_9pyscipopt_4scip_Expr)
#endif
            || PyType_IsSubtype(Py_TYPE(right), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr);
    if (maybe_self_is_right) {
        return __pyx_pw_9pyscipopt_4scip_4Expr_21__rpow__(right, left, extra_arg);
    }
    return __Pyx_NewRef(Py_NotImplemented);
}



static CYTHON_INLINE PyObject *__pyx_nb_true_divide_9pyscipopt_4scip_Expr_maybe_call_slot(PyTypeObject* type, PyObject *left, PyObject *right ) {
    binaryfunc slot;
#if CYTHON_USE_TYPE_SLOTS
    slot = type->tp_as_number ? type->tp_as_number->nb_true_divide : NULL;
#else
    slot = (binaryfunc) PyType_GetSlot(type, Py_nb_true_divide);
#endif
    return slot ? slot(left, right ) : __Pyx_NewRef(Py_NotImplemented);
}
static PyObject *__pyx_nb_true_divide_9pyscipopt_4scip_Expr(PyObject *left, PyObject *right ) {
    int maybe_self_is_left, maybe_self_is_right = 0;
    maybe_self_is_left = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(left)->tp_as_number && Py_TYPE(left)->tp_as_number->nb_true_divide == &__pyx_nb_true_divide_9pyscipopt_4scip_Expr)
#endif
            || __Pyx_TypeCheck(left, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr);
    if (maybe_self_is_left) {
        PyObject *res;
        res = __pyx_pw_9pyscipopt_4scip_4Expr_15__truediv__(left, right);
        if (res != Py_NotImplemented) return res;
        Py_DECREF(res);
    }
    maybe_self_is_right = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(right)->tp_as_number && Py_TYPE(right)->tp_as_number->nb_true_divide == &__pyx_nb_true_divide_9pyscipopt_4scip_Expr)
#endif
            || PyType_IsSubtype(Py_TYPE(right), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr);
    if (maybe_self_is_right) {
        return __pyx_pw_9pyscipopt_4scip_4Expr_17__rtruediv__(right, left);
    }
    return __Pyx_NewRef(Py_NotImplemented);
}



static PyObject *__pyx_getprop_9pyscipopt_4scip_4Expr_terms(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_4Expr_5terms_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_4Expr_terms(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_4Expr_5terms_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_4Expr_5terms_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Expr[] = {
  {"__add__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_4Expr_9__add__, METH_O|METH_COEXIST, 0},
  {"__mul__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_4Expr_13__mul__, METH_O|METH_COEXIST, 0},
  {"__truediv__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_4Expr_15__truediv__, METH_O|METH_COEXIST, 0},
  {"__rtruediv__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_4Expr_17__rtruediv__, METH_O|METH_COEXIST, __pyx_doc_9pyscipopt_4scip_4Expr_16__rtruediv__},
  {"__sub__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_4Expr_25__sub__, METH_O|METH_COEXIST, 0},
  {"__radd__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_4Expr_27__radd__, METH_O|METH_COEXIST, 0},
  {"__rmul__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_4Expr_29__rmul__, METH_O|METH_COEXIST, 0},
  {"__rsub__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_4Expr_31__rsub__, METH_O|METH_COEXIST, 0},
  {"normalize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Expr_35normalize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Expr_34normalize},
  {"degree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Expr_39degree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Expr_38degree},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Expr_43__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Expr_45__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Expr[] = {
  {"terms", __pyx_getprop_9pyscipopt_4scip_4Expr_terms, __pyx_setprop_9pyscipopt_4scip_4Expr_terms, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Expr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Expr},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_4Expr_37__repr__},
  {Py_nb_add, (void *)__pyx_nb_add_9pyscipopt_4scip_Expr},
  {Py_nb_subtract, (void *)__pyx_nb_subtract_9pyscipopt_4scip_Expr},
  {Py_nb_multiply, (void *)__pyx_nb_multiply_9pyscipopt_4scip_Expr},
  {Py_nb_power, (void *)__pyx_nb_power_9pyscipopt_4scip_Expr},
  {Py_nb_negative, (void *)__pyx_pw_9pyscipopt_4scip_4Expr_23__neg__},
  {Py_nb_absolute, (void *)__pyx_pw_9pyscipopt_4scip_4Expr_7__abs__},
  {Py_nb_inplace_add, (void *)__pyx_pw_9pyscipopt_4scip_4Expr_11__iadd__},
  {Py_nb_true_divide, (void *)__pyx_nb_true_divide_9pyscipopt_4scip_Expr},
  {Py_sq_item, (void *)__pyx_sq_item_9pyscipopt_4scip_Expr},
  {Py_mp_subscript, (void *)__pyx_pw_9pyscipopt_4scip_4Expr_3__getitem__},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Expr},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Expr},
  {Py_tp_richcompare, (void *)__pyx_pw_9pyscipopt_4scip_4Expr_33__richcmp__},
  {Py_tp_iter, (void *)__pyx_pw_9pyscipopt_4scip_4Expr_5__iter__},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Expr},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Expr},
  {Py_tp_init, (void *)__pyx_pw_9pyscipopt_4scip_4Expr_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Expr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Expr_spec = {
  "pyscipopt.scip.Expr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Expr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Expr_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_Expr = {
  __pyx_nb_add_9pyscipopt_4scip_Expr, /*nb_add*/
  __pyx_nb_subtract_9pyscipopt_4scip_Expr, /*nb_subtract*/
  __pyx_nb_multiply_9pyscipopt_4scip_Expr, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  __pyx_nb_power_9pyscipopt_4scip_Expr, /*nb_power*/
  __pyx_pw_9pyscipopt_4scip_4Expr_23__neg__, /*nb_negative*/
  0, /*nb_positive*/
  __pyx_pw_9pyscipopt_4scip_4Expr_7__abs__, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  0, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  __pyx_pw_9pyscipopt_4scip_4Expr_11__iadd__, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  __pyx_nb_true_divide_9pyscipopt_4scip_Expr, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PySequenceMethods __pyx_tp_as_sequence_Expr = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_9pyscipopt_4scip_Expr, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_Expr = {
  0, /*mp_length*/
  __pyx_pw_9pyscipopt_4scip_4Expr_3__getitem__, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyTypeObject __pyx_type_9pyscipopt_4scip_Expr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Expr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Expr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Expr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_4Expr_37__repr__, /*tp_repr*/
  &__pyx_tp_as_number_Expr, /*tp_as_number*/
  &__pyx_tp_as_sequence_Expr, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_Expr, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Expr, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Expr, /*tp_clear*/
  __pyx_pw_9pyscipopt_4scip_4Expr_33__richcmp__, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  __pyx_pw_9pyscipopt_4scip_4Expr_5__iter__, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Expr, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Expr, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9pyscipopt_4scip_4Expr_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Expr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_Event __pyx_vtable_9pyscipopt_4scip_Event;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Event(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Event *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Event *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_Event;
  p->data = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Event(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Event *p = (struct __pyx_obj_9pyscipopt_4scip_Event *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Event) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->data);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Event(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Event *p = (struct __pyx_obj_9pyscipopt_4scip_Event *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->data) {
    e = (*v)(p->data, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Event(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Event *p = (struct __pyx_obj_9pyscipopt_4scip_Event *)o;
  tmp = ((PyObject*)p->data);
  p->data = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_tp_richcompare_9pyscipopt_4scip_Event(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_9pyscipopt_4scip_5Event_23__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_9pyscipopt_4scip_5Event_23__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_5Event_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_5Event_4data_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_5Event_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_5Event_4data_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_5Event_4data_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Event[] = {
  {"getType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_1getType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_getType},
  {"getName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_3getName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_2getName},
  {"_getEventNames", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_5_getEventNames, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_4_getEventNames},
  {"getNewBound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_11getNewBound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_10getNewBound},
  {"getOldBound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_13getOldBound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_12getOldBound},
  {"getVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_15getVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_14getVar},
  {"getNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_17getNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_16getNode},
  {"getRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_19getRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Event_18getRow},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_25__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Event_27__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Event[] = {
  {"data", __pyx_getprop_9pyscipopt_4scip_5Event_data, __pyx_setprop_9pyscipopt_4scip_5Event_data, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Event_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Event},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_5Event_7__repr__},
  {Py_tp_hash, (void *)__pyx_pw_9pyscipopt_4scip_5Event_21__hash__},
  {Py_tp_str, (void *)__pyx_pw_9pyscipopt_4scip_5Event_9__str__},
  {Py_tp_doc, (void *)PyDoc_STR("Base class holding a pointer to corresponding SCIP_EVENT.")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Event},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Event},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_9pyscipopt_4scip_Event},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Event},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Event},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Event},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Event_spec = {
  "pyscipopt.scip.Event",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Event),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Event_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Event = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Event", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Event), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Event, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_5Event_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_9pyscipopt_4scip_5Event_21__hash__, /*tp_hash*/
  0, /*tp_call*/
  __pyx_pw_9pyscipopt_4scip_5Event_9__str__, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Base class holding a pointer to corresponding SCIP_EVENT."), /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Event, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Event, /*tp_clear*/
  __pyx_tp_richcompare_9pyscipopt_4scip_Event, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Event, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Event, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Event, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_Column __pyx_vtable_9pyscipopt_4scip_Column;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Column(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Column *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Column *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_Column;
  p->data = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Column(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Column *p = (struct __pyx_obj_9pyscipopt_4scip_Column *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Column) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->data);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Column(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Column *p = (struct __pyx_obj_9pyscipopt_4scip_Column *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->data) {
    e = (*v)(p->data, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Column(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Column *p = (struct __pyx_obj_9pyscipopt_4scip_Column *)o;
  tmp = ((PyObject*)p->data);
  p->data = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_tp_richcompare_9pyscipopt_4scip_Column(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_9pyscipopt_4scip_6Column_21__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_9pyscipopt_4scip_6Column_21__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_6Column_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_6Column_4data_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_6Column_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_6Column_4data_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_6Column_4data_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Column[] = {
  {"getLPPos", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_1getLPPos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_getLPPos},
  {"getBasisStatus", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_3getBasisStatus, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_2getBasisStatus},
  {"isIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_5isIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_4isIntegral},
  {"getVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_7getVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_6getVar},
  {"getPrimsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_9getPrimsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_8getPrimsol},
  {"getLb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_11getLb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_10getLb},
  {"getUb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_13getUb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_12getUb},
  {"getObjCoeff", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_15getObjCoeff, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_14getObjCoeff},
  {"getAge", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_17getAge, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Column_16getAge},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_23__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Column_25__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Column[] = {
  {"data", __pyx_getprop_9pyscipopt_4scip_6Column_data, __pyx_setprop_9pyscipopt_4scip_6Column_data, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Column_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Column},
  {Py_tp_hash, (void *)__pyx_pw_9pyscipopt_4scip_6Column_19__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("Base class holding a pointer to corresponding SCIP_COL.")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Column},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Column},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_9pyscipopt_4scip_Column},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Column},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Column},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Column},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Column_spec = {
  "pyscipopt.scip.Column",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Column),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Column_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Column = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Column", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Column), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Column, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_9pyscipopt_4scip_6Column_19__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Base class holding a pointer to corresponding SCIP_COL."), /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Column, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Column, /*tp_clear*/
  __pyx_tp_richcompare_9pyscipopt_4scip_Column, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Column, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Column, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Column, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_ColumnExact __pyx_vtable_9pyscipopt_4scip_ColumnExact;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_ColumnExact(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_ColumnExact *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_ColumnExact *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_ColumnExact;
  p->data = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_ColumnExact(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_ColumnExact *p = (struct __pyx_obj_9pyscipopt_4scip_ColumnExact *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_ColumnExact) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->data);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_ColumnExact(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_ColumnExact *p = (struct __pyx_obj_9pyscipopt_4scip_ColumnExact *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->data) {
    e = (*v)(p->data, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_ColumnExact(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_ColumnExact *p = (struct __pyx_obj_9pyscipopt_4scip_ColumnExact *)o;
  tmp = ((PyObject*)p->data);
  p->data = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_11ColumnExact_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_11ColumnExact_4data_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_11ColumnExact_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_11ColumnExact_4data_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_11ColumnExact_4data_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_ColumnExact[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11ColumnExact_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11ColumnExact_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_ColumnExact[] = {
  {"data", __pyx_getprop_9pyscipopt_4scip_11ColumnExact_data, __pyx_setprop_9pyscipopt_4scip_11ColumnExact_data, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_ColumnExact_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_ColumnExact},
  {Py_tp_doc, (void *)PyDoc_STR("Base class holding a pointer to corresponding SCIP_COLEXACT.")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_ColumnExact},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_ColumnExact},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_ColumnExact},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_ColumnExact},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_ColumnExact},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_ColumnExact_spec = {
  "pyscipopt.scip.ColumnExact",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_ColumnExact),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_ColumnExact_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_ColumnExact = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""ColumnExact", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_ColumnExact), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_ColumnExact, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Base class holding a pointer to corresponding SCIP_COLEXACT."), /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_ColumnExact, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_ColumnExact, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_ColumnExact, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_ColumnExact, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_ColumnExact, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_Row __pyx_vtable_9pyscipopt_4scip_Row;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Row(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Row *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Row *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_Row;
  p->data = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Row(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Row *p = (struct __pyx_obj_9pyscipopt_4scip_Row *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Row) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->data);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Row(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Row *p = (struct __pyx_obj_9pyscipopt_4scip_Row *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->data) {
    e = (*v)(p->data, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Row(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Row *p = (struct __pyx_obj_9pyscipopt_4scip_Row *)o;
  tmp = ((PyObject*)p->data);
  p->data = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_tp_richcompare_9pyscipopt_4scip_Row(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_9pyscipopt_4scip_3Row_43__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_9pyscipopt_4scip_3Row_43__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_3Row_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_3Row_4name_1__get__(o);
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_3Row_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_3Row_4data_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_3Row_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_3Row_4data_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_3Row_4data_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Row[] = {
  {"getLhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_1getLhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_getLhs},
  {"getRhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_3getRhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_2getRhs},
  {"getConstant", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_5getConstant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_4getConstant},
  {"getDualsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_7getDualsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_6getDualsol},
  {"getDualfarkas", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_9getDualfarkas, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_8getDualfarkas},
  {"getLPPos", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_11getLPPos, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_10getLPPos},
  {"getBasisStatus", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_13getBasisStatus, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_12getBasisStatus},
  {"isIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_15isIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_14isIntegral},
  {"isLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_17isLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_16isLocal},
  {"isModifiable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_19isModifiable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_18isModifiable},
  {"isRemovable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_21isRemovable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_20isRemovable},
  {"isInGlobalCutpool", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_23isInGlobalCutpool, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_22isInGlobalCutpool},
  {"getOrigintype", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_25getOrigintype, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_24getOrigintype},
  {"getConsOriginConshdlrtype", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_27getConsOriginConshdlrtype, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_26getConsOriginConshdlrtype},
  {"getNNonz", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_29getNNonz, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_28getNNonz},
  {"getNLPNonz", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_31getNLPNonz, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_30getNLPNonz},
  {"getCols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_33getCols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_32getCols},
  {"getVals", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_35getVals, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_34getVals},
  {"getAge", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_37getAge, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_36getAge},
  {"getNorm", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_39getNorm, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3Row_38getNorm},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_45__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3Row_47__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Row[] = {
  {"name", __pyx_getprop_9pyscipopt_4scip_3Row_name, 0, 0, 0},
  {"data", __pyx_getprop_9pyscipopt_4scip_3Row_data, __pyx_setprop_9pyscipopt_4scip_3Row_data, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Row_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Row},
  {Py_tp_hash, (void *)__pyx_pw_9pyscipopt_4scip_3Row_41__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("Base class holding a pointer to corresponding SCIP_ROW.")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Row},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Row},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_9pyscipopt_4scip_Row},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Row},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Row},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Row},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Row_spec = {
  "pyscipopt.scip.Row",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Row),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Row_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Row = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Row", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Row), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Row, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_9pyscipopt_4scip_3Row_41__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Base class holding a pointer to corresponding SCIP_ROW."), /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Row, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Row, /*tp_clear*/
  __pyx_tp_richcompare_9pyscipopt_4scip_Row, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Row, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Row, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Row, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_RowExact __pyx_vtable_9pyscipopt_4scip_RowExact;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_RowExact(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_RowExact *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_RowExact *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_RowExact;
  p->data = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_RowExact(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_RowExact *p = (struct __pyx_obj_9pyscipopt_4scip_RowExact *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_RowExact) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->data);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_RowExact(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_RowExact *p = (struct __pyx_obj_9pyscipopt_4scip_RowExact *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->data) {
    e = (*v)(p->data, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_RowExact(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_RowExact *p = (struct __pyx_obj_9pyscipopt_4scip_RowExact *)o;
  tmp = ((PyObject*)p->data);
  p->data = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_8RowExact_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_8RowExact_4data_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_8RowExact_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_8RowExact_4data_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_8RowExact_4data_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_RowExact[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8RowExact_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8RowExact_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_RowExact[] = {
  {"data", __pyx_getprop_9pyscipopt_4scip_8RowExact_data, __pyx_setprop_9pyscipopt_4scip_8RowExact_data, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_RowExact_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_RowExact},
  {Py_tp_doc, (void *)PyDoc_STR("Base class holding a pointer to corresponding SCIP_ROW.")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_RowExact},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_RowExact},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_RowExact},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_RowExact},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_RowExact},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_RowExact_spec = {
  "pyscipopt.scip.RowExact",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_RowExact),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_RowExact_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_RowExact = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""RowExact", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_RowExact), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_RowExact, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Base class holding a pointer to corresponding SCIP_ROW."), /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_RowExact, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_RowExact, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_RowExact, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_RowExact, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_RowExact, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_NLRow __pyx_vtable_9pyscipopt_4scip_NLRow;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_NLRow(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_NLRow *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_NLRow *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_NLRow;
  p->data = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_NLRow(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_NLRow *p = (struct __pyx_obj_9pyscipopt_4scip_NLRow *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_NLRow) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->data);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_NLRow(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_NLRow *p = (struct __pyx_obj_9pyscipopt_4scip_NLRow *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->data) {
    e = (*v)(p->data, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_NLRow(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_NLRow *p = (struct __pyx_obj_9pyscipopt_4scip_NLRow *)o;
  tmp = ((PyObject*)p->data);
  p->data = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_tp_richcompare_9pyscipopt_4scip_NLRow(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_9pyscipopt_4scip_5NLRow_13__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_9pyscipopt_4scip_5NLRow_13__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_5NLRow_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_5NLRow_4name_1__get__(o);
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_5NLRow_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_5NLRow_4data_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_5NLRow_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_5NLRow_4data_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_5NLRow_4data_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_NLRow[] = {
  {"getConstant", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_1getConstant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5NLRow_getConstant},
  {"getLinearTerms", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_3getLinearTerms, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5NLRow_2getLinearTerms},
  {"getLhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_5getLhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5NLRow_4getLhs},
  {"getRhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_7getRhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5NLRow_6getRhs},
  {"getDualsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_9getDualsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5NLRow_8getDualsol},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_15__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5NLRow_17__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_NLRow[] = {
  {"name", __pyx_getprop_9pyscipopt_4scip_5NLRow_name, 0, 0, 0},
  {"data", __pyx_getprop_9pyscipopt_4scip_5NLRow_data, __pyx_setprop_9pyscipopt_4scip_5NLRow_data, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_NLRow_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_NLRow},
  {Py_tp_hash, (void *)__pyx_pw_9pyscipopt_4scip_5NLRow_11__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("Base class holding a pointer to corresponding SCIP_NLROW.")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_NLRow},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_NLRow},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_9pyscipopt_4scip_NLRow},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_NLRow},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_NLRow},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_NLRow},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_NLRow_spec = {
  "pyscipopt.scip.NLRow",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_NLRow),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_NLRow_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_NLRow = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""NLRow", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_NLRow), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_NLRow, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_9pyscipopt_4scip_5NLRow_11__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Base class holding a pointer to corresponding SCIP_NLROW."), /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_NLRow, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_NLRow, /*tp_clear*/
  __pyx_tp_richcompare_9pyscipopt_4scip_NLRow, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_NLRow, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_NLRow, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_NLRow, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_Solution __pyx_vtable_9pyscipopt_4scip_Solution;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Solution(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_Solution;
  p->data = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Solution(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Solution *p = (struct __pyx_obj_9pyscipopt_4scip_Solution *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Solution) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->data);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Solution(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Solution *p = (struct __pyx_obj_9pyscipopt_4scip_Solution *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->data) {
    e = (*v)(p->data, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Solution(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Solution *p = (struct __pyx_obj_9pyscipopt_4scip_Solution *)o;
  tmp = ((PyObject*)p->data);
  p->data = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_sq_item_9pyscipopt_4scip_Solution(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyLong_FromSsize_t(i); if(!x) return 0;
  #if CYTHON_USE_TYPE_SLOTS || (!CYTHON_USE_TYPE_SPECS && __PYX_LIMITED_VERSION_HEX < 0x030A0000)
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  #else
  r = ((binaryfunc)PyType_GetSlot(Py_TYPE(o), Py_mp_subscript))(o, x);
  #endif
  Py_DECREF(x);
  return r;
}

static int __pyx_mp_ass_subscript_9pyscipopt_4scip_Solution(PyObject *o, PyObject *i, PyObject *v) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_8Solution_5__setitem__(o, i, v);
  }
  else {
    __Pyx_TypeName o_type_name;
    o_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(o));
    PyErr_Format(PyExc_NotImplementedError,
      "Subscript deletion not supported by " __Pyx_FMT_TYPENAME, o_type_name);
    __Pyx_DECREF_TypeName(o_type_name);
    return -1;
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_8Solution_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_8Solution_4data_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_8Solution_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_8Solution_4data_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_8Solution_4data_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Solution[] = {
  {"_checkStage", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Solution_9_checkStage, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"getOrigin", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Solution_11getOrigin, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Solution_10getOrigin},
  {"retransform", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Solution_13retransform, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Solution_12retransform},
  {"translate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Solution_15translate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Solution_14translate},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Solution_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Solution_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Solution[] = {
  {"data", __pyx_getprop_9pyscipopt_4scip_8Solution_data, __pyx_setprop_9pyscipopt_4scip_8Solution_data, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Solution_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Solution},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_8Solution_7__repr__},
  {Py_sq_item, (void *)__pyx_sq_item_9pyscipopt_4scip_Solution},
  {Py_mp_subscript, (void *)__pyx_pw_9pyscipopt_4scip_8Solution_3__getitem__},
  {Py_mp_ass_subscript, (void *)__pyx_mp_ass_subscript_9pyscipopt_4scip_Solution},
  {Py_tp_doc, (void *)PyDoc_STR("Base class holding a pointer to corresponding SCIP_SOL.")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Solution},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Solution},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Solution},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Solution},
  {Py_tp_init, (void *)__pyx_pw_9pyscipopt_4scip_8Solution_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Solution},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Solution_spec = {
  "pyscipopt.scip.Solution",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Solution),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Solution_slots,
};
#else

static PySequenceMethods __pyx_tp_as_sequence_Solution = {
  0, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_9pyscipopt_4scip_Solution, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_Solution = {
  0, /*mp_length*/
  __pyx_pw_9pyscipopt_4scip_8Solution_3__getitem__, /*mp_subscript*/
  __pyx_mp_ass_subscript_9pyscipopt_4scip_Solution, /*mp_ass_subscript*/
};

static PyTypeObject __pyx_type_9pyscipopt_4scip_Solution = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Solution", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Solution), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Solution, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_8Solution_7__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_Solution, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_Solution, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Base class holding a pointer to corresponding SCIP_SOL."), /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Solution, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Solution, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Solution, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Solution, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9pyscipopt_4scip_8Solution_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Solution, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_DomainChanges __pyx_vtable_9pyscipopt_4scip_DomainChanges;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_DomainChanges(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_DomainChanges *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_DomainChanges *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_DomainChanges;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_DomainChanges(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_DomainChanges) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_DomainChanges[] = {
  {"getBoundchgs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_13DomainChanges_1getBoundchgs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_13DomainChanges_getBoundchgs},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_13DomainChanges_3__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_13DomainChanges_5__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_DomainChanges_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_DomainChanges},
  {Py_tp_doc, (void *)PyDoc_STR("Set of domain changes.")},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_DomainChanges},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_DomainChanges},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_DomainChanges_spec = {
  "pyscipopt.scip.DomainChanges",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_DomainChanges),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_DomainChanges_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_DomainChanges = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""DomainChanges", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_DomainChanges), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_DomainChanges, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("Set of domain changes."), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_DomainChanges, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_DomainChanges, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_BoundChange __pyx_vtable_9pyscipopt_4scip_BoundChange;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_BoundChange(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_BoundChange *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_BoundChange *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_BoundChange;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_BoundChange(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_BoundChange) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_BoundChange[] = {
  {"getNewBound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_1getNewBound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_11BoundChange_getNewBound},
  {"getVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_3getVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_11BoundChange_2getVar},
  {"getBoundchgtype", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_5getBoundchgtype, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_11BoundChange_4getBoundchgtype},
  {"getBoundtype", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_7getBoundtype, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_11BoundChange_6getBoundtype},
  {"isRedundant", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_9isRedundant, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_11BoundChange_8isRedundant},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_11BoundChange_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_BoundChange_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_BoundChange},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_11BoundChange_11__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("Bound change.")},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_BoundChange},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_BoundChange},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_BoundChange_spec = {
  "pyscipopt.scip.BoundChange",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_BoundChange),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_BoundChange_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_BoundChange = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""BoundChange", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_BoundChange), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_BoundChange, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_11BoundChange_11__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  PyDoc_STR("Bound change."), /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_BoundChange, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_BoundChange, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_Node __pyx_vtable_9pyscipopt_4scip_Node;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Node(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Node *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Node *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_Node;
  p->data = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Node(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Node *p = (struct __pyx_obj_9pyscipopt_4scip_Node *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Node) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->data);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Node(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Node *p = (struct __pyx_obj_9pyscipopt_4scip_Node *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->data) {
    e = (*v)(p->data, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Node(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Node *p = (struct __pyx_obj_9pyscipopt_4scip_Node *)o;
  tmp = ((PyObject*)p->data);
  p->data = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_tp_richcompare_9pyscipopt_4scip_Node(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_9pyscipopt_4scip_4Node_31__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_9pyscipopt_4scip_4Node_31__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_4Node_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_4Node_4data_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_4Node_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_4Node_4data_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_4Node_4data_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Node[] = {
  {"getParent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_1getParent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_getParent},
  {"getNumber", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_3getNumber, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_2getNumber},
  {"getDepth", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_5getDepth, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_4getDepth},
  {"getType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_7getType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_6getType},
  {"getLowerbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_9getLowerbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_8getLowerbound},
  {"getEstimate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_11getEstimate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_10getEstimate},
  {"getAddedConss", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_13getAddedConss, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_12getAddedConss},
  {"getNAddedConss", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_15getNAddedConss, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_14getNAddedConss},
  {"isActive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_17isActive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_16isActive},
  {"isPropagatedAgain", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_19isPropagatedAgain, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_18isPropagatedAgain},
  {"getNParentBranchings", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_21getNParentBranchings, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_20getNParentBranchings},
  {"getParentBranchings", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_23getParentBranchings, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_22getParentBranchings},
  {"getNDomchg", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_25getNDomchg, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_24getNDomchg},
  {"getDomchg", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_27getDomchg, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Node_26getDomchg},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_33__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Node_35__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Node[] = {
  {"data", __pyx_getprop_9pyscipopt_4scip_4Node_data, __pyx_setprop_9pyscipopt_4scip_4Node_data, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Node_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Node},
  {Py_tp_hash, (void *)__pyx_pw_9pyscipopt_4scip_4Node_29__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("Base class holding a pointer to corresponding SCIP_NODE")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Node},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Node},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_9pyscipopt_4scip_Node},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Node},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Node},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Node},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Node_spec = {
  "pyscipopt.scip.Node",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Node),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Node_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Node = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Node", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Node), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Node, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_9pyscipopt_4scip_4Node_29__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Base class holding a pointer to corresponding SCIP_NODE"), /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Node, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Node, /*tp_clear*/
  __pyx_tp_richcompare_9pyscipopt_4scip_Node, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Node, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Node, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Node, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_Variable __pyx_vtable_9pyscipopt_4scip_Variable;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Variable(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *p;
  PyObject *o = __pyx_tp_new_9pyscipopt_4scip_Expr(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Variable *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9pyscipopt_4scip_Expr*)__pyx_vtabptr_9pyscipopt_4scip_Variable;
  p->data = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Variable(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Variable *p = (struct __pyx_obj_9pyscipopt_4scip_Variable *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Variable) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->data);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9pyscipopt_4scip_Expr(o);
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Variable(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Variable *p = (struct __pyx_obj_9pyscipopt_4scip_Variable *)o;
  e = __pyx_tp_traverse_9pyscipopt_4scip_Expr(o, v, a); if (e) return e;
  if (p->data) {
    e = (*v)(p->data, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Variable(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Variable *p = (struct __pyx_obj_9pyscipopt_4scip_Variable *)o;
  __pyx_tp_clear_9pyscipopt_4scip_Expr(o);
  tmp = ((PyObject*)p->data);
  p->data = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_8Variable_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_8Variable_4name_1__get__(o);
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_8Variable_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_8Variable_4data_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_8Variable_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_8Variable_4data_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_8Variable_4data_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Variable[] = {
  {"ptr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_1ptr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_ptr},
  {"vtype", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_5vtype, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_4vtype},
  {"isBinary", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_7isBinary, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_6isBinary},
  {"isIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_9isIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_8isIntegral},
  {"isImpliedIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_11isImpliedIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_10isImpliedIntegral},
  {"isNonImpliedIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_13isNonImpliedIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_12isNonImpliedIntegral},
  {"getImplType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_15getImplType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_14getImplType},
  {"getStatus", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_17getStatus, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_16getStatus},
  {"isOriginal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_19isOriginal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_18isOriginal},
  {"isActive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_21isActive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_20isActive},
  {"isInLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_23isInLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_22isInLP},
  {"getIndex", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_25getIndex, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_24getIndex},
  {"getCol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_27getCol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_26getCol},
  {"getLbOriginal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_29getLbOriginal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_28getLbOriginal},
  {"getUbOriginal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_31getUbOriginal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_30getUbOriginal},
  {"getLbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_33getLbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_32getLbGlobal},
  {"getUbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_35getUbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_34getUbGlobal},
  {"getLbLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_37getLbLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_36getLbLocal},
  {"getUbLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_39getUbLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_38getUbLocal},
  {"getObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_41getObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_40getObj},
  {"getLPSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_43getLPSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_42getLPSol},
  {"getAvgSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_45getAvgSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_44getAvgSol},
  {"markRelaxationOnly", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_47markRelaxationOnly, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_46markRelaxationOnly},
  {"isRelaxationOnly", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_49isRelaxationOnly, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_48isRelaxationOnly},
  {"isDeletable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_51isDeletable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_50isDeletable},
  {"isActive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_53isActive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_52isActive},
  {"getNLocksDown", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_55getNLocksDown, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_54getNLocksDown},
  {"getNLocksUp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_57getNLocksUp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_56getNLocksUp},
  {"getNLocksDownType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_59getNLocksDownType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_58getNLocksDownType},
  {"getNLocksUpType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_61getNLocksUpType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_60getNLocksUpType},
  {"varMayRound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_63varMayRound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_62varMayRound},
  {"getNBranchings", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_65getNBranchings, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_64getNBranchings},
  {"getNBranchingsCurrentRun", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_67getNBranchingsCurrentRun, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Variable_66getNBranchingsCurrentRun},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_69__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Variable_71__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Variable[] = {
  {"name", __pyx_getprop_9pyscipopt_4scip_8Variable_name, 0, 0, 0},
  {"data", __pyx_getprop_9pyscipopt_4scip_8Variable_data, __pyx_setprop_9pyscipopt_4scip_8Variable_data, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Variable_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Variable},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_8Variable_3__repr__},
  {Py_tp_doc, (void *)PyDoc_STR("Is a linear expression and has SCIP_VAR*")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Variable},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Variable},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Variable},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Variable},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Variable},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Variable_spec = {
  "pyscipopt.scip.Variable",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Variable),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Variable_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Variable = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Variable", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Variable), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Variable, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_8Variable_3__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Is a linear expression and has SCIP_VAR*"), /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Variable, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Variable, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9pyscipopt_4scip_4Expr_5__iter__, /*tp_iter*/
  #else
  0, /*tp_iter*/
  #endif
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Variable, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Variable, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9pyscipopt_4scip_4Expr_1__init__, /*tp_init*/
  #else
  0, /*tp_init*/
  #endif
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Variable, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_Constraint __pyx_vtable_9pyscipopt_4scip_Constraint;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Constraint(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Constraint *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_Constraint;
  p->data = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Constraint(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Constraint *p = (struct __pyx_obj_9pyscipopt_4scip_Constraint *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Constraint) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->data);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Constraint(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *p = (struct __pyx_obj_9pyscipopt_4scip_Constraint *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->data) {
    e = (*v)(p->data, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Constraint(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Constraint *p = (struct __pyx_obj_9pyscipopt_4scip_Constraint *)o;
  tmp = ((PyObject*)p->data);
  p->data = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_tp_richcompare_9pyscipopt_4scip_Constraint(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_9pyscipopt_4scip_10Constraint_41__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_9pyscipopt_4scip_10Constraint_41__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_10Constraint_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_10Constraint_4name_1__get__(o);
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_10Constraint_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_10Constraint_4data_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_10Constraint_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_10Constraint_4data_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_10Constraint_4data_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Constraint[] = {
  {"ptr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_1ptr, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"isOriginal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_5isOriginal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_4isOriginal},
  {"isInitial", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_7isInitial, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_6isInitial},
  {"isSeparated", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_9isSeparated, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_8isSeparated},
  {"isEnforced", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_11isEnforced, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_10isEnforced},
  {"isChecked", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_13isChecked, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_12isChecked},
  {"isPropagated", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_15isPropagated, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_14isPropagated},
  {"isLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_17isLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_16isLocal},
  {"isModifiable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_19isModifiable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_18isModifiable},
  {"isDynamic", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_21isDynamic, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_20isDynamic},
  {"isRemovable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_23isRemovable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_22isRemovable},
  {"isStickingAtNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_25isStickingAtNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_24isStickingAtNode},
  {"isActive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_27isActive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_26isActive},
  {"isLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_29isLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_28isLinear},
  {"isKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_31isKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_30isKnapsack},
  {"isLinearType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_33isLinearType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_32isLinearType},
  {"isNonlinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_35isNonlinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_34isNonlinear},
  {"getConshdlrName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_37getConshdlrName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Constraint_36getConshdlrName},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_43__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Constraint_45__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Constraint[] = {
  {"name", __pyx_getprop_9pyscipopt_4scip_10Constraint_name, 0, 0, 0},
  {"data", __pyx_getprop_9pyscipopt_4scip_10Constraint_data, __pyx_setprop_9pyscipopt_4scip_10Constraint_data, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Constraint_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Constraint},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_10Constraint_3__repr__},
  {Py_tp_hash, (void *)__pyx_pw_9pyscipopt_4scip_10Constraint_39__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("Base class holding a pointer to corresponding SCIP_CONS")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Constraint},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Constraint},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_9pyscipopt_4scip_Constraint},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Constraint},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Constraint},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Constraint},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Constraint_spec = {
  "pyscipopt.scip.Constraint",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Constraint),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Constraint_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Constraint = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Constraint", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Constraint), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Constraint, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_10Constraint_3__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_9pyscipopt_4scip_10Constraint_39__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Base class holding a pointer to corresponding SCIP_CONS"), /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Constraint, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Constraint, /*tp_clear*/
  __pyx_tp_richcompare_9pyscipopt_4scip_Constraint, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Constraint, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Constraint, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Constraint, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_IIS __pyx_vtable_9pyscipopt_4scip_IIS;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_IIS(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_IIS *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_IIS *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_IIS;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_IIS(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_IIS) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_IIS[] = {
  {"getTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_1getTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_getTime},
  {"isSubscipIrreducible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_3isSubscipIrreducible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_2isSubscipIrreducible},
  {"isSubscipInfeasible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_5isSubscipInfeasible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_4isSubscipInfeasible},
  {"setSubscipIrreducible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_7setSubscipIrreducible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_6setSubscipIrreducible},
  {"setSubscipInfeasible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_9setSubscipInfeasible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_8setSubscipInfeasible},
  {"getNNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_11getNNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_10getNNodes},
  {"getSubscip", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_13getSubscip, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_12getSubscip},
  {"greedyMakeIrreducible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_15greedyMakeIrreducible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_3IIS_14greedyMakeIrreducible},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_3IIS_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_IIS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_IIS},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_IIS},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_IIS},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_IIS_spec = {
  "pyscipopt.scip.IIS",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_IIS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_IIS_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_IIS = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""IIS", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_IIS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_IIS, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_IIS, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_IIS, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_Model __pyx_vtable_9pyscipopt_4scip_Model;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Model(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Model *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Model *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_Model;
  p->_bestSol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None); Py_INCREF(Py_None);
  p->data = Py_None; Py_INCREF(Py_None);
  p->_modelvars = Py_None; Py_INCREF(Py_None);
  p->_modelconss = Py_None; Py_INCREF(Py_None);
  p->_benders_subproblems = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Model(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Model *p = (struct __pyx_obj_9pyscipopt_4scip_Model *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Model) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  if (p->__weakref__) PyObject_ClearWeakRefs(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_9pyscipopt_4scip_5Model_5__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->_bestSol);
  Py_CLEAR(p->data);
  Py_CLEAR(p->_modelvars);
  Py_CLEAR(p->_modelconss);
  Py_CLEAR(p->_benders_subproblems);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Model(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Model *p = (struct __pyx_obj_9pyscipopt_4scip_Model *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_bestSol) {
    e = (*v)(((PyObject *)p->_bestSol), a); if (e) return e;
  }
  if (p->data) {
    e = (*v)(p->data, a); if (e) return e;
  }
  if (p->_modelvars) {
    e = (*v)(p->_modelvars, a); if (e) return e;
  }
  if (p->_modelconss) {
    e = (*v)(p->_modelconss, a); if (e) return e;
  }
  if (p->_benders_subproblems) {
    e = (*v)(p->_benders_subproblems, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Model(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Model *p = (struct __pyx_obj_9pyscipopt_4scip_Model *)o;
  tmp = ((PyObject*)p->_bestSol);
  p->_bestSol = ((struct __pyx_obj_9pyscipopt_4scip_Solution *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->data);
  p->data = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_modelvars);
  p->_modelvars = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_modelconss);
  p->_modelconss = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_benders_subproblems);
  p->_benders_subproblems = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_tp_richcompare_9pyscipopt_4scip_Model(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_9pyscipopt_4scip_5Model_9__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_9pyscipopt_4scip_5Model_9__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_5Model__freescip(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_5Model_9_freescip_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_5Model__freescip(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_5Model_9_freescip_3__set__(o, v);
  }
  else {
    PyErr_SetString(PyExc_NotImplementedError, "__del__");
    return -1;
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_5Model_data(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_5Model_4data_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_5Model_data(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_5Model_4data_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_5Model_4data_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Model[] = {
  {"attachEventHandlerCallback", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_3attachEventHandlerCallback, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_2attachEventHandlerCallback},
  {"from_ptr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_11from_ptr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_10from_ptr},
  {"to_ptr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_13to_ptr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_12to_ptr},
  {"includeDefaultPlugins", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_15includeDefaultPlugins, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_14includeDefaultPlugins},
  {"createProbBasic", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_17createProbBasic, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_16createProbBasic},
  {"freeProb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_19freeProb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_18freeProb},
  {"freeTransform", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_21freeTransform, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_20freeTransform},
  {"version", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_23version, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_22version},
  {"getMajorVersion", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_25getMajorVersion, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_24getMajorVersion},
  {"getMinorVersion", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_27getMinorVersion, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_26getMinorVersion},
  {"getTechVersion", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_29getTechVersion, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_28getTechVersion},
  {"printVersion", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_31printVersion, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_30printVersion},
  {"printExternalCodeVersions", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_33printExternalCodeVersions, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_32printExternalCodeVersions},
  {"getProbName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_35getProbName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_34getProbName},
  {"getTotalTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_37getTotalTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_36getTotalTime},
  {"getSolvingTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_39getSolvingTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_38getSolvingTime},
  {"getReadingTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_41getReadingTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_40getReadingTime},
  {"getPresolvingTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_43getPresolvingTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_42getPresolvingTime},
  {"getNLPIterations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_45getNLPIterations, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_44getNLPIterations},
  {"getNNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_47getNNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_46getNNodes},
  {"getNTotalNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_49getNTotalNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_48getNTotalNodes},
  {"getNFeasibleLeaves", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_51getNFeasibleLeaves, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_50getNFeasibleLeaves},
  {"getNInfeasibleLeaves", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_53getNInfeasibleLeaves, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_52getNInfeasibleLeaves},
  {"getNLeaves", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_55getNLeaves, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_54getNLeaves},
  {"getNChildren", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_57getNChildren, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_56getNChildren},
  {"getNSiblings", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_59getNSiblings, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_58getNSiblings},
  {"getCurrentNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_61getCurrentNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_60getCurrentNode},
  {"getGap", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_63getGap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_62getGap},
  {"getDepth", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_65getDepth, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_64getDepth},
  {"getMaxDepth", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_67getMaxDepth, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_66getMaxDepth},
  {"getPlungeDepth", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_69getPlungeDepth, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_68getPlungeDepth},
  {"getLowerbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_71getLowerbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_70getLowerbound},
  {"getCutoffbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_73getCutoffbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_72getCutoffbound},
  {"getNNodeLPIterations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_75getNNodeLPIterations, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_74getNNodeLPIterations},
  {"getNStrongbranchLPIterations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_77getNStrongbranchLPIterations, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_76getNStrongbranchLPIterations},
  {"getPrimalDualIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_79getPrimalDualIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_78getPrimalDualIntegral},
  {"cutoffNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_81cutoffNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_80cutoffNode},
  {"infinity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_83infinity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_82infinity},
  {"epsilon", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_85epsilon, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_84epsilon},
  {"feastol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_87feastol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_86feastol},
  {"feasFrac", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_89feasFrac, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_88feasFrac},
  {"frac", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_91frac, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_90frac},
  {"feasFloor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_93feasFloor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_92feasFloor},
  {"feasCeil", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_95feasCeil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_94feasCeil},
  {"feasRound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_97feasRound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_96feasRound},
  {"isZero", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_99isZero, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_98isZero},
  {"isFeasZero", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_101isFeasZero, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_100isFeasZero},
  {"isInfinity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_103isInfinity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_102isInfinity},
  {"isFeasNegative", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_105isFeasNegative, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_104isFeasNegative},
  {"isFeasPositive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_107isFeasPositive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_106isFeasPositive},
  {"isFeasIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_109isFeasIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_108isFeasIntegral},
  {"isIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_111isIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_110isIntegral},
  {"adjustedVarLb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_113adjustedVarLb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_112adjustedVarLb},
  {"adjustedVarUb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_115adjustedVarUb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_114adjustedVarUb},
  {"isEQ", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_117isEQ, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_116isEQ},
  {"isFeasEQ", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_119isFeasEQ, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_118isFeasEQ},
  {"isFeasLT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_121isFeasLT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_120isFeasLT},
  {"isFeasLE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_123isFeasLE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_122isFeasLE},
  {"isFeasGT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_125isFeasGT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_124isFeasGT},
  {"isFeasGE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_127isFeasGE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_126isFeasGE},
  {"isLE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_129isLE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_128isLE},
  {"isLT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_131isLT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_130isLT},
  {"isGE", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_133isGE, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_132isGE},
  {"isGT", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_135isGT, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_134isGT},
  {"isHugeValue", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_137isHugeValue, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_136isHugeValue},
  {"isPositive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_139isPositive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_138isPositive},
  {"isNegative", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_141isNegative, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_140isNegative},
  {"getCondition", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_143getCondition, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_142getCondition},
  {"enableReoptimization", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_145enableReoptimization, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_144enableReoptimization},
  {"lpiGetIterations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_147lpiGetIterations, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_146lpiGetIterations},
  {"setMinimize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_149setMinimize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_148setMinimize},
  {"setMaximize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_151setMaximize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_150setMaximize},
  {"setObjlimit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_153setObjlimit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_152setObjlimit},
  {"getObjlimit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_155getObjlimit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_154getObjlimit},
  {"setObjective", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_157setObjective, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_156setObjective},
  {"getObjective", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_159getObjective, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_158getObjective},
  {"addObjoffset", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_161addObjoffset, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_160addObjoffset},
  {"getObjoffset", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_163getObjoffset, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_162getObjoffset},
  {"setObjIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_165setObjIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_164setObjIntegral},
  {"isObjIntegral", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_167isObjIntegral, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_166isObjIntegral},
  {"getLocalEstimate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_169getLocalEstimate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_168getLocalEstimate},
  {"setPresolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_171setPresolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_170setPresolve},
  {"setProbName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_173setProbName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_172setProbName},
  {"setSeparating", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_175setSeparating, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_174setSeparating},
  {"setHeuristics", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_177setHeuristics, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_176setHeuristics},
  {"setHeurTiming", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_179setHeurTiming, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_178setHeurTiming},
  {"getHeurTiming", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_181getHeurTiming, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_180getHeurTiming},
  {"disablePropagation", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_183disablePropagation, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_182disablePropagation},
  {"printProblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_185printProblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_184printProblem},
  {"writeProblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_187writeProblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_186writeProblem},
  {"addVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_189addVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_188addVar},
  {"addMatrixVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_191addMatrixVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_190addMatrixVar},
  {"getTransformedVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_193getTransformedVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_192getTransformedVar},
  {"addVarLocks", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_195addVarLocks, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_194addVarLocks},
  {"addVarLocksType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_197addVarLocksType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_196addVarLocksType},
  {"fixVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_199fixVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_198fixVar},
  {"delVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_201delVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_200delVar},
  {"aggregateVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_203aggregateVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_202aggregateVars},
  {"tightenVarLb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_205tightenVarLb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_204tightenVarLb},
  {"tightenVarUb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_207tightenVarUb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_206tightenVarUb},
  {"tightenVarUbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_209tightenVarUbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_208tightenVarUbGlobal},
  {"tightenVarLbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_211tightenVarLbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_210tightenVarLbGlobal},
  {"chgVarLb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_213chgVarLb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_212chgVarLb},
  {"chgVarUb", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_215chgVarUb, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_214chgVarUb},
  {"chgVarLbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_217chgVarLbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_216chgVarLbGlobal},
  {"chgVarUbGlobal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_219chgVarUbGlobal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_218chgVarUbGlobal},
  {"chgVarLbNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_221chgVarLbNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_220chgVarLbNode},
  {"chgVarUbNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_223chgVarUbNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_222chgVarUbNode},
  {"chgVarType", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_225chgVarType, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_224chgVarType},
  {"markDoNotAggrVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_227markDoNotAggrVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_226markDoNotAggrVar},
  {"markDoNotMultaggrVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_229markDoNotMultaggrVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_228markDoNotMultaggrVar},
  {"getVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_231getVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_230getVars},
  {"getNVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_233getNVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_232getNVars},
  {"getNIntVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_235getNIntVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_234getNIntVars},
  {"getNBinVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_237getNBinVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_236getNBinVars},
  {"getNImplVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_239getNImplVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_238getNImplVars},
  {"getNContVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_241getNContVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_240getNContVars},
  {"getVarDict", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_243getVarDict, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_242getVarDict},
  {"getVarPseudocostScore", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_245getVarPseudocostScore, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_244getVarPseudocostScore},
  {"getVarPseudocost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_247getVarPseudocost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_246getVarPseudocost},
  {"updateNodeLowerbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_249updateNodeLowerbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_248updateNodeLowerbound},
  {"relax", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_251relax, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_250relax},
  {"getBestChild", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_253getBestChild, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_252getBestChild},
  {"getChildren", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_255getChildren, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_254getChildren},
  {"getSiblings", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_257getSiblings, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_256getSiblings},
  {"getLeaves", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_259getLeaves, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_258getLeaves},
  {"getBestSibling", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_261getBestSibling, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_260getBestSibling},
  {"getPrioChild", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_263getPrioChild, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_262getPrioChild},
  {"getPrioSibling", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_265getPrioSibling, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_264getPrioSibling},
  {"getBestLeaf", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_267getBestLeaf, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_266getBestLeaf},
  {"getBestNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_269getBestNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_268getBestNode},
  {"getBestboundNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_271getBestboundNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_270getBestboundNode},
  {"getOpenNodes", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_273getOpenNodes, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_272getOpenNodes},
  {"repropagateNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_275repropagateNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_274repropagateNode},
  {"getLPSolstat", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_277getLPSolstat, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_276getLPSolstat},
  {"constructLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_279constructLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_278constructLP},
  {"getLPObjVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_281getLPObjVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_280getLPObjVal},
  {"getLPColsData", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_283getLPColsData, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_282getLPColsData},
  {"getLPRowsData", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_285getLPRowsData, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_284getLPRowsData},
  {"getNLPRows", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_287getNLPRows, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_286getNLPRows},
  {"getNLPCols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_289getNLPCols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_288getNLPCols},
  {"getLPBasisInd", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_291getLPBasisInd, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_290getLPBasisInd},
  {"getLPBInvRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_293getLPBInvRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_292getLPBInvRow},
  {"getLPBInvARow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_295getLPBInvARow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_294getLPBInvARow},
  {"isLPSolBasic", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_297isLPSolBasic, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_296isLPSolBasic},
  {"allColsInLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_299allColsInLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_298allColsInLP},
  {"getColRedCost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_301getColRedCost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_300getColRedCost},
  {"createEmptyRowSepa", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_303createEmptyRowSepa, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_302createEmptyRowSepa},
  {"createEmptyRowUnspec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_305createEmptyRowUnspec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_304createEmptyRowUnspec},
  {"getRowActivity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_307getRowActivity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_306getRowActivity},
  {"getRowLPActivity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_309getRowLPActivity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_308getRowLPActivity},
  {"releaseRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_311releaseRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_310releaseRow},
  {"cacheRowExtensions", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_313cacheRowExtensions, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_312cacheRowExtensions},
  {"flushRowExtensions", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_315flushRowExtensions, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_314flushRowExtensions},
  {"addVarToRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_317addVarToRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_316addVarToRow},
  {"printRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_319printRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_318printRow},
  {"getRowNumIntCols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_321getRowNumIntCols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_320getRowNumIntCols},
  {"getRowObjParallelism", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_323getRowObjParallelism, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_322getRowObjParallelism},
  {"getRowParallelism", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_325getRowParallelism, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_324getRowParallelism},
  {"getRowDualSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_327getRowDualSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_326getRowDualSol},
  {"addPoolCut", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_329addPoolCut, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_328addPoolCut},
  {"getCutEfficacy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_331getCutEfficacy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_330getCutEfficacy},
  {"isCutEfficacious", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_333isCutEfficacious, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_332isCutEfficacious},
  {"getCutLPSolCutoffDistance", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_335getCutLPSolCutoffDistance, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_334getCutLPSolCutoffDistance},
  {"addCut", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_337addCut, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_336addCut},
  {"getNCuts", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_339getNCuts, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_338getNCuts},
  {"getNCutsApplied", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_341getNCutsApplied, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_340getNCutsApplied},
  {"getNSepaRounds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_343getNSepaRounds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_342getNSepaRounds},
  {"separateSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_345separateSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_344separateSol},
  {"_createConsLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_347_createConsLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_346_createConsLinear},
  {"_createConsQuadratic", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_349_createConsQuadratic, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_348_createConsQuadratic},
  {"_createConsNonlinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_351_createConsNonlinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_350_createConsNonlinear},
  {"_createConsGenNonlinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_353_createConsGenNonlinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_352_createConsGenNonlinear},
  {"createConsFromExpr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_355createConsFromExpr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_354createConsFromExpr},
  {"addCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_357addCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_356addCons},
  {"addConss", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_359addConss, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_358addConss},
  {"addMatrixCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_361addMatrixCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_360addMatrixCons},
  {"addConsDisjunction", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_363addConsDisjunction, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_362addConsDisjunction},
  {"addConsElemDisjunction", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_365addConsElemDisjunction, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_364addConsElemDisjunction},
  {"getConsNVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_367getConsNVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_366getConsNVars},
  {"getConsVars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_369getConsVars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_368getConsVars},
  {"getConsVals", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_371getConsVals, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_370getConsVals},
  {"getNVarsAnd", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_373getNVarsAnd, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_372getNVarsAnd},
  {"getVarsAnd", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_375getVarsAnd, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_374getVarsAnd},
  {"getResultantAnd", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_377getResultantAnd, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_376getResultantAnd},
  {"isAndConsSorted", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_379isAndConsSorted, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_378isAndConsSorted},
  {"sortAndCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_381sortAndCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_380sortAndCons},
  {"printCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_383printCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_382printCons},
  {"addExprNonlinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_385addExprNonlinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_384addExprNonlinear},
  {"addConsCoeff", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_387addConsCoeff, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_386addConsCoeff},
  {"addConsNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_389addConsNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_388addConsNode},
  {"addConsLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_391addConsLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_390addConsLocal},
  {"addConsKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_393addConsKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_392addConsKnapsack},
  {"addConsSOS1", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_395addConsSOS1, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_394addConsSOS1},
  {"addConsSOS2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_397addConsSOS2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_396addConsSOS2},
  {"addConsAnd", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_399addConsAnd, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_398addConsAnd},
  {"addConsOr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_401addConsOr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_400addConsOr},
  {"addConsXor", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_403addConsXor, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_402addConsXor},
  {"addConsCardinality", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_405addConsCardinality, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_404addConsCardinality},
  {"addConsIndicator", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_407addConsIndicator, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_406addConsIndicator},
  {"addMatrixConsIndicator", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_409addMatrixConsIndicator, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_408addMatrixConsIndicator},
  {"getLinearConsIndicator", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_411getLinearConsIndicator, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_410getLinearConsIndicator},
  {"getSlackVarIndicator", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_413getSlackVarIndicator, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_412getSlackVarIndicator},
  {"addPyCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_415addPyCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_414addPyCons},
  {"addVarSOS1", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_417addVarSOS1, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_416addVarSOS1},
  {"appendVarSOS1", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_419appendVarSOS1, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_418appendVarSOS1},
  {"addVarSOS2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_421addVarSOS2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_420addVarSOS2},
  {"appendVarSOS2", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_423appendVarSOS2, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_422appendVarSOS2},
  {"setInitial", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_425setInitial, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_424setInitial},
  {"setModifiable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_427setModifiable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_426setModifiable},
  {"setRemovable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_429setRemovable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_428setRemovable},
  {"setEnforced", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_431setEnforced, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_430setEnforced},
  {"setCheck", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_433setCheck, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_432setCheck},
  {"chgRhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_435chgRhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_434chgRhs},
  {"chgCapacityKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_437chgCapacityKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_436chgCapacityKnapsack},
  {"chgLhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_439chgLhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_438chgLhs},
  {"getRhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_441getRhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_440getRhs},
  {"getCapacityKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_443getCapacityKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_442getCapacityKnapsack},
  {"getLhs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_445getLhs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_444getLhs},
  {"chgCoefLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_447chgCoefLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_446chgCoefLinear},
  {"delCoefLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_449delCoefLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_448delCoefLinear},
  {"addCoefLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_451addCoefLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_450addCoefLinear},
  {"addCoefKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_453addCoefKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_452addCoefKnapsack},
  {"getActivity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_455getActivity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_454getActivity},
  {"getSlack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_457getSlack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_456getSlack},
  {"getTransformedCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_459getTransformedCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_458getTransformedCons},
  {"isNLPConstructed", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_461isNLPConstructed, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_460isNLPConstructed},
  {"getNNlRows", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_463getNNlRows, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_462getNNlRows},
  {"getNlRows", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_465getNlRows, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_464getNlRows},
  {"getNlRowSolActivity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_467getNlRowSolActivity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_466getNlRowSolActivity},
  {"getNlRowSolFeasibility", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_469getNlRowSolFeasibility, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_468getNlRowSolFeasibility},
  {"getNlRowActivityBounds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_471getNlRowActivityBounds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_470getNlRowActivityBounds},
  {"printNlRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_473printNlRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_472printNlRow},
  {"checkQuadraticNonlinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_475checkQuadraticNonlinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_474checkQuadraticNonlinear},
  {"getTermsQuadratic", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_477getTermsQuadratic, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_476getTermsQuadratic},
  {"setRelaxSolVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_479setRelaxSolVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_478setRelaxSolVal},
  {"enableDebugSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_481enableDebugSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_480enableDebugSol},
  {"disableDebugSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_483disableDebugSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_482disableDebugSol},
  {"getConss", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_485getConss, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_484getConss},
  {"getNConss", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_487getNConss, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_486getNConss},
  {"delCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_489delCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_488delCons},
  {"delConsLocal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_491delConsLocal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_490delConsLocal},
  {"getValsLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_493getValsLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_492getValsLinear},
  {"getWeightsKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_495getWeightsKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_494getWeightsKnapsack},
  {"getRowLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_497getRowLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_496getRowLinear},
  {"getDualsolLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_499getDualsolLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_498getDualsolLinear},
  {"getDualsolKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_501getDualsolKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_500getDualsolKnapsack},
  {"getDualMultiplier", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_503getDualMultiplier, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_502getDualMultiplier},
  {"getDualfarkasLinear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_505getDualfarkasLinear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_504getDualfarkasLinear},
  {"getDualfarkasKnapsack", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_507getDualfarkasKnapsack, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_506getDualfarkasKnapsack},
  {"getVarRedcost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_509getVarRedcost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_508getVarRedcost},
  {"getDualSolVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_511getDualSolVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_510getDualSolVal},
  {"optimize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_513optimize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_512optimize},
  {"optimizeNogil", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_515optimizeNogil, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_514optimizeNogil},
  {"solveConcurrent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_517solveConcurrent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_516solveConcurrent},
  {"presolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_519presolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_518presolve},
  {"initBendersDefault", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_521initBendersDefault, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_520initBendersDefault},
  {"computeBestSolSubproblems", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_523computeBestSolSubproblems, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_522computeBestSolSubproblems},
  {"freeBendersSubproblems", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_525freeBendersSubproblems, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_524freeBendersSubproblems},
  {"updateBendersLowerbounds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_527updateBendersLowerbounds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_526updateBendersLowerbounds},
  {"activateBenders", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_529activateBenders, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_528activateBenders},
  {"addBendersSubproblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_531addBendersSubproblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_530addBendersSubproblem},
  {"setBendersSubproblemIsConvex", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_533setBendersSubproblemIsConvex, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_532setBendersSubproblemIsConvex},
  {"setupBendersSubproblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_535setupBendersSubproblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_534setupBendersSubproblem},
  {"solveBendersSubproblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_537solveBendersSubproblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_536solveBendersSubproblem},
  {"getBendersSubproblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_539getBendersSubproblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_538getBendersSubproblem},
  {"getBendersVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_541getBendersVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_540getBendersVar},
  {"getBendersAuxiliaryVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_543getBendersAuxiliaryVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_542getBendersAuxiliaryVar},
  {"checkBendersSubproblemOptimality", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_545checkBendersSubproblemOptimality, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_544checkBendersSubproblemOptimality},
  {"includeBendersDefaultCuts", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_547includeBendersDefaultCuts, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_546includeBendersDefaultCuts},
  {"includeEventhdlr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_549includeEventhdlr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_548includeEventhdlr},
  {"includePricer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_551includePricer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_550includePricer},
  {"includeConshdlr", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_553includeConshdlr, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_552includeConshdlr},
  {"deactivatePricer", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_555deactivatePricer, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_554deactivatePricer},
  {"copyLargeNeighborhoodSearch", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_557copyLargeNeighborhoodSearch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_556copyLargeNeighborhoodSearch},
  {"translateSubSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_559translateSubSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_558translateSubSol},
  {"createCons", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_561createCons, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_560createCons},
  {"includePresol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_563includePresol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_562includePresol},
  {"includeSepa", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_565includeSepa, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_564includeSepa},
  {"includeReader", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_567includeReader, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_566includeReader},
  {"includeProp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_569includeProp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_568includeProp},
  {"includeHeur", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_571includeHeur, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_570includeHeur},
  {"includeIISfinder", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_573includeIISfinder, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_572includeIISfinder},
  {"generateIIS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_575generateIIS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_574generateIIS},
  {"getIIS", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_577getIIS, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_576getIIS},
  {"includeRelax", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_579includeRelax, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_578includeRelax},
  {"includeCutsel", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_581includeCutsel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_580includeCutsel},
  {"includeBranchrule", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_583includeBranchrule, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_582includeBranchrule},
  {"includeNodesel", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_585includeNodesel, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_584includeNodesel},
  {"includeBenders", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_587includeBenders, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_586includeBenders},
  {"includeBenderscut", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_589includeBenderscut, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_588includeBenderscut},
  {"getLPBranchCands", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_591getLPBranchCands, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_590getLPBranchCands},
  {"getNLPBranchCands", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_593getNLPBranchCands, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_592getNLPBranchCands},
  {"getPseudoBranchCands", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_595getPseudoBranchCands, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_594getPseudoBranchCands},
  {"branchVar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_597branchVar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_596branchVar},
  {"branchVarVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_599branchVarVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_598branchVarVal},
  {"calcNodeselPriority", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_601calcNodeselPriority, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_600calcNodeselPriority},
  {"calcChildEstimate", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_603calcChildEstimate, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_602calcChildEstimate},
  {"createChild", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_605createChild, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_604createChild},
  {"startDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_607startDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_606startDive},
  {"endDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_609endDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_608endDive},
  {"chgVarObjDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_611chgVarObjDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_610chgVarObjDive},
  {"chgVarLbDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_613chgVarLbDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_612chgVarLbDive},
  {"chgVarUbDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_615chgVarUbDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_614chgVarUbDive},
  {"getVarLbDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_617getVarLbDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_616getVarLbDive},
  {"getVarUbDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_619getVarUbDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_618getVarUbDive},
  {"chgRowLhsDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_621chgRowLhsDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_620chgRowLhsDive},
  {"chgRowRhsDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_623chgRowRhsDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_622chgRowRhsDive},
  {"addRowDive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_625addRowDive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_624addRowDive},
  {"solveDiveLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_627solveDiveLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_626solveDiveLP},
  {"inRepropagation", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_629inRepropagation, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_628inRepropagation},
  {"startProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_631startProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_630startProbing},
  {"endProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_633endProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_632endProbing},
  {"newProbingNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_635newProbingNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_634newProbingNode},
  {"backtrackProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_637backtrackProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_636backtrackProbing},
  {"getProbingDepth", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_639getProbingDepth, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_638getProbingDepth},
  {"chgVarObjProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_641chgVarObjProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_640chgVarObjProbing},
  {"chgVarLbProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_643chgVarLbProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_642chgVarLbProbing},
  {"chgVarUbProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_645chgVarUbProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_644chgVarUbProbing},
  {"fixVarProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_647fixVarProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_646fixVarProbing},
  {"isObjChangedProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_649isObjChangedProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_648isObjChangedProbing},
  {"inProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_651inProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_650inProbing},
  {"solveProbingLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_653solveProbingLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_652solveProbingLP},
  {"applyCutsProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_655applyCutsProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_654applyCutsProbing},
  {"propagateProbing", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_657propagateProbing, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_656propagateProbing},
  {"interruptSolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_659interruptSolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_658interruptSolve},
  {"restartSolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_661restartSolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_660restartSolve},
  {"writeLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_663writeLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_662writeLP},
  {"writeMIP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_665writeMIP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_664writeMIP},
  {"createSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_667createSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_666createSol},
  {"createPartialSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_669createPartialSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_668createPartialSol},
  {"createOrigSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_671createOrigSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_670createOrigSol},
  {"printBestSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_673printBestSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_672printBestSol},
  {"printSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_675printSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_674printSol},
  {"writeBestSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_677writeBestSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_676writeBestSol},
  {"writeBestTransSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_679writeBestTransSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_678writeBestTransSol},
  {"writeSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_681writeSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_680writeSol},
  {"writeTransSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_683writeTransSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_682writeTransSol},
  {"readSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_685readSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_684readSol},
  {"readSolFile", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_687readSolFile, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_686readSolFile},
  {"setSolVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_689setSolVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_688setSolVal},
  {"trySol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_691trySol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_690trySol},
  {"checkSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_693checkSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_692checkSol},
  {"addSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_695addSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_694addSol},
  {"freeSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_697freeSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_696freeSol},
  {"getNSols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_699getNSols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_698getNSols},
  {"getNSolsFound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_701getNSolsFound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_700getNSolsFound},
  {"getNLimSolsFound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_703getNLimSolsFound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_702getNLimSolsFound},
  {"getNBestSolsFound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_705getNBestSolsFound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_704getNBestSolsFound},
  {"getSols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_707getSols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_706getSols},
  {"getBestSol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_709getBestSol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_708getBestSol},
  {"getSolObjVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_711getSolObjVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_710getSolObjVal},
  {"getSolTime", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_713getSolTime, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_712getSolTime},
  {"getObjVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_715getObjVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_714getObjVal},
  {"getSolVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_717getSolVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_716getSolVal},
  {"getVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_719getVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_718getVal},
  {"hasPrimalRay", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_721hasPrimalRay, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_720hasPrimalRay},
  {"getPrimalRayVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_723getPrimalRayVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_722getPrimalRayVal},
  {"getPrimalRay", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_725getPrimalRay, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_724getPrimalRay},
  {"getPrimalbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_727getPrimalbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_726getPrimalbound},
  {"getDualbound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_729getDualbound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_728getDualbound},
  {"getDualboundRoot", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_731getDualboundRoot, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_730getDualboundRoot},
  {"writeName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_733writeName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_732writeName},
  {"getStage", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_735getStage, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_734getStage},
  {"getStageName", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_737getStageName, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_736getStageName},
  {"_getStageNames", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_739_getStageNames, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_738_getStageNames},
  {"getStatus", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_741getStatus, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_740getStatus},
  {"getObjectiveSense", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_743getObjectiveSense, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_742getObjectiveSense},
  {"catchEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_745catchEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_744catchEvent},
  {"dropEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_747dropEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_746dropEvent},
  {"catchVarEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_749catchVarEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_748catchVarEvent},
  {"dropVarEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_751dropVarEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_750dropVarEvent},
  {"catchRowEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_753catchRowEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_752catchRowEvent},
  {"dropRowEvent", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_755dropRowEvent, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_754dropRowEvent},
  {"printStatistics", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_757printStatistics, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_756printStatistics},
  {"printStatisticsJson", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_759printStatisticsJson, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_758printStatisticsJson},
  {"printStatisticsJson", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_761printStatisticsJson, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_760printStatisticsJson},
  {"writeStatistics", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_763writeStatistics, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_762writeStatistics},
  {"writeStatisticsJson", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_765writeStatisticsJson, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_764writeStatisticsJson},
  {"getNLPs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_767getNLPs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_766getNLPs},
  {"hideOutput", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_769hideOutput, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_768hideOutput},
  {"redirectOutput", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_771redirectOutput, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_770redirectOutput},
  {"setLogfile", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_773setLogfile, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_772setLogfile},
  {"setBoolParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_775setBoolParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_774setBoolParam},
  {"setIntParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_777setIntParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_776setIntParam},
  {"setLongintParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_779setLongintParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_778setLongintParam},
  {"setRealParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_781setRealParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_780setRealParam},
  {"setCharParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_783setCharParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_782setCharParam},
  {"setStringParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_785setStringParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_784setStringParam},
  {"setParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_787setParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_786setParam},
  {"getParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_789getParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_788getParam},
  {"getParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_791getParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_790getParams},
  {"setParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_793setParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_792setParams},
  {"readParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_795readParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_794readParams},
  {"writeParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_797writeParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_796writeParams},
  {"resetParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_799resetParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_798resetParam},
  {"resetParams", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_801resetParams, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_800resetParams},
  {"setEmphasis", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_803setEmphasis, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_802setEmphasis},
  {"readProblem", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_805readProblem, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_804readProblem},
  {"count", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_807count, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_806count},
  {"getNReaders", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_809getNReaders, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_808getNReaders},
  {"getNCountedSols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_811getNCountedSols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_810getNCountedSols},
  {"setParamsCountsols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_813setParamsCountsols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_812setParamsCountsols},
  {"freeReoptSolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_815freeReoptSolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_814freeReoptSolve},
  {"chgReoptObjective", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_817chgReoptObjective, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_816chgReoptObjective},
  {"chgVarBranchPriority", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_819chgVarBranchPriority, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_818chgVarBranchPriority},
  {"startStrongbranch", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_821startStrongbranch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_820startStrongbranch},
  {"endStrongbranch", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_823endStrongbranch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_822endStrongbranch},
  {"getVarStrongbranchLast", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_825getVarStrongbranchLast, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_824getVarStrongbranchLast},
  {"getVarStrongbranchNode", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_827getVarStrongbranchNode, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_826getVarStrongbranchNode},
  {"getVarStrongbranch", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_829getVarStrongbranch, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_828getVarStrongbranch},
  {"updateVarPseudocost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_831updateVarPseudocost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_830updateVarPseudocost},
  {"getBranchScoreMultiple", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_833getBranchScoreMultiple, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_832getBranchScoreMultiple},
  {"getTreesizeEstimation", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_835getTreesizeEstimation, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_834getTreesizeEstimation},
  {"enableExactSolving", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_837enableExactSolving, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_836enableExactSolving},
  {"isExact", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_839isExact, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_838isExact},
  {"allowNegSlackExact", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_841allowNegSlackExact, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_840allowNegSlackExact},
  {"branchLPExact", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_843branchLPExact, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_842branchLPExact},
  {"addRowExact", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_845addRowExact, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_844addRowExact},
  {"getBipartiteGraphRepresentation", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_847getBipartiteGraphRepresentation, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Model_846getBipartiteGraphRepresentation},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_849__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Model_851__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Model[] = {
  {"_freescip", __pyx_getprop_9pyscipopt_4scip_5Model__freescip, __pyx_setprop_9pyscipopt_4scip_5Model__freescip, PyDoc_STR("\n        Return whether the underlying Scip pointer gets deallocted when the current\n        object is deleted.\n\n        Returns\n        -------\n        bool\n\n        "), 0},
  {"data", __pyx_getprop_9pyscipopt_4scip_5Model_data, __pyx_setprop_9pyscipopt_4scip_5Model_data, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyMemberDef __pyx_type_9pyscipopt_4scip_Model_members[] = {
  #if !CYTHON_USE_TYPE_SLOTS
  {"__weaklistoffset__", T_PYSSIZET, offsetof(struct __pyx_obj_9pyscipopt_4scip_Model, __weakref__), READONLY, 0},
  #endif
  {0, 0, 0, 0, 0}
};
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x03090000
#if defined(__GNUC__) || defined(__clang__)
#warning "src/pyscipopt/scip.pxd:2235:16: : __weakref__ is unsupported in the Limited API when running on Python <3.9."
#elif defined(_MSC_VER)
#pragma message("src/pyscipopt/scip.pxd:2235:16: : __weakref__ is unsupported in the Limited API when running on Python <3.9.")
#endif
#endif
static PyType_Slot __pyx_type_9pyscipopt_4scip_Model_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Model},
  {Py_tp_hash, (void *)__pyx_pw_9pyscipopt_4scip_5Model_7__hash__},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Model},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Model},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_9pyscipopt_4scip_Model},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Model},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Model},
  {Py_tp_init, (void *)__pyx_pw_9pyscipopt_4scip_5Model_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Model},
  {Py_tp_members, (void*)__pyx_type_9pyscipopt_4scip_Model_members},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Model_spec = {
  "pyscipopt.scip.Model",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Model),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Model_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Model = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Model", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Model), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Model, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  __pyx_pw_9pyscipopt_4scip_5Model_7__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Model, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Model, /*tp_clear*/
  __pyx_tp_richcompare_9pyscipopt_4scip_Model, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Model, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Model, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9pyscipopt_4scip_5Model_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Model, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_Term __pyx_vtable_9pyscipopt_4scip_Term;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Term(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Term *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Term *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_Term;
  p->vartuple = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->ptrtuple = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Term(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Term *p = (struct __pyx_obj_9pyscipopt_4scip_Term *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Term) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->vartuple);
  Py_CLEAR(p->ptrtuple);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Term(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Term *p = (struct __pyx_obj_9pyscipopt_4scip_Term *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->vartuple) {
    e = (*v)(p->vartuple, a); if (e) return e;
  }
  if (p->ptrtuple) {
    e = (*v)(p->ptrtuple, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Term(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Term *p = (struct __pyx_obj_9pyscipopt_4scip_Term *)o;
  tmp = ((PyObject*)p->vartuple);
  p->vartuple = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->ptrtuple);
  p->ptrtuple = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_sq_item_9pyscipopt_4scip_Term(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyLong_FromSsize_t(i); if(!x) return 0;
  #if CYTHON_USE_TYPE_SLOTS || (!CYTHON_USE_TYPE_SPECS && __PYX_LIMITED_VERSION_HEX < 0x030A0000)
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  #else
  r = ((binaryfunc)PyType_GetSlot(Py_TYPE(o), Py_mp_subscript))(o, x);
  #endif
  Py_DECREF(x);
  return r;
}

static PyObject *__pyx_tp_richcompare_9pyscipopt_4scip_Term(PyObject *o1, PyObject *o2, int op) {
  switch (op) {
    case Py_EQ: {
      return __pyx_pw_9pyscipopt_4scip_4Term_7__eq__(o1, o2);
    }
    case Py_NE: {
      PyObject *ret;
      ret = __pyx_pw_9pyscipopt_4scip_4Term_7__eq__(o1, o2);
      if (likely(ret && ret != Py_NotImplemented)) {
        int b = __Pyx_PyObject_IsTrue(ret);
        Py_DECREF(ret);
        if (unlikely(b < 0)) return NULL;
        ret = (b) ? Py_False : Py_True;
        Py_INCREF(ret);
      }
      return ret;
    }
    default: {
      return __Pyx_NewRef(Py_NotImplemented);
    }
  }
}

static CYTHON_INLINE PyObject *__pyx_nb_multiply_9pyscipopt_4scip_Term_maybe_call_slot(PyTypeObject* type, PyObject *left, PyObject *right ) {
    binaryfunc slot;
#if CYTHON_USE_TYPE_SLOTS
    slot = type->tp_as_number ? type->tp_as_number->nb_multiply : NULL;
#else
    slot = (binaryfunc) PyType_GetSlot(type, Py_nb_multiply);
#endif
    return slot ? slot(left, right ) : __Pyx_NewRef(Py_NotImplemented);
}
static PyObject *__pyx_nb_multiply_9pyscipopt_4scip_Term(PyObject *left, PyObject *right ) {
    int maybe_self_is_left, maybe_self_is_right = 0;
    maybe_self_is_left = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(left)->tp_as_number && Py_TYPE(left)->tp_as_number->nb_multiply == &__pyx_nb_multiply_9pyscipopt_4scip_Term)
#endif
            || __Pyx_TypeCheck(left, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term);
    if (maybe_self_is_left) {
        PyObject *res;
        res = __pyx_pw_9pyscipopt_4scip_4Term_11__mul__(left, right);
        if (res != Py_NotImplemented) return res;
        Py_DECREF(res);
    }
    maybe_self_is_right = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(right)->tp_as_number && Py_TYPE(right)->tp_as_number->nb_multiply == &__pyx_nb_multiply_9pyscipopt_4scip_Term)
#endif
            || PyType_IsSubtype(Py_TYPE(right), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term);
    if (maybe_self_is_right) {
        return __pyx_nb_multiply_9pyscipopt_4scip_Term_maybe_call_slot(__Pyx_PyType_GetSlot(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term, tp_base, PyTypeObject*), left, right );
    }
    return __Pyx_NewRef(Py_NotImplemented);
}



static PyObject *__pyx_getprop_9pyscipopt_4scip_4Term_vartuple(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_4Term_8vartuple_1__get__(o);
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_4Term_ptrtuple(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_4Term_8ptrtuple_1__get__(o);
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Term[] = {
  {"__mul__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_4Term_11__mul__, METH_O|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Term_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Term_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Term[] = {
  {"vartuple", __pyx_getprop_9pyscipopt_4scip_4Term_vartuple, 0, 0, 0},
  {"ptrtuple", __pyx_getprop_9pyscipopt_4scip_4Term_ptrtuple, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Term_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Term},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_4Term_13__repr__},
  {Py_nb_multiply, (void *)__pyx_nb_multiply_9pyscipopt_4scip_Term},
  {Py_sq_length, (void *)__pyx_pw_9pyscipopt_4scip_4Term_9__len__},
  {Py_sq_item, (void *)__pyx_sq_item_9pyscipopt_4scip_Term},
  {Py_mp_length, (void *)__pyx_pw_9pyscipopt_4scip_4Term_9__len__},
  {Py_mp_subscript, (void *)__pyx_pw_9pyscipopt_4scip_4Term_3__getitem__},
  {Py_tp_hash, (void *)__pyx_pw_9pyscipopt_4scip_4Term_5__hash__},
  {Py_tp_doc, (void *)PyDoc_STR("This is a monomial term")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Term},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Term},
  {Py_tp_richcompare, (void *)__pyx_tp_richcompare_9pyscipopt_4scip_Term},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Term},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Term},
  {Py_tp_init, (void *)__pyx_pw_9pyscipopt_4scip_4Term_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Term},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Term_spec = {
  "pyscipopt.scip.Term",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Term),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Term_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_Term = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  __pyx_nb_multiply_9pyscipopt_4scip_Term, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  0, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PySequenceMethods __pyx_tp_as_sequence_Term = {
  __pyx_pw_9pyscipopt_4scip_4Term_9__len__, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_9pyscipopt_4scip_Term, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_Term = {
  __pyx_pw_9pyscipopt_4scip_4Term_9__len__, /*mp_length*/
  __pyx_pw_9pyscipopt_4scip_4Term_3__getitem__, /*mp_subscript*/
  0, /*mp_ass_subscript*/
};

static PyTypeObject __pyx_type_9pyscipopt_4scip_Term = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Term", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Term), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Term, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_4Term_13__repr__, /*tp_repr*/
  &__pyx_tp_as_number_Term, /*tp_as_number*/
  &__pyx_tp_as_sequence_Term, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_Term, /*tp_as_mapping*/
  __pyx_pw_9pyscipopt_4scip_4Term_5__hash__, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("This is a monomial term"), /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Term, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Term, /*tp_clear*/
  __pyx_tp_richcompare_9pyscipopt_4scip_Term, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Term, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Term, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9pyscipopt_4scip_4Term_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Term, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_ExprCons(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_ExprCons *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_ExprCons *)o);
  p->expr = Py_None; Py_INCREF(Py_None);
  p->_lhs = Py_None; Py_INCREF(Py_None);
  p->_rhs = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_ExprCons(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_ExprCons *p = (struct __pyx_obj_9pyscipopt_4scip_ExprCons *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_ExprCons) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->expr);
  Py_CLEAR(p->_lhs);
  Py_CLEAR(p->_rhs);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_ExprCons(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_ExprCons *p = (struct __pyx_obj_9pyscipopt_4scip_ExprCons *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->expr) {
    e = (*v)(p->expr, a); if (e) return e;
  }
  if (p->_lhs) {
    e = (*v)(p->_lhs, a); if (e) return e;
  }
  if (p->_rhs) {
    e = (*v)(p->_rhs, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_ExprCons(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_ExprCons *p = (struct __pyx_obj_9pyscipopt_4scip_ExprCons *)o;
  tmp = ((PyObject*)p->expr);
  p->expr = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_lhs);
  p->_lhs = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_rhs);
  p->_rhs = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_8ExprCons_expr(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_8ExprCons_4expr_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_8ExprCons_expr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_8ExprCons_4expr_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_8ExprCons_4expr_5__del__(o);
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_8ExprCons__lhs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_8ExprCons_4_lhs_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_8ExprCons__lhs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_8ExprCons_4_lhs_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_8ExprCons_4_lhs_5__del__(o);
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_8ExprCons__rhs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_8ExprCons_4_rhs_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_8ExprCons__rhs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_8ExprCons_4_rhs_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_8ExprCons_4_rhs_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_ExprCons[] = {
  {"normalize", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8ExprCons_3normalize, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8ExprCons_2normalize},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8ExprCons_11__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8ExprCons_13__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_ExprCons[] = {
  {"expr", __pyx_getprop_9pyscipopt_4scip_8ExprCons_expr, __pyx_setprop_9pyscipopt_4scip_8ExprCons_expr, 0, 0},
  {"_lhs", __pyx_getprop_9pyscipopt_4scip_8ExprCons__lhs, __pyx_setprop_9pyscipopt_4scip_8ExprCons__lhs, 0, 0},
  {"_rhs", __pyx_getprop_9pyscipopt_4scip_8ExprCons__rhs, __pyx_setprop_9pyscipopt_4scip_8ExprCons__rhs, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_ExprCons_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_ExprCons},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_8ExprCons_7__repr__},
  {Py_nb_bool, (void *)__pyx_pw_9pyscipopt_4scip_8ExprCons_9__bool__},
  {Py_tp_doc, (void *)PyDoc_STR("Constraints with a polynomial expressions and lower/upper bounds.")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_ExprCons},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_ExprCons},
  {Py_tp_richcompare, (void *)__pyx_pw_9pyscipopt_4scip_8ExprCons_5__richcmp__},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_ExprCons},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_ExprCons},
  {Py_tp_init, (void *)__pyx_pw_9pyscipopt_4scip_8ExprCons_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_ExprCons},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_ExprCons_spec = {
  "pyscipopt.scip.ExprCons",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_ExprCons),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_ExprCons_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_ExprCons = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  0, /*nb_negative*/
  0, /*nb_positive*/
  0, /*nb_absolute*/
  __pyx_pw_9pyscipopt_4scip_8ExprCons_9__bool__, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  0, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_9pyscipopt_4scip_ExprCons = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""ExprCons", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_ExprCons), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_ExprCons, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_8ExprCons_7__repr__, /*tp_repr*/
  &__pyx_tp_as_number_ExprCons, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  PyDoc_STR("Constraints with a polynomial expressions and lower/upper bounds."), /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_ExprCons, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_ExprCons, /*tp_clear*/
  __pyx_pw_9pyscipopt_4scip_8ExprCons_5__richcmp__, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_ExprCons, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_ExprCons, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9pyscipopt_4scip_8ExprCons_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_ExprCons, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr __pyx_vtable_9pyscipopt_4scip_GenExpr;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_GenExpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_GenExpr *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_GenExpr *)o);
  p->__pyx_vtab = __pyx_vtabptr_9pyscipopt_4scip_GenExpr;
  p->_op = Py_None; Py_INCREF(Py_None);
  p->children = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_GenExpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_GenExpr *p = (struct __pyx_obj_9pyscipopt_4scip_GenExpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_GenExpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->_op);
  Py_CLEAR(p->children);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_GenExpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_GenExpr *p = (struct __pyx_obj_9pyscipopt_4scip_GenExpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->_op) {
    e = (*v)(p->_op, a); if (e) return e;
  }
  if (p->children) {
    e = (*v)(p->children, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_GenExpr(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_GenExpr *p = (struct __pyx_obj_9pyscipopt_4scip_GenExpr *)o;
  tmp = ((PyObject*)p->_op);
  p->_op = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->children);
  p->children = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static CYTHON_INLINE PyObject *__pyx_nb_add_9pyscipopt_4scip_GenExpr_maybe_call_slot(PyTypeObject* type, PyObject *left, PyObject *right ) {
    binaryfunc slot;
#if CYTHON_USE_TYPE_SLOTS
    slot = type->tp_as_number ? type->tp_as_number->nb_add : NULL;
#else
    slot = (binaryfunc) PyType_GetSlot(type, Py_nb_add);
#endif
    return slot ? slot(left, right ) : __Pyx_NewRef(Py_NotImplemented);
}
static PyObject *__pyx_nb_add_9pyscipopt_4scip_GenExpr(PyObject *left, PyObject *right ) {
    int maybe_self_is_left, maybe_self_is_right = 0;
    maybe_self_is_left = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(left)->tp_as_number && Py_TYPE(left)->tp_as_number->nb_add == &__pyx_nb_add_9pyscipopt_4scip_GenExpr)
#endif
            || __Pyx_TypeCheck(left, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr);
    if (maybe_self_is_left) {
        PyObject *res;
        res = __pyx_pw_9pyscipopt_4scip_7GenExpr_5__add__(left, right);
        if (res != Py_NotImplemented) return res;
        Py_DECREF(res);
    }
    maybe_self_is_right = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(right)->tp_as_number && Py_TYPE(right)->tp_as_number->nb_add == &__pyx_nb_add_9pyscipopt_4scip_GenExpr)
#endif
            || PyType_IsSubtype(Py_TYPE(right), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr);
    if (maybe_self_is_right) {
        return __pyx_pw_9pyscipopt_4scip_7GenExpr_21__radd__(right, left);
    }
    return __Pyx_NewRef(Py_NotImplemented);
}



static CYTHON_INLINE PyObject *__pyx_nb_subtract_9pyscipopt_4scip_GenExpr_maybe_call_slot(PyTypeObject* type, PyObject *left, PyObject *right ) {
    binaryfunc slot;
#if CYTHON_USE_TYPE_SLOTS
    slot = type->tp_as_number ? type->tp_as_number->nb_subtract : NULL;
#else
    slot = (binaryfunc) PyType_GetSlot(type, Py_nb_subtract);
#endif
    return slot ? slot(left, right ) : __Pyx_NewRef(Py_NotImplemented);
}
static PyObject *__pyx_nb_subtract_9pyscipopt_4scip_GenExpr(PyObject *left, PyObject *right ) {
    int maybe_self_is_left, maybe_self_is_right = 0;
    maybe_self_is_left = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(left)->tp_as_number && Py_TYPE(left)->tp_as_number->nb_subtract == &__pyx_nb_subtract_9pyscipopt_4scip_GenExpr)
#endif
            || __Pyx_TypeCheck(left, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr);
    if (maybe_self_is_left) {
        PyObject *res;
        res = __pyx_pw_9pyscipopt_4scip_7GenExpr_19__sub__(left, right);
        if (res != Py_NotImplemented) return res;
        Py_DECREF(res);
    }
    maybe_self_is_right = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(right)->tp_as_number && Py_TYPE(right)->tp_as_number->nb_subtract == &__pyx_nb_subtract_9pyscipopt_4scip_GenExpr)
#endif
            || PyType_IsSubtype(Py_TYPE(right), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr);
    if (maybe_self_is_right) {
        return __pyx_pw_9pyscipopt_4scip_7GenExpr_25__rsub__(right, left);
    }
    return __Pyx_NewRef(Py_NotImplemented);
}



static CYTHON_INLINE PyObject *__pyx_nb_multiply_9pyscipopt_4scip_GenExpr_maybe_call_slot(PyTypeObject* type, PyObject *left, PyObject *right ) {
    binaryfunc slot;
#if CYTHON_USE_TYPE_SLOTS
    slot = type->tp_as_number ? type->tp_as_number->nb_multiply : NULL;
#else
    slot = (binaryfunc) PyType_GetSlot(type, Py_nb_multiply);
#endif
    return slot ? slot(left, right ) : __Pyx_NewRef(Py_NotImplemented);
}
static PyObject *__pyx_nb_multiply_9pyscipopt_4scip_GenExpr(PyObject *left, PyObject *right ) {
    int maybe_self_is_left, maybe_self_is_right = 0;
    maybe_self_is_left = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(left)->tp_as_number && Py_TYPE(left)->tp_as_number->nb_multiply == &__pyx_nb_multiply_9pyscipopt_4scip_GenExpr)
#endif
            || __Pyx_TypeCheck(left, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr);
    if (maybe_self_is_left) {
        PyObject *res;
        res = __pyx_pw_9pyscipopt_4scip_7GenExpr_7__mul__(left, right);
        if (res != Py_NotImplemented) return res;
        Py_DECREF(res);
    }
    maybe_self_is_right = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(right)->tp_as_number && Py_TYPE(right)->tp_as_number->nb_multiply == &__pyx_nb_multiply_9pyscipopt_4scip_GenExpr)
#endif
            || PyType_IsSubtype(Py_TYPE(right), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr);
    if (maybe_self_is_right) {
        return __pyx_pw_9pyscipopt_4scip_7GenExpr_23__rmul__(right, left);
    }
    return __Pyx_NewRef(Py_NotImplemented);
}



static CYTHON_INLINE PyObject *__pyx_nb_power_9pyscipopt_4scip_GenExpr_maybe_call_slot(PyTypeObject* type, PyObject *left, PyObject *right , PyObject* extra_arg) {
    ternaryfunc slot;
#if CYTHON_USE_TYPE_SLOTS
    slot = type->tp_as_number ? type->tp_as_number->nb_power : NULL;
#else
    slot = (ternaryfunc) PyType_GetSlot(type, Py_nb_power);
#endif
    return slot ? slot(left, right , extra_arg) : __Pyx_NewRef(Py_NotImplemented);
}
static PyObject *__pyx_nb_power_9pyscipopt_4scip_GenExpr(PyObject *left, PyObject *right , PyObject* extra_arg) {
    int maybe_self_is_left, maybe_self_is_right = 0;
    maybe_self_is_left = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(left)->tp_as_number && Py_TYPE(left)->tp_as_number->nb_power == &__pyx_nb_power_9pyscipopt_4scip_GenExpr)
#endif
            || __Pyx_TypeCheck(left, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr);
    if (maybe_self_is_left) {
        PyObject *res;
        res = __pyx_pw_9pyscipopt_4scip_7GenExpr_9__pow__(left, right, extra_arg);
        if (res != Py_NotImplemented) return res;
        Py_DECREF(res);
    }
    maybe_self_is_right = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(right)->tp_as_number && Py_TYPE(right)->tp_as_number->nb_power == &__pyx_nb_power_9pyscipopt_4scip_GenExpr)
#endif
            || PyType_IsSubtype(Py_TYPE(right), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr);
    if (maybe_self_is_right) {
        return __pyx_pw_9pyscipopt_4scip_7GenExpr_11__rpow__(right, left, extra_arg);
    }
    return __Pyx_NewRef(Py_NotImplemented);
}



static CYTHON_INLINE PyObject *__pyx_nb_true_divide_9pyscipopt_4scip_GenExpr_maybe_call_slot(PyTypeObject* type, PyObject *left, PyObject *right ) {
    binaryfunc slot;
#if CYTHON_USE_TYPE_SLOTS
    slot = type->tp_as_number ? type->tp_as_number->nb_true_divide : NULL;
#else
    slot = (binaryfunc) PyType_GetSlot(type, Py_nb_true_divide);
#endif
    return slot ? slot(left, right ) : __Pyx_NewRef(Py_NotImplemented);
}
static PyObject *__pyx_nb_true_divide_9pyscipopt_4scip_GenExpr(PyObject *left, PyObject *right ) {
    int maybe_self_is_left, maybe_self_is_right = 0;
    maybe_self_is_left = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(left)->tp_as_number && Py_TYPE(left)->tp_as_number->nb_true_divide == &__pyx_nb_true_divide_9pyscipopt_4scip_GenExpr)
#endif
            || __Pyx_TypeCheck(left, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr);
    if (maybe_self_is_left) {
        PyObject *res;
        res = __pyx_pw_9pyscipopt_4scip_7GenExpr_13__truediv__(left, right);
        if (res != Py_NotImplemented) return res;
        Py_DECREF(res);
    }
    maybe_self_is_right = Py_TYPE(left) == Py_TYPE(right)
#if CYTHON_USE_TYPE_SLOTS
            || (Py_TYPE(right)->tp_as_number && Py_TYPE(right)->tp_as_number->nb_true_divide == &__pyx_nb_true_divide_9pyscipopt_4scip_GenExpr)
#endif
            || PyType_IsSubtype(Py_TYPE(right), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr);
    if (maybe_self_is_right) {
        return __pyx_pw_9pyscipopt_4scip_7GenExpr_15__rtruediv__(right, left);
    }
    return __Pyx_NewRef(Py_NotImplemented);
}



static PyObject *__pyx_getprop_9pyscipopt_4scip_7GenExpr__op(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_7GenExpr_3_op_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_7GenExpr__op(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_7GenExpr_3_op_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_7GenExpr_3_op_5__del__(o);
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_7GenExpr_children(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_7GenExpr_8children_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_7GenExpr_children(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_7GenExpr_8children_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_7GenExpr_8children_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_GenExpr[] = {
  {"__add__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_7GenExpr_5__add__, METH_O|METH_COEXIST, 0},
  {"__mul__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_7GenExpr_7__mul__, METH_O|METH_COEXIST, 0},
  {"__truediv__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_7GenExpr_13__truediv__, METH_O|METH_COEXIST, 0},
  {"__rtruediv__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_7GenExpr_15__rtruediv__, METH_O|METH_COEXIST, __pyx_doc_9pyscipopt_4scip_7GenExpr_14__rtruediv__},
  {"__sub__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_7GenExpr_19__sub__, METH_O|METH_COEXIST, 0},
  {"__radd__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_7GenExpr_21__radd__, METH_O|METH_COEXIST, 0},
  {"__rmul__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_7GenExpr_23__rmul__, METH_O|METH_COEXIST, 0},
  {"__rsub__", (PyCFunction)__pyx_pw_9pyscipopt_4scip_7GenExpr_25__rsub__, METH_O|METH_COEXIST, 0},
  {"degree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7GenExpr_29degree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7GenExpr_28degree},
  {"getOp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7GenExpr_31getOp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7GenExpr_30getOp},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7GenExpr_33__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7GenExpr_35__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_GenExpr[] = {
  {"_op", __pyx_getprop_9pyscipopt_4scip_7GenExpr__op, __pyx_setprop_9pyscipopt_4scip_7GenExpr__op, 0, 0},
  {"children", __pyx_getprop_9pyscipopt_4scip_7GenExpr_children, __pyx_setprop_9pyscipopt_4scip_7GenExpr_children, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_GenExpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_GenExpr},
  {Py_nb_add, (void *)__pyx_nb_add_9pyscipopt_4scip_GenExpr},
  {Py_nb_subtract, (void *)__pyx_nb_subtract_9pyscipopt_4scip_GenExpr},
  {Py_nb_multiply, (void *)__pyx_nb_multiply_9pyscipopt_4scip_GenExpr},
  {Py_nb_power, (void *)__pyx_nb_power_9pyscipopt_4scip_GenExpr},
  {Py_nb_negative, (void *)__pyx_pw_9pyscipopt_4scip_7GenExpr_17__neg__},
  {Py_nb_absolute, (void *)__pyx_pw_9pyscipopt_4scip_7GenExpr_3__abs__},
  {Py_nb_true_divide, (void *)__pyx_nb_true_divide_9pyscipopt_4scip_GenExpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_GenExpr},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_GenExpr},
  {Py_tp_richcompare, (void *)__pyx_pw_9pyscipopt_4scip_7GenExpr_27__richcmp__},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_GenExpr},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_GenExpr},
  {Py_tp_init, (void *)__pyx_pw_9pyscipopt_4scip_7GenExpr_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_GenExpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_GenExpr_spec = {
  "pyscipopt.scip.GenExpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_GenExpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_GenExpr_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_GenExpr = {
  __pyx_nb_add_9pyscipopt_4scip_GenExpr, /*nb_add*/
  __pyx_nb_subtract_9pyscipopt_4scip_GenExpr, /*nb_subtract*/
  __pyx_nb_multiply_9pyscipopt_4scip_GenExpr, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  __pyx_nb_power_9pyscipopt_4scip_GenExpr, /*nb_power*/
  __pyx_pw_9pyscipopt_4scip_7GenExpr_17__neg__, /*nb_negative*/
  0, /*nb_positive*/
  __pyx_pw_9pyscipopt_4scip_7GenExpr_3__abs__, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  0, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  __pyx_nb_true_divide_9pyscipopt_4scip_GenExpr, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_9pyscipopt_4scip_GenExpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""GenExpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_GenExpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_GenExpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  &__pyx_tp_as_number_GenExpr, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_GenExpr, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_GenExpr, /*tp_clear*/
  __pyx_pw_9pyscipopt_4scip_7GenExpr_27__richcmp__, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_GenExpr, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_GenExpr, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9pyscipopt_4scip_7GenExpr_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_GenExpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_SumExpr __pyx_vtable_9pyscipopt_4scip_SumExpr;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_SumExpr(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_SumExpr *p;
  PyObject *o = __pyx_tp_new_9pyscipopt_4scip_GenExpr(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_SumExpr *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr*)__pyx_vtabptr_9pyscipopt_4scip_SumExpr;
  p->constant = Py_None; Py_INCREF(Py_None);
  p->coefs = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_SumExpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_SumExpr *p = (struct __pyx_obj_9pyscipopt_4scip_SumExpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_SumExpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->constant);
  Py_CLEAR(p->coefs);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9pyscipopt_4scip_GenExpr(o);
}

static int __pyx_tp_traverse_9pyscipopt_4scip_SumExpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_SumExpr *p = (struct __pyx_obj_9pyscipopt_4scip_SumExpr *)o;
  e = __pyx_tp_traverse_9pyscipopt_4scip_GenExpr(o, v, a); if (e) return e;
  if (p->constant) {
    e = (*v)(p->constant, a); if (e) return e;
  }
  if (p->coefs) {
    e = (*v)(p->coefs, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_SumExpr(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_SumExpr *p = (struct __pyx_obj_9pyscipopt_4scip_SumExpr *)o;
  __pyx_tp_clear_9pyscipopt_4scip_GenExpr(o);
  tmp = ((PyObject*)p->constant);
  p->constant = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->coefs);
  p->coefs = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_7SumExpr_constant(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_7SumExpr_8constant_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_7SumExpr_constant(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_7SumExpr_8constant_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_7SumExpr_8constant_5__del__(o);
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_7SumExpr_coefs(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_7SumExpr_5coefs_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_7SumExpr_coefs(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_7SumExpr_5coefs_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_7SumExpr_5coefs_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_SumExpr[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7SumExpr_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7SumExpr_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_SumExpr[] = {
  {"constant", __pyx_getprop_9pyscipopt_4scip_7SumExpr_constant, __pyx_setprop_9pyscipopt_4scip_7SumExpr_constant, 0, 0},
  {"coefs", __pyx_getprop_9pyscipopt_4scip_7SumExpr_coefs, __pyx_setprop_9pyscipopt_4scip_7SumExpr_coefs, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_SumExpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_SumExpr},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_7SumExpr_3__repr__},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_SumExpr},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_SumExpr},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_SumExpr},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_SumExpr},
  {Py_tp_init, (void *)__pyx_pw_9pyscipopt_4scip_7SumExpr_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_SumExpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_SumExpr_spec = {
  "pyscipopt.scip.SumExpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_SumExpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_SumExpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_SumExpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""SumExpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_SumExpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_SumExpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_7SumExpr_3__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_SumExpr, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_SumExpr, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_SumExpr, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_SumExpr, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9pyscipopt_4scip_7SumExpr_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_SumExpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_ProdExpr __pyx_vtable_9pyscipopt_4scip_ProdExpr;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_ProdExpr(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_ProdExpr *p;
  PyObject *o = __pyx_tp_new_9pyscipopt_4scip_GenExpr(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr*)__pyx_vtabptr_9pyscipopt_4scip_ProdExpr;
  p->constant = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_ProdExpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_ProdExpr *p = (struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_ProdExpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->constant);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9pyscipopt_4scip_GenExpr(o);
}

static int __pyx_tp_traverse_9pyscipopt_4scip_ProdExpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_ProdExpr *p = (struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)o;
  e = __pyx_tp_traverse_9pyscipopt_4scip_GenExpr(o, v, a); if (e) return e;
  if (p->constant) {
    e = (*v)(p->constant, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_ProdExpr(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_ProdExpr *p = (struct __pyx_obj_9pyscipopt_4scip_ProdExpr *)o;
  __pyx_tp_clear_9pyscipopt_4scip_GenExpr(o);
  tmp = ((PyObject*)p->constant);
  p->constant = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_8ProdExpr_constant(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_8ProdExpr_8constant_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_8ProdExpr_constant(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_8ProdExpr_8constant_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_8ProdExpr_8constant_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_ProdExpr[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8ProdExpr_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8ProdExpr_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_ProdExpr[] = {
  {"constant", __pyx_getprop_9pyscipopt_4scip_8ProdExpr_constant, __pyx_setprop_9pyscipopt_4scip_8ProdExpr_constant, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_ProdExpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_ProdExpr},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_8ProdExpr_3__repr__},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_ProdExpr},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_ProdExpr},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_ProdExpr},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_ProdExpr},
  {Py_tp_init, (void *)__pyx_pw_9pyscipopt_4scip_8ProdExpr_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_ProdExpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_ProdExpr_spec = {
  "pyscipopt.scip.ProdExpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_ProdExpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_ProdExpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_ProdExpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""ProdExpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_ProdExpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_ProdExpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_8ProdExpr_3__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_ProdExpr, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_ProdExpr, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_ProdExpr, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_ProdExpr, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9pyscipopt_4scip_8ProdExpr_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_ProdExpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_VarExpr __pyx_vtable_9pyscipopt_4scip_VarExpr;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_VarExpr(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_VarExpr *p;
  PyObject *o = __pyx_tp_new_9pyscipopt_4scip_GenExpr(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_VarExpr *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr*)__pyx_vtabptr_9pyscipopt_4scip_VarExpr;
  p->var = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_VarExpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_VarExpr *p = (struct __pyx_obj_9pyscipopt_4scip_VarExpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_VarExpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->var);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9pyscipopt_4scip_GenExpr(o);
}

static int __pyx_tp_traverse_9pyscipopt_4scip_VarExpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_VarExpr *p = (struct __pyx_obj_9pyscipopt_4scip_VarExpr *)o;
  e = __pyx_tp_traverse_9pyscipopt_4scip_GenExpr(o, v, a); if (e) return e;
  if (p->var) {
    e = (*v)(p->var, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_VarExpr(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_VarExpr *p = (struct __pyx_obj_9pyscipopt_4scip_VarExpr *)o;
  __pyx_tp_clear_9pyscipopt_4scip_GenExpr(o);
  tmp = ((PyObject*)p->var);
  p->var = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_7VarExpr_var(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_7VarExpr_3var_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_7VarExpr_var(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_7VarExpr_3var_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_7VarExpr_3var_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_VarExpr[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7VarExpr_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7VarExpr_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_VarExpr[] = {
  {"var", __pyx_getprop_9pyscipopt_4scip_7VarExpr_var, __pyx_setprop_9pyscipopt_4scip_7VarExpr_var, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_VarExpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_VarExpr},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_7VarExpr_3__repr__},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_VarExpr},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_VarExpr},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_VarExpr},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_VarExpr},
  {Py_tp_init, (void *)__pyx_pw_9pyscipopt_4scip_7VarExpr_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_VarExpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_VarExpr_spec = {
  "pyscipopt.scip.VarExpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_VarExpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_VarExpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_VarExpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""VarExpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_VarExpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_VarExpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_7VarExpr_3__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_VarExpr, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_VarExpr, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_VarExpr, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_VarExpr, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9pyscipopt_4scip_7VarExpr_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_VarExpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_PowExpr __pyx_vtable_9pyscipopt_4scip_PowExpr;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PowExpr(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_PowExpr *p;
  PyObject *o = __pyx_tp_new_9pyscipopt_4scip_GenExpr(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_PowExpr *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr*)__pyx_vtabptr_9pyscipopt_4scip_PowExpr;
  p->expo = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PowExpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_PowExpr *p = (struct __pyx_obj_9pyscipopt_4scip_PowExpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PowExpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->expo);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9pyscipopt_4scip_GenExpr(o);
}

static int __pyx_tp_traverse_9pyscipopt_4scip_PowExpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_PowExpr *p = (struct __pyx_obj_9pyscipopt_4scip_PowExpr *)o;
  e = __pyx_tp_traverse_9pyscipopt_4scip_GenExpr(o, v, a); if (e) return e;
  if (p->expo) {
    e = (*v)(p->expo, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_PowExpr(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_PowExpr *p = (struct __pyx_obj_9pyscipopt_4scip_PowExpr *)o;
  __pyx_tp_clear_9pyscipopt_4scip_GenExpr(o);
  tmp = ((PyObject*)p->expo);
  p->expo = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_7PowExpr_expo(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_7PowExpr_4expo_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_7PowExpr_expo(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_7PowExpr_4expo_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_7PowExpr_4expo_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PowExpr[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7PowExpr_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7PowExpr_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_PowExpr[] = {
  {"expo", __pyx_getprop_9pyscipopt_4scip_7PowExpr_expo, __pyx_setprop_9pyscipopt_4scip_7PowExpr_expo, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PowExpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PowExpr},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_7PowExpr_3__repr__},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_PowExpr},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_PowExpr},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PowExpr},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_PowExpr},
  {Py_tp_init, (void *)__pyx_pw_9pyscipopt_4scip_7PowExpr_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PowExpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PowExpr_spec = {
  "pyscipopt.scip.PowExpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PowExpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_PowExpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PowExpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PowExpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PowExpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PowExpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_7PowExpr_3__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_PowExpr, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_PowExpr, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PowExpr, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_PowExpr, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9pyscipopt_4scip_7PowExpr_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PowExpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_UnaryExpr __pyx_vtable_9pyscipopt_4scip_UnaryExpr;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_UnaryExpr(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *p;
  PyObject *o = __pyx_tp_new_9pyscipopt_4scip_GenExpr(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr*)__pyx_vtabptr_9pyscipopt_4scip_UnaryExpr;
  return o;
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_UnaryExpr[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9UnaryExpr_9__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9UnaryExpr_11__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_UnaryExpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_GenExpr},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_9UnaryExpr_5__repr__},
  {Py_nb_absolute, (void *)__pyx_pw_9pyscipopt_4scip_9UnaryExpr_3__abs__},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_GenExpr},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_GenExpr},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_UnaryExpr},
  {Py_tp_init, (void *)__pyx_pw_9pyscipopt_4scip_9UnaryExpr_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_UnaryExpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_UnaryExpr_spec = {
  "pyscipopt.scip.UnaryExpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_UnaryExpr_slots,
};
#else

static PyNumberMethods __pyx_tp_as_number_UnaryExpr = {
  0, /*nb_add*/
  0, /*nb_subtract*/
  0, /*nb_multiply*/
  0, /*nb_remainder*/
  0, /*nb_divmod*/
  0, /*nb_power*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_pw_9pyscipopt_4scip_7GenExpr_17__neg__, /*nb_negative*/
  #else
  0, /*nb_negative*/
  #endif
  0, /*nb_positive*/
  __pyx_pw_9pyscipopt_4scip_9UnaryExpr_3__abs__, /*nb_absolute*/
  0, /*nb_bool*/
  0, /*nb_invert*/
  0, /*nb_lshift*/
  0, /*nb_rshift*/
  0, /*nb_and*/
  0, /*nb_xor*/
  0, /*nb_or*/
  0, /*nb_int*/
  0, /*nb_long (reserved)*/
  0, /*nb_float*/
  0, /*nb_inplace_add*/
  0, /*nb_inplace_subtract*/
  0, /*nb_inplace_multiply*/
  0, /*nb_inplace_remainder*/
  0, /*nb_inplace_power*/
  0, /*nb_inplace_lshift*/
  0, /*nb_inplace_rshift*/
  0, /*nb_inplace_and*/
  0, /*nb_inplace_xor*/
  0, /*nb_inplace_or*/
  0, /*nb_floor_divide*/
  0, /*nb_true_divide*/
  0, /*nb_inplace_floor_divide*/
  0, /*nb_inplace_true_divide*/
  0, /*nb_index*/
  0, /*nb_matrix_multiply*/
  0, /*nb_inplace_matrix_multiply*/
};

static PyTypeObject __pyx_type_9pyscipopt_4scip_UnaryExpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""UnaryExpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_GenExpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_9UnaryExpr_5__repr__, /*tp_repr*/
  &__pyx_tp_as_number_UnaryExpr, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_GenExpr, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_GenExpr, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_UnaryExpr, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9pyscipopt_4scip_9UnaryExpr_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_UnaryExpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_9pyscipopt_4scip_Constant __pyx_vtable_9pyscipopt_4scip_Constant;

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Constant(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Constant *p;
  PyObject *o = __pyx_tp_new_9pyscipopt_4scip_GenExpr(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Constant *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_9pyscipopt_4scip_GenExpr*)__pyx_vtabptr_9pyscipopt_4scip_Constant;
  p->number = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Constant(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Constant *p = (struct __pyx_obj_9pyscipopt_4scip_Constant *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Constant) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->number);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_9pyscipopt_4scip_GenExpr(o);
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Constant(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Constant *p = (struct __pyx_obj_9pyscipopt_4scip_Constant *)o;
  e = __pyx_tp_traverse_9pyscipopt_4scip_GenExpr(o, v, a); if (e) return e;
  if (p->number) {
    e = (*v)(p->number, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Constant(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Constant *p = (struct __pyx_obj_9pyscipopt_4scip_Constant *)o;
  __pyx_tp_clear_9pyscipopt_4scip_GenExpr(o);
  tmp = ((PyObject*)p->number);
  p->number = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_8Constant_number(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_8Constant_6number_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_8Constant_number(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_8Constant_6number_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_8Constant_6number_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Constant[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Constant_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Constant_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Constant[] = {
  {"number", __pyx_getprop_9pyscipopt_4scip_8Constant_number, __pyx_setprop_9pyscipopt_4scip_8Constant_number, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Constant_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Constant},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_8Constant_3__repr__},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Constant},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Constant},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Constant},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Constant},
  {Py_tp_init, (void *)__pyx_pw_9pyscipopt_4scip_8Constant_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Constant},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Constant_spec = {
  "pyscipopt.scip.Constant",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Constant),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Constant_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Constant = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Constant", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Constant), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Constant, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_8Constant_3__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Constant, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Constant, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Constant, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Constant, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9pyscipopt_4scip_8Constant_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Constant, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_LP(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_LP *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_LP *)o);
  p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_LP(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_LP *p = (struct __pyx_obj_9pyscipopt_4scip_LP *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_LP) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_9pyscipopt_4scip_2LP_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->name);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_2LP_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_2LP_4name_1__get__(o);
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_LP[] = {
  {"writeLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_7writeLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_6writeLP},
  {"readLP", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_9readLP, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_8readLP},
  {"infinity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_11infinity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_10infinity},
  {"isInfinity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_13isInfinity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_12isInfinity},
  {"addCol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_15addCol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_14addCol},
  {"addCols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_17addCols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_16addCols},
  {"delCols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_19delCols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_18delCols},
  {"addRow", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_21addRow, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_20addRow},
  {"addRows", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_23addRows, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_22addRows},
  {"delRows", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_25delRows, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_24delRows},
  {"getBounds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_27getBounds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_26getBounds},
  {"getSides", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_29getSides, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_28getSides},
  {"chgObj", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_31chgObj, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_30chgObj},
  {"chgCoef", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_33chgCoef, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_32chgCoef},
  {"chgBound", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_35chgBound, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_34chgBound},
  {"chgSide", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_37chgSide, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_36chgSide},
  {"clear", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_39clear, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_38clear},
  {"nrows", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_41nrows, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_40nrows},
  {"ncols", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_43ncols, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_42ncols},
  {"solve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_45solve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_44solve},
  {"isOptimal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_47isOptimal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_46isOptimal},
  {"getObjVal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_49getObjVal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_48getObjVal},
  {"getPrimal", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_51getPrimal, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_50getPrimal},
  {"isPrimalFeasible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_53isPrimalFeasible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_52isPrimalFeasible},
  {"getDual", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_55getDual, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_54getDual},
  {"isDualFeasible", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_57isDualFeasible, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_56isDualFeasible},
  {"getPrimalRay", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_59getPrimalRay, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_58getPrimalRay},
  {"getDualRay", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_61getDualRay, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_60getDualRay},
  {"getNIterations", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_63getNIterations, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_62getNIterations},
  {"getActivity", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_65getActivity, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_64getActivity},
  {"getRedcost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_67getRedcost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_66getRedcost},
  {"getBasisInds", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_69getBasisInds, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_68getBasisInds},
  {"setIntParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_71setIntParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_70setIntParam},
  {"setRealParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_73setRealParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_72setRealParam},
  {"getIntParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_75getIntParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_74getIntParam},
  {"getRealParam", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_77getRealParam, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_2LP_76getRealParam},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_79__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_2LP_81__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_LP[] = {
  {"name", __pyx_getprop_9pyscipopt_4scip_2LP_name, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_LP_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_LP},
  {Py_tp_repr, (void *)__pyx_pw_9pyscipopt_4scip_2LP_5__repr__},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_LP},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_LP},
  {Py_tp_init, (void *)__pyx_pw_9pyscipopt_4scip_2LP_1__init__},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_LP},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_LP_spec = {
  "pyscipopt.scip.LP",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_LP),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_LP_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_LP = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""LP", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_LP), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_LP, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_pw_9pyscipopt_4scip_2LP_5__repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_LP, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_LP, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_pw_9pyscipopt_4scip_2LP_1__init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_LP, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Benders(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Benders *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Benders(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Benders *p = (struct __pyx_obj_9pyscipopt_4scip_Benders *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Benders) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  Py_CLEAR(p->name);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Benders(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Benders *p = (struct __pyx_obj_9pyscipopt_4scip_Benders *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Benders(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Benders *p = (struct __pyx_obj_9pyscipopt_4scip_Benders *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_7Benders_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_7Benders_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_7Benders_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_7Benders_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_7Benders_5model_5__del__(o);
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_7Benders_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_7Benders_4name_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_7Benders_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_7Benders_4name_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_7Benders_4name_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Benders[] = {
  {"bendersfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_1bendersfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_bendersfree},
  {"bendersinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_3bendersinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_2bendersinit},
  {"bendersexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_5bendersexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_4bendersexit},
  {"bendersinitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_7bendersinitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_6bendersinitpre},
  {"bendersexitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_9bendersexitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_8bendersexitpre},
  {"bendersinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_11bendersinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_10bendersinitsol},
  {"bendersexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_13bendersexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_12bendersexitsol},
  {"benderscreatesub", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_15benderscreatesub, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_14benderscreatesub},
  {"benderspresubsolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_17benderspresubsolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_16benderspresubsolve},
  {"benderssolvesubconvex", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_19benderssolvesubconvex, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_18benderssolvesubconvex},
  {"benderssolvesub", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_21benderssolvesub, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_20benderssolvesub},
  {"benderspostsolve", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_23benderspostsolve, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_22benderspostsolve},
  {"bendersfreesub", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_25bendersfreesub, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_24bendersfreesub},
  {"bendersgetvar", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_27bendersgetvar, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Benders_26bendersgetvar},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_29__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Benders_31__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Benders[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_7Benders_model, __pyx_setprop_9pyscipopt_4scip_7Benders_model, 0, 0},
  {"name", __pyx_getprop_9pyscipopt_4scip_7Benders_name, __pyx_setprop_9pyscipopt_4scip_7Benders_name, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Benders_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Benders},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Benders},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Benders},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Benders},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Benders},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Benders},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Benders_spec = {
  "pyscipopt.scip.Benders",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Benders),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Benders_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Benders = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Benders", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Benders), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Benders, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Benders, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Benders, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Benders, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Benders, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Benders, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Benderscut(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Benderscut *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Benderscut *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  p->benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None); Py_INCREF(Py_None);
  p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Benderscut(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Benderscut *p = (struct __pyx_obj_9pyscipopt_4scip_Benderscut *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Benderscut) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  Py_CLEAR(p->benders);
  Py_CLEAR(p->name);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Benderscut(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Benderscut *p = (struct __pyx_obj_9pyscipopt_4scip_Benderscut *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  if (p->benders) {
    e = (*v)(((PyObject *)p->benders), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Benderscut(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Benderscut *p = (struct __pyx_obj_9pyscipopt_4scip_Benderscut *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->benders);
  p->benders = ((struct __pyx_obj_9pyscipopt_4scip_Benders *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_10Benderscut_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_10Benderscut_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_10Benderscut_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_10Benderscut_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_10Benderscut_5model_5__del__(o);
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_10Benderscut_benders(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_10Benderscut_7benders_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_10Benderscut_benders(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_10Benderscut_7benders_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_10Benderscut_7benders_5__del__(o);
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_10Benderscut_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_10Benderscut_4name_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_10Benderscut_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_10Benderscut_4name_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_10Benderscut_4name_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Benderscut[] = {
  {"benderscutfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_1benderscutfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"benderscutinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_3benderscutinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"benderscutexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_5benderscutexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"benderscutinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_7benderscutinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"benderscutexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_9benderscutexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"benderscutexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_11benderscutexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Benderscut_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Benderscut[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_10Benderscut_model, __pyx_setprop_9pyscipopt_4scip_10Benderscut_model, 0, 0},
  {"benders", __pyx_getprop_9pyscipopt_4scip_10Benderscut_benders, __pyx_setprop_9pyscipopt_4scip_10Benderscut_benders, 0, 0},
  {"name", __pyx_getprop_9pyscipopt_4scip_10Benderscut_name, __pyx_setprop_9pyscipopt_4scip_10Benderscut_name, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Benderscut_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Benderscut},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Benderscut},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Benderscut},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Benderscut},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Benderscut},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Benderscut},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Benderscut_spec = {
  "pyscipopt.scip.Benderscut",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Benderscut),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Benderscut_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Benderscut = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Benderscut", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Benderscut), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Benderscut, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Benderscut, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Benderscut, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Benderscut, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Benderscut, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Benderscut, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Branchrule(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Branchrule *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Branchrule *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Branchrule(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Branchrule *p = (struct __pyx_obj_9pyscipopt_4scip_Branchrule *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Branchrule) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Branchrule(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Branchrule *p = (struct __pyx_obj_9pyscipopt_4scip_Branchrule *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Branchrule(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Branchrule *p = (struct __pyx_obj_9pyscipopt_4scip_Branchrule *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_10Branchrule_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_10Branchrule_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_10Branchrule_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_10Branchrule_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_10Branchrule_5model_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Branchrule[] = {
  {"branchfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_1branchfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_branchfree},
  {"branchinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_3branchinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_2branchinit},
  {"branchexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_5branchexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_4branchexit},
  {"branchinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_7branchinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_6branchinitsol},
  {"branchexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_9branchexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_8branchexitsol},
  {"branchexeclp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_11branchexeclp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_10branchexeclp},
  {"branchexecext", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_13branchexecext, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_12branchexecext},
  {"branchexecps", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_15branchexecps, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_10Branchrule_14branchexecps},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_10Branchrule_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Branchrule[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_10Branchrule_model, __pyx_setprop_9pyscipopt_4scip_10Branchrule_model, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Branchrule_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Branchrule},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Branchrule},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Branchrule},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Branchrule},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Branchrule},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Branchrule},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Branchrule_spec = {
  "pyscipopt.scip.Branchrule",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Branchrule),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Branchrule_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Branchrule = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Branchrule", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Branchrule), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Branchrule, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Branchrule, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Branchrule, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Branchrule, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Branchrule, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Branchrule, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Conshdlr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Conshdlr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *p = (struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Conshdlr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  Py_CLEAR(p->name);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Conshdlr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *p = (struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Conshdlr(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Conshdlr *p = (struct __pyx_obj_9pyscipopt_4scip_Conshdlr *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_8Conshdlr_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_8Conshdlr_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_8Conshdlr_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_8Conshdlr_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_8Conshdlr_5model_5__del__(o);
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_8Conshdlr_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_8Conshdlr_4name_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_8Conshdlr_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_8Conshdlr_4name_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_8Conshdlr_4name_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Conshdlr[] = {
  {"consfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_1consfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_consfree},
  {"consinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_3consinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_2consinit},
  {"consexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_5consexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_4consexit},
  {"consinitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_7consinitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_6consinitpre},
  {"consexitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_9consexitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_8consexitpre},
  {"consinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_11consinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_10consinitsol},
  {"consexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_13consexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_12consexitsol},
  {"consdelete", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_15consdelete, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_14consdelete},
  {"constrans", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_17constrans, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_16constrans},
  {"consinitlp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_19consinitlp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_18consinitlp},
  {"conssepalp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_21conssepalp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_20conssepalp},
  {"conssepasol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_23conssepasol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_22conssepasol},
  {"consenfolp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_25consenfolp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_24consenfolp},
  {"consenforelax", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_27consenforelax, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_26consenforelax},
  {"consenfops", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_29consenfops, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_28consenfops},
  {"conscheck", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_31conscheck, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_30conscheck},
  {"consprop", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_33consprop, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_32consprop},
  {"conspresol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_35conspresol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_34conspresol},
  {"consresprop", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_37consresprop, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_36consresprop},
  {"conslock", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_39conslock, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_38conslock},
  {"consactive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_41consactive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_40consactive},
  {"consdeactive", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_43consdeactive, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_42consdeactive},
  {"consenable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_45consenable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_44consenable},
  {"consdisable", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_47consdisable, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_46consdisable},
  {"consdelvars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_49consdelvars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_48consdelvars},
  {"consprint", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_51consprint, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_50consprint},
  {"conscopy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_53conscopy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_52conscopy},
  {"consparse", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_55consparse, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_54consparse},
  {"consgetvars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_57consgetvars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_56consgetvars},
  {"consgetnvars", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_59consgetnvars, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_58consgetnvars},
  {"consgetdivebdchgs", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_61consgetdivebdchgs, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_60consgetdivebdchgs},
  {"consgetpermsymgraph", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_63consgetpermsymgraph, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_62consgetpermsymgraph},
  {"consgetsignedpermsymgraph", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_65consgetsignedpermsymgraph, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_8Conshdlr_64consgetsignedpermsymgraph},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_67__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_8Conshdlr_69__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Conshdlr[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_8Conshdlr_model, __pyx_setprop_9pyscipopt_4scip_8Conshdlr_model, 0, 0},
  {"name", __pyx_getprop_9pyscipopt_4scip_8Conshdlr_name, __pyx_setprop_9pyscipopt_4scip_8Conshdlr_name, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Conshdlr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Conshdlr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Conshdlr},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Conshdlr},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Conshdlr},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Conshdlr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Conshdlr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Conshdlr_spec = {
  "pyscipopt.scip.Conshdlr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Conshdlr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Conshdlr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Conshdlr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Conshdlr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Conshdlr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Conshdlr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Conshdlr, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Conshdlr, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Conshdlr, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Conshdlr, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Conshdlr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Cutsel(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Cutsel *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Cutsel *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Cutsel(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Cutsel *p = (struct __pyx_obj_9pyscipopt_4scip_Cutsel *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Cutsel) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Cutsel(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Cutsel *p = (struct __pyx_obj_9pyscipopt_4scip_Cutsel *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Cutsel(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Cutsel *p = (struct __pyx_obj_9pyscipopt_4scip_Cutsel *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_6Cutsel_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_6Cutsel_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_6Cutsel_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_6Cutsel_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_6Cutsel_5model_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Cutsel[] = {
  {"cutselfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_1cutselfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Cutsel_cutselfree},
  {"cutselinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_3cutselinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Cutsel_2cutselinit},
  {"cutselexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_5cutselexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Cutsel_4cutselexit},
  {"cutselinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_7cutselinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Cutsel_6cutselinitsol},
  {"cutselexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_9cutselexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Cutsel_8cutselexitsol},
  {"cutselselect", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_11cutselselect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Cutsel_10cutselselect},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Cutsel_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Cutsel[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_6Cutsel_model, __pyx_setprop_9pyscipopt_4scip_6Cutsel_model, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Cutsel_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Cutsel},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Cutsel},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Cutsel},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Cutsel},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Cutsel},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Cutsel},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Cutsel_spec = {
  "pyscipopt.scip.Cutsel",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Cutsel),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Cutsel_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Cutsel = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Cutsel", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Cutsel), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Cutsel, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Cutsel, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Cutsel, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Cutsel, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Cutsel, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Cutsel, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Eventhdlr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Eventhdlr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *p = (struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Eventhdlr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  Py_CLEAR(p->name);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Eventhdlr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *p = (struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Eventhdlr(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *p = (struct __pyx_obj_9pyscipopt_4scip_Eventhdlr *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_9Eventhdlr_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_9Eventhdlr_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_9Eventhdlr_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_9Eventhdlr_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_9Eventhdlr_5model_5__del__(o);
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_9Eventhdlr_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_9Eventhdlr_4name_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_9Eventhdlr_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_9Eventhdlr_4name_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_9Eventhdlr_4name_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Eventhdlr[] = {
  {"eventcopy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_1eventcopy, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_eventcopy},
  {"eventfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_3eventfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_2eventfree},
  {"eventinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_5eventinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_4eventinit},
  {"eventexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_7eventexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_6eventexit},
  {"eventinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_9eventinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_8eventinitsol},
  {"eventexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_11eventexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_10eventexitsol},
  {"eventdelete", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_13eventdelete, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_12eventdelete},
  {"eventexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_15eventexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9Eventhdlr_14eventexec},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_17__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9Eventhdlr_19__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Eventhdlr[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_9Eventhdlr_model, __pyx_setprop_9pyscipopt_4scip_9Eventhdlr_model, 0, 0},
  {"name", __pyx_getprop_9pyscipopt_4scip_9Eventhdlr_name, __pyx_setprop_9pyscipopt_4scip_9Eventhdlr_name, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Eventhdlr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Eventhdlr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Eventhdlr},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Eventhdlr},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Eventhdlr},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Eventhdlr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Eventhdlr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Eventhdlr_spec = {
  "pyscipopt.scip.Eventhdlr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Eventhdlr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Eventhdlr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Eventhdlr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Eventhdlr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Eventhdlr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Eventhdlr, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Eventhdlr, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Eventhdlr, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Eventhdlr, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Eventhdlr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Heur(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Heur *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Heur *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Heur(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Heur *p = (struct __pyx_obj_9pyscipopt_4scip_Heur *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Heur) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  Py_CLEAR(p->name);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Heur(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Heur *p = (struct __pyx_obj_9pyscipopt_4scip_Heur *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Heur(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Heur *p = (struct __pyx_obj_9pyscipopt_4scip_Heur *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_4Heur_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_4Heur_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_4Heur_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_4Heur_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_4Heur_5model_5__del__(o);
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_4Heur_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_4Heur_4name_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_4Heur_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_4Heur_4name_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_4Heur_4name_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Heur[] = {
  {"heurfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_1heurfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Heur_heurfree},
  {"heurinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_3heurinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Heur_2heurinit},
  {"heurexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_5heurexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Heur_4heurexit},
  {"heurinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_7heurinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Heur_6heurinitsol},
  {"heurexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_9heurexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Heur_8heurexitsol},
  {"heurexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_11heurexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Heur_10heurexec},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Heur_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Heur[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_4Heur_model, __pyx_setprop_9pyscipopt_4scip_4Heur_model, 0, 0},
  {"name", __pyx_getprop_9pyscipopt_4scip_4Heur_name, __pyx_setprop_9pyscipopt_4scip_4Heur_name, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Heur_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Heur},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Heur},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Heur},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Heur},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Heur},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Heur},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Heur_spec = {
  "pyscipopt.scip.Heur",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Heur),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Heur_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Heur = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Heur", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Heur), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Heur, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Heur, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Heur, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Heur, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Heur, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Heur, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_IISfinder(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_IISfinder *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_IISfinder *)o);
  p->iis = ((struct __pyx_obj_9pyscipopt_4scip_IIS *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_IISfinder(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_IISfinder *p = (struct __pyx_obj_9pyscipopt_4scip_IISfinder *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_IISfinder) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->iis);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_IISfinder(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_IISfinder *p = (struct __pyx_obj_9pyscipopt_4scip_IISfinder *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->iis) {
    e = (*v)(((PyObject *)p->iis), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_IISfinder(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_IISfinder *p = (struct __pyx_obj_9pyscipopt_4scip_IISfinder *)o;
  tmp = ((PyObject*)p->iis);
  p->iis = ((struct __pyx_obj_9pyscipopt_4scip_IIS *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_9IISfinder_iis(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_9IISfinder_3iis_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_9IISfinder_iis(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_9IISfinder_3iis_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_9IISfinder_3iis_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_IISfinder[] = {
  {"iisfinderfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9IISfinder_1iisfinderfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9IISfinder_iisfinderfree},
  {"iisfinderexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9IISfinder_3iisfinderexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_9IISfinder_2iisfinderexec},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9IISfinder_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9IISfinder_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_IISfinder[] = {
  {"iis", __pyx_getprop_9pyscipopt_4scip_9IISfinder_iis, __pyx_setprop_9pyscipopt_4scip_9IISfinder_iis, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_IISfinder_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_IISfinder},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_IISfinder},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_IISfinder},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_IISfinder},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_IISfinder},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_IISfinder},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_IISfinder_spec = {
  "pyscipopt.scip.IISfinder",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_IISfinder),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_IISfinder_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_IISfinder = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""IISfinder", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_IISfinder), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_IISfinder, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_IISfinder, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_IISfinder, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_IISfinder, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_IISfinder, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_IISfinder, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Presol(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Presol *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Presol *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Presol(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Presol *p = (struct __pyx_obj_9pyscipopt_4scip_Presol *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Presol) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Presol(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Presol *p = (struct __pyx_obj_9pyscipopt_4scip_Presol *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Presol(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Presol *p = (struct __pyx_obj_9pyscipopt_4scip_Presol *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_6Presol_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_6Presol_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_6Presol_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_6Presol_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_6Presol_5model_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Presol[] = {
  {"presolfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_1presolfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Presol_presolfree},
  {"presolinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_3presolinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Presol_2presolinit},
  {"presolexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_5presolexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Presol_4presolexit},
  {"presolinitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_7presolinitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Presol_6presolinitpre},
  {"presolexitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_9presolexitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Presol_8presolexitpre},
  {"presolexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_11presolexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Presol_10presolexec},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Presol_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Presol[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_6Presol_model, __pyx_setprop_9pyscipopt_4scip_6Presol_model, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Presol_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Presol},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Presol},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Presol},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Presol},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Presol},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Presol},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Presol_spec = {
  "pyscipopt.scip.Presol",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Presol),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Presol_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Presol = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Presol", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Presol), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Presol, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Presol, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Presol, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Presol, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Presol, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Presol, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Pricer(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Pricer *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Pricer *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Pricer(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Pricer *p = (struct __pyx_obj_9pyscipopt_4scip_Pricer *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Pricer) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Pricer(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Pricer *p = (struct __pyx_obj_9pyscipopt_4scip_Pricer *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Pricer(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Pricer *p = (struct __pyx_obj_9pyscipopt_4scip_Pricer *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_6Pricer_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_6Pricer_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_6Pricer_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_6Pricer_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_6Pricer_5model_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Pricer[] = {
  {"pricerfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_1pricerfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_pricerfree},
  {"pricerinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_3pricerinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_2pricerinit},
  {"pricerexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_5pricerexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_4pricerexit},
  {"pricerinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_7pricerinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_6pricerinitsol},
  {"pricerexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_9pricerexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_8pricerexitsol},
  {"pricerredcost", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_11pricerredcost, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_10pricerredcost},
  {"pricerfarkas", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_13pricerfarkas, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Pricer_12pricerfarkas},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_15__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Pricer_17__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Pricer[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_6Pricer_model, __pyx_setprop_9pyscipopt_4scip_6Pricer_model, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Pricer_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Pricer},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Pricer},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Pricer},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Pricer},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Pricer},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Pricer},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Pricer_spec = {
  "pyscipopt.scip.Pricer",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Pricer),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Pricer_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Pricer = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Pricer", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Pricer), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Pricer, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Pricer, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Pricer, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Pricer, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Pricer, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Pricer, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Prop(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Prop *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Prop *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Prop(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Prop *p = (struct __pyx_obj_9pyscipopt_4scip_Prop *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Prop) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Prop(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Prop *p = (struct __pyx_obj_9pyscipopt_4scip_Prop *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Prop(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Prop *p = (struct __pyx_obj_9pyscipopt_4scip_Prop *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_4Prop_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_4Prop_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_4Prop_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_4Prop_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_4Prop_5model_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Prop[] = {
  {"propfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_1propfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_propfree},
  {"propinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_3propinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_2propinit},
  {"propexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_5propexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_4propexit},
  {"propinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_7propinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_6propinitsol},
  {"propexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_9propexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_8propexitsol},
  {"propinitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_11propinitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_10propinitpre},
  {"propexitpre", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_13propexitpre, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_12propexitpre},
  {"proppresol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_15proppresol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_14proppresol},
  {"propexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_17propexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_16propexec},
  {"propresprop", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_19propresprop, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Prop_18propresprop},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_21__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Prop_23__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Prop[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_4Prop_model, __pyx_setprop_9pyscipopt_4scip_4Prop_model, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Prop_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Prop},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Prop},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Prop},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Prop},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Prop},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Prop},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Prop_spec = {
  "pyscipopt.scip.Prop",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Prop),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Prop_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Prop = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Prop", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Prop), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Prop, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Prop, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Prop, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Prop, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Prop, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Prop, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Sepa(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Sepa *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Sepa *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Sepa(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Sepa *p = (struct __pyx_obj_9pyscipopt_4scip_Sepa *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Sepa) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  Py_CLEAR(p->name);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Sepa(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Sepa *p = (struct __pyx_obj_9pyscipopt_4scip_Sepa *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Sepa(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Sepa *p = (struct __pyx_obj_9pyscipopt_4scip_Sepa *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_4Sepa_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_4Sepa_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_4Sepa_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_4Sepa_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_4Sepa_5model_5__del__(o);
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_4Sepa_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_4Sepa_4name_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_4Sepa_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_4Sepa_4name_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_4Sepa_4name_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Sepa[] = {
  {"sepafree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_1sepafree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_sepafree},
  {"sepainit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_3sepainit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_2sepainit},
  {"sepaexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_5sepaexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_4sepaexit},
  {"sepainitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_7sepainitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_6sepainitsol},
  {"sepaexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_9sepaexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_8sepaexitsol},
  {"sepaexeclp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_11sepaexeclp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_10sepaexeclp},
  {"sepaexecsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_13sepaexecsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_4Sepa_12sepaexecsol},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_15__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_4Sepa_17__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Sepa[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_4Sepa_model, __pyx_setprop_9pyscipopt_4scip_4Sepa_model, 0, 0},
  {"name", __pyx_getprop_9pyscipopt_4scip_4Sepa_name, __pyx_setprop_9pyscipopt_4scip_4Sepa_name, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Sepa_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Sepa},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Sepa},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Sepa},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Sepa},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Sepa},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Sepa},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Sepa_spec = {
  "pyscipopt.scip.Sepa",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Sepa),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Sepa_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Sepa = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Sepa", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Sepa), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Sepa, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Sepa, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Sepa, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Sepa, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Sepa, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Sepa, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Reader(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Reader *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Reader *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Reader(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Reader *p = (struct __pyx_obj_9pyscipopt_4scip_Reader *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Reader) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  Py_CLEAR(p->name);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Reader(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Reader *p = (struct __pyx_obj_9pyscipopt_4scip_Reader *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Reader(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Reader *p = (struct __pyx_obj_9pyscipopt_4scip_Reader *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_6Reader_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_6Reader_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_6Reader_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_6Reader_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_6Reader_5model_5__del__(o);
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_6Reader_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_6Reader_4name_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_6Reader_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_6Reader_4name_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_6Reader_4name_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Reader[] = {
  {"readerfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Reader_1readerfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Reader_readerfree},
  {"readerread", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Reader_3readerread, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Reader_2readerread},
  {"readerwrite", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Reader_5readerwrite, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_6Reader_4readerwrite},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Reader_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_6Reader_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Reader[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_6Reader_model, __pyx_setprop_9pyscipopt_4scip_6Reader_model, 0, 0},
  {"name", __pyx_getprop_9pyscipopt_4scip_6Reader_name, __pyx_setprop_9pyscipopt_4scip_6Reader_name, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Reader_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Reader},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Reader},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Reader},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Reader},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Reader},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Reader},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Reader_spec = {
  "pyscipopt.scip.Reader",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Reader),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Reader_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Reader = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Reader", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Reader), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Reader, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Reader, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Reader, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Reader, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Reader, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Reader, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Relax(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Relax *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Relax *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  p->name = ((PyObject*)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Relax(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Relax *p = (struct __pyx_obj_9pyscipopt_4scip_Relax *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Relax) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  Py_CLEAR(p->name);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Relax(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Relax *p = (struct __pyx_obj_9pyscipopt_4scip_Relax *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Relax(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Relax *p = (struct __pyx_obj_9pyscipopt_4scip_Relax *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_5Relax_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_5Relax_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_5Relax_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_5Relax_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_5Relax_5model_5__del__(o);
  }
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_5Relax_name(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_5Relax_4name_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_5Relax_name(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_5Relax_4name_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_5Relax_4name_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Relax[] = {
  {"relaxfree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_1relaxfree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Relax_relaxfree},
  {"relaxinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_3relaxinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Relax_2relaxinit},
  {"relaxexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_5relaxexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Relax_4relaxexit},
  {"relaxinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_7relaxinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Relax_6relaxinitsol},
  {"relaxexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_9relaxexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Relax_8relaxexitsol},
  {"relaxexec", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_11relaxexec, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_5Relax_10relaxexec},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_13__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_5Relax_15__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Relax[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_5Relax_model, __pyx_setprop_9pyscipopt_4scip_5Relax_model, 0, 0},
  {"name", __pyx_getprop_9pyscipopt_4scip_5Relax_name, __pyx_setprop_9pyscipopt_4scip_5Relax_name, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Relax_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Relax},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Relax},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Relax},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Relax},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Relax},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Relax},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Relax_spec = {
  "pyscipopt.scip.Relax",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Relax),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Relax_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Relax = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Relax", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Relax), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Relax, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Relax, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Relax, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Relax, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Relax, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Relax, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_Nodesel(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip_Nodesel *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_obj_9pyscipopt_4scip_Nodesel *)o);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_Nodesel(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip_Nodesel *p = (struct __pyx_obj_9pyscipopt_4scip_Nodesel *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_Nodesel) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->model);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_9pyscipopt_4scip_Nodesel(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip_Nodesel *p = (struct __pyx_obj_9pyscipopt_4scip_Nodesel *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->model) {
    e = (*v)(((PyObject *)p->model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip_Nodesel(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip_Nodesel *p = (struct __pyx_obj_9pyscipopt_4scip_Nodesel *)o;
  tmp = ((PyObject*)p->model);
  p->model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyObject *__pyx_getprop_9pyscipopt_4scip_7Nodesel_model(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_9pyscipopt_4scip_7Nodesel_5model_1__get__(o);
}

static int __pyx_setprop_9pyscipopt_4scip_7Nodesel_model(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
  if (v) {
    return __pyx_pw_9pyscipopt_4scip_7Nodesel_5model_3__set__(o, v);
  }
  else {
    return __pyx_pw_9pyscipopt_4scip_7Nodesel_5model_5__del__(o);
  }
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_Nodesel[] = {
  {"nodefree", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_1nodefree, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_nodefree},
  {"nodeinit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_3nodeinit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_2nodeinit},
  {"nodeexit", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_5nodeexit, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_4nodeexit},
  {"nodeinitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_7nodeinitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_6nodeinitsol},
  {"nodeexitsol", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_9nodeexitsol, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_8nodeexitsol},
  {"nodeselect", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_11nodeselect, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_10nodeselect},
  {"nodecomp", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_13nodecomp, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_9pyscipopt_4scip_7Nodesel_12nodecomp},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_15__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_7Nodesel_17__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_9pyscipopt_4scip_Nodesel[] = {
  {"model", __pyx_getprop_9pyscipopt_4scip_7Nodesel_model, __pyx_setprop_9pyscipopt_4scip_7Nodesel_model, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_Nodesel_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_Nodesel},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip_Nodesel},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip_Nodesel},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_Nodesel},
  {Py_tp_getset, (void *)__pyx_getsets_9pyscipopt_4scip_Nodesel},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_Nodesel},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_Nodesel_spec = {
  "pyscipopt.scip.Nodesel",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Nodesel),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip_Nodesel_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_Nodesel = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Nodesel", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_Nodesel), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_Nodesel, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip_Nodesel, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip_Nodesel, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_Nodesel, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_9pyscipopt_4scip_Nodesel, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_Nodesel, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_RESULT(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_RESULT(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_RESULT) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_RESULT[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14PY_SCIP_RESULT_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14PY_SCIP_RESULT_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_RESULT_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_RESULT},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_RESULT},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_RESULT},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_RESULT_spec = {
  "pyscipopt.scip.PY_SCIP_RESULT",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_RESULT),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_RESULT_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_RESULT = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_RESULT", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_RESULT), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_RESULT, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_RESULT, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_RESULT, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PARAMSETTING(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PARAMSETTING(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PARAMSETTING) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_PARAMSETTING[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMSETTING_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PARAMSETTING},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_PARAMSETTING},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PARAMSETTING},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMSETTING_spec = {
  "pyscipopt.scip.PY_SCIP_PARAMSETTING",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMSETTING),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMSETTING_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMSETTING = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_PARAMSETTING", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMSETTING), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PARAMSETTING, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_PARAMSETTING, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PARAMSETTING, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_LPPARAM(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_LPPARAM(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_LPPARAM) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_LPPARAM[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_15PY_SCIP_LPPARAM_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_15PY_SCIP_LPPARAM_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_LPPARAM_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_LPPARAM},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_LPPARAM},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_LPPARAM},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_LPPARAM_spec = {
  "pyscipopt.scip.PY_SCIP_LPPARAM",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPPARAM),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_LPPARAM_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_LPPARAM = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_LPPARAM", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPPARAM), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_LPPARAM, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_LPPARAM, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_LPPARAM, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS_spec = {
  "pyscipopt.scip.PY_SCIP_PARAMEMPHASIS",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_PARAMEMPHASIS", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_STATUS(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_STATUS(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_STATUS) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_STATUS[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14PY_SCIP_STATUS_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_14PY_SCIP_STATUS_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_STATUS_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_STATUS},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_STATUS},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_STATUS},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_STATUS_spec = {
  "pyscipopt.scip.PY_SCIP_STATUS",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STATUS),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_STATUS_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_STATUS = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_STATUS", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STATUS), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_STATUS, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_STATUS, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_STATUS, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_STAGE(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_STAGE(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_STAGE) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_STAGE[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_13PY_SCIP_STAGE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_13PY_SCIP_STAGE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_STAGE_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_STAGE},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_STAGE},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_STAGE},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_STAGE_spec = {
  "pyscipopt.scip.PY_SCIP_STAGE",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STAGE),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_STAGE_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_STAGE = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_STAGE", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_STAGE), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_STAGE, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_STAGE, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_STAGE, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_NODETYPE(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_NODETYPE(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_NODETYPE) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_NODETYPE[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16PY_SCIP_NODETYPE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16PY_SCIP_NODETYPE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_NODETYPE_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_NODETYPE},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_NODETYPE},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_NODETYPE},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_NODETYPE_spec = {
  "pyscipopt.scip.PY_SCIP_NODETYPE",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_NODETYPE),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_NODETYPE_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_NODETYPE = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_NODETYPE", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_NODETYPE), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_NODETYPE, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_NODETYPE, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_NODETYPE, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PROPTIMING(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PROPTIMING(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PROPTIMING) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_PROPTIMING[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_PROPTIMING_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PROPTIMING},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_PROPTIMING},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PROPTIMING},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_PROPTIMING_spec = {
  "pyscipopt.scip.PY_SCIP_PROPTIMING",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PROPTIMING),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_PROPTIMING_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_PROPTIMING = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_PROPTIMING", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PROPTIMING), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PROPTIMING, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_PROPTIMING, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PROPTIMING, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING_spec = {
  "pyscipopt.scip.PY_SCIP_PRESOLTIMING",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_PRESOLTIMING", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_HEURTIMING(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_HEURTIMING(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_HEURTIMING) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_HEURTIMING[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_HEURTIMING_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_HEURTIMING},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_HEURTIMING},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_HEURTIMING},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_HEURTIMING_spec = {
  "pyscipopt.scip.PY_SCIP_HEURTIMING",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_HEURTIMING),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_HEURTIMING_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_HEURTIMING = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_HEURTIMING", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_HEURTIMING), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_HEURTIMING, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_HEURTIMING, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_HEURTIMING, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_EVENTTYPE(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_EVENTTYPE(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_EVENTTYPE) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_EVENTTYPE[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_EVENTTYPE_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_EVENTTYPE},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_EVENTTYPE},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_EVENTTYPE},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_EVENTTYPE_spec = {
  "pyscipopt.scip.PY_SCIP_EVENTTYPE",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_EVENTTYPE),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_EVENTTYPE_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_EVENTTYPE = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_EVENTTYPE", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_EVENTTYPE), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_LOCKTYPE(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_LOCKTYPE(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_LOCKTYPE) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_LOCKTYPE[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_LOCKTYPE_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_LOCKTYPE},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_LOCKTYPE},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_LOCKTYPE},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_LOCKTYPE_spec = {
  "pyscipopt.scip.PY_SCIP_LOCKTYPE",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LOCKTYPE),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_LOCKTYPE_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_LOCKTYPE = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_LOCKTYPE", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LOCKTYPE), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_LOCKTYPE, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_LOCKTYPE, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_LOCKTYPE, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE_spec = {
  "pyscipopt.scip.PY_SCIP_IMPLINTTYPE",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_IMPLINTTYPE", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT_spec = {
  "pyscipopt.scip.PY_SCIP_LPSOLSTAT",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_LPSOLSTAT", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_BRANCHDIR(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_BRANCHDIR(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_BRANCHDIR) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_BRANCHDIR[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_BRANCHDIR_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_BRANCHDIR},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_BRANCHDIR},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_BRANCHDIR},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_BRANCHDIR_spec = {
  "pyscipopt.scip.PY_SCIP_BRANCHDIR",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BRANCHDIR),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_BRANCHDIR_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_BRANCHDIR = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_BRANCHDIR", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BRANCHDIR), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_BRANCHDIR, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_BRANCHDIR, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_BRANCHDIR, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE_spec = {
  "pyscipopt.scip.PY_SCIP_BENDERSENFOTYPE",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_BENDERSENFOTYPE", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE_spec = {
  "pyscipopt.scip.PY_SCIP_ROWORIGINTYPE",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_ROWORIGINTYPE", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_SOLORIGIN(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_SOLORIGIN(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_SOLORIGIN) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip_PY_SCIP_SOLORIGIN[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip_PY_SCIP_SOLORIGIN_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_SOLORIGIN},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip_PY_SCIP_SOLORIGIN},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip_PY_SCIP_SOLORIGIN},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip_PY_SCIP_SOLORIGIN_spec = {
  "pyscipopt.scip.PY_SCIP_SOLORIGIN",
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_SOLORIGIN),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip_PY_SCIP_SOLORIGIN_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip_PY_SCIP_SOLORIGIN = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""PY_SCIP_SOLORIGIN", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip_PY_SCIP_SOLORIGIN), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip_PY_SCIP_SOLORIGIN, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip_PY_SCIP_SOLORIGIN, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip_PY_SCIP_SOLORIGIN, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip__VarArray(PyTypeObject *t, PyObject *a, PyObject *k) {
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  if (unlikely(__pyx_pw_9pyscipopt_4scip_9_VarArray_1__cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip__VarArray(PyObject *o) {
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip__VarArray) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_pw_9pyscipopt_4scip_9_VarArray_3__dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyMethodDef __pyx_methods_9pyscipopt_4scip__VarArray[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9_VarArray_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_9pyscipopt_4scip_9_VarArray_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip__VarArray_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip__VarArray},
  {Py_tp_methods, (void *)__pyx_methods_9pyscipopt_4scip__VarArray},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip__VarArray},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip__VarArray_spec = {
  "pyscipopt.scip._VarArray",
  sizeof(struct __pyx_obj_9pyscipopt_4scip__VarArray),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE,
  __pyx_type_9pyscipopt_4scip__VarArray_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip__VarArray = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""_VarArray", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip__VarArray), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip__VarArray, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_9pyscipopt_4scip__VarArray, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip__VarArray, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct__genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct__genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct__genexpr[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct__genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct__genexpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct__genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_v);
  Py_CLEAR(p->__pyx_t_0);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct__genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct__genexpr[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct__genexpr++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct__genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  if (p->__pyx_t_0) {
    e = (*v)(p->__pyx_t_0, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct__genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct__genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct__genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct__genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct__genexpr_spec = {
  "pyscipopt.scip.__pyx_scope_struct__genexpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct__genexpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct__genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct__genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct__genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct__genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct__genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct__genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_1_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_1_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_1_genexpr[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_1_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_1_genexpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_1_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_v);
  Py_CLEAR(p->__pyx_t_0);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_1_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_1_genexpr[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_1_genexpr++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_1_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  if (p->__pyx_t_0) {
    e = (*v)(p->__pyx_t_0, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_1_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_1_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_1_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_1_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_1_genexpr_spec = {
  "pyscipopt.scip.__pyx_scope_struct_1_genexpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_1_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_1_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_1_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_1_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_1_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_1_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_1_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_2_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_2_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_2_genexpr[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_2_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_2_genexpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_2_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_v);
  Py_CLEAR(p->__pyx_t_0);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_2_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_2_genexpr[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_2_genexpr++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_2_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_v) {
    e = (*v)(p->__pyx_v_v, a); if (e) return e;
  }
  if (p->__pyx_t_0) {
    e = (*v)(p->__pyx_t_0, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_2_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_2_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_2_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_2_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_2_genexpr_spec = {
  "pyscipopt.scip.__pyx_scope_struct_2_genexpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_2_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_2_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_2_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_2_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_2_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_2_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_2_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_3_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_3_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_3_genexpr[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_3_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_3_genexpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_3_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_entries);
  Py_CLEAR(p->__pyx_t_0);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_3_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_3_genexpr[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_3_genexpr++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_3_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_entries) {
    e = (*v)(p->__pyx_v_entries, a); if (e) return e;
  }
  if (p->__pyx_t_0) {
    e = (*v)(p->__pyx_t_0, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_3_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_3_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_3_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_3_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_3_genexpr_spec = {
  "pyscipopt.scip.__pyx_scope_struct_3_genexpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_3_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_3_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_3_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_3_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_3_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_3_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_3_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_4_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_4_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_4_genexpr[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_4_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_4_genexpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_4_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_entries);
  Py_CLEAR(p->__pyx_t_0);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_4_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_4_genexpr[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_4_genexpr++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_4_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_entries) {
    e = (*v)(p->__pyx_v_entries, a); if (e) return e;
  }
  if (p->__pyx_t_0) {
    e = (*v)(p->__pyx_t_0, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_4_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_4_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_4_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_4_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_4_genexpr_spec = {
  "pyscipopt.scip.__pyx_scope_struct_4_genexpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_4_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_4_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_4_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_4_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_4_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_4_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_4_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_5_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_5_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_5_genexpr[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_5_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_5_genexpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_5_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_arg);
  Py_CLEAR(p->__pyx_t_0);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_5_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_5_genexpr[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_5_genexpr++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_5_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_arg) {
    e = (*v)(p->__pyx_v_arg, a); if (e) return e;
  }
  if (p->__pyx_t_0) {
    e = (*v)(p->__pyx_t_0, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_5_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_5_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_5_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_5_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_5_genexpr_spec = {
  "pyscipopt.scip.__pyx_scope_struct_5_genexpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_5_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_5_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_5_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_5_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_5_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_5_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_5_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_6_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_6_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_6_genexpr[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_6_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_6_genexpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_6_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_arg);
  Py_CLEAR(p->__pyx_t_0);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_6_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_6_genexpr[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_6_genexpr++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_6_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_arg) {
    e = (*v)(p->__pyx_v_arg, a); if (e) return e;
  }
  if (p->__pyx_t_0) {
    e = (*v)(p->__pyx_t_0, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_6_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_6_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_6_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_6_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_6_genexpr_spec = {
  "pyscipopt.scip.__pyx_scope_struct_6_genexpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_6_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_6_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_6_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_6_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_6_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_6_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_6_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_7_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_7_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_7_genexpr[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_7_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_7_genexpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_7_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_arg);
  Py_CLEAR(p->__pyx_t_0);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_7_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_7_genexpr[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_7_genexpr++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_7_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_arg) {
    e = (*v)(p->__pyx_v_arg, a); if (e) return e;
  }
  if (p->__pyx_t_0) {
    e = (*v)(p->__pyx_t_0, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_7_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_7_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_7_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_7_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_7_genexpr_spec = {
  "pyscipopt.scip.__pyx_scope_struct_7_genexpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_7_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_7_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_7_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_7_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_7_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_7_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_7_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *p;
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  p = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *)o);
  p->__pyx_v_a_view.data = NULL;
  p->__pyx_v_a_view.memview = NULL;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_x);
  __PYX_XCLEAR_MEMVIEW(&p->__pyx_v_a_view, 1);
  p->__pyx_v_a_view.memview = NULL; p->__pyx_v_a_view.data = NULL;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_v_x) {
    e = (*v)(((PyObject *)p->__pyx_v_x), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d *)o;
  tmp = ((PyObject*)p->__pyx_v_x);
  p->__pyx_v_x = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d_spec = {
  "pyscipopt.scip.__pyx_scope_struct_8__core_dot_2d",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_8__core_dot_2d", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_9_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr *p;
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_9_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_9_genexpr[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_9_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  p = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr *)o);
  p->__pyx_genexpr_arg_0.data = NULL;
  p->__pyx_genexpr_arg_0.memview = NULL;
  p->__pyx_t_0.data = NULL;
  p->__pyx_t_0.memview = NULL;
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_9_genexpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_9_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  __PYX_XCLEAR_MEMVIEW(&p->__pyx_genexpr_arg_0, 1);
  p->__pyx_genexpr_arg_0.memview = NULL; p->__pyx_genexpr_arg_0.data = NULL;
  __PYX_XCLEAR_MEMVIEW(&p->__pyx_t_0, 1);
  p->__pyx_t_0.memview = NULL; p->__pyx_t_0.data = NULL;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_9_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_9_genexpr[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_9_genexpr++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_9_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_9_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_9_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_9_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_9_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_9_genexpr_spec = {
  "pyscipopt.scip.__pyx_scope_struct_9_genexpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_9_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_9_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_9_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_9_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_9_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_9_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_9_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_10__core_sum(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_10__core_sum > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_10__core_sum[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_10__core_sum];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_10__core_sum(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_10__core_sum) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_a);
  Py_CLEAR(p->__pyx_v_axis);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_10__core_sum < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_10__core_sum[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_10__core_sum++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_10__core_sum(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_v_a) {
    e = (*v)(((PyObject *)p->__pyx_v_a), a); if (e) return e;
  }
  if (p->__pyx_v_axis) {
    e = (*v)(p->__pyx_v_axis, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip___pyx_scope_struct_10__core_sum(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum *)o;
  tmp = ((PyObject*)p->__pyx_v_a);
  p->__pyx_v_a = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_axis);
  p->__pyx_v_axis = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_10__core_sum_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_10__core_sum},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_10__core_sum},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip___pyx_scope_struct_10__core_sum},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_10__core_sum},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_10__core_sum_spec = {
  "pyscipopt.scip.__pyx_scope_struct_10__core_sum",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_10__core_sum_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_10__core_sum = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_10__core_sum", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_10__core_sum), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_10__core_sum, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_10__core_sum, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip___pyx_scope_struct_10__core_sum, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_10__core_sum, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_11_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_11_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_11_genexpr[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_11_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_11_genexpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_11_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_11_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_11_genexpr[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_11_genexpr++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_11_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(((PyObject *)p->__pyx_genexpr_arg_0), a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_11_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_11_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_11_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_11_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_11_genexpr_spec = {
  "pyscipopt.scip.__pyx_scope_struct_11_genexpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_11_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_11_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_11_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_11_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_11_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_11_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_11_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_12_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_12_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_12_genexpr[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_12_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_12_genexpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_12_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_12_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_12_genexpr[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_12_genexpr++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_12_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(((PyObject *)p->__pyx_genexpr_arg_0), a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_12_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_12_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_12_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_12_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_12_genexpr_spec = {
  "pyscipopt.scip.__pyx_scope_struct_12_genexpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_12_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_12_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_12_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_12_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_12_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_12_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_12_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_13_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_13_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_13_genexpr[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_13_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_13_genexpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_13_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_i);
  Py_CLEAR(p->__pyx_t_0);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_13_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_13_genexpr[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_13_genexpr++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_13_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_i) {
    e = (*v)(p->__pyx_v_i, a); if (e) return e;
  }
  if (p->__pyx_t_0) {
    e = (*v)(p->__pyx_t_0, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_13_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_13_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_13_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_13_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_13_genexpr_spec = {
  "pyscipopt.scip.__pyx_scope_struct_13_genexpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_13_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_13_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_13_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_13_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_13_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_13_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_13_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_EventHandler);
  Py_CLEAR(p->__pyx_v_events);
  Py_CLEAR(p->__pyx_v_model);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_v_EventHandler) {
    e = (*v)(p->__pyx_v_EventHandler, a); if (e) return e;
  }
  if (p->__pyx_v_events) {
    e = (*v)(p->__pyx_v_events, a); if (e) return e;
  }
  if (p->__pyx_v_model) {
    e = (*v)(((PyObject *)p->__pyx_v_model), a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback *)o;
  tmp = ((PyObject*)p->__pyx_v_EventHandler);
  p->__pyx_v_EventHandler = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_events);
  p->__pyx_v_events = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->__pyx_v_model);
  p->__pyx_v_model = ((struct __pyx_obj_9pyscipopt_4scip_Model *)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback_spec = {
  "pyscipopt.scip.__pyx_scope_struct_14_attachEventHandlerCallback",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_14_attachEventHandlerCallback", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_v_treated_keys);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_v_treated_keys) {
    e = (*v)(p->__pyx_v_treated_keys, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics(PyObject *o) {
  PyObject* tmp;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics *)o;
  tmp = ((PyObject*)p->__pyx_v_treated_keys);
  p->__pyx_v_treated_keys = ((PyObject*)Py_None); Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics},
  {Py_tp_clear, (void *)__pyx_tp_clear_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics_spec = {
  "pyscipopt.scip.__pyx_scope_struct_15_readStatistics",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_15_readStatistics", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics, /*tp_traverse*/
  __pyx_tp_clear_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_16_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  PyObject *o;
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_16_genexpr > 0) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(t, __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr))))
  {
    o = (PyObject*)__pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_16_genexpr[--__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_16_genexpr];
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(Py_TYPE(o));
    #endif
    memset(o, 0, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr));
    #if CYTHON_COMPILING_IN_LIMITED_API
    (void) PyObject_Init(o, t);
    #else
    (void) PyObject_INIT(o, t);
    #endif
    PyObject_GC_Track(o);
  } else
  #endif
  {
    o = __Pyx_AllocateExtensionType(t, 1);
    if (unlikely(!o)) return 0;
  }
  return o;
}

static void __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_16_genexpr(PyObject *o) {
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_16_genexpr) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->__pyx_outer_scope);
  Py_CLEAR(p->__pyx_genexpr_arg_0);
  Py_CLEAR(p->__pyx_v_key);
  Py_CLEAR(p->__pyx_v_value);
  #if CYTHON_USE_FREELISTS
  if (likely((int)(__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_16_genexpr < 8) & __PYX_CHECK_FINAL_TYPE_FOR_FREELISTS(Py_TYPE(o), __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr, sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr))))
  {
    __pyx_mstate_global->__pyx_freelist_9pyscipopt_4scip___pyx_scope_struct_16_genexpr[__pyx_mstate_global->__pyx_freecount_9pyscipopt_4scip___pyx_scope_struct_16_genexpr++] = ((struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr *)o);
  } else
  #endif
  {
    PyTypeObject *tp = Py_TYPE(o);
    #if CYTHON_USE_TYPE_SLOTS
    (*tp->tp_free)(o);
    #else
    {
      freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
      if (tp_free) tp_free(o);
    }
    #endif
    #if CYTHON_USE_TYPE_SPECS
    Py_DECREF(tp);
    #endif
  }
}

static int __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_16_genexpr(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr *p = (struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->__pyx_outer_scope) {
    e = (*v)(((PyObject *)p->__pyx_outer_scope), a); if (e) return e;
  }
  if (p->__pyx_genexpr_arg_0) {
    e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
  }
  if (p->__pyx_v_key) {
    e = (*v)(p->__pyx_v_key, a); if (e) return e;
  }
  if (p->__pyx_v_value) {
    e = (*v)(p->__pyx_v_value, a); if (e) return e;
  }
  return 0;
}
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type_9pyscipopt_4scip___pyx_scope_struct_16_genexpr_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_16_genexpr},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_16_genexpr},
  {Py_tp_new, (void *)__pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_16_genexpr},
  {0, 0},
};
static PyType_Spec __pyx_type_9pyscipopt_4scip___pyx_scope_struct_16_genexpr_spec = {
  "pyscipopt.scip.__pyx_scope_struct_16_genexpr",
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC,
  __pyx_type_9pyscipopt_4scip___pyx_scope_struct_16_genexpr_slots,
};
#else

static PyTypeObject __pyx_type_9pyscipopt_4scip___pyx_scope_struct_16_genexpr = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""__pyx_scope_struct_16_genexpr", /*tp_name*/
  sizeof(struct __pyx_obj_9pyscipopt_4scip___pyx_scope_struct_16_genexpr), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_9pyscipopt_4scip___pyx_scope_struct_16_genexpr, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_9pyscipopt_4scip___pyx_scope_struct_16_genexpr, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  0, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_9pyscipopt_4scip___pyx_scope_struct_16_genexpr, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_array __pyx_vtable_array;

static PyObject *__pyx_tp_new_array(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_array_obj *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_array_obj *)o);
  p->__pyx_vtab = __pyx_vtabptr_array;
  p->mode = ((PyObject*)Py_None); Py_INCREF(Py_None);
  p->_format = ((PyObject*)Py_None); Py_INCREF(Py_None);
  if (unlikely(__pyx_array___cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_array(PyObject *o) {
  struct __pyx_array_obj *p = (struct __pyx_array_obj *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_array) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_array___dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->mode);
  Py_CLEAR(p->_format);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static PyObject *__pyx_sq_item_array(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyLong_FromSsize_t(i); if(!x) return 0;
  #if CYTHON_USE_TYPE_SLOTS || (!CYTHON_USE_TYPE_SPECS && __PYX_LIMITED_VERSION_HEX < 0x030A0000)
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  #else
  r = ((binaryfunc)PyType_GetSlot(Py_TYPE(o), Py_mp_subscript))(o, x);
  #endif
  Py_DECREF(x);
  return r;
}

static int __pyx_mp_ass_subscript_array(PyObject *o, PyObject *i, PyObject *v) {
  if (v) {
    return __pyx_array___setitem__(o, i, v);
  }
  else {
    __Pyx_TypeName o_type_name;
    o_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(o));
    PyErr_Format(PyExc_NotImplementedError,
      "Subscript deletion not supported by " __Pyx_FMT_TYPENAME, o_type_name);
    __Pyx_DECREF_TypeName(o_type_name);
    return -1;
  }
}

static PyObject *__pyx_tp_getattro_array(PyObject *o, PyObject *n) {
  PyObject *v = PyObject_GenericGetAttr(o, n);
  if (!v && PyErr_ExceptionMatches(PyExc_AttributeError)) {
    PyErr_Clear();
    v = __pyx_array___getattr__(o, n);
  }
  return v;
}

static PyObject *__pyx_getprop___pyx_array_memview(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(o);
}

static PyMethodDef __pyx_methods_array[] = {
  {"__getattr__", (PyCFunction)__pyx_array___getattr__, METH_O|METH_COEXIST, 0},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_array_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_array_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_array[] = {
  {"memview", __pyx_getprop___pyx_array_memview, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
#if !CYTHON_COMPILING_IN_LIMITED_API

static PyBufferProcs __pyx_tp_as_buffer_array = {
  __pyx_array_getbuffer, /*bf_getbuffer*/
  0, /*bf_releasebuffer*/
};
#endif
static PyType_Slot __pyx_type___pyx_array_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_array},
  {Py_sq_length, (void *)__pyx_array___len__},
  {Py_sq_item, (void *)__pyx_sq_item_array},
  {Py_mp_length, (void *)__pyx_array___len__},
  {Py_mp_subscript, (void *)__pyx_array___getitem__},
  {Py_mp_ass_subscript, (void *)__pyx_mp_ass_subscript_array},
  {Py_tp_getattro, (void *)__pyx_tp_getattro_array},
  #if defined(Py_bf_getbuffer)
  {Py_bf_getbuffer, (void *)__pyx_array_getbuffer},
  #endif
  {Py_tp_methods, (void *)__pyx_methods_array},
  {Py_tp_getset, (void *)__pyx_getsets_array},
  {Py_tp_new, (void *)__pyx_tp_new_array},
  {0, 0},
};
static PyType_Spec __pyx_type___pyx_array_spec = {
  "pyscipopt.scip.array",
  sizeof(struct __pyx_array_obj),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_SEQUENCE,
  __pyx_type___pyx_array_slots,
};
#else

static PySequenceMethods __pyx_tp_as_sequence_array = {
  __pyx_array___len__, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_array, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_array = {
  __pyx_array___len__, /*mp_length*/
  __pyx_array___getitem__, /*mp_subscript*/
  __pyx_mp_ass_subscript_array, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_array = {
  __pyx_array_getbuffer, /*bf_getbuffer*/
  0, /*bf_releasebuffer*/
};

static PyTypeObject __pyx_type___pyx_array = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""array", /*tp_name*/
  sizeof(struct __pyx_array_obj), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_array, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  0, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_array, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_array, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  __pyx_tp_getattro_array, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_array, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_SEQUENCE, /*tp_flags*/
  0, /*tp_doc*/
  0, /*tp_traverse*/
  0, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_array, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_array, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_array, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
  struct __pyx_MemviewEnum_obj *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_MemviewEnum_obj *)o);
  p->name = Py_None; Py_INCREF(Py_None);
  return o;
}

static void __pyx_tp_dealloc_Enum(PyObject *o) {
  struct __pyx_MemviewEnum_obj *p = (struct __pyx_MemviewEnum_obj *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_Enum) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  Py_CLEAR(p->name);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_Enum(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_MemviewEnum_obj *p = (struct __pyx_MemviewEnum_obj *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->name) {
    e = (*v)(p->name, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_Enum(PyObject *o) {
  PyObject* tmp;
  struct __pyx_MemviewEnum_obj *p = (struct __pyx_MemviewEnum_obj *)o;
  tmp = ((PyObject*)p->name);
  p->name = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  return 0;
}

static PyMethodDef __pyx_methods_Enum[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_MemviewEnum_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_MemviewEnum_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type___pyx_MemviewEnum_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_Enum},
  {Py_tp_repr, (void *)__pyx_MemviewEnum___repr__},
  {Py_tp_traverse, (void *)__pyx_tp_traverse_Enum},
  {Py_tp_clear, (void *)__pyx_tp_clear_Enum},
  {Py_tp_methods, (void *)__pyx_methods_Enum},
  {Py_tp_init, (void *)__pyx_MemviewEnum___init__},
  {Py_tp_new, (void *)__pyx_tp_new_Enum},
  {0, 0},
};
static PyType_Spec __pyx_type___pyx_MemviewEnum_spec = {
  "pyscipopt.scip.Enum",
  sizeof(struct __pyx_MemviewEnum_obj),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type___pyx_MemviewEnum_slots,
};
#else

static PyTypeObject __pyx_type___pyx_MemviewEnum = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""Enum", /*tp_name*/
  sizeof(struct __pyx_MemviewEnum_obj), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_Enum, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_MemviewEnum___repr__, /*tp_repr*/
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  0, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_Enum, /*tp_traverse*/
  __pyx_tp_clear_Enum, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_Enum, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  __pyx_MemviewEnum___init__, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_Enum, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct_memoryview __pyx_vtable_memoryview;

static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_memoryview_obj *p;
  PyObject *o;
  o = __Pyx_AllocateExtensionType(t, 0);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_memoryview_obj *)o);
  p->__pyx_vtab = __pyx_vtabptr_memoryview;
  p->obj = Py_None; Py_INCREF(Py_None);
  p->_size = Py_None; Py_INCREF(Py_None);
  p->view.obj = NULL;
  if (unlikely(__pyx_memoryview___cinit__(o, a, k) < 0)) goto bad;
  return o;
  bad:
  Py_DECREF(o); o = 0;
  return NULL;
}

static void __pyx_tp_dealloc_memoryview(PyObject *o) {
  struct __pyx_memoryview_obj *p = (struct __pyx_memoryview_obj *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_memoryview) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_memoryview___dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->obj);
  Py_CLEAR(p->_size);
  PyTypeObject *tp = Py_TYPE(o);
  #if CYTHON_USE_TYPE_SLOTS
  (*tp->tp_free)(o);
  #else
  {
    freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
    if (tp_free) tp_free(o);
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  Py_DECREF(tp);
  #endif
}

static int __pyx_tp_traverse_memoryview(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_memoryview_obj *p = (struct __pyx_memoryview_obj *)o;
  {
    e = __Pyx_call_type_traverse(o, 1, v, a);
    if (e) return e;
  }
  if (p->obj) {
    e = (*v)(p->obj, a); if (e) return e;
  }
  if (p->_size) {
    e = (*v)(p->_size, a); if (e) return e;
  }
  if (p->view.obj) {
    e = (*v)(p->view.obj, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear_memoryview(PyObject *o) {
  PyObject* tmp;
  struct __pyx_memoryview_obj *p = (struct __pyx_memoryview_obj *)o;
  tmp = ((PyObject*)p->obj);
  p->obj = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  tmp = ((PyObject*)p->_size);
  p->_size = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  Py_CLEAR(p->view.obj);
  return 0;
}

static PyObject *__pyx_sq_item_memoryview(PyObject *o, Py_ssize_t i) {
  PyObject *r;
  PyObject *x = PyLong_FromSsize_t(i); if(!x) return 0;
  #if CYTHON_USE_TYPE_SLOTS || (!CYTHON_USE_TYPE_SPECS && __PYX_LIMITED_VERSION_HEX < 0x030A0000)
  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
  #else
  r = ((binaryfunc)PyType_GetSlot(Py_TYPE(o), Py_mp_subscript))(o, x);
  #endif
  Py_DECREF(x);
  return r;
}

static int __pyx_mp_ass_subscript_memoryview(PyObject *o, PyObject *i, PyObject *v) {
  if (v) {
    return __pyx_memoryview___setitem__(o, i, v);
  }
  else {
    __Pyx_TypeName o_type_name;
    o_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(o));
    PyErr_Format(PyExc_NotImplementedError,
      "Subscript deletion not supported by " __Pyx_FMT_TYPENAME, o_type_name);
    __Pyx_DECREF_TypeName(o_type_name);
    return -1;
  }
}

static PyObject *__pyx_getprop___pyx_memoryview_T(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_base(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_shape(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_strides(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_suboffsets(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_ndim(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_itemsize(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_nbytes(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(o);
}

static PyObject *__pyx_getprop___pyx_memoryview_size(PyObject *o, CYTHON_UNUSED void *x) {
  return __pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(o);
}

static PyMethodDef __pyx_methods_memoryview[] = {
  {"is_c_contig", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_memoryview_is_c_contig, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"is_f_contig", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_memoryview_is_f_contig, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"copy", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_memoryview_copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"copy_fortran", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_memoryview_copy_fortran, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_memoryview_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_memoryview_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};

static struct PyGetSetDef __pyx_getsets_memoryview[] = {
  {"T", __pyx_getprop___pyx_memoryview_T, 0, 0, 0},
  {"base", __pyx_getprop___pyx_memoryview_base, 0, 0, 0},
  {"shape", __pyx_getprop___pyx_memoryview_shape, 0, 0, 0},
  {"strides", __pyx_getprop___pyx_memoryview_strides, 0, 0, 0},
  {"suboffsets", __pyx_getprop___pyx_memoryview_suboffsets, 0, 0, 0},
  {"ndim", __pyx_getprop___pyx_memoryview_ndim, 0, 0, 0},
  {"itemsize", __pyx_getprop___pyx_memoryview_itemsize, 0, 0, 0},
  {"nbytes", __pyx_getprop___pyx_memoryview_nbytes, 0, 0, 0},
  {"size", __pyx_getprop___pyx_memoryview_size, 0, 0, 0},
  {0, 0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
#if !CYTHON_COMPILING_IN_LIMITED_API

static PyBufferProcs __pyx_tp_as_buffer_memoryview = {
  __pyx_memoryview_getbuffer, /*bf_getbuffer*/
  0, /*bf_releasebuffer*/
};
#endif
static PyType_Slot __pyx_type___pyx_memoryview_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc_memoryview},
  {Py_tp_repr, (void *)__pyx_memoryview___repr__},
  {Py_sq_length, (void *)__pyx_memoryview___len__},
  {Py_sq_item, (void *)__pyx_sq_item_memoryview},
  {Py_mp_length, (void *)__pyx_memoryview___len__},
  {Py_mp_subscript, (void *)__pyx_memoryview___getitem__},
  {Py_mp_ass_subscript, (void *)__pyx_mp_ass_subscript_memoryview},
  {Py_tp_str, (void *)__pyx_memoryview___str__},
  #if defined(Py_bf_getbuffer)
  {Py_bf_getbuffer, (void *)__pyx_memoryview_getbuffer},
  #endif
  {Py_tp_traverse, (void *)__pyx_tp_traverse_memoryview},
  {Py_tp_clear, (void *)__pyx_tp_clear_memoryview},
  {Py_tp_methods, (void *)__pyx_methods_memoryview},
  {Py_tp_getset, (void *)__pyx_getsets_memoryview},
  {Py_tp_new, (void *)__pyx_tp_new_memoryview},
  {0, 0},
};
static PyType_Spec __pyx_type___pyx_memoryview_spec = {
  "pyscipopt.scip.memoryview",
  sizeof(struct __pyx_memoryview_obj),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
  __pyx_type___pyx_memoryview_slots,
};
#else

static PySequenceMethods __pyx_tp_as_sequence_memoryview = {
  __pyx_memoryview___len__, /*sq_length*/
  0, /*sq_concat*/
  0, /*sq_repeat*/
  __pyx_sq_item_memoryview, /*sq_item*/
  0, /*sq_slice*/
  0, /*sq_ass_item*/
  0, /*sq_ass_slice*/
  0, /*sq_contains*/
  0, /*sq_inplace_concat*/
  0, /*sq_inplace_repeat*/
};

static PyMappingMethods __pyx_tp_as_mapping_memoryview = {
  __pyx_memoryview___len__, /*mp_length*/
  __pyx_memoryview___getitem__, /*mp_subscript*/
  __pyx_mp_ass_subscript_memoryview, /*mp_ass_subscript*/
};

static PyBufferProcs __pyx_tp_as_buffer_memoryview = {
  __pyx_memoryview_getbuffer, /*bf_getbuffer*/
  0, /*bf_releasebuffer*/
};

static PyTypeObject __pyx_type___pyx_memoryview = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""memoryview", /*tp_name*/
  sizeof(struct __pyx_memoryview_obj), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc_memoryview, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  __pyx_memoryview___repr__, /*tp_repr*/
  0, /*tp_as_number*/
  &__pyx_tp_as_sequence_memoryview, /*tp_as_sequence*/
  &__pyx_tp_as_mapping_memoryview, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  __pyx_memoryview___str__, /*tp_str*/
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  &__pyx_tp_as_buffer_memoryview, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
  0, /*tp_doc*/
  __pyx_tp_traverse_memoryview, /*tp_traverse*/
  __pyx_tp_clear_memoryview, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods_memoryview, /*tp_methods*/
  0, /*tp_members*/
  __pyx_getsets_memoryview, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new_memoryview, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif
static struct __pyx_vtabstruct__memoryviewslice __pyx_vtable__memoryviewslice;

static PyObject *__pyx_tp_new__memoryviewslice(PyTypeObject *t, PyObject *a, PyObject *k) {
  struct __pyx_memoryviewslice_obj *p;
  PyObject *o = __pyx_tp_new_memoryview(t, a, k);
  if (unlikely(!o)) return 0;
  p = ((struct __pyx_memoryviewslice_obj *)o);
  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_memoryview*)__pyx_vtabptr__memoryviewslice;
  p->from_object = Py_None; Py_INCREF(Py_None);
  p->from_slice.memview = NULL;
  return o;
}

static void __pyx_tp_dealloc__memoryviewslice(PyObject *o) {
  struct __pyx_memoryviewslice_obj *p = (struct __pyx_memoryviewslice_obj *)o;
  #if CYTHON_USE_TP_FINALIZE
  if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
    if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc__memoryviewslice) {
      if (PyObject_CallFinalizerFromDealloc(o)) return;
    }
  }
  #endif
  PyObject_GC_UnTrack(o);
  {
    PyObject *etype, *eval, *etb;
    PyErr_Fetch(&etype, &eval, &etb);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
    __pyx_memoryviewslice___dealloc__(o);
    __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
    PyErr_Restore(etype, eval, etb);
  }
  Py_CLEAR(p->from_object);
  PyObject_GC_Track(o);
  __pyx_tp_dealloc_memoryview(o);
}

static int __pyx_tp_traverse__memoryviewslice(PyObject *o, visitproc v, void *a) {
  int e;
  struct __pyx_memoryviewslice_obj *p = (struct __pyx_memoryviewslice_obj *)o;
  e = __pyx_tp_traverse_memoryview(o, v, a); if (e) return e;
  if (p->from_object) {
    e = (*v)(p->from_object, a); if (e) return e;
  }
  return 0;
}

static int __pyx_tp_clear__memoryviewslice(PyObject *o) {
  PyObject* tmp;
  struct __pyx_memoryviewslice_obj *p = (struct __pyx_memoryviewslice_obj *)o;
  __pyx_tp_clear_memoryview(o);
  tmp = ((PyObject*)p->from_object);
  p->from_object = Py_None; Py_INCREF(Py_None);
  Py_XDECREF(tmp);
  __PYX_XCLEAR_MEMVIEW(&p->from_slice, 1);
  return 0;
}

static PyMethodDef __pyx_methods__memoryviewslice[] = {
  {"__reduce_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_memoryviewslice_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {"__setstate_cython__", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_memoryviewslice_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
  {0, 0, 0, 0}
};
#if CYTHON_USE_TYPE_SPECS
static PyType_Slot __pyx_type___pyx_memoryviewslice_slots[] = {
  {Py_tp_dealloc, (void *)__pyx_tp_dealloc__memoryviewslice},
  {Py_tp_doc, (void *)PyDoc_STR("Internal class for passing memoryview slices to Python")},
  {Py_tp_traverse, (void *)__pyx_tp_traverse__memoryviewslice},
  {Py_tp_clear, (void *)__pyx_tp_clear__memoryviewslice},
  {Py_tp_methods, (void *)__pyx_methods__memoryviewslice},
  {Py_tp_new, (void *)__pyx_tp_new__memoryviewslice},
  {0, 0},
};
static PyType_Spec __pyx_type___pyx_memoryviewslice_spec = {
  "pyscipopt.scip._memoryviewslice",
  sizeof(struct __pyx_memoryviewslice_obj),
  0,
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_SEQUENCE,
  __pyx_type___pyx_memoryviewslice_slots,
};
#else

static PyTypeObject __pyx_type___pyx_memoryviewslice = {
  PyVarObject_HEAD_INIT(0, 0)
  "pyscipopt.scip.""_memoryviewslice", /*tp_name*/
  sizeof(struct __pyx_memoryviewslice_obj), /*tp_basicsize*/
  0, /*tp_itemsize*/
  __pyx_tp_dealloc__memoryviewslice, /*tp_dealloc*/
  0, /*tp_vectorcall_offset*/
  0, /*tp_getattr*/
  0, /*tp_setattr*/
  0, /*tp_as_async*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_memoryview___repr__, /*tp_repr*/
  #else
  0, /*tp_repr*/
  #endif
  0, /*tp_as_number*/
  0, /*tp_as_sequence*/
  0, /*tp_as_mapping*/
  0, /*tp_hash*/
  0, /*tp_call*/
  #if CYTHON_COMPILING_IN_PYPY || 0
  __pyx_memoryview___str__, /*tp_str*/
  #else
  0, /*tp_str*/
  #endif
  0, /*tp_getattro*/
  0, /*tp_setattro*/
  0, /*tp_as_buffer*/
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_SEQUENCE, /*tp_flags*/
  PyDoc_STR("Internal class for passing memoryview slices to Python"), /*tp_doc*/
  __pyx_tp_traverse__memoryviewslice, /*tp_traverse*/
  __pyx_tp_clear__memoryviewslice, /*tp_clear*/
  0, /*tp_richcompare*/
  0, /*tp_weaklistoffset*/
  0, /*tp_iter*/
  0, /*tp_iternext*/
  __pyx_methods__memoryviewslice, /*tp_methods*/
  0, /*tp_members*/
  0, /*tp_getset*/
  0, /*tp_base*/
  0, /*tp_dict*/
  0, /*tp_descr_get*/
  0, /*tp_descr_set*/
  #if !CYTHON_USE_TYPE_SPECS
  0, /*tp_dictoffset*/
  #endif
  0, /*tp_init*/
  0, /*tp_alloc*/
  __pyx_tp_new__memoryviewslice, /*tp_new*/
  0, /*tp_free*/
  0, /*tp_is_gc*/
  0, /*tp_bases*/
  0, /*tp_mro*/
  0, /*tp_cache*/
  0, /*tp_subclasses*/
  0, /*tp_weaklist*/
  0, /*tp_del*/
  0, /*tp_version_tag*/
  #if CYTHON_USE_TP_FINALIZE
  0, /*tp_finalize*/
  #else
  NULL, /*tp_finalize*/
  #endif
  #if !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800
  0, /*tp_vectorcall*/
  #endif
  #if __PYX_NEED_TP_PRINT_SLOT == 1
  0, /*tp_print*/
  #endif
  #if PY_VERSION_HEX >= 0x030C0000
  0, /*tp_watched*/
  #endif
  #if PY_VERSION_HEX >= 0x030d00A4
  0, /*tp_versions_used*/
  #endif
  #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
  0, /*tp_pypy_flags*/
  #endif
};
#endif

static PyMethodDef __pyx_methods[] = {
  {0, 0, 0, 0}
};
/* #### Code section: initfunc_declarations ### */
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_InitConstants(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(__pyx_mstatetype *__pyx_mstate); /*proto*/
static CYTHON_SMALL_CODE int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate); /*proto*/
/* #### Code section: init_module ### */

static int __Pyx_modinit_global_init_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
  /*--- Global init code ---*/
  __pyx_collections_abc_Sequence = Py_None; Py_INCREF(Py_None);
  generic = Py_None; Py_INCREF(Py_None);
  strided = Py_None; Py_INCREF(Py_None);
  indirect = Py_None; Py_INCREF(Py_None);
  contiguous = Py_None; Py_INCREF(Py_None);
  indirect_contiguous = Py_None; Py_INCREF(Py_None);
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_variable_export_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
  /*--- Variable export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_export_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
  /*--- Function export code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_type_init_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
  /*--- Type init code ---*/
  __pyx_vtabptr_9pyscipopt_4scip_Expr = &__pyx_vtable_9pyscipopt_4scip_Expr;
  __pyx_vtable_9pyscipopt_4scip_Expr._evaluate = (double (*)(struct __pyx_obj_9pyscipopt_4scip_Expr *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch))__pyx_f_9pyscipopt_4scip_4Expr__evaluate;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Expr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr)) __PYX_ERR(3, 220, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Expr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr) < (0)) __PYX_ERR(3, 220, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr = &__pyx_type_9pyscipopt_4scip_Expr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr) < (0)) __PYX_ERR(3, 220, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_UPDATE_DESCRIPTOR_DOC
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(3, 220, __pyx_L1_error)
    if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
      __pyx_wrapperbase_9pyscipopt_4scip_4Expr___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9pyscipopt_4scip_4Expr___init__.doc = __pyx_doc_9pyscipopt_4scip_4Expr___init__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9pyscipopt_4scip_4Expr___init__;
    }
  }
  #endif
  #if CYTHON_UPDATE_DESCRIPTOR_DOC
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr, "__rtruediv__"); if (unlikely(!wrapper)) __PYX_ERR(3, 220, __pyx_L1_error)
    if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
      __pyx_wrapperbase_9pyscipopt_4scip_4Expr_16__rtruediv__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9pyscipopt_4scip_4Expr_16__rtruediv__.doc = __pyx_doc_9pyscipopt_4scip_4Expr_16__rtruediv__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9pyscipopt_4scip_4Expr_16__rtruediv__;
    }
  }
  #endif
  #if CYTHON_UPDATE_DESCRIPTOR_DOC
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr, "__rpow__"); if (unlikely(!wrapper)) __PYX_ERR(3, 220, __pyx_L1_error)
    if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
      __pyx_wrapperbase_9pyscipopt_4scip_4Expr_20__rpow__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9pyscipopt_4scip_4Expr_20__rpow__.doc = __pyx_doc_9pyscipopt_4scip_4Expr_20__rpow__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9pyscipopt_4scip_4Expr_20__rpow__;
    }
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_vtabptr_9pyscipopt_4scip_Expr) < (0)) __PYX_ERR(3, 220, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr) < (0)) __PYX_ERR(3, 220, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Expr, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr) < (0)) __PYX_ERR(3, 220, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Expr) < (0)) __PYX_ERR(3, 220, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_Event = &__pyx_vtable_9pyscipopt_4scip_Event;
  __pyx_vtable_9pyscipopt_4scip_Event.create = (PyObject *(*)(SCIP_EVENT *))__pyx_f_9pyscipopt_4scip_5Event_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Event = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Event_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Event)) __PYX_ERR(2, 356, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Event_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Event) < (0)) __PYX_ERR(2, 356, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Event = &__pyx_type_9pyscipopt_4scip_Event;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Event) < (0)) __PYX_ERR(2, 356, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Event);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Event->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Event->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Event->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Event, __pyx_vtabptr_9pyscipopt_4scip_Event) < (0)) __PYX_ERR(2, 356, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Event) < (0)) __PYX_ERR(2, 356, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Event, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Event) < (0)) __PYX_ERR(2, 356, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Event) < (0)) __PYX_ERR(2, 356, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_Column = &__pyx_vtable_9pyscipopt_4scip_Column;
  __pyx_vtable_9pyscipopt_4scip_Column.create = (PyObject *(*)(SCIP_COL *))__pyx_f_9pyscipopt_4scip_6Column_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Column = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Column_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Column)) __PYX_ERR(2, 484, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Column_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Column) < (0)) __PYX_ERR(2, 484, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Column = &__pyx_type_9pyscipopt_4scip_Column;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Column) < (0)) __PYX_ERR(2, 484, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Column);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Column->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Column->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Column->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Column, __pyx_vtabptr_9pyscipopt_4scip_Column) < (0)) __PYX_ERR(2, 484, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Column) < (0)) __PYX_ERR(2, 484, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Column, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Column) < (0)) __PYX_ERR(2, 484, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Column) < (0)) __PYX_ERR(2, 484, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_ColumnExact = &__pyx_vtable_9pyscipopt_4scip_ColumnExact;
  __pyx_vtable_9pyscipopt_4scip_ColumnExact.create = (PyObject *(*)(SCIP_COLEXACT *))__pyx_f_9pyscipopt_4scip_11ColumnExact_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ColumnExact = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_ColumnExact_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ColumnExact)) __PYX_ERR(2, 637, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_ColumnExact_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ColumnExact) < (0)) __PYX_ERR(2, 637, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ColumnExact = &__pyx_type_9pyscipopt_4scip_ColumnExact;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ColumnExact) < (0)) __PYX_ERR(2, 637, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ColumnExact);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ColumnExact->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ColumnExact->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ColumnExact->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ColumnExact, __pyx_vtabptr_9pyscipopt_4scip_ColumnExact) < (0)) __PYX_ERR(2, 637, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ColumnExact) < (0)) __PYX_ERR(2, 637, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ColumnExact, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ColumnExact) < (0)) __PYX_ERR(2, 637, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ColumnExact) < (0)) __PYX_ERR(2, 637, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_Row = &__pyx_vtable_9pyscipopt_4scip_Row;
  __pyx_vtable_9pyscipopt_4scip_Row.create = (PyObject *(*)(SCIP_ROW *))__pyx_f_9pyscipopt_4scip_3Row_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Row = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Row_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Row)) __PYX_ERR(2, 662, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Row_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Row) < (0)) __PYX_ERR(2, 662, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Row = &__pyx_type_9pyscipopt_4scip_Row;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Row) < (0)) __PYX_ERR(2, 662, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Row);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Row->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Row->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Row->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_vtabptr_9pyscipopt_4scip_Row) < (0)) __PYX_ERR(2, 662, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Row) < (0)) __PYX_ERR(2, 662, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Row, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Row) < (0)) __PYX_ERR(2, 662, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Row) < (0)) __PYX_ERR(2, 662, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_RowExact = &__pyx_vtable_9pyscipopt_4scip_RowExact;
  __pyx_vtable_9pyscipopt_4scip_RowExact.create = (PyObject *(*)(SCIP_ROWEXACT *))__pyx_f_9pyscipopt_4scip_8RowExact_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_RowExact = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_RowExact_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_RowExact)) __PYX_ERR(2, 946, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_RowExact_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_RowExact) < (0)) __PYX_ERR(2, 946, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_RowExact = &__pyx_type_9pyscipopt_4scip_RowExact;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_RowExact) < (0)) __PYX_ERR(2, 946, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_RowExact);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_RowExact->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_RowExact->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_RowExact->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_RowExact, __pyx_vtabptr_9pyscipopt_4scip_RowExact) < (0)) __PYX_ERR(2, 946, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_RowExact) < (0)) __PYX_ERR(2, 946, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_RowExact, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_RowExact) < (0)) __PYX_ERR(2, 946, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_RowExact) < (0)) __PYX_ERR(2, 946, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_NLRow = &__pyx_vtable_9pyscipopt_4scip_NLRow;
  __pyx_vtable_9pyscipopt_4scip_NLRow.create = (PyObject *(*)(SCIP_NLROW *))__pyx_f_9pyscipopt_4scip_5NLRow_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_NLRow = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_NLRow_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_NLRow)) __PYX_ERR(2, 971, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_NLRow_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_NLRow) < (0)) __PYX_ERR(2, 971, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_NLRow = &__pyx_type_9pyscipopt_4scip_NLRow;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_NLRow) < (0)) __PYX_ERR(2, 971, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_NLRow);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_NLRow->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_NLRow->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_NLRow->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_NLRow, __pyx_vtabptr_9pyscipopt_4scip_NLRow) < (0)) __PYX_ERR(2, 971, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_NLRow) < (0)) __PYX_ERR(2, 971, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_NLRow, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_NLRow) < (0)) __PYX_ERR(2, 971, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_NLRow) < (0)) __PYX_ERR(2, 971, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_Solution = &__pyx_vtable_9pyscipopt_4scip_Solution;
  __pyx_vtable_9pyscipopt_4scip_Solution.create = (PyObject *(*)(SCIP *, SCIP_SOL *))__pyx_f_9pyscipopt_4scip_8Solution_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Solution = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Solution_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Solution)) __PYX_ERR(2, 1067, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Solution_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Solution) < (0)) __PYX_ERR(2, 1067, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Solution = &__pyx_type_9pyscipopt_4scip_Solution;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Solution) < (0)) __PYX_ERR(2, 1067, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Solution);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Solution->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Solution->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Solution->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Solution, __pyx_vtabptr_9pyscipopt_4scip_Solution) < (0)) __PYX_ERR(2, 1067, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Solution) < (0)) __PYX_ERR(2, 1067, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Solution, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Solution) < (0)) __PYX_ERR(2, 1067, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Solution) < (0)) __PYX_ERR(2, 1067, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_DomainChanges = &__pyx_vtable_9pyscipopt_4scip_DomainChanges;
  __pyx_vtable_9pyscipopt_4scip_DomainChanges.create = (PyObject *(*)(SCIP_DOMCHG *))__pyx_f_9pyscipopt_4scip_13DomainChanges_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_DomainChanges = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_DomainChanges_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_DomainChanges)) __PYX_ERR(2, 1256, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_DomainChanges_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_DomainChanges) < (0)) __PYX_ERR(2, 1256, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_DomainChanges = &__pyx_type_9pyscipopt_4scip_DomainChanges;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_DomainChanges) < (0)) __PYX_ERR(2, 1256, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_DomainChanges);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_DomainChanges->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_DomainChanges->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_DomainChanges->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_DomainChanges, __pyx_vtabptr_9pyscipopt_4scip_DomainChanges) < (0)) __PYX_ERR(2, 1256, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_DomainChanges) < (0)) __PYX_ERR(2, 1256, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_DomainChanges, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_DomainChanges) < (0)) __PYX_ERR(2, 1256, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_DomainChanges) < (0)) __PYX_ERR(2, 1256, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_BoundChange = &__pyx_vtable_9pyscipopt_4scip_BoundChange;
  __pyx_vtable_9pyscipopt_4scip_BoundChange.create = (PyObject *(*)(SCIP_BOUNDCHG *))__pyx_f_9pyscipopt_4scip_11BoundChange_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_BoundChange = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_BoundChange_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_BoundChange)) __PYX_ERR(2, 1169, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_BoundChange_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_BoundChange) < (0)) __PYX_ERR(2, 1169, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_BoundChange = &__pyx_type_9pyscipopt_4scip_BoundChange;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_BoundChange) < (0)) __PYX_ERR(2, 1169, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_BoundChange);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_BoundChange->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_BoundChange->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_BoundChange->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_BoundChange, __pyx_vtabptr_9pyscipopt_4scip_BoundChange) < (0)) __PYX_ERR(2, 1169, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_BoundChange) < (0)) __PYX_ERR(2, 1169, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_BoundChange, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_BoundChange) < (0)) __PYX_ERR(2, 1169, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_BoundChange) < (0)) __PYX_ERR(2, 1169, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_Node = &__pyx_vtable_9pyscipopt_4scip_Node;
  __pyx_vtable_9pyscipopt_4scip_Node.create = (PyObject *(*)(SCIP_NODE *))__pyx_f_9pyscipopt_4scip_4Node_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Node = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Node_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Node)) __PYX_ERR(2, 1295, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Node_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Node) < (0)) __PYX_ERR(2, 1295, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Node = &__pyx_type_9pyscipopt_4scip_Node;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Node) < (0)) __PYX_ERR(2, 1295, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Node);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Node->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Node->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Node->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_vtabptr_9pyscipopt_4scip_Node) < (0)) __PYX_ERR(2, 1295, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Node) < (0)) __PYX_ERR(2, 1295, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Node, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Node) < (0)) __PYX_ERR(2, 1295, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Node) < (0)) __PYX_ERR(2, 1295, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_Variable = &__pyx_vtable_9pyscipopt_4scip_Variable;
  __pyx_vtable_9pyscipopt_4scip_Variable.__pyx_base = *__pyx_vtabptr_9pyscipopt_4scip_Expr;
  __pyx_vtable_9pyscipopt_4scip_Variable.create = (PyObject *(*)(SCIP_VAR *))__pyx_f_9pyscipopt_4scip_8Variable_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 1528, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Variable = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Variable_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Variable)) __PYX_ERR(2, 1528, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Variable_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Variable) < (0)) __PYX_ERR(2, 1528, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Variable = &__pyx_type_9pyscipopt_4scip_Variable;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable->tp_base = __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Variable) < (0)) __PYX_ERR(2, 1528, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Variable);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Variable->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Variable->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Variable->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_vtabptr_9pyscipopt_4scip_Variable) < (0)) __PYX_ERR(2, 1528, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Variable) < (0)) __PYX_ERR(2, 1528, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Variable, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Variable) < (0)) __PYX_ERR(2, 1528, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Variable) < (0)) __PYX_ERR(2, 1528, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_Constraint = &__pyx_vtable_9pyscipopt_4scip_Constraint;
  __pyx_vtable_9pyscipopt_4scip_Constraint.create = (PyObject *(*)(SCIP_CONS *))__pyx_f_9pyscipopt_4scip_10Constraint_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constraint = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Constraint_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constraint)) __PYX_ERR(2, 2189, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Constraint_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constraint) < (0)) __PYX_ERR(2, 2189, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constraint = &__pyx_type_9pyscipopt_4scip_Constraint;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constraint) < (0)) __PYX_ERR(2, 2189, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constraint);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constraint->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constraint->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constraint->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_vtabptr_9pyscipopt_4scip_Constraint) < (0)) __PYX_ERR(2, 2189, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constraint) < (0)) __PYX_ERR(2, 2189, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Constraint, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constraint) < (0)) __PYX_ERR(2, 2189, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constraint) < (0)) __PYX_ERR(2, 2189, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_IIS = &__pyx_vtable_9pyscipopt_4scip_IIS;
  __pyx_vtable_9pyscipopt_4scip_IIS.create = (PyObject *(*)(SCIP_IIS *))__pyx_f_9pyscipopt_4scip_3IIS_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IIS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_IIS_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IIS)) __PYX_ERR(2, 2671, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_IIS_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IIS) < (0)) __PYX_ERR(2, 2671, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IIS = &__pyx_type_9pyscipopt_4scip_IIS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IIS) < (0)) __PYX_ERR(2, 2671, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IIS);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IIS->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IIS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IIS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IIS, __pyx_vtabptr_9pyscipopt_4scip_IIS) < (0)) __PYX_ERR(2, 2671, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IIS) < (0)) __PYX_ERR(2, 2671, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_IIS, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IIS) < (0)) __PYX_ERR(2, 2671, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IIS) < (0)) __PYX_ERR(2, 2671, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_Model = &__pyx_vtable_9pyscipopt_4scip_Model;
  __pyx_vtable_9pyscipopt_4scip_Model._getOrCreateCons = (PyObject *(*)(struct __pyx_obj_9pyscipopt_4scip_Model *, SCIP_CONS *))__pyx_f_9pyscipopt_4scip_5Model__getOrCreateCons;
  __pyx_vtable_9pyscipopt_4scip_Model._getOrCreateVar = (PyObject *(*)(struct __pyx_obj_9pyscipopt_4scip_Model *, SCIP_VAR *))__pyx_f_9pyscipopt_4scip_5Model__getOrCreateVar;
  __pyx_vtable_9pyscipopt_4scip_Model.create = (PyObject *(*)(SCIP *))__pyx_f_9pyscipopt_4scip_5Model_create;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Model_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model)) __PYX_ERR(2, 2786, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Model_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model) < (0)) __PYX_ERR(2, 2786, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model = &__pyx_type_9pyscipopt_4scip_Model;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model) < (0)) __PYX_ERR(2, 2786, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_UPDATE_DESCRIPTOR_DOC
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(2, 2786, __pyx_L1_error)
    if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
      __pyx_wrapperbase_9pyscipopt_4scip_5Model___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9pyscipopt_4scip_5Model___init__.doc = __pyx_doc_9pyscipopt_4scip_5Model___init__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9pyscipopt_4scip_5Model___init__;
    }
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_vtabptr_9pyscipopt_4scip_Model) < (0)) __PYX_ERR(2, 2786, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model) < (0)) __PYX_ERR(2, 2786, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Model, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model) < (0)) __PYX_ERR(2, 2786, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SLOTS
  if (__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model->tp_weaklistoffset == 0) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model->tp_weaklistoffset = offsetof(struct __pyx_obj_9pyscipopt_4scip_Model, __weakref__);
  #endif
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Model) < (0)) __PYX_ERR(2, 2786, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_Term = &__pyx_vtable_9pyscipopt_4scip_Term;
  __pyx_vtable_9pyscipopt_4scip_Term._evaluate = (double (*)(struct __pyx_obj_9pyscipopt_4scip_Term *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch))__pyx_f_9pyscipopt_4scip_4Term__evaluate;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Term = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Term_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Term)) __PYX_ERR(3, 103, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Term_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Term) < (0)) __PYX_ERR(3, 103, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Term = &__pyx_type_9pyscipopt_4scip_Term;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Term) < (0)) __PYX_ERR(3, 103, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Term);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Term->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Term->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Term->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Term, __pyx_vtabptr_9pyscipopt_4scip_Term) < (0)) __PYX_ERR(3, 103, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Term) < (0)) __PYX_ERR(3, 103, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Term, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Term) < (0)) __PYX_ERR(3, 103, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Term) < (0)) __PYX_ERR(3, 103, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ExprCons = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_ExprCons_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ExprCons)) __PYX_ERR(3, 398, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_ExprCons_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ExprCons) < (0)) __PYX_ERR(3, 398, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ExprCons = &__pyx_type_9pyscipopt_4scip_ExprCons;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ExprCons) < (0)) __PYX_ERR(3, 398, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ExprCons);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ExprCons->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ExprCons->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ExprCons->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ExprCons_2, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ExprCons) < (0)) __PYX_ERR(3, 398, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ExprCons) < (0)) __PYX_ERR(3, 398, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_GenExpr = &__pyx_vtable_9pyscipopt_4scip_GenExpr;
  __pyx_vtable_9pyscipopt_4scip_GenExpr.copy = (struct __pyx_obj_9pyscipopt_4scip_GenExpr *(*)(struct __pyx_obj_9pyscipopt_4scip_GenExpr *, struct __pyx_opt_args_9pyscipopt_4scip_7GenExpr_copy *__pyx_optional_args))__pyx_f_9pyscipopt_4scip_7GenExpr_copy;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_GenExpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr)) __PYX_ERR(3, 505, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_GenExpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr) < (0)) __PYX_ERR(3, 505, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr = &__pyx_type_9pyscipopt_4scip_GenExpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr) < (0)) __PYX_ERR(3, 505, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_UPDATE_DESCRIPTOR_DOC
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(3, 505, __pyx_L1_error)
    if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
      __pyx_wrapperbase_9pyscipopt_4scip_7GenExpr___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9pyscipopt_4scip_7GenExpr___init__.doc = __pyx_doc_9pyscipopt_4scip_7GenExpr___init__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9pyscipopt_4scip_7GenExpr___init__;
    }
  }
  #endif
  #if CYTHON_UPDATE_DESCRIPTOR_DOC
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr, "__rpow__"); if (unlikely(!wrapper)) __PYX_ERR(3, 505, __pyx_L1_error)
    if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
      __pyx_wrapperbase_9pyscipopt_4scip_7GenExpr_10__rpow__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9pyscipopt_4scip_7GenExpr_10__rpow__.doc = __pyx_doc_9pyscipopt_4scip_7GenExpr_10__rpow__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9pyscipopt_4scip_7GenExpr_10__rpow__;
    }
  }
  #endif
  #if CYTHON_UPDATE_DESCRIPTOR_DOC
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr, "__rtruediv__"); if (unlikely(!wrapper)) __PYX_ERR(3, 505, __pyx_L1_error)
    if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
      __pyx_wrapperbase_9pyscipopt_4scip_7GenExpr_14__rtruediv__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9pyscipopt_4scip_7GenExpr_14__rtruediv__.doc = __pyx_doc_9pyscipopt_4scip_7GenExpr_14__rtruediv__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9pyscipopt_4scip_7GenExpr_14__rtruediv__;
    }
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr, __pyx_vtabptr_9pyscipopt_4scip_GenExpr) < (0)) __PYX_ERR(3, 505, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr) < (0)) __PYX_ERR(3, 505, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_GenExpr, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr) < (0)) __PYX_ERR(3, 505, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_GenExpr) < (0)) __PYX_ERR(3, 505, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_SumExpr = &__pyx_vtable_9pyscipopt_4scip_SumExpr;
  __pyx_vtable_9pyscipopt_4scip_SumExpr.__pyx_base = *__pyx_vtabptr_9pyscipopt_4scip_GenExpr;
  __pyx_vtable_9pyscipopt_4scip_SumExpr._evaluate = (double (*)(struct __pyx_obj_9pyscipopt_4scip_SumExpr *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch))__pyx_f_9pyscipopt_4scip_7SumExpr__evaluate;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_SumExpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_SumExpr_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_SumExpr)) __PYX_ERR(3, 705, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_SumExpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_SumExpr) < (0)) __PYX_ERR(3, 705, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_SumExpr = &__pyx_type_9pyscipopt_4scip_SumExpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_SumExpr->tp_base = __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_SumExpr) < (0)) __PYX_ERR(3, 705, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_SumExpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_SumExpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_SumExpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_SumExpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_SumExpr, __pyx_vtabptr_9pyscipopt_4scip_SumExpr) < (0)) __PYX_ERR(3, 705, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_SumExpr) < (0)) __PYX_ERR(3, 705, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_SumExpr, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_SumExpr) < (0)) __PYX_ERR(3, 705, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_SumExpr) < (0)) __PYX_ERR(3, 705, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_ProdExpr = &__pyx_vtable_9pyscipopt_4scip_ProdExpr;
  __pyx_vtable_9pyscipopt_4scip_ProdExpr.__pyx_base = *__pyx_vtabptr_9pyscipopt_4scip_GenExpr;
  __pyx_vtable_9pyscipopt_4scip_ProdExpr._evaluate = (double (*)(struct __pyx_obj_9pyscipopt_4scip_ProdExpr *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch))__pyx_f_9pyscipopt_4scip_8ProdExpr__evaluate;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ProdExpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_ProdExpr_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ProdExpr)) __PYX_ERR(3, 729, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_ProdExpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ProdExpr) < (0)) __PYX_ERR(3, 729, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ProdExpr = &__pyx_type_9pyscipopt_4scip_ProdExpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ProdExpr->tp_base = __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ProdExpr) < (0)) __PYX_ERR(3, 729, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ProdExpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ProdExpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ProdExpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ProdExpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ProdExpr, __pyx_vtabptr_9pyscipopt_4scip_ProdExpr) < (0)) __PYX_ERR(3, 729, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ProdExpr) < (0)) __PYX_ERR(3, 729, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_ProdExpr, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ProdExpr) < (0)) __PYX_ERR(3, 729, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_ProdExpr) < (0)) __PYX_ERR(3, 729, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_VarExpr = &__pyx_vtable_9pyscipopt_4scip_VarExpr;
  __pyx_vtable_9pyscipopt_4scip_VarExpr.__pyx_base = *__pyx_vtabptr_9pyscipopt_4scip_GenExpr;
  __pyx_vtable_9pyscipopt_4scip_VarExpr._evaluate = (double (*)(struct __pyx_obj_9pyscipopt_4scip_VarExpr *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch))__pyx_f_9pyscipopt_4scip_7VarExpr__evaluate;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 753, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_VarExpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_VarExpr_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_VarExpr)) __PYX_ERR(3, 753, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_VarExpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_VarExpr) < (0)) __PYX_ERR(3, 753, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_VarExpr = &__pyx_type_9pyscipopt_4scip_VarExpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_VarExpr->tp_base = __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_VarExpr) < (0)) __PYX_ERR(3, 753, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_VarExpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_VarExpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_VarExpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_VarExpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_VarExpr, __pyx_vtabptr_9pyscipopt_4scip_VarExpr) < (0)) __PYX_ERR(3, 753, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_VarExpr) < (0)) __PYX_ERR(3, 753, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_VarExpr, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_VarExpr) < (0)) __PYX_ERR(3, 753, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_VarExpr) < (0)) __PYX_ERR(3, 753, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_PowExpr = &__pyx_vtable_9pyscipopt_4scip_PowExpr;
  __pyx_vtable_9pyscipopt_4scip_PowExpr.__pyx_base = *__pyx_vtabptr_9pyscipopt_4scip_GenExpr;
  __pyx_vtable_9pyscipopt_4scip_PowExpr._evaluate = (double (*)(struct __pyx_obj_9pyscipopt_4scip_PowExpr *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch))__pyx_f_9pyscipopt_4scip_7PowExpr__evaluate;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PowExpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PowExpr_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PowExpr)) __PYX_ERR(3, 769, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PowExpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PowExpr) < (0)) __PYX_ERR(3, 769, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PowExpr = &__pyx_type_9pyscipopt_4scip_PowExpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PowExpr->tp_base = __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PowExpr) < (0)) __PYX_ERR(3, 769, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PowExpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PowExpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PowExpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PowExpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PowExpr, __pyx_vtabptr_9pyscipopt_4scip_PowExpr) < (0)) __PYX_ERR(3, 769, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PowExpr) < (0)) __PYX_ERR(3, 769, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PowExpr, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PowExpr) < (0)) __PYX_ERR(3, 769, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PowExpr) < (0)) __PYX_ERR(3, 769, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_UnaryExpr = &__pyx_vtable_9pyscipopt_4scip_UnaryExpr;
  __pyx_vtable_9pyscipopt_4scip_UnaryExpr.__pyx_base = *__pyx_vtabptr_9pyscipopt_4scip_GenExpr;
  __pyx_vtable_9pyscipopt_4scip_UnaryExpr._evaluate = (double (*)(struct __pyx_obj_9pyscipopt_4scip_UnaryExpr *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch))__pyx_f_9pyscipopt_4scip_9UnaryExpr__evaluate;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_UnaryExpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_UnaryExpr_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_UnaryExpr)) __PYX_ERR(3, 786, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_UnaryExpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_UnaryExpr) < (0)) __PYX_ERR(3, 786, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_UnaryExpr = &__pyx_type_9pyscipopt_4scip_UnaryExpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr->tp_base = __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_UnaryExpr) < (0)) __PYX_ERR(3, 786, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_UnaryExpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_UnaryExpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_UnaryExpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_UnaryExpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_vtabptr_9pyscipopt_4scip_UnaryExpr) < (0)) __PYX_ERR(3, 786, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_UnaryExpr) < (0)) __PYX_ERR(3, 786, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_UnaryExpr, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_UnaryExpr) < (0)) __PYX_ERR(3, 786, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_UnaryExpr) < (0)) __PYX_ERR(3, 786, __pyx_L1_error)
  __pyx_vtabptr_9pyscipopt_4scip_Constant = &__pyx_vtable_9pyscipopt_4scip_Constant;
  __pyx_vtable_9pyscipopt_4scip_Constant.__pyx_base = *__pyx_vtabptr_9pyscipopt_4scip_GenExpr;
  __pyx_vtable_9pyscipopt_4scip_Constant._evaluate = (double (*)(struct __pyx_obj_9pyscipopt_4scip_Constant *, struct __pyx_obj_9pyscipopt_4scip_Solution *, int __pyx_skip_dispatch))__pyx_f_9pyscipopt_4scip_8Constant__evaluate;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 806, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constant = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Constant_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constant)) __PYX_ERR(3, 806, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Constant_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constant) < (0)) __PYX_ERR(3, 806, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constant = &__pyx_type_9pyscipopt_4scip_Constant;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constant->tp_base = __pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constant) < (0)) __PYX_ERR(3, 806, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constant);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constant->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constant->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constant->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constant, __pyx_vtabptr_9pyscipopt_4scip_Constant) < (0)) __PYX_ERR(3, 806, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constant) < (0)) __PYX_ERR(3, 806, __pyx_L1_error)
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Constant, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constant) < (0)) __PYX_ERR(3, 806, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Constant) < (0)) __PYX_ERR(3, 806, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_LP = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_LP_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_LP)) __PYX_ERR(4, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_LP_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_LP) < (0)) __PYX_ERR(4, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_LP = &__pyx_type_9pyscipopt_4scip_LP;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_LP) < (0)) __PYX_ERR(4, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_LP);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_LP->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_LP->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_LP->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_UPDATE_DESCRIPTOR_DOC
  {
    PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_LP, "__init__"); if (unlikely(!wrapper)) __PYX_ERR(4, 3, __pyx_L1_error)
    if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
      __pyx_wrapperbase_9pyscipopt_4scip_2LP___init__ = *((PyWrapperDescrObject *)wrapper)->d_base;
      __pyx_wrapperbase_9pyscipopt_4scip_2LP___init__.doc = __pyx_doc_9pyscipopt_4scip_2LP___init__;
      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_9pyscipopt_4scip_2LP___init__;
    }
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_LP, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_LP) < (0)) __PYX_ERR(4, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_LP) < (0)) __PYX_ERR(4, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benders = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Benders_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benders)) __PYX_ERR(8, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Benders_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benders) < (0)) __PYX_ERR(8, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benders = &__pyx_type_9pyscipopt_4scip_Benders;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benders) < (0)) __PYX_ERR(8, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benders);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benders->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benders->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benders->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Benders, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benders) < (0)) __PYX_ERR(8, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benders) < (0)) __PYX_ERR(8, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benderscut = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Benderscut_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benderscut)) __PYX_ERR(9, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Benderscut_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benderscut) < (0)) __PYX_ERR(9, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benderscut = &__pyx_type_9pyscipopt_4scip_Benderscut;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benderscut) < (0)) __PYX_ERR(9, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benderscut);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benderscut->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benderscut->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benderscut->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Benderscut, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benderscut) < (0)) __PYX_ERR(9, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Benderscut) < (0)) __PYX_ERR(9, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Branchrule = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Branchrule_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Branchrule)) __PYX_ERR(10, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Branchrule_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Branchrule) < (0)) __PYX_ERR(10, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Branchrule = &__pyx_type_9pyscipopt_4scip_Branchrule;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Branchrule) < (0)) __PYX_ERR(10, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Branchrule);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Branchrule->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Branchrule->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Branchrule->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Branchrule, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Branchrule) < (0)) __PYX_ERR(10, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Branchrule) < (0)) __PYX_ERR(10, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Conshdlr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Conshdlr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Conshdlr)) __PYX_ERR(11, 4, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Conshdlr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Conshdlr) < (0)) __PYX_ERR(11, 4, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Conshdlr = &__pyx_type_9pyscipopt_4scip_Conshdlr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Conshdlr) < (0)) __PYX_ERR(11, 4, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Conshdlr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Conshdlr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Conshdlr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Conshdlr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Conshdlr, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Conshdlr) < (0)) __PYX_ERR(11, 4, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Conshdlr) < (0)) __PYX_ERR(11, 4, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Cutsel = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Cutsel_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Cutsel)) __PYX_ERR(12, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Cutsel_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Cutsel) < (0)) __PYX_ERR(12, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Cutsel = &__pyx_type_9pyscipopt_4scip_Cutsel;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Cutsel) < (0)) __PYX_ERR(12, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Cutsel);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Cutsel->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Cutsel->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Cutsel->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Cutsel, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Cutsel) < (0)) __PYX_ERR(12, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Cutsel) < (0)) __PYX_ERR(12, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Eventhdlr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Eventhdlr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Eventhdlr)) __PYX_ERR(13, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Eventhdlr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Eventhdlr) < (0)) __PYX_ERR(13, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Eventhdlr = &__pyx_type_9pyscipopt_4scip_Eventhdlr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Eventhdlr) < (0)) __PYX_ERR(13, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Eventhdlr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Eventhdlr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Eventhdlr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Eventhdlr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Eventhdlr, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Eventhdlr) < (0)) __PYX_ERR(13, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Eventhdlr) < (0)) __PYX_ERR(13, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Heur = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Heur_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Heur)) __PYX_ERR(14, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Heur_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Heur) < (0)) __PYX_ERR(14, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Heur = &__pyx_type_9pyscipopt_4scip_Heur;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Heur) < (0)) __PYX_ERR(14, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Heur);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Heur->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Heur->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Heur->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Heur, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Heur) < (0)) __PYX_ERR(14, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Heur) < (0)) __PYX_ERR(14, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IISfinder = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_IISfinder_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IISfinder)) __PYX_ERR(15, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_IISfinder_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IISfinder) < (0)) __PYX_ERR(15, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IISfinder = &__pyx_type_9pyscipopt_4scip_IISfinder;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IISfinder) < (0)) __PYX_ERR(15, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IISfinder);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IISfinder->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IISfinder->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IISfinder->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_IISfinder, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IISfinder) < (0)) __PYX_ERR(15, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_IISfinder) < (0)) __PYX_ERR(15, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Presol = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Presol_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Presol)) __PYX_ERR(16, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Presol_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Presol) < (0)) __PYX_ERR(16, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Presol = &__pyx_type_9pyscipopt_4scip_Presol;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Presol) < (0)) __PYX_ERR(16, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Presol);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Presol->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Presol->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Presol->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Presol, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Presol) < (0)) __PYX_ERR(16, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Presol) < (0)) __PYX_ERR(16, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Pricer = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Pricer_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Pricer)) __PYX_ERR(17, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Pricer_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Pricer) < (0)) __PYX_ERR(17, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Pricer = &__pyx_type_9pyscipopt_4scip_Pricer;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Pricer) < (0)) __PYX_ERR(17, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Pricer);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Pricer->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Pricer->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Pricer->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Pricer, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Pricer) < (0)) __PYX_ERR(17, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Pricer) < (0)) __PYX_ERR(17, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Prop = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Prop_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Prop)) __PYX_ERR(18, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Prop_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Prop) < (0)) __PYX_ERR(18, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Prop = &__pyx_type_9pyscipopt_4scip_Prop;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Prop) < (0)) __PYX_ERR(18, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Prop);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Prop->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Prop->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Prop->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Prop, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Prop) < (0)) __PYX_ERR(18, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Prop) < (0)) __PYX_ERR(18, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Sepa = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Sepa_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Sepa)) __PYX_ERR(19, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Sepa_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Sepa) < (0)) __PYX_ERR(19, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Sepa = &__pyx_type_9pyscipopt_4scip_Sepa;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Sepa) < (0)) __PYX_ERR(19, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Sepa);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Sepa->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Sepa->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Sepa->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Sepa, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Sepa) < (0)) __PYX_ERR(19, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Sepa) < (0)) __PYX_ERR(19, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Reader = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Reader_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Reader)) __PYX_ERR(20, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Reader_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Reader) < (0)) __PYX_ERR(20, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Reader = &__pyx_type_9pyscipopt_4scip_Reader;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Reader) < (0)) __PYX_ERR(20, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Reader);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Reader->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Reader->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Reader->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Reader, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Reader) < (0)) __PYX_ERR(20, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Reader) < (0)) __PYX_ERR(20, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Relax = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Relax_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Relax)) __PYX_ERR(21, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Relax_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Relax) < (0)) __PYX_ERR(21, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Relax = &__pyx_type_9pyscipopt_4scip_Relax;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Relax) < (0)) __PYX_ERR(21, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Relax);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Relax->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Relax->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Relax->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Relax, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Relax) < (0)) __PYX_ERR(21, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Relax) < (0)) __PYX_ERR(21, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Nodesel = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_Nodesel_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Nodesel)) __PYX_ERR(22, 3, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_Nodesel_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Nodesel) < (0)) __PYX_ERR(22, 3, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Nodesel = &__pyx_type_9pyscipopt_4scip_Nodesel;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Nodesel) < (0)) __PYX_ERR(22, 3, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Nodesel);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Nodesel->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Nodesel->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Nodesel->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Nodesel, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Nodesel) < (0)) __PYX_ERR(22, 3, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_Nodesel) < (0)) __PYX_ERR(22, 3, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_RESULT_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT)) __PYX_ERR(2, 74, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_RESULT_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT) < (0)) __PYX_ERR(2, 74, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT = &__pyx_type_9pyscipopt_4scip_PY_SCIP_RESULT;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT) < (0)) __PYX_ERR(2, 74, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_RESULT, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT) < (0)) __PYX_ERR(2, 74, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT) < (0)) __PYX_ERR(2, 74, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMSETTING_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING)) __PYX_ERR(2, 93, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMSETTING_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING) < (0)) __PYX_ERR(2, 93, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING = &__pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMSETTING;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING) < (0)) __PYX_ERR(2, 93, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_PARAMSETTING, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING) < (0)) __PYX_ERR(2, 93, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING) < (0)) __PYX_ERR(2, 93, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_LPPARAM_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM)) __PYX_ERR(2, 99, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_LPPARAM_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM) < (0)) __PYX_ERR(2, 99, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM = &__pyx_type_9pyscipopt_4scip_PY_SCIP_LPPARAM;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM) < (0)) __PYX_ERR(2, 99, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_LPPARAM, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM) < (0)) __PYX_ERR(2, 99, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM) < (0)) __PYX_ERR(2, 99, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS)) __PYX_ERR(2, 121, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS) < (0)) __PYX_ERR(2, 121, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS = &__pyx_type_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS) < (0)) __PYX_ERR(2, 121, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_PARAMEMPHASIS, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS) < (0)) __PYX_ERR(2, 121, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS) < (0)) __PYX_ERR(2, 121, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_STATUS_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS)) __PYX_ERR(2, 135, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_STATUS_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS) < (0)) __PYX_ERR(2, 135, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS = &__pyx_type_9pyscipopt_4scip_PY_SCIP_STATUS;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS) < (0)) __PYX_ERR(2, 135, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_STATUS, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS) < (0)) __PYX_ERR(2, 135, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS) < (0)) __PYX_ERR(2, 135, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_STAGE_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE)) __PYX_ERR(2, 155, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_STAGE_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE) < (0)) __PYX_ERR(2, 155, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE = &__pyx_type_9pyscipopt_4scip_PY_SCIP_STAGE;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE) < (0)) __PYX_ERR(2, 155, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_STAGE, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE) < (0)) __PYX_ERR(2, 155, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE) < (0)) __PYX_ERR(2, 155, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_NODETYPE_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE)) __PYX_ERR(2, 171, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_NODETYPE_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE) < (0)) __PYX_ERR(2, 171, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE = &__pyx_type_9pyscipopt_4scip_PY_SCIP_NODETYPE;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE) < (0)) __PYX_ERR(2, 171, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_NODETYPE, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE) < (0)) __PYX_ERR(2, 171, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE) < (0)) __PYX_ERR(2, 171, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_PROPTIMING_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING)) __PYX_ERR(2, 184, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_PROPTIMING_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING) < (0)) __PYX_ERR(2, 184, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING = &__pyx_type_9pyscipopt_4scip_PY_SCIP_PROPTIMING;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING) < (0)) __PYX_ERR(2, 184, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_PROPTIMING, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING) < (0)) __PYX_ERR(2, 184, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING) < (0)) __PYX_ERR(2, 184, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING)) __PYX_ERR(2, 190, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING) < (0)) __PYX_ERR(2, 190, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING = &__pyx_type_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING) < (0)) __PYX_ERR(2, 190, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_PRESOLTIMING, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING) < (0)) __PYX_ERR(2, 190, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING) < (0)) __PYX_ERR(2, 190, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_HEURTIMING_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING)) __PYX_ERR(2, 196, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_HEURTIMING_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING) < (0)) __PYX_ERR(2, 196, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING = &__pyx_type_9pyscipopt_4scip_PY_SCIP_HEURTIMING;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING) < (0)) __PYX_ERR(2, 196, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_HEURTIMING, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING) < (0)) __PYX_ERR(2, 196, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING) < (0)) __PYX_ERR(2, 196, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_EVENTTYPE_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE)) __PYX_ERR(2, 210, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_EVENTTYPE_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE) < (0)) __PYX_ERR(2, 210, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE = &__pyx_type_9pyscipopt_4scip_PY_SCIP_EVENTTYPE;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE) < (0)) __PYX_ERR(2, 210, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_EVENTTYPE, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE) < (0)) __PYX_ERR(2, 210, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE) < (0)) __PYX_ERR(2, 210, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_LOCKTYPE_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE)) __PYX_ERR(2, 268, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_LOCKTYPE_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE) < (0)) __PYX_ERR(2, 268, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE = &__pyx_type_9pyscipopt_4scip_PY_SCIP_LOCKTYPE;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE) < (0)) __PYX_ERR(2, 268, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_LOCKTYPE, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE) < (0)) __PYX_ERR(2, 268, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE) < (0)) __PYX_ERR(2, 268, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE)) __PYX_ERR(2, 272, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE) < (0)) __PYX_ERR(2, 272, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE = &__pyx_type_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE) < (0)) __PYX_ERR(2, 272, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_IMPLINTTYPE, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE) < (0)) __PYX_ERR(2, 272, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE) < (0)) __PYX_ERR(2, 272, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT)) __PYX_ERR(2, 277, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT) < (0)) __PYX_ERR(2, 277, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT = &__pyx_type_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT) < (0)) __PYX_ERR(2, 277, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_LPSOLSTAT, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT) < (0)) __PYX_ERR(2, 277, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT) < (0)) __PYX_ERR(2, 277, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_BRANCHDIR_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR)) __PYX_ERR(2, 287, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_BRANCHDIR_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR) < (0)) __PYX_ERR(2, 287, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR = &__pyx_type_9pyscipopt_4scip_PY_SCIP_BRANCHDIR;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR) < (0)) __PYX_ERR(2, 287, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_BRANCHDIR, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR) < (0)) __PYX_ERR(2, 287, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR) < (0)) __PYX_ERR(2, 287, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE)) __PYX_ERR(2, 293, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE) < (0)) __PYX_ERR(2, 293, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE = &__pyx_type_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE) < (0)) __PYX_ERR(2, 293, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_BENDERSENFOTYPE, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE) < (0)) __PYX_ERR(2, 293, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE) < (0)) __PYX_ERR(2, 293, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE)) __PYX_ERR(2, 299, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE) < (0)) __PYX_ERR(2, 299, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE = &__pyx_type_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE) < (0)) __PYX_ERR(2, 299, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_ROWORIGINTYPE, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE) < (0)) __PYX_ERR(2, 299, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE) < (0)) __PYX_ERR(2, 299, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip_PY_SCIP_SOLORIGIN_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN)) __PYX_ERR(2, 305, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip_PY_SCIP_SOLORIGIN_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN) < (0)) __PYX_ERR(2, 305, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN = &__pyx_type_9pyscipopt_4scip_PY_SCIP_SOLORIGIN;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN) < (0)) __PYX_ERR(2, 305, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_PY_SCIP_SOLORIGIN, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN) < (0)) __PYX_ERR(2, 305, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN) < (0)) __PYX_ERR(2, 305, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip__VarArray = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip__VarArray_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip__VarArray)) __PYX_ERR(2, 2643, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip__VarArray_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip__VarArray) < (0)) __PYX_ERR(2, 2643, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip__VarArray = &__pyx_type_9pyscipopt_4scip__VarArray;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip__VarArray) < (0)) __PYX_ERR(2, 2643, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip__VarArray);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip__VarArray->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip__VarArray->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip__VarArray->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_VarArray, (PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip__VarArray) < (0)) __PYX_ERR(2, 2643, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_9pyscipopt_4scip__VarArray) < (0)) __PYX_ERR(2, 2643, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct__genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr)) __PYX_ERR(3, 112, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct__genexpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr) < (0)) __PYX_ERR(3, 112, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct__genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr) < (0)) __PYX_ERR(3, 112, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct__genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_1_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr)) __PYX_ERR(3, 159, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_1_genexpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr) < (0)) __PYX_ERR(3, 159, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_1_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr) < (0)) __PYX_ERR(3, 159, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_1_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_2_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr)) __PYX_ERR(3, 381, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_2_genexpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr) < (0)) __PYX_ERR(3, 381, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_2_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr) < (0)) __PYX_ERR(3, 381, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_2_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_3_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr)) __PYX_ERR(4, 102, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_3_genexpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr) < (0)) __PYX_ERR(4, 102, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_3_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr) < (0)) __PYX_ERR(4, 102, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_3_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_4_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr)) __PYX_ERR(4, 187, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_4_genexpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr) < (0)) __PYX_ERR(4, 187, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_4_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr) < (0)) __PYX_ERR(4, 187, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_4_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_5_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr)) __PYX_ERR(1, 54, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_5_genexpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr) < (0)) __PYX_ERR(1, 54, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_5_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr) < (0)) __PYX_ERR(1, 54, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_5_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_6_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr)) __PYX_ERR(1, 73, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_6_genexpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr) < (0)) __PYX_ERR(1, 73, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_6_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr) < (0)) __PYX_ERR(1, 73, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_6_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_7_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr)) __PYX_ERR(1, 91, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_7_genexpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr) < (0)) __PYX_ERR(1, 91, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_7_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr) < (0)) __PYX_ERR(1, 91, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_7_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d)) __PYX_ERR(1, 155, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d) < (0)) __PYX_ERR(1, 155, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d) < (0)) __PYX_ERR(1, 155, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_8__core_dot_2d->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_9_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr)) __PYX_ERR(1, 187, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_9_genexpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr) < (0)) __PYX_ERR(1, 187, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_9_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr) < (0)) __PYX_ERR(1, 187, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_9_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_10__core_sum_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum)) __PYX_ERR(1, 199, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_10__core_sum_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum) < (0)) __PYX_ERR(1, 199, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_10__core_sum;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum) < (0)) __PYX_ERR(1, 199, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_10__core_sum->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_11_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr)) __PYX_ERR(1, 247, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_11_genexpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr) < (0)) __PYX_ERR(1, 247, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_11_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr) < (0)) __PYX_ERR(1, 247, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_11_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_12_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr)) __PYX_ERR(1, 249, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_12_genexpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr) < (0)) __PYX_ERR(1, 249, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_12_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr) < (0)) __PYX_ERR(1, 249, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_12_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_13_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr)) __PYX_ERR(1, 251, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_13_genexpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr) < (0)) __PYX_ERR(1, 251, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_13_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr) < (0)) __PYX_ERR(1, 251, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_13_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback)) __PYX_ERR(2, 2846, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback) < (0)) __PYX_ERR(2, 2846, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback) < (0)) __PYX_ERR(2, 2846, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_14_attachEventHandlerCallback->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics)) __PYX_ERR(2, 12617, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics) < (0)) __PYX_ERR(2, 12617, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics) < (0)) __PYX_ERR(2, 12617, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_15_readStatistics->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_16_genexpr_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr)) __PYX_ERR(2, 12735, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_9pyscipopt_4scip___pyx_scope_struct_16_genexpr_spec, __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr) < (0)) __PYX_ERR(2, 12735, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr = &__pyx_type_9pyscipopt_4scip___pyx_scope_struct_16_genexpr;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr) < (0)) __PYX_ERR(2, 12735, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr->tp_dictoffset && __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_ptype_9pyscipopt_4scip___pyx_scope_struct_16_genexpr->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  __pyx_vtabptr_array = &__pyx_vtable_array;
  __pyx_vtable_array.get_memview = (PyObject *(*)(struct __pyx_array_obj *))__pyx_array_get_memview;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_array_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_array_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_array_type)) __PYX_ERR(5, 110, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate->__pyx_array_type->tp_as_buffer = &__pyx_tp_as_buffer_array;
  if (!__pyx_mstate->__pyx_array_type->tp_as_buffer->bf_releasebuffer && __pyx_mstate->__pyx_array_type->tp_base->tp_as_buffer && __pyx_mstate->__pyx_array_type->tp_base->tp_as_buffer->bf_releasebuffer) {
    __pyx_mstate->__pyx_array_type->tp_as_buffer->bf_releasebuffer = __pyx_mstate->__pyx_array_type->tp_base->tp_as_buffer->bf_releasebuffer;
  }
  #elif defined(Py_bf_getbuffer) && defined(Py_bf_releasebuffer)
  /* PY_VERSION_HEX >= 0x03090000 || Py_LIMITED_API >= 0x030B0000 */
  #elif defined(_MSC_VER)
  #pragma message ("The buffer protocol is not supported in the Limited C-API < 3.11.")
  #else
  #warning "The buffer protocol is not supported in the Limited C-API < 3.11."
  #endif
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_array_spec, __pyx_mstate->__pyx_array_type) < (0)) __PYX_ERR(5, 110, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_array_type = &__pyx_type___pyx_array;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_array_type) < (0)) __PYX_ERR(5, 110, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_array_type);
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_array_type, __pyx_vtabptr_array) < (0)) __PYX_ERR(5, 110, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_array_type) < (0)) __PYX_ERR(5, 110, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_array_type) < (0)) __PYX_ERR(5, 110, __pyx_L1_error)
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_MemviewEnum_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_MemviewEnum_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_MemviewEnum_type)) __PYX_ERR(5, 299, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_MemviewEnum_spec, __pyx_mstate->__pyx_MemviewEnum_type) < (0)) __PYX_ERR(5, 299, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_MemviewEnum_type = &__pyx_type___pyx_MemviewEnum;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_MemviewEnum_type) < (0)) __PYX_ERR(5, 299, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_MemviewEnum_type);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_MemviewEnum_type->tp_dictoffset && __pyx_mstate->__pyx_MemviewEnum_type->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_MemviewEnum_type->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_MemviewEnum_type) < (0)) __PYX_ERR(5, 299, __pyx_L1_error)
  __pyx_vtabptr_memoryview = &__pyx_vtable_memoryview;
  __pyx_vtable_memoryview.get_item_pointer = (char *(*)(struct __pyx_memoryview_obj *, PyObject *))__pyx_memoryview_get_item_pointer;
  __pyx_vtable_memoryview.is_slice = (PyObject *(*)(struct __pyx_memoryview_obj *, PyObject *))__pyx_memoryview_is_slice;
  __pyx_vtable_memoryview.setitem_slice_assignment = (PyObject *(*)(struct __pyx_memoryview_obj *, PyObject *, PyObject *))__pyx_memoryview_setitem_slice_assignment;
  __pyx_vtable_memoryview.setitem_slice_assign_scalar = (PyObject *(*)(struct __pyx_memoryview_obj *, struct __pyx_memoryview_obj *, PyObject *))__pyx_memoryview_setitem_slice_assign_scalar;
  __pyx_vtable_memoryview.setitem_indexed = (PyObject *(*)(struct __pyx_memoryview_obj *, PyObject *, PyObject *))__pyx_memoryview_setitem_indexed;
  __pyx_vtable_memoryview.convert_item_to_object = (PyObject *(*)(struct __pyx_memoryview_obj *, char *))__pyx_memoryview_convert_item_to_object;
  __pyx_vtable_memoryview.assign_item_from_object = (PyObject *(*)(struct __pyx_memoryview_obj *, char *, PyObject *))__pyx_memoryview_assign_item_from_object;
  __pyx_vtable_memoryview._get_base = (PyObject *(*)(struct __pyx_memoryview_obj *))__pyx_memoryview__get_base;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_mstate->__pyx_memoryview_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_memoryview_spec, NULL); if (unlikely(!__pyx_mstate->__pyx_memoryview_type)) __PYX_ERR(5, 334, __pyx_L1_error)
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate->__pyx_memoryview_type->tp_as_buffer = &__pyx_tp_as_buffer_memoryview;
  if (!__pyx_mstate->__pyx_memoryview_type->tp_as_buffer->bf_releasebuffer && __pyx_mstate->__pyx_memoryview_type->tp_base->tp_as_buffer && __pyx_mstate->__pyx_memoryview_type->tp_base->tp_as_buffer->bf_releasebuffer) {
    __pyx_mstate->__pyx_memoryview_type->tp_as_buffer->bf_releasebuffer = __pyx_mstate->__pyx_memoryview_type->tp_base->tp_as_buffer->bf_releasebuffer;
  }
  #elif defined(Py_bf_getbuffer) && defined(Py_bf_releasebuffer)
  /* PY_VERSION_HEX >= 0x03090000 || Py_LIMITED_API >= 0x030B0000 */
  #elif defined(_MSC_VER)
  #pragma message ("The buffer protocol is not supported in the Limited C-API < 3.11.")
  #else
  #warning "The buffer protocol is not supported in the Limited C-API < 3.11."
  #endif
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_memoryview_spec, __pyx_mstate->__pyx_memoryview_type) < (0)) __PYX_ERR(5, 334, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_memoryview_type = &__pyx_type___pyx_memoryview;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_memoryview_type) < (0)) __PYX_ERR(5, 334, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_memoryview_type);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_memoryview_type->tp_dictoffset && __pyx_mstate->__pyx_memoryview_type->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_memoryview_type->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_memoryview_type, __pyx_vtabptr_memoryview) < (0)) __PYX_ERR(5, 334, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_memoryview_type) < (0)) __PYX_ERR(5, 334, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_memoryview_type) < (0)) __PYX_ERR(5, 334, __pyx_L1_error)
  __pyx_vtabptr__memoryviewslice = &__pyx_vtable__memoryviewslice;
  __pyx_vtable__memoryviewslice.__pyx_base = *__pyx_vtabptr_memoryview;
  __pyx_vtable__memoryviewslice.__pyx_base.convert_item_to_object = (PyObject *(*)(struct __pyx_memoryview_obj *, char *))__pyx_memoryviewslice_convert_item_to_object;
  __pyx_vtable__memoryviewslice.__pyx_base.assign_item_from_object = (PyObject *(*)(struct __pyx_memoryview_obj *, char *, PyObject *))__pyx_memoryviewslice_assign_item_from_object;
  __pyx_vtable__memoryviewslice.__pyx_base._get_base = (PyObject *(*)(struct __pyx_memoryview_obj *))__pyx_memoryviewslice__get_base;
  #if CYTHON_USE_TYPE_SPECS
  __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_memoryview_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 951, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_memoryviewslice_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_memoryviewslice_spec, __pyx_t_1);
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (unlikely(!__pyx_mstate->__pyx_memoryviewslice_type)) __PYX_ERR(5, 951, __pyx_L1_error)
  if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type___pyx_memoryviewslice_spec, __pyx_mstate->__pyx_memoryviewslice_type) < (0)) __PYX_ERR(5, 951, __pyx_L1_error)
  #else
  __pyx_mstate->__pyx_memoryviewslice_type = &__pyx_type___pyx_memoryviewslice;
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  __pyx_mstate_global->__pyx_memoryviewslice_type->tp_base = __pyx_mstate_global->__pyx_memoryview_type;
  #endif
  #if !CYTHON_USE_TYPE_SPECS
  if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_memoryviewslice_type) < (0)) __PYX_ERR(5, 951, __pyx_L1_error)
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_memoryviewslice_type);
  #endif
  #if !CYTHON_COMPILING_IN_LIMITED_API
  if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_memoryviewslice_type->tp_dictoffset && __pyx_mstate->__pyx_memoryviewslice_type->tp_getattro == PyObject_GenericGetAttr)) {
    __pyx_mstate->__pyx_memoryviewslice_type->tp_getattro = PyObject_GenericGetAttr;
  }
  #endif
  if (__Pyx_SetVtable(__pyx_mstate->__pyx_memoryviewslice_type, __pyx_vtabptr__memoryviewslice) < (0)) __PYX_ERR(5, 951, __pyx_L1_error)
  if (__Pyx_MergeVtables(__pyx_mstate->__pyx_memoryviewslice_type) < (0)) __PYX_ERR(5, 951, __pyx_L1_error)
  if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_memoryviewslice_type) < (0)) __PYX_ERR(5, 951, __pyx_L1_error)
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_type_import_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
  /*--- Type import code ---*/
  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(23, 9, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_2_4(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyTypeObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  0, 0,
  #else
  sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyHeapTypeObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_7cpython_4type_type) __PYX_ERR(23, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(24, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_7cpython_4bool_bool = __Pyx_ImportType_3_2_4(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "bool",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyLongObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyLongObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  0, 0,
  #else
  sizeof(PyLongObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyLongObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_7cpython_4bool_bool) __PYX_ERR(24, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(25, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_7cpython_7complex_complex = __Pyx_ImportType_3_2_4(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "complex",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyComplexObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyComplexObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  0, 0,
  #else
  sizeof(PyComplexObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyComplexObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_7cpython_7complex_complex) __PYX_ERR(25, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(7, 229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_mstate->__pyx_ptype_5numpy_dtype = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "dtype",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyArray_Descr),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyArray_Descr),
  #else
  sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyArray_Descr),
  #endif
  __Pyx_ImportType_CheckSize_Ignore_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_dtype) __PYX_ERR(7, 229, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_flatiter = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "flatiter",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyArrayIterObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyArrayIterObject),
  #else
  sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyArrayIterObject),
  #endif
  __Pyx_ImportType_CheckSize_Ignore_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_flatiter) __PYX_ERR(7, 274, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_broadcast = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "broadcast",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyArrayMultiIterObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyArrayMultiIterObject),
  #else
  sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyArrayMultiIterObject),
  #endif
  __Pyx_ImportType_CheckSize_Ignore_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_broadcast) __PYX_ERR(7, 278, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_ndarray = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "ndarray",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyArrayObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyArrayObject),
  #else
  sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyArrayObject),
  #endif
  __Pyx_ImportType_CheckSize_Ignore_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_ndarray) __PYX_ERR(7, 317, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_generic = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "generic",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #else
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_generic) __PYX_ERR(7, 826, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_number = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "number",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #else
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_number) __PYX_ERR(7, 828, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_integer = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "integer",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #else
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_integer) __PYX_ERR(7, 830, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_signedinteger = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "signedinteger",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #else
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_signedinteger) __PYX_ERR(7, 832, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "unsignedinteger",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #else
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(7, 834, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_inexact = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "inexact",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #else
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_inexact) __PYX_ERR(7, 836, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_floating = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "floating",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #else
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_floating) __PYX_ERR(7, 838, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_complexfloating = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "complexfloating",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #else
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_complexfloating) __PYX_ERR(7, 840, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_flexible = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "flexible",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #else
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_flexible) __PYX_ERR(7, 842, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_character = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "character",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #else
  sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyObject),
  #endif
  __Pyx_ImportType_CheckSize_Warn_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_character) __PYX_ERR(7, 844, __pyx_L1_error)
  __pyx_mstate->__pyx_ptype_5numpy_ufunc = __Pyx_ImportType_3_2_4(__pyx_t_1, "numpy", "ufunc",
  #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
  sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyUFuncObject),
  #elif CYTHON_COMPILING_IN_LIMITED_API
  sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyUFuncObject),
  #else
  sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_2_4(PyUFuncObject),
  #endif
  __Pyx_ImportType_CheckSize_Ignore_3_2_4); if (!__pyx_mstate->__pyx_ptype_5numpy_ufunc) __PYX_ERR(7, 908, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_RefNannyFinishContext();
  return -1;
}

static int __Pyx_modinit_variable_import_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
  /*--- Variable import code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_modinit_function_import_code(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
  /*--- Function import code ---*/
  __Pyx_RefNannyFinishContext();
  return 0;
}

#if CYTHON_PEP489_MULTI_PHASE_INIT
static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
static int __pyx_pymod_exec_scip(PyObject* module); /*proto*/
static PyModuleDef_Slot __pyx_moduledef_slots[] = {
  {Py_mod_create, (void*)__pyx_pymod_create},
  {Py_mod_exec, (void*)__pyx_pymod_exec_scip},
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
  {Py_mod_gil, __Pyx_FREETHREADING_COMPATIBLE},
  #endif
  #if PY_VERSION_HEX >= 0x030C0000 && CYTHON_USE_MODULE_STATE
  {Py_mod_multiple_interpreters, Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED},
  #endif
  {0, NULL}
};
#endif

#ifdef __cplusplus
namespace {
  struct PyModuleDef __pyx_moduledef =
  #else
  static struct PyModuleDef __pyx_moduledef =
  #endif
  {
      PyModuleDef_HEAD_INIT,
      "scip",
      0, /* m_doc */
    #if CYTHON_USE_MODULE_STATE
      sizeof(__pyx_mstatetype), /* m_size */
    #else
      (CYTHON_PEP489_MULTI_PHASE_INIT) ? 0 : -1, /* m_size */
    #endif
      __pyx_methods /* m_methods */,
    #if CYTHON_PEP489_MULTI_PHASE_INIT
      __pyx_moduledef_slots, /* m_slots */
    #else
      NULL, /* m_reload */
    #endif
    #if CYTHON_USE_MODULE_STATE
      __pyx_m_traverse, /* m_traverse */
      __pyx_m_clear, /* m_clear */
      NULL /* m_free */
    #else
      NULL, /* m_traverse */
      NULL, /* m_clear */
      NULL /* m_free */
    #endif
  };
  #ifdef __cplusplus
} /* anonymous namespace */
#endif

/* PyModInitFuncType */
#ifndef CYTHON_NO_PYINIT_EXPORT
  #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
#else
  #ifdef __cplusplus
  #define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
  #else
  #define __Pyx_PyMODINIT_FUNC PyObject *
  #endif
#endif

__Pyx_PyMODINIT_FUNC PyInit_scip(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC PyInit_scip(void)
#if CYTHON_PEP489_MULTI_PHASE_INIT
{
  return PyModuleDef_Init(&__pyx_moduledef);
}
/* ModuleCreationPEP489 */
#if CYTHON_COMPILING_IN_LIMITED_API && (__PYX_LIMITED_VERSION_HEX < 0x03090000\
      || ((defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)) && __PYX_LIMITED_VERSION_HEX < 0x030A0000))
static PY_INT64_T __Pyx_GetCurrentInterpreterId(void) {
    {
        PyObject *module = PyImport_ImportModule("_interpreters"); // 3.13+ I think
        if (!module) {
            PyErr_Clear(); // just try the 3.8-3.12 version
            module = PyImport_ImportModule("_xxsubinterpreters");
            if (!module) goto bad;
        }
        PyObject *current = PyObject_CallMethod(module, "get_current", NULL);
        Py_DECREF(module);
        if (!current) goto bad;
        if (PyTuple_Check(current)) {
            PyObject *new_current = PySequence_GetItem(current, 0);
            Py_DECREF(current);
            current = new_current;
            if (!new_current) goto bad;
        }
        long long as_c_int = PyLong_AsLongLong(current);
        Py_DECREF(current);
        return as_c_int;
    }
  bad:
    PySys_WriteStderr("__Pyx_GetCurrentInterpreterId failed. Try setting the C define CYTHON_PEP489_MULTI_PHASE_INIT=0\n");
    return -1;
}
#endif
#if !CYTHON_USE_MODULE_STATE
static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
    static PY_INT64_T main_interpreter_id = -1;
#if CYTHON_COMPILING_IN_GRAAL && defined(GRAALPY_VERSION_NUM) && GRAALPY_VERSION_NUM > 0x19000000
    PY_INT64_T current_id = GraalPyInterpreterState_GetIDFromThreadState(PyThreadState_Get());
#elif CYTHON_COMPILING_IN_GRAAL
    PY_INT64_T current_id = PyInterpreterState_GetIDFromThreadState(PyThreadState_Get());
#elif CYTHON_COMPILING_IN_LIMITED_API && (__PYX_LIMITED_VERSION_HEX < 0x03090000\
      || ((defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)) && __PYX_LIMITED_VERSION_HEX < 0x030A0000))
    PY_INT64_T current_id = __Pyx_GetCurrentInterpreterId();
#elif CYTHON_COMPILING_IN_LIMITED_API
    PY_INT64_T current_id = PyInterpreterState_GetID(PyInterpreterState_Get());
#else
    PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
#endif
    if (unlikely(current_id == -1)) {
        return -1;
    }
    if (main_interpreter_id == -1) {
        main_interpreter_id = current_id;
        return 0;
    } else if (unlikely(main_interpreter_id != current_id)) {
        PyErr_SetString(
            PyExc_ImportError,
            "Interpreter change detected - this module can only be loaded into one interpreter per process.");
        return -1;
    }
    return 0;
}
#endif
static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none)
{
    PyObject *value = PyObject_GetAttrString(spec, from_name);
    int result = 0;
    if (likely(value)) {
        if (allow_none || value != Py_None) {
            result = PyDict_SetItemString(moddict, to_name, value);
        }
        Py_DECREF(value);
    } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
        PyErr_Clear();
    } else {
        result = -1;
    }
    return result;
}
static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) {
    PyObject *module = NULL, *moddict, *modname;
    CYTHON_UNUSED_VAR(def);
    #if !CYTHON_USE_MODULE_STATE
    if (__Pyx_check_single_interpreter())
        return NULL;
    #endif
    if (__pyx_m)
        return __Pyx_NewRef(__pyx_m);
    modname = PyObject_GetAttrString(spec, "name");
    if (unlikely(!modname)) goto bad;
    module = PyModule_NewObject(modname);
    Py_DECREF(modname);
    if (unlikely(!module)) goto bad;
    moddict = PyModule_GetDict(module);
    if (unlikely(!moddict)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
    return module;
bad:
    Py_XDECREF(module);
    return NULL;
}


static CYTHON_SMALL_CODE int __pyx_pymod_exec_scip(PyObject *__pyx_pyinit_module)
#endif
{
  int stringtab_initialized = 0;
  #if CYTHON_USE_MODULE_STATE
  int pystate_addmodule_run = 0;
  #endif
  __pyx_mstatetype *__pyx_mstate = NULL;
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  PyObject *__pyx_t_5 = NULL;
  size_t __pyx_t_6;
  static PyThread_type_lock __pyx_t_7[8];
  int __pyx_t_8;
  Py_ssize_t __pyx_t_9;
  PyObject *__pyx_t_10 = NULL;
  PyObject *__pyx_t_11 = NULL;
  PyObject *__pyx_t_12 = NULL;
  PyObject *__pyx_t_13 = NULL;
  PyObject *__pyx_t_14 = NULL;
  int __pyx_t_15;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  if (__pyx_m) {
    if (__pyx_m == __pyx_pyinit_module) return 0;
    PyErr_SetString(PyExc_RuntimeError, "Module 'scip' has already been imported. Re-initialisation is not supported.");
    return -1;
  }
  #else
  if (__pyx_m) return __Pyx_NewRef(__pyx_m);
  #endif
  /*--- Module creation code ---*/
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  __pyx_t_1 = __pyx_pyinit_module;
  Py_INCREF(__pyx_t_1);
  #else
  __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
  #endif
  #if CYTHON_USE_MODULE_STATE
  {
    int add_module_result = __Pyx_State_AddModule(__pyx_t_1, &__pyx_moduledef);
    __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "scip" pseudovariable */
    if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
    pystate_addmodule_run = 1;
  }
  #else
  __pyx_m = __pyx_t_1;
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
  PyUnstable_Module_SetGIL(__pyx_m, Py_MOD_GIL_USED);
  #endif
  __pyx_mstate = __pyx_mstate_global;
  CYTHON_UNUSED_VAR(__pyx_t_1);
  __pyx_mstate->__pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_mstate->__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
  Py_INCREF(__pyx_mstate->__pyx_d);
  __pyx_mstate->__pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_mstate->__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_cython_runtime = __Pyx_PyImport_AddModuleRef("cython_runtime"); if (unlikely(!__pyx_mstate->__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_mstate->__pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  /* ImportRefnannyAPI */
  #if CYTHON_REFNANNY
  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
  if (!__Pyx_RefNanny) {
    PyErr_Clear();
    __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
    if (!__Pyx_RefNanny)
        Py_FatalError("failed to import 'refnanny' module");
  }
  #endif
  
__Pyx_RefNannySetupContext("PyInit_scip", 0);
  __Pyx_init_runtime_version();
  if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_mstate->__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
  __pyx_mstate->__pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_mstate->__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Library function declarations ---*/
  /*--- Initialize various global constants etc. ---*/
  if (__Pyx_InitConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  stringtab_initialized = 1;
  if (__Pyx_InitGlobals() < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__pyx_module_is_main_pyscipopt__scip) {
    if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_name_2, __pyx_mstate_global->__pyx_n_u_main) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  }
  {
    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
    if (!PyDict_GetItemString(modules, "pyscipopt.scip")) {
      if (unlikely((PyDict_SetItemString(modules, "pyscipopt.scip", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
    }
  }
  /*--- Builtin init code ---*/
  if (__Pyx_InitCachedBuiltins(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Constants init code ---*/
  if (__Pyx_InitCachedConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  if (__Pyx_CreateCodeObjects(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  /*--- Global type/function init code ---*/
  (void)__Pyx_modinit_global_init_code(__pyx_mstate);
  (void)__Pyx_modinit_variable_export_code(__pyx_mstate);
  (void)__Pyx_modinit_function_export_code(__pyx_mstate);
  if (unlikely((__Pyx_modinit_type_init_code(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
  if (unlikely((__Pyx_modinit_type_import_code(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
  (void)__Pyx_modinit_variable_import_code(__pyx_mstate);
  (void)__Pyx_modinit_function_import_code(__pyx_mstate);
  /*--- Execution code ---*/

  /* "View.MemoryView":100
 * 
 * cdef object __pyx_collections_abc_Sequence "__pyx_collections_abc_Sequence"
 * try:             # <<<<<<<<<<<<<<
 *     __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
 * except:
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "View.MemoryView":101
 * cdef object __pyx_collections_abc_Sequence "__pyx_collections_abc_Sequence"
 * try:
 *     __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence             # <<<<<<<<<<<<<<
 * except:
 * 
*/
      __pyx_t_5 = NULL;
      __pyx_t_6 = 1;
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_collections_abc};
        __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin___import__, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 101, __pyx_L2_error)
        __Pyx_GOTREF(__pyx_t_4);
      }
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_abc); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 101, __pyx_L2_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_Sequence); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 101, __pyx_L2_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_XGOTREF(__pyx_collections_abc_Sequence);
      __Pyx_DECREF_SET(__pyx_collections_abc_Sequence, __pyx_t_4);
      __Pyx_GIVEREF(__pyx_t_4);
      __pyx_t_4 = 0;

      /* "View.MemoryView":100
 * 
 * cdef object __pyx_collections_abc_Sequence "__pyx_collections_abc_Sequence"
 * try:             # <<<<<<<<<<<<<<
 *     __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
 * except:
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L7_try_end;
    __pyx_L2_error:;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "View.MemoryView":102
 * try:
 *     __pyx_collections_abc_Sequence = __import__("collections.abc").abc.Sequence
 * except:             # <<<<<<<<<<<<<<
 * 
 *     __pyx_collections_abc_Sequence = None
*/
    /*except:*/ {
      __Pyx_ErrRestore(0,0,0);

      /* "View.MemoryView":104
 * except:
 * 
 *     __pyx_collections_abc_Sequence = None             # <<<<<<<<<<<<<<
 * 
 * 
*/
      __Pyx_INCREF(Py_None);
      __Pyx_XGOTREF(__pyx_collections_abc_Sequence);
      __Pyx_DECREF_SET(__pyx_collections_abc_Sequence, Py_None);
      __Pyx_GIVEREF(Py_None);
      goto __pyx_L3_exception_handled;
    }
    __pyx_L3_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L7_try_end:;
  }

  /* "View.MemoryView":239
 * 
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_1);
    /*try:*/ {

      /* "View.MemoryView":240
 * 
 *     try:
 *         count = __pyx_collections_abc_Sequence.count             # <<<<<<<<<<<<<<
 *         index = __pyx_collections_abc_Sequence.index
 *     except:
*/
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_mstate_global->__pyx_n_u_count); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 240, __pyx_L10_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_array_type, __pyx_mstate_global->__pyx_n_u_count, __pyx_t_4) < (0)) __PYX_ERR(5, 240, __pyx_L10_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "View.MemoryView":241
 *     try:
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index             # <<<<<<<<<<<<<<
 *     except:
 *         pass
*/
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_mstate_global->__pyx_n_u_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 241, __pyx_L10_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_array_type, __pyx_mstate_global->__pyx_n_u_index, __pyx_t_4) < (0)) __PYX_ERR(5, 241, __pyx_L10_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "View.MemoryView":239
 * 
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index
*/
    }
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L15_try_end;
    __pyx_L10_error:;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "View.MemoryView":242
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index
 *     except:             # <<<<<<<<<<<<<<
 *         pass
 * 
*/
    /*except:*/ {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L11_exception_handled;
    }
    __pyx_L11_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_2, __pyx_t_1);
    __pyx_L15_try_end:;
  }

  /* "View.MemoryView":307
 *         return self.name
 * 
 * cdef generic = Enum("<strided and direct or indirect>")             # <<<<<<<<<<<<<<
 * cdef strided = Enum("<strided and direct>") # default
 * cdef indirect = Enum("<strided and indirect>")
*/
  __pyx_t_5 = NULL;
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_strided_and_direct_or_indirect};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_MemviewEnum_type, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 307, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __Pyx_XGOTREF(generic);
  __Pyx_DECREF_SET(generic, ((PyObject *)__pyx_t_4));
  __Pyx_GIVEREF((PyObject *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "View.MemoryView":308
 * 
 * cdef generic = Enum("<strided and direct or indirect>")
 * cdef strided = Enum("<strided and direct>") # default             # <<<<<<<<<<<<<<
 * cdef indirect = Enum("<strided and indirect>")
 * 
*/
  __pyx_t_5 = NULL;
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_strided_and_direct};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_MemviewEnum_type, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 308, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __Pyx_XGOTREF(strided);
  __Pyx_DECREF_SET(strided, ((PyObject *)__pyx_t_4));
  __Pyx_GIVEREF((PyObject *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "View.MemoryView":309
 * cdef generic = Enum("<strided and direct or indirect>")
 * cdef strided = Enum("<strided and direct>") # default
 * cdef indirect = Enum("<strided and indirect>")             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_5 = NULL;
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_strided_and_indirect};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_MemviewEnum_type, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 309, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __Pyx_XGOTREF(indirect);
  __Pyx_DECREF_SET(indirect, ((PyObject *)__pyx_t_4));
  __Pyx_GIVEREF((PyObject *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "View.MemoryView":312
 * 
 * 
 * cdef contiguous = Enum("<contiguous and direct>")             # <<<<<<<<<<<<<<
 * cdef indirect_contiguous = Enum("<contiguous and indirect>")
 * 
*/
  __pyx_t_5 = NULL;
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_contiguous_and_direct};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_MemviewEnum_type, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 312, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __Pyx_XGOTREF(contiguous);
  __Pyx_DECREF_SET(contiguous, ((PyObject *)__pyx_t_4));
  __Pyx_GIVEREF((PyObject *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "View.MemoryView":313
 * 
 * cdef contiguous = Enum("<contiguous and direct>")
 * cdef indirect_contiguous = Enum("<contiguous and indirect>")             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_5 = NULL;
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_contiguous_and_indirect};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_MemviewEnum_type, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 313, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  __Pyx_XGOTREF(indirect_contiguous);
  __Pyx_DECREF_SET(indirect_contiguous, ((PyObject *)__pyx_t_4));
  __Pyx_GIVEREF((PyObject *)__pyx_t_4);
  __pyx_t_4 = 0;

  /* "View.MemoryView":321
 * 
 * 
 * cdef int __pyx_memoryview_thread_locks_used = 0             # <<<<<<<<<<<<<<
 * cdef PyThread_type_lock[8] __pyx_memoryview_thread_locks = [
 *     PyThread_allocate_lock(),
*/
  __pyx_memoryview_thread_locks_used = 0;

  /* "View.MemoryView":322
 * 
 * cdef int __pyx_memoryview_thread_locks_used = 0
 * cdef PyThread_type_lock[8] __pyx_memoryview_thread_locks = [             # <<<<<<<<<<<<<<
 *     PyThread_allocate_lock(),
 *     PyThread_allocate_lock(),
*/
  __pyx_t_7[0] = PyThread_allocate_lock();
  __pyx_t_7[1] = PyThread_allocate_lock();
  __pyx_t_7[2] = PyThread_allocate_lock();
  __pyx_t_7[3] = PyThread_allocate_lock();
  __pyx_t_7[4] = PyThread_allocate_lock();
  __pyx_t_7[5] = PyThread_allocate_lock();
  __pyx_t_7[6] = PyThread_allocate_lock();
  __pyx_t_7[7] = PyThread_allocate_lock();
  memcpy(&(__pyx_memoryview_thread_locks[0]), __pyx_t_7, sizeof(__pyx_memoryview_thread_locks[0]) * (8));

  /* "View.MemoryView":983
 * 
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "View.MemoryView":984
 * 
 *     try:
 *         count = __pyx_collections_abc_Sequence.count             # <<<<<<<<<<<<<<
 *         index = __pyx_collections_abc_Sequence.index
 *     except:
*/
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_mstate_global->__pyx_n_u_count); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 984, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_memoryviewslice_type, __pyx_mstate_global->__pyx_n_u_count, __pyx_t_4) < (0)) __PYX_ERR(5, 984, __pyx_L18_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "View.MemoryView":985
 *     try:
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index             # <<<<<<<<<<<<<<
 *     except:
 *         pass
*/
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_mstate_global->__pyx_n_u_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 985, __pyx_L18_error)
      __Pyx_GOTREF(__pyx_t_4);
      if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_memoryviewslice_type, __pyx_mstate_global->__pyx_n_u_index, __pyx_t_4) < (0)) __PYX_ERR(5, 985, __pyx_L18_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "View.MemoryView":983
 * 
 * 
 *     try:             # <<<<<<<<<<<<<<
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L23_try_end;
    __pyx_L18_error:;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "View.MemoryView":986
 *         count = __pyx_collections_abc_Sequence.count
 *         index = __pyx_collections_abc_Sequence.index
 *     except:             # <<<<<<<<<<<<<<
 *         pass
 * 
*/
    /*except:*/ {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L19_exception_handled;
    }
    __pyx_L19_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L23_try_end:;
  }

  /* "View.MemoryView":989
 *         pass
 * 
 * try:             # <<<<<<<<<<<<<<
 *     if __pyx_collections_abc_Sequence:
 * 
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_1);
    /*try:*/ {

      /* "View.MemoryView":990
 * 
 * try:
 *     if __pyx_collections_abc_Sequence:             # <<<<<<<<<<<<<<
 * 
 * 
*/
      __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_collections_abc_Sequence); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(5, 990, __pyx_L26_error)
      if (__pyx_t_8) {

        /* "View.MemoryView":994
 * 
 * 
 *         __pyx_collections_abc_Sequence.register(_memoryviewslice)             # <<<<<<<<<<<<<<
 *         __pyx_collections_abc_Sequence.register(array)
 * except:
*/
        __pyx_t_5 = __pyx_collections_abc_Sequence;
        __Pyx_INCREF(__pyx_t_5);
        __pyx_t_6 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_memoryviewslice_type)};
          __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_register, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 994, __pyx_L26_error)
          __Pyx_GOTREF(__pyx_t_4);
        }
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "View.MemoryView":995
 * 
 *         __pyx_collections_abc_Sequence.register(_memoryviewslice)
 *         __pyx_collections_abc_Sequence.register(array)             # <<<<<<<<<<<<<<
 * except:
 *     pass  # ignore failure, it's a minor issue
*/
        __pyx_t_5 = __pyx_collections_abc_Sequence;
        __Pyx_INCREF(__pyx_t_5);
        __pyx_t_6 = 0;
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_array_type)};
          __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_register, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 995, __pyx_L26_error)
          __Pyx_GOTREF(__pyx_t_4);
        }
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

        /* "View.MemoryView":990
 * 
 * try:
 *     if __pyx_collections_abc_Sequence:             # <<<<<<<<<<<<<<
 * 
 * 
*/
      }

      /* "View.MemoryView":989
 *         pass
 * 
 * try:             # <<<<<<<<<<<<<<
 *     if __pyx_collections_abc_Sequence:
 * 
*/
    }
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    goto __pyx_L31_try_end;
    __pyx_L26_error:;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "View.MemoryView":996
 *         __pyx_collections_abc_Sequence.register(_memoryviewslice)
 *         __pyx_collections_abc_Sequence.register(array)
 * except:             # <<<<<<<<<<<<<<
 *     pass  # ignore failure, it's a minor issue
 * 
*/
    /*except:*/ {
      __Pyx_ErrRestore(0,0,0);
      goto __pyx_L27_exception_handled;
    }
    __pyx_L27_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_2, __pyx_t_1);
    __pyx_L31_try_end:;
  }

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Enum(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x82a3537, 0x6ae9995, 0xb068931, b'name')
*/
  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_15View_dot_MemoryView_1__pyx_unpickle_Enum, NULL, __pyx_mstate_global->__pyx_n_u_View_MemoryView); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Enum, __pyx_t_4) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":3
 * ##@file scip.pxi
 * #@brief holding functions in python that reference the SCIP public functions included in scip.pxd
 * import weakref             # <<<<<<<<<<<<<<
 * from os.path import abspath
 * from os.path import splitext
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_weakref, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 3, __pyx_L1_error)
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_weakref, __pyx_t_4) < (0)) __PYX_ERR(2, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":4
 * #@brief holding functions in python that reference the SCIP public functions included in scip.pxd
 * import weakref
 * from os.path import abspath             # <<<<<<<<<<<<<<
 * from os.path import splitext
 * import os
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_abspath};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_os_path, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 4, __pyx_L1_error)
  }
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_abspath};
    __pyx_t_9 = 0; {
      __pyx_t_5 = __Pyx_ImportFrom(__pyx_t_4, __pyx_imported_names[__pyx_t_9]); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 4, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_9], __pyx_t_5) < (0)) __PYX_ERR(2, 4, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":5
 * import weakref
 * from os.path import abspath
 * from os.path import splitext             # <<<<<<<<<<<<<<
 * import os
 * import sys
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_splitext};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_os_path, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 5, __pyx_L1_error)
  }
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_splitext};
    __pyx_t_9 = 0; {
      __pyx_t_5 = __Pyx_ImportFrom(__pyx_t_4, __pyx_imported_names[__pyx_t_9]); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 5, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_9], __pyx_t_5) < (0)) __PYX_ERR(2, 5, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":6
 * from os.path import abspath
 * from os.path import splitext
 * import os             # <<<<<<<<<<<<<<
 * import sys
 * import warnings
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_os, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 6, __pyx_L1_error)
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_os, __pyx_t_4) < (0)) __PYX_ERR(2, 6, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":7
 * from os.path import splitext
 * import os
 * import sys             # <<<<<<<<<<<<<<
 * import warnings
 * import locale
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_sys, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 7, __pyx_L1_error)
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_sys, __pyx_t_4) < (0)) __PYX_ERR(2, 7, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":8
 * import os
 * import sys
 * import warnings             # <<<<<<<<<<<<<<
 * import locale
 * 
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_warnings, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 8, __pyx_L1_error)
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_warnings, __pyx_t_4) < (0)) __PYX_ERR(2, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":9
 * import sys
 * import warnings
 * import locale             # <<<<<<<<<<<<<<
 * 
 * cimport cython
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_locale, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error)
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_locale, __pyx_t_4) < (0)) __PYX_ERR(2, 9, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":18
 * from posix.stdio cimport fileno
 * 
 * from collections.abc import Iterable             # <<<<<<<<<<<<<<
 * from itertools import repeat
 * from dataclasses import dataclass
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Iterable};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_collections_abc, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 18, __pyx_L1_error)
  }
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Iterable};
    __pyx_t_9 = 0; {
      __pyx_t_5 = __Pyx_ImportFrom(__pyx_t_4, __pyx_imported_names[__pyx_t_9]); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 18, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_9], __pyx_t_5) < (0)) __PYX_ERR(2, 18, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":19
 * 
 * from collections.abc import Iterable
 * from itertools import repeat             # <<<<<<<<<<<<<<
 * from dataclasses import dataclass
 * from typing import Union
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_repeat};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_itertools, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 19, __pyx_L1_error)
  }
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_repeat};
    __pyx_t_9 = 0; {
      __pyx_t_5 = __Pyx_ImportFrom(__pyx_t_4, __pyx_imported_names[__pyx_t_9]); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 19, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_9], __pyx_t_5) < (0)) __PYX_ERR(2, 19, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":20
 * from collections.abc import Iterable
 * from itertools import repeat
 * from dataclasses import dataclass             # <<<<<<<<<<<<<<
 * from typing import Union
 * 
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_dataclass};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_dataclasses, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 20, __pyx_L1_error)
  }
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_dataclass};
    __pyx_t_9 = 0; {
      __pyx_t_5 = __Pyx_ImportFrom(__pyx_t_4, __pyx_imported_names[__pyx_t_9]); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 20, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_9], __pyx_t_5) < (0)) __PYX_ERR(2, 20, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":21
 * from itertools import repeat
 * from dataclasses import dataclass
 * from typing import Union             # <<<<<<<<<<<<<<
 * 
 * import numpy as np
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Union};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_typing, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 21, __pyx_L1_error)
  }
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Union};
    __pyx_t_9 = 0; {
      __pyx_t_5 = __Pyx_ImportFrom(__pyx_t_4, __pyx_imported_names[__pyx_t_9]); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 21, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_9], __pyx_t_5) < (0)) __PYX_ERR(2, 21, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":23
 * from typing import Union
 * 
 * import numpy as np             # <<<<<<<<<<<<<<
 * 
 * include "expr.pxi"
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_numpy, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 23, __pyx_L1_error)
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_np, __pyx_t_4) < (0)) __PYX_ERR(2, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":45
 * # gets called (I guess) and so a copy is returned.
 * # Modifying the expression directly would be a bug, given that the expression might be re-used by the user. </pre>
 * import math             # <<<<<<<<<<<<<<
 * from typing import TYPE_CHECKING
 * 
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_math, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 45, __pyx_L1_error)
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_math, __pyx_t_4) < (0)) __PYX_ERR(3, 45, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":46
 * # Modifying the expression directly would be a bug, given that the expression might be re-used by the user. </pre>
 * import math
 * from typing import TYPE_CHECKING             # <<<<<<<<<<<<<<
 * 
 * from cpython.dict cimport PyDict_Next, PyDict_GetItem
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_TYPE_CHECKING};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_typing, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 46, __pyx_L1_error)
  }
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_TYPE_CHECKING};
    __pyx_t_9 = 0; {
      __pyx_t_5 = __Pyx_ImportFrom(__pyx_t_4, __pyx_imported_names[__pyx_t_9]); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 46, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_9], __pyx_t_5) < (0)) __PYX_ERR(3, 46, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":54
 * from pyscipopt.scip cimport Variable, Solution
 * 
 * import numpy as np             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_numpy, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 54, __pyx_L1_error)
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_np, __pyx_t_4) < (0)) __PYX_ERR(3, 54, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":57
 * 
 * 
 * if TYPE_CHECKING:             # <<<<<<<<<<<<<<
 *     double = float
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_TYPE_CHECKING); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(3, 57, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__pyx_t_8) {

    /* "src/pyscipopt/expr.pxi":58
 * 
 * if TYPE_CHECKING:
 *     double = float             # <<<<<<<<<<<<<<
 * 
 * 
*/
    if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_double, ((PyObject *)(&PyFloat_Type))) < (0)) __PYX_ERR(3, 58, __pyx_L1_error)

    /* "src/pyscipopt/expr.pxi":57
 * 
 * 
 * if TYPE_CHECKING:             # <<<<<<<<<<<<<<
 *     double = float
 * 
*/
  }

  /* "src/pyscipopt/expr.pxi":61
 * 
 * 
 * def _is_number(e):             # <<<<<<<<<<<<<<
 *     try:
 *         f = float(e)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_1_is_number, 0, __pyx_mstate_global->__pyx_n_u_is_number, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[22])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 61, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_is_number, __pyx_t_4) < (0)) __PYX_ERR(3, 61, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":71
 * 
 * 
 * def _expr_richcmp(self, other, op):             # <<<<<<<<<<<<<<
 *     if op == 1: # <=
 *         if isinstance(other, Expr) or isinstance(other, GenExpr):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3_expr_richcmp, 0, __pyx_mstate_global->__pyx_n_u_expr_richcmp, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[23])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 71, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_expr_richcmp, __pyx_t_4) < (0)) __PYX_ERR(3, 71, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":166
 *         return 'Term(%s)' % ', '.join([str(v) for v in self.vartuple])
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = 1.0
 *         cdef SCIP* scip_ptr = sol.scip
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Term_15_evaluate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Term__evaluate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[24])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term, __pyx_mstate_global->__pyx_n_u_evaluate, __pyx_t_4) < (0)) __PYX_ERR(3, 166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Term_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Term___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[25])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Term, (type(self), 0x9db3e8b, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Term__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Term_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Term___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[26])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":181
 * 
 * 
 * CONST = Term()             # <<<<<<<<<<<<<<
 * 
 * # helper function
*/
  __pyx_t_5 = NULL;
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Term, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 181, __pyx_L1_error)
    __Pyx_GOTREF((PyObject *)__pyx_t_4);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_CONST, ((PyObject *)__pyx_t_4)) < (0)) __PYX_ERR(3, 181, __pyx_L1_error)
  __Pyx_DECREF((PyObject *)__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":184
 * 
 * # helper function
 * def buildGenExprObj(expr):             # <<<<<<<<<<<<<<
 *     """helper function to generate an object of type GenExpr"""
 *     if _is_number(expr):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5buildGenExprObj, 0, __pyx_mstate_global->__pyx_n_u_buildGenExprObj, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[27])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_buildGenExprObj, __pyx_t_4) < (0)) __PYX_ERR(3, 184, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":369
 *         return _expr_richcmp(self, other, op)
 * 
 *     def normalize(self):             # <<<<<<<<<<<<<<
 *         '''remove terms with coefficient of 0'''
 *         self.terms =  {t:c for (t,c) in self.terms.items() if c != 0.0}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Expr_35normalize, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Expr_normalize, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[28])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 369, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_mstate_global->__pyx_n_u_normalize, __pyx_t_4) < (0)) __PYX_ERR(3, 369, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":376
 *         return 'Expr(%s)' % repr(self.terms)
 * 
 *     def degree(self):             # <<<<<<<<<<<<<<
 *         '''computes highest degree of terms'''
 *         if len(self.terms) == 0:
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Expr_39degree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Expr_degree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[29])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 376, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_mstate_global->__pyx_n_u_degree, __pyx_t_4) < (0)) __PYX_ERR(3, 376, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":383
 *             return max(len(v) for v in self.terms)
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = 0
 *         cdef Py_ssize_t pos = <Py_ssize_t>0
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Expr_41_evaluate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Expr__evaluate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[30])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_mstate_global->__pyx_n_u_evaluate, __pyx_t_4) < (0)) __PYX_ERR(3, 383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Expr_43__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Expr___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[31])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Expr, (type(self), 0x51d2361, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Expr__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Expr_45__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Expr___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[32])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Expr, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":411
 *         self.normalize()
 * 
 *     def normalize(self):             # <<<<<<<<<<<<<<
 *         '''move constant terms in expression to bounds'''
 *         if isinstance(self.expr, Expr):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8ExprCons_3normalize, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ExprCons_normalize, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[33])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons, __pyx_mstate_global->__pyx_n_u_normalize, __pyx_t_4) < (0)) __PYX_ERR(3, 411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8ExprCons_11__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ExprCons___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[34])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_ExprCons, (type(self), 0x8863d2c, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_ExprCons__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8ExprCons_13__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ExprCons___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[35])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ExprCons, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":467
 *         raise TypeError(msg)
 * 
 * def quicksum(termlist):             # <<<<<<<<<<<<<<
 *     '''add linear expressions and constants much faster than Python's sum
 *     by avoiding intermediate data structures and adding terms inplace
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7quicksum, 0, __pyx_mstate_global->__pyx_n_u_quicksum, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[36])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 467, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_quicksum, __pyx_t_4) < (0)) __PYX_ERR(3, 467, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":476
 *     return result
 * 
 * def quickprod(termlist):             # <<<<<<<<<<<<<<
 *     '''multiply linear expressions and constants by avoiding intermediate
 *     data structures and multiplying terms inplace
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9quickprod, 0, __pyx_mstate_global->__pyx_n_u_quickprod, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[37])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 476, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_quickprod, __pyx_t_4) < (0)) __PYX_ERR(3, 476, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":486
 * 
 * 
 * class Op:             # <<<<<<<<<<<<<<
 *     const = 'const'
 *     varidx = 'var'
*/
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_mstate_global->__pyx_empty_tuple, __pyx_mstate_global->__pyx_n_u_Op, __pyx_mstate_global->__pyx_n_u_Op, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, (PyObject *) NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);

  /* "src/pyscipopt/expr.pxi":487
 * 
 * class Op:
 *     const = 'const'             # <<<<<<<<<<<<<<
 *     varidx = 'var'
 *     exp, log, sqrt, sin, cos = 'exp', 'log', 'sqrt', 'sin', 'cos'
*/
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_const, __pyx_mstate_global->__pyx_n_u_const) < (0)) __PYX_ERR(3, 487, __pyx_L1_error)

  /* "src/pyscipopt/expr.pxi":488
 * class Op:
 *     const = 'const'
 *     varidx = 'var'             # <<<<<<<<<<<<<<
 *     exp, log, sqrt, sin, cos = 'exp', 'log', 'sqrt', 'sin', 'cos'
 *     plus, minus, mul, div, power = '+', '-', '*', '/', '**'
*/
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_varidx, __pyx_mstate_global->__pyx_n_u_var) < (0)) __PYX_ERR(3, 488, __pyx_L1_error)

  /* "src/pyscipopt/expr.pxi":489
 *     const = 'const'
 *     varidx = 'var'
 *     exp, log, sqrt, sin, cos = 'exp', 'log', 'sqrt', 'sin', 'cos'             # <<<<<<<<<<<<<<
 *     plus, minus, mul, div, power = '+', '-', '*', '/', '**'
 *     add = 'sum'
*/
  __pyx_t_5 = __pyx_mstate_global->__pyx_n_u_exp;
  __Pyx_INCREF(__pyx_t_5);
  __pyx_t_10 = __pyx_mstate_global->__pyx_n_u_log;
  __Pyx_INCREF(__pyx_t_10);
  __pyx_t_11 = __pyx_mstate_global->__pyx_n_u_sqrt;
  __Pyx_INCREF(__pyx_t_11);
  __pyx_t_12 = __pyx_mstate_global->__pyx_n_u_sin;
  __Pyx_INCREF(__pyx_t_12);
  __pyx_t_13 = __pyx_mstate_global->__pyx_n_u_cos;
  __Pyx_INCREF(__pyx_t_13);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_exp, __pyx_t_5) < (0)) __PYX_ERR(3, 489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_log, __pyx_t_10) < (0)) __PYX_ERR(3, 489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_sqrt, __pyx_t_11) < (0)) __PYX_ERR(3, 489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_sin, __pyx_t_12) < (0)) __PYX_ERR(3, 489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_cos, __pyx_t_13) < (0)) __PYX_ERR(3, 489, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/expr.pxi":490
 *     varidx = 'var'
 *     exp, log, sqrt, sin, cos = 'exp', 'log', 'sqrt', 'sin', 'cos'
 *     plus, minus, mul, div, power = '+', '-', '*', '/', '**'             # <<<<<<<<<<<<<<
 *     add = 'sum'
 *     prod = 'prod'
*/
  __pyx_t_13 = __pyx_mstate_global->__pyx_kp_u__22;
  __Pyx_INCREF(__pyx_t_13);
  __pyx_t_12 = __pyx_mstate_global->__pyx_kp_u__23;
  __Pyx_INCREF(__pyx_t_12);
  __pyx_t_11 = __pyx_mstate_global->__pyx_kp_u__24;
  __Pyx_INCREF(__pyx_t_11);
  __pyx_t_10 = __pyx_mstate_global->__pyx_kp_u__25;
  __Pyx_INCREF(__pyx_t_10);
  __pyx_t_5 = __pyx_mstate_global->__pyx_kp_u__26;
  __Pyx_INCREF(__pyx_t_5);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_plus, __pyx_t_13) < (0)) __PYX_ERR(3, 490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_minus, __pyx_t_12) < (0)) __PYX_ERR(3, 490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_mul_2, __pyx_t_11) < (0)) __PYX_ERR(3, 490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_div, __pyx_t_10) < (0)) __PYX_ERR(3, 490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_power, __pyx_t_5) < (0)) __PYX_ERR(3, 490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "src/pyscipopt/expr.pxi":491
 *     exp, log, sqrt, sin, cos = 'exp', 'log', 'sqrt', 'sin', 'cos'
 *     plus, minus, mul, div, power = '+', '-', '*', '/', '**'
 *     add = 'sum'             # <<<<<<<<<<<<<<
 *     prod = 'prod'
 *     fabs = 'abs'
*/
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_add_2, __pyx_mstate_global->__pyx_n_u_sum) < (0)) __PYX_ERR(3, 491, __pyx_L1_error)

  /* "src/pyscipopt/expr.pxi":492
 *     plus, minus, mul, div, power = '+', '-', '*', '/', '**'
 *     add = 'sum'
 *     prod = 'prod'             # <<<<<<<<<<<<<<
 *     fabs = 'abs'
 * 
*/
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_prod, __pyx_mstate_global->__pyx_n_u_prod) < (0)) __PYX_ERR(3, 492, __pyx_L1_error)

  /* "src/pyscipopt/expr.pxi":493
 *     add = 'sum'
 *     prod = 'prod'
 *     fabs = 'abs'             # <<<<<<<<<<<<<<
 * 
 * Operator = Op()
*/
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_fabs, __pyx_mstate_global->__pyx_n_u_abs) < (0)) __PYX_ERR(3, 493, __pyx_L1_error)

  /* "src/pyscipopt/expr.pxi":486
 * 
 * 
 * class Op:             # <<<<<<<<<<<<<<
 *     const = 'const'
 *     varidx = 'var'
*/
  __pyx_t_5 = __Pyx_Py3ClassCreate(((PyObject*)&PyType_Type), __pyx_mstate_global->__pyx_n_u_Op, __pyx_mstate_global->__pyx_empty_tuple, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 486, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_Op, __pyx_t_5) < (0)) __PYX_ERR(3, 486, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":495
 *     fabs = 'abs'
 * 
 * Operator = Op()             # <<<<<<<<<<<<<<
 * 
 * ##@details <pre> General expressions of variables with operator overloading.
*/
  __pyx_t_5 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_Op); if (unlikely(!__pyx_t_10)) __PYX_ERR(3, 495, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_6, (1-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 495, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_Operator, __pyx_t_4) < (0)) __PYX_ERR(3, 495, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":681
 *         return _expr_richcmp(self, other, op)
 * 
 *     def degree(self):             # <<<<<<<<<<<<<<
 *         '''Note: none of these expressions should be polynomial'''
 *         return float('inf')
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7GenExpr_29degree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_GenExpr_degree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[38])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr, __pyx_mstate_global->__pyx_n_u_degree, __pyx_t_4) < (0)) __PYX_ERR(3, 681, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":685
 *         return float('inf')
 * 
 *     def getOp(self):             # <<<<<<<<<<<<<<
 *         '''returns operator of GenExpr'''
 *         return self._op
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7GenExpr_31getOp, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_GenExpr_getOp, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[39])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr, __pyx_mstate_global->__pyx_n_u_getOp, __pyx_t_4) < (0)) __PYX_ERR(3, 685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7GenExpr_33__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_GenExpr___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[40])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_GenExpr, (type(self), 0xccaf182, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_GenExpr__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7GenExpr_35__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_GenExpr___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[41])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_GenExpr, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":718
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = self.constant
 *         cdef int i = 0, n = len(self.children)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7SumExpr_5_evaluate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_SumExpr__evaluate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[42])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 718, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_SumExpr, __pyx_mstate_global->__pyx_n_u_evaluate, __pyx_t_4) < (0)) __PYX_ERR(3, 718, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7SumExpr_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_SumExpr___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[43])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_SumExpr, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_SumExpr, (type(self), 0x3c52fb7, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_SumExpr__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7SumExpr_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_SumExpr___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[44])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_SumExpr, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":741
 *         return self._op + "(" + str(self.constant) + "," + ",".join(map(lambda child : child.__repr__(), self.children)) + ")"
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = self.constant
 *         cdef list children = self.children
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8ProdExpr_5_evaluate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ProdExpr__evaluate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[45])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ProdExpr, __pyx_mstate_global->__pyx_n_u_evaluate, __pyx_t_4) < (0)) __PYX_ERR(3, 741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8ProdExpr_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ProdExpr___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[46])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ProdExpr, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_ProdExpr, (type(self), 0xe54af0a, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_ProdExpr__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8ProdExpr_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ProdExpr___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[47])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_ProdExpr, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":764
 *         return self.children[0].__repr__()
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         return (<Expr>self.children[0])._evaluate(sol)
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7VarExpr_5_evaluate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VarExpr__evaluate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[48])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_VarExpr, __pyx_mstate_global->__pyx_n_u_evaluate, __pyx_t_4) < (0)) __PYX_ERR(3, 764, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7VarExpr_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VarExpr___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[49])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_VarExpr, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_VarExpr, (type(self), 0x496e932, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_VarExpr__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7VarExpr_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VarExpr___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[50])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_VarExpr, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":781
 *         return self._op + "(" + self.children[0].__repr__() + "," + str(self.expo) + ")"
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         return (<GenExpr>self.children[0])._evaluate(sol) ** self.expo
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7PowExpr_5_evaluate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PowExpr__evaluate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[51])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 781, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PowExpr, __pyx_mstate_global->__pyx_n_u_evaluate, __pyx_t_4) < (0)) __PYX_ERR(3, 781, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7PowExpr_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PowExpr___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[52])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PowExpr, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PowExpr, (type(self), 0x4cfb19d, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PowExpr__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7PowExpr_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PowExpr___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[53])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PowExpr, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":800
 *         return self._op + "(" + self.children[0].__repr__() + ")"
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         cdef double res = (<GenExpr>self.children[0])._evaluate(sol)
 *         return math.fabs(res) if self._op == "abs" else getattr(math, self._op)(res)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9UnaryExpr_7_evaluate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UnaryExpr__evaluate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[54])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_mstate_global->__pyx_n_u_evaluate, __pyx_t_4) < (0)) __PYX_ERR(3, 800, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9UnaryExpr_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UnaryExpr___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[55])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_UnaryExpr, (type(self), 0xccaf182, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_UnaryExpr__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9UnaryExpr_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_UnaryExpr___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[56])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_UnaryExpr, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":815
 *         return str(self.number)
 * 
 *     cpdef double _evaluate(self, Solution sol) except *:             # <<<<<<<<<<<<<<
 *         return self.number
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Constant_5_evaluate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constant__evaluate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[57])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constant, __pyx_mstate_global->__pyx_n_u_evaluate, __pyx_t_4) < (0)) __PYX_ERR(3, 815, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Constant_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constant___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[58])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constant, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Constant, (type(self), 0x7e75df4, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Constant__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Constant_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constant___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[59])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constant, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":819
 * 
 * 
 * def exp(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with exp-function"""
 *     if isinstance(expr, MatrixExpr):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_11exp, 0, __pyx_mstate_global->__pyx_n_u_exp, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[60])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 819, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_exp, __pyx_t_4) < (0)) __PYX_ERR(3, 819, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":829
 *         return UnaryExpr(Operator.exp, buildGenExprObj(expr))
 * 
 * def log(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with log-function"""
 *     if isinstance(expr, MatrixExpr):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_13log, 0, __pyx_mstate_global->__pyx_n_u_log, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[61])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 829, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_log, __pyx_t_4) < (0)) __PYX_ERR(3, 829, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":839
 *         return UnaryExpr(Operator.log, buildGenExprObj(expr))
 * 
 * def sqrt(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with sqrt-function"""
 *     if isinstance(expr, MatrixExpr):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_15sqrt, 0, __pyx_mstate_global->__pyx_n_u_sqrt, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[62])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_sqrt, __pyx_t_4) < (0)) __PYX_ERR(3, 839, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":849
 *         return UnaryExpr(Operator.sqrt, buildGenExprObj(expr))
 * 
 * def sin(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with sin-function"""
 *     if isinstance(expr, MatrixExpr):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_17sin, 0, __pyx_mstate_global->__pyx_n_u_sin, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[63])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 849, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_sin, __pyx_t_4) < (0)) __PYX_ERR(3, 849, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":859
 *         return UnaryExpr(Operator.sin, buildGenExprObj(expr))
 * 
 * def cos(expr):             # <<<<<<<<<<<<<<
 *     """returns expression with cos-function"""
 *     if isinstance(expr, MatrixExpr):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_19cos, 0, __pyx_mstate_global->__pyx_n_u_cos, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[64])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_cos, __pyx_t_4) < (0)) __PYX_ERR(3, 859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":869
 *         return UnaryExpr(Operator.cos, buildGenExprObj(expr))
 * 
 * def expr_to_nodes(expr):             # <<<<<<<<<<<<<<
 *     '''transforms tree to an array of nodes. each node is an operator and the position of the
 *     children of that operator (i.e. the other nodes) in the array'''
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_21expr_to_nodes, 0, __pyx_mstate_global->__pyx_n_u_expr_to_nodes, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[65])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_expr_to_nodes, __pyx_t_4) < (0)) __PYX_ERR(3, 869, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":877
 *     return nodes
 * 
 * def value_to_array(val, nodes):             # <<<<<<<<<<<<<<
 *     """adds a given value to an array"""
 *     nodes.append(tuple(['const', [val]]))
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_23value_to_array, 0, __pyx_mstate_global->__pyx_n_u_value_to_array, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[66])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_value_to_array, __pyx_t_4) < (0)) __PYX_ERR(3, 877, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/expr.pxi":887
 * # also, for sums, we are not considering coefficients, because basically all coefficients are 1
 * # haven't even consider substractions, but I guess we would interpret them as a - b = a + (-1) * b
 * def expr_to_array(expr, nodes):             # <<<<<<<<<<<<<<
 *     """adds expression to array"""
 *     op = expr._op
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_25expr_to_array, 0, __pyx_mstate_global->__pyx_n_u_expr_to_array, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[67])); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_expr_to_array, __pyx_t_4) < (0)) __PYX_ERR(3, 887, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":28
 *         return self.name
 * 
 *     def writeLP(self, filename):             # <<<<<<<<<<<<<<
 *         """Writes LP to a file.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_7writeLP, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_writeLP, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[68])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 28, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_writeLP, __pyx_t_4) < (0)) __PYX_ERR(4, 28, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":36
 *         PY_SCIP_CALL(SCIPlpiWriteLP(self.lpi, filename))
 * 
 *     def readLP(self, filename):             # <<<<<<<<<<<<<<
 *         """Reads LP from a file.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_9readLP, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_readLP, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[69])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_readLP, __pyx_t_4) < (0)) __PYX_ERR(4, 36, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":44
 *         PY_SCIP_CALL(SCIPlpiReadLP(self.lpi, filename))
 * 
 *     def infinity(self):             # <<<<<<<<<<<<<<
 *         """Returns infinity value of the LP.
 *         """
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_11infinity, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_infinity, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[70])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_infinity, __pyx_t_4) < (0)) __PYX_ERR(4, 44, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":49
 *         return SCIPlpiInfinity(self.lpi)
 * 
 *     def isInfinity(self, val):             # <<<<<<<<<<<<<<
 *         """Checks if a given value is equal to the infinity value of the LP.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_13isInfinity, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_isInfinity, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[71])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 49, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_isInfinity, __pyx_t_4) < (0)) __PYX_ERR(4, 49, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":57
 *         return SCIPlpiIsInfinity(self.lpi, val)
 * 
 *     def addCol(self, entries, obj = 0.0, lb = 0.0, ub = None):             # <<<<<<<<<<<<<<
 *         """Adds a single column to the LP.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_15addCol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_addCol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[72])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[26]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_addCol, __pyx_t_4) < (0)) __PYX_ERR(4, 57, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":85
 *         free(c_inds)
 * 
 *     def addCols(self, entrieslist, objs = None, lbs = None, ubs = None):             # <<<<<<<<<<<<<<
 *         """Adds multiple columns to the LP.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_17addCols, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_addCols, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[73])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[25]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_addCols, __pyx_t_4) < (0)) __PYX_ERR(4, 85, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":139
 *         free(c_objs)
 * 
 *     def delCols(self, firstcol, lastcol):             # <<<<<<<<<<<<<<
 *         """Deletes a range of columns from the LP.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_19delCols, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_delCols, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[74])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_delCols, __pyx_t_4) < (0)) __PYX_ERR(4, 139, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":148
 *         PY_SCIP_CALL(SCIPlpiDelCols(self.lpi, firstcol, lastcol))
 * 
 *     def addRow(self, entries, lhs=0.0, rhs=None):             # <<<<<<<<<<<<<<
 *         """Adds a single row to the LP.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_21addRow, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_addRow, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[75])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[27]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_addRow, __pyx_t_4) < (0)) __PYX_ERR(4, 148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":174
 *         free(c_inds)
 * 
 *     def addRows(self, entrieslist, lhss = None, rhss = None):             # <<<<<<<<<<<<<<
 *         """Adds multiple rows to the LP.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_23addRows, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_addRows, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[76])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[28]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_addRows, __pyx_t_4) < (0)) __PYX_ERR(4, 174, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":211
 *         free(c_rhss)
 * 
 *     def delRows(self, firstrow, lastrow):             # <<<<<<<<<<<<<<
 *         """Deletes a range of rows from the LP.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_25delRows, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_delRows, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[77])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_delRows, __pyx_t_4) < (0)) __PYX_ERR(4, 211, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":220
 *         PY_SCIP_CALL(SCIPlpiDelRows(self.lpi, firstrow, lastrow))
 * 
 *     def getBounds(self, firstcol = 0, lastcol = None):             # <<<<<<<<<<<<<<
 *         """Returns all lower and upper bounds for a range of columns.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_27getBounds, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_getBounds, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[78])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[29]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_getBounds, __pyx_t_4) < (0)) __PYX_ERR(4, 220, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":251
 *         return lbs, ubs
 * 
 *     def getSides(self, firstrow = 0, lastrow = None):             # <<<<<<<<<<<<<<
 *         """Returns all left- and right-hand sides for a range of rows.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_29getSides, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_getSides, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[79])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[29]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_getSides, __pyx_t_4) < (0)) __PYX_ERR(4, 251, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":282
 *         return lhss, rhss
 * 
 *     def chgObj(self, col, obj):             # <<<<<<<<<<<<<<
 *         """Changes objective coefficient of a single column.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_31chgObj, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_chgObj, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[80])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_chgObj, __pyx_t_4) < (0)) __PYX_ERR(4, 282, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":294
 *         PY_SCIP_CALL(SCIPlpiChgObj(self.lpi, 1, &c_col, &c_obj))
 * 
 *     def chgCoef(self, row, col, newval):             # <<<<<<<<<<<<<<
 *         """Changes a single coefficient in the LP.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_33chgCoef, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_chgCoef, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[81])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_chgCoef, __pyx_t_4) < (0)) __PYX_ERR(4, 294, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":304
 *         PY_SCIP_CALL(SCIPlpiChgCoef(self.lpi, row, col, newval))
 * 
 *     def chgBound(self, col, lb, ub):             # <<<<<<<<<<<<<<
 *         """Changes the lower and upper bound of a single column.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_35chgBound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_chgBound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[82])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_chgBound, __pyx_t_4) < (0)) __PYX_ERR(4, 304, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":318
 *         PY_SCIP_CALL(SCIPlpiChgBounds(self.lpi, 1, &c_col, &c_lb, &c_ub))
 * 
 *     def chgSide(self, row, lhs, rhs):             # <<<<<<<<<<<<<<
 *         """Changes the left- and right-hand side of a single row.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_37chgSide, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_chgSide, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[83])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_chgSide, __pyx_t_4) < (0)) __PYX_ERR(4, 318, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":332
 *         PY_SCIP_CALL(SCIPlpiChgSides(self.lpi, 1, &c_row, &c_lhs, &c_rhs))
 * 
 *     def clear(self):             # <<<<<<<<<<<<<<
 *         """Clears the whole LP."""
 *         PY_SCIP_CALL(SCIPlpiClear(self.lpi))
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_39clear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_clear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[84])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_clear, __pyx_t_4) < (0)) __PYX_ERR(4, 332, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":336
 *         PY_SCIP_CALL(SCIPlpiClear(self.lpi))
 * 
 *     def nrows(self):             # <<<<<<<<<<<<<<
 *         """Returns the number of rows."""
 *         cdef int nrows
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_41nrows, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_nrows, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[85])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 336, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_nrows, __pyx_t_4) < (0)) __PYX_ERR(4, 336, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":344
 *         return nrows
 * 
 *     def ncols(self):             # <<<<<<<<<<<<<<
 *         """Returns the number of columns."""
 *         cdef int ncols
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_43ncols, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_ncols, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[86])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 344, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_ncols, __pyx_t_4) < (0)) __PYX_ERR(4, 344, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":352
 *         return ncols
 * 
 *     def solve(self, dual=True):             # <<<<<<<<<<<<<<
 *         """Solves the current LP.
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_45solve, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_solve, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[87])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_mstate_global->__pyx_tuple[30]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_solve, __pyx_t_4) < (0)) __PYX_ERR(4, 352, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":368
 *         return objval
 * 
 *     def isOptimal(self):             # <<<<<<<<<<<<<<
 *         """
 *         returns true iff LP was solved to optimality.
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_47isOptimal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_isOptimal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[88])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_isOptimal, __pyx_t_4) < (0)) __PYX_ERR(4, 368, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":379
 *         return SCIPlpiIsOptimal(self.lpi)
 * 
 *     def getObjVal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the objective value of the last LP solve.
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_49getObjVal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_getObjVal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[89])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 379, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_getObjVal, __pyx_t_4) < (0)) __PYX_ERR(4, 379, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":390
 *         return objval
 * 
 *     def getPrimal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the primal solution of the last LP solve.
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_51getPrimal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_getPrimal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[90])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 390, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_getPrimal, __pyx_t_4) < (0)) __PYX_ERR(4, 390, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":407
 *         return primalsol
 * 
 *     def isPrimalFeasible(self):             # <<<<<<<<<<<<<<
 *         """Returns True iff LP is proven to be primal feasible."""
 *         return SCIPlpiIsPrimalFeasible(self.lpi)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_53isPrimalFeasible, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_isPrimalFeasible, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[91])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_isPrimalFeasible, __pyx_t_4) < (0)) __PYX_ERR(4, 407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":411
 *         return SCIPlpiIsPrimalFeasible(self.lpi)
 * 
 *     def getDual(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the dual solution of the last LP solve.
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_55getDual, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_getDual, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[92])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_getDual, __pyx_t_4) < (0)) __PYX_ERR(4, 411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":428
 *         return dualsol
 * 
 *     def isDualFeasible(self):             # <<<<<<<<<<<<<<
 *         """Returns True iff LP is proven to be dual feasible."""
 *         return SCIPlpiIsDualFeasible(self.lpi)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_57isDualFeasible, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_isDualFeasible, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[93])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 428, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_isDualFeasible, __pyx_t_4) < (0)) __PYX_ERR(4, 428, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":432
 *         return SCIPlpiIsDualFeasible(self.lpi)
 * 
 *     def getPrimalRay(self):             # <<<<<<<<<<<<<<
 *         """Returns a primal ray if possible, None otherwise."""
 *         cdef int ncols
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_59getPrimalRay, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_getPrimalRay, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[94])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 432, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_getPrimalRay, __pyx_t_4) < (0)) __PYX_ERR(4, 432, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":452
 *         return ray
 * 
 *     def getDualRay(self):             # <<<<<<<<<<<<<<
 *         """Returns a dual ray if possible, None otherwise."""
 *         cdef int nrows
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_61getDualRay, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_getDualRay, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[95])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 452, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_getDualRay, __pyx_t_4) < (0)) __PYX_ERR(4, 452, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":472
 *         return ray
 * 
 *     def getNIterations(self):             # <<<<<<<<<<<<<<
 *         """Returns the number of LP iterations of the last LP solve."""
 *         cdef int niters
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_63getNIterations, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_getNIterations, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[96])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 472, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_getNIterations, __pyx_t_4) < (0)) __PYX_ERR(4, 472, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":480
 *         return niters
 * 
 *     def getActivity(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the row activity vector of the last LP solve.
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_65getActivity, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_getActivity, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[97])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 480, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_getActivity, __pyx_t_4) < (0)) __PYX_ERR(4, 480, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":499
 *         return activity
 * 
 *     def getRedcost(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the reduced cost vector of the last LP solve.
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_67getRedcost, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_getRedcost, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[98])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_getRedcost, __pyx_t_4) < (0)) __PYX_ERR(4, 499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":518
 *         return redcost
 * 
 *     def getBasisInds(self):             # <<<<<<<<<<<<<<
 *         """Returns the indices of the basic columns and rows; index i >= 0 corresponds to column i, index i < 0 to row -i-1"""
 *         cdef int nrows = self.nrows()
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_69getBasisInds, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_getBasisInds, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[99])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 518, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_getBasisInds, __pyx_t_4) < (0)) __PYX_ERR(4, 518, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":536
 *     # Parameter Methods
 * 
 *     def setIntParam(self, param, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set an int-valued parameter.
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_71setIntParam, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_setIntParam, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[100])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 536, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_setIntParam, __pyx_t_4) < (0)) __PYX_ERR(4, 536, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":551
 *         PY_SCIP_CALL(SCIPlpiSetIntpar(self.lpi, param, value))
 * 
 *     def setRealParam(self, param, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a real-valued parameter.
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_73setRealParam, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_setRealParam, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[101])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_setRealParam, __pyx_t_4) < (0)) __PYX_ERR(4, 551, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":566
 *         PY_SCIP_CALL(SCIPlpiSetRealpar(self.lpi, param, value))
 * 
 *     def getIntParam(self, param):             # <<<<<<<<<<<<<<
 *         """
 *         Get the value of a parameter of type int.
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_75getIntParam, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_getIntParam, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[102])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_getIntParam, __pyx_t_4) < (0)) __PYX_ERR(4, 566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/lp.pxi":587
 *         return value
 * 
 *     def getRealParam(self, param):             # <<<<<<<<<<<<<<
 *         """
 *         Get the value of a parameter of type float.
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_77getRealParam, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP_getRealParam, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[103])); if (unlikely(!__pyx_t_4)) __PYX_ERR(4, 587, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_LP, __pyx_mstate_global->__pyx_n_u_getRealParam, __pyx_t_4) < (0)) __PYX_ERR(4, 587, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.lpi cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_79__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[104])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.lpi cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.lpi cannot be converted to a Python object for pickling"
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_2LP_81__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_LP___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[105])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":8
 *     cdef SCIP_BENDERS* _benders
 * 
 *     def bendersfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of Benders decomposition '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_1bendersfree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_bendersfree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[106])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_bendersfree, __pyx_t_4) < (0)) __PYX_ERR(8, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":12
 *         pass
 * 
 *     def bendersinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes Benders deconposition'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_3bendersinit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_bendersinit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[107])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_bendersinit, __pyx_t_4) < (0)) __PYX_ERR(8, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":16
 *         pass
 * 
 *     def bendersexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of Benders decomposition'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_5bendersexit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_bendersexit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[108])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_bendersexit, __pyx_t_4) < (0)) __PYX_ERR(8, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":20
 *         pass
 * 
 *     def bendersinitpre(self):             # <<<<<<<<<<<<<<
 *         '''informs the Benders decomposition that the presolving process is being started '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_7bendersinitpre, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_bendersinitpre, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[109])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_bendersinitpre, __pyx_t_4) < (0)) __PYX_ERR(8, 20, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":24
 *         pass
 * 
 *     def bendersexitpre(self):             # <<<<<<<<<<<<<<
 *         '''informs the Benders decomposition that the presolving process has been completed'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_9bendersexitpre, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_bendersexitpre, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[110])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 24, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_bendersexitpre, __pyx_t_4) < (0)) __PYX_ERR(8, 24, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":28
 *         pass
 * 
 *     def bendersinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs Benders decomposition that the branch and bound process is being started '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_11bendersinitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_bendersinitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[111])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 28, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_bendersinitsol, __pyx_t_4) < (0)) __PYX_ERR(8, 28, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":32
 *         pass
 * 
 *     def bendersexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs Benders decomposition that the branch and bound process data is being freed'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_13bendersexitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_bendersexitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[112])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_bendersexitsol, __pyx_t_4) < (0)) __PYX_ERR(8, 32, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":36
 *         pass
 * 
 *     def benderscreatesub(self, probnumber):             # <<<<<<<<<<<<<<
 *         '''creates the subproblems and registers it with the Benders decomposition struct '''
 *         raise NotImplementedError("benderscreatesub() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_15benderscreatesub, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_benderscreatesub, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[113])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_benderscreatesub, __pyx_t_4) < (0)) __PYX_ERR(8, 36, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":40
 *         raise NotImplementedError("benderscreatesub() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def benderspresubsolve(self, solution, enfotype, checkint):             # <<<<<<<<<<<<<<
 *         '''sets the pre subproblem solve callback of Benders decomposition '''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_17benderspresubsolve, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_benderspresubsolve, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[114])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_benderspresubsolve, __pyx_t_4) < (0)) __PYX_ERR(8, 40, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":44
 *         return {}
 * 
 *     def benderssolvesubconvex(self, solution, probnumber, onlyconvex):             # <<<<<<<<<<<<<<
 *         '''sets convex solve callback of Benders decomposition'''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_19benderssolvesubconvex, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_benderssolvesubconvex, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[115])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_benderssolvesubconvex, __pyx_t_4) < (0)) __PYX_ERR(8, 44, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":48
 *         return {}
 * 
 *     def benderssolvesub(self, solution, probnumber):             # <<<<<<<<<<<<<<
 *         '''sets solve callback of Benders decomposition '''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_21benderssolvesub, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_benderssolvesub, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[116])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_benderssolvesub, __pyx_t_4) < (0)) __PYX_ERR(8, 48, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":52
 *         return {}
 * 
 *     def benderspostsolve(self, solution, enfotype, mergecandidates, npriomergecands, checkint, infeasible):             # <<<<<<<<<<<<<<
 *         '''sets post-solve callback of Benders decomposition '''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_23benderspostsolve, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_benderspostsolve, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[117])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_benderspostsolve, __pyx_t_4) < (0)) __PYX_ERR(8, 52, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":56
 *         return {}
 * 
 *     def bendersfreesub(self, probnumber):             # <<<<<<<<<<<<<<
 *         '''frees the subproblems'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_25bendersfreesub, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_bendersfreesub, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[118])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_bendersfreesub, __pyx_t_4) < (0)) __PYX_ERR(8, 56, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benders.pxi":60
 *         pass
 * 
 *     def bendersgetvar(self, variable, probnumber):             # <<<<<<<<<<<<<<
 *         '''Returns the corresponding master or subproblem variable for the given variable. This provides a call back for the variable mapping between the master and subproblems. '''
 *         raise NotImplementedError("bendersgetvar() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_27bendersgetvar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders_bendersgetvar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[119])); if (unlikely(!__pyx_t_4)) __PYX_ERR(8, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benders, __pyx_mstate_global->__pyx_n_u_bendersgetvar, __pyx_t_4) < (0)) __PYX_ERR(8, 60, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._benders cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_29__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[120])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self._benders cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._benders cannot be converted to a Python object for pickling"
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Benders_31__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benders___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[121])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benderscut.pxi":8
 *     cdef public str name
 * 
 *     def benderscutfree(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Benderscut_1benderscutfree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benderscut_benderscutfree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[122])); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benderscut, __pyx_mstate_global->__pyx_n_u_benderscutfree, __pyx_t_4) < (0)) __PYX_ERR(9, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benderscut.pxi":11
 *         pass
 * 
 *     def benderscutinit(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Benderscut_3benderscutinit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benderscut_benderscutinit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[123])); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benderscut, __pyx_mstate_global->__pyx_n_u_benderscutinit, __pyx_t_4) < (0)) __PYX_ERR(9, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benderscut.pxi":14
 *         pass
 * 
 *     def benderscutexit(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Benderscut_5benderscutexit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benderscut_benderscutexit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[124])); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 14, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benderscut, __pyx_mstate_global->__pyx_n_u_benderscutexit, __pyx_t_4) < (0)) __PYX_ERR(9, 14, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benderscut.pxi":17
 *         pass
 * 
 *     def benderscutinitsol(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Benderscut_7benderscutinitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benderscut_benderscutinitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[125])); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benderscut, __pyx_mstate_global->__pyx_n_u_benderscutinitsol, __pyx_t_4) < (0)) __PYX_ERR(9, 17, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benderscut.pxi":20
 *         pass
 * 
 *     def benderscutexitsol(self):             # <<<<<<<<<<<<<<
 *         pass
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Benderscut_9benderscutexitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benderscut_benderscutexitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[126])); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benderscut, __pyx_mstate_global->__pyx_n_u_benderscutexitsol, __pyx_t_4) < (0)) __PYX_ERR(9, 20, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/benderscut.pxi":23
 *         pass
 * 
 *     def benderscutexec(self, solution, probnumber, enfotype):             # <<<<<<<<<<<<<<
 *         raise NotImplementedError("benderscutexec() is a fundamental callback and should be implemented in the derived class")
 * 
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Benderscut_11benderscutexec, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benderscut_benderscutexec, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[127])); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benderscut, __pyx_mstate_global->__pyx_n_u_benderscutexec, __pyx_t_4) < (0)) __PYX_ERR(9, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Benderscut_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benderscut___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[128])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benderscut, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Benderscut, (type(self), 0x5af043b, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Benderscut__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Benderscut_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Benderscut___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[129])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Benderscut, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/branchrule.pxi":6
 *     cdef public Model model
 * 
 *     def branchfree(self):             # <<<<<<<<<<<<<<
 *         '''frees memory of branching rule'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Branchrule_1branchfree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Branchrule_branchfree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[130])); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Branchrule, __pyx_mstate_global->__pyx_n_u_branchfree, __pyx_t_4) < (0)) __PYX_ERR(10, 6, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/branchrule.pxi":10
 *         pass
 * 
 *     def branchinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes branching rule'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Branchrule_3branchinit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Branchrule_branchinit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[131])); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Branchrule, __pyx_mstate_global->__pyx_n_u_branchinit, __pyx_t_4) < (0)) __PYX_ERR(10, 10, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/branchrule.pxi":14
 *         pass
 * 
 *     def branchexit(self):             # <<<<<<<<<<<<<<
 *         '''deinitializes branching rule'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Branchrule_5branchexit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Branchrule_branchexit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[132])); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 14, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Branchrule, __pyx_mstate_global->__pyx_n_u_branchexit, __pyx_t_4) < (0)) __PYX_ERR(10, 14, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/branchrule.pxi":18
 *         pass
 * 
 *     def branchinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs branching rule that the branch and bound process is being started '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Branchrule_7branchinitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Branchrule_branchinitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[133])); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Branchrule, __pyx_mstate_global->__pyx_n_u_branchinitsol, __pyx_t_4) < (0)) __PYX_ERR(10, 18, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/branchrule.pxi":22
 *         pass
 * 
 *     def branchexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs branching rule that the branch and bound process data is being freed'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Branchrule_9branchexitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Branchrule_branchexitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[134])); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Branchrule, __pyx_mstate_global->__pyx_n_u_branchexitsol, __pyx_t_4) < (0)) __PYX_ERR(10, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/branchrule.pxi":26
 *         pass
 * 
 *     def branchexeclp(self, allowaddcons):             # <<<<<<<<<<<<<<
 *         '''executes branching rule for fractional LP solution'''
 *         raise NotImplementedError("branchexeclp() is a fundamental callback and should be implemented in the derived "
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Branchrule_11branchexeclp, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Branchrule_branchexeclp, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[135])); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Branchrule, __pyx_mstate_global->__pyx_n_u_branchexeclp, __pyx_t_4) < (0)) __PYX_ERR(10, 26, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/branchrule.pxi":31
 *                                   "class")
 * 
 *     def branchexecext(self, allowaddcons):             # <<<<<<<<<<<<<<
 *         '''executes branching rule for external branching candidates '''
 *         raise NotImplementedError("branchexecext() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Branchrule_13branchexecext, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Branchrule_branchexecext, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[136])); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Branchrule, __pyx_mstate_global->__pyx_n_u_branchexecext, __pyx_t_4) < (0)) __PYX_ERR(10, 31, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/branchrule.pxi":35
 *         raise NotImplementedError("branchexecext() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def branchexecps(self, allowaddcons):             # <<<<<<<<<<<<<<
 *         '''executes branching rule for not completely fixed pseudo solution '''
 *         # this method needs to be implemented by the user
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Branchrule_15branchexecps, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Branchrule_branchexecps, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[137])); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Branchrule, __pyx_mstate_global->__pyx_n_u_branchexecps, __pyx_t_4) < (0)) __PYX_ERR(10, 35, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Branchrule_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Branchrule___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[138])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Branchrule, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Branchrule, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Branchrule__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Branchrule_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Branchrule___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[139])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Branchrule, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":8
 *     cdef public str name
 * 
 *     def consfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of constraint handler '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_1consfree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consfree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[140])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consfree, __pyx_t_4) < (0)) __PYX_ERR(11, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":12
 *         pass
 * 
 *     def consinit(self, constraints):             # <<<<<<<<<<<<<<
 *         '''calls initialization method of constraint handler '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_3consinit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consinit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[141])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consinit, __pyx_t_4) < (0)) __PYX_ERR(11, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":16
 *         pass
 * 
 *     def consexit(self, constraints):             # <<<<<<<<<<<<<<
 *         '''calls exit method of constraint handler '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_5consexit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consexit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[142])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consexit, __pyx_t_4) < (0)) __PYX_ERR(11, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":20
 *         pass
 * 
 *     def consinitpre(self, constraints):             # <<<<<<<<<<<<<<
 *         '''informs constraint handler that the presolving process is being started '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_7consinitpre, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consinitpre, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[143])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 20, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consinitpre, __pyx_t_4) < (0)) __PYX_ERR(11, 20, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":24
 *         pass
 * 
 *     def consexitpre(self, constraints):             # <<<<<<<<<<<<<<
 *         '''informs constraint handler that the presolving is finished '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_9consexitpre, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consexitpre, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[144])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 24, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consexitpre, __pyx_t_4) < (0)) __PYX_ERR(11, 24, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":28
 *         pass
 * 
 *     def consinitsol(self, constraints):             # <<<<<<<<<<<<<<
 *         '''informs constraint handler that the branch and bound process is being started '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_11consinitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consinitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[145])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 28, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consinitsol, __pyx_t_4) < (0)) __PYX_ERR(11, 28, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":32
 *         pass
 * 
 *     def consexitsol(self, constraints, restart):             # <<<<<<<<<<<<<<
 *         '''informs constraint handler that the branch and bound process data is being freed '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_13consexitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consexitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[146])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 32, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consexitsol, __pyx_t_4) < (0)) __PYX_ERR(11, 32, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":36
 *         pass
 * 
 *     def consdelete(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets method of constraint handler to free specific constraint data '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_15consdelete, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consdelete, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[147])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 36, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consdelete, __pyx_t_4) < (0)) __PYX_ERR(11, 36, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":40
 *         pass
 * 
 *     def constrans(self, sourceconstraint):             # <<<<<<<<<<<<<<
 *         '''sets method of constraint handler to transform constraint data into data belonging to the transformed problem '''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_17constrans, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_constrans, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[148])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 40, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_constrans, __pyx_t_4) < (0)) __PYX_ERR(11, 40, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":44
 *         return {}
 * 
 *     def consinitlp(self, constraints):             # <<<<<<<<<<<<<<
 *         '''calls LP initialization method of constraint handler to separate all initial active constraints '''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_19consinitlp, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consinitlp, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[149])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 44, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consinitlp, __pyx_t_4) < (0)) __PYX_ERR(11, 44, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":48
 *         return {}
 * 
 *     def conssepalp(self, constraints, nusefulconss):             # <<<<<<<<<<<<<<
 *         '''calls separator method of constraint handler to separate LP solution '''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_21conssepalp, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_conssepalp, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[150])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 48, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_conssepalp, __pyx_t_4) < (0)) __PYX_ERR(11, 48, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":52
 *         return {}
 * 
 *     def conssepasol(self, constraints, nusefulconss, solution):             # <<<<<<<<<<<<<<
 *         '''calls separator method of constraint handler to separate given primal solution '''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_23conssepasol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_conssepasol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[151])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_conssepasol, __pyx_t_4) < (0)) __PYX_ERR(11, 52, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":56
 *         return {}
 * 
 *     def consenfolp(self, constraints, nusefulconss, solinfeasible):             # <<<<<<<<<<<<<<
 *         '''calls enforcing method of constraint handler for LP solution for all constraints added'''
 *         raise NotImplementedError("consenfolp() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_25consenfolp, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consenfolp, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[152])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 56, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consenfolp, __pyx_t_4) < (0)) __PYX_ERR(11, 56, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":60
 *         raise NotImplementedError("consenfolp() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def consenforelax(self, solution, constraints, nusefulconss, solinfeasible):             # <<<<<<<<<<<<<<
 *         '''calls enforcing method of constraint handler for a relaxation solution for all constraints added'''
 *         raise NotImplementedError("consenforelax() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_27consenforelax, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consenforelax, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[153])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 60, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consenforelax, __pyx_t_4) < (0)) __PYX_ERR(11, 60, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":64
 *         raise NotImplementedError("consenforelax() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def consenfops(self, constraints, nusefulconss, solinfeasible, objinfeasible):             # <<<<<<<<<<<<<<
 *         '''calls enforcing method of constraint handler for pseudo solution for all constraints added'''
 *         raise NotImplementedError("consenfops() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_29consenfops, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consenfops, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[154])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 64, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consenfops, __pyx_t_4) < (0)) __PYX_ERR(11, 64, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":68
 *         raise NotImplementedError("consenfops() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def conscheck(self, constraints, solution, checkintegrality, checklprows, printreason, completely):             # <<<<<<<<<<<<<<
 *         '''calls feasibility check method of constraint handler '''
 *         raise NotImplementedError("conscheck() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_31conscheck, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_conscheck, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[155])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 68, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_conscheck, __pyx_t_4) < (0)) __PYX_ERR(11, 68, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":72
 *         raise NotImplementedError("conscheck() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def consprop(self, constraints, nusefulconss, nmarkedconss, proptiming):             # <<<<<<<<<<<<<<
 *         '''calls propagation method of constraint handler '''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_33consprop, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consprop, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[156])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 72, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consprop, __pyx_t_4) < (0)) __PYX_ERR(11, 72, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":76
 *         return {}
 * 
 *     def conspresol(self, constraints, nrounds, presoltiming,             # <<<<<<<<<<<<<<
 *                    nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
 *                    nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides, result_dict):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_35conspresol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_conspresol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[157])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_conspresol, __pyx_t_4) < (0)) __PYX_ERR(11, 76, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":82
 *         return result_dict
 * 
 *     def consresprop(self):             # <<<<<<<<<<<<<<
 *         '''sets propagation conflict resolving method of constraint handler '''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_37consresprop, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consresprop, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[158])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consresprop, __pyx_t_4) < (0)) __PYX_ERR(11, 82, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":86
 *         return {}
 * 
 *     def conslock(self, constraint, locktype, nlockspos, nlocksneg):             # <<<<<<<<<<<<<<
 *         '''variable rounding lock method of constraint handler'''
 *         raise NotImplementedError("conslock() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_39conslock, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_conslock, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[159])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_conslock, __pyx_t_4) < (0)) __PYX_ERR(11, 86, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":90
 *         raise NotImplementedError("conslock() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def consactive(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets activation notification method of constraint handler '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_41consactive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consactive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[160])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consactive, __pyx_t_4) < (0)) __PYX_ERR(11, 90, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":94
 *         pass
 * 
 *     def consdeactive(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets deactivation notification method of constraint handler '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_43consdeactive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consdeactive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[161])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 94, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consdeactive, __pyx_t_4) < (0)) __PYX_ERR(11, 94, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":98
 *         pass
 * 
 *     def consenable(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets enabling notification method of constraint handler '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_45consenable, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consenable, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[162])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 98, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consenable, __pyx_t_4) < (0)) __PYX_ERR(11, 98, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":102
 *         pass
 * 
 *     def consdisable(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets disabling notification method of constraint handler '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_47consdisable, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consdisable, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[163])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consdisable, __pyx_t_4) < (0)) __PYX_ERR(11, 102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":106
 *         pass
 * 
 *     def consdelvars(self, constraints):             # <<<<<<<<<<<<<<
 *         '''calls variable deletion method of constraint handler'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_49consdelvars, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consdelvars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[164])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consdelvars, __pyx_t_4) < (0)) __PYX_ERR(11, 106, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":110
 *         pass
 * 
 *     def consprint(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets constraint display method of constraint handler '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_51consprint, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consprint, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[165])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consprint, __pyx_t_4) < (0)) __PYX_ERR(11, 110, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":114
 *         pass
 * 
 *     def conscopy(self):             # <<<<<<<<<<<<<<
 *         '''sets copy method of both the constraint handler and each associated constraint'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_53conscopy, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_conscopy, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[166])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_conscopy, __pyx_t_4) < (0)) __PYX_ERR(11, 114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":118
 *         pass
 * 
 *     def consparse(self):             # <<<<<<<<<<<<<<
 *         '''sets constraint parsing method of constraint handler '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_55consparse, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consparse, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[167])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consparse, __pyx_t_4) < (0)) __PYX_ERR(11, 118, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":122
 *         pass
 * 
 *     def consgetvars(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets constraint variable getter method of constraint handler'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_57consgetvars, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consgetvars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[168])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consgetvars, __pyx_t_4) < (0)) __PYX_ERR(11, 122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":126
 *         pass
 * 
 *     def consgetnvars(self, constraint):             # <<<<<<<<<<<<<<
 *         '''sets constraint variable number getter method of constraint handler '''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_59consgetnvars, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consgetnvars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[169])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consgetnvars, __pyx_t_4) < (0)) __PYX_ERR(11, 126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":130
 *         return {}
 * 
 *     def consgetdivebdchgs(self):             # <<<<<<<<<<<<<<
 *         '''calls diving solution enforcement callback of constraint handler, if it exists '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_61consgetdivebdchgs, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consgetdivebdchgs, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[170])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consgetdivebdchgs, __pyx_t_4) < (0)) __PYX_ERR(11, 130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":134
 *         pass
 * 
 *     def consgetpermsymgraph(self):             # <<<<<<<<<<<<<<
 *         '''permutation symmetry detection graph getter callback, if it exists '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_63consgetpermsymgraph, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consgetpermsymgraph, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[171])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consgetpermsymgraph, __pyx_t_4) < (0)) __PYX_ERR(11, 134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/conshdlr.pxi":138
 *         pass
 * 
 *     def consgetsignedpermsymgraph(self):             # <<<<<<<<<<<<<<
 *         '''signed permutation symmetry detection graph getter callback, if it exists '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_65consgetsignedpermsymgraph, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr_consgetsignedpermsymgra, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[172])); if (unlikely(!__pyx_t_4)) __PYX_ERR(11, 138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_consgetsignedpermsymgraph, __pyx_t_4) < (0)) __PYX_ERR(11, 138, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_67__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[173])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Conshdlr, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Conshdlr__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Conshdlr_69__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Conshdlr___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[174])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Conshdlr, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/cutsel.pxi":6
 *   cdef public Model model
 * 
 *   def cutselfree(self):             # <<<<<<<<<<<<<<
 *     '''frees memory of cut selector'''
 *     pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Cutsel_1cutselfree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Cutsel_cutselfree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[175])); if (unlikely(!__pyx_t_4)) __PYX_ERR(12, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Cutsel, __pyx_mstate_global->__pyx_n_u_cutselfree, __pyx_t_4) < (0)) __PYX_ERR(12, 6, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/cutsel.pxi":10
 *     pass
 * 
 *   def cutselinit(self):             # <<<<<<<<<<<<<<
 *     ''' executed after the problem is transformed. use this call to initialize cut selector data.'''
 *     pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Cutsel_3cutselinit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Cutsel_cutselinit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[176])); if (unlikely(!__pyx_t_4)) __PYX_ERR(12, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Cutsel, __pyx_mstate_global->__pyx_n_u_cutselinit, __pyx_t_4) < (0)) __PYX_ERR(12, 10, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/cutsel.pxi":14
 *     pass
 * 
 *   def cutselexit(self):             # <<<<<<<<<<<<<<
 *     '''executed before the transformed problem is freed'''
 *     pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Cutsel_5cutselexit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Cutsel_cutselexit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[177])); if (unlikely(!__pyx_t_4)) __PYX_ERR(12, 14, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Cutsel, __pyx_mstate_global->__pyx_n_u_cutselexit, __pyx_t_4) < (0)) __PYX_ERR(12, 14, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/cutsel.pxi":18
 *     pass
 * 
 *   def cutselinitsol(self):             # <<<<<<<<<<<<<<
 *     '''executed when the presolving is finished and the branch-and-bound process is about to begin'''
 *     pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Cutsel_7cutselinitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Cutsel_cutselinitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[178])); if (unlikely(!__pyx_t_4)) __PYX_ERR(12, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Cutsel, __pyx_mstate_global->__pyx_n_u_cutselinitsol, __pyx_t_4) < (0)) __PYX_ERR(12, 18, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/cutsel.pxi":22
 *     pass
 * 
 *   def cutselexitsol(self):             # <<<<<<<<<<<<<<
 *     '''executed before the branch-and-bound process is freed'''
 *     pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Cutsel_9cutselexitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Cutsel_cutselexitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[179])); if (unlikely(!__pyx_t_4)) __PYX_ERR(12, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Cutsel, __pyx_mstate_global->__pyx_n_u_cutselexitsol, __pyx_t_4) < (0)) __PYX_ERR(12, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/cutsel.pxi":26
 *     pass
 * 
 *   def cutselselect(self, cuts, forcedcuts, root, maxnselectedcuts):             # <<<<<<<<<<<<<<
 *     '''first method called in each iteration in the main solving loop. '''
 *     # this method needs to be implemented by the user
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Cutsel_11cutselselect, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Cutsel_cutselselect, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[180])); if (unlikely(!__pyx_t_4)) __PYX_ERR(12, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Cutsel, __pyx_mstate_global->__pyx_n_u_cutselselect, __pyx_t_4) < (0)) __PYX_ERR(12, 26, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Cutsel_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Cutsel___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[181])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Cutsel, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Cutsel, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Cutsel__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Cutsel_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Cutsel___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[182])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Cutsel, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/event.pxi":7
 *     cdef public str name
 * 
 *     def eventcopy(self):             # <<<<<<<<<<<<<<
 *         '''sets copy callback for all events of this event handler '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9Eventhdlr_1eventcopy, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Eventhdlr_eventcopy, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[183])); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, __pyx_mstate_global->__pyx_n_u_eventcopy, __pyx_t_4) < (0)) __PYX_ERR(13, 7, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/event.pxi":11
 *         pass
 * 
 *     def eventfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of event handler '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9Eventhdlr_3eventfree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Eventhdlr_eventfree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[184])); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, __pyx_mstate_global->__pyx_n_u_eventfree, __pyx_t_4) < (0)) __PYX_ERR(13, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/event.pxi":15
 *         pass
 * 
 *     def eventinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes event handler'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9Eventhdlr_5eventinit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Eventhdlr_eventinit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[185])); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, __pyx_mstate_global->__pyx_n_u_eventinit, __pyx_t_4) < (0)) __PYX_ERR(13, 15, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/event.pxi":19
 *         pass
 * 
 *     def eventexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of event handler'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9Eventhdlr_7eventexit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Eventhdlr_eventexit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[186])); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, __pyx_mstate_global->__pyx_n_u_eventexit, __pyx_t_4) < (0)) __PYX_ERR(13, 19, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/event.pxi":23
 *         pass
 * 
 *     def eventinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs event handler that the branch and bound process is being started '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9Eventhdlr_9eventinitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Eventhdlr_eventinitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[187])); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, __pyx_mstate_global->__pyx_n_u_eventinitsol, __pyx_t_4) < (0)) __PYX_ERR(13, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/event.pxi":27
 *         pass
 * 
 *     def eventexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs event handler that the branch and bound process data is being freed '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9Eventhdlr_11eventexitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Eventhdlr_eventexitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[188])); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, __pyx_mstate_global->__pyx_n_u_eventexitsol, __pyx_t_4) < (0)) __PYX_ERR(13, 27, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/event.pxi":31
 *         pass
 * 
 *     def eventdelete(self):             # <<<<<<<<<<<<<<
 *         '''sets callback to free specific event data'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9Eventhdlr_13eventdelete, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Eventhdlr_eventdelete, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[189])); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, __pyx_mstate_global->__pyx_n_u_eventdelete, __pyx_t_4) < (0)) __PYX_ERR(13, 31, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/event.pxi":35
 *         pass
 * 
 *     def eventexec(self, event):             # <<<<<<<<<<<<<<
 *         '''calls execution method of event handler '''
 *         raise NotImplementedError("eventexec() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9Eventhdlr_15eventexec, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Eventhdlr_eventexec, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[190])); if (unlikely(!__pyx_t_4)) __PYX_ERR(13, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, __pyx_mstate_global->__pyx_n_u_eventexec, __pyx_t_4) < (0)) __PYX_ERR(13, 35, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9Eventhdlr_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Eventhdlr___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[191])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Eventhdlr, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Eventhdlr__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9Eventhdlr_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Eventhdlr___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[192])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Eventhdlr, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/heuristic.pxi":7
 *     cdef public str name
 * 
 *     def heurfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of primal heuristic'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Heur_1heurfree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Heur_heurfree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[193])); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur, __pyx_mstate_global->__pyx_n_u_heurfree, __pyx_t_4) < (0)) __PYX_ERR(14, 7, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/heuristic.pxi":11
 *         pass
 * 
 *     def heurinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes primal heuristic'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Heur_3heurinit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Heur_heurinit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[194])); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur, __pyx_mstate_global->__pyx_n_u_heurinit, __pyx_t_4) < (0)) __PYX_ERR(14, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/heuristic.pxi":15
 *         pass
 * 
 *     def heurexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of primal heuristic'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Heur_5heurexit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Heur_heurexit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[195])); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur, __pyx_mstate_global->__pyx_n_u_heurexit, __pyx_t_4) < (0)) __PYX_ERR(14, 15, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/heuristic.pxi":19
 *         pass
 * 
 *     def heurinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs primal heuristic that the branch and bound process is being started'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Heur_7heurinitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Heur_heurinitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[196])); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur, __pyx_mstate_global->__pyx_n_u_heurinitsol, __pyx_t_4) < (0)) __PYX_ERR(14, 19, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/heuristic.pxi":23
 *         pass
 * 
 *     def heurexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs primal heuristic that the branch and bound process data is being freed'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Heur_9heurexitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Heur_heurexitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[197])); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur, __pyx_mstate_global->__pyx_n_u_heurexitsol, __pyx_t_4) < (0)) __PYX_ERR(14, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/heuristic.pxi":27
 *         pass
 * 
 *     def heurexec(self, heurtiming, nodeinfeasible):             # <<<<<<<<<<<<<<
 *         '''should the heuristic the executed at the given depth, frequency, timing,...'''
 *         raise NotImplementedError("heurexec() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Heur_11heurexec, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Heur_heurexec, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[198])); if (unlikely(!__pyx_t_4)) __PYX_ERR(14, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur, __pyx_mstate_global->__pyx_n_u_heurexec, __pyx_t_4) < (0)) __PYX_ERR(14, 27, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Heur_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Heur___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[199])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Heur, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Heur__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Heur_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Heur___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[200])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Heur, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/iisfinder.pxi":8
 *     cdef SCIP_IISFINDER* scip_iisfinder
 * 
 *     def iisfinderfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of iis finder'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9IISfinder_1iisfinderfree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IISfinder_iisfinderfree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[201])); if (unlikely(!__pyx_t_4)) __PYX_ERR(15, 8, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IISfinder, __pyx_mstate_global->__pyx_n_u_iisfinderfree, __pyx_t_4) < (0)) __PYX_ERR(15, 8, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/iisfinder.pxi":12
 *         pass
 * 
 *     def iisfinderexec(self):             # <<<<<<<<<<<<<<
 *         '''calls execution method of iis finder'''
 *         raise NotImplementedError("iisfinderexec() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9IISfinder_3iisfinderexec, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IISfinder_iisfinderexec, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[202])); if (unlikely(!__pyx_t_4)) __PYX_ERR(15, 12, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IISfinder, __pyx_mstate_global->__pyx_n_u_iisfinderexec, __pyx_t_4) < (0)) __PYX_ERR(15, 12, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_iis,self.scip_iisfinder cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9IISfinder_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IISfinder___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[203])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_iis,self.scip_iisfinder cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_iis,self.scip_iisfinder cannot be converted to a Python object for pickling"
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9IISfinder_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IISfinder___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[204])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/presol.pxi":6
 *     cdef public Model model
 * 
 *     def presolfree(self):             # <<<<<<<<<<<<<<
 *         '''frees memory of presolver'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Presol_1presolfree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Presol_presolfree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[205])); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Presol, __pyx_mstate_global->__pyx_n_u_presolfree, __pyx_t_4) < (0)) __PYX_ERR(16, 6, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/presol.pxi":10
 *         pass
 * 
 *     def presolinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes presolver'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Presol_3presolinit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Presol_presolinit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[206])); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Presol, __pyx_mstate_global->__pyx_n_u_presolinit, __pyx_t_4) < (0)) __PYX_ERR(16, 10, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/presol.pxi":14
 *         pass
 * 
 *     def presolexit(self):             # <<<<<<<<<<<<<<
 *         '''deinitializes presolver'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Presol_5presolexit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Presol_presolexit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[207])); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 14, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Presol, __pyx_mstate_global->__pyx_n_u_presolexit, __pyx_t_4) < (0)) __PYX_ERR(16, 14, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/presol.pxi":18
 *         pass
 * 
 *     def presolinitpre(self):             # <<<<<<<<<<<<<<
 *         '''informs presolver that the presolving process is being started'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Presol_7presolinitpre, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Presol_presolinitpre, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[208])); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Presol, __pyx_mstate_global->__pyx_n_u_presolinitpre, __pyx_t_4) < (0)) __PYX_ERR(16, 18, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/presol.pxi":22
 *         pass
 * 
 *     def presolexitpre(self):             # <<<<<<<<<<<<<<
 *         '''informs presolver that the presolving process is finished'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Presol_9presolexitpre, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Presol_presolexitpre, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[209])); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Presol, __pyx_mstate_global->__pyx_n_u_presolexitpre, __pyx_t_4) < (0)) __PYX_ERR(16, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/presol.pxi":26
 *         pass
 * 
 *     def presolexec(self, nrounds, presoltiming):             # <<<<<<<<<<<<<<
 *         '''executes presolver'''
 *         raise NotImplementedError("presolexec() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Presol_11presolexec, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Presol_presolexec, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[210])); if (unlikely(!__pyx_t_4)) __PYX_ERR(16, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Presol, __pyx_mstate_global->__pyx_n_u_presolexec, __pyx_t_4) < (0)) __PYX_ERR(16, 26, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Presol_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Presol___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[211])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Presol, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Presol, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Presol__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Presol_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Presol___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[212])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Presol, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/pricer.pxi":7
 *     cdef SCIP_PRICER* scip_pricer
 * 
 *     def pricerfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of variable pricer '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Pricer_1pricerfree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Pricer_pricerfree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[213])); if (unlikely(!__pyx_t_4)) __PYX_ERR(17, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Pricer, __pyx_mstate_global->__pyx_n_u_pricerfree, __pyx_t_4) < (0)) __PYX_ERR(17, 7, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/pricer.pxi":11
 *         pass
 * 
 *     def pricerinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes variable pricer'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Pricer_3pricerinit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Pricer_pricerinit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[214])); if (unlikely(!__pyx_t_4)) __PYX_ERR(17, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Pricer, __pyx_mstate_global->__pyx_n_u_pricerinit, __pyx_t_4) < (0)) __PYX_ERR(17, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/pricer.pxi":15
 *         pass
 * 
 *     def pricerexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of variable pricer'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Pricer_5pricerexit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Pricer_pricerexit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[215])); if (unlikely(!__pyx_t_4)) __PYX_ERR(17, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Pricer, __pyx_mstate_global->__pyx_n_u_pricerexit, __pyx_t_4) < (0)) __PYX_ERR(17, 15, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/pricer.pxi":19
 *         pass
 * 
 *     def pricerinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs variable pricer that the branch and bound process is being started '''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Pricer_7pricerinitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Pricer_pricerinitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[216])); if (unlikely(!__pyx_t_4)) __PYX_ERR(17, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Pricer, __pyx_mstate_global->__pyx_n_u_pricerinitsol, __pyx_t_4) < (0)) __PYX_ERR(17, 19, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/pricer.pxi":23
 *         pass
 * 
 *     def pricerexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs variable pricer that the branch and bound process data is being freed'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Pricer_9pricerexitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Pricer_pricerexitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[217])); if (unlikely(!__pyx_t_4)) __PYX_ERR(17, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Pricer, __pyx_mstate_global->__pyx_n_u_pricerexitsol, __pyx_t_4) < (0)) __PYX_ERR(17, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/pricer.pxi":27
 *         pass
 * 
 *     def pricerredcost(self):             # <<<<<<<<<<<<<<
 *         '''calls reduced cost pricing method of variable pricer'''
 *         raise NotImplementedError("pricerredcost() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Pricer_11pricerredcost, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Pricer_pricerredcost, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[218])); if (unlikely(!__pyx_t_4)) __PYX_ERR(17, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Pricer, __pyx_mstate_global->__pyx_n_u_pricerredcost, __pyx_t_4) < (0)) __PYX_ERR(17, 27, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/pricer.pxi":31
 *         raise NotImplementedError("pricerredcost() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def pricerfarkas(self):             # <<<<<<<<<<<<<<
 *         '''calls Farkas pricing method of variable pricer'''
 *         raise NotImplementedError("pricerfarkas() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Pricer_13pricerfarkas, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Pricer_pricerfarkas, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[219])); if (unlikely(!__pyx_t_4)) __PYX_ERR(17, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Pricer, __pyx_mstate_global->__pyx_n_u_pricerfarkas, __pyx_t_4) < (0)) __PYX_ERR(17, 31, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_pricer cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Pricer_15__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Pricer___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[220])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_pricer cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_pricer cannot be converted to a Python object for pickling"
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Pricer_17__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Pricer___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[221])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/propagator.pxi":6
 *     cdef public Model model
 * 
 *     def propfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of propagator'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Prop_1propfree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Prop_propfree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[222])); if (unlikely(!__pyx_t_4)) __PYX_ERR(18, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop, __pyx_mstate_global->__pyx_n_u_propfree, __pyx_t_4) < (0)) __PYX_ERR(18, 6, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/propagator.pxi":10
 *         pass
 * 
 *     def propinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes propagator'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Prop_3propinit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Prop_propinit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[223])); if (unlikely(!__pyx_t_4)) __PYX_ERR(18, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop, __pyx_mstate_global->__pyx_n_u_propinit, __pyx_t_4) < (0)) __PYX_ERR(18, 10, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/propagator.pxi":14
 *         pass
 * 
 *     def propexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of propagator'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Prop_5propexit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Prop_propexit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[224])); if (unlikely(!__pyx_t_4)) __PYX_ERR(18, 14, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop, __pyx_mstate_global->__pyx_n_u_propexit, __pyx_t_4) < (0)) __PYX_ERR(18, 14, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/propagator.pxi":18
 *         pass
 * 
 *     def propinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs propagator that the prop and bound process is being started'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Prop_7propinitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Prop_propinitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[225])); if (unlikely(!__pyx_t_4)) __PYX_ERR(18, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop, __pyx_mstate_global->__pyx_n_u_propinitsol, __pyx_t_4) < (0)) __PYX_ERR(18, 18, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/propagator.pxi":22
 *         pass
 * 
 *     def propexitsol(self, restart):             # <<<<<<<<<<<<<<
 *         '''informs propagator that the prop and bound process data is being freed'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Prop_9propexitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Prop_propexitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[226])); if (unlikely(!__pyx_t_4)) __PYX_ERR(18, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop, __pyx_mstate_global->__pyx_n_u_propexitsol, __pyx_t_4) < (0)) __PYX_ERR(18, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/propagator.pxi":26
 *         pass
 * 
 *     def propinitpre(self):             # <<<<<<<<<<<<<<
 *         '''informs propagator that the presolving process is being started'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Prop_11propinitpre, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Prop_propinitpre, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[227])); if (unlikely(!__pyx_t_4)) __PYX_ERR(18, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop, __pyx_mstate_global->__pyx_n_u_propinitpre, __pyx_t_4) < (0)) __PYX_ERR(18, 26, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/propagator.pxi":30
 *         pass
 * 
 *     def propexitpre(self):             # <<<<<<<<<<<<<<
 *         '''informs propagator that the presolving process is finished'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Prop_13propexitpre, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Prop_propexitpre, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[228])); if (unlikely(!__pyx_t_4)) __PYX_ERR(18, 30, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop, __pyx_mstate_global->__pyx_n_u_propexitpre, __pyx_t_4) < (0)) __PYX_ERR(18, 30, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/propagator.pxi":34
 *         pass
 * 
 *     def proppresol(self, nrounds, presoltiming, result_dict):             # <<<<<<<<<<<<<<
 *         '''executes presolving method of propagator'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Prop_15proppresol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Prop_proppresol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[229])); if (unlikely(!__pyx_t_4)) __PYX_ERR(18, 34, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop, __pyx_mstate_global->__pyx_n_u_proppresol, __pyx_t_4) < (0)) __PYX_ERR(18, 34, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/propagator.pxi":38
 *         pass
 * 
 *     def propexec(self, proptiming):             # <<<<<<<<<<<<<<
 *         '''calls execution method of propagator'''
 *         raise NotImplementedError("propexec() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Prop_17propexec, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Prop_propexec, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[230])); if (unlikely(!__pyx_t_4)) __PYX_ERR(18, 38, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop, __pyx_mstate_global->__pyx_n_u_propexec, __pyx_t_4) < (0)) __PYX_ERR(18, 38, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/propagator.pxi":42
 *         raise NotImplementedError("propexec() is a fundamental callback and should be implemented in the derived class")
 * 
 *     def propresprop(self, confvar, inferinfo, bdtype, relaxedbd):             # <<<<<<<<<<<<<<
 *         '''resolves the given conflicting bound, that was reduced by the given propagator'''
 *         raise NotImplementedError("propresprop() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Prop_19propresprop, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Prop_propresprop, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[231])); if (unlikely(!__pyx_t_4)) __PYX_ERR(18, 42, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop, __pyx_mstate_global->__pyx_n_u_propresprop, __pyx_t_4) < (0)) __PYX_ERR(18, 42, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Prop_21__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Prop___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[232])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Prop, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Prop__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Prop_23__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Prop___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[233])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Prop, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/sepa.pxi":7
 *     cdef public str name
 * 
 *     def sepafree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of separator'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Sepa_1sepafree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Sepa_sepafree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[234])); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Sepa, __pyx_mstate_global->__pyx_n_u_sepafree, __pyx_t_4) < (0)) __PYX_ERR(19, 7, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/sepa.pxi":11
 *         pass
 * 
 *     def sepainit(self):             # <<<<<<<<<<<<<<
 *         '''initializes separator'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Sepa_3sepainit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Sepa_sepainit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[235])); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Sepa, __pyx_mstate_global->__pyx_n_u_sepainit, __pyx_t_4) < (0)) __PYX_ERR(19, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/sepa.pxi":15
 *         pass
 * 
 *     def sepaexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of separator'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Sepa_5sepaexit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Sepa_sepaexit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[236])); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Sepa, __pyx_mstate_global->__pyx_n_u_sepaexit, __pyx_t_4) < (0)) __PYX_ERR(19, 15, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/sepa.pxi":19
 *         pass
 * 
 *     def sepainitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs separator that the branch and bound process is being started'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Sepa_7sepainitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Sepa_sepainitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[237])); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Sepa, __pyx_mstate_global->__pyx_n_u_sepainitsol, __pyx_t_4) < (0)) __PYX_ERR(19, 19, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/sepa.pxi":23
 *         pass
 * 
 *     def sepaexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs separator that the branch and bound process data is being freed'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Sepa_9sepaexitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Sepa_sepaexitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[238])); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Sepa, __pyx_mstate_global->__pyx_n_u_sepaexitsol, __pyx_t_4) < (0)) __PYX_ERR(19, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/sepa.pxi":27
 *         pass
 * 
 *     def sepaexeclp(self):             # <<<<<<<<<<<<<<
 *         '''calls LP separation method of separator'''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Sepa_11sepaexeclp, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Sepa_sepaexeclp, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[239])); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Sepa, __pyx_mstate_global->__pyx_n_u_sepaexeclp, __pyx_t_4) < (0)) __PYX_ERR(19, 27, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/sepa.pxi":31
 *         return {}
 * 
 *     def sepaexecsol(self, solution):             # <<<<<<<<<<<<<<
 *         '''calls primal solution separation method of separator'''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Sepa_13sepaexecsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Sepa_sepaexecsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[240])); if (unlikely(!__pyx_t_4)) __PYX_ERR(19, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Sepa, __pyx_mstate_global->__pyx_n_u_sepaexecsol, __pyx_t_4) < (0)) __PYX_ERR(19, 31, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Sepa_15__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Sepa___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[241])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Sepa, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Sepa, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Sepa__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Sepa_17__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Sepa___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[242])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Sepa, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/reader.pxi":7
 *     cdef public str name
 * 
 *     def readerfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of reader'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Reader_1readerfree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Reader_readerfree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[243])); if (unlikely(!__pyx_t_4)) __PYX_ERR(20, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Reader, __pyx_mstate_global->__pyx_n_u_readerfree, __pyx_t_4) < (0)) __PYX_ERR(20, 7, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/reader.pxi":11
 *         pass
 * 
 *     def readerread(self, filename):             # <<<<<<<<<<<<<<
 *         '''calls read method of reader'''
 *         return {}
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Reader_3readerread, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Reader_readerread, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[244])); if (unlikely(!__pyx_t_4)) __PYX_ERR(20, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Reader, __pyx_mstate_global->__pyx_n_u_readerread, __pyx_t_4) < (0)) __PYX_ERR(20, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/reader.pxi":15
 *         return {}
 * 
 *     def readerwrite(self, file, name, transformed, objsense, objoffset, objscale, binvars, intvars,             # <<<<<<<<<<<<<<
 *                     implvars, contvars, fixedvars, startnvars, conss, maxnconss, startnconss, genericnames):
 *         '''calls write method of reader'''
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Reader_5readerwrite, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Reader_readerwrite, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[245])); if (unlikely(!__pyx_t_4)) __PYX_ERR(20, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Reader, __pyx_mstate_global->__pyx_n_u_readerwrite, __pyx_t_4) < (0)) __PYX_ERR(20, 15, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Reader_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Reader___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[246])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Reader, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Reader, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Reader__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Reader_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Reader___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[247])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Reader, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/relax.pxi":7
 *     cdef public str name
 * 
 *     def relaxfree(self):             # <<<<<<<<<<<<<<
 *         '''calls destructor and frees memory of relaxation handler'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Relax_1relaxfree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Relax_relaxfree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[248])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 7, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Relax, __pyx_mstate_global->__pyx_n_u_relaxfree, __pyx_t_4) < (0)) __PYX_ERR(21, 7, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/relax.pxi":11
 *         pass
 * 
 *     def relaxinit(self):             # <<<<<<<<<<<<<<
 *         '''initializes relaxation handler'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Relax_3relaxinit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Relax_relaxinit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[249])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 11, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Relax, __pyx_mstate_global->__pyx_n_u_relaxinit, __pyx_t_4) < (0)) __PYX_ERR(21, 11, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/relax.pxi":15
 *         pass
 * 
 *     def relaxexit(self):             # <<<<<<<<<<<<<<
 *         '''calls exit method of relaxation handler'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Relax_5relaxexit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Relax_relaxexit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[250])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 15, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Relax, __pyx_mstate_global->__pyx_n_u_relaxexit, __pyx_t_4) < (0)) __PYX_ERR(21, 15, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/relax.pxi":19
 *         pass
 * 
 *     def relaxinitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs relaxaton handler that the branch and bound process is being started'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Relax_7relaxinitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Relax_relaxinitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[251])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 19, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Relax, __pyx_mstate_global->__pyx_n_u_relaxinitsol, __pyx_t_4) < (0)) __PYX_ERR(21, 19, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/relax.pxi":23
 *         pass
 * 
 *     def relaxexitsol(self):             # <<<<<<<<<<<<<<
 *         '''informs relaxation handler that the branch and bound process data is being freed'''
 *         pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Relax_9relaxexitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Relax_relaxexitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[252])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 23, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Relax, __pyx_mstate_global->__pyx_n_u_relaxexitsol, __pyx_t_4) < (0)) __PYX_ERR(21, 23, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/relax.pxi":27
 *         pass
 * 
 *     def relaxexec(self):             # <<<<<<<<<<<<<<
 *         '''calls execution method of relaxation handler'''
 *         raise NotImplementedError("relaxexec() is a fundamental callback and should be implemented in the derived class")
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Relax_11relaxexec, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Relax_relaxexec, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[253])); if (unlikely(!__pyx_t_4)) __PYX_ERR(21, 27, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Relax, __pyx_mstate_global->__pyx_n_u_relaxexec, __pyx_t_4) < (0)) __PYX_ERR(21, 27, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Relax_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Relax___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[254])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Relax, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Relax, (type(self), 0x48f811e, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Relax__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Relax_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Relax___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[255])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Relax, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/nodesel.pxi":6
 *   cdef public Model model
 * 
 *   def nodefree(self):             # <<<<<<<<<<<<<<
 *     '''frees memory of node selector'''
 *     pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Nodesel_1nodefree, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Nodesel_nodefree, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[256])); if (unlikely(!__pyx_t_4)) __PYX_ERR(22, 6, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Nodesel, __pyx_mstate_global->__pyx_n_u_nodefree, __pyx_t_4) < (0)) __PYX_ERR(22, 6, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/nodesel.pxi":10
 *     pass
 * 
 *   def nodeinit(self):             # <<<<<<<<<<<<<<
 *     ''' executed after the problem is transformed. use this call to initialize node selector data.'''
 *     pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Nodesel_3nodeinit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Nodesel_nodeinit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[257])); if (unlikely(!__pyx_t_4)) __PYX_ERR(22, 10, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Nodesel, __pyx_mstate_global->__pyx_n_u_nodeinit, __pyx_t_4) < (0)) __PYX_ERR(22, 10, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/nodesel.pxi":14
 *     pass
 * 
 *   def nodeexit(self):             # <<<<<<<<<<<<<<
 *     '''executed before the transformed problem is freed'''
 *     pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Nodesel_5nodeexit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Nodesel_nodeexit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[258])); if (unlikely(!__pyx_t_4)) __PYX_ERR(22, 14, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Nodesel, __pyx_mstate_global->__pyx_n_u_nodeexit, __pyx_t_4) < (0)) __PYX_ERR(22, 14, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/nodesel.pxi":18
 *     pass
 * 
 *   def nodeinitsol(self):             # <<<<<<<<<<<<<<
 *     '''executed when the presolving is finished and the branch-and-bound process is about to begin'''
 *     pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Nodesel_7nodeinitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Nodesel_nodeinitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[259])); if (unlikely(!__pyx_t_4)) __PYX_ERR(22, 18, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Nodesel, __pyx_mstate_global->__pyx_n_u_nodeinitsol, __pyx_t_4) < (0)) __PYX_ERR(22, 18, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/nodesel.pxi":22
 *     pass
 * 
 *   def nodeexitsol(self):             # <<<<<<<<<<<<<<
 *     '''executed before the branch-and-bound process is freed'''
 *     pass
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Nodesel_9nodeexitsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Nodesel_nodeexitsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[260])); if (unlikely(!__pyx_t_4)) __PYX_ERR(22, 22, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Nodesel, __pyx_mstate_global->__pyx_n_u_nodeexitsol, __pyx_t_4) < (0)) __PYX_ERR(22, 22, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/nodesel.pxi":26
 *     pass
 * 
 *   def nodeselect(self):             # <<<<<<<<<<<<<<
 *     '''first method called in each iteration in the main solving loop. '''
 *     # this method needs to be implemented by the user
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Nodesel_11nodeselect, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Nodesel_nodeselect, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[261])); if (unlikely(!__pyx_t_4)) __PYX_ERR(22, 26, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Nodesel, __pyx_mstate_global->__pyx_n_u_nodeselect, __pyx_t_4) < (0)) __PYX_ERR(22, 26, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/nodesel.pxi":31
 *     return {}
 * 
 *   def nodecomp(self, node1, node2):             # <<<<<<<<<<<<<<
 *     '''
 *     compare two leaves of the current branching tree
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Nodesel_13nodecomp, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Nodesel_nodecomp, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[262])); if (unlikely(!__pyx_t_4)) __PYX_ERR(22, 31, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Nodesel, __pyx_mstate_global->__pyx_n_u_nodecomp, __pyx_t_4) < (0)) __PYX_ERR(22, 31, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Nodesel_15__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Nodesel___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[263])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Nodesel, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_Nodesel, (type(self), 0x9372c47, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_Nodesel__set_state(self, __pyx_state)
*/
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_7Nodesel_17__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Nodesel___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[264])); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Nodesel, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/matrix.pxi":1
 * import operator             # <<<<<<<<<<<<<<
 * from typing import Literal, Optional, Tuple, Union
 * import numpy as np
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_operator, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1, __pyx_L1_error)
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_operator, __pyx_t_4) < (0)) __PYX_ERR(1, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/matrix.pxi":2
 * import operator
 * from typing import Literal, Optional, Tuple, Union             # <<<<<<<<<<<<<<
 * import numpy as np
 * try:
*/
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Literal,__pyx_mstate_global->__pyx_n_u_Optional,__pyx_mstate_global->__pyx_n_u_Tuple,__pyx_mstate_global->__pyx_n_u_Union};
    __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_typing, __pyx_imported_names, 4, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error)
  }
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  {
    PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_Literal,__pyx_mstate_global->__pyx_n_u_Optional,__pyx_mstate_global->__pyx_n_u_Tuple,__pyx_mstate_global->__pyx_n_u_Union};
    for (__pyx_t_9=0; __pyx_t_9 < 4; __pyx_t_9++) {
      __pyx_t_10 = __Pyx_ImportFrom(__pyx_t_4, __pyx_imported_names[__pyx_t_9]); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 2, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_10);
      if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_9], __pyx_t_10) < (0)) __PYX_ERR(1, 2, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    }
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/matrix.pxi":3
 * import operator
 * from typing import Literal, Optional, Tuple, Union
 * import numpy as np             # <<<<<<<<<<<<<<
 * try:
 *     # NumPy 2.x location
*/
  __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_numpy, 0, 0, NULL, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 3, __pyx_L1_error)
  __pyx_t_4 = __pyx_t_1;
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_np, __pyx_t_4) < (0)) __PYX_ERR(1, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/matrix.pxi":4
 * from typing import Literal, Optional, Tuple, Union
 * import numpy as np
 * try:             # <<<<<<<<<<<<<<
 *     # NumPy 2.x location
 *     from numpy.lib.array_utils import normalize_axis_tuple
*/
  {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
    __Pyx_XGOTREF(__pyx_t_1);
    __Pyx_XGOTREF(__pyx_t_2);
    __Pyx_XGOTREF(__pyx_t_3);
    /*try:*/ {

      /* "src/pyscipopt/matrix.pxi":6
 * try:
 *     # NumPy 2.x location
 *     from numpy.lib.array_utils import normalize_axis_tuple             # <<<<<<<<<<<<<<
 * except ImportError:
 *     # Fallback for NumPy 1.x
*/
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_normalize_axis_tuple};
        __pyx_t_14 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_numpy_lib_array_utils, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 6, __pyx_L36_error)
      }
      __pyx_t_4 = __pyx_t_14;
      __Pyx_GOTREF(__pyx_t_4);
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_normalize_axis_tuple};
        __pyx_t_9 = 0; {
          __pyx_t_10 = __Pyx_ImportFrom(__pyx_t_4, __pyx_imported_names[__pyx_t_9]); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 6, __pyx_L36_error)
          __Pyx_GOTREF(__pyx_t_10);
          if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_9], __pyx_t_10) < (0)) __PYX_ERR(1, 6, __pyx_L36_error)
          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

      /* "src/pyscipopt/matrix.pxi":4
 * from typing import Literal, Optional, Tuple, Union
 * import numpy as np
 * try:             # <<<<<<<<<<<<<<
 *     # NumPy 2.x location
 *     from numpy.lib.array_utils import normalize_axis_tuple
*/
    }
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
    goto __pyx_L41_try_end;
    __pyx_L36_error:;
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

    /* "src/pyscipopt/matrix.pxi":7
 *     # NumPy 2.x location
 *     from numpy.lib.array_utils import normalize_axis_tuple
 * except ImportError:             # <<<<<<<<<<<<<<
 *     # Fallback for NumPy 1.x
 *     from numpy.core.numeric import normalize_axis_tuple
*/
    __pyx_t_15 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_ImportError))));
    if (__pyx_t_15) {
      __Pyx_AddTraceback("pyscipopt.scip", __pyx_clineno, __pyx_lineno, __pyx_filename);
      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_10, &__pyx_t_5) < 0) __PYX_ERR(1, 7, __pyx_L38_except_error)
      __Pyx_XGOTREF(__pyx_t_4);
      __Pyx_XGOTREF(__pyx_t_10);
      __Pyx_XGOTREF(__pyx_t_5);

      /* "src/pyscipopt/matrix.pxi":9
 * except ImportError:
 *     # Fallback for NumPy 1.x
 *     from numpy.core.numeric import normalize_axis_tuple             # <<<<<<<<<<<<<<
 * 
 * cimport numpy as cnp
*/
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_normalize_axis_tuple};
        __pyx_t_14 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_numpy_core_numeric, __pyx_imported_names, 1, NULL, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(1, 9, __pyx_L38_except_error)
      }
      __pyx_t_11 = __pyx_t_14;
      __Pyx_GOTREF(__pyx_t_11);
      {
        PyObject* const __pyx_imported_names[] = {__pyx_mstate_global->__pyx_n_u_normalize_axis_tuple};
        __pyx_t_9 = 0; {
          __pyx_t_12 = __Pyx_ImportFrom(__pyx_t_11, __pyx_imported_names[__pyx_t_9]); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 9, __pyx_L38_except_error)
          __Pyx_GOTREF(__pyx_t_12);
          if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_imported_names[__pyx_t_9], __pyx_t_12) < (0)) __PYX_ERR(1, 9, __pyx_L38_except_error)
          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
        }
      }
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
      goto __pyx_L37_exception_handled;
    }
    goto __pyx_L38_except_error;

    /* "src/pyscipopt/matrix.pxi":4
 * from typing import Literal, Optional, Tuple, Union
 * import numpy as np
 * try:             # <<<<<<<<<<<<<<
 *     # NumPy 2.x location
 *     from numpy.lib.array_utils import normalize_axis_tuple
*/
    __pyx_L38_except_error:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    goto __pyx_L1_error;
    __pyx_L37_exception_handled:;
    __Pyx_XGIVEREF(__pyx_t_1);
    __Pyx_XGIVEREF(__pyx_t_2);
    __Pyx_XGIVEREF(__pyx_t_3);
    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
    __pyx_L41_try_end:;
  }

  /* "src/pyscipopt/matrix.pxi":14
 * from pyscipopt.scip cimport Expr, Solution
 * 
 * cnp.import_array()             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_15 = __pyx_f_5numpy_import_array(); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(1, 14, __pyx_L1_error)

  /* "src/pyscipopt/matrix.pxi":17
 * 
 * 
 * class MatrixExpr(np.ndarray):             # <<<<<<<<<<<<<<
 * 
 *     __array_priority__ = 100
*/
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_Pack(1, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = __Pyx_PEP560_update_bases(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_11 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_10, __pyx_mstate_global->__pyx_n_u_MatrixExpr, __pyx_mstate_global->__pyx_n_u_MatrixExpr, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, (PyObject *) NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__pyx_t_10 != __pyx_t_5) {
    if (unlikely((PyDict_SetItemString(__pyx_t_11, "__orig_bases__", __pyx_t_5) < 0))) __PYX_ERR(1, 17, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);

  /* "src/pyscipopt/matrix.pxi":19
 * class MatrixExpr(np.ndarray):
 * 
 *     __array_priority__ = 100             # <<<<<<<<<<<<<<
 * 
 *     def __array_ufunc__(
*/
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_array_priority, __pyx_mstate_global->__pyx_int_100) < (0)) __PYX_ERR(1, 19, __pyx_L1_error)

  /* "src/pyscipopt/matrix.pxi":21
 *     __array_priority__ = 100
 * 
 *     def __array_ufunc__(             # <<<<<<<<<<<<<<
 *         self,
 *         ufunc: np.ufunc,
*/
  __pyx_t_12 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  if (PyDict_SetItem(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_ufunc, __pyx_mstate_global->__pyx_kp_u_np_ufunc) < (0)) __PYX_ERR(1, 21, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_method, __pyx_mstate_global->__pyx_kp_u_Literal___call___reduce_reduceat) < (0)) __PYX_ERR(1, 21, __pyx_L1_error)
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10MatrixExpr_1__array_ufunc__, 0, __pyx_mstate_global->__pyx_n_u_MatrixExpr___array_ufunc, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[265])); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 21, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  PyList_Append(__pyx_t_5, __pyx_t_13);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_13, __pyx_t_12);
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_array_ufunc, __pyx_t_13) < (0)) __PYX_ERR(1, 21, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/matrix.pxi":77
 *         return res.view(MatrixExpr) if isinstance(res, np.ndarray) else res
 * 
 *     def _evaluate(self, Solution sol) -> NDArray[np.float64]:             # <<<<<<<<<<<<<<
 *         return _vec_evaluate(self, sol).view(np.ndarray)
 * 
*/
  __pyx_t_13 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (PyDict_SetItem(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_kp_u_NDArray_np_float64) < (0)) __PYX_ERR(1, 77, __pyx_L1_error)
  __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10MatrixExpr_3_evaluate, 0, __pyx_mstate_global->__pyx_n_u_MatrixExpr__evaluate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[266])); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_12, __pyx_t_13);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_evaluate, __pyx_t_12) < (0)) __PYX_ERR(1, 77, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

  /* "src/pyscipopt/matrix.pxi":17
 * 
 * 
 * class MatrixExpr(np.ndarray):             # <<<<<<<<<<<<<<
 * 
 *     __array_priority__ = 100
*/
  __pyx_t_12 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_MatrixExpr, __pyx_t_10, __pyx_t_11, NULL, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12);
  #endif
  if (__Pyx_CyFunction_InitClassCell(__pyx_t_5, __pyx_t_12) < (0)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MatrixExpr, __pyx_t_12) < (0)) __PYX_ERR(1, 17, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/matrix.pxi":81
 * 
 * 
 * class MatrixGenExpr(MatrixExpr):             # <<<<<<<<<<<<<<
 *     pass
 * 
*/
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_MatrixExpr); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = PyTuple_Pack(1, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = __Pyx_PEP560_update_bases(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = __Pyx_CalculateMetaclass(NULL, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_12 = __Pyx_Py3MetaclassPrepare(__pyx_t_11, __pyx_t_10, __pyx_mstate_global->__pyx_n_u_MatrixGenExpr, __pyx_mstate_global->__pyx_n_u_MatrixGenExpr, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, (PyObject *) NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  if (__pyx_t_10 != __pyx_t_4) {
    if (unlikely((PyDict_SetItemString(__pyx_t_12, "__orig_bases__", __pyx_t_4) < 0))) __PYX_ERR(1, 81, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_MatrixGenExpr, __pyx_t_10, __pyx_t_12, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MatrixGenExpr, __pyx_t_4) < (0)) __PYX_ERR(1, 81, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/matrix.pxi":85
 * 
 * 
 * class MatrixExprCons(np.ndarray):             # <<<<<<<<<<<<<<
 * 
 *     __array_priority__ = 101
*/
  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = PyTuple_Pack(1, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __pyx_t_11 = __Pyx_PEP560_update_bases(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_12 = __Pyx_CalculateMetaclass(NULL, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_12, __pyx_t_11, __pyx_mstate_global->__pyx_n_u_MatrixExprCons, __pyx_mstate_global->__pyx_n_u_MatrixExprCons, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, (PyObject *) NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_11 != __pyx_t_10) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_10) < 0))) __PYX_ERR(1, 85, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/matrix.pxi":87
 * class MatrixExprCons(np.ndarray):
 * 
 *     __array_priority__ = 101             # <<<<<<<<<<<<<<
 * 
 *     def __array_ufunc__(self, ufunc, method, *args, **kwargs):
*/
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_array_priority, __pyx_mstate_global->__pyx_int_101) < (0)) __PYX_ERR(1, 87, __pyx_L1_error)

  /* "src/pyscipopt/matrix.pxi":89
 *     __array_priority__ = 101
 * 
 *     def __array_ufunc__(self, ufunc, method, *args, **kwargs):             # <<<<<<<<<<<<<<
 *         if method == "__call__":
 *             args = tuple(_ensure_array(arg) for arg in args)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixExprCons_1__array_ufunc__, 0, __pyx_mstate_global->__pyx_n_u_MatrixExprCons___array_ufunc, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[267])); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_array_ufunc, __pyx_t_10) < (0)) __PYX_ERR(1, 89, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/matrix.pxi":98
 *         raise NotImplementedError("can only support '<=' or '>='")
 * 
 *     def __eq__(self, _):             # <<<<<<<<<<<<<<
 *         # TODO: Once numpy version >= 2.x, remove `__eq__`, as it will be handled by
 *         # `__array_ufunc__`.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixExprCons_3__eq__, 0, __pyx_mstate_global->__pyx_n_u_MatrixExprCons___eq, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[268])); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 98, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_eq, __pyx_t_10) < (0)) __PYX_ERR(1, 98, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/matrix.pxi":85
 * 
 * 
 * class MatrixExprCons(np.ndarray):             # <<<<<<<<<<<<<<
 * 
 *     __array_priority__ = 101
*/
  __pyx_t_10 = __Pyx_Py3ClassCreate(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_MatrixExprCons, __pyx_t_11, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MatrixExprCons, __pyx_t_10) < (0)) __PYX_ERR(1, 85, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/matrix.pxi":104
 * 
 * 
 * _vec_le = np.frompyfunc(operator.le, 2, 1)             # <<<<<<<<<<<<<<
 * _vec_ge = np.frompyfunc(operator.ge, 2, 1)
 * _vec_eq = np.frompyfunc(operator.eq, 2, 1)
*/
  __pyx_t_12 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_frompyfunc); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_operator); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_le); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_12, __pyx_t_5, __pyx_mstate_global->__pyx_int_2, __pyx_mstate_global->__pyx_int_1};
    __pyx_t_11 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 104, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_vec_le, __pyx_t_11) < (0)) __PYX_ERR(1, 104, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/matrix.pxi":105
 * 
 * _vec_le = np.frompyfunc(operator.le, 2, 1)
 * _vec_ge = np.frompyfunc(operator.ge, 2, 1)             # <<<<<<<<<<<<<<
 * _vec_eq = np.frompyfunc(operator.eq, 2, 1)
 * _vec_evaluate = np.frompyfunc(lambda expr, sol: expr._evaluate(sol), 2, 1)
*/
  __pyx_t_10 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_frompyfunc); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_operator); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_ge); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_10, __pyx_t_4, __pyx_mstate_global->__pyx_int_2, __pyx_mstate_global->__pyx_int_1};
    __pyx_t_11 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_12, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 105, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_vec_ge, __pyx_t_11) < (0)) __PYX_ERR(1, 105, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/matrix.pxi":106
 * _vec_le = np.frompyfunc(operator.le, 2, 1)
 * _vec_ge = np.frompyfunc(operator.ge, 2, 1)
 * _vec_eq = np.frompyfunc(operator.eq, 2, 1)             # <<<<<<<<<<<<<<
 * _vec_evaluate = np.frompyfunc(lambda expr, sol: expr._evaluate(sol), 2, 1)
 * 
*/
  __pyx_t_12 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_frompyfunc); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_operator); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_eq_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_12, __pyx_t_5, __pyx_mstate_global->__pyx_int_2, __pyx_mstate_global->__pyx_int_1};
    __pyx_t_11 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 106, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_vec_eq, __pyx_t_11) < (0)) __PYX_ERR(1, 106, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/matrix.pxi":107
 * _vec_ge = np.frompyfunc(operator.ge, 2, 1)
 * _vec_eq = np.frompyfunc(operator.eq, 2, 1)
 * _vec_evaluate = np.frompyfunc(lambda expr, sol: expr._evaluate(sol), 2, 1)             # <<<<<<<<<<<<<<
 * 
 * 
*/
  __pyx_t_10 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_frompyfunc); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_84lambda11, 0, __pyx_mstate_global->__pyx_n_u_lambda, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[269])); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[4] = {__pyx_t_10, __pyx_t_5, __pyx_mstate_global->__pyx_int_2, __pyx_mstate_global->__pyx_int_1};
    __pyx_t_11 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_12, __pyx_callargs+__pyx_t_6, (4-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
    if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 107, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_vec_evaluate, __pyx_t_11) < (0)) __PYX_ERR(1, 107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/matrix.pxi":118
 * 
 * 
 * def _core_dot(cnp.ndarray a, cnp.ndarray b) -> Union[Expr, np.ndarray]:             # <<<<<<<<<<<<<<
 *     """
 *     Perform matrix multiplication between a N-Demension constant array and a N-Demension
*/
  __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_kp_u_Union_Expr_np_ndarray) < (0)) __PYX_ERR(1, 118, __pyx_L1_error)
  __pyx_t_12 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_27_core_dot, 0, __pyx_mstate_global->__pyx_n_u_core_dot, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[270])); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_12);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_12, __pyx_t_11);
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_core_dot, __pyx_t_12) < (0)) __PYX_ERR(1, 118, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

  /* "src/pyscipopt/matrix.pxi":155
 * 
 * 
 * def _core_dot_2d(cnp.ndarray a, cnp.ndarray x) -> np.ndarray:             # <<<<<<<<<<<<<<
 *     """
 *     Perform matrix multiplication between a 2-Demension constant array and a 2-Demension
*/
  __pyx_t_12 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_12)) __PYX_ERR(1, 155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_12);
  if (PyDict_SetItem(__pyx_t_12, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_kp_u_np_ndarray) < (0)) __PYX_ERR(1, 155, __pyx_L1_error)
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_29_core_dot_2d, 0, __pyx_mstate_global->__pyx_n_u_core_dot_2d, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[271])); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_11, __pyx_t_12);
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_core_dot_2d, __pyx_t_11) < (0)) __PYX_ERR(1, 155, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/matrix.pxi":192
 * 
 * 
 * _core_dot_nd = np.vectorize(             # <<<<<<<<<<<<<<
 *     _core_dot_2d,
 *     otypes=[object],
*/
  __pyx_t_12 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_vectorize); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

  /* "src/pyscipopt/matrix.pxi":193
 * 
 * _core_dot_nd = np.vectorize(
 *     _core_dot_2d,             # <<<<<<<<<<<<<<
 *     otypes=[object],
 *     signature="(m,n),(n,p)->(m,p)",
*/
  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_core_dot_2d); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);

  /* "src/pyscipopt/matrix.pxi":194
 * _core_dot_nd = np.vectorize(
 *     _core_dot_2d,
 *     otypes=[object],             # <<<<<<<<<<<<<<
 *     signature="(m,n),(n,p)->(m,p)",
 * )
*/
  __pyx_t_4 = __Pyx_PyList_Pack(1, __pyx_builtin_object); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2 + ((CYTHON_VECTORCALL) ? 2 : 0)] = {__pyx_t_12, __pyx_t_5};
    __pyx_t_13 = __Pyx_MakeVectorcallBuilderKwds(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_otypes, __pyx_t_4, __pyx_t_13, __pyx_callargs+2, 0) < (0)) __PYX_ERR(1, 192, __pyx_L1_error)
    if (__Pyx_VectorcallBuilder_AddArg(__pyx_mstate_global->__pyx_n_u_signature, __pyx_mstate_global->__pyx_kp_u_m_n_n_p_m_p, __pyx_t_13, __pyx_callargs+2, 1) < (0)) __PYX_ERR(1, 192, __pyx_L1_error)
    __pyx_t_11 = __Pyx_Object_Vectorcall_CallFromBuilder((PyObject*)__pyx_t_10, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET), __pyx_t_13);
    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
    if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 192, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_11);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_core_dot_nd, __pyx_t_11) < (0)) __PYX_ERR(1, 192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/matrix.pxi":202
 *     cnp.ndarray a,
 *     axis: Optional[Union[int, Tuple[int, ...]]] = None,
 *     keepdims: bool = False,             # <<<<<<<<<<<<<<
 *     **kwargs,
 * ) -> Union[Expr, np.ndarray]:
*/
  __pyx_t_11 = __Pyx_PyBool_FromLong(((int)0)); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);

  /* "src/pyscipopt/matrix.pxi":199
 * 
 * 
 * def _core_sum(             # <<<<<<<<<<<<<<
 *     cnp.ndarray a,
 *     axis: Optional[Union[int, Tuple[int, ...]]] = None,
*/
  __pyx_t_10 = PyTuple_Pack(2, Py_None, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __pyx_t_11 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_11)) __PYX_ERR(1, 199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_axis, __pyx_mstate_global->__pyx_kp_u_Optional_Union_int_Tuple_int) < (0)) __PYX_ERR(1, 199, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_keepdims, __pyx_mstate_global->__pyx_n_u_bool) < (0)) __PYX_ERR(1, 199, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_kp_u_Union_Expr_np_ndarray) < (0)) __PYX_ERR(1, 199, __pyx_L1_error)
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_31_core_sum, 0, __pyx_mstate_global->__pyx_n_u_core_sum, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[272])); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_13, __pyx_t_10);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_13, __pyx_t_11);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_core_sum, __pyx_t_13) < (0)) __PYX_ERR(1, 199, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":45
 * 
 * # recommended SCIP version; major version is required
 * MAJOR = 10             # <<<<<<<<<<<<<<
 * MINOR = 0
 * PATCH = 0
*/
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MAJOR, __pyx_mstate_global->__pyx_int_10) < (0)) __PYX_ERR(2, 45, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":46
 * # recommended SCIP version; major version is required
 * MAJOR = 10
 * MINOR = 0             # <<<<<<<<<<<<<<
 * PATCH = 0
 * 
*/
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MINOR, __pyx_mstate_global->__pyx_int_0) < (0)) __PYX_ERR(2, 46, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":47
 * MAJOR = 10
 * MINOR = 0
 * PATCH = 0             # <<<<<<<<<<<<<<
 * 
 * # for external user functions use def; for functions used only inside the interface (starting with _) use cdef
*/
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PATCH, __pyx_mstate_global->__pyx_int_0) < (0)) __PYX_ERR(2, 47, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":52
 * # todo: check whether this is currently done like this
 * 
 * if sys.version_info >= (3, 0):             # <<<<<<<<<<<<<<
 *     str_conversion = lambda x:bytes(x,'utf-8')
 * else:
*/
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_sys); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_version_info); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyObject_RichCompare(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[31], Py_GE); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 52, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(2, 52, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  if (__pyx_t_8) {

    /* "src/pyscipopt/scip.pxi":53
 * 
 * if sys.version_info >= (3, 0):
 *     str_conversion = lambda x:bytes(x,'utf-8')             # <<<<<<<<<<<<<<
 * else:
 *     str_conversion = lambda x:x
*/
    __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_85lambda16, 0, __pyx_mstate_global->__pyx_n_u_lambda, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[273])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 53, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
    PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
    #endif
    if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_str_conversion, __pyx_t_13) < (0)) __PYX_ERR(2, 53, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

    /* "src/pyscipopt/scip.pxi":52
 * # todo: check whether this is currently done like this
 * 
 * if sys.version_info >= (3, 0):             # <<<<<<<<<<<<<<
 *     str_conversion = lambda x:bytes(x,'utf-8')
 * else:
*/
    goto __pyx_L44;
  }

  /* "src/pyscipopt/scip.pxi":55
 *     str_conversion = lambda x:bytes(x,'utf-8')
 * else:
 *     str_conversion = lambda x:x             # <<<<<<<<<<<<<<
 * 
 * _SCIP_BOUNDTYPE_TO_STRING = {SCIP_BOUNDTYPE_UPPER: '<=',
*/
  /*else*/ {
    __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_86lambda17, 0, __pyx_mstate_global->__pyx_n_u_lambda, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[274])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 55, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_13);
    #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
    PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
    #endif
    if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_str_conversion, __pyx_t_13) < (0)) __PYX_ERR(2, 55, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  }
  __pyx_L44:;

  /* "src/pyscipopt/scip.pxi":57
 *     str_conversion = lambda x:x
 * 
 * _SCIP_BOUNDTYPE_TO_STRING = {SCIP_BOUNDTYPE_UPPER: '<=',             # <<<<<<<<<<<<<<
 *                              SCIP_BOUNDTYPE_LOWER: '>='}
 * 
*/
  __pyx_t_13 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_11 = __Pyx_PyLong_From_SCIP_BOUNDTYPE(SCIP_BOUNDTYPE_UPPER); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_t_13, __pyx_t_11, __pyx_mstate_global->__pyx_kp_u__27) < (0)) __PYX_ERR(2, 57, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":58
 * 
 * _SCIP_BOUNDTYPE_TO_STRING = {SCIP_BOUNDTYPE_UPPER: '<=',
 *                              SCIP_BOUNDTYPE_LOWER: '>='}             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "scip/config.h":
*/
  __pyx_t_11 = __Pyx_PyLong_From_SCIP_BOUNDTYPE(SCIP_BOUNDTYPE_LOWER); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 58, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_t_13, __pyx_t_11, __pyx_mstate_global->__pyx_kp_u__28) < (0)) __PYX_ERR(2, 57, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_SCIP_BOUNDTYPE_TO_STRING, __pyx_t_13) < (0)) __PYX_ERR(2, 57, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":75
 * # original naming scheme using capital letters
 * cdef class PY_SCIP_RESULT:
 *     DIDNOTRUN   = SCIP_DIDNOTRUN             # <<<<<<<<<<<<<<
 *     DELAYED     = SCIP_DELAYED
 *     DIDNOTFIND  = SCIP_DIDNOTFIND
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_DIDNOTRUN); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 75, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_DIDNOTRUN, __pyx_t_13) < (0)) __PYX_ERR(2, 75, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":76
 * cdef class PY_SCIP_RESULT:
 *     DIDNOTRUN   = SCIP_DIDNOTRUN
 *     DELAYED     = SCIP_DELAYED             # <<<<<<<<<<<<<<
 *     DIDNOTFIND  = SCIP_DIDNOTFIND
 *     FEASIBLE    = SCIP_FEASIBLE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_DELAYED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_DELAYED, __pyx_t_13) < (0)) __PYX_ERR(2, 76, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":77
 *     DIDNOTRUN   = SCIP_DIDNOTRUN
 *     DELAYED     = SCIP_DELAYED
 *     DIDNOTFIND  = SCIP_DIDNOTFIND             # <<<<<<<<<<<<<<
 *     FEASIBLE    = SCIP_FEASIBLE
 *     INFEASIBLE  = SCIP_INFEASIBLE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_DIDNOTFIND); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 77, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_DIDNOTFIND, __pyx_t_13) < (0)) __PYX_ERR(2, 77, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":78
 *     DELAYED     = SCIP_DELAYED
 *     DIDNOTFIND  = SCIP_DIDNOTFIND
 *     FEASIBLE    = SCIP_FEASIBLE             # <<<<<<<<<<<<<<
 *     INFEASIBLE  = SCIP_INFEASIBLE
 *     UNBOUNDED   = SCIP_UNBOUNDED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_FEASIBLE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 78, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_FEASIBLE, __pyx_t_13) < (0)) __PYX_ERR(2, 78, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":79
 *     DIDNOTFIND  = SCIP_DIDNOTFIND
 *     FEASIBLE    = SCIP_FEASIBLE
 *     INFEASIBLE  = SCIP_INFEASIBLE             # <<<<<<<<<<<<<<
 *     UNBOUNDED   = SCIP_UNBOUNDED
 *     CUTOFF      = SCIP_CUTOFF
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_INFEASIBLE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 79, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_INFEASIBLE, __pyx_t_13) < (0)) __PYX_ERR(2, 79, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":80
 *     FEASIBLE    = SCIP_FEASIBLE
 *     INFEASIBLE  = SCIP_INFEASIBLE
 *     UNBOUNDED   = SCIP_UNBOUNDED             # <<<<<<<<<<<<<<
 *     CUTOFF      = SCIP_CUTOFF
 *     SEPARATED   = SCIP_SEPARATED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_UNBOUNDED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 80, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_UNBOUNDED, __pyx_t_13) < (0)) __PYX_ERR(2, 80, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":81
 *     INFEASIBLE  = SCIP_INFEASIBLE
 *     UNBOUNDED   = SCIP_UNBOUNDED
 *     CUTOFF      = SCIP_CUTOFF             # <<<<<<<<<<<<<<
 *     SEPARATED   = SCIP_SEPARATED
 *     NEWROUND    = SCIP_NEWROUND
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_CUTOFF); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 81, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_CUTOFF, __pyx_t_13) < (0)) __PYX_ERR(2, 81, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":82
 *     UNBOUNDED   = SCIP_UNBOUNDED
 *     CUTOFF      = SCIP_CUTOFF
 *     SEPARATED   = SCIP_SEPARATED             # <<<<<<<<<<<<<<
 *     NEWROUND    = SCIP_NEWROUND
 *     REDUCEDDOM  = SCIP_REDUCEDDOM
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_SEPARATED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_SEPARATED, __pyx_t_13) < (0)) __PYX_ERR(2, 82, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":83
 *     CUTOFF      = SCIP_CUTOFF
 *     SEPARATED   = SCIP_SEPARATED
 *     NEWROUND    = SCIP_NEWROUND             # <<<<<<<<<<<<<<
 *     REDUCEDDOM  = SCIP_REDUCEDDOM
 *     CONSADDED   = SCIP_CONSADDED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_NEWROUND); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_NEWROUND, __pyx_t_13) < (0)) __PYX_ERR(2, 83, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":84
 *     SEPARATED   = SCIP_SEPARATED
 *     NEWROUND    = SCIP_NEWROUND
 *     REDUCEDDOM  = SCIP_REDUCEDDOM             # <<<<<<<<<<<<<<
 *     CONSADDED   = SCIP_CONSADDED
 *     CONSCHANGED = SCIP_CONSCHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_REDUCEDDOM); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_REDUCEDDOM, __pyx_t_13) < (0)) __PYX_ERR(2, 84, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":85
 *     NEWROUND    = SCIP_NEWROUND
 *     REDUCEDDOM  = SCIP_REDUCEDDOM
 *     CONSADDED   = SCIP_CONSADDED             # <<<<<<<<<<<<<<
 *     CONSCHANGED = SCIP_CONSCHANGED
 *     BRANCHED    = SCIP_BRANCHED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_CONSADDED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_CONSADDED, __pyx_t_13) < (0)) __PYX_ERR(2, 85, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":86
 *     REDUCEDDOM  = SCIP_REDUCEDDOM
 *     CONSADDED   = SCIP_CONSADDED
 *     CONSCHANGED = SCIP_CONSCHANGED             # <<<<<<<<<<<<<<
 *     BRANCHED    = SCIP_BRANCHED
 *     SOLVELP     = SCIP_SOLVELP
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_CONSCHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_CONSCHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 86, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":87
 *     CONSADDED   = SCIP_CONSADDED
 *     CONSCHANGED = SCIP_CONSCHANGED
 *     BRANCHED    = SCIP_BRANCHED             # <<<<<<<<<<<<<<
 *     SOLVELP     = SCIP_SOLVELP
 *     FOUNDSOL    = SCIP_FOUNDSOL
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_BRANCHED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_BRANCHED, __pyx_t_13) < (0)) __PYX_ERR(2, 87, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":88
 *     CONSCHANGED = SCIP_CONSCHANGED
 *     BRANCHED    = SCIP_BRANCHED
 *     SOLVELP     = SCIP_SOLVELP             # <<<<<<<<<<<<<<
 *     FOUNDSOL    = SCIP_FOUNDSOL
 *     SUSPENDED   = SCIP_SUSPENDED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_SOLVELP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_SOLVELP, __pyx_t_13) < (0)) __PYX_ERR(2, 88, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":89
 *     BRANCHED    = SCIP_BRANCHED
 *     SOLVELP     = SCIP_SOLVELP
 *     FOUNDSOL    = SCIP_FOUNDSOL             # <<<<<<<<<<<<<<
 *     SUSPENDED   = SCIP_SUSPENDED
 *     SUCCESS     = SCIP_SUCCESS
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_FOUNDSOL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_FOUNDSOL, __pyx_t_13) < (0)) __PYX_ERR(2, 89, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":90
 *     SOLVELP     = SCIP_SOLVELP
 *     FOUNDSOL    = SCIP_FOUNDSOL
 *     SUSPENDED   = SCIP_SUSPENDED             # <<<<<<<<<<<<<<
 *     SUCCESS     = SCIP_SUCCESS
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_SUSPENDED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_SUSPENDED, __pyx_t_13) < (0)) __PYX_ERR(2, 90, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":91
 *     FOUNDSOL    = SCIP_FOUNDSOL
 *     SUSPENDED   = SCIP_SUSPENDED
 *     SUCCESS     = SCIP_SUCCESS             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_PARAMSETTING:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_RESULT(SCIP_SUCCESS); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 91, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_SUCCESS, __pyx_t_13) < (0)) __PYX_ERR(2, 91, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14PY_SCIP_RESULT_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_RESULT___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[275])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_RESULT, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_RESULT__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14PY_SCIP_RESULT_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_RESULT___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[276])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_RESULT, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":94
 * 
 * cdef class PY_SCIP_PARAMSETTING:
 *     DEFAULT     = SCIP_PARAMSETTING_DEFAULT             # <<<<<<<<<<<<<<
 *     AGGRESSIVE  = SCIP_PARAMSETTING_AGGRESSIVE
 *     FAST        = SCIP_PARAMSETTING_FAST
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMSETTING(SCIP_PARAMSETTING_DEFAULT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 94, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING, __pyx_mstate_global->__pyx_n_u_DEFAULT, __pyx_t_13) < (0)) __PYX_ERR(2, 94, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":95
 * cdef class PY_SCIP_PARAMSETTING:
 *     DEFAULT     = SCIP_PARAMSETTING_DEFAULT
 *     AGGRESSIVE  = SCIP_PARAMSETTING_AGGRESSIVE             # <<<<<<<<<<<<<<
 *     FAST        = SCIP_PARAMSETTING_FAST
 *     OFF         = SCIP_PARAMSETTING_OFF
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMSETTING(SCIP_PARAMSETTING_AGGRESSIVE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 95, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING, __pyx_mstate_global->__pyx_n_u_AGGRESSIVE, __pyx_t_13) < (0)) __PYX_ERR(2, 95, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":96
 *     DEFAULT     = SCIP_PARAMSETTING_DEFAULT
 *     AGGRESSIVE  = SCIP_PARAMSETTING_AGGRESSIVE
 *     FAST        = SCIP_PARAMSETTING_FAST             # <<<<<<<<<<<<<<
 *     OFF         = SCIP_PARAMSETTING_OFF
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMSETTING(SCIP_PARAMSETTING_FAST); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 96, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING, __pyx_mstate_global->__pyx_n_u_FAST, __pyx_t_13) < (0)) __PYX_ERR(2, 96, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":97
 *     AGGRESSIVE  = SCIP_PARAMSETTING_AGGRESSIVE
 *     FAST        = SCIP_PARAMSETTING_FAST
 *     OFF         = SCIP_PARAMSETTING_OFF             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_LPPARAM:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMSETTING(SCIP_PARAMSETTING_OFF); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING, __pyx_mstate_global->__pyx_n_u_OFF, __pyx_t_13) < (0)) __PYX_ERR(2, 97, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_PARAMSETTING___reduce_cy, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[277])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PARAMSETTING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_PARAMSETTING__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_20PY_SCIP_PARAMSETTING_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_PARAMSETTING___setstate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[278])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMSETTING, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":100
 * 
 * cdef class PY_SCIP_LPPARAM:
 *     FROMSCRATCH    = SCIP_LPPAR_FROMSCRATCH             # <<<<<<<<<<<<<<
 *     FASTMIP        = SCIP_LPPAR_FASTMIP
 *     SCALING        = SCIP_LPPAR_SCALING
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_FROMSCRATCH); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 100, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_FROMSCRATCH, __pyx_t_13) < (0)) __PYX_ERR(2, 100, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":101
 * cdef class PY_SCIP_LPPARAM:
 *     FROMSCRATCH    = SCIP_LPPAR_FROMSCRATCH
 *     FASTMIP        = SCIP_LPPAR_FASTMIP             # <<<<<<<<<<<<<<
 *     SCALING        = SCIP_LPPAR_SCALING
 *     PRESOLVING     = SCIP_LPPAR_PRESOLVING
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_FASTMIP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_FASTMIP, __pyx_t_13) < (0)) __PYX_ERR(2, 101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":102
 *     FROMSCRATCH    = SCIP_LPPAR_FROMSCRATCH
 *     FASTMIP        = SCIP_LPPAR_FASTMIP
 *     SCALING        = SCIP_LPPAR_SCALING             # <<<<<<<<<<<<<<
 *     PRESOLVING     = SCIP_LPPAR_PRESOLVING
 *     PRICING        = SCIP_LPPAR_PRICING
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_SCALING); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 102, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_SCALING, __pyx_t_13) < (0)) __PYX_ERR(2, 102, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":103
 *     FASTMIP        = SCIP_LPPAR_FASTMIP
 *     SCALING        = SCIP_LPPAR_SCALING
 *     PRESOLVING     = SCIP_LPPAR_PRESOLVING             # <<<<<<<<<<<<<<
 *     PRICING        = SCIP_LPPAR_PRICING
 *     LPINFO         = SCIP_LPPAR_LPINFO
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_PRESOLVING); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_PRESOLVING, __pyx_t_13) < (0)) __PYX_ERR(2, 103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":104
 *     SCALING        = SCIP_LPPAR_SCALING
 *     PRESOLVING     = SCIP_LPPAR_PRESOLVING
 *     PRICING        = SCIP_LPPAR_PRICING             # <<<<<<<<<<<<<<
 *     LPINFO         = SCIP_LPPAR_LPINFO
 *     FEASTOL        = SCIP_LPPAR_FEASTOL
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_PRICING); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_PRICING, __pyx_t_13) < (0)) __PYX_ERR(2, 104, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":105
 *     PRESOLVING     = SCIP_LPPAR_PRESOLVING
 *     PRICING        = SCIP_LPPAR_PRICING
 *     LPINFO         = SCIP_LPPAR_LPINFO             # <<<<<<<<<<<<<<
 *     FEASTOL        = SCIP_LPPAR_FEASTOL
 *     DUALFEASTOL    = SCIP_LPPAR_DUALFEASTOL
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_LPINFO); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 105, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_LPINFO, __pyx_t_13) < (0)) __PYX_ERR(2, 105, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":106
 *     PRICING        = SCIP_LPPAR_PRICING
 *     LPINFO         = SCIP_LPPAR_LPINFO
 *     FEASTOL        = SCIP_LPPAR_FEASTOL             # <<<<<<<<<<<<<<
 *     DUALFEASTOL    = SCIP_LPPAR_DUALFEASTOL
 *     BARRIERCONVTOL = SCIP_LPPAR_BARRIERCONVTOL
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_FEASTOL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_FEASTOL, __pyx_t_13) < (0)) __PYX_ERR(2, 106, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":107
 *     LPINFO         = SCIP_LPPAR_LPINFO
 *     FEASTOL        = SCIP_LPPAR_FEASTOL
 *     DUALFEASTOL    = SCIP_LPPAR_DUALFEASTOL             # <<<<<<<<<<<<<<
 *     BARRIERCONVTOL = SCIP_LPPAR_BARRIERCONVTOL
 *     OBJLIM         = SCIP_LPPAR_OBJLIM
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_DUALFEASTOL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 107, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_DUALFEASTOL, __pyx_t_13) < (0)) __PYX_ERR(2, 107, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":108
 *     FEASTOL        = SCIP_LPPAR_FEASTOL
 *     DUALFEASTOL    = SCIP_LPPAR_DUALFEASTOL
 *     BARRIERCONVTOL = SCIP_LPPAR_BARRIERCONVTOL             # <<<<<<<<<<<<<<
 *     OBJLIM         = SCIP_LPPAR_OBJLIM
 *     LPITLIM        = SCIP_LPPAR_LPITLIM
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_BARRIERCONVTOL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_BARRIERCONVTOL, __pyx_t_13) < (0)) __PYX_ERR(2, 108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":109
 *     DUALFEASTOL    = SCIP_LPPAR_DUALFEASTOL
 *     BARRIERCONVTOL = SCIP_LPPAR_BARRIERCONVTOL
 *     OBJLIM         = SCIP_LPPAR_OBJLIM             # <<<<<<<<<<<<<<
 *     LPITLIM        = SCIP_LPPAR_LPITLIM
 *     LPTILIM        = SCIP_LPPAR_LPTILIM
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_OBJLIM); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 109, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_OBJLIM, __pyx_t_13) < (0)) __PYX_ERR(2, 109, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":110
 *     BARRIERCONVTOL = SCIP_LPPAR_BARRIERCONVTOL
 *     OBJLIM         = SCIP_LPPAR_OBJLIM
 *     LPITLIM        = SCIP_LPPAR_LPITLIM             # <<<<<<<<<<<<<<
 *     LPTILIM        = SCIP_LPPAR_LPTILIM
 *     MARKOWITZ      = SCIP_LPPAR_MARKOWITZ
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_LPITLIM); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 110, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_LPITLIM, __pyx_t_13) < (0)) __PYX_ERR(2, 110, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":111
 *     OBJLIM         = SCIP_LPPAR_OBJLIM
 *     LPITLIM        = SCIP_LPPAR_LPITLIM
 *     LPTILIM        = SCIP_LPPAR_LPTILIM             # <<<<<<<<<<<<<<
 *     MARKOWITZ      = SCIP_LPPAR_MARKOWITZ
 *     ROWREPSWITCH   = SCIP_LPPAR_ROWREPSWITCH
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_LPTILIM); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_LPTILIM, __pyx_t_13) < (0)) __PYX_ERR(2, 111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":112
 *     LPITLIM        = SCIP_LPPAR_LPITLIM
 *     LPTILIM        = SCIP_LPPAR_LPTILIM
 *     MARKOWITZ      = SCIP_LPPAR_MARKOWITZ             # <<<<<<<<<<<<<<
 *     ROWREPSWITCH   = SCIP_LPPAR_ROWREPSWITCH
 *     THREADS        = SCIP_LPPAR_THREADS
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_MARKOWITZ); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_MARKOWITZ, __pyx_t_13) < (0)) __PYX_ERR(2, 112, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":113
 *     LPTILIM        = SCIP_LPPAR_LPTILIM
 *     MARKOWITZ      = SCIP_LPPAR_MARKOWITZ
 *     ROWREPSWITCH   = SCIP_LPPAR_ROWREPSWITCH             # <<<<<<<<<<<<<<
 *     THREADS        = SCIP_LPPAR_THREADS
 *     CONDITIONLIMIT = SCIP_LPPAR_CONDITIONLIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_ROWREPSWITCH); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_ROWREPSWITCH, __pyx_t_13) < (0)) __PYX_ERR(2, 113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":114
 *     MARKOWITZ      = SCIP_LPPAR_MARKOWITZ
 *     ROWREPSWITCH   = SCIP_LPPAR_ROWREPSWITCH
 *     THREADS        = SCIP_LPPAR_THREADS             # <<<<<<<<<<<<<<
 *     CONDITIONLIMIT = SCIP_LPPAR_CONDITIONLIMIT
 *     TIMING         = SCIP_LPPAR_TIMING
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_THREADS); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_THREADS, __pyx_t_13) < (0)) __PYX_ERR(2, 114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":115
 *     ROWREPSWITCH   = SCIP_LPPAR_ROWREPSWITCH
 *     THREADS        = SCIP_LPPAR_THREADS
 *     CONDITIONLIMIT = SCIP_LPPAR_CONDITIONLIMIT             # <<<<<<<<<<<<<<
 *     TIMING         = SCIP_LPPAR_TIMING
 *     RANDOMSEED     = SCIP_LPPAR_RANDOMSEED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_CONDITIONLIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_CONDITIONLIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 115, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":116
 *     THREADS        = SCIP_LPPAR_THREADS
 *     CONDITIONLIMIT = SCIP_LPPAR_CONDITIONLIMIT
 *     TIMING         = SCIP_LPPAR_TIMING             # <<<<<<<<<<<<<<
 *     RANDOMSEED     = SCIP_LPPAR_RANDOMSEED
 *     POLISHING      = SCIP_LPPAR_POLISHING
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_TIMING); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_TIMING, __pyx_t_13) < (0)) __PYX_ERR(2, 116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":117
 *     CONDITIONLIMIT = SCIP_LPPAR_CONDITIONLIMIT
 *     TIMING         = SCIP_LPPAR_TIMING
 *     RANDOMSEED     = SCIP_LPPAR_RANDOMSEED             # <<<<<<<<<<<<<<
 *     POLISHING      = SCIP_LPPAR_POLISHING
 *     REFACTOR       = SCIP_LPPAR_REFACTOR
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_RANDOMSEED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 117, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_RANDOMSEED, __pyx_t_13) < (0)) __PYX_ERR(2, 117, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":118
 *     TIMING         = SCIP_LPPAR_TIMING
 *     RANDOMSEED     = SCIP_LPPAR_RANDOMSEED
 *     POLISHING      = SCIP_LPPAR_POLISHING             # <<<<<<<<<<<<<<
 *     REFACTOR       = SCIP_LPPAR_REFACTOR
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_POLISHING); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_POLISHING, __pyx_t_13) < (0)) __PYX_ERR(2, 118, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":119
 *     RANDOMSEED     = SCIP_LPPAR_RANDOMSEED
 *     POLISHING      = SCIP_LPPAR_POLISHING
 *     REFACTOR       = SCIP_LPPAR_REFACTOR             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_PARAMEMPHASIS:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPAR_REFACTOR); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 119, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_REFACTOR, __pyx_t_13) < (0)) __PYX_ERR(2, 119, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_15PY_SCIP_LPPARAM_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_LPPARAM___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[279])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LPPARAM, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_LPPARAM__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_15PY_SCIP_LPPARAM_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_LPPARAM___setstate_cytho, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[280])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPPARAM, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":122
 * 
 * cdef class PY_SCIP_PARAMEMPHASIS:
 *     DEFAULT      = SCIP_PARAMEMPHASIS_DEFAULT             # <<<<<<<<<<<<<<
 *     CPSOLVER     = SCIP_PARAMEMPHASIS_CPSOLVER
 *     EASYCIP      = SCIP_PARAMEMPHASIS_EASYCIP
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS_DEFAULT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_DEFAULT, __pyx_t_13) < (0)) __PYX_ERR(2, 122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":123
 * cdef class PY_SCIP_PARAMEMPHASIS:
 *     DEFAULT      = SCIP_PARAMEMPHASIS_DEFAULT
 *     CPSOLVER     = SCIP_PARAMEMPHASIS_CPSOLVER             # <<<<<<<<<<<<<<
 *     EASYCIP      = SCIP_PARAMEMPHASIS_EASYCIP
 *     FEASIBILITY  = SCIP_PARAMEMPHASIS_FEASIBILITY
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS_CPSOLVER); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_CPSOLVER, __pyx_t_13) < (0)) __PYX_ERR(2, 123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":124
 *     DEFAULT      = SCIP_PARAMEMPHASIS_DEFAULT
 *     CPSOLVER     = SCIP_PARAMEMPHASIS_CPSOLVER
 *     EASYCIP      = SCIP_PARAMEMPHASIS_EASYCIP             # <<<<<<<<<<<<<<
 *     FEASIBILITY  = SCIP_PARAMEMPHASIS_FEASIBILITY
 *     HARDLP       = SCIP_PARAMEMPHASIS_HARDLP
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS_EASYCIP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_EASYCIP, __pyx_t_13) < (0)) __PYX_ERR(2, 124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":125
 *     CPSOLVER     = SCIP_PARAMEMPHASIS_CPSOLVER
 *     EASYCIP      = SCIP_PARAMEMPHASIS_EASYCIP
 *     FEASIBILITY  = SCIP_PARAMEMPHASIS_FEASIBILITY             # <<<<<<<<<<<<<<
 *     HARDLP       = SCIP_PARAMEMPHASIS_HARDLP
 *     OPTIMALITY   = SCIP_PARAMEMPHASIS_OPTIMALITY
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS_FEASIBILITY); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_FEASIBILITY, __pyx_t_13) < (0)) __PYX_ERR(2, 125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":126
 *     EASYCIP      = SCIP_PARAMEMPHASIS_EASYCIP
 *     FEASIBILITY  = SCIP_PARAMEMPHASIS_FEASIBILITY
 *     HARDLP       = SCIP_PARAMEMPHASIS_HARDLP             # <<<<<<<<<<<<<<
 *     OPTIMALITY   = SCIP_PARAMEMPHASIS_OPTIMALITY
 *     COUNTER      = SCIP_PARAMEMPHASIS_COUNTER
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS_HARDLP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 126, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_HARDLP, __pyx_t_13) < (0)) __PYX_ERR(2, 126, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":127
 *     FEASIBILITY  = SCIP_PARAMEMPHASIS_FEASIBILITY
 *     HARDLP       = SCIP_PARAMEMPHASIS_HARDLP
 *     OPTIMALITY   = SCIP_PARAMEMPHASIS_OPTIMALITY             # <<<<<<<<<<<<<<
 *     COUNTER      = SCIP_PARAMEMPHASIS_COUNTER
 *     PHASEFEAS    = SCIP_PARAMEMPHASIS_PHASEFEAS
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS_OPTIMALITY); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_OPTIMALITY, __pyx_t_13) < (0)) __PYX_ERR(2, 127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":128
 *     HARDLP       = SCIP_PARAMEMPHASIS_HARDLP
 *     OPTIMALITY   = SCIP_PARAMEMPHASIS_OPTIMALITY
 *     COUNTER      = SCIP_PARAMEMPHASIS_COUNTER             # <<<<<<<<<<<<<<
 *     PHASEFEAS    = SCIP_PARAMEMPHASIS_PHASEFEAS
 *     PHASEIMPROVE = SCIP_PARAMEMPHASIS_PHASEIMPROVE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS_COUNTER); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 128, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_COUNTER, __pyx_t_13) < (0)) __PYX_ERR(2, 128, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":129
 *     OPTIMALITY   = SCIP_PARAMEMPHASIS_OPTIMALITY
 *     COUNTER      = SCIP_PARAMEMPHASIS_COUNTER
 *     PHASEFEAS    = SCIP_PARAMEMPHASIS_PHASEFEAS             # <<<<<<<<<<<<<<
 *     PHASEIMPROVE = SCIP_PARAMEMPHASIS_PHASEIMPROVE
 *     PHASEPROOF   = SCIP_PARAMEMPHASIS_PHASEPROOF
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS_PHASEFEAS); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 129, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_PHASEFEAS, __pyx_t_13) < (0)) __PYX_ERR(2, 129, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":130
 *     COUNTER      = SCIP_PARAMEMPHASIS_COUNTER
 *     PHASEFEAS    = SCIP_PARAMEMPHASIS_PHASEFEAS
 *     PHASEIMPROVE = SCIP_PARAMEMPHASIS_PHASEIMPROVE             # <<<<<<<<<<<<<<
 *     PHASEPROOF   = SCIP_PARAMEMPHASIS_PHASEPROOF
 *     NUMERICS     = SCIP_PARAMEMPHASIS_NUMERICS
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS_PHASEIMPROVE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_PHASEIMPROVE, __pyx_t_13) < (0)) __PYX_ERR(2, 130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":131
 *     PHASEFEAS    = SCIP_PARAMEMPHASIS_PHASEFEAS
 *     PHASEIMPROVE = SCIP_PARAMEMPHASIS_PHASEIMPROVE
 *     PHASEPROOF   = SCIP_PARAMEMPHASIS_PHASEPROOF             # <<<<<<<<<<<<<<
 *     NUMERICS     = SCIP_PARAMEMPHASIS_NUMERICS
 *     BENCHMARK    = SCIP_PARAMEMPHASIS_BENCHMARK
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS_PHASEPROOF); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 131, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_PHASEPROOF, __pyx_t_13) < (0)) __PYX_ERR(2, 131, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":132
 *     PHASEIMPROVE = SCIP_PARAMEMPHASIS_PHASEIMPROVE
 *     PHASEPROOF   = SCIP_PARAMEMPHASIS_PHASEPROOF
 *     NUMERICS     = SCIP_PARAMEMPHASIS_NUMERICS             # <<<<<<<<<<<<<<
 *     BENCHMARK    = SCIP_PARAMEMPHASIS_BENCHMARK
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS_NUMERICS); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 132, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_NUMERICS, __pyx_t_13) < (0)) __PYX_ERR(2, 132, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":133
 *     PHASEPROOF   = SCIP_PARAMEMPHASIS_PHASEPROOF
 *     NUMERICS     = SCIP_PARAMEMPHASIS_NUMERICS
 *     BENCHMARK    = SCIP_PARAMEMPHASIS_BENCHMARK             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_STATUS:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS_BENCHMARK); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_BENCHMARK, __pyx_t_13) < (0)) __PYX_ERR(2, 133, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_PARAMEMPHASIS___reduce_c, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[281])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PARAMEMPHASIS, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_PARAMEMPHASIS__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_21PY_SCIP_PARAMEMPHASIS_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_PARAMEMPHASIS___setstate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[282])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PARAMEMPHASIS, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":136
 * 
 * cdef class PY_SCIP_STATUS:
 *     UNKNOWN        = SCIP_STATUS_UNKNOWN             # <<<<<<<<<<<<<<
 *     USERINTERRUPT  = SCIP_STATUS_USERINTERRUPT
 *     NODELIMIT      = SCIP_STATUS_NODELIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_UNKNOWN); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_UNKNOWN, __pyx_t_13) < (0)) __PYX_ERR(2, 136, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":137
 * cdef class PY_SCIP_STATUS:
 *     UNKNOWN        = SCIP_STATUS_UNKNOWN
 *     USERINTERRUPT  = SCIP_STATUS_USERINTERRUPT             # <<<<<<<<<<<<<<
 *     NODELIMIT      = SCIP_STATUS_NODELIMIT
 *     TOTALNODELIMIT = SCIP_STATUS_TOTALNODELIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_USERINTERRUPT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_USERINTERRUPT, __pyx_t_13) < (0)) __PYX_ERR(2, 137, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":138
 *     UNKNOWN        = SCIP_STATUS_UNKNOWN
 *     USERINTERRUPT  = SCIP_STATUS_USERINTERRUPT
 *     NODELIMIT      = SCIP_STATUS_NODELIMIT             # <<<<<<<<<<<<<<
 *     TOTALNODELIMIT = SCIP_STATUS_TOTALNODELIMIT
 *     STALLNODELIMIT = SCIP_STATUS_STALLNODELIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_NODELIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 138, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_NODELIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 138, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":139
 *     USERINTERRUPT  = SCIP_STATUS_USERINTERRUPT
 *     NODELIMIT      = SCIP_STATUS_NODELIMIT
 *     TOTALNODELIMIT = SCIP_STATUS_TOTALNODELIMIT             # <<<<<<<<<<<<<<
 *     STALLNODELIMIT = SCIP_STATUS_STALLNODELIMIT
 *     TIMELIMIT      = SCIP_STATUS_TIMELIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_TOTALNODELIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 139, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_TOTALNODELIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 139, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":140
 *     NODELIMIT      = SCIP_STATUS_NODELIMIT
 *     TOTALNODELIMIT = SCIP_STATUS_TOTALNODELIMIT
 *     STALLNODELIMIT = SCIP_STATUS_STALLNODELIMIT             # <<<<<<<<<<<<<<
 *     TIMELIMIT      = SCIP_STATUS_TIMELIMIT
 *     MEMLIMIT       = SCIP_STATUS_MEMLIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_STALLNODELIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 140, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_STALLNODELIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 140, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":141
 *     TOTALNODELIMIT = SCIP_STATUS_TOTALNODELIMIT
 *     STALLNODELIMIT = SCIP_STATUS_STALLNODELIMIT
 *     TIMELIMIT      = SCIP_STATUS_TIMELIMIT             # <<<<<<<<<<<<<<
 *     MEMLIMIT       = SCIP_STATUS_MEMLIMIT
 *     GAPLIMIT       = SCIP_STATUS_GAPLIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_TIMELIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_TIMELIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":142
 *     STALLNODELIMIT = SCIP_STATUS_STALLNODELIMIT
 *     TIMELIMIT      = SCIP_STATUS_TIMELIMIT
 *     MEMLIMIT       = SCIP_STATUS_MEMLIMIT             # <<<<<<<<<<<<<<
 *     GAPLIMIT       = SCIP_STATUS_GAPLIMIT
 *     SOLLIMIT       = SCIP_STATUS_SOLLIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_MEMLIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_MEMLIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 142, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":143
 *     TIMELIMIT      = SCIP_STATUS_TIMELIMIT
 *     MEMLIMIT       = SCIP_STATUS_MEMLIMIT
 *     GAPLIMIT       = SCIP_STATUS_GAPLIMIT             # <<<<<<<<<<<<<<
 *     SOLLIMIT       = SCIP_STATUS_SOLLIMIT
 *     BESTSOLLIMIT   = SCIP_STATUS_BESTSOLLIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_GAPLIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_GAPLIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":144
 *     MEMLIMIT       = SCIP_STATUS_MEMLIMIT
 *     GAPLIMIT       = SCIP_STATUS_GAPLIMIT
 *     SOLLIMIT       = SCIP_STATUS_SOLLIMIT             # <<<<<<<<<<<<<<
 *     BESTSOLLIMIT   = SCIP_STATUS_BESTSOLLIMIT
 *     RESTARTLIMIT   = SCIP_STATUS_RESTARTLIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_SOLLIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_SOLLIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":145
 *     GAPLIMIT       = SCIP_STATUS_GAPLIMIT
 *     SOLLIMIT       = SCIP_STATUS_SOLLIMIT
 *     BESTSOLLIMIT   = SCIP_STATUS_BESTSOLLIMIT             # <<<<<<<<<<<<<<
 *     RESTARTLIMIT   = SCIP_STATUS_RESTARTLIMIT
 *     PRIMALLIMIT    = SCIP_STATUS_PRIMALLIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_BESTSOLLIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_BESTSOLLIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 145, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":146
 *     SOLLIMIT       = SCIP_STATUS_SOLLIMIT
 *     BESTSOLLIMIT   = SCIP_STATUS_BESTSOLLIMIT
 *     RESTARTLIMIT   = SCIP_STATUS_RESTARTLIMIT             # <<<<<<<<<<<<<<
 *     PRIMALLIMIT    = SCIP_STATUS_PRIMALLIMIT
 *     DUALLIMIT      = SCIP_STATUS_DUALLIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_RESTARTLIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_RESTARTLIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 146, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":147
 *     BESTSOLLIMIT   = SCIP_STATUS_BESTSOLLIMIT
 *     RESTARTLIMIT   = SCIP_STATUS_RESTARTLIMIT
 *     PRIMALLIMIT    = SCIP_STATUS_PRIMALLIMIT             # <<<<<<<<<<<<<<
 *     DUALLIMIT      = SCIP_STATUS_DUALLIMIT
 *     OPTIMAL        = SCIP_STATUS_OPTIMAL
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_PRIMALLIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 147, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_PRIMALLIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 147, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":148
 *     RESTARTLIMIT   = SCIP_STATUS_RESTARTLIMIT
 *     PRIMALLIMIT    = SCIP_STATUS_PRIMALLIMIT
 *     DUALLIMIT      = SCIP_STATUS_DUALLIMIT             # <<<<<<<<<<<<<<
 *     OPTIMAL        = SCIP_STATUS_OPTIMAL
 *     INFEASIBLE     = SCIP_STATUS_INFEASIBLE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_DUALLIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_DUALLIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":149
 *     PRIMALLIMIT    = SCIP_STATUS_PRIMALLIMIT
 *     DUALLIMIT      = SCIP_STATUS_DUALLIMIT
 *     OPTIMAL        = SCIP_STATUS_OPTIMAL             # <<<<<<<<<<<<<<
 *     INFEASIBLE     = SCIP_STATUS_INFEASIBLE
 *     UNBOUNDED      = SCIP_STATUS_UNBOUNDED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_OPTIMAL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_OPTIMAL, __pyx_t_13) < (0)) __PYX_ERR(2, 149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":150
 *     DUALLIMIT      = SCIP_STATUS_DUALLIMIT
 *     OPTIMAL        = SCIP_STATUS_OPTIMAL
 *     INFEASIBLE     = SCIP_STATUS_INFEASIBLE             # <<<<<<<<<<<<<<
 *     UNBOUNDED      = SCIP_STATUS_UNBOUNDED
 *     INFORUNBD      = SCIP_STATUS_INFORUNBD
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_INFEASIBLE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_INFEASIBLE, __pyx_t_13) < (0)) __PYX_ERR(2, 150, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":151
 *     OPTIMAL        = SCIP_STATUS_OPTIMAL
 *     INFEASIBLE     = SCIP_STATUS_INFEASIBLE
 *     UNBOUNDED      = SCIP_STATUS_UNBOUNDED             # <<<<<<<<<<<<<<
 *     INFORUNBD      = SCIP_STATUS_INFORUNBD
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_UNBOUNDED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 151, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_UNBOUNDED, __pyx_t_13) < (0)) __PYX_ERR(2, 151, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":152
 *     INFEASIBLE     = SCIP_STATUS_INFEASIBLE
 *     UNBOUNDED      = SCIP_STATUS_UNBOUNDED
 *     INFORUNBD      = SCIP_STATUS_INFORUNBD             # <<<<<<<<<<<<<<
 * 
 * StageNames = {}
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS_INFORUNBD); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 152, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_INFORUNBD, __pyx_t_13) < (0)) __PYX_ERR(2, 152, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14PY_SCIP_STATUS_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_STATUS___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[283])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_STATUS, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_STATUS__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14PY_SCIP_STATUS_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_STATUS___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[284])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STATUS, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":154
 *     INFORUNBD      = SCIP_STATUS_INFORUNBD
 * 
 * StageNames = {}             # <<<<<<<<<<<<<<
 * cdef class PY_SCIP_STAGE:
 *     INIT         = SCIP_STAGE_INIT
*/
  __pyx_t_13 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_StageNames, __pyx_t_13) < (0)) __PYX_ERR(2, 154, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":156
 * StageNames = {}
 * cdef class PY_SCIP_STAGE:
 *     INIT         = SCIP_STAGE_INIT             # <<<<<<<<<<<<<<
 *     PROBLEM      = SCIP_STAGE_PROBLEM
 *     TRANSFORMING = SCIP_STAGE_TRANSFORMING
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_INIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_INIT, __pyx_t_13) < (0)) __PYX_ERR(2, 156, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":157
 * cdef class PY_SCIP_STAGE:
 *     INIT         = SCIP_STAGE_INIT
 *     PROBLEM      = SCIP_STAGE_PROBLEM             # <<<<<<<<<<<<<<
 *     TRANSFORMING = SCIP_STAGE_TRANSFORMING
 *     TRANSFORMED  = SCIP_STAGE_TRANSFORMED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_PROBLEM); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_PROBLEM, __pyx_t_13) < (0)) __PYX_ERR(2, 157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":158
 *     INIT         = SCIP_STAGE_INIT
 *     PROBLEM      = SCIP_STAGE_PROBLEM
 *     TRANSFORMING = SCIP_STAGE_TRANSFORMING             # <<<<<<<<<<<<<<
 *     TRANSFORMED  = SCIP_STAGE_TRANSFORMED
 *     INITPRESOLVE = SCIP_STAGE_INITPRESOLVE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_TRANSFORMING); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_TRANSFORMING, __pyx_t_13) < (0)) __PYX_ERR(2, 158, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":159
 *     PROBLEM      = SCIP_STAGE_PROBLEM
 *     TRANSFORMING = SCIP_STAGE_TRANSFORMING
 *     TRANSFORMED  = SCIP_STAGE_TRANSFORMED             # <<<<<<<<<<<<<<
 *     INITPRESOLVE = SCIP_STAGE_INITPRESOLVE
 *     PRESOLVING   = SCIP_STAGE_PRESOLVING
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_TRANSFORMED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 159, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_TRANSFORMED, __pyx_t_13) < (0)) __PYX_ERR(2, 159, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":160
 *     TRANSFORMING = SCIP_STAGE_TRANSFORMING
 *     TRANSFORMED  = SCIP_STAGE_TRANSFORMED
 *     INITPRESOLVE = SCIP_STAGE_INITPRESOLVE             # <<<<<<<<<<<<<<
 *     PRESOLVING   = SCIP_STAGE_PRESOLVING
 *     EXITPRESOLVE = SCIP_STAGE_EXITPRESOLVE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_INITPRESOLVE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_INITPRESOLVE, __pyx_t_13) < (0)) __PYX_ERR(2, 160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":161
 *     TRANSFORMED  = SCIP_STAGE_TRANSFORMED
 *     INITPRESOLVE = SCIP_STAGE_INITPRESOLVE
 *     PRESOLVING   = SCIP_STAGE_PRESOLVING             # <<<<<<<<<<<<<<
 *     EXITPRESOLVE = SCIP_STAGE_EXITPRESOLVE
 *     PRESOLVED    = SCIP_STAGE_PRESOLVED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_PRESOLVING); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_PRESOLVING, __pyx_t_13) < (0)) __PYX_ERR(2, 161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":162
 *     INITPRESOLVE = SCIP_STAGE_INITPRESOLVE
 *     PRESOLVING   = SCIP_STAGE_PRESOLVING
 *     EXITPRESOLVE = SCIP_STAGE_EXITPRESOLVE             # <<<<<<<<<<<<<<
 *     PRESOLVED    = SCIP_STAGE_PRESOLVED
 *     INITSOLVE    = SCIP_STAGE_INITSOLVE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_EXITPRESOLVE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 162, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_EXITPRESOLVE, __pyx_t_13) < (0)) __PYX_ERR(2, 162, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":163
 *     PRESOLVING   = SCIP_STAGE_PRESOLVING
 *     EXITPRESOLVE = SCIP_STAGE_EXITPRESOLVE
 *     PRESOLVED    = SCIP_STAGE_PRESOLVED             # <<<<<<<<<<<<<<
 *     INITSOLVE    = SCIP_STAGE_INITSOLVE
 *     SOLVING      = SCIP_STAGE_SOLVING
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_PRESOLVED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_PRESOLVED, __pyx_t_13) < (0)) __PYX_ERR(2, 163, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":164
 *     EXITPRESOLVE = SCIP_STAGE_EXITPRESOLVE
 *     PRESOLVED    = SCIP_STAGE_PRESOLVED
 *     INITSOLVE    = SCIP_STAGE_INITSOLVE             # <<<<<<<<<<<<<<
 *     SOLVING      = SCIP_STAGE_SOLVING
 *     SOLVED       = SCIP_STAGE_SOLVED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_INITSOLVE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 164, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_INITSOLVE, __pyx_t_13) < (0)) __PYX_ERR(2, 164, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":165
 *     PRESOLVED    = SCIP_STAGE_PRESOLVED
 *     INITSOLVE    = SCIP_STAGE_INITSOLVE
 *     SOLVING      = SCIP_STAGE_SOLVING             # <<<<<<<<<<<<<<
 *     SOLVED       = SCIP_STAGE_SOLVED
 *     EXITSOLVE    = SCIP_STAGE_EXITSOLVE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_SOLVING); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_SOLVING, __pyx_t_13) < (0)) __PYX_ERR(2, 165, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":166
 *     INITSOLVE    = SCIP_STAGE_INITSOLVE
 *     SOLVING      = SCIP_STAGE_SOLVING
 *     SOLVED       = SCIP_STAGE_SOLVED             # <<<<<<<<<<<<<<
 *     EXITSOLVE    = SCIP_STAGE_EXITSOLVE
 *     FREETRANS    = SCIP_STAGE_FREETRANS
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_SOLVED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_SOLVED, __pyx_t_13) < (0)) __PYX_ERR(2, 166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":167
 *     SOLVING      = SCIP_STAGE_SOLVING
 *     SOLVED       = SCIP_STAGE_SOLVED
 *     EXITSOLVE    = SCIP_STAGE_EXITSOLVE             # <<<<<<<<<<<<<<
 *     FREETRANS    = SCIP_STAGE_FREETRANS
 *     FREE         = SCIP_STAGE_FREE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_EXITSOLVE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_EXITSOLVE, __pyx_t_13) < (0)) __PYX_ERR(2, 167, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":168
 *     SOLVED       = SCIP_STAGE_SOLVED
 *     EXITSOLVE    = SCIP_STAGE_EXITSOLVE
 *     FREETRANS    = SCIP_STAGE_FREETRANS             # <<<<<<<<<<<<<<
 *     FREE         = SCIP_STAGE_FREE
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_FREETRANS); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_FREETRANS, __pyx_t_13) < (0)) __PYX_ERR(2, 168, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":169
 *     EXITSOLVE    = SCIP_STAGE_EXITSOLVE
 *     FREETRANS    = SCIP_STAGE_FREETRANS
 *     FREE         = SCIP_STAGE_FREE             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_NODETYPE:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE_FREE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_FREE, __pyx_t_13) < (0)) __PYX_ERR(2, 169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_13PY_SCIP_STAGE_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_STAGE___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[285])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_STAGE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_STAGE__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_13PY_SCIP_STAGE_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_STAGE___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[286])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_STAGE, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":172
 * 
 * cdef class PY_SCIP_NODETYPE:
 *     FOCUSNODE   = SCIP_NODETYPE_FOCUSNODE             # <<<<<<<<<<<<<<
 *     PROBINGNODE = SCIP_NODETYPE_PROBINGNODE
 *     SIBLING     = SCIP_NODETYPE_SIBLING
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_NODETYPE(SCIP_NODETYPE_FOCUSNODE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE, __pyx_mstate_global->__pyx_n_u_FOCUSNODE, __pyx_t_13) < (0)) __PYX_ERR(2, 172, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":173
 * cdef class PY_SCIP_NODETYPE:
 *     FOCUSNODE   = SCIP_NODETYPE_FOCUSNODE
 *     PROBINGNODE = SCIP_NODETYPE_PROBINGNODE             # <<<<<<<<<<<<<<
 *     SIBLING     = SCIP_NODETYPE_SIBLING
 *     CHILD       = SCIP_NODETYPE_CHILD
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_NODETYPE(SCIP_NODETYPE_PROBINGNODE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE, __pyx_mstate_global->__pyx_n_u_PROBINGNODE, __pyx_t_13) < (0)) __PYX_ERR(2, 173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":174
 *     FOCUSNODE   = SCIP_NODETYPE_FOCUSNODE
 *     PROBINGNODE = SCIP_NODETYPE_PROBINGNODE
 *     SIBLING     = SCIP_NODETYPE_SIBLING             # <<<<<<<<<<<<<<
 *     CHILD       = SCIP_NODETYPE_CHILD
 *     LEAF        = SCIP_NODETYPE_LEAF
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_NODETYPE(SCIP_NODETYPE_SIBLING); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE, __pyx_mstate_global->__pyx_n_u_SIBLING, __pyx_t_13) < (0)) __PYX_ERR(2, 174, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":175
 *     PROBINGNODE = SCIP_NODETYPE_PROBINGNODE
 *     SIBLING     = SCIP_NODETYPE_SIBLING
 *     CHILD       = SCIP_NODETYPE_CHILD             # <<<<<<<<<<<<<<
 *     LEAF        = SCIP_NODETYPE_LEAF
 *     DEADEND     = SCIP_NODETYPE_DEADEND
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_NODETYPE(SCIP_NODETYPE_CHILD); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 175, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE, __pyx_mstate_global->__pyx_n_u_CHILD, __pyx_t_13) < (0)) __PYX_ERR(2, 175, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":176
 *     SIBLING     = SCIP_NODETYPE_SIBLING
 *     CHILD       = SCIP_NODETYPE_CHILD
 *     LEAF        = SCIP_NODETYPE_LEAF             # <<<<<<<<<<<<<<
 *     DEADEND     = SCIP_NODETYPE_DEADEND
 *     JUNCTION    = SCIP_NODETYPE_JUNCTION
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_NODETYPE(SCIP_NODETYPE_LEAF); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 176, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE, __pyx_mstate_global->__pyx_n_u_LEAF, __pyx_t_13) < (0)) __PYX_ERR(2, 176, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":177
 *     CHILD       = SCIP_NODETYPE_CHILD
 *     LEAF        = SCIP_NODETYPE_LEAF
 *     DEADEND     = SCIP_NODETYPE_DEADEND             # <<<<<<<<<<<<<<
 *     JUNCTION    = SCIP_NODETYPE_JUNCTION
 *     PSEUDOFORK  = SCIP_NODETYPE_PSEUDOFORK
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_NODETYPE(SCIP_NODETYPE_DEADEND); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE, __pyx_mstate_global->__pyx_n_u_DEADEND, __pyx_t_13) < (0)) __PYX_ERR(2, 177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":178
 *     LEAF        = SCIP_NODETYPE_LEAF
 *     DEADEND     = SCIP_NODETYPE_DEADEND
 *     JUNCTION    = SCIP_NODETYPE_JUNCTION             # <<<<<<<<<<<<<<
 *     PSEUDOFORK  = SCIP_NODETYPE_PSEUDOFORK
 *     FORK        = SCIP_NODETYPE_FORK
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_NODETYPE(SCIP_NODETYPE_JUNCTION); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE, __pyx_mstate_global->__pyx_n_u_JUNCTION, __pyx_t_13) < (0)) __PYX_ERR(2, 178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":179
 *     DEADEND     = SCIP_NODETYPE_DEADEND
 *     JUNCTION    = SCIP_NODETYPE_JUNCTION
 *     PSEUDOFORK  = SCIP_NODETYPE_PSEUDOFORK             # <<<<<<<<<<<<<<
 *     FORK        = SCIP_NODETYPE_FORK
 *     SUBROOT     = SCIP_NODETYPE_SUBROOT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_NODETYPE(SCIP_NODETYPE_PSEUDOFORK); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 179, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE, __pyx_mstate_global->__pyx_n_u_PSEUDOFORK, __pyx_t_13) < (0)) __PYX_ERR(2, 179, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":180
 *     JUNCTION    = SCIP_NODETYPE_JUNCTION
 *     PSEUDOFORK  = SCIP_NODETYPE_PSEUDOFORK
 *     FORK        = SCIP_NODETYPE_FORK             # <<<<<<<<<<<<<<
 *     SUBROOT     = SCIP_NODETYPE_SUBROOT
 *     REFOCUSNODE = SCIP_NODETYPE_REFOCUSNODE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_NODETYPE(SCIP_NODETYPE_FORK); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 180, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE, __pyx_mstate_global->__pyx_n_u_FORK, __pyx_t_13) < (0)) __PYX_ERR(2, 180, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":181
 *     PSEUDOFORK  = SCIP_NODETYPE_PSEUDOFORK
 *     FORK        = SCIP_NODETYPE_FORK
 *     SUBROOT     = SCIP_NODETYPE_SUBROOT             # <<<<<<<<<<<<<<
 *     REFOCUSNODE = SCIP_NODETYPE_REFOCUSNODE
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_NODETYPE(SCIP_NODETYPE_SUBROOT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 181, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE, __pyx_mstate_global->__pyx_n_u_SUBROOT, __pyx_t_13) < (0)) __PYX_ERR(2, 181, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":182
 *     FORK        = SCIP_NODETYPE_FORK
 *     SUBROOT     = SCIP_NODETYPE_SUBROOT
 *     REFOCUSNODE = SCIP_NODETYPE_REFOCUSNODE             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_PROPTIMING:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_NODETYPE(SCIP_NODETYPE_REFOCUSNODE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 182, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE, __pyx_mstate_global->__pyx_n_u_REFOCUSNODE, __pyx_t_13) < (0)) __PYX_ERR(2, 182, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16PY_SCIP_NODETYPE_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_NODETYPE___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[287])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_NODETYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_NODETYPE__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16PY_SCIP_NODETYPE_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_NODETYPE___setstate_cyth, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[288])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_NODETYPE, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":185
 * 
 * cdef class PY_SCIP_PROPTIMING:
 *     BEFORELP     = SCIP_PROPTIMING_BEFORELP             # <<<<<<<<<<<<<<
 *     DURINGLPLOOP = SCIP_PROPTIMING_DURINGLPLOOP
 *     AFTERLPLOOP  = SCIP_PROPTIMING_AFTERLPLOOP
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PROPTIMING(SCIP_PROPTIMING_BEFORELP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING, __pyx_mstate_global->__pyx_n_u_BEFORELP, __pyx_t_13) < (0)) __PYX_ERR(2, 185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":186
 * cdef class PY_SCIP_PROPTIMING:
 *     BEFORELP     = SCIP_PROPTIMING_BEFORELP
 *     DURINGLPLOOP = SCIP_PROPTIMING_DURINGLPLOOP             # <<<<<<<<<<<<<<
 *     AFTERLPLOOP  = SCIP_PROPTIMING_AFTERLPLOOP
 *     AFTERLPNODE  = SCIP_PROPTIMING_AFTERLPNODE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PROPTIMING(SCIP_PROPTIMING_DURINGLPLOOP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING, __pyx_mstate_global->__pyx_n_u_DURINGLPLOOP, __pyx_t_13) < (0)) __PYX_ERR(2, 186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":187
 *     BEFORELP     = SCIP_PROPTIMING_BEFORELP
 *     DURINGLPLOOP = SCIP_PROPTIMING_DURINGLPLOOP
 *     AFTERLPLOOP  = SCIP_PROPTIMING_AFTERLPLOOP             # <<<<<<<<<<<<<<
 *     AFTERLPNODE  = SCIP_PROPTIMING_AFTERLPNODE
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PROPTIMING(SCIP_PROPTIMING_AFTERLPLOOP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 187, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING, __pyx_mstate_global->__pyx_n_u_AFTERLPLOOP, __pyx_t_13) < (0)) __PYX_ERR(2, 187, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":188
 *     DURINGLPLOOP = SCIP_PROPTIMING_DURINGLPLOOP
 *     AFTERLPLOOP  = SCIP_PROPTIMING_AFTERLPLOOP
 *     AFTERLPNODE  = SCIP_PROPTIMING_AFTERLPNODE             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_PRESOLTIMING:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PROPTIMING(SCIP_PROPTIMING_AFTERLPNODE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING, __pyx_mstate_global->__pyx_n_u_AFTERLPNODE, __pyx_t_13) < (0)) __PYX_ERR(2, 188, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_PROPTIMING___reduce_cyth, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[289])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PROPTIMING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_PROPTIMING__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_18PY_SCIP_PROPTIMING_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_PROPTIMING___setstate_cy, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[290])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":191
 * 
 * cdef class PY_SCIP_PRESOLTIMING:
 *     NONE       = SCIP_PRESOLTIMING_NONE             # <<<<<<<<<<<<<<
 *     FAST       = SCIP_PRESOLTIMING_FAST
 *     MEDIUM     = SCIP_PRESOLTIMING_MEDIUM
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PRESOLTIMING(SCIP_PRESOLTIMING_NONE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING, __pyx_mstate_global->__pyx_n_u_NONE, __pyx_t_13) < (0)) __PYX_ERR(2, 191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":192
 * cdef class PY_SCIP_PRESOLTIMING:
 *     NONE       = SCIP_PRESOLTIMING_NONE
 *     FAST       = SCIP_PRESOLTIMING_FAST             # <<<<<<<<<<<<<<
 *     MEDIUM     = SCIP_PRESOLTIMING_MEDIUM
 *     EXHAUSTIVE = SCIP_PRESOLTIMING_EXHAUSTIVE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PRESOLTIMING(SCIP_PRESOLTIMING_FAST); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 192, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING, __pyx_mstate_global->__pyx_n_u_FAST, __pyx_t_13) < (0)) __PYX_ERR(2, 192, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":193
 *     NONE       = SCIP_PRESOLTIMING_NONE
 *     FAST       = SCIP_PRESOLTIMING_FAST
 *     MEDIUM     = SCIP_PRESOLTIMING_MEDIUM             # <<<<<<<<<<<<<<
 *     EXHAUSTIVE = SCIP_PRESOLTIMING_EXHAUSTIVE
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PRESOLTIMING(SCIP_PRESOLTIMING_MEDIUM); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 193, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING, __pyx_mstate_global->__pyx_n_u_MEDIUM, __pyx_t_13) < (0)) __PYX_ERR(2, 193, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":194
 *     FAST       = SCIP_PRESOLTIMING_FAST
 *     MEDIUM     = SCIP_PRESOLTIMING_MEDIUM
 *     EXHAUSTIVE = SCIP_PRESOLTIMING_EXHAUSTIVE             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_HEURTIMING:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_PRESOLTIMING(SCIP_PRESOLTIMING_EXHAUSTIVE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING, __pyx_mstate_global->__pyx_n_u_EXHAUSTIVE, __pyx_t_13) < (0)) __PYX_ERR(2, 194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_PRESOLTIMING___reduce_cy, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[291])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_PRESOLTIMING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_PRESOLTIMING__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_20PY_SCIP_PRESOLTIMING_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_PRESOLTIMING___setstate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[292])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":197
 * 
 * cdef class PY_SCIP_HEURTIMING:
 *     BEFORENODE        = SCIP_HEURTIMING_BEFORENODE             # <<<<<<<<<<<<<<
 *     DURINGLPLOOP      = SCIP_HEURTIMING_DURINGLPLOOP
 *     AFTERLPLOOP       = SCIP_HEURTIMING_AFTERLPLOOP
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING_BEFORENODE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING, __pyx_mstate_global->__pyx_n_u_BEFORENODE, __pyx_t_13) < (0)) __PYX_ERR(2, 197, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":198
 * cdef class PY_SCIP_HEURTIMING:
 *     BEFORENODE        = SCIP_HEURTIMING_BEFORENODE
 *     DURINGLPLOOP      = SCIP_HEURTIMING_DURINGLPLOOP             # <<<<<<<<<<<<<<
 *     AFTERLPLOOP       = SCIP_HEURTIMING_AFTERLPLOOP
 *     AFTERLPNODE       = SCIP_HEURTIMING_AFTERLPNODE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING_DURINGLPLOOP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING, __pyx_mstate_global->__pyx_n_u_DURINGLPLOOP, __pyx_t_13) < (0)) __PYX_ERR(2, 198, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":199
 *     BEFORENODE        = SCIP_HEURTIMING_BEFORENODE
 *     DURINGLPLOOP      = SCIP_HEURTIMING_DURINGLPLOOP
 *     AFTERLPLOOP       = SCIP_HEURTIMING_AFTERLPLOOP             # <<<<<<<<<<<<<<
 *     AFTERLPNODE       = SCIP_HEURTIMING_AFTERLPNODE
 *     AFTERPSEUDONODE   = SCIP_HEURTIMING_AFTERPSEUDONODE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING_AFTERLPLOOP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 199, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING, __pyx_mstate_global->__pyx_n_u_AFTERLPLOOP, __pyx_t_13) < (0)) __PYX_ERR(2, 199, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":200
 *     DURINGLPLOOP      = SCIP_HEURTIMING_DURINGLPLOOP
 *     AFTERLPLOOP       = SCIP_HEURTIMING_AFTERLPLOOP
 *     AFTERLPNODE       = SCIP_HEURTIMING_AFTERLPNODE             # <<<<<<<<<<<<<<
 *     AFTERPSEUDONODE   = SCIP_HEURTIMING_AFTERPSEUDONODE
 *     AFTERLPPLUNGE     = SCIP_HEURTIMING_AFTERLPPLUNGE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING_AFTERLPNODE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING, __pyx_mstate_global->__pyx_n_u_AFTERLPNODE, __pyx_t_13) < (0)) __PYX_ERR(2, 200, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":201
 *     AFTERLPLOOP       = SCIP_HEURTIMING_AFTERLPLOOP
 *     AFTERLPNODE       = SCIP_HEURTIMING_AFTERLPNODE
 *     AFTERPSEUDONODE   = SCIP_HEURTIMING_AFTERPSEUDONODE             # <<<<<<<<<<<<<<
 *     AFTERLPPLUNGE     = SCIP_HEURTIMING_AFTERLPPLUNGE
 *     AFTERPSEUDOPLUNGE = SCIP_HEURTIMING_AFTERPSEUDOPLUNGE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING_AFTERPSEUDONODE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 201, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING, __pyx_mstate_global->__pyx_n_u_AFTERPSEUDONODE, __pyx_t_13) < (0)) __PYX_ERR(2, 201, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":202
 *     AFTERLPNODE       = SCIP_HEURTIMING_AFTERLPNODE
 *     AFTERPSEUDONODE   = SCIP_HEURTIMING_AFTERPSEUDONODE
 *     AFTERLPPLUNGE     = SCIP_HEURTIMING_AFTERLPPLUNGE             # <<<<<<<<<<<<<<
 *     AFTERPSEUDOPLUNGE = SCIP_HEURTIMING_AFTERPSEUDOPLUNGE
 *     DURINGPRICINGLOOP = SCIP_HEURTIMING_DURINGPRICINGLOOP
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING_AFTERLPPLUNGE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 202, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING, __pyx_mstate_global->__pyx_n_u_AFTERLPPLUNGE, __pyx_t_13) < (0)) __PYX_ERR(2, 202, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":203
 *     AFTERPSEUDONODE   = SCIP_HEURTIMING_AFTERPSEUDONODE
 *     AFTERLPPLUNGE     = SCIP_HEURTIMING_AFTERLPPLUNGE
 *     AFTERPSEUDOPLUNGE = SCIP_HEURTIMING_AFTERPSEUDOPLUNGE             # <<<<<<<<<<<<<<
 *     DURINGPRICINGLOOP = SCIP_HEURTIMING_DURINGPRICINGLOOP
 *     BEFOREPRESOL      = SCIP_HEURTIMING_BEFOREPRESOL
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING_AFTERPSEUDOPLUNGE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 203, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING, __pyx_mstate_global->__pyx_n_u_AFTERPSEUDOPLUNGE, __pyx_t_13) < (0)) __PYX_ERR(2, 203, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":204
 *     AFTERLPPLUNGE     = SCIP_HEURTIMING_AFTERLPPLUNGE
 *     AFTERPSEUDOPLUNGE = SCIP_HEURTIMING_AFTERPSEUDOPLUNGE
 *     DURINGPRICINGLOOP = SCIP_HEURTIMING_DURINGPRICINGLOOP             # <<<<<<<<<<<<<<
 *     BEFOREPRESOL      = SCIP_HEURTIMING_BEFOREPRESOL
 *     DURINGPRESOLLOOP  = SCIP_HEURTIMING_DURINGPRESOLLOOP
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING_DURINGPRICINGLOOP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 204, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING, __pyx_mstate_global->__pyx_n_u_DURINGPRICINGLOOP, __pyx_t_13) < (0)) __PYX_ERR(2, 204, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":205
 *     AFTERPSEUDOPLUNGE = SCIP_HEURTIMING_AFTERPSEUDOPLUNGE
 *     DURINGPRICINGLOOP = SCIP_HEURTIMING_DURINGPRICINGLOOP
 *     BEFOREPRESOL      = SCIP_HEURTIMING_BEFOREPRESOL             # <<<<<<<<<<<<<<
 *     DURINGPRESOLLOOP  = SCIP_HEURTIMING_DURINGPRESOLLOOP
 *     AFTERPROPLOOP     = SCIP_HEURTIMING_AFTERPROPLOOP
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING_BEFOREPRESOL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING, __pyx_mstate_global->__pyx_n_u_BEFOREPRESOL, __pyx_t_13) < (0)) __PYX_ERR(2, 205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":206
 *     DURINGPRICINGLOOP = SCIP_HEURTIMING_DURINGPRICINGLOOP
 *     BEFOREPRESOL      = SCIP_HEURTIMING_BEFOREPRESOL
 *     DURINGPRESOLLOOP  = SCIP_HEURTIMING_DURINGPRESOLLOOP             # <<<<<<<<<<<<<<
 *     AFTERPROPLOOP     = SCIP_HEURTIMING_AFTERPROPLOOP
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING_DURINGPRESOLLOOP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 206, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING, __pyx_mstate_global->__pyx_n_u_DURINGPRESOLLOOP, __pyx_t_13) < (0)) __PYX_ERR(2, 206, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":207
 *     BEFOREPRESOL      = SCIP_HEURTIMING_BEFOREPRESOL
 *     DURINGPRESOLLOOP  = SCIP_HEURTIMING_DURINGPRESOLLOOP
 *     AFTERPROPLOOP     = SCIP_HEURTIMING_AFTERPROPLOOP             # <<<<<<<<<<<<<<
 * 
 * EventNames = {}
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING_AFTERPROPLOOP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 207, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING, __pyx_mstate_global->__pyx_n_u_AFTERPROPLOOP, __pyx_t_13) < (0)) __PYX_ERR(2, 207, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_HEURTIMING___reduce_cyth, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[293])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_HEURTIMING, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_HEURTIMING__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_18PY_SCIP_HEURTIMING_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_HEURTIMING___setstate_cy, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[294])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_HEURTIMING, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":209
 *     AFTERPROPLOOP     = SCIP_HEURTIMING_AFTERPROPLOOP
 * 
 * EventNames = {}             # <<<<<<<<<<<<<<
 * cdef class PY_SCIP_EVENTTYPE:
 *     DISABLED          = SCIP_EVENTTYPE_DISABLED
*/
  __pyx_t_13 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 209, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_EventNames, __pyx_t_13) < (0)) __PYX_ERR(2, 209, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":211
 * EventNames = {}
 * cdef class PY_SCIP_EVENTTYPE:
 *     DISABLED          = SCIP_EVENTTYPE_DISABLED             # <<<<<<<<<<<<<<
 *     VARADDED          = SCIP_EVENTTYPE_VARADDED
 *     VARDELETED        = SCIP_EVENTTYPE_VARDELETED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_DISABLED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 211, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_DISABLED, __pyx_t_13) < (0)) __PYX_ERR(2, 211, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":212
 * cdef class PY_SCIP_EVENTTYPE:
 *     DISABLED          = SCIP_EVENTTYPE_DISABLED
 *     VARADDED          = SCIP_EVENTTYPE_VARADDED             # <<<<<<<<<<<<<<
 *     VARDELETED        = SCIP_EVENTTYPE_VARDELETED
 *     VARFIXED          = SCIP_EVENTTYPE_VARFIXED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_VARADDED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 212, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_VARADDED, __pyx_t_13) < (0)) __PYX_ERR(2, 212, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":213
 *     DISABLED          = SCIP_EVENTTYPE_DISABLED
 *     VARADDED          = SCIP_EVENTTYPE_VARADDED
 *     VARDELETED        = SCIP_EVENTTYPE_VARDELETED             # <<<<<<<<<<<<<<
 *     VARFIXED          = SCIP_EVENTTYPE_VARFIXED
 *     VARUNLOCKED       = SCIP_EVENTTYPE_VARUNLOCKED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_VARDELETED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_VARDELETED, __pyx_t_13) < (0)) __PYX_ERR(2, 213, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":214
 *     VARADDED          = SCIP_EVENTTYPE_VARADDED
 *     VARDELETED        = SCIP_EVENTTYPE_VARDELETED
 *     VARFIXED          = SCIP_EVENTTYPE_VARFIXED             # <<<<<<<<<<<<<<
 *     VARUNLOCKED       = SCIP_EVENTTYPE_VARUNLOCKED
 *     OBJCHANGED        = SCIP_EVENTTYPE_OBJCHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_VARFIXED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 214, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_VARFIXED, __pyx_t_13) < (0)) __PYX_ERR(2, 214, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":215
 *     VARDELETED        = SCIP_EVENTTYPE_VARDELETED
 *     VARFIXED          = SCIP_EVENTTYPE_VARFIXED
 *     VARUNLOCKED       = SCIP_EVENTTYPE_VARUNLOCKED             # <<<<<<<<<<<<<<
 *     OBJCHANGED        = SCIP_EVENTTYPE_OBJCHANGED
 *     GLBCHANGED        = SCIP_EVENTTYPE_GLBCHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_VARUNLOCKED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 215, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_VARUNLOCKED, __pyx_t_13) < (0)) __PYX_ERR(2, 215, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":216
 *     VARFIXED          = SCIP_EVENTTYPE_VARFIXED
 *     VARUNLOCKED       = SCIP_EVENTTYPE_VARUNLOCKED
 *     OBJCHANGED        = SCIP_EVENTTYPE_OBJCHANGED             # <<<<<<<<<<<<<<
 *     GLBCHANGED        = SCIP_EVENTTYPE_GLBCHANGED
 *     GUBCHANGED        = SCIP_EVENTTYPE_GUBCHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_OBJCHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_OBJCHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":217
 *     VARUNLOCKED       = SCIP_EVENTTYPE_VARUNLOCKED
 *     OBJCHANGED        = SCIP_EVENTTYPE_OBJCHANGED
 *     GLBCHANGED        = SCIP_EVENTTYPE_GLBCHANGED             # <<<<<<<<<<<<<<
 *     GUBCHANGED        = SCIP_EVENTTYPE_GUBCHANGED
 *     LBTIGHTENED       = SCIP_EVENTTYPE_LBTIGHTENED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_GLBCHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 217, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_GLBCHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 217, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":218
 *     OBJCHANGED        = SCIP_EVENTTYPE_OBJCHANGED
 *     GLBCHANGED        = SCIP_EVENTTYPE_GLBCHANGED
 *     GUBCHANGED        = SCIP_EVENTTYPE_GUBCHANGED             # <<<<<<<<<<<<<<
 *     LBTIGHTENED       = SCIP_EVENTTYPE_LBTIGHTENED
 *     LBRELAXED         = SCIP_EVENTTYPE_LBRELAXED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_GUBCHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 218, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_GUBCHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 218, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":219
 *     GLBCHANGED        = SCIP_EVENTTYPE_GLBCHANGED
 *     GUBCHANGED        = SCIP_EVENTTYPE_GUBCHANGED
 *     LBTIGHTENED       = SCIP_EVENTTYPE_LBTIGHTENED             # <<<<<<<<<<<<<<
 *     LBRELAXED         = SCIP_EVENTTYPE_LBRELAXED
 *     UBTIGHTENED       = SCIP_EVENTTYPE_UBTIGHTENED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_LBTIGHTENED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_LBTIGHTENED, __pyx_t_13) < (0)) __PYX_ERR(2, 219, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":220
 *     GUBCHANGED        = SCIP_EVENTTYPE_GUBCHANGED
 *     LBTIGHTENED       = SCIP_EVENTTYPE_LBTIGHTENED
 *     LBRELAXED         = SCIP_EVENTTYPE_LBRELAXED             # <<<<<<<<<<<<<<
 *     UBTIGHTENED       = SCIP_EVENTTYPE_UBTIGHTENED
 *     UBRELAXED         = SCIP_EVENTTYPE_UBRELAXED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_LBRELAXED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_LBRELAXED, __pyx_t_13) < (0)) __PYX_ERR(2, 220, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":221
 *     LBTIGHTENED       = SCIP_EVENTTYPE_LBTIGHTENED
 *     LBRELAXED         = SCIP_EVENTTYPE_LBRELAXED
 *     UBTIGHTENED       = SCIP_EVENTTYPE_UBTIGHTENED             # <<<<<<<<<<<<<<
 *     UBRELAXED         = SCIP_EVENTTYPE_UBRELAXED
 *     GHOLEADDED        = SCIP_EVENTTYPE_GHOLEADDED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_UBTIGHTENED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_UBTIGHTENED, __pyx_t_13) < (0)) __PYX_ERR(2, 221, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":222
 *     LBRELAXED         = SCIP_EVENTTYPE_LBRELAXED
 *     UBTIGHTENED       = SCIP_EVENTTYPE_UBTIGHTENED
 *     UBRELAXED         = SCIP_EVENTTYPE_UBRELAXED             # <<<<<<<<<<<<<<
 *     GHOLEADDED        = SCIP_EVENTTYPE_GHOLEADDED
 *     GHOLEREMOVED      = SCIP_EVENTTYPE_GHOLEREMOVED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_UBRELAXED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_UBRELAXED, __pyx_t_13) < (0)) __PYX_ERR(2, 222, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":223
 *     UBTIGHTENED       = SCIP_EVENTTYPE_UBTIGHTENED
 *     UBRELAXED         = SCIP_EVENTTYPE_UBRELAXED
 *     GHOLEADDED        = SCIP_EVENTTYPE_GHOLEADDED             # <<<<<<<<<<<<<<
 *     GHOLEREMOVED      = SCIP_EVENTTYPE_GHOLEREMOVED
 *     LHOLEADDED        = SCIP_EVENTTYPE_LHOLEADDED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_GHOLEADDED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 223, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_GHOLEADDED, __pyx_t_13) < (0)) __PYX_ERR(2, 223, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":224
 *     UBRELAXED         = SCIP_EVENTTYPE_UBRELAXED
 *     GHOLEADDED        = SCIP_EVENTTYPE_GHOLEADDED
 *     GHOLEREMOVED      = SCIP_EVENTTYPE_GHOLEREMOVED             # <<<<<<<<<<<<<<
 *     LHOLEADDED        = SCIP_EVENTTYPE_LHOLEADDED
 *     LHOLEREMOVED      = SCIP_EVENTTYPE_LHOLEREMOVED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_GHOLEREMOVED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_GHOLEREMOVED, __pyx_t_13) < (0)) __PYX_ERR(2, 224, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":225
 *     GHOLEADDED        = SCIP_EVENTTYPE_GHOLEADDED
 *     GHOLEREMOVED      = SCIP_EVENTTYPE_GHOLEREMOVED
 *     LHOLEADDED        = SCIP_EVENTTYPE_LHOLEADDED             # <<<<<<<<<<<<<<
 *     LHOLEREMOVED      = SCIP_EVENTTYPE_LHOLEREMOVED
 *     IMPLADDED         = SCIP_EVENTTYPE_IMPLADDED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_LHOLEADDED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 225, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_LHOLEADDED, __pyx_t_13) < (0)) __PYX_ERR(2, 225, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":226
 *     GHOLEREMOVED      = SCIP_EVENTTYPE_GHOLEREMOVED
 *     LHOLEADDED        = SCIP_EVENTTYPE_LHOLEADDED
 *     LHOLEREMOVED      = SCIP_EVENTTYPE_LHOLEREMOVED             # <<<<<<<<<<<<<<
 *     IMPLADDED         = SCIP_EVENTTYPE_IMPLADDED
 *     PRESOLVEROUND     = SCIP_EVENTTYPE_PRESOLVEROUND
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_LHOLEREMOVED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_LHOLEREMOVED, __pyx_t_13) < (0)) __PYX_ERR(2, 226, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":227
 *     LHOLEADDED        = SCIP_EVENTTYPE_LHOLEADDED
 *     LHOLEREMOVED      = SCIP_EVENTTYPE_LHOLEREMOVED
 *     IMPLADDED         = SCIP_EVENTTYPE_IMPLADDED             # <<<<<<<<<<<<<<
 *     PRESOLVEROUND     = SCIP_EVENTTYPE_PRESOLVEROUND
 *     NODEFOCUSED       = SCIP_EVENTTYPE_NODEFOCUSED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_IMPLADDED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_IMPLADDED, __pyx_t_13) < (0)) __PYX_ERR(2, 227, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":228
 *     LHOLEREMOVED      = SCIP_EVENTTYPE_LHOLEREMOVED
 *     IMPLADDED         = SCIP_EVENTTYPE_IMPLADDED
 *     PRESOLVEROUND     = SCIP_EVENTTYPE_PRESOLVEROUND             # <<<<<<<<<<<<<<
 *     NODEFOCUSED       = SCIP_EVENTTYPE_NODEFOCUSED
 *     NODEFEASIBLE      = SCIP_EVENTTYPE_NODEFEASIBLE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_PRESOLVEROUND); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_PRESOLVEROUND, __pyx_t_13) < (0)) __PYX_ERR(2, 228, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":229
 *     IMPLADDED         = SCIP_EVENTTYPE_IMPLADDED
 *     PRESOLVEROUND     = SCIP_EVENTTYPE_PRESOLVEROUND
 *     NODEFOCUSED       = SCIP_EVENTTYPE_NODEFOCUSED             # <<<<<<<<<<<<<<
 *     NODEFEASIBLE      = SCIP_EVENTTYPE_NODEFEASIBLE
 *     NODEINFEASIBLE    = SCIP_EVENTTYPE_NODEINFEASIBLE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_NODEFOCUSED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 229, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_NODEFOCUSED, __pyx_t_13) < (0)) __PYX_ERR(2, 229, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":230
 *     PRESOLVEROUND     = SCIP_EVENTTYPE_PRESOLVEROUND
 *     NODEFOCUSED       = SCIP_EVENTTYPE_NODEFOCUSED
 *     NODEFEASIBLE      = SCIP_EVENTTYPE_NODEFEASIBLE             # <<<<<<<<<<<<<<
 *     NODEINFEASIBLE    = SCIP_EVENTTYPE_NODEINFEASIBLE
 *     NODEBRANCHED      = SCIP_EVENTTYPE_NODEBRANCHED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_NODEFEASIBLE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_NODEFEASIBLE, __pyx_t_13) < (0)) __PYX_ERR(2, 230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":231
 *     NODEFOCUSED       = SCIP_EVENTTYPE_NODEFOCUSED
 *     NODEFEASIBLE      = SCIP_EVENTTYPE_NODEFEASIBLE
 *     NODEINFEASIBLE    = SCIP_EVENTTYPE_NODEINFEASIBLE             # <<<<<<<<<<<<<<
 *     NODEBRANCHED      = SCIP_EVENTTYPE_NODEBRANCHED
 *     NODEDELETE        = SCIP_EVENTTYPE_NODEDELETE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_NODEINFEASIBLE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 231, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_NODEINFEASIBLE, __pyx_t_13) < (0)) __PYX_ERR(2, 231, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":232
 *     NODEFEASIBLE      = SCIP_EVENTTYPE_NODEFEASIBLE
 *     NODEINFEASIBLE    = SCIP_EVENTTYPE_NODEINFEASIBLE
 *     NODEBRANCHED      = SCIP_EVENTTYPE_NODEBRANCHED             # <<<<<<<<<<<<<<
 *     NODEDELETE        = SCIP_EVENTTYPE_NODEDELETE
 *     DUALBOUNDIMPROVED = SCIP_EVENTTYPE_DUALBOUNDIMPROVED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_NODEBRANCHED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_NODEBRANCHED, __pyx_t_13) < (0)) __PYX_ERR(2, 232, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":233
 *     NODEINFEASIBLE    = SCIP_EVENTTYPE_NODEINFEASIBLE
 *     NODEBRANCHED      = SCIP_EVENTTYPE_NODEBRANCHED
 *     NODEDELETE        = SCIP_EVENTTYPE_NODEDELETE             # <<<<<<<<<<<<<<
 *     DUALBOUNDIMPROVED = SCIP_EVENTTYPE_DUALBOUNDIMPROVED
 *     FIRSTLPSOLVED     = SCIP_EVENTTYPE_FIRSTLPSOLVED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_NODEDELETE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 233, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_NODEDELETE, __pyx_t_13) < (0)) __PYX_ERR(2, 233, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":234
 *     NODEBRANCHED      = SCIP_EVENTTYPE_NODEBRANCHED
 *     NODEDELETE        = SCIP_EVENTTYPE_NODEDELETE
 *     DUALBOUNDIMPROVED = SCIP_EVENTTYPE_DUALBOUNDIMPROVED             # <<<<<<<<<<<<<<
 *     FIRSTLPSOLVED     = SCIP_EVENTTYPE_FIRSTLPSOLVED
 *     LPSOLVED          = SCIP_EVENTTYPE_LPSOLVED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_DUALBOUNDIMPROVED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_DUALBOUNDIMPROVED, __pyx_t_13) < (0)) __PYX_ERR(2, 234, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":235
 *     NODEDELETE        = SCIP_EVENTTYPE_NODEDELETE
 *     DUALBOUNDIMPROVED = SCIP_EVENTTYPE_DUALBOUNDIMPROVED
 *     FIRSTLPSOLVED     = SCIP_EVENTTYPE_FIRSTLPSOLVED             # <<<<<<<<<<<<<<
 *     LPSOLVED          = SCIP_EVENTTYPE_LPSOLVED
 *     LPEVENT           = SCIP_EVENTTYPE_LPEVENT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_FIRSTLPSOLVED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_FIRSTLPSOLVED, __pyx_t_13) < (0)) __PYX_ERR(2, 235, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":236
 *     DUALBOUNDIMPROVED = SCIP_EVENTTYPE_DUALBOUNDIMPROVED
 *     FIRSTLPSOLVED     = SCIP_EVENTTYPE_FIRSTLPSOLVED
 *     LPSOLVED          = SCIP_EVENTTYPE_LPSOLVED             # <<<<<<<<<<<<<<
 *     LPEVENT           = SCIP_EVENTTYPE_LPEVENT
 *     POORSOLFOUND      = SCIP_EVENTTYPE_POORSOLFOUND
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_LPSOLVED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_LPSOLVED, __pyx_t_13) < (0)) __PYX_ERR(2, 236, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":237
 *     FIRSTLPSOLVED     = SCIP_EVENTTYPE_FIRSTLPSOLVED
 *     LPSOLVED          = SCIP_EVENTTYPE_LPSOLVED
 *     LPEVENT           = SCIP_EVENTTYPE_LPEVENT             # <<<<<<<<<<<<<<
 *     POORSOLFOUND      = SCIP_EVENTTYPE_POORSOLFOUND
 *     BESTSOLFOUND      = SCIP_EVENTTYPE_BESTSOLFOUND
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_LPEVENT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_LPEVENT, __pyx_t_13) < (0)) __PYX_ERR(2, 237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":238
 *     LPSOLVED          = SCIP_EVENTTYPE_LPSOLVED
 *     LPEVENT           = SCIP_EVENTTYPE_LPEVENT
 *     POORSOLFOUND      = SCIP_EVENTTYPE_POORSOLFOUND             # <<<<<<<<<<<<<<
 *     BESTSOLFOUND      = SCIP_EVENTTYPE_BESTSOLFOUND
 *     ROWADDEDSEPA      = SCIP_EVENTTYPE_ROWADDEDSEPA
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_POORSOLFOUND); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_POORSOLFOUND, __pyx_t_13) < (0)) __PYX_ERR(2, 238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":239
 *     LPEVENT           = SCIP_EVENTTYPE_LPEVENT
 *     POORSOLFOUND      = SCIP_EVENTTYPE_POORSOLFOUND
 *     BESTSOLFOUND      = SCIP_EVENTTYPE_BESTSOLFOUND             # <<<<<<<<<<<<<<
 *     ROWADDEDSEPA      = SCIP_EVENTTYPE_ROWADDEDSEPA
 *     ROWDELETEDSEPA    = SCIP_EVENTTYPE_ROWDELETEDSEPA
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_BESTSOLFOUND); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 239, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_BESTSOLFOUND, __pyx_t_13) < (0)) __PYX_ERR(2, 239, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":240
 *     POORSOLFOUND      = SCIP_EVENTTYPE_POORSOLFOUND
 *     BESTSOLFOUND      = SCIP_EVENTTYPE_BESTSOLFOUND
 *     ROWADDEDSEPA      = SCIP_EVENTTYPE_ROWADDEDSEPA             # <<<<<<<<<<<<<<
 *     ROWDELETEDSEPA    = SCIP_EVENTTYPE_ROWDELETEDSEPA
 *     ROWADDEDLP        = SCIP_EVENTTYPE_ROWADDEDLP
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_ROWADDEDSEPA); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_ROWADDEDSEPA, __pyx_t_13) < (0)) __PYX_ERR(2, 240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":241
 *     BESTSOLFOUND      = SCIP_EVENTTYPE_BESTSOLFOUND
 *     ROWADDEDSEPA      = SCIP_EVENTTYPE_ROWADDEDSEPA
 *     ROWDELETEDSEPA    = SCIP_EVENTTYPE_ROWDELETEDSEPA             # <<<<<<<<<<<<<<
 *     ROWADDEDLP        = SCIP_EVENTTYPE_ROWADDEDLP
 *     ROWDELETEDLP      = SCIP_EVENTTYPE_ROWDELETEDLP
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_ROWDELETEDSEPA); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_ROWDELETEDSEPA, __pyx_t_13) < (0)) __PYX_ERR(2, 241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":242
 *     ROWADDEDSEPA      = SCIP_EVENTTYPE_ROWADDEDSEPA
 *     ROWDELETEDSEPA    = SCIP_EVENTTYPE_ROWDELETEDSEPA
 *     ROWADDEDLP        = SCIP_EVENTTYPE_ROWADDEDLP             # <<<<<<<<<<<<<<
 *     ROWDELETEDLP      = SCIP_EVENTTYPE_ROWDELETEDLP
 *     ROWCOEFCHANGED    = SCIP_EVENTTYPE_ROWCOEFCHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_ROWADDEDLP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 242, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_ROWADDEDLP, __pyx_t_13) < (0)) __PYX_ERR(2, 242, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":243
 *     ROWDELETEDSEPA    = SCIP_EVENTTYPE_ROWDELETEDSEPA
 *     ROWADDEDLP        = SCIP_EVENTTYPE_ROWADDEDLP
 *     ROWDELETEDLP      = SCIP_EVENTTYPE_ROWDELETEDLP             # <<<<<<<<<<<<<<
 *     ROWCOEFCHANGED    = SCIP_EVENTTYPE_ROWCOEFCHANGED
 *     ROWCONSTCHANGED   = SCIP_EVENTTYPE_ROWCONSTCHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_ROWDELETEDLP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 243, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_ROWDELETEDLP, __pyx_t_13) < (0)) __PYX_ERR(2, 243, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":244
 *     ROWADDEDLP        = SCIP_EVENTTYPE_ROWADDEDLP
 *     ROWDELETEDLP      = SCIP_EVENTTYPE_ROWDELETEDLP
 *     ROWCOEFCHANGED    = SCIP_EVENTTYPE_ROWCOEFCHANGED             # <<<<<<<<<<<<<<
 *     ROWCONSTCHANGED   = SCIP_EVENTTYPE_ROWCONSTCHANGED
 *     ROWSIDECHANGED    = SCIP_EVENTTYPE_ROWSIDECHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_ROWCOEFCHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_ROWCOEFCHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 244, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":245
 *     ROWDELETEDLP      = SCIP_EVENTTYPE_ROWDELETEDLP
 *     ROWCOEFCHANGED    = SCIP_EVENTTYPE_ROWCOEFCHANGED
 *     ROWCONSTCHANGED   = SCIP_EVENTTYPE_ROWCONSTCHANGED             # <<<<<<<<<<<<<<
 *     ROWSIDECHANGED    = SCIP_EVENTTYPE_ROWSIDECHANGED
 *     SYNC              = SCIP_EVENTTYPE_SYNC
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_ROWCONSTCHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 245, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_ROWCONSTCHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 245, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":246
 *     ROWCOEFCHANGED    = SCIP_EVENTTYPE_ROWCOEFCHANGED
 *     ROWCONSTCHANGED   = SCIP_EVENTTYPE_ROWCONSTCHANGED
 *     ROWSIDECHANGED    = SCIP_EVENTTYPE_ROWSIDECHANGED             # <<<<<<<<<<<<<<
 *     SYNC              = SCIP_EVENTTYPE_SYNC
 *     GBDCHANGED        = SCIP_EVENTTYPE_GBDCHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_ROWSIDECHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 246, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_ROWSIDECHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 246, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":247
 *     ROWCONSTCHANGED   = SCIP_EVENTTYPE_ROWCONSTCHANGED
 *     ROWSIDECHANGED    = SCIP_EVENTTYPE_ROWSIDECHANGED
 *     SYNC              = SCIP_EVENTTYPE_SYNC             # <<<<<<<<<<<<<<
 *     GBDCHANGED        = SCIP_EVENTTYPE_GBDCHANGED
 *     LBCHANGED         = SCIP_EVENTTYPE_LBCHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_SYNC); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 247, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_SYNC, __pyx_t_13) < (0)) __PYX_ERR(2, 247, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":248
 *     ROWSIDECHANGED    = SCIP_EVENTTYPE_ROWSIDECHANGED
 *     SYNC              = SCIP_EVENTTYPE_SYNC
 *     GBDCHANGED        = SCIP_EVENTTYPE_GBDCHANGED             # <<<<<<<<<<<<<<
 *     LBCHANGED         = SCIP_EVENTTYPE_LBCHANGED
 *     UBCHANGED         = SCIP_EVENTTYPE_UBCHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_GBDCHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_GBDCHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 248, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":249
 *     SYNC              = SCIP_EVENTTYPE_SYNC
 *     GBDCHANGED        = SCIP_EVENTTYPE_GBDCHANGED
 *     LBCHANGED         = SCIP_EVENTTYPE_LBCHANGED             # <<<<<<<<<<<<<<
 *     UBCHANGED         = SCIP_EVENTTYPE_UBCHANGED
 *     BOUNDTIGHTENED    = SCIP_EVENTTYPE_BOUNDTIGHTENED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_LBCHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_LBCHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":250
 *     GBDCHANGED        = SCIP_EVENTTYPE_GBDCHANGED
 *     LBCHANGED         = SCIP_EVENTTYPE_LBCHANGED
 *     UBCHANGED         = SCIP_EVENTTYPE_UBCHANGED             # <<<<<<<<<<<<<<
 *     BOUNDTIGHTENED    = SCIP_EVENTTYPE_BOUNDTIGHTENED
 *     BOUNDRELAXED      = SCIP_EVENTTYPE_BOUNDRELAXED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_UBCHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_UBCHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 250, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":251
 *     LBCHANGED         = SCIP_EVENTTYPE_LBCHANGED
 *     UBCHANGED         = SCIP_EVENTTYPE_UBCHANGED
 *     BOUNDTIGHTENED    = SCIP_EVENTTYPE_BOUNDTIGHTENED             # <<<<<<<<<<<<<<
 *     BOUNDRELAXED      = SCIP_EVENTTYPE_BOUNDRELAXED
 *     BOUNDCHANGED      = SCIP_EVENTTYPE_BOUNDCHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_BOUNDTIGHTENED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 251, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_BOUNDTIGHTENED, __pyx_t_13) < (0)) __PYX_ERR(2, 251, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":252
 *     UBCHANGED         = SCIP_EVENTTYPE_UBCHANGED
 *     BOUNDTIGHTENED    = SCIP_EVENTTYPE_BOUNDTIGHTENED
 *     BOUNDRELAXED      = SCIP_EVENTTYPE_BOUNDRELAXED             # <<<<<<<<<<<<<<
 *     BOUNDCHANGED      = SCIP_EVENTTYPE_BOUNDCHANGED
 *     GHOLECHANGED      = SCIP_EVENTTYPE_GHOLECHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_BOUNDRELAXED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_BOUNDRELAXED, __pyx_t_13) < (0)) __PYX_ERR(2, 252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":253
 *     BOUNDTIGHTENED    = SCIP_EVENTTYPE_BOUNDTIGHTENED
 *     BOUNDRELAXED      = SCIP_EVENTTYPE_BOUNDRELAXED
 *     BOUNDCHANGED      = SCIP_EVENTTYPE_BOUNDCHANGED             # <<<<<<<<<<<<<<
 *     GHOLECHANGED      = SCIP_EVENTTYPE_GHOLECHANGED
 *     LHOLECHANGED      = SCIP_EVENTTYPE_LHOLECHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_BOUNDCHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 253, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_BOUNDCHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 253, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":254
 *     BOUNDRELAXED      = SCIP_EVENTTYPE_BOUNDRELAXED
 *     BOUNDCHANGED      = SCIP_EVENTTYPE_BOUNDCHANGED
 *     GHOLECHANGED      = SCIP_EVENTTYPE_GHOLECHANGED             # <<<<<<<<<<<<<<
 *     LHOLECHANGED      = SCIP_EVENTTYPE_LHOLECHANGED
 *     HOLECHANGED       = SCIP_EVENTTYPE_HOLECHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_GHOLECHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_GHOLECHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 254, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":255
 *     BOUNDCHANGED      = SCIP_EVENTTYPE_BOUNDCHANGED
 *     GHOLECHANGED      = SCIP_EVENTTYPE_GHOLECHANGED
 *     LHOLECHANGED      = SCIP_EVENTTYPE_LHOLECHANGED             # <<<<<<<<<<<<<<
 *     HOLECHANGED       = SCIP_EVENTTYPE_HOLECHANGED
 *     DOMCHANGED        = SCIP_EVENTTYPE_DOMCHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_LHOLECHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 255, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_LHOLECHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 255, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":256
 *     GHOLECHANGED      = SCIP_EVENTTYPE_GHOLECHANGED
 *     LHOLECHANGED      = SCIP_EVENTTYPE_LHOLECHANGED
 *     HOLECHANGED       = SCIP_EVENTTYPE_HOLECHANGED             # <<<<<<<<<<<<<<
 *     DOMCHANGED        = SCIP_EVENTTYPE_DOMCHANGED
 *     VARCHANGED        = SCIP_EVENTTYPE_VARCHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_HOLECHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 256, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_HOLECHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 256, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":257
 *     LHOLECHANGED      = SCIP_EVENTTYPE_LHOLECHANGED
 *     HOLECHANGED       = SCIP_EVENTTYPE_HOLECHANGED
 *     DOMCHANGED        = SCIP_EVENTTYPE_DOMCHANGED             # <<<<<<<<<<<<<<
 *     VARCHANGED        = SCIP_EVENTTYPE_VARCHANGED
 *     VAREVENT          = SCIP_EVENTTYPE_VAREVENT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_DOMCHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 257, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_DOMCHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 257, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":258
 *     HOLECHANGED       = SCIP_EVENTTYPE_HOLECHANGED
 *     DOMCHANGED        = SCIP_EVENTTYPE_DOMCHANGED
 *     VARCHANGED        = SCIP_EVENTTYPE_VARCHANGED             # <<<<<<<<<<<<<<
 *     VAREVENT          = SCIP_EVENTTYPE_VAREVENT
 *     NODESOLVED        = SCIP_EVENTTYPE_NODESOLVED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_VARCHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 258, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_VARCHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 258, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":259
 *     DOMCHANGED        = SCIP_EVENTTYPE_DOMCHANGED
 *     VARCHANGED        = SCIP_EVENTTYPE_VARCHANGED
 *     VAREVENT          = SCIP_EVENTTYPE_VAREVENT             # <<<<<<<<<<<<<<
 *     NODESOLVED        = SCIP_EVENTTYPE_NODESOLVED
 *     NODEEVENT         = SCIP_EVENTTYPE_NODEEVENT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_VAREVENT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 259, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_VAREVENT, __pyx_t_13) < (0)) __PYX_ERR(2, 259, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":260
 *     VARCHANGED        = SCIP_EVENTTYPE_VARCHANGED
 *     VAREVENT          = SCIP_EVENTTYPE_VAREVENT
 *     NODESOLVED        = SCIP_EVENTTYPE_NODESOLVED             # <<<<<<<<<<<<<<
 *     NODEEVENT         = SCIP_EVENTTYPE_NODEEVENT
 *     SOLFOUND          = SCIP_EVENTTYPE_SOLFOUND
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_NODESOLVED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_NODESOLVED, __pyx_t_13) < (0)) __PYX_ERR(2, 260, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":261
 *     VAREVENT          = SCIP_EVENTTYPE_VAREVENT
 *     NODESOLVED        = SCIP_EVENTTYPE_NODESOLVED
 *     NODEEVENT         = SCIP_EVENTTYPE_NODEEVENT             # <<<<<<<<<<<<<<
 *     SOLFOUND          = SCIP_EVENTTYPE_SOLFOUND
 *     SOLEVENT          = SCIP_EVENTTYPE_SOLEVENT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_NODEEVENT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 261, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_NODEEVENT, __pyx_t_13) < (0)) __PYX_ERR(2, 261, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":262
 *     NODESOLVED        = SCIP_EVENTTYPE_NODESOLVED
 *     NODEEVENT         = SCIP_EVENTTYPE_NODEEVENT
 *     SOLFOUND          = SCIP_EVENTTYPE_SOLFOUND             # <<<<<<<<<<<<<<
 *     SOLEVENT          = SCIP_EVENTTYPE_SOLEVENT
 *     GAPUPDATED        = SCIP_EVENTTYPE_GAPUPDATED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_SOLFOUND); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 262, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_SOLFOUND, __pyx_t_13) < (0)) __PYX_ERR(2, 262, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":263
 *     NODEEVENT         = SCIP_EVENTTYPE_NODEEVENT
 *     SOLFOUND          = SCIP_EVENTTYPE_SOLFOUND
 *     SOLEVENT          = SCIP_EVENTTYPE_SOLEVENT             # <<<<<<<<<<<<<<
 *     GAPUPDATED        = SCIP_EVENTTYPE_GAPUPDATED
 *     ROWCHANGED        = SCIP_EVENTTYPE_ROWCHANGED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_SOLEVENT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_SOLEVENT, __pyx_t_13) < (0)) __PYX_ERR(2, 263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":264
 *     SOLFOUND          = SCIP_EVENTTYPE_SOLFOUND
 *     SOLEVENT          = SCIP_EVENTTYPE_SOLEVENT
 *     GAPUPDATED        = SCIP_EVENTTYPE_GAPUPDATED             # <<<<<<<<<<<<<<
 *     ROWCHANGED        = SCIP_EVENTTYPE_ROWCHANGED
 *     ROWEVENT          = SCIP_EVENTTYPE_ROWEVENT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_GAPUPDATED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 264, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_GAPUPDATED, __pyx_t_13) < (0)) __PYX_ERR(2, 264, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":265
 *     SOLEVENT          = SCIP_EVENTTYPE_SOLEVENT
 *     GAPUPDATED        = SCIP_EVENTTYPE_GAPUPDATED
 *     ROWCHANGED        = SCIP_EVENTTYPE_ROWCHANGED             # <<<<<<<<<<<<<<
 *     ROWEVENT          = SCIP_EVENTTYPE_ROWEVENT
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_ROWCHANGED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 265, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_ROWCHANGED, __pyx_t_13) < (0)) __PYX_ERR(2, 265, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":266
 *     GAPUPDATED        = SCIP_EVENTTYPE_GAPUPDATED
 *     ROWCHANGED        = SCIP_EVENTTYPE_ROWCHANGED
 *     ROWEVENT          = SCIP_EVENTTYPE_ROWEVENT             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_LOCKTYPE:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE_ROWEVENT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 266, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_ROWEVENT, __pyx_t_13) < (0)) __PYX_ERR(2, 266, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_EVENTTYPE___reduce_cytho, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[295])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_EVENTTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_EVENTTYPE__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_17PY_SCIP_EVENTTYPE_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_EVENTTYPE___setstate_cyt, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[296])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_EVENTTYPE, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":269
 * 
 * cdef class PY_SCIP_LOCKTYPE:
 *     MODEL    = SCIP_LOCKTYPE_MODEL             # <<<<<<<<<<<<<<
 *     CONFLICT = SCIP_LOCKTYPE_CONFLICT
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LOCKTYPE(SCIP_LOCKTYPE_MODEL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE, __pyx_mstate_global->__pyx_n_u_MODEL, __pyx_t_13) < (0)) __PYX_ERR(2, 269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":270
 * cdef class PY_SCIP_LOCKTYPE:
 *     MODEL    = SCIP_LOCKTYPE_MODEL
 *     CONFLICT = SCIP_LOCKTYPE_CONFLICT             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_IMPLINTTYPE:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LOCKTYPE(SCIP_LOCKTYPE_CONFLICT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 270, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE, __pyx_mstate_global->__pyx_n_u_CONFLICT, __pyx_t_13) < (0)) __PYX_ERR(2, 270, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_LOCKTYPE___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[297])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LOCKTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_LOCKTYPE__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16PY_SCIP_LOCKTYPE_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_LOCKTYPE___setstate_cyth, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[298])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LOCKTYPE, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":273
 * 
 * cdef class PY_SCIP_IMPLINTTYPE:
 *     NONE   = SCIP_IMPLINTTYPE_NONE             # <<<<<<<<<<<<<<
 *     WEAK   = SCIP_IMPLINTTYPE_WEAK
 *     STRONG = SCIP_IMPLINTTYPE_STRONG
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_IMPLINTTYPE(SCIP_IMPLINTTYPE_NONE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE, __pyx_mstate_global->__pyx_n_u_NONE, __pyx_t_13) < (0)) __PYX_ERR(2, 273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":274
 * cdef class PY_SCIP_IMPLINTTYPE:
 *     NONE   = SCIP_IMPLINTTYPE_NONE
 *     WEAK   = SCIP_IMPLINTTYPE_WEAK             # <<<<<<<<<<<<<<
 *     STRONG = SCIP_IMPLINTTYPE_STRONG
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_IMPLINTTYPE(SCIP_IMPLINTTYPE_WEAK); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE, __pyx_mstate_global->__pyx_n_u_WEAK, __pyx_t_13) < (0)) __PYX_ERR(2, 274, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":275
 *     NONE   = SCIP_IMPLINTTYPE_NONE
 *     WEAK   = SCIP_IMPLINTTYPE_WEAK
 *     STRONG = SCIP_IMPLINTTYPE_STRONG             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_LPSOLSTAT:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_IMPLINTTYPE(SCIP_IMPLINTTYPE_STRONG); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 275, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE, __pyx_mstate_global->__pyx_n_u_STRONG, __pyx_t_13) < (0)) __PYX_ERR(2, 275, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_IMPLINTTYPE___reduce_cyt, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[299])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_IMPLINTTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_IMPLINTTYPE__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_19PY_SCIP_IMPLINTTYPE_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_IMPLINTTYPE___setstate_c, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[300])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_IMPLINTTYPE, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":278
 * 
 * cdef class PY_SCIP_LPSOLSTAT:
 *     NOTSOLVED    = SCIP_LPSOLSTAT_NOTSOLVED             # <<<<<<<<<<<<<<
 *     OPTIMAL      = SCIP_LPSOLSTAT_OPTIMAL
 *     INFEASIBLE   = SCIP_LPSOLSTAT_INFEASIBLE
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPSOLSTAT(SCIP_LPSOLSTAT_NOTSOLVED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 278, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT, __pyx_mstate_global->__pyx_n_u_NOTSOLVED, __pyx_t_13) < (0)) __PYX_ERR(2, 278, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":279
 * cdef class PY_SCIP_LPSOLSTAT:
 *     NOTSOLVED    = SCIP_LPSOLSTAT_NOTSOLVED
 *     OPTIMAL      = SCIP_LPSOLSTAT_OPTIMAL             # <<<<<<<<<<<<<<
 *     INFEASIBLE   = SCIP_LPSOLSTAT_INFEASIBLE
 *     UNBOUNDEDRAY = SCIP_LPSOLSTAT_UNBOUNDEDRAY
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPSOLSTAT(SCIP_LPSOLSTAT_OPTIMAL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 279, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT, __pyx_mstate_global->__pyx_n_u_OPTIMAL, __pyx_t_13) < (0)) __PYX_ERR(2, 279, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":280
 *     NOTSOLVED    = SCIP_LPSOLSTAT_NOTSOLVED
 *     OPTIMAL      = SCIP_LPSOLSTAT_OPTIMAL
 *     INFEASIBLE   = SCIP_LPSOLSTAT_INFEASIBLE             # <<<<<<<<<<<<<<
 *     UNBOUNDEDRAY = SCIP_LPSOLSTAT_UNBOUNDEDRAY
 *     OBJLIMIT     = SCIP_LPSOLSTAT_OBJLIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPSOLSTAT(SCIP_LPSOLSTAT_INFEASIBLE); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 280, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT, __pyx_mstate_global->__pyx_n_u_INFEASIBLE, __pyx_t_13) < (0)) __PYX_ERR(2, 280, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":281
 *     OPTIMAL      = SCIP_LPSOLSTAT_OPTIMAL
 *     INFEASIBLE   = SCIP_LPSOLSTAT_INFEASIBLE
 *     UNBOUNDEDRAY = SCIP_LPSOLSTAT_UNBOUNDEDRAY             # <<<<<<<<<<<<<<
 *     OBJLIMIT     = SCIP_LPSOLSTAT_OBJLIMIT
 *     ITERLIMIT    = SCIP_LPSOLSTAT_ITERLIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPSOLSTAT(SCIP_LPSOLSTAT_UNBOUNDEDRAY); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT, __pyx_mstate_global->__pyx_n_u_UNBOUNDEDRAY, __pyx_t_13) < (0)) __PYX_ERR(2, 281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":282
 *     INFEASIBLE   = SCIP_LPSOLSTAT_INFEASIBLE
 *     UNBOUNDEDRAY = SCIP_LPSOLSTAT_UNBOUNDEDRAY
 *     OBJLIMIT     = SCIP_LPSOLSTAT_OBJLIMIT             # <<<<<<<<<<<<<<
 *     ITERLIMIT    = SCIP_LPSOLSTAT_ITERLIMIT
 *     TIMELIMIT    = SCIP_LPSOLSTAT_TIMELIMIT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPSOLSTAT(SCIP_LPSOLSTAT_OBJLIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT, __pyx_mstate_global->__pyx_n_u_OBJLIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 282, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":283
 *     UNBOUNDEDRAY = SCIP_LPSOLSTAT_UNBOUNDEDRAY
 *     OBJLIMIT     = SCIP_LPSOLSTAT_OBJLIMIT
 *     ITERLIMIT    = SCIP_LPSOLSTAT_ITERLIMIT             # <<<<<<<<<<<<<<
 *     TIMELIMIT    = SCIP_LPSOLSTAT_TIMELIMIT
 *     ERROR        = SCIP_LPSOLSTAT_ERROR
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPSOLSTAT(SCIP_LPSOLSTAT_ITERLIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 283, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT, __pyx_mstate_global->__pyx_n_u_ITERLIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 283, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":284
 *     OBJLIMIT     = SCIP_LPSOLSTAT_OBJLIMIT
 *     ITERLIMIT    = SCIP_LPSOLSTAT_ITERLIMIT
 *     TIMELIMIT    = SCIP_LPSOLSTAT_TIMELIMIT             # <<<<<<<<<<<<<<
 *     ERROR        = SCIP_LPSOLSTAT_ERROR
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPSOLSTAT(SCIP_LPSOLSTAT_TIMELIMIT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT, __pyx_mstate_global->__pyx_n_u_TIMELIMIT, __pyx_t_13) < (0)) __PYX_ERR(2, 284, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":285
 *     ITERLIMIT    = SCIP_LPSOLSTAT_ITERLIMIT
 *     TIMELIMIT    = SCIP_LPSOLSTAT_TIMELIMIT
 *     ERROR        = SCIP_LPSOLSTAT_ERROR             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_BRANCHDIR:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_LPSOLSTAT(SCIP_LPSOLSTAT_ERROR); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT, __pyx_mstate_global->__pyx_n_u_ERROR, __pyx_t_13) < (0)) __PYX_ERR(2, 285, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_LPSOLSTAT___reduce_cytho, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[301])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_LPSOLSTAT, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_LPSOLSTAT__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_17PY_SCIP_LPSOLSTAT_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_LPSOLSTAT___setstate_cyt, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[302])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_LPSOLSTAT, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":288
 * 
 * cdef class PY_SCIP_BRANCHDIR:
 *     DOWNWARDS = SCIP_BRANCHDIR_DOWNWARDS             # <<<<<<<<<<<<<<
 *     UPWARDS   = SCIP_BRANCHDIR_UPWARDS
 *     FIXED     = SCIP_BRANCHDIR_FIXED
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_BRANCHDIR(SCIP_BRANCHDIR_DOWNWARDS); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR, __pyx_mstate_global->__pyx_n_u_DOWNWARDS, __pyx_t_13) < (0)) __PYX_ERR(2, 288, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":289
 * cdef class PY_SCIP_BRANCHDIR:
 *     DOWNWARDS = SCIP_BRANCHDIR_DOWNWARDS
 *     UPWARDS   = SCIP_BRANCHDIR_UPWARDS             # <<<<<<<<<<<<<<
 *     FIXED     = SCIP_BRANCHDIR_FIXED
 *     AUTO      = SCIP_BRANCHDIR_AUTO
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_BRANCHDIR(SCIP_BRANCHDIR_UPWARDS); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 289, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR, __pyx_mstate_global->__pyx_n_u_UPWARDS, __pyx_t_13) < (0)) __PYX_ERR(2, 289, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":290
 *     DOWNWARDS = SCIP_BRANCHDIR_DOWNWARDS
 *     UPWARDS   = SCIP_BRANCHDIR_UPWARDS
 *     FIXED     = SCIP_BRANCHDIR_FIXED             # <<<<<<<<<<<<<<
 *     AUTO      = SCIP_BRANCHDIR_AUTO
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_BRANCHDIR(SCIP_BRANCHDIR_FIXED); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR, __pyx_mstate_global->__pyx_n_u_FIXED, __pyx_t_13) < (0)) __PYX_ERR(2, 290, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":291
 *     UPWARDS   = SCIP_BRANCHDIR_UPWARDS
 *     FIXED     = SCIP_BRANCHDIR_FIXED
 *     AUTO      = SCIP_BRANCHDIR_AUTO             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_BENDERSENFOTYPE:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_BRANCHDIR(SCIP_BRANCHDIR_AUTO); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 291, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR, __pyx_mstate_global->__pyx_n_u_AUTO, __pyx_t_13) < (0)) __PYX_ERR(2, 291, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_BRANCHDIR___reduce_cytho, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[303])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_BRANCHDIR, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_BRANCHDIR__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_17PY_SCIP_BRANCHDIR_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_BRANCHDIR___setstate_cyt, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[304])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BRANCHDIR, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":294
 * 
 * cdef class PY_SCIP_BENDERSENFOTYPE:
 *     LP     = SCIP_BENDERSENFOTYPE_LP             # <<<<<<<<<<<<<<
 *     RELAX  = SCIP_BENDERSENFOTYPE_RELAX
 *     PSEUDO = SCIP_BENDERSENFOTYPE_PSEUDO
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_BENDERSENFOTYPE(SCIP_BENDERSENFOTYPE_LP); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE, __pyx_mstate_global->__pyx_n_u_LP, __pyx_t_13) < (0)) __PYX_ERR(2, 294, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":295
 * cdef class PY_SCIP_BENDERSENFOTYPE:
 *     LP     = SCIP_BENDERSENFOTYPE_LP
 *     RELAX  = SCIP_BENDERSENFOTYPE_RELAX             # <<<<<<<<<<<<<<
 *     PSEUDO = SCIP_BENDERSENFOTYPE_PSEUDO
 *     CHECK  = SCIP_BENDERSENFOTYPE_CHECK
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_BENDERSENFOTYPE(SCIP_BENDERSENFOTYPE_RELAX); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 295, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE, __pyx_mstate_global->__pyx_n_u_RELAX, __pyx_t_13) < (0)) __PYX_ERR(2, 295, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":296
 *     LP     = SCIP_BENDERSENFOTYPE_LP
 *     RELAX  = SCIP_BENDERSENFOTYPE_RELAX
 *     PSEUDO = SCIP_BENDERSENFOTYPE_PSEUDO             # <<<<<<<<<<<<<<
 *     CHECK  = SCIP_BENDERSENFOTYPE_CHECK
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_BENDERSENFOTYPE(SCIP_BENDERSENFOTYPE_PSEUDO); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE, __pyx_mstate_global->__pyx_n_u_PSEUDO, __pyx_t_13) < (0)) __PYX_ERR(2, 296, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":297
 *     RELAX  = SCIP_BENDERSENFOTYPE_RELAX
 *     PSEUDO = SCIP_BENDERSENFOTYPE_PSEUDO
 *     CHECK  = SCIP_BENDERSENFOTYPE_CHECK             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_ROWORIGINTYPE:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_BENDERSENFOTYPE(SCIP_BENDERSENFOTYPE_CHECK); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE, __pyx_mstate_global->__pyx_n_u_CHECK, __pyx_t_13) < (0)) __PYX_ERR(2, 297, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_BENDERSENFOTYPE___reduce, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[305])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_23PY_SCIP_BENDERSENFOTYPE_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_BENDERSENFOTYPE___setsta, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[306])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":300
 * 
 * cdef class PY_SCIP_ROWORIGINTYPE:
 *     UNSPEC = SCIP_ROWORIGINTYPE_UNSPEC             # <<<<<<<<<<<<<<
 *     CONS   = SCIP_ROWORIGINTYPE_CONS
 *     SEPA   = SCIP_ROWORIGINTYPE_SEPA
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_ROWORIGINTYPE(SCIP_ROWORIGINTYPE_UNSPEC); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE, __pyx_mstate_global->__pyx_n_u_UNSPEC, __pyx_t_13) < (0)) __PYX_ERR(2, 300, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":301
 * cdef class PY_SCIP_ROWORIGINTYPE:
 *     UNSPEC = SCIP_ROWORIGINTYPE_UNSPEC
 *     CONS   = SCIP_ROWORIGINTYPE_CONS             # <<<<<<<<<<<<<<
 *     SEPA   = SCIP_ROWORIGINTYPE_SEPA
 *     REOPT  = SCIP_ROWORIGINTYPE_REOPT
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_ROWORIGINTYPE(SCIP_ROWORIGINTYPE_CONS); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE, __pyx_mstate_global->__pyx_n_u_CONS, __pyx_t_13) < (0)) __PYX_ERR(2, 301, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":302
 *     UNSPEC = SCIP_ROWORIGINTYPE_UNSPEC
 *     CONS   = SCIP_ROWORIGINTYPE_CONS
 *     SEPA   = SCIP_ROWORIGINTYPE_SEPA             # <<<<<<<<<<<<<<
 *     REOPT  = SCIP_ROWORIGINTYPE_REOPT
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_ROWORIGINTYPE(SCIP_ROWORIGINTYPE_SEPA); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE, __pyx_mstate_global->__pyx_n_u_SEPA, __pyx_t_13) < (0)) __PYX_ERR(2, 302, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":303
 *     CONS   = SCIP_ROWORIGINTYPE_CONS
 *     SEPA   = SCIP_ROWORIGINTYPE_SEPA
 *     REOPT  = SCIP_ROWORIGINTYPE_REOPT             # <<<<<<<<<<<<<<
 * 
 * cdef class PY_SCIP_SOLORIGIN:
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_ROWORIGINTYPE(SCIP_ROWORIGINTYPE_REOPT); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 303, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE, __pyx_mstate_global->__pyx_n_u_REOPT, __pyx_t_13) < (0)) __PYX_ERR(2, 303, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_ROWORIGINTYPE___reduce_c, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[307])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_ROWORIGINTYPE, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_ROWORIGINTYPE__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_21PY_SCIP_ROWORIGINTYPE_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_ROWORIGINTYPE___setstate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[308])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_ROWORIGINTYPE, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":306
 * 
 * cdef class PY_SCIP_SOLORIGIN:
 *     ORIGINAL  = SCIP_SOLORIGIN_ORIGINAL             # <<<<<<<<<<<<<<
 *     ZERO      = SCIP_SOLORIGIN_ZERO
 *     LPSOL     = SCIP_SOLORIGIN_LPSOL
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_SOLORIGIN(SCIP_SOLORIGIN_ORIGINAL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 306, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN, __pyx_mstate_global->__pyx_n_u_ORIGINAL, __pyx_t_13) < (0)) __PYX_ERR(2, 306, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":307
 * cdef class PY_SCIP_SOLORIGIN:
 *     ORIGINAL  = SCIP_SOLORIGIN_ORIGINAL
 *     ZERO      = SCIP_SOLORIGIN_ZERO             # <<<<<<<<<<<<<<
 *     LPSOL     = SCIP_SOLORIGIN_LPSOL
 *     NLPSOL    = SCIP_SOLORIGIN_NLPSOL
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_SOLORIGIN(SCIP_SOLORIGIN_ZERO); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN, __pyx_mstate_global->__pyx_n_u_ZERO, __pyx_t_13) < (0)) __PYX_ERR(2, 307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":308
 *     ORIGINAL  = SCIP_SOLORIGIN_ORIGINAL
 *     ZERO      = SCIP_SOLORIGIN_ZERO
 *     LPSOL     = SCIP_SOLORIGIN_LPSOL             # <<<<<<<<<<<<<<
 *     NLPSOL    = SCIP_SOLORIGIN_NLPSOL
 *     RELAXSOL  = SCIP_SOLORIGIN_RELAXSOL
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_SOLORIGIN(SCIP_SOLORIGIN_LPSOL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN, __pyx_mstate_global->__pyx_n_u_LPSOL, __pyx_t_13) < (0)) __PYX_ERR(2, 308, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":309
 *     ZERO      = SCIP_SOLORIGIN_ZERO
 *     LPSOL     = SCIP_SOLORIGIN_LPSOL
 *     NLPSOL    = SCIP_SOLORIGIN_NLPSOL             # <<<<<<<<<<<<<<
 *     RELAXSOL  = SCIP_SOLORIGIN_RELAXSOL
 *     PSEUDOSOL = SCIP_SOLORIGIN_PSEUDOSOL
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_SOLORIGIN(SCIP_SOLORIGIN_NLPSOL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 309, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN, __pyx_mstate_global->__pyx_n_u_NLPSOL, __pyx_t_13) < (0)) __PYX_ERR(2, 309, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":310
 *     LPSOL     = SCIP_SOLORIGIN_LPSOL
 *     NLPSOL    = SCIP_SOLORIGIN_NLPSOL
 *     RELAXSOL  = SCIP_SOLORIGIN_RELAXSOL             # <<<<<<<<<<<<<<
 *     PSEUDOSOL = SCIP_SOLORIGIN_PSEUDOSOL
 *     PARTIAL   = SCIP_SOLORIGIN_PARTIAL
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_SOLORIGIN(SCIP_SOLORIGIN_RELAXSOL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 310, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN, __pyx_mstate_global->__pyx_n_u_RELAXSOL, __pyx_t_13) < (0)) __PYX_ERR(2, 310, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":311
 *     NLPSOL    = SCIP_SOLORIGIN_NLPSOL
 *     RELAXSOL  = SCIP_SOLORIGIN_RELAXSOL
 *     PSEUDOSOL = SCIP_SOLORIGIN_PSEUDOSOL             # <<<<<<<<<<<<<<
 *     PARTIAL   = SCIP_SOLORIGIN_PARTIAL
 *     UNKNOWN   = SCIP_SOLORIGIN_UNKNOWN
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_SOLORIGIN(SCIP_SOLORIGIN_PSEUDOSOL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN, __pyx_mstate_global->__pyx_n_u_PSEUDOSOL, __pyx_t_13) < (0)) __PYX_ERR(2, 311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":312
 *     RELAXSOL  = SCIP_SOLORIGIN_RELAXSOL
 *     PSEUDOSOL = SCIP_SOLORIGIN_PSEUDOSOL
 *     PARTIAL   = SCIP_SOLORIGIN_PARTIAL             # <<<<<<<<<<<<<<
 *     UNKNOWN   = SCIP_SOLORIGIN_UNKNOWN
 * 
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_SOLORIGIN(SCIP_SOLORIGIN_PARTIAL); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 312, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN, __pyx_mstate_global->__pyx_n_u_PARTIAL, __pyx_t_13) < (0)) __PYX_ERR(2, 312, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":313
 *     PSEUDOSOL = SCIP_SOLORIGIN_PSEUDOSOL
 *     PARTIAL   = SCIP_SOLORIGIN_PARTIAL
 *     UNKNOWN   = SCIP_SOLORIGIN_UNKNOWN             # <<<<<<<<<<<<<<
 * 
 * def PY_SCIP_CALL(SCIP_RETCODE rc):
*/
  __pyx_t_13 = __Pyx_PyLong_From_SCIP_SOLORIGIN(SCIP_SOLORIGIN_UNKNOWN); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN, __pyx_mstate_global->__pyx_n_u_UNKNOWN, __pyx_t_13) < (0)) __PYX_ERR(2, 313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     cdef tuple state
 *     cdef object _dict
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_SOLORIGIN___reduce_cytho, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[309])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":16
 *     else:
 *         return __pyx_unpickle_PY_SCIP_SOLORIGIN, (type(self), 0xe3b0c44, state)
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     __pyx_unpickle_PY_SCIP_SOLORIGIN__set_state(self, __pyx_state)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_17PY_SCIP_SOLORIGIN_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_PY_SCIP_SOLORIGIN___setstate_cyt, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[310])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_SOLORIGIN, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 16, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":315
 *     UNKNOWN   = SCIP_SOLORIGIN_UNKNOWN
 * 
 * def PY_SCIP_CALL(SCIP_RETCODE rc):             # <<<<<<<<<<<<<<
 *     if rc == SCIP_OKAY:
 *         pass
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_33PY_SCIP_CALL, 0, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[311])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_PY_SCIP_CALL, __pyx_t_13) < (0)) __PYX_ERR(2, 315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":381
 *         return event
 * 
 *     def getType(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets type of event.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Event_1getType, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Event_getType, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[312])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 381, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Event, __pyx_mstate_global->__pyx_n_u_getType, __pyx_t_13) < (0)) __PYX_ERR(2, 381, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":392
 *         return SCIPeventGetType(self.event)
 * 
 *     def getName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets name of event.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Event_3getName, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Event_getName, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[313])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 392, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Event, __pyx_mstate_global->__pyx_n_u_getName, __pyx_t_13) < (0)) __PYX_ERR(2, 392, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":405
 *         return EventNames[self.getType()]
 * 
 *     def _getEventNames(self):             # <<<<<<<<<<<<<<
 *         """Gets event names."""
 *         for name in dir(PY_SCIP_EVENTTYPE):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Event_5_getEventNames, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Event__getEventNames, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[314])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 405, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Event, __pyx_mstate_global->__pyx_n_u_getEventNames, __pyx_t_13) < (0)) __PYX_ERR(2, 405, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":418
 *         return self.getName()
 * 
 *     def getNewBound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets new bound for a bound change event.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Event_11getNewBound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Event_getNewBound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[315])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Event, __pyx_mstate_global->__pyx_n_u_getNewBound, __pyx_t_13) < (0)) __PYX_ERR(2, 418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":429
 *         return SCIPeventGetNewbound(self.event)
 * 
 *     def getOldBound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets old bound for a bound change event.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Event_13getOldBound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Event_getOldBound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[316])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Event, __pyx_mstate_global->__pyx_n_u_getOldBound, __pyx_t_13) < (0)) __PYX_ERR(2, 429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":440
 *         return SCIPeventGetOldbound(self.event)
 * 
 *     def getVar(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets variable for a variable event (var added, var deleted, var fixed,
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Event_15getVar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Event_getVar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[317])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Event, __pyx_mstate_global->__pyx_n_u_getVar, __pyx_t_13) < (0)) __PYX_ERR(2, 440, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":453
 *         return Variable.create(var)
 * 
 *     def getNode(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets node for a node or LP event.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Event_17getNode, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Event_getNode, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[318])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 453, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Event, __pyx_mstate_global->__pyx_n_u_getNode, __pyx_t_13) < (0)) __PYX_ERR(2, 453, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":465
 *         return Node.create(node)
 * 
 *     def getRow(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets row for a row event.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Event_19getRow, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Event_getRow, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[319])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 465, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Event, __pyx_mstate_global->__pyx_n_u_getRow, __pyx_t_13) < (0)) __PYX_ERR(2, 465, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.event cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Event_25__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Event___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[320])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.event cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.event cannot be converted to a Python object for pickling"
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Event_27__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Event___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[321])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":509
 *         return col
 * 
 *     def getLPPos(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets position of column in current LP, or -1 if it is not in LP.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Column_1getLPPos, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Column_getLPPos, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[322])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Column, __pyx_mstate_global->__pyx_n_u_getLPPos, __pyx_t_13) < (0)) __PYX_ERR(2, 509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":520
 *         return SCIPcolGetLPPos(self.scip_col)
 * 
 *     def getBasisStatus(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the basis status of a column in the LP solution
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Column_3getBasisStatus, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Column_getBasisStatus, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[323])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Column, __pyx_mstate_global->__pyx_n_u_getBasisStatus, __pyx_t_13) < (0)) __PYX_ERR(2, 520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":551
 *             raise Exception('SCIP returned unknown base status!')
 * 
 *     def isIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the associated variable is of integral type (binary, integer, implicit integer).
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Column_5isIntegral, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Column_isIntegral, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[324])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Column, __pyx_mstate_global->__pyx_n_u_isIntegral, __pyx_t_13) < (0)) __PYX_ERR(2, 551, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":562
 *         return SCIPcolIsIntegral(self.scip_col)
 * 
 *     def getVar(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets variable this column represents.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Column_7getVar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Column_getVar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[325])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 562, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Column, __pyx_mstate_global->__pyx_n_u_getVar, __pyx_t_13) < (0)) __PYX_ERR(2, 562, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":574
 *         return Variable.create(var)
 * 
 *     def getPrimsol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the primal LP solution of a column.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Column_9getPrimsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Column_getPrimsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[326])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 574, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Column, __pyx_mstate_global->__pyx_n_u_getPrimsol, __pyx_t_13) < (0)) __PYX_ERR(2, 574, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":585
 *         return SCIPcolGetPrimsol(self.scip_col)
 * 
 *     def getLb(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets lower bound of column.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Column_11getLb, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Column_getLb, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[327])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Column, __pyx_mstate_global->__pyx_n_u_getLb, __pyx_t_13) < (0)) __PYX_ERR(2, 585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":596
 *         return SCIPcolGetLb(self.scip_col)
 * 
 *     def getUb(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets upper bound of column.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Column_13getUb, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Column_getUb, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[328])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 596, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Column, __pyx_mstate_global->__pyx_n_u_getUb, __pyx_t_13) < (0)) __PYX_ERR(2, 596, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":607
 *         return SCIPcolGetUb(self.scip_col)
 * 
 *     def getObjCoeff(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets objective value coefficient of a column.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Column_15getObjCoeff, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Column_getObjCoeff, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[329])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 607, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Column, __pyx_mstate_global->__pyx_n_u_getObjCoeff, __pyx_t_13) < (0)) __PYX_ERR(2, 607, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":618
 *         return SCIPcolGetObj(self.scip_col)
 * 
 *     def getAge(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the age of the column, i.e., the total number of successive times a column was in the LP
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Column_17getAge, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Column_getAge, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[330])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Column, __pyx_mstate_global->__pyx_n_u_getAge, __pyx_t_13) < (0)) __PYX_ERR(2, 618, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_col cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Column_23__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Column___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[331])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_col cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_col cannot be converted to a Python object for pickling"
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_6Column_25__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Column___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[332])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_col_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_11ColumnExact_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ColumnExact___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[333])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_col_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_col_exact cannot be converted to a Python object for pickling"
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_11ColumnExact_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_ColumnExact___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[334])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":692
 *             return cname.decode('utf-8')
 * 
 *     def getLhs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the left hand side of row.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_1getLhs, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getLhs, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[335])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 692, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getLhs, __pyx_t_13) < (0)) __PYX_ERR(2, 692, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":703
 *         return SCIProwGetLhs(self.scip_row)
 * 
 *     def getRhs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the right hand side of row.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_3getRhs, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getRhs, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[336])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getRhs, __pyx_t_13) < (0)) __PYX_ERR(2, 703, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":714
 *         return SCIProwGetRhs(self.scip_row)
 * 
 *     def getConstant(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets constant shift of row.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_5getConstant, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getConstant, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[337])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 714, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getConstant, __pyx_t_13) < (0)) __PYX_ERR(2, 714, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":725
 *         return SCIProwGetConstant(self.scip_row)
 * 
 *     def getDualsol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the dual solution of row.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_7getDualsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getDualsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[338])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 725, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getDualsol, __pyx_t_13) < (0)) __PYX_ERR(2, 725, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":736
 *         return SCIProwGetDualsol(self.scip_row)
 * 
 *     def getDualfarkas(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the dual Farkas solution of row.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_9getDualfarkas, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getDualfarkas, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[339])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getDualfarkas, __pyx_t_13) < (0)) __PYX_ERR(2, 736, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":747
 *         return SCIProwGetDualfarkas(self.scip_row)
 * 
 *     def getLPPos(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets position of row in current LP, or -1 if it is not in LP.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_11getLPPos, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getLPPos, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[340])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getLPPos, __pyx_t_13) < (0)) __PYX_ERR(2, 747, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":758
 *         return SCIProwGetLPPos(self.scip_row)
 * 
 *     def getBasisStatus(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the basis status of a row in the LP solution.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_13getBasisStatus, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getBasisStatus, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[341])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getBasisStatus, __pyx_t_13) < (0)) __PYX_ERR(2, 758, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":790
 *             raise Exception('SCIP returned unknown base status!')
 * 
 *     def isIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE iff the activity of the row (without the row's constant)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_15isIntegral, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_isIntegral, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[342])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 790, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_isIntegral, __pyx_t_13) < (0)) __PYX_ERR(2, 790, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":802
 *         return SCIProwIsIntegral(self.scip_row)
 * 
 *     def isLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE iff the row is only valid locally.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_17isLocal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_isLocal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[343])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 802, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_isLocal, __pyx_t_13) < (0)) __PYX_ERR(2, 802, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":813
 *         return SCIProwIsLocal(self.scip_row)
 * 
 *     def isModifiable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE iff row is modifiable during node processing (subject to column generation).
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_19isModifiable, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_isModifiable, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[344])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 813, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_isModifiable, __pyx_t_13) < (0)) __PYX_ERR(2, 813, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":824
 *         return SCIProwIsModifiable(self.scip_row)
 * 
 *     def isRemovable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE iff row is removable from the LP (due to aging or cleanup).
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_21isRemovable, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_isRemovable, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[345])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 824, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_isRemovable, __pyx_t_13) < (0)) __PYX_ERR(2, 824, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":835
 *         return SCIProwIsRemovable(self.scip_row)
 * 
 *     def isInGlobalCutpool(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return TRUE iff row is a member of the global cut pool.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_23isInGlobalCutpool, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_isInGlobalCutpool, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[346])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_isInGlobalCutpool, __pyx_t_13) < (0)) __PYX_ERR(2, 835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":846
 *         return SCIProwIsInGlobalCutpool(self.scip_row)
 * 
 *     def getOrigintype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns type of origin that created the row.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_25getOrigintype, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getOrigintype, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[347])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getOrigintype, __pyx_t_13) < (0)) __PYX_ERR(2, 846, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":857
 *         return SCIProwGetOrigintype(self.scip_row)
 * 
 *     def getConsOriginConshdlrtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns type of constraint handler that created the row.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_27getConsOriginConshdlrtype, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getConsOriginConshdlrtype, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[348])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getConsOriginConshdlrtype, __pyx_t_13) < (0)) __PYX_ERR(2, 857, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":869
 *         return bytes(SCIPconshdlrGetName(SCIPconsGetHdlr(scip_con))).decode('UTF-8')
 * 
 *     def getNNonz(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get number of nonzero entries in row vector.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_29getNNonz, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getNNonz, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[349])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getNNonz, __pyx_t_13) < (0)) __PYX_ERR(2, 869, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":880
 *         return SCIProwGetNNonz(self.scip_row)
 * 
 *     def getNLPNonz(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get number of nonzero entries in row vector that correspond to columns currently in the SCIP LP.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_31getNLPNonz, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getNLPNonz, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[350])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getNLPNonz, __pyx_t_13) < (0)) __PYX_ERR(2, 880, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":891
 *         return SCIProwGetNLPNonz(self.scip_row)
 * 
 *     def getCols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets list with columns of nonzero entries
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_33getCols, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getCols, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[351])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 891, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getCols, __pyx_t_13) < (0)) __PYX_ERR(2, 891, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":904
 *         return [Column.create(cols[i]) for i in range(self.getNNonz())]
 * 
 *     def getVals(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets list with coefficients of nonzero entries.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_35getVals, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getVals, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[352])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 904, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getVals, __pyx_t_13) < (0)) __PYX_ERR(2, 904, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":917
 *         return [vals[i] for i in range(self.getNNonz())]
 * 
 *     def getAge(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the age of the row. (The consecutive times the row has been non-active in the LP).
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_37getAge, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getAge, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[353])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 917, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getAge, __pyx_t_13) < (0)) __PYX_ERR(2, 917, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":928
 *         return SCIProwGetAge(self.scip_row)
 * 
 *     def getNorm(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets Euclidean norm of row vector.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_39getNorm, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row_getNorm, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[354])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 928, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Row, __pyx_mstate_global->__pyx_n_u_getNorm, __pyx_t_13) < (0)) __PYX_ERR(2, 928, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_row cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_45__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[355])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_row cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_row cannot be converted to a Python object for pickling"
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3Row_47__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Row___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[356])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_row_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8RowExact_1__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_RowExact___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[357])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_row_exact cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_row_exact cannot be converted to a Python object for pickling"
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8RowExact_3__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_RowExact___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[358])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1001
 *             return cname.decode('utf-8')
 * 
 *     def getConstant(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the constant of a nonlinear row.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5NLRow_1getConstant, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_NLRow_getConstant, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[359])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1001, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_NLRow, __pyx_mstate_global->__pyx_n_u_getConstant, __pyx_t_13) < (0)) __PYX_ERR(2, 1001, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1012
 *         return SCIPnlrowGetConstant(self.scip_nlrow)
 * 
 *     def getLinearTerms(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns a list of tuples (var, coef) representing the linear part of a nonlinear row.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5NLRow_3getLinearTerms, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_NLRow_getLinearTerms, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[360])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1012, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_NLRow, __pyx_mstate_global->__pyx_n_u_getLinearTerms, __pyx_t_13) < (0)) __PYX_ERR(2, 1012, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1027
 *         return [(Variable.create(linvars[i]), lincoefs[i]) for i in range(nlinvars)]
 * 
 *     def getLhs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the left hand side of a nonlinear row.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5NLRow_5getLhs, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_NLRow_getLhs, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[361])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1027, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_NLRow, __pyx_mstate_global->__pyx_n_u_getLhs, __pyx_t_13) < (0)) __PYX_ERR(2, 1027, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1038
 *         return SCIPnlrowGetLhs(self.scip_nlrow)
 * 
 *     def getRhs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the right hand side of a nonlinear row.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5NLRow_7getRhs, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_NLRow_getRhs, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[362])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_NLRow, __pyx_mstate_global->__pyx_n_u_getRhs, __pyx_t_13) < (0)) __PYX_ERR(2, 1038, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1049
 *         return SCIPnlrowGetRhs(self.scip_nlrow)
 * 
 *     def getDualsol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the dual NLP solution of a nonlinear row.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5NLRow_9getDualsol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_NLRow_getDualsol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[363])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_NLRow, __pyx_mstate_global->__pyx_n_u_getDualsol, __pyx_t_13) < (0)) __PYX_ERR(2, 1049, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_nlrow cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5NLRow_15__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_NLRow___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[364])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_nlrow cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_nlrow cannot be converted to a Python object for pickling"
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5NLRow_17__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_NLRow___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[365])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1130
 *         return str(vals)
 * 
 *     def _checkStage(self, method):             # <<<<<<<<<<<<<<
 *         if method in ["SCIPgetSolVal", "getSolObjVal"]:
 *             stage_check = SCIPgetStage(self.scip) not in [SCIP_STAGE_INIT, SCIP_STAGE_FREE]
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Solution_9_checkStage, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Solution__checkStage, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[366])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, __pyx_mstate_global->__pyx_n_u_checkStage, __pyx_t_13) < (0)) __PYX_ERR(2, 1130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1136
 *                 raise Warning(f"{method} can only be called with a valid solution or in stage SOLVING (current stage: {SCIPgetStage(self.scip)})")
 * 
 *     def getOrigin(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns origin of solution: where to retrieve uncached elements.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Solution_11getOrigin, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Solution_getOrigin, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[367])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1136, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, __pyx_mstate_global->__pyx_n_u_getOrigin, __pyx_t_13) < (0)) __PYX_ERR(2, 1136, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1146
 *         return SCIPsolGetOrigin(self.sol)
 * 
 *     def retransform(self):             # <<<<<<<<<<<<<<
 *         """ retransforms solution to original problem space """
 *         PY_SCIP_CALL(SCIPretransformSol(self.scip, self.sol))
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Solution_13retransform, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Solution_retransform, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[368])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1146, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, __pyx_mstate_global->__pyx_n_u_retransform, __pyx_t_13) < (0)) __PYX_ERR(2, 1146, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1150
 *         PY_SCIP_CALL(SCIPretransformSol(self.scip, self.sol))
 * 
 *     def translate(self, Model target):             # <<<<<<<<<<<<<<
 *         """
 *         translate solution to a target model solution
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Solution_15translate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Solution_translate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[369])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1150, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Solution, __pyx_mstate_global->__pyx_n_u_translate, __pyx_t_13) < (0)) __PYX_ERR(2, 1150, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip,self.sol cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Solution_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Solution___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[370])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip,self.sol cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip,self.sol cannot be converted to a Python object for pickling"
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Solution_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Solution___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[371])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1194
 *         return boundchg
 * 
 *     def getNewBound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the new value of the bound in the bound change.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_11BoundChange_1getNewBound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BoundChange_getNewBound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[372])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1194, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_BoundChange, __pyx_mstate_global->__pyx_n_u_getNewBound, __pyx_t_13) < (0)) __PYX_ERR(2, 1194, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1205
 *         return SCIPboundchgGetNewbound(self.scip_boundchg)
 * 
 *     def getVar(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the variable of the bound change.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_11BoundChange_3getVar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BoundChange_getVar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[373])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_BoundChange, __pyx_mstate_global->__pyx_n_u_getVar, __pyx_t_13) < (0)) __PYX_ERR(2, 1205, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1216
 *         return Variable.create(SCIPboundchgGetVar(self.scip_boundchg))
 * 
 *     def getBoundchgtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the bound change type of the bound change.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_11BoundChange_5getBoundchgtype, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BoundChange_getBoundchgtype, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[374])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1216, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_BoundChange, __pyx_mstate_global->__pyx_n_u_getBoundchgtype, __pyx_t_13) < (0)) __PYX_ERR(2, 1216, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1228
 *         return SCIPboundchgGetBoundchgtype(self.scip_boundchg)
 * 
 *     def getBoundtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the bound type of the bound change.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_11BoundChange_7getBoundtype, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BoundChange_getBoundtype, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[375])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1228, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_BoundChange, __pyx_mstate_global->__pyx_n_u_getBoundtype, __pyx_t_13) < (0)) __PYX_ERR(2, 1228, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1240
 *         return SCIPboundchgGetBoundtype(self.scip_boundchg)
 * 
 *     def isRedundant(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the bound change is redundant due to a more global bound that is at least as strong.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_11BoundChange_9isRedundant, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BoundChange_isRedundant, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[376])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_BoundChange, __pyx_mstate_global->__pyx_n_u_isRedundant, __pyx_t_13) < (0)) __PYX_ERR(2, 1240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_boundchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_11BoundChange_13__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BoundChange___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[377])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_boundchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_boundchg cannot be converted to a Python object for pickling"
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_11BoundChange_15__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_BoundChange___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[378])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1281
 *         return domchg
 * 
 *     def getBoundchgs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the bound changes in the domain change.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_13DomainChanges_1getBoundchgs, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_DomainChanges_getBoundchgs, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[379])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1281, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_DomainChanges, __pyx_mstate_global->__pyx_n_u_getBoundchgs, __pyx_t_13) < (0)) __PYX_ERR(2, 1281, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_domchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_13DomainChanges_3__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_DomainChanges___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[380])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_domchg cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_domchg cannot be converted to a Python object for pickling"
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_13DomainChanges_5__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_DomainChanges___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[381])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1320
 *         return node
 * 
 *     def getParent(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve parent node (or None if the node has no parent node).
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_1getParent, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_getParent, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[382])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1320, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_getParent, __pyx_t_13) < (0)) __PYX_ERR(2, 1320, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1331
 *         return Node.create(SCIPnodeGetParent(self.scip_node))
 * 
 *     def getNumber(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of node.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_3getNumber, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_getNumber, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[383])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1331, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_getNumber, __pyx_t_13) < (0)) __PYX_ERR(2, 1331, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1342
 *         return SCIPnodeGetNumber(self.scip_node)
 * 
 *     def getDepth(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve depth of node.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_5getDepth, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_getDepth, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[384])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1342, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_getDepth, __pyx_t_13) < (0)) __PYX_ERR(2, 1342, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1353
 *         return SCIPnodeGetDepth(self.scip_node)
 * 
 *     def getType(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve type of node.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_7getType, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_getType, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[385])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_getType, __pyx_t_13) < (0)) __PYX_ERR(2, 1353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1364
 *         return SCIPnodeGetType(self.scip_node)
 * 
 *     def getLowerbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve lower bound of node.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_9getLowerbound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_getLowerbound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[386])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1364, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_getLowerbound, __pyx_t_13) < (0)) __PYX_ERR(2, 1364, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1375
 *         return SCIPnodeGetLowerbound(self.scip_node)
 * 
 *     def getEstimate(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the estimated value of the best feasible solution in subtree of the node.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_11getEstimate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_getEstimate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[387])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1375, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_getEstimate, __pyx_t_13) < (0)) __PYX_ERR(2, 1375, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1386
 *         return SCIPnodeGetEstimate(self.scip_node)
 * 
 *     def getAddedConss(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve all constraints added at this node.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_13getAddedConss, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_getAddedConss, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[388])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1386, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_getAddedConss, __pyx_t_13) < (0)) __PYX_ERR(2, 1386, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1407
 *         return constraints
 * 
 *     def getNAddedConss(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of added constraints at this node.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_15getNAddedConss, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_getNAddedConss, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[389])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_getNAddedConss, __pyx_t_13) < (0)) __PYX_ERR(2, 1407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1418
 *         return SCIPnodeGetNAddedConss(self.scip_node)
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Is the node in the path to the current node?
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_17isActive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_isActive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[390])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_isActive, __pyx_t_13) < (0)) __PYX_ERR(2, 1418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1429
 *         return SCIPnodeIsActive(self.scip_node)
 * 
 *     def isPropagatedAgain(self):             # <<<<<<<<<<<<<<
 *         """
 *         Is the node marked to be propagated again?
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_19isPropagatedAgain, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_isPropagatedAgain, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[391])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_isPropagatedAgain, __pyx_t_13) < (0)) __PYX_ERR(2, 1429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1440
 *         return SCIPnodeIsPropagatedAgain(self.scip_node)
 * 
 *     def getNParentBranchings(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of variable branchings that were performed in the parent node to create this node.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_21getNParentBranchings, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_getNParentBranchings, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[392])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1440, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_getNParentBranchings, __pyx_t_13) < (0)) __PYX_ERR(2, 1440, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1461
 *         return nbranchvars
 * 
 *     def getParentBranchings(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the set of variable branchings that were performed in the parent node to create this node.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_23getParentBranchings, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_getParentBranchings, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[393])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1461, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_getParentBranchings, __pyx_t_13) < (0)) __PYX_ERR(2, 1461, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1490
 *         return py_variables, py_branchbounds, py_boundtypes
 * 
 *     def getNDomchg(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of bound changes due to branching, constraint propagation, and propagation.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_25getNDomchg, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_getNDomchg, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[394])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_getNDomchg, __pyx_t_13) < (0)) __PYX_ERR(2, 1490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1507
 *         return nbranchings, nconsprop, nprop
 * 
 *     def getDomchg(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve domain changes for this node.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_27getDomchg, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node_getDomchg, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[395])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1507, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Node, __pyx_mstate_global->__pyx_n_u_getDomchg, __pyx_t_13) < (0)) __PYX_ERR(2, 1507, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_node cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_33__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[396])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_node cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_node cannot be converted to a Python object for pickling"
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_4Node_35__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Node___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[397])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1561
 *             return cname.decode('utf-8')
 * 
 *     def ptr(self):             # <<<<<<<<<<<<<<
 *         """ """
 *         return <size_t>(self.scip_var)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_1ptr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_ptr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[398])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_ptr, __pyx_t_13) < (0)) __PYX_ERR(2, 1561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1568
 *         return self.name
 * 
 *     def vtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the variables type (BINARY, INTEGER, CONTINUOUS, or IMPLINT)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_5vtype, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_vtype, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[399])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1568, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_vtype, __pyx_t_13) < (0)) __PYX_ERR(2, 1568, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1588
 *             return "IMPLINT"
 * 
 *     def isBinary(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is of BINARY type.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_7isBinary, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_isBinary, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[400])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1588, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_isBinary, __pyx_t_13) < (0)) __PYX_ERR(2, 1588, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1598
 *         return SCIPvarIsBinary(self.scip_var)
 * 
 *     def isIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is of INTEGER type.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_9isIntegral, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_isIntegral, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[401])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1598, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_isIntegral, __pyx_t_13) < (0)) __PYX_ERR(2, 1598, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1608
 *         return SCIPvarIsIntegral(self.scip_var)
 * 
 *     def isImpliedIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is implied integral (weakly or strongly).
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_11isImpliedIntegral, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_isImpliedIntegral, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[402])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1608, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_isImpliedIntegral, __pyx_t_13) < (0)) __PYX_ERR(2, 1608, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1618
 *         return SCIPvarIsImpliedIntegral(self.scip_var)
 * 
 *     def isNonImpliedIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns TRUE if the variable is integral, but not implied integral..
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_13isNonImpliedIntegral, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_isNonImpliedIntegral, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[403])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1618, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_isNonImpliedIntegral, __pyx_t_13) < (0)) __PYX_ERR(2, 1618, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1628
 *         return SCIPvarIsNonimpliedIntegral(self.scip_var)
 * 
 *     def getImplType(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the implied integral type of the variable
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_15getImplType, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getImplType, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[404])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1628, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getImplType, __pyx_t_13) < (0)) __PYX_ERR(2, 1628, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1638
 *         return SCIPvarGetImplType(self.scip_var)
 * 
 *     def getStatus(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the variable status (ORIGINAL, LOOSE, COLUMN, FIXED, AGGREGATED, MULTAGGR, NEGATED)
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_17getStatus, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getStatus, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[405])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getStatus, __pyx_t_13) < (0)) __PYX_ERR(2, 1638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1664
 *             return "NEGATED"
 * 
 *     def isOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the variable belongs to the original problem
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_19isOriginal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_isOriginal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[406])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1664, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_isOriginal, __pyx_t_13) < (0)) __PYX_ERR(2, 1664, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1675
 *         return SCIPvarIsOriginal(self.scip_var)
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the variable is active
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_21isActive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_isActive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[407])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1675, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_isActive, __pyx_t_13) < (0)) __PYX_ERR(2, 1675, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1686
 *         return SCIPvarIsActive(self.scip_var)
 * 
 *     def isInLP(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the variable is a COLUMN variable that is member of the current LP.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_23isInLP, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_isInLP, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[408])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1686, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_isInLP, __pyx_t_13) < (0)) __PYX_ERR(2, 1686, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1697
 *         return SCIPvarIsInLP(self.scip_var)
 * 
 *     def getIndex(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the unique index of the variable.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_25getIndex, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getIndex, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[409])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getIndex, __pyx_t_13) < (0)) __PYX_ERR(2, 1697, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1708
 *         return SCIPvarGetIndex(self.scip_var)
 * 
 *     def getCol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve column of COLUMN variable.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_27getCol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getCol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[410])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1708, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getCol, __pyx_t_13) < (0)) __PYX_ERR(2, 1708, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1721
 *         return Column.create(scip_col)
 * 
 *     def getLbOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve original lower bound of variable.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_29getLbOriginal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getLbOriginal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[411])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getLbOriginal, __pyx_t_13) < (0)) __PYX_ERR(2, 1721, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1732
 *         return SCIPvarGetLbOriginal(self.scip_var)
 * 
 *     def getUbOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve original upper bound of variable.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_31getUbOriginal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getUbOriginal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[412])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1732, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getUbOriginal, __pyx_t_13) < (0)) __PYX_ERR(2, 1732, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1743
 *         return SCIPvarGetUbOriginal(self.scip_var)
 * 
 *     def getLbGlobal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve global lower bound of variable.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_33getLbGlobal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getLbGlobal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[413])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getLbGlobal, __pyx_t_13) < (0)) __PYX_ERR(2, 1743, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1754
 *         return SCIPvarGetLbGlobal(self.scip_var)
 * 
 *     def getUbGlobal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve global upper bound of variable.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_35getUbGlobal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getUbGlobal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[414])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1754, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getUbGlobal, __pyx_t_13) < (0)) __PYX_ERR(2, 1754, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1765
 *         return SCIPvarGetUbGlobal(self.scip_var)
 * 
 *     def getLbLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current lower bound of variable.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_37getLbLocal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getLbLocal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[415])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1765, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getLbLocal, __pyx_t_13) < (0)) __PYX_ERR(2, 1765, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1776
 *         return SCIPvarGetLbLocal(self.scip_var)
 * 
 *     def getUbLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current upper bound of variable.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_39getUbLocal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getUbLocal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[416])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1776, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getUbLocal, __pyx_t_13) < (0)) __PYX_ERR(2, 1776, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1787
 *         return SCIPvarGetUbLocal(self.scip_var)
 * 
 *     def getObj(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current objective value of variable.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_41getObj, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getObj, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[417])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1787, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getObj, __pyx_t_13) < (0)) __PYX_ERR(2, 1787, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1798
 *         return SCIPvarGetObj(self.scip_var)
 * 
 *     def getLPSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current LP solution value of variable.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_43getLPSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getLPSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[418])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1798, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getLPSol, __pyx_t_13) < (0)) __PYX_ERR(2, 1798, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1809
 *         return SCIPvarGetLPSol(self.scip_var)
 * 
 *     def getAvgSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the weighted average solution of variable in all feasible primal solutions found.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_45getAvgSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getAvgSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[419])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getAvgSol, __pyx_t_13) < (0)) __PYX_ERR(2, 1809, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1820
 *         return SCIPvarGetAvgSol(self.scip_var)
 * 
 *     def markRelaxationOnly(self):             # <<<<<<<<<<<<<<
 *         """
 *         marks that this variable has only been introduced to define a relaxation
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_47markRelaxationOnly, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_markRelaxationOnly, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[420])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1820, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_markRelaxationOnly, __pyx_t_13) < (0)) __PYX_ERR(2, 1820, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1835
 *         SCIPvarMarkRelaxationOnly(self.scip_var)
 * 
 *     def isRelaxationOnly(self):             # <<<<<<<<<<<<<<
 *         """
 *         returns whether a variable has been introduced to define a relaxation
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_49isRelaxationOnly, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_isRelaxationOnly, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[421])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_isRelaxationOnly, __pyx_t_13) < (0)) __PYX_ERR(2, 1835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1852
 *         return SCIPvarIsRelaxationOnly(self.scip_var)
 * 
 *     def isDeletable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is allowed to be deleted completely from the problem.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_51isDeletable, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_isDeletable, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[422])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1852, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_isDeletable, __pyx_t_13) < (0)) __PYX_ERR(2, 1852, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1863
 *         return SCIPvarIsDeletable(self.scip_var)
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether variable is an active (neither fixed nor aggregated) variable.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_53isActive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_isActive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[423])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_isActive, __pyx_t_13) < (0)) __PYX_ERR(2, 1863, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1873
 *         return SCIPvarIsActive(self.scip_var)
 * 
 *     def getNLocksDown(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the number of locks for rounding down.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_55getNLocksDown, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getNLocksDown, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[424])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getNLocksDown, __pyx_t_13) < (0)) __PYX_ERR(2, 1873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1884
 *         return SCIPvarGetNLocksDown(self.scip_var)
 * 
 *     def getNLocksUp(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the number of locks for rounding up.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_57getNLocksUp, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getNLocksUp, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[425])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1884, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getNLocksUp, __pyx_t_13) < (0)) __PYX_ERR(2, 1884, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1895
 *         return SCIPvarGetNLocksUp(self.scip_var)
 * 
 *     def getNLocksDownType(self, locktype):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the number of locks for rounding down of a certain type.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_59getNLocksDownType, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getNLocksDownType, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[426])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1895, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getNLocksDownType, __pyx_t_13) < (0)) __PYX_ERR(2, 1895, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1911
 *         return SCIPvarGetNLocksDownType(self.scip_var, locktype)
 * 
 *     def getNLocksUpType(self, locktype):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the number of locks for rounding up of a certain type.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_61getNLocksUpType, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getNLocksUpType, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[427])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getNLocksUpType, __pyx_t_13) < (0)) __PYX_ERR(2, 1911, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1927
 *         return SCIPvarGetNLocksUpType(self.scip_var, locktype)
 * 
 *     def varMayRound(self, direction="down"):             # <<<<<<<<<<<<<<
 *         """
 *         Checks whether it is possible to round variable up / down and stay feasible for the relaxation.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_63varMayRound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_varMayRound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[428])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_13, __pyx_mstate_global->__pyx_tuple[32]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_varMayRound, __pyx_t_13) < (0)) __PYX_ERR(2, 1927, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1950
 *         return mayround
 * 
 *     def getNBranchings(self, branchdir):             # <<<<<<<<<<<<<<
 *         """
 *         returns the number of times a bound of the variable was changed in given direction due to branching
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_65getNBranchings, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getNBranchings, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[429])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1950, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getNBranchings, __pyx_t_13) < (0)) __PYX_ERR(2, 1950, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1965
 *         return SCIPvarGetNBranchings(self.scip_var, branchdir)
 * 
 *     def getNBranchingsCurrentRun(self, branchdir):             # <<<<<<<<<<<<<<
 *         """
 *         returns the number of times a bound of the variable was changed in given direction due to branching in the
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_67getNBranchingsCurrentRun, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable_getNBranchingsCurrentRu, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[430])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1965, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Variable, __pyx_mstate_global->__pyx_n_u_getNBranchingsCurrentRun, __pyx_t_13) < (0)) __PYX_ERR(2, 1965, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_var cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_69__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[431])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_var cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_var cannot be converted to a Python object for pickling"
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_8Variable_71__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Variable___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[432])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":1981
 *         return SCIPvarGetNBranchingsCurrentRun(self.scip_var, branchdir)
 * 
 * class MatrixVariable(MatrixExpr):             # <<<<<<<<<<<<<<
 * 
 *     def vtype(self):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_MatrixExpr); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_11 = PyTuple_Pack(1, __pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = __Pyx_PEP560_update_bases(__pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 1981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_10 = __Pyx_CalculateMetaclass(NULL, __pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 1981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = __Pyx_Py3MetaclassPrepare(__pyx_t_10, __pyx_t_13, __pyx_mstate_global->__pyx_n_u_MatrixVariable, __pyx_mstate_global->__pyx_n_u_MatrixVariable, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, (PyObject *) NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 1981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (__pyx_t_13 != __pyx_t_11) {
    if (unlikely((PyDict_SetItemString(__pyx_t_4, "__orig_bases__", __pyx_t_11) < 0))) __PYX_ERR(2, 1981, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":1983
 * class MatrixVariable(MatrixExpr):
 * 
 *     def vtype(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the matrix variables type (BINARY, INTEGER, IMPLINT or CONTINUOUS)
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_1vtype, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_vtype, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[433])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1983, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_vtype, __pyx_t_11) < (0)) __PYX_ERR(2, 1983, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":1998
 *         return vtypes
 * 
 *     def isInLP(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the matrix variable is a COLUMN variable that is member of the current LP.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_3isInLP, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_isInLP, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[434])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1998, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_isInLP, __pyx_t_11) < (0)) __PYX_ERR(2, 1998, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":2014
 * 
 * 
 *     def getIndex(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the unique index of the matrix variable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_5getIndex, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_getIndex, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[435])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2014, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_getIndex, __pyx_t_11) < (0)) __PYX_ERR(2, 2014, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":2028
 *         return indices
 * 
 *     def getCol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve matrix of columns of COLUMN variables.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_7getCol, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_getCol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[436])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_getCol, __pyx_t_11) < (0)) __PYX_ERR(2, 2028, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":2043
 *         return columns
 * 
 *     def getLbOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve original lower bound of matrix variable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_9getLbOriginal, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_getLbOriginal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[437])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_getLbOriginal, __pyx_t_11) < (0)) __PYX_ERR(2, 2043, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":2057
 *         return lbs
 * 
 *     def getUbOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve original upper bound of matrixvariable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_11getUbOriginal, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_getUbOriginal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[438])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2057, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_getUbOriginal, __pyx_t_11) < (0)) __PYX_ERR(2, 2057, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":2071
 *         return ubs
 * 
 *     def getLbGlobal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve global lower bound of matrix variable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_13getLbGlobal, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_getLbGlobal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[439])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2071, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_getLbGlobal, __pyx_t_11) < (0)) __PYX_ERR(2, 2071, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":2085
 *         return lbs
 * 
 *     def getUbGlobal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve global upper bound of matrix variable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_15getUbGlobal, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_getUbGlobal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[440])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2085, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_getUbGlobal, __pyx_t_11) < (0)) __PYX_ERR(2, 2085, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":2099
 *         return ubs
 * 
 *     def getLbLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current lower bound of matrix variable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_17getLbLocal, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_getLbLocal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[441])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_getLbLocal, __pyx_t_11) < (0)) __PYX_ERR(2, 2099, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":2113
 *         return lbs
 * 
 *     def getUbLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current upper bound of matrix variable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_19getUbLocal, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_getUbLocal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[442])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2113, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_getUbLocal, __pyx_t_11) < (0)) __PYX_ERR(2, 2113, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":2127
 *         return ubs
 * 
 *     def getObj(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current objective value of matrix variable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_21getObj, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_getObj, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[443])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2127, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_getObj, __pyx_t_11) < (0)) __PYX_ERR(2, 2127, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":2141
 *         return objs
 * 
 *     def getLPSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current LP solution value of matrix variable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_23getLPSol, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_getLPSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[444])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_getLPSol, __pyx_t_11) < (0)) __PYX_ERR(2, 2141, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":2155
 *         return lpsols
 * 
 *     def getAvgSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the weighted average solution of matrix variable in all feasible primal solutions found.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_25getAvgSol, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_getAvgSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[445])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_getAvgSol, __pyx_t_11) < (0)) __PYX_ERR(2, 2155, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":2169
 *         return avgsols
 * 
 *     def varMayRound(self, direction="down"):             # <<<<<<<<<<<<<<
 *         """
 *         Checks whether it is possible to round variable up / down and stay feasible for the relaxation.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_14MatrixVariable_27varMayRound, 0, __pyx_mstate_global->__pyx_n_u_MatrixVariable_varMayRound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[446])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[32]);
  if (__Pyx_SetNameInClass(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_varMayRound, __pyx_t_11) < (0)) __PYX_ERR(2, 2169, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":1981
 *         return SCIPvarGetNBranchingsCurrentRun(self.scip_var, branchdir)
 * 
 * class MatrixVariable(MatrixExpr):             # <<<<<<<<<<<<<<
 * 
 *     def vtype(self):
*/
  __pyx_t_11 = __Pyx_Py3ClassCreate(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_MatrixVariable, __pyx_t_13, __pyx_t_4, NULL, 0, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 1981, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MatrixVariable, __pyx_t_11) < (0)) __PYX_ERR(2, 1981, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2221
 *             return cname.decode('utf-8')
 * 
 *     def ptr(self):             # <<<<<<<<<<<<<<
 *         return <size_t>(self.scip_cons)
 * 
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_1ptr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_ptr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[447])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2221, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_ptr, __pyx_t_13) < (0)) __PYX_ERR(2, 2221, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2227
 *         return self.name
 * 
 *     def isOriginal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve whether the constraint belongs to the original problem.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_5isOriginal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isOriginal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[448])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2227, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isOriginal, __pyx_t_13) < (0)) __PYX_ERR(2, 2227, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2238
 *         return SCIPconsIsOriginal(self.scip_cons)
 * 
 *     def isInitial(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if the relaxation of the constraint should be in the initial LP.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_7isInitial, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isInitial, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[449])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2238, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isInitial, __pyx_t_13) < (0)) __PYX_ERR(2, 2238, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2249
 *         return SCIPconsIsInitial(self.scip_cons)
 * 
 *     def isSeparated(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be separated during LP processing.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_9isSeparated, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isSeparated, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[450])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2249, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isSeparated, __pyx_t_13) < (0)) __PYX_ERR(2, 2249, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2260
 *         return SCIPconsIsSeparated(self.scip_cons)
 * 
 *     def isEnforced(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be enforced during node processing.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_11isEnforced, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isEnforced, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[451])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2260, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isEnforced, __pyx_t_13) < (0)) __PYX_ERR(2, 2260, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2271
 *         return SCIPconsIsEnforced(self.scip_cons)
 * 
 *     def isChecked(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be checked for feasibility.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_13isChecked, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isChecked, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[452])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2271, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isChecked, __pyx_t_13) < (0)) __PYX_ERR(2, 2271, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2282
 *         return SCIPconsIsChecked(self.scip_cons)
 * 
 *     def isPropagated(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be propagated during node processing.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_15isPropagated, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isPropagated, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[453])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2282, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isPropagated, __pyx_t_13) < (0)) __PYX_ERR(2, 2282, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2293
 *         return SCIPconsIsPropagated(self.scip_cons)
 * 
 *     def isLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is only locally valid or not added to any (sub)problem.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_17isLocal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isLocal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[454])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2293, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isLocal, __pyx_t_13) < (0)) __PYX_ERR(2, 2293, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2304
 *         return SCIPconsIsLocal(self.scip_cons)
 * 
 *     def isModifiable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is modifiable (subject to column generation).
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_19isModifiable, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isModifiable, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[455])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2304, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isModifiable, __pyx_t_13) < (0)) __PYX_ERR(2, 2304, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2315
 *         return SCIPconsIsModifiable(self.scip_cons)
 * 
 *     def isDynamic(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is subject to aging.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_21isDynamic, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isDynamic, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[456])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2315, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isDynamic, __pyx_t_13) < (0)) __PYX_ERR(2, 2315, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2326
 *         return SCIPconsIsDynamic(self.scip_cons)
 * 
 *     def isRemovable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint's relaxation should be removed from the LP due to aging or cleanup.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_23isRemovable, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isRemovable, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[457])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2326, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isRemovable, __pyx_t_13) < (0)) __PYX_ERR(2, 2326, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2337
 *         return SCIPconsIsRemovable(self.scip_cons)
 * 
 *     def isStickingAtNode(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is only locally valid or not added to any (sub)problem.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_25isStickingAtNode, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isStickingAtNode, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[458])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2337, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isStickingAtNode, __pyx_t_13) < (0)) __PYX_ERR(2, 2337, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2348
 *         return SCIPconsIsStickingAtNode(self.scip_cons)
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True iff constraint is active in the current node.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_27isActive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isActive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[459])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isActive, __pyx_t_13) < (0)) __PYX_ERR(2, 2348, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2359
 *         return SCIPconsIsActive(self.scip_cons)
 * 
 *     def isLinear(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is linear
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_29isLinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isLinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[460])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2359, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isLinear, __pyx_t_13) < (0)) __PYX_ERR(2, 2359, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2371
 *         return constype == 'linear'
 * 
 *     def isKnapsack(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is a knapsack constraint.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_31isKnapsack, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isKnapsack, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[461])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2371, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isKnapsack, __pyx_t_13) < (0)) __PYX_ERR(2, 2371, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2384
 *         return constype == 'knapsack'
 * 
 *     def isLinearType(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint can be represented as a linear constraint.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_33isLinearType, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isLinearType, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[462])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2384, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isLinearType, __pyx_t_13) < (0)) __PYX_ERR(2, 2384, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2396
 *         return constype in ('linear', 'knapsack', 'setppc', 'logicor', 'varbound')
 * 
 *     def isNonlinear(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is nonlinear.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_35isNonlinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_isNonlinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[463])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_isNonlinear, __pyx_t_13) < (0)) __PYX_ERR(2, 2396, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2408
 *         return constype == 'nonlinear'
 * 
 *     def getConshdlrName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the constraint handler's name.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_37getConshdlrName, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint_getConshdlrName, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[464])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2408, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Constraint, __pyx_mstate_global->__pyx_n_u_getConshdlrName, __pyx_t_13) < (0)) __PYX_ERR(2, 2408, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_cons cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_43__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[465])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self.scip_cons cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self.scip_cons cannot be converted to a Python object for pickling"
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Constraint_45__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Constraint___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[466])); if (unlikely(!__pyx_t_13)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_13) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2427
 *                 and self.scip_cons == (<Constraint>other).scip_cons)
 * 
 * class MatrixConstraint(np.ndarray):             # <<<<<<<<<<<<<<
 * 
 *     def isInitial(self):
*/
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_np); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_ndarray); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __pyx_t_13 = PyTuple_Pack(1, __pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = __Pyx_PEP560_update_bases(__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = __Pyx_CalculateMetaclass(NULL, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_11 = __Pyx_Py3MetaclassPrepare(__pyx_t_4, __pyx_t_10, __pyx_mstate_global->__pyx_n_u_MatrixConstraint, __pyx_mstate_global->__pyx_n_u_MatrixConstraint, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, (PyObject *) NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 2427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (__pyx_t_10 != __pyx_t_13) {
    if (unlikely((PyDict_SetItemString(__pyx_t_11, "__orig_bases__", __pyx_t_13) < 0))) __PYX_ERR(2, 2427, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2429
 * class MatrixConstraint(np.ndarray):
 * 
 *     def isInitial(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if the relaxation of the constraint should be in the initial LP.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_1isInitial, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_isInitial, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[467])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_isInitial, __pyx_t_13) < (0)) __PYX_ERR(2, 2429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2443
 *         return initial
 * 
 *     def isSeparated(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be separated during LP processing.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_3isSeparated, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_isSeparated, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[468])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2443, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_isSeparated, __pyx_t_13) < (0)) __PYX_ERR(2, 2443, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2457
 *         return separated
 * 
 *     def isEnforced(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be enforced during node processing.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_5isEnforced, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_isEnforced, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[469])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2457, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_isEnforced, __pyx_t_13) < (0)) __PYX_ERR(2, 2457, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2471
 *         return enforced
 * 
 *     def isChecked(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be checked for feasibility.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_7isChecked, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_isChecked, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[470])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2471, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_isChecked, __pyx_t_13) < (0)) __PYX_ERR(2, 2471, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2485
 *         return checked
 * 
 *     def isPropagated(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint should be propagated during node processing.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_9isPropagated, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_isPropagated, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[471])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_isPropagated, __pyx_t_13) < (0)) __PYX_ERR(2, 2485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2499
 *         return propagated
 * 
 *     def isLocal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is only locally valid or not added to any (sub)problem.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_11isLocal, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_isLocal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[472])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_isLocal, __pyx_t_13) < (0)) __PYX_ERR(2, 2499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2513
 *         return local
 * 
 *     def isModifiable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is modifiable (subject to column generation).
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_13isModifiable, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_isModifiable, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[473])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2513, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_isModifiable, __pyx_t_13) < (0)) __PYX_ERR(2, 2513, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2527
 *         return modifiable
 * 
 *     def isDynamic(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is subject to aging.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_15isDynamic, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_isDynamic, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[474])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_isDynamic, __pyx_t_13) < (0)) __PYX_ERR(2, 2527, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2541
 *         return dynamic
 * 
 *     def isRemovable(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint's relaxation should be removed from the LP due to aging or cleanup.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_17isRemovable, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_isRemovable, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[475])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2541, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_isRemovable, __pyx_t_13) < (0)) __PYX_ERR(2, 2541, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2555
 *         return removable
 * 
 *     def isStickingAtNode(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is only locally valid or not added to any (sub)problem.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_19isStickingAtNode, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_isStickingAtNod, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[476])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_isStickingAtNode, __pyx_t_13) < (0)) __PYX_ERR(2, 2555, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2569
 *         return stickingatnode
 * 
 *     def isActive(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True iff constraint is active in the current node.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_21isActive, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_isActive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[477])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_isActive, __pyx_t_13) < (0)) __PYX_ERR(2, 2569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2583
 *         return active
 * 
 *     def isLinear(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is linear
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_23isLinear, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_isLinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[478])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_isLinear, __pyx_t_13) < (0)) __PYX_ERR(2, 2583, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2597
 *         return islinear
 * 
 *     def isNonlinear(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns True if constraint is nonlinear.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_25isNonlinear, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_isNonlinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[479])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_isNonlinear, __pyx_t_13) < (0)) __PYX_ERR(2, 2597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2611
 *         return isnonlinear
 * 
 *     def getConshdlrName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Return the constraint handler's name.
*/
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_16MatrixConstraint_27getConshdlrName, 0, __pyx_mstate_global->__pyx_n_u_MatrixConstraint_getConshdlrName, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[480])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (__Pyx_SetNameInClass(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_getConshdlrName, __pyx_t_13) < (0)) __PYX_ERR(2, 2611, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

  /* "src/pyscipopt/scip.pxi":2427
 *                 and self.scip_cons == (<Constraint>other).scip_cons)
 * 
 * class MatrixConstraint(np.ndarray):             # <<<<<<<<<<<<<<
 * 
 *     def isInitial(self):
*/
  __pyx_t_13 = __Pyx_Py3ClassCreate(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_MatrixConstraint, __pyx_t_10, __pyx_t_11, NULL, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 2427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_MatrixConstraint, __pyx_t_13) < (0)) __PYX_ERR(2, 2427, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9_VarArray_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VarArray___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[481])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_10) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_9_VarArray_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_VarArray___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[482])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_10) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":2693
 *         return iis
 * 
 *     def getTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the solving time of the IIS.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3IIS_1getTime, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IIS_getTime, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[483])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IIS, __pyx_mstate_global->__pyx_n_u_getTime, __pyx_t_10) < (0)) __PYX_ERR(2, 2693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":2703
 *         return SCIPiisGetTime(self._iis)
 * 
 *     def isSubscipIrreducible(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the IIS is irreducible.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3IIS_3isSubscipIrreducible, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IIS_isSubscipIrreducible, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[484])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2703, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IIS, __pyx_mstate_global->__pyx_n_u_isSubscipIrreducible, __pyx_t_10) < (0)) __PYX_ERR(2, 2703, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":2713
 *         return SCIPiisIsSubscipIrreducible(self._iis)
 * 
 *     def isSubscipInfeasible(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the IIS is infeasible.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3IIS_5isSubscipInfeasible, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IIS_isSubscipInfeasible, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[485])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IIS, __pyx_mstate_global->__pyx_n_u_isSubscipInfeasible, __pyx_t_10) < (0)) __PYX_ERR(2, 2713, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":2723
 *         return SCIPiisIsSubscipInfeasible(self._iis)
 * 
 *     def setSubscipIrreducible(self, irreducible):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the flag that states whether the IIS subscip is irreducible.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3IIS_7setSubscipIrreducible, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IIS_setSubscipIrreducible, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[486])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2723, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IIS, __pyx_mstate_global->__pyx_n_u_setSubscipIrreducible, __pyx_t_10) < (0)) __PYX_ERR(2, 2723, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":2735
 *         SCIPiisSetSubscipIrreducible(self._iis, irreducible)
 * 
 *     def setSubscipInfeasible(self, infeasible):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the flag that states whether the IIS subscip is infeasible.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3IIS_9setSubscipInfeasible, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IIS_setSubscipInfeasible, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[487])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2735, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IIS, __pyx_mstate_global->__pyx_n_u_setSubscipInfeasible, __pyx_t_10) < (0)) __PYX_ERR(2, 2735, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":2747
 *         SCIPiisSetSubscipInfeasible(self._iis, infeasible)
 * 
 *     def getNNodes(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of nodes in the IIS solve.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3IIS_11getNNodes, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IIS_getNNodes, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[488])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2747, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IIS, __pyx_mstate_global->__pyx_n_u_getNNodes, __pyx_t_10) < (0)) __PYX_ERR(2, 2747, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":2758
 *         return SCIPiisGetNNodes(self._iis)
 * 
 *     def getSubscip(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the subscip of an IIS.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3IIS_13getSubscip, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IIS_getSubscip, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[489])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2758, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IIS, __pyx_mstate_global->__pyx_n_u_getSubscip, __pyx_t_10) < (0)) __PYX_ERR(2, 2758, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":2772
 *         return model
 * 
 *     def greedyMakeIrreducible(self):             # <<<<<<<<<<<<<<
 *        """
 *        Perform the greedy deletion algorithm with singleton batches to obtain an irreducible infeasible subsystem (IIS)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3IIS_15greedyMakeIrreducible, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IIS_greedyMakeIrreducible, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[490])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2772, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_IIS, __pyx_mstate_global->__pyx_n_u_greedyMakeIrreducible, __pyx_t_10) < (0)) __PYX_ERR(2, 2772, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._iis cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3IIS_17__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IIS___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[491])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_10) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self._iis cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._iis cannot be converted to a Python object for pickling"
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_3IIS_19__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_IIS___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[492])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_10) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":2846
 *                 PY_SCIP_CALL(SCIPcopy(sourceModel._scip, self._scip, NULL, NULL, n, globalcopy, enablepricing, threadsafe, True, self._valid))
 * 
 *     def attachEventHandlerCallback(self,             # <<<<<<<<<<<<<<
 *         callback,
 *         events,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_3attachEventHandlerCallback, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_attachEventHandlerCallback, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[493])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 2846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[33]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_attachEventHandlerCallback, __pyx_t_10) < (0)) __PYX_ERR(2, 2846, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3004
 *         self._freescip = val
 * 
 *     @cython.always_allow_keywords(True)             # <<<<<<<<<<<<<<
 *     @staticmethod
 *     def from_ptr(capsule, take_ownership):
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_11from_ptr, __Pyx_CYFUNCTION_STATICMETHOD | __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_from_ptr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[494])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_from_ptr, __pyx_t_10) < (0)) __PYX_ERR(2, 3004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3005
 * 
 *     @cython.always_allow_keywords(True)
 *     @staticmethod             # <<<<<<<<<<<<<<
 *     def from_ptr(capsule, take_ownership):
 *         """
*/
  __pyx_t_4 = NULL;

  /* "src/pyscipopt/scip.pxi":3004
 *         self._freescip = val
 * 
 *     @cython.always_allow_keywords(True)             # <<<<<<<<<<<<<<
 *     @staticmethod
 *     def from_ptr(capsule, take_ownership):
*/
  __Pyx_GetNameInClass(__pyx_t_11, (PyObject*)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_from_ptr); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 3004, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_11};
    __pyx_t_10 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_staticmethod, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3005, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_10);
  }
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_from_ptr, __pyx_t_10) < (0)) __PYX_ERR(2, 3004, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3029
 *         return model
 * 
 *     @cython.always_allow_keywords(True)             # <<<<<<<<<<<<<<
 *     def to_ptr(self, give_ownership):
 *         """
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_13to_ptr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_to_ptr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[495])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3029, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_to_ptr, __pyx_t_10) < (0)) __PYX_ERR(2, 3029, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3052
 *         return capsule
 * 
 *     def includeDefaultPlugins(self):             # <<<<<<<<<<<<<<
 *         """Includes all default plug-ins into SCIP."""
 *         PY_SCIP_CALL(SCIPincludeDefaultPlugins(self._scip))
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_15includeDefaultPlugins, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeDefaultPlugins, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[496])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeDefaultPlugins, __pyx_t_10) < (0)) __PYX_ERR(2, 3052, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3056
 *         PY_SCIP_CALL(SCIPincludeDefaultPlugins(self._scip))
 * 
 *     def createProbBasic(self, problemName='model'):             # <<<<<<<<<<<<<<
 *         """
 *         Create new problem instance with given name.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_17createProbBasic, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_createProbBasic, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[497])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[34]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_createProbBasic, __pyx_t_10) < (0)) __PYX_ERR(2, 3056, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3069
 *         PY_SCIP_CALL(SCIPcreateProbBasic(self._scip, n))
 * 
 *     def freeProb(self):             # <<<<<<<<<<<<<<
 *         """Frees problem and solution process data."""
 *         PY_SCIP_CALL(SCIPfreeProb(self._scip))
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_19freeProb, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_freeProb, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[498])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3069, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_freeProb, __pyx_t_10) < (0)) __PYX_ERR(2, 3069, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3073
 *         PY_SCIP_CALL(SCIPfreeProb(self._scip))
 * 
 *     def freeTransform(self):             # <<<<<<<<<<<<<<
 *         """Frees all solution process data including presolving and
 *         transformed problem, only original problem is kept."""
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_21freeTransform, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_freeTransform, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[499])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3073, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_freeTransform, __pyx_t_10) < (0)) __PYX_ERR(2, 3073, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3101
 *         PY_SCIP_CALL(SCIPfreeTransform(self._scip))
 * 
 *     def version(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP version.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_23version, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_version, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[500])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3101, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_version, __pyx_t_10) < (0)) __PYX_ERR(2, 3101, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3112
 *         return SCIPversion()
 * 
 *     def getMajorVersion(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP major version.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_25getMajorVersion, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getMajorVersion, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[501])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3112, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getMajorVersion, __pyx_t_10) < (0)) __PYX_ERR(2, 3112, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3123
 *         return SCIPmajorVersion()
 * 
 *     def getMinorVersion(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP minor version.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_27getMinorVersion, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getMinorVersion, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[502])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3123, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getMinorVersion, __pyx_t_10) < (0)) __PYX_ERR(2, 3123, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3134
 *         return SCIPminorVersion()
 * 
 *     def getTechVersion(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP technical version.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_29getTechVersion, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getTechVersion, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[503])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3134, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getTechVersion, __pyx_t_10) < (0)) __PYX_ERR(2, 3134, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3145
 *         return SCIPtechVersion()
 * 
 *     def printVersion(self):             # <<<<<<<<<<<<<<
 *         """Print version, copyright information and compile mode."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_31printVersion, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_printVersion, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[504])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3145, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_printVersion, __pyx_t_10) < (0)) __PYX_ERR(2, 3145, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3154
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def printExternalCodeVersions(self):             # <<<<<<<<<<<<<<
 *         """Print external code versions, e.g. symmetry, non-linear solver, lp solver."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_33printExternalCodeVersions, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_printExternalCodeVersions, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[505])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_printExternalCodeVersions, __pyx_t_10) < (0)) __PYX_ERR(2, 3154, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3163
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def getProbName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve problem name.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_35getProbName, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getProbName, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[506])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3163, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getProbName, __pyx_t_10) < (0)) __PYX_ERR(2, 3163, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3174
 *         return bytes(SCIPgetProbName(self._scip)).decode('UTF-8')
 * 
 *     def getTotalTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current total SCIP time in seconds,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_37getTotalTime, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getTotalTime, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[507])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getTotalTime, __pyx_t_10) < (0)) __PYX_ERR(2, 3174, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3186
 *         return SCIPgetTotalTime(self._scip)
 * 
 *     def getSolvingTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current solving time in seconds.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_39getSolvingTime, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getSolvingTime, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[508])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3186, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getSolvingTime, __pyx_t_10) < (0)) __PYX_ERR(2, 3186, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3197
 *         return SCIPgetSolvingTime(self._scip)
 * 
 *     def getReadingTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the current reading time in seconds.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_41getReadingTime, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getReadingTime, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[509])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3197, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getReadingTime, __pyx_t_10) < (0)) __PYX_ERR(2, 3197, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3208
 *         return SCIPgetReadingTime(self._scip)
 * 
 *     def getPresolvingTime(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the current presolving time in seconds.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_43getPresolvingTime, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getPresolvingTime, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[510])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getPresolvingTime, __pyx_t_10) < (0)) __PYX_ERR(2, 3208, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3219
 *         return SCIPgetPresolvingTime(self._scip)
 * 
 *     def getNLPIterations(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the total number of LP iterations so far.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_45getNLPIterations, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNLPIterations, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[511])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3219, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNLPIterations, __pyx_t_10) < (0)) __PYX_ERR(2, 3219, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3230
 *         return SCIPgetNLPIterations(self._scip)
 * 
 *     def getNNodes(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of processed nodes in current run, including the focus node.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_47getNNodes, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNNodes, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[512])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNNodes, __pyx_t_10) < (0)) __PYX_ERR(2, 3230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3241
 *         return SCIPgetNNodes(self._scip)
 * 
 *     def getNTotalNodes(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of processed nodes in all runs, including the focus node.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_49getNTotalNodes, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNTotalNodes, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[513])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3241, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNTotalNodes, __pyx_t_10) < (0)) __PYX_ERR(2, 3241, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3252
 *         return SCIPgetNTotalNodes(self._scip)
 * 
 *     def getNFeasibleLeaves(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of leaf nodes processed with feasible relaxation solution.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_51getNFeasibleLeaves, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNFeasibleLeaves, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[514])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNFeasibleLeaves, __pyx_t_10) < (0)) __PYX_ERR(2, 3252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3263
 *         return SCIPgetNFeasibleLeaves(self._scip)
 * 
 *     def getNInfeasibleLeaves(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of infeasible leaf nodes processed.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_53getNInfeasibleLeaves, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNInfeasibleLeaves, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[515])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3263, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNInfeasibleLeaves, __pyx_t_10) < (0)) __PYX_ERR(2, 3263, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3274
 *         return SCIPgetNInfeasibleLeaves(self._scip)
 * 
 *     def getNLeaves(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of leaves in the tree.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_55getNLeaves, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNLeaves, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[516])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNLeaves, __pyx_t_10) < (0)) __PYX_ERR(2, 3274, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3285
 *         return SCIPgetNLeaves(self._scip)
 * 
 *     def getNChildren(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of children of focus node.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_57getNChildren, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNChildren, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[517])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3285, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNChildren, __pyx_t_10) < (0)) __PYX_ERR(2, 3285, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3296
 *         return SCIPgetNChildren(self._scip)
 * 
 *     def getNSiblings(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of siblings of focus node.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_59getNSiblings, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNSiblings, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[518])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNSiblings, __pyx_t_10) < (0)) __PYX_ERR(2, 3296, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3307
 *         return SCIPgetNSiblings(self._scip)
 * 
 *     def getCurrentNode(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current node.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_61getCurrentNode, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getCurrentNode, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[519])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3307, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getCurrentNode, __pyx_t_10) < (0)) __PYX_ERR(2, 3307, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3318
 *         return Node.create(SCIPgetCurrentNode(self._scip))
 * 
 *     def getGap(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the gap,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_63getGap, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getGap, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[520])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3318, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getGap, __pyx_t_10) < (0)) __PYX_ERR(2, 3318, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3330
 *         return SCIPgetGap(self._scip)
 * 
 *     def getDepth(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the depth of the current node.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_65getDepth, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getDepth, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[521])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3330, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getDepth, __pyx_t_10) < (0)) __PYX_ERR(2, 3330, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3341
 *         return SCIPgetDepth(self._scip)
 * 
 *     def getMaxDepth(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets maximal depth of the branch-and-bound tree processed during solving (excluding probing nodes).
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_67getMaxDepth, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getMaxDepth, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[522])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3341, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getMaxDepth, __pyx_t_10) < (0)) __PYX_ERR(2, 3341, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3352
 *         return SCIPgetMaxDepth(self._scip)
 * 
 *     def getPlungeDepth(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets current plunging depth (successive selections of child/sibling nodes).
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_69getPlungeDepth, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getPlungeDepth, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[523])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getPlungeDepth, __pyx_t_10) < (0)) __PYX_ERR(2, 3352, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3363
 *         return SCIPgetPlungeDepth(self._scip)
 * 
 *     def getLowerbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets global lower (dual) bound of the transformed problem.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_71getLowerbound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getLowerbound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[524])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3363, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getLowerbound, __pyx_t_10) < (0)) __PYX_ERR(2, 3363, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3374
 *         return SCIPgetLowerbound(self._scip)
 * 
 *     def getCutoffbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the cutoff bound of the transformed problem.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_73getCutoffbound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getCutoffbound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[525])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3374, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getCutoffbound, __pyx_t_10) < (0)) __PYX_ERR(2, 3374, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3385
 *         return SCIPgetCutoffbound(self._scip)
 * 
 *     def getNNodeLPIterations(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of LP iterations used for solving node relaxations so far.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_75getNNodeLPIterations, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNNodeLPIterations, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[526])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3385, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNNodeLPIterations, __pyx_t_10) < (0)) __PYX_ERR(2, 3385, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3396
 *         return SCIPgetNNodeLPIterations(self._scip)
 * 
 *     def getNStrongbranchLPIterations(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of LP iterations used for strong branching so far.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_77getNStrongbranchLPIterations, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNStrongbranchLPIteratio, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[527])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3396, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNStrongbranchLPIterations, __pyx_t_10) < (0)) __PYX_ERR(2, 3396, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3407
 *         return SCIPgetNStrongbranchLPIterations(self._scip)
 * 
 *     def getPrimalDualIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Recomputes and returns the primal dual gap stored in the stats
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_79getPrimalDualIntegral, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getPrimalDualIntegral, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[528])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3407, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getPrimalDualIntegral, __pyx_t_10) < (0)) __PYX_ERR(2, 3407, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3417
 *         return SCIPgetPrimalDualIntegral(self._scip)
 * 
 *     def cutoffNode(self, Node node):             # <<<<<<<<<<<<<<
 *         """
 *         marks node and whole subtree to be cut off from the branch and bound tree.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_81cutoffNode, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_cutoffNode, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[529])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3417, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_cutoffNode, __pyx_t_10) < (0)) __PYX_ERR(2, 3417, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3427
 *         PY_SCIP_CALL( SCIPcutoffNode(self._scip, node.scip_node) )
 * 
 *     def infinity(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve SCIP's infinity value.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_83infinity, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_infinity, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[530])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_infinity, __pyx_t_10) < (0)) __PYX_ERR(2, 3427, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3438
 *         return SCIPinfinity(self._scip)
 * 
 *     def epsilon(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve epsilon for e.g. equality checks.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_85epsilon, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_epsilon, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[531])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3438, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_epsilon, __pyx_t_10) < (0)) __PYX_ERR(2, 3438, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3449
 *         return SCIPepsilon(self._scip)
 * 
 *     def feastol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve feasibility tolerance.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_87feastol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_feastol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[532])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_feastol, __pyx_t_10) < (0)) __PYX_ERR(2, 3449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3460
 *         return SCIPfeastol(self._scip)
 * 
 *     def feasFrac(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns fractional part of value, i.e. x - floor(x) in feasible tolerance: x - floor(x+feastol).
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_89feasFrac, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_feasFrac, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[533])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3460, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_feasFrac, __pyx_t_10) < (0)) __PYX_ERR(2, 3460, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3475
 *         return SCIPfeasFrac(self._scip, value)
 * 
 *     def frac(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns fractional part of value, i.e. x - floor(x) in epsilon tolerance: x - floor(x+eps).
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_91frac, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_frac, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[534])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_frac, __pyx_t_10) < (0)) __PYX_ERR(2, 3475, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3490
 *         return SCIPfrac(self._scip, value)
 * 
 *     def feasFloor(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Rounds value + feasibility tolerance down to the next integer.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_93feasFloor, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_feasFloor, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[535])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_feasFloor, __pyx_t_10) < (0)) __PYX_ERR(2, 3490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3505
 *         return SCIPfeasFloor(self._scip, value)
 * 
 *     def feasCeil(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Rounds value - feasibility tolerance up to the next integer.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_95feasCeil, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_feasCeil, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[536])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3505, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_feasCeil, __pyx_t_10) < (0)) __PYX_ERR(2, 3505, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3520
 *         return SCIPfeasCeil(self._scip, value)
 * 
 *     def feasRound(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Rounds value to the nearest integer in feasibility tolerance.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_97feasRound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_feasRound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[537])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3520, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_feasRound, __pyx_t_10) < (0)) __PYX_ERR(2, 3520, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3535
 *         return SCIPfeasRound(self._scip, value)
 * 
 *     def isZero(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether abs(value) < eps.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_99isZero, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isZero, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[538])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3535, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isZero, __pyx_t_10) < (0)) __PYX_ERR(2, 3535, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3550
 *         return SCIPisZero(self._scip, value)
 * 
 *     def isFeasZero(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether abs(value) < feastol.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_101isFeasZero, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isFeasZero, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[539])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3550, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isFeasZero, __pyx_t_10) < (0)) __PYX_ERR(2, 3550, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3565
 *         return SCIPisFeasZero(self._scip, value)
 * 
 *     def isInfinity(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value is SCIP's infinity.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_103isInfinity, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isInfinity, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[540])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isInfinity, __pyx_t_10) < (0)) __PYX_ERR(2, 3565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3580
 *         return SCIPisInfinity(self._scip, value)
 * 
 *     def isFeasNegative(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value < -feastol.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_105isFeasNegative, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isFeasNegative, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[541])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isFeasNegative, __pyx_t_10) < (0)) __PYX_ERR(2, 3580, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3595
 *         return SCIPisFeasNegative(self._scip, value)
 * 
 *     def isFeasPositive(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value > feastol.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_107isFeasPositive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isFeasPositive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[542])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3595, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isFeasPositive, __pyx_t_10) < (0)) __PYX_ERR(2, 3595, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3610
 *         return SCIPisFeasPositive(self._scip, value)
 * 
 *     def isFeasIntegral(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value is integral within the LP feasibility bounds.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_109isFeasIntegral, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isFeasIntegral, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[543])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3610, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isFeasIntegral, __pyx_t_10) < (0)) __PYX_ERR(2, 3610, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3625
 *         return SCIPisFeasIntegral(self._scip, value)
 * 
 *     def isIntegral(self, value):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether value is integral within epsilon tolerance.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_111isIntegral, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isIntegral, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[544])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3625, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isIntegral, __pyx_t_10) < (0)) __PYX_ERR(2, 3625, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3641
 *         return SCIPisIntegral(self._scip, value)
 * 
 *     def adjustedVarLb(self, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the adjusted (i.e. rounded, if the given variable is of integral type) lower bound value;
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_113adjustedVarLb, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_adjustedVarLb, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[545])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3641, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_adjustedVarLb, __pyx_t_10) < (0)) __PYX_ERR(2, 3641, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3661
 *         return SCIPadjustedVarLb(self._scip, var.scip_var, lb)
 * 
 *     def adjustedVarUb(self, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the adjusted (i.e. rounded, if the given variable is of integral type) upper bound value;
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_115adjustedVarUb, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_adjustedVarUb, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[546])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3661, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_adjustedVarUb, __pyx_t_10) < (0)) __PYX_ERR(2, 3661, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3681
 *         return SCIPadjustedVarUb(self._scip, var.scip_var, ub)
 * 
 *     def isEQ(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Checks, if values are in range of epsilon.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_117isEQ, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isEQ, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[547])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3681, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isEQ, __pyx_t_10) < (0)) __PYX_ERR(2, 3681, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3697
 *         return SCIPisEQ(self._scip, val1, val2)
 * 
 *     def isFeasEQ(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if relative difference between val1 and val2 is in range of feasibility tolerance.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_119isFeasEQ, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isFeasEQ, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[548])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3697, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isFeasEQ, __pyx_t_10) < (0)) __PYX_ERR(2, 3697, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3713
 *         return SCIPisFeasEQ(self._scip, val1, val2)
 * 
 *     def isFeasLT(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether relative difference between val1 and val2 is lower than minus feasibility tolerance.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_121isFeasLT, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isFeasLT, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[549])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3713, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isFeasLT, __pyx_t_10) < (0)) __PYX_ERR(2, 3713, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3729
 *         return SCIPisFeasLT(self._scip, val1, val2)
 * 
 *     def isFeasLE(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether relative difference between val1 and val2 is not greater than feasibility tolerance.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_123isFeasLE, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isFeasLE, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[550])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3729, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isFeasLE, __pyx_t_10) < (0)) __PYX_ERR(2, 3729, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3745
 *         return SCIPisFeasLE(self._scip, val1, val2)
 * 
 *     def isFeasGT(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether relative difference between val1 and val2 is greater than feasibility tolerance.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_125isFeasGT, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isFeasGT, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[551])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isFeasGT, __pyx_t_10) < (0)) __PYX_ERR(2, 3745, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3761
 *         return SCIPisFeasGT(self._scip, val1, val2)
 * 
 *     def isFeasGE(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether relative difference of val1 and val2 is not lower than minus feasibility tolerance.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_127isFeasGE, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isFeasGE, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[552])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3761, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isFeasGE, __pyx_t_10) < (0)) __PYX_ERR(2, 3761, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3777
 *         return SCIPisFeasGE(self._scip, val1, val2)
 * 
 *     def isLE(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val1 <= val2 + eps.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_129isLE, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isLE, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[553])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3777, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isLE, __pyx_t_10) < (0)) __PYX_ERR(2, 3777, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3793
 *         return SCIPisLE(self._scip, val1, val2)
 * 
 *     def isLT(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val1 < val2 - eps.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_131isLT, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isLT, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[554])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3793, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isLT, __pyx_t_10) < (0)) __PYX_ERR(2, 3793, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3809
 *         return SCIPisLT(self._scip, val1, val2)
 * 
 *     def isGE(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val1 >= val2 - eps.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_133isGE, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isGE, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[555])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isGE, __pyx_t_10) < (0)) __PYX_ERR(2, 3809, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3825
 *         return SCIPisGE(self._scip, val1, val2)
 * 
 *     def isGT(self, val1, val2):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val1 > val2 + eps.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_135isGT, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isGT, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[556])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3825, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isGT, __pyx_t_10) < (0)) __PYX_ERR(2, 3825, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3841
 *         return SCIPisGT(self._scip, val1, val2)
 * 
 *     def isHugeValue(self, val):             # <<<<<<<<<<<<<<
 *         """
 *         Checks if value is huge and should be
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_137isHugeValue, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isHugeValue, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[557])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isHugeValue, __pyx_t_10) < (0)) __PYX_ERR(2, 3841, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3857
 *         return SCIPisHugeValue(self._scip, val)
 * 
 *     def isPositive(self, val):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val > eps.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_139isPositive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isPositive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[558])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3857, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isPositive, __pyx_t_10) < (0)) __PYX_ERR(2, 3857, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3872
 *         return SCIPisPositive(self._scip, val)
 * 
 *     def isNegative(self, val):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether val < -eps.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_141isNegative, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isNegative, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[559])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3872, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isNegative, __pyx_t_10) < (0)) __PYX_ERR(2, 3872, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3887
 *         return SCIPisNegative(self._scip, val)
 * 
 *     def getCondition(self, exact=False):             # <<<<<<<<<<<<<<
 *         """
 *         Get the current LP's condition number.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_143getCondition, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getCondition, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[560])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getCondition, __pyx_t_10) < (0)) __PYX_ERR(2, 3887, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3911
 *         return quality
 * 
 *     def enableReoptimization(self, enable=True):             # <<<<<<<<<<<<<<
 *         """
 *         Include specific heuristics and branching rules for reoptimization.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_145enableReoptimization, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_enableReoptimization, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[561])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3911, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[30]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_enableReoptimization, __pyx_t_10) < (0)) __PYX_ERR(2, 3911, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3923
 *         PY_SCIP_CALL(SCIPenableReoptimization(self._scip, enable))
 * 
 *     def lpiGetIterations(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the iteration count of the last solved LP.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_147lpiGetIterations, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_lpiGetIterations, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[562])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3923, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_lpiGetIterations, __pyx_t_10) < (0)) __PYX_ERR(2, 3923, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3941
 * 
 *     # Objective function
 *     def setMinimize(self):             # <<<<<<<<<<<<<<
 *         """Set the objective sense to minimization."""
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MINIMIZE))
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_149setMinimize, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setMinimize, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[563])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3941, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setMinimize, __pyx_t_10) < (0)) __PYX_ERR(2, 3941, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3945
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MINIMIZE))
 * 
 *     def setMaximize(self):             # <<<<<<<<<<<<<<
 *         """Set the objective sense to maximization."""
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MAXIMIZE))
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_151setMaximize, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setMaximize, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[564])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3945, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setMaximize, __pyx_t_10) < (0)) __PYX_ERR(2, 3945, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3949
 *         PY_SCIP_CALL(SCIPsetObjsense(self._scip, SCIP_OBJSENSE_MAXIMIZE))
 * 
 *     def setObjlimit(self, objlimit):             # <<<<<<<<<<<<<<
 *         """
 *         Set a limit on the objective function.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_153setObjlimit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setObjlimit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[565])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3949, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setObjlimit, __pyx_t_10) < (0)) __PYX_ERR(2, 3949, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3962
 *         PY_SCIP_CALL(SCIPsetObjlimit(self._scip, objlimit))
 * 
 *     def getObjlimit(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns current limit on objective function.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_155getObjlimit, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getObjlimit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[566])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getObjlimit, __pyx_t_10) < (0)) __PYX_ERR(2, 3962, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":3973
 *         return SCIPgetObjlimit(self._scip)
 * 
 *     def setObjective(self, expr, sense = 'minimize', clear = 'true'):             # <<<<<<<<<<<<<<
 *         """
 *         Establish the objective function as a linear expression.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_157setObjective, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setObjective, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[567])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 3973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[36]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setObjective, __pyx_t_10) < (0)) __PYX_ERR(2, 3973, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4026
 *             raise Warning("unrecognized optimization sense: %s" % sense)
 * 
 *     def getObjective(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve objective function as Expr.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_159getObjective, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getObjective, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[568])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getObjective, __pyx_t_10) < (0)) __PYX_ERR(2, 4026, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4044
 *         return objective
 * 
 *     def addObjoffset(self, offset, solutions = False):             # <<<<<<<<<<<<<<
 *         """
 *         Add constant offset to objective.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_161addObjoffset, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addObjoffset, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[569])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4044, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addObjoffset, __pyx_t_10) < (0)) __PYX_ERR(2, 4044, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4061
 *             PY_SCIP_CALL(SCIPaddOrigObjoffset(self._scip, offset))
 * 
 *     def getObjoffset(self, original = True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve constant objective offset
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_163getObjoffset, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getObjoffset, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[570])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4061, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[30]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getObjoffset, __pyx_t_10) < (0)) __PYX_ERR(2, 4061, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4080
 *             return SCIPgetTransObjoffset(self._scip)
 * 
 *     def setObjIntegral(self):             # <<<<<<<<<<<<<<
 *         """Informs SCIP that the objective value is always integral in every feasible solution.
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_165setObjIntegral, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setObjIntegral, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[571])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setObjIntegral, __pyx_t_10) < (0)) __PYX_ERR(2, 4080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4093
 *         PY_SCIP_CALL(SCIPsetObjIntegral(self._scip))
 * 
 *     def isObjIntegral(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the objective function is integral.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_167isObjIntegral, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isObjIntegral, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[572])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4093, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isObjIntegral, __pyx_t_10) < (0)) __PYX_ERR(2, 4093, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4104
 *         return SCIPisObjIntegral(self._scip)
 * 
 *     def getLocalEstimate(self, original = False):             # <<<<<<<<<<<<<<
 *         """
 *         Gets estimate of best primal solution w.r.t. original or transformed problem contained in current subtree.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_169getLocalEstimate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getLocalEstimate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[573])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4104, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getLocalEstimate, __pyx_t_10) < (0)) __PYX_ERR(2, 4104, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4124
 * 
 *     # Setting parameters
 *     def setPresolve(self, setting):             # <<<<<<<<<<<<<<
 *         """
 *         Set presolving parameter settings.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_171setPresolve, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setPresolve, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[574])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4124, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setPresolve, __pyx_t_10) < (0)) __PYX_ERR(2, 4124, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4137
 *         PY_SCIP_CALL(SCIPsetPresolving(self._scip, setting, True))
 * 
 *     def setProbName(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Set problem name.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_173setProbName, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setProbName, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[575])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setProbName, __pyx_t_10) < (0)) __PYX_ERR(2, 4137, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4149
 *         PY_SCIP_CALL(SCIPsetProbName(self._scip, n))
 * 
 *     def setSeparating(self, setting):             # <<<<<<<<<<<<<<
 *         """
 *         Set separating parameter settings.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_175setSeparating, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setSeparating, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[576])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4149, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setSeparating, __pyx_t_10) < (0)) __PYX_ERR(2, 4149, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4161
 *         PY_SCIP_CALL(SCIPsetSeparating(self._scip, setting, True))
 * 
 *     def setHeuristics(self, setting):             # <<<<<<<<<<<<<<
 *         """
 *         Set heuristics parameter settings.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_177setHeuristics, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setHeuristics, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[577])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setHeuristics, __pyx_t_10) < (0)) __PYX_ERR(2, 4161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4173
 *         PY_SCIP_CALL(SCIPsetHeuristics(self._scip, setting, True))
 * 
 *     def setHeurTiming(self, heurname, heurtiming):             # <<<<<<<<<<<<<<
 *         """
 *         Set the timing of a heuristic
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_179setHeurTiming, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setHeurTiming, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[578])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4173, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setHeurTiming, __pyx_t_10) < (0)) __PYX_ERR(2, 4173, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4190
 *         SCIPheurSetTimingmask(_heur, heurtiming)
 * 
 *     def getHeurTiming(self, heurname):             # <<<<<<<<<<<<<<
 *         """
 *         Get the timing of a heuristic
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_181getHeurTiming, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getHeurTiming, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[579])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4190, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getHeurTiming, __pyx_t_10) < (0)) __PYX_ERR(2, 4190, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4210
 *         return SCIPheurGetTimingmask(_heur)
 * 
 *     def disablePropagation(self, onlyroot=False):             # <<<<<<<<<<<<<<
 *         """
 *         Disables propagation in SCIP to avoid modifying the original problem during transformation.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_183disablePropagation, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_disablePropagation, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[580])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_disablePropagation, __pyx_t_10) < (0)) __PYX_ERR(2, 4210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4224
 *             self.setIntParam("propagating/maxrounds", 0)
 * 
 *     def printProblem(self, ext='.cip', trans=False, genericnames=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write current model/problem to standard output.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_185printProblem, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_printProblem, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[581])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[37]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_printProblem, __pyx_t_10) < (0)) __PYX_ERR(2, 4224, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4250
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeProblem(self, filename='model.cip', trans=False, genericnames=False, verbose=True):             # <<<<<<<<<<<<<<
 *         """
 *         Write current model/problem to a file.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_187writeProblem, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_writeProblem, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[582])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[38]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_writeProblem, __pyx_t_10) < (0)) __PYX_ERR(2, 4250, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4297
 * 
 *     # Variable Functions
 *     def addVar(self, name='', vtype='C', lb=0.0, ub=None, obj=0.0, pricedVar=False, pricedVarScore=1.0, deletable=False):             # <<<<<<<<<<<<<<
 *         """
 *         Create a new variable. Default variable is non-negative and continuous.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_189addVar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addVar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[583])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[39]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addVar, __pyx_t_10) < (0)) __PYX_ERR(2, 4297, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":4368
 *         return pyVar
 * 
 *     def addMatrixVar(self,             # <<<<<<<<<<<<<<
 *                      shape: Union[int, Tuple],
 *                      name: Union[str, np.ndarray] = '',
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(9); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 4368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_shape, __pyx_mstate_global->__pyx_kp_u_Union_int_Tuple) < (0)) __PYX_ERR(2, 4368, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_name, __pyx_mstate_global->__pyx_kp_u_Union_str_np_ndarray) < (0)) __PYX_ERR(2, 4368, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_vtype, __pyx_mstate_global->__pyx_kp_u_Union_str_np_ndarray) < (0)) __PYX_ERR(2, 4368, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_lb, __pyx_mstate_global->__pyx_kp_u_Union_int_float_np_ndarray_None) < (0)) __PYX_ERR(2, 4368, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_ub, __pyx_mstate_global->__pyx_kp_u_Union_int_float_np_ndarray_None) < (0)) __PYX_ERR(2, 4368, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_obj, __pyx_mstate_global->__pyx_kp_u_Union_int_float_np_ndarray) < (0)) __PYX_ERR(2, 4368, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_pricedVar, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 4368, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_pricedVarScore, __pyx_mstate_global->__pyx_kp_u_Union_int_float_np_ndarray) < (0)) __PYX_ERR(2, 4368, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_MatrixVariable) < (0)) __PYX_ERR(2, 4368, __pyx_L1_error)
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_191addMatrixVar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addMatrixVar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[584])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[40]);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_11, __pyx_t_10);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addMatrixVar, __pyx_t_11) < (0)) __PYX_ERR(2, 4368, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4475
 *         return matrix_variable.view(MatrixVariable)
 * 
 *     def getTransformedVar(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the transformed variable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_193getTransformedVar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getTransformedVar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[585])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getTransformedVar, __pyx_t_11) < (0)) __PYX_ERR(2, 4475, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4493
 *         return self._getOrCreateVar(_tvar)
 * 
 *     def addVarLocks(self, Variable var, int nlocksdown, int nlocksup):             # <<<<<<<<<<<<<<
 *         """
 *         Adds given values to lock numbers of variable for rounding.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_195addVarLocks, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addVarLocks, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[586])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4493, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addVarLocks, __pyx_t_11) < (0)) __PYX_ERR(2, 4493, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4509
 *         PY_SCIP_CALL(SCIPaddVarLocks(self._scip, var.scip_var, nlocksdown, nlocksup))
 * 
 *     def addVarLocksType(self, Variable var, int locktype, int nlocksdown, int nlocksup):             # <<<<<<<<<<<<<<
 *         """
 *         adds given values to lock numbers of type locktype of variable for rounding
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_197addVarLocksType, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addVarLocksType, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[587])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4509, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addVarLocksType, __pyx_t_11) < (0)) __PYX_ERR(2, 4509, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4527
 *         PY_SCIP_CALL(SCIPaddVarLocksType(self._scip, var.scip_var, locktype, nlocksdown, nlocksup))
 * 
 *     def fixVar(self, Variable var, val):             # <<<<<<<<<<<<<<
 *         """
 *         Fixes the variable var to the value val if possible.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_199fixVar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_fixVar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[588])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_fixVar, __pyx_t_11) < (0)) __PYX_ERR(2, 4527, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4551
 *         return infeasible, fixed
 * 
 *     def delVar(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Delete a variable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_201delVar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_delVar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[589])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4551, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_delVar, __pyx_t_11) < (0)) __PYX_ERR(2, 4551, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4573
 *         return deleted
 * 
 *     def aggregateVars(self, Variable varx, Variable vary, coefx=1.0, coefy=-1.0, rhs=0.0):             # <<<<<<<<<<<<<<
 *         """
 *         Aggregate two variables by adding an aggregation constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_203aggregateVars, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_aggregateVars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[590])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[41]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_aggregateVars, __pyx_t_11) < (0)) __PYX_ERR(2, 4573, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4633
 *         return infeasible, redundant, aggregated
 * 
 *     def tightenVarLb(self, Variable var, lb, force=False):             # <<<<<<<<<<<<<<
 *         """
 *         Tighten the lower bound in preprocessing or current node, if the bound is tighter.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_205tightenVarLb, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_tightenVarLb, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[591])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4633, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_tightenVarLb, __pyx_t_11) < (0)) __PYX_ERR(2, 4633, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4659
 *         return infeasible, tightened
 * 
 *     def tightenVarUb(self, Variable var, ub, force=False):             # <<<<<<<<<<<<<<
 *         """
 *         Tighten the upper bound in preprocessing or current node, if the bound is tighter.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_207tightenVarUb, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_tightenVarUb, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[592])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_tightenVarUb, __pyx_t_11) < (0)) __PYX_ERR(2, 4659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4685
 *         return infeasible, tightened
 * 
 *     def tightenVarUbGlobal(self, Variable var, ub, force=False):             # <<<<<<<<<<<<<<
 *         """
 *         Tighten the global upper bound, if the bound is tighter.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_209tightenVarUbGlobal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_tightenVarUbGlobal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[593])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4685, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_tightenVarUbGlobal, __pyx_t_11) < (0)) __PYX_ERR(2, 4685, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4711
 *         return infeasible, tightened
 * 
 *     def tightenVarLbGlobal(self, Variable var, lb, force=False):             # <<<<<<<<<<<<<<
 *         """Tighten the global lower bound, if the bound is tighter.
 * 
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_211tightenVarLbGlobal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_tightenVarLbGlobal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[594])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4711, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_tightenVarLbGlobal, __pyx_t_11) < (0)) __PYX_ERR(2, 4711, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4736
 *         return infeasible, tightened
 * 
 *     def chgVarLb(self, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """
 *         Changes the lower bound of the specified variable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_213chgVarLb, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarLb, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[595])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4736, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarLb, __pyx_t_11) < (0)) __PYX_ERR(2, 4736, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4752
 *         PY_SCIP_CALL(SCIPchgVarLb(self._scip, var.scip_var, lb))
 * 
 *     def chgVarUb(self, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """Changes the upper bound of the specified variable.
 * 
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_215chgVarUb, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarUb, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[596])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarUb, __pyx_t_11) < (0)) __PYX_ERR(2, 4752, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4767
 *         PY_SCIP_CALL(SCIPchgVarUb(self._scip, var.scip_var, ub))
 * 
 *     def chgVarLbGlobal(self, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """Changes the global lower bound of the specified variable.
 * 
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_217chgVarLbGlobal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarLbGlobal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[597])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarLbGlobal, __pyx_t_11) < (0)) __PYX_ERR(2, 4767, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4782
 *         PY_SCIP_CALL(SCIPchgVarLbGlobal(self._scip, var.scip_var, lb))
 * 
 *     def chgVarUbGlobal(self, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """Changes the global upper bound of the specified variable.
 * 
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_219chgVarUbGlobal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarUbGlobal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[598])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarUbGlobal, __pyx_t_11) < (0)) __PYX_ERR(2, 4782, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4797
 *         PY_SCIP_CALL(SCIPchgVarUbGlobal(self._scip, var.scip_var, ub))
 * 
 *     def chgVarLbNode(self, Node node, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """Changes the lower bound of the specified variable at the given node.
 * 
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_221chgVarLbNode, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarLbNode, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[599])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4797, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarLbNode, __pyx_t_11) < (0)) __PYX_ERR(2, 4797, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4815
 *         PY_SCIP_CALL(SCIPchgVarLbNode(self._scip, node.scip_node, var.scip_var, lb))
 * 
 *     def chgVarUbNode(self, Node node, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """Changes the upper bound of the specified variable at the given node.
 * 
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_223chgVarUbNode, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarUbNode, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[600])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarUbNode, __pyx_t_11) < (0)) __PYX_ERR(2, 4815, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4832
 *         PY_SCIP_CALL(SCIPchgVarUbNode(self._scip, node.scip_node, var.scip_var, ub))
 * 
 *     def chgVarType(self, Variable var, vtype):             # <<<<<<<<<<<<<<
 *         """
 *         Changes the type of a variable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_225chgVarType, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarType, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[601])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarType, __pyx_t_11) < (0)) __PYX_ERR(2, 4832, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4859
 *             print('could not change variable type of variable %s' % var)
 * 
 *     def markDoNotAggrVar(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Marks a variable preventing it from being aggregated.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_227markDoNotAggrVar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_markDoNotAggrVar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[602])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_markDoNotAggrVar, __pyx_t_11) < (0)) __PYX_ERR(2, 4859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4870
 *         PY_SCIP_CALL(SCIPmarkDoNotAggrVar(self._scip, var.scip_var))
 * 
 *     def markDoNotMultaggrVar(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Marks a variable preventing it from being multi-aggregated.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_229markDoNotMultaggrVar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_markDoNotMultaggrVar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[603])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4870, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_markDoNotMultaggrVar, __pyx_t_11) < (0)) __PYX_ERR(2, 4870, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4881
 *         PY_SCIP_CALL(SCIPmarkDoNotMultaggrVar(self._scip, var.scip_var))
 * 
 *     def getVars(self, transformed=False):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve all variables.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_231getVars, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getVars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[604])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4881, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getVars, __pyx_t_11) < (0)) __PYX_ERR(2, 4881, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4912
 *         return vars
 * 
 *     def getNVars(self, transformed=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of variables in the problems.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_233getNVars, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNVars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[605])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[30]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNVars, __pyx_t_11) < (0)) __PYX_ERR(2, 4912, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4931
 *             return SCIPgetNOrigVars(self._scip)
 * 
 *     def getNIntVars(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of integer active problem variables.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_235getNIntVars, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNIntVars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[606])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNIntVars, __pyx_t_11) < (0)) __PYX_ERR(2, 4931, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4942
 *         return SCIPgetNIntVars(self._scip)
 * 
 *     def getNBinVars(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of binary active problem variables.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_237getNBinVars, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNBinVars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[607])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4942, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNBinVars, __pyx_t_11) < (0)) __PYX_ERR(2, 4942, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4953
 *         return SCIPgetNBinVars(self._scip)
 * 
 *     def getNImplVars(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of implicit integer active problem variables.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_239getNImplVars, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNImplVars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[608])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4953, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNImplVars, __pyx_t_11) < (0)) __PYX_ERR(2, 4953, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4964
 *         return SCIPgetNImplVars(self._scip)
 * 
 *     def getNContVars(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of continuous active problem variables.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_241getNContVars, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNContVars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[609])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4964, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNContVars, __pyx_t_11) < (0)) __PYX_ERR(2, 4964, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4975
 *         return SCIPgetNContVars(self._scip)
 * 
 *     def getVarDict(self, transformed=False):             # <<<<<<<<<<<<<<
 *         """
 *         Gets dictionary with variables names as keys and current variable values as items.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_243getVarDict, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getVarDict, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[610])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getVarDict, __pyx_t_11) < (0)) __PYX_ERR(2, 4975, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":4994
 *         return var_dict
 * 
 *     def getVarPseudocostScore(self, Variable var, solVal):             # <<<<<<<<<<<<<<
 *         """
 *         gets the variable's pseudo cost score value for the given LP solution value
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_245getVarPseudocostScore, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getVarPseudocostScore, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[611])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 4994, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getVarPseudocostScore, __pyx_t_11) < (0)) __PYX_ERR(2, 4994, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5011
 *         return SCIPgetVarPseudocostScore(self._scip, var.scip_var, solVal)
 * 
 *     def getVarPseudocost(self, Variable var, branchdir):             # <<<<<<<<<<<<<<
 *         """
 *         gets the variable's pseudo cost value for the given direction
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_247getVarPseudocost, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getVarPseudocost, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[612])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5011, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getVarPseudocost, __pyx_t_11) < (0)) __PYX_ERR(2, 5011, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5028
 *         return SCIPgetVarPseudocost(self._scip, var.scip_var, branchdir)
 * 
 *     def updateNodeLowerbound(self, Node node, lb):             # <<<<<<<<<<<<<<
 *         """
 *         If given value is larger than the node's lower bound (in transformed problem),
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_249updateNodeLowerbound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_updateNodeLowerbound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[613])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_updateNodeLowerbound, __pyx_t_11) < (0)) __PYX_ERR(2, 5028, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5043
 *         PY_SCIP_CALL(SCIPupdateNodeLowerbound(self._scip, node.scip_node, lb))
 * 
 *     def relax(self):             # <<<<<<<<<<<<<<
 *         """Relaxes the integrality restrictions of the model."""
 *         if self.getStage() != SCIP_STAGE_PROBLEM:
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_251relax, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_relax, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[614])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5043, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_relax, __pyx_t_11) < (0)) __PYX_ERR(2, 5043, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5052
 * 
 *     # Node methods
 *     def getBestChild(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the best child of the focus node w.r.t. the node selection strategy.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_253getBestChild, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getBestChild, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[615])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5052, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getBestChild, __pyx_t_11) < (0)) __PYX_ERR(2, 5052, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5063
 *         return Node.create(SCIPgetBestChild(self._scip))
 * 
 *     def getChildren(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the children of the focus node.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_255getChildren, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getChildren, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[616])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getChildren, __pyx_t_11) < (0)) __PYX_ERR(2, 5063, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5080
 *         return [Node.create(_children[i]) for i in range(n_children)]
 * 
 *     def getSiblings(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the siblings of the focus node.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_257getSiblings, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getSiblings, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[617])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5080, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getSiblings, __pyx_t_11) < (0)) __PYX_ERR(2, 5080, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5097
 *         return [Node.create(_siblings[i]) for i in range(n_siblings)]
 * 
 *     def getLeaves(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the leaves of the tree along with number of leaves.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_259getLeaves, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getLeaves, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[618])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5097, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getLeaves, __pyx_t_11) < (0)) __PYX_ERR(2, 5097, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5114
 *         return [Node.create(_leaves[i]) for i in range(n_leaves)]
 * 
 *     def getBestSibling(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the best sibling of the focus node w.r.t. the node selection strategy.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_261getBestSibling, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getBestSibling, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[619])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5114, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getBestSibling, __pyx_t_11) < (0)) __PYX_ERR(2, 5114, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5125
 *         return Node.create(SCIPgetBestSibling(self._scip))
 * 
 *     def getPrioChild(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the best child of the focus node w.r.t. the node selection priority
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_263getPrioChild, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getPrioChild, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[620])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5125, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getPrioChild, __pyx_t_11) < (0)) __PYX_ERR(2, 5125, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5137
 *         return Node.create(SCIPgetPrioChild(self._scip))
 * 
 *     def getPrioSibling(self):             # <<<<<<<<<<<<<<
 *         """Gets the best sibling of the focus node w.r.t.
 *         the node selection priority assigned by the branching rule.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_265getPrioSibling, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getPrioSibling, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[621])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5137, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getPrioSibling, __pyx_t_11) < (0)) __PYX_ERR(2, 5137, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5148
 *         return Node.create(SCIPgetPrioSibling(self._scip))
 * 
 *     def getBestLeaf(self):             # <<<<<<<<<<<<<<
 *         """Gets the best leaf from the node queue w.r.t. the node selection strategy.
 * 
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_267getBestLeaf, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getBestLeaf, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[622])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getBestLeaf, __pyx_t_11) < (0)) __PYX_ERR(2, 5148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5158
 *         return Node.create(SCIPgetBestLeaf(self._scip))
 * 
 *     def getBestNode(self):             # <<<<<<<<<<<<<<
 *         """Gets the best node from the tree (child, sibling, or leaf) w.r.t. the node selection strategy.
 * 
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_269getBestNode, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getBestNode, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[623])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getBestNode, __pyx_t_11) < (0)) __PYX_ERR(2, 5158, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5168
 *         return Node.create(SCIPgetBestNode(self._scip))
 * 
 *     def getBestboundNode(self):             # <<<<<<<<<<<<<<
 *         """Gets the node with smallest lower bound from the tree (child, sibling, or leaf).
 * 
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_271getBestboundNode, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getBestboundNode, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[624])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getBestboundNode, __pyx_t_11) < (0)) __PYX_ERR(2, 5168, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5178
 *         return Node.create(SCIPgetBestboundNode(self._scip))
 * 
 *     def getOpenNodes(self):             # <<<<<<<<<<<<<<
 *         """
 *         Access to all data of open nodes (leaves, children, and siblings).
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_273getOpenNodes, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getOpenNodes, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[625])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5178, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getOpenNodes, __pyx_t_11) < (0)) __PYX_ERR(2, 5178, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5208
 *         return leaves, children, siblings
 * 
 *     def repropagateNode(self, Node node):             # <<<<<<<<<<<<<<
 *         """Marks the given node to be propagated again the next time a node of its subtree is processed."""
 *         PY_SCIP_CALL(SCIPrepropagateNode(self._scip, node.scip_node))
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_275repropagateNode, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_repropagateNode, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[626])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_repropagateNode, __pyx_t_11) < (0)) __PYX_ERR(2, 5208, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5213
 * 
 *     # LP Methods
 *     def getLPSolstat(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets solution status of current LP.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_277getLPSolstat, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getLPSolstat, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[627])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5213, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getLPSolstat, __pyx_t_11) < (0)) __PYX_ERR(2, 5213, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5224
 *         return SCIPgetLPSolstat(self._scip)
 * 
 *     def constructLP(self):             # <<<<<<<<<<<<<<
 *         """
 *         Makes sure that the LP of the current node is loaded and
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_279constructLP, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_constructLP, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[628])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_constructLP, __pyx_t_11) < (0)) __PYX_ERR(2, 5224, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5240
 *         return cutoff
 * 
 *     def getLPObjVal(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets objective value of current LP (which is the sum of column and loose objective value).
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_281getLPObjVal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getLPObjVal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[629])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5240, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getLPObjVal, __pyx_t_11) < (0)) __PYX_ERR(2, 5240, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5252
 *         return SCIPgetLPObjval(self._scip)
 * 
 *     def getLPColsData(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current LP columns.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_283getLPColsData, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getLPColsData, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[630])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getLPColsData, __pyx_t_11) < (0)) __PYX_ERR(2, 5252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5269
 *         return [Column.create(cols[i]) for i in range(ncols)]
 * 
 *     def getLPRowsData(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current LP rows.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_285getLPRowsData, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getLPRowsData, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[631])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5269, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getLPRowsData, __pyx_t_11) < (0)) __PYX_ERR(2, 5269, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5286
 *         return [Row.create(rows[i]) for i in range(nrows)]
 * 
 *     def getNLPRows(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of rows currently in the LP.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_287getNLPRows, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNLPRows, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[632])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5286, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNLPRows, __pyx_t_11) < (0)) __PYX_ERR(2, 5286, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5297
 *         return SCIPgetNLPRows(self._scip)
 * 
 *     def getNLPCols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of columns currently in the LP.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_289getNLPCols, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNLPCols, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[633])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNLPCols, __pyx_t_11) < (0)) __PYX_ERR(2, 5297, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5308
 *         return SCIPgetNLPCols(self._scip)
 * 
 *     def getLPBasisInd(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets all indices of basic columns and rows:
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_291getLPBasisInd, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getLPBasisInd, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[634])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5308, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getLPBasisInd, __pyx_t_11) < (0)) __PYX_ERR(2, 5308, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5328
 *         return result
 * 
 *     def getLPBInvRow(self, row):             # <<<<<<<<<<<<<<
 *         """
 *         Gets a row from the inverse basis matrix B^-1
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_293getLPBInvRow, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getLPBInvRow, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[635])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5328, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getLPBInvRow, __pyx_t_11) < (0)) __PYX_ERR(2, 5328, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5353
 *         return result
 * 
 *     def getLPBInvARow(self, row):             # <<<<<<<<<<<<<<
 *         """
 *         Gets a row from B^-1 * A.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_295getLPBInvARow, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getLPBInvARow, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[636])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5353, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getLPBInvARow, __pyx_t_11) < (0)) __PYX_ERR(2, 5353, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5378
 *         return result
 * 
 *     def isLPSolBasic(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the current LP solution is basic, i.e. is defined by a valid simplex basis.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_297isLPSolBasic, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isLPSolBasic, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[637])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5378, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isLPSolBasic, __pyx_t_11) < (0)) __PYX_ERR(2, 5378, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5389
 *         return SCIPisLPSolBasic(self._scip)
 * 
 *     def allColsInLP(self):             # <<<<<<<<<<<<<<
 *         """
 *         Checks if all columns, i.e. every variable with non-empty column is present in the LP.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_299allColsInLP, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_allColsInLP, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[638])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5389, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_allColsInLP, __pyx_t_11) < (0)) __PYX_ERR(2, 5389, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5403
 * 
 *     # LP Col Methods
 *     def getColRedCost(self, Column col):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the reduced cost of the column in the current LP.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_301getColRedCost, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getColRedCost, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[639])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5403, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getColRedCost, __pyx_t_11) < (0)) __PYX_ERR(2, 5403, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5420
 *     #TODO: documentation!!
 *     # LP Row Methods
 *     def createEmptyRowSepa(self, Sepa sepa, name="row", lhs = 0.0, rhs = None, local = True, modifiable = False, removable = True):             # <<<<<<<<<<<<<<
 *         """
 *         Creates and captures an LP row without any coefficients from a separator.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_303createEmptyRowSepa, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_createEmptyRowSepa, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[640])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[42]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_createEmptyRowSepa, __pyx_t_11) < (0)) __PYX_ERR(2, 5420, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5454
 *         return PyRow
 * 
 *     def createEmptyRowUnspec(self, name="row", lhs = 0.0, rhs = None, local = True, modifiable = False, removable = True):             # <<<<<<<<<<<<<<
 *         """
 *         Creates and captures an LP row without any coefficients from an unspecified source.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_305createEmptyRowUnspec, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_createEmptyRowUnspec, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[641])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5454, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[42]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_createEmptyRowUnspec, __pyx_t_11) < (0)) __PYX_ERR(2, 5454, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5485
 *         return PyRow
 * 
 *     def getRowActivity(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the activity of a row in the last LP or pseudo solution.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_307getRowActivity, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getRowActivity, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[642])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5485, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getRowActivity, __pyx_t_11) < (0)) __PYX_ERR(2, 5485, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5500
 *         return SCIPgetRowActivity(self._scip, row.scip_row)
 * 
 *     def getRowLPActivity(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the activity of a row in the last LP solution.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_309getRowLPActivity, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getRowLPActivity, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[643])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getRowLPActivity, __pyx_t_11) < (0)) __PYX_ERR(2, 5500, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5516
 * 
 *     # TODO: do we need this? (also do we need release var??)
 *     def releaseRow(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         Decreases usage counter of LP row, and frees memory if necessary.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_311releaseRow, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_releaseRow, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[644])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5516, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_releaseRow, __pyx_t_11) < (0)) __PYX_ERR(2, 5516, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5527
 *         PY_SCIP_CALL(SCIPreleaseRow(self._scip, &row.scip_row))
 * 
 *     def cacheRowExtensions(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         Informs row that all subsequent additions of variables to the row
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_313cacheRowExtensions, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_cacheRowExtensions, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[645])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5527, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_cacheRowExtensions, __pyx_t_11) < (0)) __PYX_ERR(2, 5527, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5543
 *         PY_SCIP_CALL(SCIPcacheRowExtensions(self._scip, row.scip_row))
 * 
 *     def flushRowExtensions(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         Flushes all cached row extensions after a call of cacheRowExtensions()
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_315flushRowExtensions, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_flushRowExtensions, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[646])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_flushRowExtensions, __pyx_t_11) < (0)) __PYX_ERR(2, 5543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5555
 *         PY_SCIP_CALL(SCIPflushRowExtensions(self._scip, row.scip_row))
 * 
 *     def addVarToRow(self, Row row not None, Variable var not None, value):             # <<<<<<<<<<<<<<
 *         """
 *         Resolves variable to columns and adds them with the coefficient to the row.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_317addVarToRow, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addVarToRow, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[647])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5555, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addVarToRow, __pyx_t_11) < (0)) __PYX_ERR(2, 5555, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5571
 *         PY_SCIP_CALL(SCIPaddVarToRow(self._scip, row.scip_row, var.scip_var, value))
 * 
 *     def printRow(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         Prints row.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_319printRow, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_printRow, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[648])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5571, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_printRow, __pyx_t_11) < (0)) __PYX_ERR(2, 5571, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5582
 *         PY_SCIP_CALL(SCIPprintRow(self._scip, row.scip_row, NULL))
 * 
 *     def getRowNumIntCols(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Returns number of intergal columns in the row.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_321getRowNumIntCols, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getRowNumIntCols, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[649])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5582, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getRowNumIntCols, __pyx_t_11) < (0)) __PYX_ERR(2, 5582, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5597
 *         return SCIPgetRowNumIntCols(self._scip, row.scip_row)
 * 
 *     def getRowObjParallelism(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Returns 1 if the row is parallel, and 0 if orthogonal.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_323getRowObjParallelism, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getRowObjParallelism, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[650])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getRowObjParallelism, __pyx_t_11) < (0)) __PYX_ERR(2, 5597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5612
 *         return SCIPgetRowObjParallelism(self._scip, row.scip_row)
 * 
 *     def getRowParallelism(self, Row row1, Row row2, orthofunc=101):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the degree of parallelism between hyplerplanes. 1 if perfectly parallel, 0 if orthogonal.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_325getRowParallelism, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getRowParallelism, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[651])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[43]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getRowParallelism, __pyx_t_11) < (0)) __PYX_ERR(2, 5612, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5632
 *         return SCIProwGetParallelism(row1.scip_row, row2.scip_row, orthofunc)
 * 
 *     def getRowDualSol(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the dual LP solution of a row.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_327getRowDualSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getRowDualSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[652])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5632, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getRowDualSol, __pyx_t_11) < (0)) __PYX_ERR(2, 5632, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5648
 * 
 *     # Cutting Plane Methods
 *     def addPoolCut(self, Row row not None):             # <<<<<<<<<<<<<<
 *         """
 *         If not already existing, adds row to global cut pool.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_329addPoolCut, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addPoolCut, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[653])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5648, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addPoolCut, __pyx_t_11) < (0)) __PYX_ERR(2, 5648, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5659
 *         PY_SCIP_CALL(SCIPaddPoolCut(self._scip, row.scip_row))
 * 
 *     def getCutEfficacy(self, Row cut not None, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns efficacy of the cut with respect to the given primal solution or the
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_331getCutEfficacy, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getCutEfficacy, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[654])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getCutEfficacy, __pyx_t_11) < (0)) __PYX_ERR(2, 5659, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5676
 *         return SCIPgetCutEfficacy(self._scip, NULL if sol is None else sol.sol, cut.scip_row)
 * 
 *     def isCutEfficacious(self, Row cut not None, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the cut's efficacy with respect to the given primal solution or the
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_333isCutEfficacious, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isCutEfficacious, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[655])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isCutEfficacious, __pyx_t_11) < (0)) __PYX_ERR(2, 5676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5693
 *         return SCIPisCutEfficacious(self._scip, NULL if sol is None else sol.sol, cut.scip_row)
 * 
 *     def getCutLPSolCutoffDistance(self, Row cut not None, Solution sol not None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns row's cutoff distance in the direction of the given primal solution.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_335getCutLPSolCutoffDistance, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getCutLPSolCutoffDistance, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[656])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getCutLPSolCutoffDistance, __pyx_t_11) < (0)) __PYX_ERR(2, 5693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5709
 *         return SCIPgetCutLPSolCutoffDistance(self._scip, sol.sol, cut.scip_row)
 * 
 *     def addCut(self, Row cut not None, forcecut = False):             # <<<<<<<<<<<<<<
 *         """
 *         Adds cut to separation storage and returns whether cut has been detected to be infeasible for local bounds.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_337addCut, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addCut, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[657])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addCut, __pyx_t_11) < (0)) __PYX_ERR(2, 5709, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5730
 *         return infeasible
 * 
 *     def getNCuts(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve total number of cuts in storage.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_339getNCuts, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNCuts, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[658])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNCuts, __pyx_t_11) < (0)) __PYX_ERR(2, 5730, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5741
 *         return SCIPgetNCuts(self._scip)
 * 
 *     def getNCutsApplied(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of currently applied cuts.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_341getNCutsApplied, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNCutsApplied, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[659])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNCutsApplied, __pyx_t_11) < (0)) __PYX_ERR(2, 5741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5752
 *         return SCIPgetNCutsApplied(self._scip)
 * 
 *     def getNSepaRounds(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the number of separation rounds that have been performed
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_343getNSepaRounds, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNSepaRounds, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[660])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5752, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNSepaRounds, __pyx_t_11) < (0)) __PYX_ERR(2, 5752, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5764
 *         return SCIPgetNSepaRounds(self._scip)
 * 
 *     def separateSol(self, Solution sol = None, pretendroot = False, allowlocal = True, onlydelayed = False):             # <<<<<<<<<<<<<<
 *         """
 *         Separates the given primal solution or the current LP solution by calling
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_345separateSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_separateSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[661])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[45]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_separateSol, __pyx_t_11) < (0)) __PYX_ERR(2, 5764, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5799
 *         return delayed, cutoff
 * 
 *     def _createConsLinear(self, ExprCons lincons, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         The function for creating a linear constraint, but not adding it to the Model.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_347_createConsLinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model__createConsLinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[662])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5799, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_createConsLinear, __pyx_t_11) < (0)) __PYX_ERR(2, 5799, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5846
 *         return PyCons
 * 
 *     def _createConsQuadratic(self, ExprCons quadcons, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         The function for creating a quadratic constraint, but not adding it to the Model.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_349_createConsQuadratic, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model__createConsQuadratic, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[663])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_createConsQuadratic, __pyx_t_11) < (0)) __PYX_ERR(2, 5846, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5901
 *         return PyCons
 * 
 *     def _createConsNonlinear(self, cons, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         The function for creating a non-linear constraint, but not adding it to the Model.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_351_createConsNonlinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model__createConsNonlinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[664])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_createConsNonlinear, __pyx_t_11) < (0)) __PYX_ERR(2, 5901, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":5970
 *         return PyCons
 * 
 *     def _createConsGenNonlinear(self, cons, **kwargs):             # <<<<<<<<<<<<<<
 *         """
 *         The function for creating a general non-linear constraint, but not adding it to the Model.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_353_createConsGenNonlinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model__createConsGenNonlinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[665])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 5970, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_createConsGenNonlinear, __pyx_t_11) < (0)) __PYX_ERR(2, 5970, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":6103
 *         return PyCons
 * 
 *     def createConsFromExpr(self, cons, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_355createConsFromExpr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_createConsFromExpr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[666])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[46]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_createConsFromExpr, __pyx_t_11) < (0)) __PYX_ERR(2, 6103, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":6172
 * 
 *     # Constraint functions
 *     def addCons(self, cons, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_357addCons, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addCons, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[667])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6172, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[46]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addCons, __pyx_t_11) < (0)) __PYX_ERR(2, 6172, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":6237
 *         return pycons
 * 
 *     def addConss(self, conss, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                  enforce=True, check=True, propagate=True, local=False,
 *                  modifiable=False, dynamic=False, removable=False,
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_359addConss, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConss, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[668])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[46]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConss, __pyx_t_11) < (0)) __PYX_ERR(2, 6237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":6329
 *         return constraints
 * 
 *     def addMatrixCons(self,             # <<<<<<<<<<<<<<
 *                       cons: Union[ExprCons, MatrixExprCons],
 *                       name: Union[str, np.ndarray] ='',
*/
  __pyx_t_11 = __Pyx_PyDict_NewPresized(12); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 6329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_cons, __pyx_mstate_global->__pyx_kp_u_Union_ExprCons_MatrixExprCons) < (0)) __PYX_ERR(2, 6329, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_name, __pyx_mstate_global->__pyx_kp_u_Union_str_np_ndarray) < (0)) __PYX_ERR(2, 6329, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_initial, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 6329, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_separate, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 6329, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_enforce, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 6329, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_check, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 6329, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_propagate, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 6329, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_local, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 6329, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_modifiable, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 6329, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_dynamic, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 6329, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_removable, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 6329, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_11, __pyx_mstate_global->__pyx_n_u_stickingatnode, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 6329, __pyx_L1_error)
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_361addMatrixCons, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addMatrixCons, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[669])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6329, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[46]);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_10, __pyx_t_11);
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addMatrixCons, __pyx_t_10) < (0)) __PYX_ERR(2, 6329, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6488
 *         return matrix_cons.view(MatrixConstraint)
 * 
 *     def addConsDisjunction(self, conss, name = '', initial = True,             # <<<<<<<<<<<<<<
 *         relaxcons = None, enforce=True, check =True,
 *         local=False, modifiable = False, dynamic = False):
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_363addConsDisjunction, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConsDisjunction, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[670])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[47]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConsDisjunction, __pyx_t_10) < (0)) __PYX_ERR(2, 6488, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6559
 *         return PyCons
 * 
 *     def addConsElemDisjunction(self, Constraint disj_cons, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Appends a constraint to a disjunction.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_365addConsElemDisjunction, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConsElemDisjunction, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[671])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6559, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConsElemDisjunction, __pyx_t_10) < (0)) __PYX_ERR(2, 6559, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6580
 *         return disj_cons
 * 
 *     def getConsNVars(self, Constraint constraint):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of variables in a constraint.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_367getConsNVars, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getConsNVars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[672])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6580, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getConsNVars, __pyx_t_10) < (0)) __PYX_ERR(2, 6580, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6611
 *         return nvars
 * 
 *     def getConsVars(self, Constraint constraint):             # <<<<<<<<<<<<<<
 *         """
 *         Gets variables in a constraint.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_369getConsVars, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getConsVars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[673])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6611, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getConsVars, __pyx_t_10) < (0)) __PYX_ERR(2, 6611, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6645
 *         return vars
 * 
 *     def getConsVals(self, Constraint constraint):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the value array of an arbitrary SCIP constraint that can be represented as a single linear constraint.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_371getConsVals, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getConsVals, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[674])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getConsVals, __pyx_t_10) < (0)) __PYX_ERR(2, 6645, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6676
 *         return vals
 * 
 *     def getNVarsAnd(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of variables in and constraint.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_373getNVarsAnd, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNVarsAnd, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[675])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6676, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNVarsAnd, __pyx_t_10) < (0)) __PYX_ERR(2, 6676, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6693
 *         return SCIPgetNVarsAnd(self._scip, and_cons.scip_cons)
 * 
 *     def getVarsAnd(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Gets variables in AND constraint.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_375getVarsAnd, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getVarsAnd, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[676])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getVarsAnd, __pyx_t_10) < (0)) __PYX_ERR(2, 6693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6724
 *         return vars
 * 
 *     def getResultantAnd(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the resultant variable in And constraint.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_377getResultantAnd, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getResultantAnd, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[677])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6724, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getResultantAnd, __pyx_t_10) < (0)) __PYX_ERR(2, 6724, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6743
 *         return self._getOrCreateVar(_resultant)
 * 
 *     def isAndConsSorted(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if the variables of the AND-constraint are sorted with respect to their indices.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_379isAndConsSorted, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isAndConsSorted, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[678])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isAndConsSorted, __pyx_t_10) < (0)) __PYX_ERR(2, 6743, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6760
 *         return SCIPisAndConsSorted(self._scip, and_cons.scip_cons)
 * 
 *     def sortAndCons(self, Constraint and_cons):             # <<<<<<<<<<<<<<
 *         """
 *         Sorts the variables of the AND-constraint with respect to their indices.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_381sortAndCons, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_sortAndCons, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[679])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6760, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_sortAndCons, __pyx_t_10) < (0)) __PYX_ERR(2, 6760, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6773
 *         PY_SCIP_CALL(SCIPsortAndCons(self._scip, and_cons.scip_cons))
 * 
 *     def printCons(self, Constraint constraint):             # <<<<<<<<<<<<<<
 *         """
 *         Print the constraint
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_383printCons, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_printCons, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[680])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_printCons, __pyx_t_10) < (0)) __PYX_ERR(2, 6773, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6784
 *         return PY_SCIP_CALL(SCIPprintCons(self._scip, constraint.scip_cons, NULL))
 * 
 *     def addExprNonlinear(self, Constraint cons, expr, coef):             # <<<<<<<<<<<<<<
 *         """
 *         Add coef*expr to nonlinear constraint.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_385addExprNonlinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addExprNonlinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[681])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6784, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addExprNonlinear, __pyx_t_10) < (0)) __PYX_ERR(2, 6784, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6807
 *         self.delCons(temp_cons)
 * 
 *     def addConsCoeff(self, Constraint cons, Variable var, coeff):             # <<<<<<<<<<<<<<
 *         """
 *         Add coefficient to the constraint (if non-zero).
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_387addConsCoeff, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConsCoeff, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[682])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6807, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConsCoeff, __pyx_t_10) < (0)) __PYX_ERR(2, 6807, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6830
 *             raise NotImplementedError("Adding coefficients to %s constraints is not implemented." % constype)
 * 
 *     def addConsNode(self, Node node, ExprCons cons, Node validnode=None, name='',             # <<<<<<<<<<<<<<
 *                     initial=True, separate=True, enforce=True, check=True,
 *                     propagate=True, local=True, dynamic=False, removable=True,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_389addConsNode, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConsNode, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[683])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[48]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConsNode, __pyx_t_10) < (0)) __PYX_ERR(2, 6830, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6894
 *         return pycons
 * 
 *     def addConsLocal(self, ExprCons cons, Node validnode=None, name='',             # <<<<<<<<<<<<<<
 *                      initial=True, separate=True, enforce=True, check=True,
 *                      propagate=True, local=True, dynamic=False, removable=True,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_391addConsLocal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConsLocal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[684])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6894, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[48]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConsLocal, __pyx_t_10) < (0)) __PYX_ERR(2, 6894, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":6956
 *         return pycons
 * 
 *     def addConsKnapsack(self, vars, weights, capacity, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 modifiable=False, propagate=True, local=False, dynamic=False,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_393addConsKnapsack, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConsKnapsack, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[685])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 6956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[49]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConsKnapsack, __pyx_t_10) < (0)) __PYX_ERR(2, 6956, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":7026
 *         return pyCons
 * 
 *     def addConsSOS1(self, vars, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_395addConsSOS1, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConsSOS1, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[686])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[50]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConsSOS1, __pyx_t_10) < (0)) __PYX_ERR(2, 7026, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":7091
 *         return self._getOrCreateCons(scip_cons)
 * 
 *     def addConsSOS2(self, vars, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_397addConsSOS2, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConsSOS2, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[687])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[50]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConsSOS2, __pyx_t_10) < (0)) __PYX_ERR(2, 7091, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":7156
 *         return self._getOrCreateCons(scip_cons)
 * 
 *     def addConsAnd(self, vars, resvar, name="",             # <<<<<<<<<<<<<<
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_399addConsAnd, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConsAnd, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[688])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[46]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConsAnd, __pyx_t_10) < (0)) __PYX_ERR(2, 7156, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":7220
 *         return pyCons
 * 
 *     def addConsOr(self, vars, resvar, name="",             # <<<<<<<<<<<<<<
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_401addConsOr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConsOr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[689])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[46]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConsOr, __pyx_t_10) < (0)) __PYX_ERR(2, 7220, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":7284
 *         return pyCons
 * 
 *     def addConsXor(self, vars, rhsvar, name="",             # <<<<<<<<<<<<<<
 *             initial=True, separate=True, enforce=True, check=True,
 *             propagate=True, local=False, modifiable=False, dynamic=False,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_403addConsXor, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConsXor, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[690])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[46]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConsXor, __pyx_t_10) < (0)) __PYX_ERR(2, 7284, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":7347
 *         return pyCons
 * 
 *     def addConsCardinality(self, consvars, cardval, indvars=None, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_405addConsCardinality, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConsCardinality, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[691])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[51]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConsCardinality, __pyx_t_10) < (0)) __PYX_ERR(2, 7347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":7433
 *         return pyCons
 * 
 *     def addConsIndicator(self, cons, binvar=None, activeone=True, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_407addConsIndicator, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addConsIndicator, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[692])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[52]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addConsIndicator, __pyx_t_10) < (0)) __PYX_ERR(2, 7433, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":7526
 *         return pyCons
 * 
 *     def addMatrixConsIndicator(self, cons: Union[ExprCons, MatrixExprCons], binvar: Union[Variable, MatrixVariable] = None,             # <<<<<<<<<<<<<<
 *                                activeone: Union[bool, np.ndarray] = True, name: Union[str, np.ndarray] = "",
 *                                initial: Union[bool, np.ndarray] = True, separate: Union[bool, np.ndarray] = True,
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(14); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 7526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_cons, __pyx_mstate_global->__pyx_kp_u_Union_ExprCons_MatrixExprCons) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_binvar, __pyx_mstate_global->__pyx_kp_u_Union_Variable_MatrixVariable) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_activeone, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_name, __pyx_mstate_global->__pyx_kp_u_Union_str_np_ndarray) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_initial, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_separate, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_enforce, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_check, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_propagate, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_local, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_dynamic, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_removable, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_stickingatnode, __pyx_mstate_global->__pyx_kp_u_Union_bool_np_ndarray) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_MatrixConstraint) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_409addMatrixConsIndicator, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addMatrixConsIndicator, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[693])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[52]);
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_11, __pyx_t_10);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addMatrixConsIndicator, __pyx_t_11) < (0)) __PYX_ERR(2, 7526, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7693
 *         return matrix_cons.view(MatrixConstraint)
 * 
 *     def getLinearConsIndicator(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Get the linear constraint corresponding to the indicator constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_411getLinearConsIndicator, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getLinearConsIndicator, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[694])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getLinearConsIndicator, __pyx_t_11) < (0)) __PYX_ERR(2, 7693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7712
 *         return self._getOrCreateCons(lincons)
 * 
 *     def getSlackVarIndicator(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Get slack variable of an indicator constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_413getSlackVarIndicator, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getSlackVarIndicator, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[695])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7712, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getSlackVarIndicator, __pyx_t_11) < (0)) __PYX_ERR(2, 7712, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7730
 *         return self._getOrCreateVar(var)
 * 
 *     def addPyCons(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Adds a customly created cons.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_415addPyCons, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addPyCons, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[696])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7730, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addPyCons, __pyx_t_11) < (0)) __PYX_ERR(2, 7730, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7743
 *         Py_INCREF(cons)
 * 
 *     def addVarSOS1(self, Constraint cons, Variable var, weight):             # <<<<<<<<<<<<<<
 *         """
 *         Add variable to SOS1 constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_417addVarSOS1, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addVarSOS1, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[697])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addVarSOS1, __pyx_t_11) < (0)) __PYX_ERR(2, 7743, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7759
 *         PY_SCIP_CALL(SCIPaddVarSOS1(self._scip, cons.scip_cons, var.scip_var, weight))
 * 
 *     def appendVarSOS1(self, Constraint cons, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Append variable to SOS1 constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_419appendVarSOS1, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_appendVarSOS1, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[698])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7759, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_appendVarSOS1, __pyx_t_11) < (0)) __PYX_ERR(2, 7759, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7773
 *         PY_SCIP_CALL(SCIPappendVarSOS1(self._scip, cons.scip_cons, var.scip_var))
 * 
 *     def addVarSOS2(self, Constraint cons, Variable var, weight):             # <<<<<<<<<<<<<<
 *         """
 *         Add variable to SOS2 constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_421addVarSOS2, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addVarSOS2, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[699])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7773, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addVarSOS2, __pyx_t_11) < (0)) __PYX_ERR(2, 7773, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7789
 *         PY_SCIP_CALL(SCIPaddVarSOS2(self._scip, cons.scip_cons, var.scip_var, weight))
 * 
 *     def appendVarSOS2(self, Constraint cons, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Append variable to SOS2 constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_423appendVarSOS2, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_appendVarSOS2, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[700])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7789, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_appendVarSOS2, __pyx_t_11) < (0)) __PYX_ERR(2, 7789, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7803
 *         PY_SCIP_CALL(SCIPappendVarSOS2(self._scip, cons.scip_cons, var.scip_var))
 * 
 *     def setInitial(self, Constraint cons, newInit):             # <<<<<<<<<<<<<<
 *         """
 *         Set "initial" flag of a constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_425setInitial, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setInitial, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[701])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7803, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setInitial, __pyx_t_11) < (0)) __PYX_ERR(2, 7803, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7815
 *         PY_SCIP_CALL(SCIPsetConsInitial(self._scip, cons.scip_cons, newInit))
 * 
 *     def setModifiable(self, Constraint cons, newMod):             # <<<<<<<<<<<<<<
 *         """
 *         Set "modifiable" flag of a constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_427setModifiable, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setModifiable, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[702])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7815, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setModifiable, __pyx_t_11) < (0)) __PYX_ERR(2, 7815, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7827
 *         PY_SCIP_CALL(SCIPsetConsModifiable(self._scip, cons.scip_cons, newMod))
 * 
 *     def setRemovable(self, Constraint cons, newRem):             # <<<<<<<<<<<<<<
 *         """
 *         Set "removable" flag of a constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_429setRemovable, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setRemovable, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[703])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7827, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setRemovable, __pyx_t_11) < (0)) __PYX_ERR(2, 7827, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7839
 *         PY_SCIP_CALL(SCIPsetConsRemovable(self._scip, cons.scip_cons, newRem))
 * 
 *     def setEnforced(self, Constraint cons, newEnf):             # <<<<<<<<<<<<<<
 *         """
 *         Set "enforced" flag of a constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_431setEnforced, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setEnforced, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[704])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7839, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setEnforced, __pyx_t_11) < (0)) __PYX_ERR(2, 7839, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7851
 *         PY_SCIP_CALL(SCIPsetConsEnforced(self._scip, cons.scip_cons, newEnf))
 * 
 *     def setCheck(self, Constraint cons, newCheck):             # <<<<<<<<<<<<<<
 *         """
 *         Set "check" flag of a constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_433setCheck, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setCheck, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[705])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7851, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setCheck, __pyx_t_11) < (0)) __PYX_ERR(2, 7851, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7863
 *         PY_SCIP_CALL(SCIPsetConsChecked(self._scip, cons.scip_cons, newCheck))
 * 
 *     def chgRhs(self, Constraint cons, rhs):             # <<<<<<<<<<<<<<
 *         """
 *         Change right-hand side value of a constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_435chgRhs, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgRhs, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[706])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7863, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgRhs, __pyx_t_11) < (0)) __PYX_ERR(2, 7863, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7887
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *     def chgCapacityKnapsack(self, Constraint cons, capacity):             # <<<<<<<<<<<<<<
 *         """
 *         Change capacity of a knapsack constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_437chgCapacityKnapsack, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgCapacityKnapsack, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[707])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgCapacityKnapsack, __pyx_t_11) < (0)) __PYX_ERR(2, 7887, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7907
 *         PY_SCIP_CALL(SCIPchgCapacityKnapsack(self._scip, cons.scip_cons, capacity))
 * 
 *     def chgLhs(self, Constraint cons, lhs):             # <<<<<<<<<<<<<<
 *         """
 *         Change left-hand side value of a constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_439chgLhs, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgLhs, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[708])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7907, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgLhs, __pyx_t_11) < (0)) __PYX_ERR(2, 7907, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7931
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *     def getRhs(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve right-hand side value of a constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_441getRhs, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getRhs, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[709])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getRhs, __pyx_t_11) < (0)) __PYX_ERR(2, 7931, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7957
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *     def getCapacityKnapsack(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve capacity of a knapsack constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_443getCapacityKnapsack, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getCapacityKnapsack, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[710])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7957, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getCapacityKnapsack, __pyx_t_11) < (0)) __PYX_ERR(2, 7957, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":7976
 *         return SCIPgetCapacityKnapsack(self._scip, cons.scip_cons)
 * 
 *     def getLhs(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve left-hand side value of a constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_445getLhs, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getLhs, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[711])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 7976, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getLhs, __pyx_t_11) < (0)) __PYX_ERR(2, 7976, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8002
 *             raise Warning("method cannot be called for constraints of type " + constype)
 * 
 *     def chgCoefLinear(self, Constraint cons, Variable var, value):             # <<<<<<<<<<<<<<
 *         """
 *         Changes coefficient of variable in linear constraint;
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_447chgCoefLinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgCoefLinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[712])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgCoefLinear, __pyx_t_11) < (0)) __PYX_ERR(2, 8002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8021
 *         PY_SCIP_CALL( SCIPchgCoefLinear(self._scip, cons.scip_cons, var.scip_var, value) )
 * 
 *     def delCoefLinear(self, Constraint cons, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Deletes variable from linear constraint
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_449delCoefLinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_delCoefLinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[713])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8021, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_delCoefLinear, __pyx_t_11) < (0)) __PYX_ERR(2, 8021, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8038
 *         PY_SCIP_CALL( SCIPdelCoefLinear(self._scip, cons.scip_cons, var.scip_var) )
 * 
 *     def addCoefLinear(self, Constraint cons, Variable var, value):             # <<<<<<<<<<<<<<
 *         """
 *         Adds coefficient to linear constraint (if it is not zero)
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_451addCoefLinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addCoefLinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[714])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8038, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addCoefLinear, __pyx_t_11) < (0)) __PYX_ERR(2, 8038, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8055
 *         PY_SCIP_CALL( SCIPaddCoefLinear(self._scip, cons.scip_cons, var.scip_var, value) )
 * 
 *     def addCoefKnapsack(self, Constraint cons, Variable var, weight):             # <<<<<<<<<<<<<<
 *         """
 *         Adds coefficient to knapsack constraint (if it is not zero)
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_453addCoefKnapsack, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addCoefKnapsack, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[715])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addCoefKnapsack, __pyx_t_11) < (0)) __PYX_ERR(2, 8055, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8072
 *         PY_SCIP_CALL( SCIPaddCoefKnapsack(self._scip, cons.scip_cons, var.scip_var, weight) )
 * 
 *     def getActivity(self, Constraint cons, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve activity of given constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_455getActivity, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getActivity, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[716])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8072, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getActivity, __pyx_t_11) < (0)) __PYX_ERR(2, 8072, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8108
 *         return activity
 * 
 *     def getSlack(self, Constraint cons, Solution sol = None, side = None):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve slack of given constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_457getSlack, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getSlack, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[717])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8108, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[28]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getSlack, __pyx_t_11) < (0)) __PYX_ERR(2, 8108, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8157
 *             return min(lhsslack, rhsslack)
 * 
 *     def getTransformedCons(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve transformed constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_459getTransformedCons, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getTransformedCons, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[718])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8157, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getTransformedCons, __pyx_t_11) < (0)) __PYX_ERR(2, 8157, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8174
 *         return self._getOrCreateCons(transcons)
 * 
 *     def isNLPConstructed(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether SCIP's internal NLP has been constructed.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_461isNLPConstructed, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isNLPConstructed, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[719])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isNLPConstructed, __pyx_t_11) < (0)) __PYX_ERR(2, 8174, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8185
 *         return SCIPisNLPConstructed(self._scip)
 * 
 *     def getNNlRows(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets current number of nonlinear rows in SCIP's internal NLP.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_463getNNlRows, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNNlRows, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[720])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNNlRows, __pyx_t_11) < (0)) __PYX_ERR(2, 8185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8196
 *         return SCIPgetNNLPNlRows(self._scip)
 * 
 *     def getNlRows(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns a list with the nonlinear rows in SCIP's internal NLP.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_465getNlRows, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNlRows, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[721])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8196, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNlRows, __pyx_t_11) < (0)) __PYX_ERR(2, 8196, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8210
 *         return [NLRow.create(nlrows[i]) for i in range(self.getNNlRows())]
 * 
 *     def getNlRowSolActivity(self, NLRow nlrow, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Gives the activity of a nonlinear row for a given primal solution.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_467getNlRowSolActivity, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNlRowSolActivity, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[722])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8210, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNlRowSolActivity, __pyx_t_11) < (0)) __PYX_ERR(2, 8210, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8232
 *         return activity
 * 
 *     def getNlRowSolFeasibility(self, NLRow nlrow, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Gives the feasibility of a nonlinear row for a given primal solution
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_469getNlRowSolFeasibility, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNlRowSolFeasibility, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[723])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8232, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNlRowSolFeasibility, __pyx_t_11) < (0)) __PYX_ERR(2, 8232, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8254
 *         return feasibility
 * 
 *     def getNlRowActivityBounds(self, NLRow nlrow):             # <<<<<<<<<<<<<<
 *         """
 *         Gives the minimal and maximal activity of a nonlinear row w.r.t. the variable's bounds.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_471getNlRowActivityBounds, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNlRowActivityBounds, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[724])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNlRowActivityBounds, __pyx_t_11) < (0)) __PYX_ERR(2, 8254, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8273
 *         return (minactivity, maxactivity)
 * 
 *     def printNlRow(self, NLRow nlrow):             # <<<<<<<<<<<<<<
 *         """
 *         Prints nonlinear row.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_473printNlRow, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_printNlRow, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[725])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8273, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_printNlRow, __pyx_t_11) < (0)) __PYX_ERR(2, 8273, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8284
 *         PY_SCIP_CALL( SCIPprintNlRow(self._scip, nlrow.scip_nlrow, NULL) )
 * 
 *     def checkQuadraticNonlinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if the given constraint is quadratic.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_475checkQuadraticNonlinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_checkQuadraticNonlinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[726])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8284, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_checkQuadraticNonlinear, __pyx_t_11) < (0)) __PYX_ERR(2, 8284, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8301
 *         return isquadratic
 * 
 *     def getTermsQuadratic(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve bilinear, quadratic, and linear terms of a quadratic constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_477getTermsQuadratic, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getTermsQuadratic, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[727])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8301, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getTermsQuadratic, __pyx_t_11) < (0)) __PYX_ERR(2, 8301, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8399
 *         return (bilinterms, quadterms, linterms)
 * 
 *     def setRelaxSolVal(self, Variable var, val):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the value of the given variable in the global relaxation solution.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_479setRelaxSolVal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setRelaxSolVal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[728])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8399, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setRelaxSolVal, __pyx_t_11) < (0)) __PYX_ERR(2, 8399, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8411
 *         PY_SCIP_CALL(SCIPsetRelaxSolVal(self._scip, NULL, var.scip_var, val))
 * 
 *     def enableDebugSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Enables the debug solution mechanism, which allows tracing back the invalidation of
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_481enableDebugSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_enableDebugSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[729])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8411, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_enableDebugSol, __pyx_t_11) < (0)) __PYX_ERR(2, 8411, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8421
 *         SCIPenableDebugSol(self._scip)
 * 
 *     def disableDebugSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Disables the debug solution mechanism.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_483disableDebugSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_disableDebugSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[730])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8421, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_disableDebugSol, __pyx_t_11) < (0)) __PYX_ERR(2, 8421, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8429
 *         SCIPdisableDebugSol(self._scip)
 * 
 *     def getConss(self, transformed=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve all constraints.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_485getConss, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getConss, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[731])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[30]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getConss, __pyx_t_11) < (0)) __PYX_ERR(2, 8429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8456
 *         return [self._getOrCreateCons(conss[i]) for i in range(nconss)]
 * 
 *     def getNConss(self, transformed=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve number of all constraints.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_487getNConss, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNConss, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[732])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[30]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNConss, __pyx_t_11) < (0)) __PYX_ERR(2, 8456, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8475
 *             return SCIPgetNOrigConss(self._scip)
 * 
 *     def delCons(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Delete constraint from the model
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_489delCons, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_delCons, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[733])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8475, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_delCons, __pyx_t_11) < (0)) __PYX_ERR(2, 8475, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8490
 *         cons.scip_cons = NULL
 * 
 *     def delConsLocal(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Delete constraint from the current node and its children.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_491delConsLocal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_delConsLocal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[734])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8490, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_delConsLocal, __pyx_t_11) < (0)) __PYX_ERR(2, 8490, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8502
 *         PY_SCIP_CALL(SCIPdelConsLocal(self._scip, cons.scip_cons))
 * 
 *     def getValsLinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the coefficients of a linear constraint
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_493getValsLinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getValsLinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[735])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8502, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getValsLinear, __pyx_t_11) < (0)) __PYX_ERR(2, 8502, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8533
 *         return valsdict
 * 
 *     def getWeightsKnapsack(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the coefficients of a knapsack constraint
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_495getWeightsKnapsack, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getWeightsKnapsack, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[736])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8533, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getWeightsKnapsack, __pyx_t_11) < (0)) __PYX_ERR(2, 8533, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8567
 *         return valsdict
 * 
 *     def getRowLinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the linear relaxation of the given linear constraint as a row.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_497getRowLinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getRowLinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[737])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getRowLinear, __pyx_t_11) < (0)) __PYX_ERR(2, 8567, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8589
 *         return Row.create(row)
 * 
 *     def getDualsolLinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the dual solution to a linear constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_499getDualsolLinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getDualsolLinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[738])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getDualsolLinear, __pyx_t_11) < (0)) __PYX_ERR(2, 8589, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8612
 *         return SCIPgetDualsolLinear(self._scip, transcons.scip_cons)
 * 
 *     def getDualsolKnapsack(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the dual solution to a knapsack constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_501getDualsolKnapsack, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getDualsolKnapsack, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[739])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getDualsolKnapsack, __pyx_t_11) < (0)) __PYX_ERR(2, 8612, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8635
 *         return SCIPgetDualsolKnapsack(self._scip, transcons.scip_cons)
 * 
 *     def getDualMultiplier(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         DEPRECATED: Retrieve the dual solution to a linear constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_503getDualMultiplier, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getDualMultiplier, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[740])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8635, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getDualMultiplier, __pyx_t_11) < (0)) __PYX_ERR(2, 8635, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8651
 *         raise Warning("model.getDualMultiplier(cons) is deprecated: please use model.getDualsolLinear(cons)")
 * 
 *     def getDualfarkasLinear(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the dual farkas value to a linear constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_505getDualfarkasLinear, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getDualfarkasLinear, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[741])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8651, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getDualfarkasLinear, __pyx_t_11) < (0)) __PYX_ERR(2, 8651, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8672
 *             return SCIPgetDualfarkasLinear(self._scip, cons.scip_cons)
 * 
 *     def getDualfarkasKnapsack(self, Constraint cons):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the dual farkas value to a knapsack constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_507getDualfarkasKnapsack, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getDualfarkasKnapsack, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[742])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8672, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getDualfarkasKnapsack, __pyx_t_11) < (0)) __PYX_ERR(2, 8672, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8693
 *             return SCIPgetDualfarkasKnapsack(self._scip, transcons.scip_cons)
 * 
 *     def getVarRedcost(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the reduced cost of a variable.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_509getVarRedcost, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getVarRedcost, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[743])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8693, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getVarRedcost, __pyx_t_11) < (0)) __PYX_ERR(2, 8693, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8716
 *         return redcost
 * 
 *     def getDualSolVal(self, Constraint cons, boundconstraint=False):             # <<<<<<<<<<<<<<
 *         """
 *         Returns dual solution value of a constraint.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_511getDualSolVal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getDualSolVal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[744])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8716, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getDualSolVal, __pyx_t_11) < (0)) __PYX_ERR(2, 8716, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8743
 *         return _dualsol
 * 
 *     def optimize(self):             # <<<<<<<<<<<<<<
 *         """Optimize the problem."""
 *         PY_SCIP_CALL(SCIPsolve(self._scip))
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_513optimize, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_optimize, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[745])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8743, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_optimize, __pyx_t_11) < (0)) __PYX_ERR(2, 8743, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8748
 *         self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
 * 
 *     def optimizeNogil(self):             # <<<<<<<<<<<<<<
 *         """Optimize the problem without GIL."""
 *         cdef SCIP_RETCODE rc;
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_515optimizeNogil, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_optimizeNogil, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[746])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8748, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_optimizeNogil, __pyx_t_11) < (0)) __PYX_ERR(2, 8748, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8756
 *         self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
 * 
 *     def solveConcurrent(self):             # <<<<<<<<<<<<<<
 *         """Transforms, presolves, and solves problem using additional solvers which emphasize on
 *         finding solutions.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_517solveConcurrent, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_solveConcurrent, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[747])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8756, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_solveConcurrent, __pyx_t_11) < (0)) __PYX_ERR(2, 8756, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8767
 *             self._bestSol = Solution.create(self._scip, SCIPgetBestSol(self._scip))
 * 
 *     def presolve(self):             # <<<<<<<<<<<<<<
 *         """Presolve the problem."""
 *         if self.getStage() not in [SCIP_STAGE_PROBLEM, SCIP_STAGE_TRANSFORMED,\
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_519presolve, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_presolve, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[748])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8767, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_presolve, __pyx_t_11) < (0)) __PYX_ERR(2, 8767, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8778
 * 
 *     # Benders' decomposition methods
 *     def initBendersDefault(self, subproblems):             # <<<<<<<<<<<<<<
 *         """
 *         Initialises the default Benders' decomposition with a dictionary of subproblems.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_521initBendersDefault, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_initBendersDefault, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[749])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8778, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_initBendersDefault, __pyx_t_11) < (0)) __PYX_ERR(2, 8778, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8835
 *         #self.setIntParam("limits/maxorigsol", 0)
 * 
 *     def computeBestSolSubproblems(self):             # <<<<<<<<<<<<<<
 *         """Solves the subproblems with the best solution to the master problem.
 *         Afterwards, the best solution from each subproblem can be queried to get
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_523computeBestSolSubproblems, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_computeBestSolSubproblems, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[750])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8835, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_computeBestSolSubproblems, __pyx_t_11) < (0)) __PYX_ERR(2, 8835, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8859
 *                     benders[i], self._bestSol.sol, j, &infeasible, solvecip, NULL))
 * 
 *     def freeBendersSubproblems(self):             # <<<<<<<<<<<<<<
 *         """Deprecated: This method is no longer needed.
 * 
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_525freeBendersSubproblems, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_freeBendersSubproblems, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[751])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8859, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_freeBendersSubproblems, __pyx_t_11) < (0)) __PYX_ERR(2, 8859, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8877
 *         )
 * 
 *     def updateBendersLowerbounds(self, lowerbounds, Benders benders=None):             # <<<<<<<<<<<<<<
 *         """
 *         Updates the subproblem lower bounds for benders using
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_527updateBendersLowerbounds, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_updateBendersLowerbounds, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[752])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8877, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_updateBendersLowerbounds, __pyx_t_11) < (0)) __PYX_ERR(2, 8877, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8901
 *             SCIPbendersUpdateSubproblemLowerbound(_benders, d, lowerbounds[d])
 * 
 *     def activateBenders(self, Benders benders, int nsubproblems):             # <<<<<<<<<<<<<<
 *         """
 *         Activates the Benders' decomposition plugin with the input name.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_529activateBenders, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_activateBenders, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[753])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8901, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_activateBenders, __pyx_t_11) < (0)) __PYX_ERR(2, 8901, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8915
 *         PY_SCIP_CALL(SCIPactivateBenders(self._scip, benders._benders, nsubproblems))
 * 
 *     def addBendersSubproblem(self, Benders benders, subproblem):             # <<<<<<<<<<<<<<
 *         """
 *         Adds a subproblem to the Benders' decomposition given by the input
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_531addBendersSubproblem, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addBendersSubproblem, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[754])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8915, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addBendersSubproblem, __pyx_t_11) < (0)) __PYX_ERR(2, 8915, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8930
 *         PY_SCIP_CALL(SCIPaddBendersSubproblem(self._scip, benders._benders, (<Model>subproblem)._scip))
 * 
 *     def setBendersSubproblemIsConvex(self, Benders benders, probnumber, isconvex = True):             # <<<<<<<<<<<<<<
 *         """
 *         Sets a flag indicating whether the subproblem is convex.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_533setBendersSubproblemIsConvex, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setBendersSubproblemIsConv, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[755])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8930, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[30]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setBendersSubproblemIsConvex, __pyx_t_11) < (0)) __PYX_ERR(2, 8930, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8946
 *         SCIPbendersSetSubproblemIsConvex(benders._benders, probnumber, isconvex)
 * 
 *     def setupBendersSubproblem(self, probnumber, Benders benders = None, Solution solution = None, checktype = PY_SCIP_BENDERSENFOTYPE.LP):             # <<<<<<<<<<<<<<
 *         """
 *         Sets up the Benders' subproblem given the master problem solution.
*/
  __pyx_t_11 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE), __pyx_mstate_global->__pyx_n_u_LP); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_mstate_global->__pyx_k__12 = __pyx_t_11;
  __Pyx_GIVEREF(__pyx_t_11);
  __pyx_t_11 = 0;
  __pyx_t_11 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_BENDERSENFOTYPE), __pyx_mstate_global->__pyx_n_u_LP); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_10 = PyTuple_Pack(3, Py_None, Py_None, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 8946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_535setupBendersSubproblem, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setupBendersSubproblem, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[756])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8946, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_t_10);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setupBendersSubproblem, __pyx_t_11) < (0)) __PYX_ERR(2, 8946, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":8980
 *         PY_SCIP_CALL(retcode)
 * 
 *     def solveBendersSubproblem(self, probnumber, solvecip, Benders benders = None, Solution solution = None):             # <<<<<<<<<<<<<<
 *         """
 *         Solves the Benders' decomposition subproblem. The convex relaxation will be solved unless
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_537solveBendersSubproblem, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_solveBendersSubproblem, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[757])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 8980, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[28]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_solveBendersSubproblem, __pyx_t_11) < (0)) __PYX_ERR(2, 8980, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":9025
 *         return infeasible, objective
 * 
 *     def getBendersSubproblem(self, probnumber, Benders benders = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns a Model object that wraps around the SCIP instance of the subproblem.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_539getBendersSubproblem, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getBendersSubproblem, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[758])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 9025, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getBendersSubproblem, __pyx_t_11) < (0)) __PYX_ERR(2, 9025, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":9055
 *         return Model.create(scip_subprob)
 * 
 *     def getBendersVar(self, Variable var, Benders benders = None, probnumber = -1):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the variable for the subproblem or master problem
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_541getBendersVar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getBendersVar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[759])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 9055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[53]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getBendersVar, __pyx_t_11) < (0)) __PYX_ERR(2, 9055, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":9091
 *         return self._getOrCreateVar(_mappedvar)
 * 
 *     def getBendersAuxiliaryVar(self, probnumber, Benders benders = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the auxiliary variable that is associated with the input problem number
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_543getBendersAuxiliaryVar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getBendersAuxiliaryVar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[760])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 9091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getBendersAuxiliaryVar, __pyx_t_11) < (0)) __PYX_ERR(2, 9091, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":9118
 *         return self._getOrCreateVar(_auxvar)
 * 
 *     def checkBendersSubproblemOptimality(self, Solution solution, probnumber, Benders benders = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the subproblem is optimal w.r.t the master problem auxiliary variables.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_545checkBendersSubproblemOptimality, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_checkBendersSubproblemOpti, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[761])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 9118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_checkBendersSubproblemOptimality, __pyx_t_11) < (0)) __PYX_ERR(2, 9118, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":9156
 *         return optimal
 * 
 *     def includeBendersDefaultCuts(self, Benders benders):             # <<<<<<<<<<<<<<
 *         """
 *         Includes the default Benders' decomposition cuts to the custom Benders' decomposition plugin.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_547includeBendersDefaultCuts, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeBendersDefaultCuts, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[762])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 9156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeBendersDefaultCuts, __pyx_t_11) < (0)) __PYX_ERR(2, 9156, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":9168
 *         PY_SCIP_CALL( SCIPincludeBendersDefaultCuts(self._scip, benders._benders) )
 * 
 *     def includeEventhdlr(self, Eventhdlr eventhdlr, name, desc):             # <<<<<<<<<<<<<<
 *         """
 *         Include an event handler.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_549includeEventhdlr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeEventhdlr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[763])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 9168, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeEventhdlr, __pyx_t_11) < (0)) __PYX_ERR(2, 9168, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":9198
 *         Py_INCREF(eventhdlr)
 * 
 *     def includePricer(self, Pricer pricer, name, desc, priority=1, delay=True):             # <<<<<<<<<<<<<<
 *         """
 *         Include a pricer.
*/
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_551includePricer, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includePricer, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[764])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 9198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_11, __pyx_mstate_global->__pyx_tuple[54]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includePricer, __pyx_t_11) < (0)) __PYX_ERR(2, 9198, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":9234
 *                         eagerfreq=100, maxprerounds=-1, delaysepa=False,
 *                         delayprop=False, needscons=True,
 *                         proptiming=PY_SCIP_PROPTIMING.BEFORELP,             # <<<<<<<<<<<<<<
 *                         presoltiming=PY_SCIP_PRESOLTIMING.MEDIUM):
 *         """
*/
  __pyx_t_11 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING), __pyx_mstate_global->__pyx_n_u_BEFORELP); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 9234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_mstate_global->__pyx_k__13 = __pyx_t_11;
  __Pyx_GIVEREF(__pyx_t_11);
  __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":9235
 *                         delayprop=False, needscons=True,
 *                         proptiming=PY_SCIP_PROPTIMING.BEFORELP,
 *                         presoltiming=PY_SCIP_PRESOLTIMING.MEDIUM):             # <<<<<<<<<<<<<<
 *         """
 *         Include a constraint handler.
*/
  __pyx_t_11 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING), __pyx_mstate_global->__pyx_n_u_MEDIUM); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 9235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_mstate_global->__pyx_k__14 = __pyx_t_11;
  __Pyx_GIVEREF(__pyx_t_11);
  __pyx_t_11 = 0;

  /* "src/pyscipopt/scip.pxi":9234
 *                         eagerfreq=100, maxprerounds=-1, delaysepa=False,
 *                         delayprop=False, needscons=True,
 *                         proptiming=PY_SCIP_PROPTIMING.BEFORELP,             # <<<<<<<<<<<<<<
 *                         presoltiming=PY_SCIP_PRESOLTIMING.MEDIUM):
 *         """
*/
  __pyx_t_11 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PROPTIMING), __pyx_mstate_global->__pyx_n_u_BEFORELP); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 9234, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);

  /* "src/pyscipopt/scip.pxi":9235
 *                         delayprop=False, needscons=True,
 *                         proptiming=PY_SCIP_PROPTIMING.BEFORELP,
 *                         presoltiming=PY_SCIP_PRESOLTIMING.MEDIUM):             # <<<<<<<<<<<<<<
 *         """
 *         Include a constraint handler.
*/
  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_PY_SCIP_PRESOLTIMING), __pyx_mstate_global->__pyx_n_u_MEDIUM); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9235, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);

  /* "src/pyscipopt/scip.pxi":9230
 *         pricer.scip_pricer = scip_pricer
 * 
 *     def includeConshdlr(self, Conshdlr conshdlr, name, desc, sepapriority=0,             # <<<<<<<<<<<<<<
 *                         enfopriority=0, chckpriority=0, sepafreq=-1, propfreq=-1,
 *                         eagerfreq=100, maxprerounds=-1, delaysepa=False,
*/
  __pyx_t_4 = PyTuple_Pack(12, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_neg_1, __pyx_mstate_global->__pyx_int_neg_1, __pyx_mstate_global->__pyx_int_100, __pyx_mstate_global->__pyx_int_neg_1, Py_False, Py_False, Py_True, __pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_553includeConshdlr, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeConshdlr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[765])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeConshdlr, __pyx_t_10) < (0)) __PYX_ERR(2, 9230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9290
 *         Py_INCREF(conshdlr)
 * 
 *     def deactivatePricer(self, Pricer pricer):             # <<<<<<<<<<<<<<
 *         """
 *         Deactivate the given pricer.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_555deactivatePricer, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_deactivatePricer, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[766])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9290, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_deactivatePricer, __pyx_t_10) < (0)) __PYX_ERR(2, 9290, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9302
 *         PY_SCIP_CALL(SCIPdeactivatePricer(self._scip, pricer.scip_pricer))
 * 
 *     def copyLargeNeighborhoodSearch(self, to_fix, fix_vals) -> Model:             # <<<<<<<<<<<<<<
 *         """
 *         Creates a configured copy of the transformed problem and applies provided fixings intended for LNS heuristics.
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_Model) < (0)) __PYX_ERR(2, 9302, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_557copyLargeNeighborhoodSearch, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_copyLargeNeighborhoodSearc, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[767])); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_10);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_copyLargeNeighborhoodSearch, __pyx_t_4) < (0)) __PYX_ERR(2, 9302, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":9348
 *         return sub_model
 * 
 *     def translateSubSol(self, Model sub_model, Solution sol, heur) -> Solution:             # <<<<<<<<<<<<<<
 *         """
 * 		Translates a solution of a model copy into a solution of the main model
*/
  __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_n_u_Solution) < (0)) __PYX_ERR(2, 9348, __pyx_L1_error)
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_559translateSubSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_translateSubSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[768])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9348, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_10, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_translateSubSol, __pyx_t_10) < (0)) __PYX_ERR(2, 9348, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9383
 *         return solution
 * 
 *     def createCons(self, Conshdlr conshdlr, name, initial=True, separate=True, enforce=True, check=True, propagate=True,             # <<<<<<<<<<<<<<
 *                    local=False, modifiable=False, dynamic=False, removable=False, stickingatnode=False):
 *         """
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_561createCons, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_createCons, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[769])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[55]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_createCons, __pyx_t_10) < (0)) __PYX_ERR(2, 9383, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9429
 *         return constraint
 * 
 *     def includePresol(self, Presol presol, name, desc, priority, maxrounds, timing=SCIP_PRESOLTIMING_FAST):             # <<<<<<<<<<<<<<
 *         """
 *         Include a presolver.
*/
  __pyx_t_10 = __Pyx_PyLong_From_SCIP_PRESOLTIMING(SCIP_PRESOLTIMING_FAST); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_mstate_global->__pyx_k__15 = __pyx_t_10;
  __Pyx_GIVEREF(__pyx_t_10);
  __pyx_t_10 = 0;
  __pyx_t_10 = __Pyx_PyLong_From_SCIP_PRESOLTIMING(SCIP_PRESOLTIMING_FAST); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = PyTuple_Pack(1, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_563includePresol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includePresol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[770])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9429, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includePresol, __pyx_t_10) < (0)) __PYX_ERR(2, 9429, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9456
 *         Py_INCREF(presol)
 * 
 *     def includeSepa(self, Sepa sepa, name, desc, priority=0, freq=10, maxbounddist=1.0, usessubscip=False, delay=False):             # <<<<<<<<<<<<<<
 *         """
 *         Include a separator
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_565includeSepa, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeSepa, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[771])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[56]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeSepa, __pyx_t_10) < (0)) __PYX_ERR(2, 9456, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9500
 *         Py_INCREF(sepa)
 * 
 *     def includeReader(self, Reader reader, name, desc, ext):             # <<<<<<<<<<<<<<
 *         """
 *         Include a reader.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_567includeReader, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeReader, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[772])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9500, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeReader, __pyx_t_10) < (0)) __PYX_ERR(2, 9500, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9526
 * 
 *     def includeProp(self, Prop prop, name, desc, presolpriority, presolmaxrounds,
 *                     proptiming, presoltiming=SCIP_PRESOLTIMING_FAST, priority=1, freq=1, delay=True):             # <<<<<<<<<<<<<<
 *         """
 *         Include a propagator.
*/
  __pyx_t_10 = __Pyx_PyLong_From_SCIP_PRESOLTIMING(SCIP_PRESOLTIMING_FAST); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_mstate_global->__pyx_k__16 = __pyx_t_10;
  __Pyx_GIVEREF(__pyx_t_10);
  __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9525
 *         Py_INCREF(reader)
 * 
 *     def includeProp(self, Prop prop, name, desc, presolpriority, presolmaxrounds,             # <<<<<<<<<<<<<<
 *                     proptiming, presoltiming=SCIP_PRESOLTIMING_FAST, priority=1, freq=1, delay=True):
 *         """
*/
  __pyx_t_10 = __Pyx_PyLong_From_SCIP_PRESOLTIMING(SCIP_PRESOLTIMING_FAST); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);

  /* "src/pyscipopt/scip.pxi":9526
 * 
 *     def includeProp(self, Prop prop, name, desc, presolpriority, presolmaxrounds,
 *                     proptiming, presoltiming=SCIP_PRESOLTIMING_FAST, priority=1, freq=1, delay=True):             # <<<<<<<<<<<<<<
 *         """
 *         Include a propagator.
*/
  __pyx_t_4 = PyTuple_Pack(4, __pyx_t_10, __pyx_mstate_global->__pyx_int_1, __pyx_mstate_global->__pyx_int_1, Py_True); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9525
 *         Py_INCREF(reader)
 * 
 *     def includeProp(self, Prop prop, name, desc, presolpriority, presolmaxrounds,             # <<<<<<<<<<<<<<
 *                     proptiming, presoltiming=SCIP_PRESOLTIMING_FAST, priority=1, freq=1, delay=True):
 *         """
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_569includeProp, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeProp, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[773])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9525, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeProp, __pyx_t_10) < (0)) __PYX_ERR(2, 9525, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9567
 * 
 *     def includeHeur(self, Heur heur, name, desc, dispchar, priority=10000, freq=1, freqofs=0,
 *                     maxdepth=-1, timingmask=SCIP_HEURTIMING_BEFORENODE, usessubscip=False):             # <<<<<<<<<<<<<<
 *         """
 *         Include a primal heuristic.
*/
  __pyx_t_10 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING_BEFORENODE); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_mstate_global->__pyx_k__17 = __pyx_t_10;
  __Pyx_GIVEREF(__pyx_t_10);
  __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9566
 *         Py_INCREF(prop)
 * 
 *     def includeHeur(self, Heur heur, name, desc, dispchar, priority=10000, freq=1, freqofs=0,             # <<<<<<<<<<<<<<
 *                     maxdepth=-1, timingmask=SCIP_HEURTIMING_BEFORENODE, usessubscip=False):
 *         """
*/
  __pyx_t_10 = __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING_BEFORENODE); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9567, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);

  /* "src/pyscipopt/scip.pxi":9567
 * 
 *     def includeHeur(self, Heur heur, name, desc, dispchar, priority=10000, freq=1, freqofs=0,
 *                     maxdepth=-1, timingmask=SCIP_HEURTIMING_BEFORENODE, usessubscip=False):             # <<<<<<<<<<<<<<
 *         """
 *         Include a primal heuristic.
*/
  __pyx_t_4 = PyTuple_Pack(6, __pyx_mstate_global->__pyx_int_10000, __pyx_mstate_global->__pyx_int_1, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_neg_1, __pyx_t_10, Py_False); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 9566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9566
 *         Py_INCREF(prop)
 * 
 *     def includeHeur(self, Heur heur, name, desc, dispchar, priority=10000, freq=1, freqofs=0,             # <<<<<<<<<<<<<<
 *                     maxdepth=-1, timingmask=SCIP_HEURTIMING_BEFORENODE, usessubscip=False):
 *         """
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_571includeHeur, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeHeur, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[774])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeHeur, __pyx_t_10) < (0)) __PYX_ERR(2, 9566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9612
 *         Py_INCREF(heur)
 * 
 *     def includeIISfinder(self, IISfinder iisfinder, name, desc, priority=10000, freq=1):             # <<<<<<<<<<<<<<
 *         """
 *         Include an IIS (Irreducible Infeasible Set) finder handler.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_573includeIISfinder, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeIISfinder, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[775])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[57]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeIISfinder, __pyx_t_10) < (0)) __PYX_ERR(2, 9612, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9645
 *         iisfinder.scip_iisfinder = scip_iisfinder
 * 
 *     def generateIIS(self):             # <<<<<<<<<<<<<<
 *         """
 *         Generates an Irreducible Infeasible Subsystem (IIS) from the current
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_575generateIIS, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_generateIIS, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[776])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9645, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_generateIIS, __pyx_t_10) < (0)) __PYX_ERR(2, 9645, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9662
 *         return IIS.create(_iis)
 * 
 *     def getIIS(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get the IIS object.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_577getIIS, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getIIS, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[777])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getIIS, __pyx_t_10) < (0)) __PYX_ERR(2, 9662, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9678
 *         return IIS.create(_iis)
 * 
 *     def includeRelax(self, Relax relax, name, desc, priority=10000, freq=1):             # <<<<<<<<<<<<<<
 *         """
 *         Include a relaxation handler.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_579includeRelax, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeRelax, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[778])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9678, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[57]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeRelax, __pyx_t_10) < (0)) __PYX_ERR(2, 9678, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9705
 *         Py_INCREF(relax)
 * 
 *     def includeCutsel(self, Cutsel cutsel, name, desc, priority):             # <<<<<<<<<<<<<<
 *         """
 *         Include a cut selector.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_581includeCutsel, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeCutsel, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[779])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9705, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeCutsel, __pyx_t_10) < (0)) __PYX_ERR(2, 9705, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9731
 *         Py_INCREF(cutsel)
 * 
 *     def includeBranchrule(self, Branchrule branchrule, name, desc, priority, maxdepth, maxbounddist):             # <<<<<<<<<<<<<<
 *         """
 *         Include a branching rule.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_583includeBranchrule, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeBranchrule, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[780])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9731, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeBranchrule, __pyx_t_10) < (0)) __PYX_ERR(2, 9731, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9763
 *         Py_INCREF(branchrule)
 * 
 *     def includeNodesel(self, Nodesel nodesel, name, desc, stdpriority, memsavepriority):             # <<<<<<<<<<<<<<
 *         """
 *         Include a node selector.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_585includeNodesel, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeNodesel, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[781])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9763, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeNodesel, __pyx_t_10) < (0)) __PYX_ERR(2, 9763, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9791
 *         Py_INCREF(nodesel)
 * 
 *     def includeBenders(self, Benders benders, name, desc, priority=1, cutlp=True, cutpseudo=True, cutrelax=True,             # <<<<<<<<<<<<<<
 *             shareaux=False):
 *         """
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_587includeBenders, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeBenders, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[782])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[58]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeBenders, __pyx_t_10) < (0)) __PYX_ERR(2, 9791, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9833
 *         Py_INCREF(benders)
 * 
 *     def includeBenderscut(self, Benders benders, Benderscut benderscut, name, desc, priority=1, islpcut=True):             # <<<<<<<<<<<<<<
 *         """
 *         Include a Benders' decomposition cutting method
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_589includeBenderscut, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_includeBenderscut, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[783])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[54]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_includeBenderscut, __pyx_t_10) < (0)) __PYX_ERR(2, 9833, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9873
 *         Py_INCREF(benderscut)
 * 
 *     def getLPBranchCands(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets branching candidates for LP solution branching (fractional variables) along with solution values,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_591getLPBranchCands, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getLPBranchCands, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[784])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9873, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getLPBranchCands, __pyx_t_10) < (0)) __PYX_ERR(2, 9873, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9912
 *                 [lpcandsfrac[i] for i in range(nlpcands)], nlpcands, npriolpcands, nfracimplvars)
 * 
 *     def getNLPBranchCands(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of branching candidates for LP solution branching (number of fractional variables)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_593getNLPBranchCands, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNLPBranchCands, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[785])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNLPBranchCands, __pyx_t_10) < (0)) __PYX_ERR(2, 9912, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9924
 *         return SCIPgetNLPBranchCands(self._scip)
 * 
 *     def getPseudoBranchCands(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets branching candidates for pseudo solution branching (non-fixed variables)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_595getPseudoBranchCands, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getPseudoBranchCands, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[786])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9924, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getPseudoBranchCands, __pyx_t_10) < (0)) __PYX_ERR(2, 9924, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9948
 *         return ([self._getOrCreateVar(pseudocands[i]) for i in range(npseudocands)], npseudocands, npriopseudocands)
 * 
 *     def branchVar(self, Variable variable):             # <<<<<<<<<<<<<<
 *         """
 *         Branch on a non-continuous variable.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_597branchVar, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_branchVar, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[787])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_branchVar, __pyx_t_10) < (0)) __PYX_ERR(2, 9948, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":9975
 *         return Node.create(downchild), Node.create(eqchild), Node.create(upchild)
 * 
 *     def branchVarVal(self, Variable variable, value):             # <<<<<<<<<<<<<<
 *         """
 *         Branches on variable using a value which separates the domain of the variable.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_599branchVarVal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_branchVarVal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[788])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 9975, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_branchVarVal, __pyx_t_10) < (0)) __PYX_ERR(2, 9975, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10005
 *         return Node.create(downchild), Node.create(eqchild), Node.create(upchild)
 * 
 *     def calcNodeselPriority(self, Variable variable, branchdir, targetvalue):             # <<<<<<<<<<<<<<
 *         """
 *         Calculates the node selection priority for moving the given variable's LP value
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_601calcNodeselPriority, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_calcNodeselPriority, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[789])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10005, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_calcNodeselPriority, __pyx_t_10) < (0)) __PYX_ERR(2, 10005, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10028
 *         return SCIPcalcNodeselPriority(self._scip, variable.scip_var, branchdir, targetvalue)
 * 
 *     def calcChildEstimate(self, Variable variable, targetvalue):             # <<<<<<<<<<<<<<
 *         """
 *         Calculates an estimate for the objective of the best feasible solution
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_603calcChildEstimate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_calcChildEstimate, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[790])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10028, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_calcChildEstimate, __pyx_t_10) < (0)) __PYX_ERR(2, 10028, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10049
 *         return SCIPcalcChildEstimate(self._scip, variable.scip_var, targetvalue)
 * 
 *     def createChild(self, nodeselprio, estimate):             # <<<<<<<<<<<<<<
 *         """
 *         Create a child node of the focus node.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_605createChild, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_createChild, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[791])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10049, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_createChild, __pyx_t_10) < (0)) __PYX_ERR(2, 10049, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10071
 * 
 *     # Diving methods (Diving is LP related)
 *     def startDive(self):             # <<<<<<<<<<<<<<
 *         """Initiates LP diving.
 *         It allows the user to change the LP in several ways, solve, change again, etc,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_607startDive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_startDive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[792])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10071, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_startDive, __pyx_t_10) < (0)) __PYX_ERR(2, 10071, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10078
 *         PY_SCIP_CALL(SCIPstartDive(self._scip))
 * 
 *     def endDive(self):             # <<<<<<<<<<<<<<
 *         """Quits probing and resets bounds and constraints to the focus node's environment."""
 *         PY_SCIP_CALL(SCIPendDive(self._scip))
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_609endDive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_endDive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[793])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10078, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_endDive, __pyx_t_10) < (0)) __PYX_ERR(2, 10078, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10082
 *         PY_SCIP_CALL(SCIPendDive(self._scip))
 * 
 *     def chgVarObjDive(self, Variable var, newobj):             # <<<<<<<<<<<<<<
 *         """
 *         Changes (column) variable's objective value in current dive.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_611chgVarObjDive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarObjDive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[794])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10082, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarObjDive, __pyx_t_10) < (0)) __PYX_ERR(2, 10082, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10094
 *         PY_SCIP_CALL(SCIPchgVarObjDive(self._scip, var.scip_var, newobj))
 * 
 *     def chgVarLbDive(self, Variable var, newbound):             # <<<<<<<<<<<<<<
 *         """
 *         Changes variable's current lb in current dive.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_613chgVarLbDive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarLbDive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[795])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10094, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarLbDive, __pyx_t_10) < (0)) __PYX_ERR(2, 10094, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10106
 *         PY_SCIP_CALL(SCIPchgVarLbDive(self._scip, var.scip_var, newbound))
 * 
 *     def chgVarUbDive(self, Variable var, newbound):             # <<<<<<<<<<<<<<
 *         """
 *         Changes variable's current ub in current dive.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_615chgVarUbDive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarUbDive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[796])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10106, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarUbDive, __pyx_t_10) < (0)) __PYX_ERR(2, 10106, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10118
 *         PY_SCIP_CALL(SCIPchgVarUbDive(self._scip, var.scip_var, newbound))
 * 
 *     def getVarLbDive(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Returns variable's current lb in current dive.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_617getVarLbDive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getVarLbDive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[797])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getVarLbDive, __pyx_t_10) < (0)) __PYX_ERR(2, 10118, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10133
 *         return SCIPgetVarLbDive(self._scip, var.scip_var)
 * 
 *     def getVarUbDive(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Returns variable's current ub in current dive.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_619getVarUbDive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getVarUbDive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[798])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getVarUbDive, __pyx_t_10) < (0)) __PYX_ERR(2, 10133, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10148
 *         return SCIPgetVarUbDive(self._scip, var.scip_var)
 * 
 *     def chgRowLhsDive(self, Row row, newlhs):             # <<<<<<<<<<<<<<
 *         """
 *         Changes row lhs in current dive, change will be undone after diving
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_621chgRowLhsDive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgRowLhsDive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[799])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgRowLhsDive, __pyx_t_10) < (0)) __PYX_ERR(2, 10148, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10161
 *         PY_SCIP_CALL(SCIPchgRowLhsDive(self._scip, row.scip_row, newlhs))
 * 
 *     def chgRowRhsDive(self, Row row, newrhs):             # <<<<<<<<<<<<<<
 *         """
 *         Changes row rhs in current dive, change will be undone after diving
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_623chgRowRhsDive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgRowRhsDive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[800])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10161, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgRowRhsDive, __pyx_t_10) < (0)) __PYX_ERR(2, 10161, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10174
 *         PY_SCIP_CALL(SCIPchgRowRhsDive(self._scip, row.scip_row, newrhs))
 * 
 *     def addRowDive(self, Row row):             # <<<<<<<<<<<<<<
 *         """
 *         Adds a row to the LP in current dive.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_625addRowDive, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addRowDive, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[801])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addRowDive, __pyx_t_10) < (0)) __PYX_ERR(2, 10174, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10185
 *         PY_SCIP_CALL(SCIPaddRowDive(self._scip, row.scip_row))
 * 
 *     def solveDiveLP(self, itlim = -1):             # <<<<<<<<<<<<<<
 *         """
 *         Solves the LP of the current dive. No separation or pricing is applied.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_627solveDiveLP, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_solveDiveLP, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[802])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10185, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[0]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_solveDiveLP, __pyx_t_10) < (0)) __PYX_ERR(2, 10185, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10208
 *         return lperror, cutoff
 * 
 *     def inRepropagation(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns if the current node is already solved and only propagated again.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_629inRepropagation, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_inRepropagation, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[803])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10208, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_inRepropagation, __pyx_t_10) < (0)) __PYX_ERR(2, 10208, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10220
 * 
 *     # Probing methods (Probing is tree based)
 *     def startProbing(self):             # <<<<<<<<<<<<<<
 *         """Initiates probing, making methods SCIPnewProbingNode(), SCIPbacktrackProbing(), SCIPchgVarLbProbing(),
 *            SCIPchgVarUbProbing(), SCIPfixVarProbing(), SCIPpropagateProbing(), SCIPsolveProbingLP(), etc available.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_631startProbing, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_startProbing, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[804])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_startProbing, __pyx_t_10) < (0)) __PYX_ERR(2, 10220, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10226
 *         PY_SCIP_CALL( SCIPstartProbing(self._scip) )
 * 
 *     def endProbing(self):             # <<<<<<<<<<<<<<
 *         """Quits probing and resets bounds and constraints to the focus node's environment."""
 *         PY_SCIP_CALL( SCIPendProbing(self._scip) )
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_633endProbing, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_endProbing, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[805])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10226, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_endProbing, __pyx_t_10) < (0)) __PYX_ERR(2, 10226, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10230
 *         PY_SCIP_CALL( SCIPendProbing(self._scip) )
 * 
 *     def newProbingNode(self):             # <<<<<<<<<<<<<<
 *         """Creates a new probing sub node, whose changes can be undone by backtracking to a higher node in the
 *         probing path with a call to backtrackProbing().
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_635newProbingNode, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_newProbingNode, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[806])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10230, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_newProbingNode, __pyx_t_10) < (0)) __PYX_ERR(2, 10230, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10236
 *         PY_SCIP_CALL( SCIPnewProbingNode(self._scip) )
 * 
 *     def backtrackProbing(self, probingdepth):             # <<<<<<<<<<<<<<
 *         """
 *         Undoes all changes to the problem applied in probing up to the given probing depth.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_637backtrackProbing, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_backtrackProbing, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[807])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10236, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_backtrackProbing, __pyx_t_10) < (0)) __PYX_ERR(2, 10236, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10248
 *         PY_SCIP_CALL( SCIPbacktrackProbing(self._scip, probingdepth) )
 * 
 *     def getProbingDepth(self):             # <<<<<<<<<<<<<<
 *         """Returns the current probing depth."""
 *         return SCIPgetProbingDepth(self._scip)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_639getProbingDepth, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getProbingDepth, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[808])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10248, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getProbingDepth, __pyx_t_10) < (0)) __PYX_ERR(2, 10248, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10252
 *         return SCIPgetProbingDepth(self._scip)
 * 
 *     def chgVarObjProbing(self, Variable var, newobj):             # <<<<<<<<<<<<<<
 *         """Changes (column) variable's objective value during probing mode."""
 *         PY_SCIP_CALL( SCIPchgVarObjProbing(self._scip, var.scip_var, newobj) )
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_641chgVarObjProbing, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarObjProbing, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[809])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10252, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarObjProbing, __pyx_t_10) < (0)) __PYX_ERR(2, 10252, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10256
 *         PY_SCIP_CALL( SCIPchgVarObjProbing(self._scip, var.scip_var, newobj) )
 * 
 *     def chgVarLbProbing(self, Variable var, lb):             # <<<<<<<<<<<<<<
 *         """
 *         Changes the variable lower bound during probing mode.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_643chgVarLbProbing, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarLbProbing, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[810])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10256, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarLbProbing, __pyx_t_10) < (0)) __PYX_ERR(2, 10256, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10272
 *         PY_SCIP_CALL(SCIPchgVarLbProbing(self._scip, var.scip_var, lb))
 * 
 *     def chgVarUbProbing(self, Variable var, ub):             # <<<<<<<<<<<<<<
 *         """
 *         Changes the variable upper bound during probing mode.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_645chgVarUbProbing, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarUbProbing, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[811])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10272, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarUbProbing, __pyx_t_10) < (0)) __PYX_ERR(2, 10272, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10288
 *         PY_SCIP_CALL(SCIPchgVarUbProbing(self._scip, var.scip_var, ub))
 * 
 *     def fixVarProbing(self, Variable var, fixedval):             # <<<<<<<<<<<<<<
 *         """
 *         Fixes a variable at the current probing node.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_647fixVarProbing, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_fixVarProbing, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[812])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10288, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_fixVarProbing, __pyx_t_10) < (0)) __PYX_ERR(2, 10288, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10300
 *         PY_SCIP_CALL( SCIPfixVarProbing(self._scip, var.scip_var, fixedval) )
 * 
 *     def isObjChangedProbing(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether the objective function has changed during probing mode.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_649isObjChangedProbing, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isObjChangedProbing, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[813])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10300, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isObjChangedProbing, __pyx_t_10) < (0)) __PYX_ERR(2, 10300, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10311
 *         return SCIPisObjChangedProbing(self._scip)
 * 
 *     def inProbing(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether we are in probing mode;
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_651inProbing, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_inProbing, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[814])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10311, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_inProbing, __pyx_t_10) < (0)) __PYX_ERR(2, 10311, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10323
 *         return SCIPinProbing(self._scip)
 * 
 *     def solveProbingLP(self, itlim = -1):             # <<<<<<<<<<<<<<
 *         """
 *         Solves the LP at the current probing node (cannot be applied at preprocessing stage)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_653solveProbingLP, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_solveProbingLP, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[815])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10323, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[0]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_solveProbingLP, __pyx_t_10) < (0)) __PYX_ERR(2, 10323, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10347
 *         return lperror, cutoff
 * 
 *     def applyCutsProbing(self):             # <<<<<<<<<<<<<<
 *         """
 *         Applies the cuts in the separation storage to the LP and clears the storage afterwards;
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_655applyCutsProbing, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_applyCutsProbing, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[816])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_applyCutsProbing, __pyx_t_10) < (0)) __PYX_ERR(2, 10347, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10365
 *         return cutoff
 * 
 *     def propagateProbing(self, maxproprounds):             # <<<<<<<<<<<<<<
 *         """
 *         Applies domain propagation on the probing sub problem, that was changed after SCIPstartProbing() was called;
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_657propagateProbing, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_propagateProbing, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[817])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10365, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_propagateProbing, __pyx_t_10) < (0)) __PYX_ERR(2, 10365, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10391
 *         return cutoff, ndomredsfound
 * 
 *     def interruptSolve(self):             # <<<<<<<<<<<<<<
 *         """Interrupt the solving process as soon as possible."""
 *         PY_SCIP_CALL(SCIPinterruptSolve(self._scip))
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_659interruptSolve, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_interruptSolve, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[818])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10391, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_interruptSolve, __pyx_t_10) < (0)) __PYX_ERR(2, 10391, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10395
 *         PY_SCIP_CALL(SCIPinterruptSolve(self._scip))
 * 
 *     def restartSolve(self):             # <<<<<<<<<<<<<<
 *         """Restarts the solving process as soon as possible."""
 *         PY_SCIP_CALL(SCIPrestartSolve(self._scip))
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_661restartSolve, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_restartSolve, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[819])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_restartSolve, __pyx_t_10) < (0)) __PYX_ERR(2, 10395, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10401
 *     # Solution functions
 * 
 *     def writeLP(self, filename="LP.lp"):             # <<<<<<<<<<<<<<
 *         """
 *         Writes current LP to a file.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_663writeLP, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_writeLP, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[820])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[59]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_writeLP, __pyx_t_10) < (0)) __PYX_ERR(2, 10401, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10419
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeMIP(self, filename, genericnames=False, origobj=False, lazyconss=False):             # <<<<<<<<<<<<<<
 *         """
 *         Writes MIP relaxation of the current branch-and-bound node to a file
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_665writeMIP, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_writeMIP, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[821])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[60]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_writeMIP, __pyx_t_10) < (0)) __PYX_ERR(2, 10419, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10442
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def createSol(self, Heur heur = None, initlp=False):             # <<<<<<<<<<<<<<
 *         """
 *         Create a new primal solution in the transformed space.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_667createSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_createSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[822])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[61]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_createSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10442, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10473
 *         return solution
 * 
 *     def createPartialSol(self, Heur heur = None):             # <<<<<<<<<<<<<<
 *         """
 *         Create a partial primal solution, initialized to unknown values.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_669createPartialSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_createPartialSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[823])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_createPartialSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10473, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10499
 *         return partialsolution
 * 
 *     def createOrigSol(self, Heur heur = None):             # <<<<<<<<<<<<<<
 *         """
 *         Create a new primal solution in the original space.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_671createOrigSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_createOrigSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[824])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10499, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_createOrigSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10499, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10526
 *         return solution
 * 
 *     def printBestSol(self, write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Prints the best feasible primal solution.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_673printBestSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_printBestSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[825])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10526, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[35]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_printBestSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10526, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10543
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def printSol(self, Solution solution=None, write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Print the given primal solution.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_675printSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_printSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[826])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10543, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[61]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_printSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10543, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10566
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeBestSol(self, filename="origprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the best feasible primal solution to a file.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_677writeBestSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_writeBestSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[827])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[62]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_writeBestSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10566, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10590
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeBestTransSol(self, filename="transprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the best feasible primal solution for the transformed problem to a file.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_679writeBestTransSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_writeBestTransSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[828])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[63]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_writeBestTransSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10590, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10613
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeSol(self, Solution solution, filename="origprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the given primal solution to a file.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_681writeSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_writeSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[829])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[62]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_writeSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10638
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeTransSol(self, Solution solution, filename="transprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the given transformed primal solution to a file.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_683writeTransSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_writeTransSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[830])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10638, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[63]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_writeTransSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10638, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10665
 *     # perhaps this should not be included as it implements duplicated functionality
 *     #   (as does it's namesake in SCIP)
 *     def readSol(self, filename):             # <<<<<<<<<<<<<<
 *         """
 *         Reads a given solution file, problem has to be transformed in advance.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_685readSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_readSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[831])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10665, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_readSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10665, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10683
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)
 * 
 *     def readSolFile(self, filename):             # <<<<<<<<<<<<<<
 *         """
 *         Reads a given solution file.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_687readSolFile, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_readSolFile, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[832])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10683, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_readSolFile, __pyx_t_10) < (0)) __PYX_ERR(2, 10683, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10721
 *         return solution
 * 
 *     def setSolVal(self, Solution solution, Variable var, val):             # <<<<<<<<<<<<<<
 *         """
 *         Set a variable in a solution.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_689setSolVal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setSolVal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[833])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10721, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setSolVal, __pyx_t_10) < (0)) __PYX_ERR(2, 10721, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10741
 *         PY_SCIP_CALL(SCIPsetSolVal(self._scip, _sol, var.scip_var, val))
 * 
 *     def trySol(self, Solution solution, printreason=True, completely=False, checkbounds=True, checkintegrality=True, checklprows=True, free=True):             # <<<<<<<<<<<<<<
 *         """
 *         Check given primal solution for feasibility and try to add it to the storage.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_691trySol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_trySol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[834])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[64]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_trySol, __pyx_t_10) < (0)) __PYX_ERR(2, 10741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10775
 *         return stored
 * 
 *     def checkSol(self, Solution solution, printreason=True, completely=False, checkbounds=True, checkintegrality=True, checklprows=True, original=False):             # <<<<<<<<<<<<<<
 *         """
 *         Check given primal solution for feasibility without adding it to the storage.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_693checkSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_checkSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[835])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[65]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_checkSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10775, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10809
 *         return feasible
 * 
 *     def addSol(self, Solution solution, free=True):             # <<<<<<<<<<<<<<
 *         """
 *         Try to add a solution to the storage.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_695addSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[836])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10809, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[30]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10809, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10833
 *         return stored
 * 
 *     def freeSol(self, Solution solution):             # <<<<<<<<<<<<<<
 *         """
 *         Free given solution
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_697freeSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_freeSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[837])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10833, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_freeSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10833, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10845
 *         PY_SCIP_CALL(SCIPfreeSol(self._scip, &solution.sol))
 * 
 *     def getNSols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of feasible primal solutions stored in the solution storage in case the problem is transformed;
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_699getNSols, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNSols, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[838])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10845, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNSols, __pyx_t_10) < (0)) __PYX_ERR(2, 10845, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10858
 *         return SCIPgetNSols(self._scip)
 * 
 *     def getNSolsFound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of feasible primal solutions found so far.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_701getNSolsFound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNSolsFound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[839])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNSolsFound, __pyx_t_10) < (0)) __PYX_ERR(2, 10858, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10869
 *         return SCIPgetNSolsFound(self._scip)
 * 
 *     def getNLimSolsFound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of feasible primal solutions respecting the objective limit found so far.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_703getNLimSolsFound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNLimSolsFound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[840])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10869, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNLimSolsFound, __pyx_t_10) < (0)) __PYX_ERR(2, 10869, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10880
 *         return SCIPgetNLimSolsFound(self._scip)
 * 
 *     def getNBestSolsFound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets number of feasible primal solutions found so far,
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_705getNBestSolsFound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNBestSolsFound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[841])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10880, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNBestSolsFound, __pyx_t_10) < (0)) __PYX_ERR(2, 10880, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10892
 *         return SCIPgetNBestSolsFound(self._scip)
 * 
 *     def getSols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve list of all feasible primal solutions stored in the solution storage.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_707getSols, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getSols, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[842])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10892, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getSols, __pyx_t_10) < (0)) __PYX_ERR(2, 10892, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10912
 *         return sols
 * 
 *     def getBestSol(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve currently best known feasible primal solution.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_709getBestSol, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getBestSol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[843])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10912, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getBestSol, __pyx_t_10) < (0)) __PYX_ERR(2, 10912, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10927
 *         return self._bestSol
 * 
 *     def getSolObjVal(self, Solution sol, original=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the objective value of the solution.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_711getSolObjVal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getSolObjVal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[844])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[30]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getSolObjVal, __pyx_t_10) < (0)) __PYX_ERR(2, 10927, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10954
 *         return objval
 * 
 *     def getSolTime(self, Solution sol):             # <<<<<<<<<<<<<<
 *         """
 *         Get clock time when this solution was found.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_713getSolTime, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getSolTime, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[845])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10954, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getSolTime, __pyx_t_10) < (0)) __PYX_ERR(2, 10954, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":10971
 *         return SCIPgetSolTime(self._scip, sol.sol)
 * 
 *     def getObjVal(self, original=True):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the objective value of the best solution.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_715getObjVal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getObjVal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[846])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 10971, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[30]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getObjVal, __pyx_t_10) < (0)) __PYX_ERR(2, 10971, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11002
 *         return self.getSolObjVal(self._bestSol, original)
 * 
 *     def getSolVal(             # <<<<<<<<<<<<<<
 *         self,
 *         Solution sol,
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_expr, __pyx_mstate_global->__pyx_kp_u_Union_Expr_GenExpr_MatrixExpr) < (0)) __PYX_ERR(2, 11002, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_kp_u_Union_float_np_ndarray) < (0)) __PYX_ERR(2, 11002, __pyx_L1_error)
  __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_717getSolVal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getSolVal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[847])); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11002, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_10);
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getSolVal, __pyx_t_4) < (0)) __PYX_ERR(2, 11002, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":11031
 *         return (sol or Solution.create(self._scip, NULL))[expr]
 * 
 *     def getVal(self, expr: Union[Expr, GenExpr, MatrixExpr]) -> Union[float, np.ndarray]:             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the value of the given variable or expression in the best known solution.
*/
  __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 11031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_expr, __pyx_mstate_global->__pyx_kp_u_Union_Expr_GenExpr_MatrixExpr) < (0)) __PYX_ERR(2, 11031, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_return, __pyx_mstate_global->__pyx_kp_u_Union_float_np_ndarray) < (0)) __PYX_ERR(2, 11031, __pyx_L1_error)
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_719getVal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getVal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[848])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11031, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_10, __pyx_t_4);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getVal, __pyx_t_10) < (0)) __PYX_ERR(2, 11031, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11063
 *         return self._bestSol[expr]
 * 
 *     def hasPrimalRay(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether a primal ray is stored that proves unboundedness of the LP relaxation.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_721hasPrimalRay, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_hasPrimalRay, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[849])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11063, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_hasPrimalRay, __pyx_t_10) < (0)) __PYX_ERR(2, 11063, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11074
 *         return SCIPhasPrimalRay(self._scip)
 * 
 *     def getPrimalRayVal(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Gets value of given variable in primal ray causing unboundedness of the LP relaxation.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_723getPrimalRayVal, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getPrimalRayVal, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[850])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11074, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getPrimalRayVal, __pyx_t_10) < (0)) __PYX_ERR(2, 11074, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11091
 *         return SCIPgetPrimalRayVal(self._scip, var.scip_var)
 * 
 *     def getPrimalRay(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets primal ray causing unboundedness of the LP relaxation.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_725getPrimalRay, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getPrimalRay, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[851])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11091, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getPrimalRay, __pyx_t_10) < (0)) __PYX_ERR(2, 11091, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11111
 *         return ray
 * 
 *     def getPrimalbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the best primal bound.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_727getPrimalbound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getPrimalbound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[852])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11111, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getPrimalbound, __pyx_t_10) < (0)) __PYX_ERR(2, 11111, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11122
 *         return SCIPgetPrimalbound(self._scip)
 * 
 *     def getDualbound(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the best dual bound.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_729getDualbound, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getDualbound, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[853])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11122, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getDualbound, __pyx_t_10) < (0)) __PYX_ERR(2, 11122, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11133
 *         return SCIPgetDualbound(self._scip)
 * 
 *     def getDualboundRoot(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve the best root dual bound.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_731getDualboundRoot, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getDualboundRoot, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[854])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11133, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getDualboundRoot, __pyx_t_10) < (0)) __PYX_ERR(2, 11133, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11144
 *         return SCIPgetDualboundRoot(self._scip)
 * 
 *     def writeName(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Write the name of the variable to the std out.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_733writeName, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_writeName, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[855])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11144, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_writeName, __pyx_t_10) < (0)) __PYX_ERR(2, 11144, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11160
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def getStage(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve current SCIP stage.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_735getStage, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getStage, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[856])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11160, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getStage, __pyx_t_10) < (0)) __PYX_ERR(2, 11160, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11171
 *         return SCIPgetStage(self._scip)
 * 
 *     def getStageName(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns name of current stage as string.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_737getStageName, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getStageName, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[857])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11171, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getStageName, __pyx_t_10) < (0)) __PYX_ERR(2, 11171, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11184
 *         return StageNames[self.getStage()]
 * 
 *     def _getStageNames(self):             # <<<<<<<<<<<<<<
 *         """Gets names of stages."""
 *         for name in dir(PY_SCIP_STAGE):
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_739_getStageNames, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model__getStageNames, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[858])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11184, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getStageNames, __pyx_t_10) < (0)) __PYX_ERR(2, 11184, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11191
 *                 StageNames[attr] = name
 * 
 *     def getStatus(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve solution status.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_741getStatus, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getStatus, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[859])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11191, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getStatus, __pyx_t_10) < (0)) __PYX_ERR(2, 11191, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11237
 *             return "unknown"
 * 
 *     def getObjectiveSense(self):             # <<<<<<<<<<<<<<
 *         """
 *         Retrieve objective sense.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_743getObjectiveSense, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getObjectiveSense, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[860])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11237, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getObjectiveSense, __pyx_t_10) < (0)) __PYX_ERR(2, 11237, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11254
 *             return "unknown"
 * 
 *     def catchEvent(self, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Catches a global (not variable or row dependent) event.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_745catchEvent, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_catchEvent, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[861])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11254, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_catchEvent, __pyx_t_10) < (0)) __PYX_ERR(2, 11254, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11274
 *         PY_SCIP_CALL(SCIPcatchEvent(self._scip, eventtype, _eventhdlr, NULL, NULL))
 * 
 *     def dropEvent(self, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Drops a global event (stops tracking the event).
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_747dropEvent, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_dropEvent, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[862])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11274, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_dropEvent, __pyx_t_10) < (0)) __PYX_ERR(2, 11274, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11294
 *         PY_SCIP_CALL(SCIPdropEvent(self._scip, eventtype, _eventhdlr, NULL, -1))
 * 
 *     def catchVarEvent(self, Variable var, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Catches an objective value or domain change event on the given transformed variable.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_749catchVarEvent, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_catchVarEvent, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[863])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11294, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_catchVarEvent, __pyx_t_10) < (0)) __PYX_ERR(2, 11294, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11313
 *         PY_SCIP_CALL(SCIPcatchVarEvent(self._scip, var.scip_var, eventtype, _eventhdlr, NULL, NULL))
 * 
 *     def dropVarEvent(self, Variable var, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Drops an objective value or domain change event (stops tracking the event) on the given transformed variable.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_751dropVarEvent, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_dropVarEvent, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[864])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11313, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_dropVarEvent, __pyx_t_10) < (0)) __PYX_ERR(2, 11313, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11332
 *         PY_SCIP_CALL(SCIPdropVarEvent(self._scip, var.scip_var, eventtype, _eventhdlr, NULL, -1))
 * 
 *     def catchRowEvent(self, Row row, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Catches a row coefficient, constant, or side change event on the given row.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_753catchRowEvent, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_catchRowEvent, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[865])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11332, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_catchRowEvent, __pyx_t_10) < (0)) __PYX_ERR(2, 11332, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11351
 *         PY_SCIP_CALL(SCIPcatchRowEvent(self._scip, row.scip_row, eventtype, _eventhdlr, NULL, NULL))
 * 
 *     def dropRowEvent(self, Row row, eventtype, Eventhdlr eventhdlr):             # <<<<<<<<<<<<<<
 *         """
 *         Drops a row coefficient, constant, or side change event (stops tracking the event) on the given row.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_755dropRowEvent, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_dropRowEvent, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[866])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11351, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_dropRowEvent, __pyx_t_10) < (0)) __PYX_ERR(2, 11351, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11372
 *     # Statistic Methods
 * 
 *     def printStatistics(self, filename=None):             # <<<<<<<<<<<<<<
 *         """
 *         Print statistics.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_757printStatistics, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_printStatistics, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[867])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11372, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_printStatistics, __pyx_t_10) < (0)) __PYX_ERR(2, 11372, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11395
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def printStatisticsJson(self, filename=None):             # <<<<<<<<<<<<<<
 *         """
 *         Print statistics in JSON format.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_759printStatisticsJson, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_printStatisticsJson, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[868])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11395, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_printStatisticsJson, __pyx_t_10) < (0)) __PYX_ERR(2, 11395, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11418
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def printStatisticsJson(self):             # <<<<<<<<<<<<<<
 *         """Print statistics in JSON format."""
 *         user_locale = locale.getlocale(category=locale.LC_NUMERIC)
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_761printStatisticsJson, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_printStatisticsJson, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[869])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11418, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_printStatisticsJson, __pyx_t_10) < (0)) __PYX_ERR(2, 11418, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11427
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeStatistics(self, filename="origprob.stats"):             # <<<<<<<<<<<<<<
 *         """
 *         Write statistics to a file.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_763writeStatistics, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_writeStatistics, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[870])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[66]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_writeStatistics, __pyx_t_10) < (0)) __PYX_ERR(2, 11427, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11449
 * 
 * 
 *     def writeStatisticsJson(self, filename="origprob.stats.json"):             # <<<<<<<<<<<<<<
 *         """
 *         Write statistics to a JSON file.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_765writeStatisticsJson, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_writeStatisticsJson, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[871])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[67]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_writeStatisticsJson, __pyx_t_10) < (0)) __PYX_ERR(2, 11449, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11470
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def getNLPs(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets total number of LPs solved so far.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_767getNLPs, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNLPs, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[872])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11470, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNLPs, __pyx_t_10) < (0)) __PYX_ERR(2, 11470, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11483
 *     # Verbosity Methods
 * 
 *     def hideOutput(self, quiet = True):             # <<<<<<<<<<<<<<
 *         """
 *         Hide the output.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_769hideOutput, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_hideOutput, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[873])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11483, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[30]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_hideOutput, __pyx_t_10) < (0)) __PYX_ERR(2, 11483, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11497
 *     # Output Methods
 * 
 *     def redirectOutput(self):             # <<<<<<<<<<<<<<
 *         """Send output to python instead of terminal."""
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_771redirectOutput, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_redirectOutput, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[874])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11497, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_redirectOutput, __pyx_t_10) < (0)) __PYX_ERR(2, 11497, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11506
 *         SCIPmessageSetErrorPrinting(relayErrorMessage, NULL)
 * 
 *     def setLogfile(self, path):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the log file name for the currently installed message handler.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_773setLogfile, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setLogfile, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[875])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11506, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setLogfile, __pyx_t_10) < (0)) __PYX_ERR(2, 11506, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11524
 *     # Parameter Methods
 * 
 *     def setBoolParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a boolean-valued parameter.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_775setBoolParam, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setBoolParam, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[876])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11524, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setBoolParam, __pyx_t_10) < (0)) __PYX_ERR(2, 11524, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11539
 *         PY_SCIP_CALL(SCIPsetBoolParam(self._scip, n, value))
 * 
 *     def setIntParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set an int-valued parameter.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_777setIntParam, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setIntParam, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[877])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11539, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setIntParam, __pyx_t_10) < (0)) __PYX_ERR(2, 11539, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11554
 *         PY_SCIP_CALL(SCIPsetIntParam(self._scip, n, value))
 * 
 *     def setLongintParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a long-valued parameter.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_779setLongintParam, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setLongintParam, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[878])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11554, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setLongintParam, __pyx_t_10) < (0)) __PYX_ERR(2, 11554, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11569
 *         PY_SCIP_CALL(SCIPsetLongintParam(self._scip, n, value))
 * 
 *     def setRealParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a real-valued parameter.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_781setRealParam, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setRealParam, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[879])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setRealParam, __pyx_t_10) < (0)) __PYX_ERR(2, 11569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11584
 *         PY_SCIP_CALL(SCIPsetRealParam(self._scip, n, value))
 * 
 *     def setCharParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a char-valued parameter.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_783setCharParam, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setCharParam, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[880])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setCharParam, __pyx_t_10) < (0)) __PYX_ERR(2, 11584, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11599
 *         PY_SCIP_CALL(SCIPsetCharParam(self._scip, n, ord(value)))
 * 
 *     def setStringParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """
 *         Set a string-valued parameter.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_785setStringParam, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setStringParam, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[881])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11599, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setStringParam, __pyx_t_10) < (0)) __PYX_ERR(2, 11599, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11615
 *         PY_SCIP_CALL(SCIPsetStringParam(self._scip, n, v))
 * 
 *     def setParam(self, name, value):             # <<<<<<<<<<<<<<
 *         """Set a parameter with value in int, bool, real, long, char or str.
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_787setParam, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setParam, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[882])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11615, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setParam, __pyx_t_10) < (0)) __PYX_ERR(2, 11615, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11650
 *             PY_SCIP_CALL(SCIPsetStringParam(self._scip, n, v))
 * 
 *     def getParam(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Get the value of a parameter of type
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_789getParam, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getParam, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[883])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11650, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getParam, __pyx_t_10) < (0)) __PYX_ERR(2, 11650, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11688
 *             return SCIPparamGetString(param).decode('utf-8')
 * 
 *     def getParams(self):             # <<<<<<<<<<<<<<
 *         """
 *         Gets the values of all parameters as a dict mapping parameter names
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_791getParams, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getParams, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[884])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11688, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getParams, __pyx_t_10) < (0)) __PYX_ERR(2, 11688, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11709
 *         return result
 * 
 *     def setParams(self, params):             # <<<<<<<<<<<<<<
 *         """
 *         Sets multiple parameters at once.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_793setParams, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setParams, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[885])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11709, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setParams, __pyx_t_10) < (0)) __PYX_ERR(2, 11709, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11722
 *           self.setParam(name, value)
 * 
 *     def readParams(self, file):             # <<<<<<<<<<<<<<
 *         """
 *         Read an external parameter file.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_795readParams, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_readParams, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[886])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11722, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_readParams, __pyx_t_10) < (0)) __PYX_ERR(2, 11722, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11741
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)
 * 
 *     def writeParams(self, filename='param.set', comments=True, onlychanged=True, verbose=True):             # <<<<<<<<<<<<<<
 *         """
 *         Write parameter settings to an external file.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_797writeParams, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_writeParams, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[887])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[68]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_writeParams, __pyx_t_10) < (0)) __PYX_ERR(2, 11741, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11769
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def resetParam(self, name):             # <<<<<<<<<<<<<<
 *         """
 *         Reset parameter setting to its default value
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_799resetParam, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_resetParam, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[888])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11769, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_resetParam, __pyx_t_10) < (0)) __PYX_ERR(2, 11769, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11782
 *         PY_SCIP_CALL(SCIPresetParam(self._scip, n))
 * 
 *     def resetParams(self):             # <<<<<<<<<<<<<<
 *         """Reset parameter settings to their default values."""
 *         PY_SCIP_CALL(SCIPresetParams(self._scip))
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_801resetParams, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_resetParams, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[889])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11782, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_resetParams, __pyx_t_10) < (0)) __PYX_ERR(2, 11782, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11786
 *         PY_SCIP_CALL(SCIPresetParams(self._scip))
 * 
 *     def setEmphasis(self, paraemphasis, quiet = True):             # <<<<<<<<<<<<<<
 *         """
 *         Set emphasis settings
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_803setEmphasis, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setEmphasis, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[890])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11786, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[30]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setEmphasis, __pyx_t_10) < (0)) __PYX_ERR(2, 11786, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11800
 *         PY_SCIP_CALL(SCIPsetEmphasis(self._scip, paraemphasis, quiet))
 * 
 *     def readProblem(self, filename, extension = None):             # <<<<<<<<<<<<<<
 *         """
 *         Read a problem instance from an external file.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_805readProblem, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_readProblem, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[891])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11800, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[44]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_readProblem, __pyx_t_10) < (0)) __PYX_ERR(2, 11800, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11826
 *     # Counting functions
 * 
 *     def count(self):             # <<<<<<<<<<<<<<
 *         """Counts the number of feasible points of problem."""
 *         PY_SCIP_CALL(SCIPcount(self._scip))
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_807count, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_count, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[892])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11826, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_count, __pyx_t_10) < (0)) __PYX_ERR(2, 11826, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11830
 *         PY_SCIP_CALL(SCIPcount(self._scip))
 * 
 *     def getNReaders(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get number of currently available readers.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_809getNReaders, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNReaders, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[893])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNReaders, __pyx_t_10) < (0)) __PYX_ERR(2, 11830, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11841
 *         return SCIPgetNReaders(self._scip)
 * 
 *     def getNCountedSols(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get number of feasible solution.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_811getNCountedSols, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getNCountedSols, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[894])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11841, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getNCountedSols, __pyx_t_10) < (0)) __PYX_ERR(2, 11841, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11858
 *         return nsols
 * 
 *     def setParamsCountsols(self):             # <<<<<<<<<<<<<<
 *         """Sets SCIP parameters such that a valid counting process is possible."""
 *         PY_SCIP_CALL(SCIPsetParamsCountsols(self._scip))
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_813setParamsCountsols, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_setParamsCountsols, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[895])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11858, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_setParamsCountsols, __pyx_t_10) < (0)) __PYX_ERR(2, 11858, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11862
 *         PY_SCIP_CALL(SCIPsetParamsCountsols(self._scip))
 * 
 *     def freeReoptSolve(self):             # <<<<<<<<<<<<<<
 *         """Frees all solution process data and prepares for reoptimization."""
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_815freeReoptSolve, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_freeReoptSolve, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[896])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11862, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_freeReoptSolve, __pyx_t_10) < (0)) __PYX_ERR(2, 11862, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11875
 *         PY_SCIP_CALL(SCIPfreeReoptSolve(self._scip))
 * 
 *     def chgReoptObjective(self, coeffs, sense = 'minimize'):             # <<<<<<<<<<<<<<
 *         """
 *         Change the objective function for reoptimization.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_817chgReoptObjective, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgReoptObjective, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[897])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[69]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgReoptObjective, __pyx_t_10) < (0)) __PYX_ERR(2, 11875, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11931
 *         free(_coeffs)
 * 
 *     def chgVarBranchPriority(self, Variable var, priority):             # <<<<<<<<<<<<<<
 *         """
 *         Sets the branch priority of the variable.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_819chgVarBranchPriority, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_chgVarBranchPriority, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[898])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11931, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_chgVarBranchPriority, __pyx_t_10) < (0)) __PYX_ERR(2, 11931, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11948
 *         PY_SCIP_CALL(SCIPchgVarBranchPriority(self._scip, var.scip_var, priority))
 * 
 *     def startStrongbranch(self):             # <<<<<<<<<<<<<<
 *         """Start strong branching. Needs to be called before any strong branching. Must also later end strong branching.
 *         TODO: Propagation option has currently been disabled via Python.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_821startStrongbranch, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_startStrongbranch, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[899])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11948, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_startStrongbranch, __pyx_t_10) < (0)) __PYX_ERR(2, 11948, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11956
 *         PY_SCIP_CALL(SCIPstartStrongbranch(self._scip, False))
 * 
 *     def endStrongbranch(self):             # <<<<<<<<<<<<<<
 *         """End strong branching. Needs to be called if startStrongBranching was called previously.
 *         Between these calls the user can access all strong branching functionality."""
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_823endStrongbranch, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_endStrongbranch, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[900])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_endStrongbranch, __pyx_t_10) < (0)) __PYX_ERR(2, 11956, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":11962
 *         PY_SCIP_CALL(SCIPendStrongbranch(self._scip))
 * 
 *     def getVarStrongbranchLast(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Get the results of the last strong branching call on this variable (potentially was called
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_825getVarStrongbranchLast, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getVarStrongbranchLast, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[901])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 11962, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getVarStrongbranchLast, __pyx_t_10) < (0)) __PYX_ERR(2, 11962, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12000
 *         return down, up, downvalid, upvalid, solval, lpobjval
 * 
 *     def getVarStrongbranchNode(self, Variable var):             # <<<<<<<<<<<<<<
 *         """
 *         Get the node number from the last time strong branching was called on the variable.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_827getVarStrongbranchNode, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getVarStrongbranchNode, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[902])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12000, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getVarStrongbranchNode, __pyx_t_10) < (0)) __PYX_ERR(2, 12000, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12020
 *         return node_num
 * 
 *     def getVarStrongbranch(self, Variable var, itlim, idempotent=False, integral=False):             # <<<<<<<<<<<<<<
 *         """
 *         Strong branches and gets information on column variable.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_829getVarStrongbranch, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getVarStrongbranch, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[903])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[70]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getVarStrongbranch, __pyx_t_10) < (0)) __PYX_ERR(2, 12020, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12077
 *         return down, up, downvalid, upvalid, downinf, upinf, downconflict, upconflict, lperror
 * 
 *     def updateVarPseudocost(self, Variable var, valdelta, objdelta, weight):             # <<<<<<<<<<<<<<
 *         """
 *         Updates the pseudo costs of the given variable and the global pseudo costs after a change of valdelta
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_831updateVarPseudocost, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_updateVarPseudocost, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[904])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12077, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_updateVarPseudocost, __pyx_t_10) < (0)) __PYX_ERR(2, 12077, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12099
 *         PY_SCIP_CALL(SCIPupdateVarPseudocost(self._scip, var.scip_var, valdelta, objdelta, weight))
 * 
 *     def getBranchScoreMultiple(self, Variable var, gains):             # <<<<<<<<<<<<<<
 *         """
 *         Calculates the branching score out of the gain predictions for a branching with
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_833getBranchScoreMultiple, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getBranchScoreMultiple, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[905])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12099, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getBranchScoreMultiple, __pyx_t_10) < (0)) __PYX_ERR(2, 12099, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12130
 *         return score
 * 
 *     def getTreesizeEstimation(self):             # <<<<<<<<<<<<<<
 *         """
 *         Get an estimate of the final tree size.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_835getTreesizeEstimation, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getTreesizeEstimation, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[906])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12130, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getTreesizeEstimation, __pyx_t_10) < (0)) __PYX_ERR(2, 12130, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12143
 * 
 *     # Exact SCIP methods
 *     def enableExactSolving(self, SCIP_Bool enable):             # <<<<<<<<<<<<<<
 *         """
 *         Enables or disables exact solving mode in SCIP.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_837enableExactSolving, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_enableExactSolving, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[907])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_enableExactSolving, __pyx_t_10) < (0)) __PYX_ERR(2, 12143, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12155
 *         PY_SCIP_CALL(SCIPenableExactSolving(self._scip, enable))
 * 
 *     def isExact(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether exact solving mode is enabled in SCIP.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_839isExact, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_isExact, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[908])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12155, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_isExact, __pyx_t_10) < (0)) __PYX_ERR(2, 12155, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12166
 *         return SCIPisExact(self._scip)
 * 
 *     def allowNegSlackExact(self):             # <<<<<<<<<<<<<<
 *         """
 *         Returns whether negative slack is allowed in exact solving mode.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_841allowNegSlackExact, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_allowNegSlackExact, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[909])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12166, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_allowNegSlackExact, __pyx_t_10) < (0)) __PYX_ERR(2, 12166, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12177
 *         return SCIPallowNegSlack(self._scip)
 * 
 *     def branchLPExact(self):             # <<<<<<<<<<<<<<
 *         """
 *         Performs exact LP branching.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_843branchLPExact, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_branchLPExact, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[910])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12177, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_branchLPExact, __pyx_t_10) < (0)) __PYX_ERR(2, 12177, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12189
 *         return result
 * 
 *     def addRowExact(self, RowExact rowexact):             # <<<<<<<<<<<<<<
 *         """
 *         Adds an exact row to the LP.
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_845addRowExact, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_addRowExact, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[911])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12189, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_addRowExact, __pyx_t_10) < (0)) __PYX_ERR(2, 12189, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12200
 *         PY_SCIP_CALL(SCIPaddRowExact(self._scip, rowexact.scip_row_exact))
 * 
 *     def getBipartiteGraphRepresentation(self, prev_col_features=None, prev_edge_features=None, prev_row_features=None,             # <<<<<<<<<<<<<<
 *                                         static_only=False, suppress_warnings=False):
 *         """
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_847getBipartiteGraphRepresentation, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model_getBipartiteGraphRepresent, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[912])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_10, __pyx_mstate_global->__pyx_tuple[71]);
  if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_9pyscipopt_4scip_Model, __pyx_mstate_global->__pyx_n_u_getBipartiteGraphRepresentation, __pyx_t_10) < (0)) __PYX_ERR(2, 12200, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * def __reduce_cython__(self):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._iis,self._scip,self._valid cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_849__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[913])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_10) < (0)) __PYX_ERR(5, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":3
 * def __reduce_cython__(self):
 *     raise TypeError, "self._iis,self._scip,self._valid cannot be converted to a Python object for pickling"
 * def __setstate_cython__(self, __pyx_state):             # <<<<<<<<<<<<<<
 *     raise TypeError, "self._iis,self._scip,self._valid cannot be converted to a Python object for pickling"
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_5Model_851__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Model___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[914])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_10) < (0)) __PYX_ERR(5, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12474
 * 
 * @dataclass
 * class Statistics:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
  __pyx_t_10 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_mstate_global->__pyx_empty_tuple, __pyx_mstate_global->__pyx_n_u_Statistics, __pyx_mstate_global->__pyx_n_u_Statistics, (PyObject *) NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_kp_u_Attributes_status_str_Status_of); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_4 = __Pyx_PyDict_NewPresized(20); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_status, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_total_time, __pyx_mstate_global->__pyx_n_u_float) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_solving_time, __pyx_mstate_global->__pyx_n_u_float) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_presolving_time, __pyx_mstate_global->__pyx_n_u_float) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_reading_time, __pyx_mstate_global->__pyx_n_u_float) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_copying_time, __pyx_mstate_global->__pyx_n_u_float) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_problem_name, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_presolved_problem_name, __pyx_mstate_global->__pyx_n_u_str) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_variables, __pyx_mstate_global->__pyx_n_u_dict_2) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_presolved_variables, __pyx_mstate_global->__pyx_n_u_dict_2) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_constraints_2, __pyx_mstate_global->__pyx_n_u_dict_2) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_presolved_constraints, __pyx_mstate_global->__pyx_n_u_dict_2) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_n_runs, __pyx_mstate_global->__pyx_n_u_int) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_n_nodes, __pyx_mstate_global->__pyx_n_u_int) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_n_solutions_found, __pyx_mstate_global->__pyx_n_u_int) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_first_solution, __pyx_mstate_global->__pyx_n_u_float) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_primal_bound, __pyx_mstate_global->__pyx_n_u_float) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_dual_bound, __pyx_mstate_global->__pyx_n_u_float) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_gap, __pyx_mstate_global->__pyx_n_u_float) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_primal_dual_integral, __pyx_mstate_global->__pyx_n_u_float) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_annotations, __pyx_t_4) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12550
 *     _constraints: dict           # Dictionary with number of constraints by type
 *     _presolved_constraints: dict # Dictionary with number of presolved constraints by type
 *     n_runs: int = None             # <<<<<<<<<<<<<<
 *     n_nodes: int = None
 *     n_solutions_found: int = -1
*/
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_runs, Py_None) < (0)) __PYX_ERR(2, 12550, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":12551
 *     _presolved_constraints: dict # Dictionary with number of presolved constraints by type
 *     n_runs: int = None
 *     n_nodes: int = None             # <<<<<<<<<<<<<<
 *     n_solutions_found: int = -1
 *     first_solution: float = None
*/
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_nodes, Py_None) < (0)) __PYX_ERR(2, 12551, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":12552
 *     n_runs: int = None
 *     n_nodes: int = None
 *     n_solutions_found: int = -1             # <<<<<<<<<<<<<<
 *     first_solution: float = None
 *     primal_bound: float = None
*/
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_solutions_found, __pyx_mstate_global->__pyx_int_neg_1) < (0)) __PYX_ERR(2, 12552, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":12553
 *     n_nodes: int = None
 *     n_solutions_found: int = -1
 *     first_solution: float = None             # <<<<<<<<<<<<<<
 *     primal_bound: float = None
 *     dual_bound: float = None
*/
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_first_solution, Py_None) < (0)) __PYX_ERR(2, 12553, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":12554
 *     n_solutions_found: int = -1
 *     first_solution: float = None
 *     primal_bound: float = None             # <<<<<<<<<<<<<<
 *     dual_bound: float = None
 *     gap: float = None
*/
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_primal_bound, Py_None) < (0)) __PYX_ERR(2, 12554, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":12555
 *     first_solution: float = None
 *     primal_bound: float = None
 *     dual_bound: float = None             # <<<<<<<<<<<<<<
 *     gap: float = None
 *     primal_dual_integral: float = None
*/
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_dual_bound, Py_None) < (0)) __PYX_ERR(2, 12555, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":12556
 *     primal_bound: float = None
 *     dual_bound: float = None
 *     gap: float = None             # <<<<<<<<<<<<<<
 *     primal_dual_integral: float = None
 * 
*/
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_gap, Py_None) < (0)) __PYX_ERR(2, 12556, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":12557
 *     dual_bound: float = None
 *     gap: float = None
 *     primal_dual_integral: float = None             # <<<<<<<<<<<<<<
 * 
 *     # unpacking the _variables, _presolved_variables, _constraints
*/
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_primal_dual_integral, Py_None) < (0)) __PYX_ERR(2, 12557, __pyx_L1_error)

  /* "src/pyscipopt/scip.pxi":12561
 *     # unpacking the _variables, _presolved_variables, _constraints
 *     # _presolved_constraints dictionaries
 *     @property             # <<<<<<<<<<<<<<
 *     def n_vars(self):
 *         return self._variables["total"]
*/
  __pyx_t_11 = NULL;
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_1n_vars, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_vars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[915])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 12561, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_13};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12561, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_vars, __pyx_t_4) < (0)) __PYX_ERR(2, 12561, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12565
 *         return self._variables["total"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_binary_vars(self):
 *         return self._variables["binary"]
*/
  __pyx_t_13 = NULL;
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_3n_binary_vars, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_binary_vars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[916])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 12565, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_11};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12565, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_binary_vars, __pyx_t_4) < (0)) __PYX_ERR(2, 12565, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12569
 *         return self._variables["binary"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_integer_vars(self):
 *         return self._variables["integer"]
*/
  __pyx_t_11 = NULL;
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_5n_integer_vars, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_integer_vars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[917])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 12569, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_13};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12569, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_integer_vars, __pyx_t_4) < (0)) __PYX_ERR(2, 12569, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12573
 *         return self._variables["integer"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_implicit_integer_vars(self):
 *         return self._variables["implicit"]
*/
  __pyx_t_13 = NULL;
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_7n_implicit_integer_vars, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_implicit_integer_va, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[918])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 12573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_11};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12573, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_implicit_integer_vars, __pyx_t_4) < (0)) __PYX_ERR(2, 12573, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12577
 *         return self._variables["implicit"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_continuous_vars(self):
 *         return self._variables["continuous"]
*/
  __pyx_t_11 = NULL;
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_9n_continuous_vars, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_continuous_vars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[919])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 12577, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_13};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12577, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_continuous_vars, __pyx_t_4) < (0)) __PYX_ERR(2, 12577, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12581
 *         return self._variables["continuous"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_vars(self):
 *         return self._presolved_variables["total"]
*/
  __pyx_t_13 = NULL;
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_11n_presolved_vars, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_presolved_vars, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[920])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 12581, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_11};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12581, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_presolved_vars, __pyx_t_4) < (0)) __PYX_ERR(2, 12581, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12585
 *         return self._presolved_variables["total"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_binary_vars(self):
 *         return self._presolved_variables["binary"]
*/
  __pyx_t_11 = NULL;
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_13n_presolved_binary_vars, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_presolved_binary_va, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[921])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 12585, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_13};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12585, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_presolved_binary_vars, __pyx_t_4) < (0)) __PYX_ERR(2, 12585, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12589
 *         return self._presolved_variables["binary"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_integer_vars(self):
 *         return self._presolved_variables["integer"]
*/
  __pyx_t_13 = NULL;
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_15n_presolved_integer_vars, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_presolved_integer_v, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[922])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 12589, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_11};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12589, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_presolved_integer_vars, __pyx_t_4) < (0)) __PYX_ERR(2, 12589, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12593
 *         return self._presolved_variables["integer"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_implicit_integer_vars(self):
 *         return self._presolved_variables["implicit"]
*/
  __pyx_t_11 = NULL;
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_17n_presolved_implicit_integer_vars, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_presolved_implicit, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[923])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 12593, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_13};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12593, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_presolved_implicit_integer_var, __pyx_t_4) < (0)) __PYX_ERR(2, 12593, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12597
 *         return self._presolved_variables["implicit"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_continuous_vars(self):
 *         return self._presolved_variables["continuous"]
*/
  __pyx_t_13 = NULL;
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_19n_presolved_continuous_vars, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_presolved_continuou, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[924])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 12597, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_11};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12597, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_presolved_continuous_vars, __pyx_t_4) < (0)) __PYX_ERR(2, 12597, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12601
 *         return self._presolved_variables["continuous"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_conss(self):
 *         return self._constraints["initial"]
*/
  __pyx_t_11 = NULL;
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_21n_conss, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_conss, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[925])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 12601, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_13};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12601, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_conss, __pyx_t_4) < (0)) __PYX_ERR(2, 12601, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12605
 *         return self._constraints["initial"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_maximal_cons(self):
 *         return self._constraints["maximal"]
*/
  __pyx_t_13 = NULL;
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_23n_maximal_cons, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_maximal_cons, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[926])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 12605, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_11};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12605, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_maximal_cons, __pyx_t_4) < (0)) __PYX_ERR(2, 12605, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12609
 *         return self._constraints["maximal"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_conss(self):
 *         return self._presolved_constraints["initial"]
*/
  __pyx_t_11 = NULL;
  __pyx_t_13 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_25n_presolved_conss, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_presolved_conss, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[927])); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 12609, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_13);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_13};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12609, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_presolved_conss, __pyx_t_4) < (0)) __PYX_ERR(2, 12609, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12613
 *         return self._presolved_constraints["initial"]
 * 
 *     @property             # <<<<<<<<<<<<<<
 *     def n_presolved_maximal_cons(self):
 *         return self._presolved_constraints["maximal"]
*/
  __pyx_t_13 = NULL;
  __pyx_t_11 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_10Statistics_27n_presolved_maximal_cons, 0, __pyx_mstate_global->__pyx_n_u_Statistics_n_presolved_maximal_c, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[928])); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 12613, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_11);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_13, __pyx_t_11};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin_property, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12613, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (__Pyx_SetNameInClass(__pyx_t_10, __pyx_mstate_global->__pyx_n_u_n_presolved_maximal_cons, __pyx_t_4) < (0)) __PYX_ERR(2, 12613, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

  /* "src/pyscipopt/scip.pxi":12473
 *                 {"col": col_feature_map, "edge": edge_feature_map, "row": row_feature_map})
 * 
 * @dataclass             # <<<<<<<<<<<<<<
 * class Statistics:
 *     """
*/
  __pyx_t_11 = NULL;
  __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_mstate_global->__pyx_n_u_dataclass); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 12473, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_13);

  /* "src/pyscipopt/scip.pxi":12474
 * 
 * @dataclass
 * class Statistics:             # <<<<<<<<<<<<<<
 *     """
 *     Attributes
*/
  __pyx_t_5 = __Pyx_Py3ClassCreate(((PyObject*)&PyType_Type), __pyx_mstate_global->__pyx_n_u_Statistics, __pyx_mstate_global->__pyx_empty_tuple, __pyx_t_10, NULL, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 12474, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_5);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_5);
  #endif
  __pyx_t_6 = 1;
  {
    PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_5};
    __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_13, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
    __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 12473, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
  }
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_Statistics, __pyx_t_4) < (0)) __PYX_ERR(2, 12474, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12617
 *         return self._presolved_constraints["maximal"]
 * 
 * def readStatistics(filename):             # <<<<<<<<<<<<<<
 *         """
 *         Given a .stats file of a solved model, reads it and returns an instance of the Statistics class
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_35readStatistics, 0, __pyx_mstate_global->__pyx_n_u_readStatistics, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[929])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12617, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_readStatistics, __pyx_t_10) < (0)) __PYX_ERR(2, 12617, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12742
 * 
 * # debugging memory management
 * def is_memory_freed():             # <<<<<<<<<<<<<<
 *     return BMSgetMemoryUsed() == 0
 * 
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_37is_memory_freed, 0, __pyx_mstate_global->__pyx_n_u_is_memory_freed, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[930])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12742, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_is_memory_freed, __pyx_t_10) < (0)) __PYX_ERR(2, 12742, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "src/pyscipopt/scip.pxi":12745
 *     return BMSgetMemoryUsed() == 0
 * 
 * def print_memory_in_use():             # <<<<<<<<<<<<<<
 *     BMScheckEmptyMemory()
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_39print_memory_in_use, 0, __pyx_mstate_global->__pyx_n_u_print_memory_in_use, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[931])); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 12745, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_print_memory_in_use, __pyx_t_10) < (0)) __PYX_ERR(2, 12745, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Term(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9db3e8b, 0x45614d6, 0xc040dbf, b'hashval, ptrtuple, vartuple')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_41__pyx_unpickle_Term, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Term, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[932])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Term, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_43__pyx_unpickle_Expr, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Expr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[933])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Expr, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_ExprCons(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x8863d2c, 0x181c0f9, 0x8f4795b, b'_lhs, _rhs, expr')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_45__pyx_unpickle_ExprCons, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_ExprCons, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[934])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_ExprCons, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_47__pyx_unpickle_GenExpr, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_GenExpr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[935])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_GenExpr, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_SumExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x3c52fb7, 0x911913a, 0x6d57035, b'_op, children, coefs, constant')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_49__pyx_unpickle_SumExpr, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_SumExpr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[936])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_SumExpr, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_51__pyx_unpickle_ProdExpr, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_ProdExpr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[937])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_ProdExpr, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_VarExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x496e932, 0x80e5b0b, 0xf1ef42d, b'_op, children, var')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_53__pyx_unpickle_VarExpr, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_VarExpr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[938])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_VarExpr, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_55__pyx_unpickle_PowExpr, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PowExpr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[939])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PowExpr, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_UnaryExpr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xccaf182, 0xc6604dd, 0xa204a74, b'_op, children')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_57__pyx_unpickle_UnaryExpr, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_UnaryExpr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[940])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_UnaryExpr, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_59__pyx_unpickle_Constant, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Constant, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[941])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Constant, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Benderscut(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x5af043b, 0xc68d043, 0xfef88e0, b'benders, model, name')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_61__pyx_unpickle_Benderscut, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Benderscut, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[942])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Benderscut, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_63__pyx_unpickle_Branchrule, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Branchrule, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[943])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Branchrule, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Conshdlr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_65__pyx_unpickle_Conshdlr, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Conshdlr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[944])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Conshdlr, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_67__pyx_unpickle_Cutsel, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Cutsel, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[945])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Cutsel, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Eventhdlr(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_69__pyx_unpickle_Eventhdlr, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Eventhdlr, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[946])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Eventhdlr, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_71__pyx_unpickle_Heur, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Heur, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[947])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Heur, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Presol(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x9372c47, 0x1d06a0d, 0x20f35e6, b'model')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_73__pyx_unpickle_Presol, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Presol, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[948])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Presol, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_75__pyx_unpickle_Prop, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Prop, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[949])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Prop, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Sepa(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_77__pyx_unpickle_Sepa, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Sepa, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[950])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Sepa, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_79__pyx_unpickle_Reader, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Reader, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[951])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Reader, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_Relax(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0x48f811e, 0x23d1325, 0xecd383d, b'model, name')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_81__pyx_unpickle_Relax, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Relax, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[952])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Relax, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_83__pyx_unpickle_Nodesel, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Nodesel, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[953])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Nodesel, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_RESULT(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_88__pyx_unpickle_PY_SCIP_RESULT, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_RESULT, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[954])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_RESULT, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_90__pyx_unpickle_PY_SCIP_PARAMSETTING, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PARAMSETT, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[955])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PARAMSETT, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_LPPARAM(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_92__pyx_unpickle_PY_SCIP_LPPARAM, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_LPPARAM, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[956])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_LPPARAM, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_94__pyx_unpickle_PY_SCIP_PARAMEMPHASIS, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PARAMEMPH, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[957])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PARAMEMPH, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_STATUS(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_96__pyx_unpickle_PY_SCIP_STATUS, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_STATUS, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[958])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_STATUS, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_98__pyx_unpickle_PY_SCIP_STAGE, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_STAGE, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[959])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_STAGE, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_NODETYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_100__pyx_unpickle_PY_SCIP_NODETYPE, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_NODETYPE, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[960])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_NODETYPE, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_102__pyx_unpickle_PY_SCIP_PROPTIMING, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PROPTIMIN, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[961])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PROPTIMIN, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_PRESOLTIMING(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_104__pyx_unpickle_PY_SCIP_PRESOLTIMING, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PRESOLTIM, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[962])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_PRESOLTIM, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_106__pyx_unpickle_PY_SCIP_HEURTIMING, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_HEURTIMIN, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[963])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_HEURTIMIN, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_EVENTTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_108__pyx_unpickle_PY_SCIP_EVENTTYPE, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_EVENTTYPE, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[964])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_EVENTTYPE, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_110__pyx_unpickle_PY_SCIP_LOCKTYPE, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_LOCKTYPE, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[965])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_LOCKTYPE, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_IMPLINTTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_112__pyx_unpickle_PY_SCIP_IMPLINTTYPE, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_IMPLINTTY, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[966])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_IMPLINTTY, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_114__pyx_unpickle_PY_SCIP_LPSOLSTAT, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_LPSOLSTAT, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[967])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_LPSOLSTAT, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_BRANCHDIR(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_116__pyx_unpickle_PY_SCIP_BRANCHDIR, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_BRANCHDIR, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[968])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_BRANCHDIR, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_118__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_BENDERSEN, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[969])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_BENDERSEN, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":4
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
 * def __pyx_unpickle_PY_SCIP_ROWORIGINTYPE(__pyx_type, long __pyx_checksum, tuple __pyx_state):             # <<<<<<<<<<<<<<
 *     cdef object __pyx_result
 *     __Pyx_CheckUnpickleChecksum(__pyx_checksum, 0xe3b0c44, 0xda39a3e, 0xd41d8cd, b'')
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_120__pyx_unpickle_PY_SCIP_ROWORIGINTYPE, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_ROWORIGIN, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[970])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_ROWORIGIN, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "(tree fragment)":1
 * cdef extern from *:             # <<<<<<<<<<<<<<
 *     int __Pyx_CheckUnpickleChecksum(long, long, long, long, const char*) except -1
 *     int __Pyx_UpdateUnpickledDict(object, object, Py_ssize_t) except -1
*/
  __pyx_t_10 = __Pyx_CyFunction_New(&__pyx_mdef_9pyscipopt_4scip_122__pyx_unpickle_PY_SCIP_SOLORIGIN, 0, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_SOLORIGIN, NULL, __pyx_mstate_global->__pyx_n_u_pyscipopt_scip, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[971])); if (unlikely(!__pyx_t_10)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
  PyUnstable_Object_EnableDeferredRefcount(__pyx_t_10);
  #endif
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_PY_SCIP_SOLORIGIN, __pyx_t_10) < (0)) __PYX_ERR(5, 4, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /* "pyscipopt/scip.pyx":1
 * # This redirection to scip.pxi is necessary to allow for code coverage to work             # <<<<<<<<<<<<<<
 * # as it was producing syntax errors when parsing the .pyx file.
 * include "scip.pxi"
*/
  __pyx_t_10 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_test, __pyx_t_10) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

  /*--- Wrapped vars code ---*/

  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  if (__pyx_m) {
    if (__pyx_mstate->__pyx_d && stringtab_initialized) {
      __Pyx_AddTraceback("init pyscipopt.scip", __pyx_clineno, __pyx_lineno, __pyx_filename);
    }
    #if !CYTHON_USE_MODULE_STATE
    Py_CLEAR(__pyx_m);
    #else
    Py_DECREF(__pyx_m);
    if (pystate_addmodule_run) {
      PyObject *tp, *value, *tb;
      PyErr_Fetch(&tp, &value, &tb);
      PyState_RemoveModule(&__pyx_moduledef);
      PyErr_Restore(tp, value, tb);
    }
    #endif
  } else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_ImportError, "init pyscipopt.scip");
  }
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  #if CYTHON_PEP489_MULTI_PHASE_INIT
  return (__pyx_m != NULL) ? 0 : -1;
  #else
  return __pyx_m;
  #endif
}
/* #### Code section: pystring_table ### */
/* #### Code section: cached_builtins ### */

static int __Pyx_InitCachedBuiltins(__pyx_mstatetype *__pyx_mstate) {
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __pyx_builtin_object = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_object); if (!__pyx_builtin_object) __PYX_ERR(1, 194, __pyx_L1_error)
  __pyx_builtin_staticmethod = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_staticmethod); if (!__pyx_builtin_staticmethod) __PYX_ERR(2, 3005, __pyx_L1_error)
  __pyx_builtin_property = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_property); if (!__pyx_builtin_property) __PYX_ERR(2, 12561, __pyx_L1_error)
  __pyx_builtin_sorted = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_sorted); if (!__pyx_builtin_sorted) __PYX_ERR(3, 111, __pyx_L1_error)
  __pyx_builtin_max = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_max); if (!__pyx_builtin_max) __PYX_ERR(3, 381, __pyx_L1_error)
  __pyx_builtin_map = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_map); if (!__pyx_builtin_map) __PYX_ERR(3, 716, __pyx_L1_error)
  __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(4, 76, __pyx_L1_error)
  __pyx_builtin_sum = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_sum); if (!__pyx_builtin_sum) __PYX_ERR(4, 102, __pyx_L1_error)
  __pyx_builtin_NotImplemented = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_NotImplemented); if (!__pyx_builtin_NotImplemented) __PYX_ERR(1, 52, __pyx_L1_error)
  __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_super); if (!__pyx_builtin_super) __PYX_ERR(1, 74, __pyx_L1_error)
  __pyx_builtin_print = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_print); if (!__pyx_builtin_print) __PYX_ERR(2, 4287, __pyx_L1_error)
  __pyx_builtin_zip = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_zip); if (!__pyx_builtin_zip) __PYX_ERR(2, 9329, __pyx_L1_error)
  __pyx_builtin_open = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_open); if (!__pyx_builtin_open) __PYX_ERR(2, 10584, __pyx_L1_error)
  __pyx_builtin___import__ = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_import); if (!__pyx_builtin___import__) __PYX_ERR(5, 101, __pyx_L1_error)
  __pyx_builtin_Ellipsis = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_Ellipsis); if (!__pyx_builtin_Ellipsis) __PYX_ERR(5, 409, __pyx_L1_error)
  __pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_id); if (!__pyx_builtin_id) __PYX_ERR(5, 619, __pyx_L1_error)

  /* Cached unbound methods */
  __pyx_mstate->__pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type;
  __pyx_mstate->__pyx_umethod_PyDict_Type_items.method_name = &__pyx_mstate->__pyx_n_u_items;
  __pyx_mstate->__pyx_umethod_PyDict_Type_pop.type = (PyObject*)&PyDict_Type;
  __pyx_mstate->__pyx_umethod_PyDict_Type_pop.method_name = &__pyx_mstate->__pyx_n_u_pop;
  __pyx_mstate->__pyx_umethod_PyDict_Type_values.type = (PyObject*)&PyDict_Type;
  __pyx_mstate->__pyx_umethod_PyDict_Type_values.method_name = &__pyx_mstate->__pyx_n_u_values;
  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: cached_constants ### */

static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) {
  __Pyx_RefNannyDeclarations
  CYTHON_UNUSED_VAR(__pyx_mstate);
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);

  /* "View.MemoryView":583
 *     def suboffsets(self):
 *         if self.view.suboffsets == NULL:
 *             return (-1,) * self.view.ndim             # <<<<<<<<<<<<<<
 * 
 *         return tuple([suboffset for suboffset in self.view.suboffsets[:self.view.ndim]])
*/
  __pyx_mstate_global->__pyx_tuple[0] = PyTuple_New(1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[0])) __PYX_ERR(5, 583, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[0]);
  __Pyx_INCREF(__pyx_mstate_global->__pyx_int_neg_1);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_neg_1);
  if (__Pyx_PyTuple_SET_ITEM(__pyx_mstate_global->__pyx_tuple[0], 0, __pyx_mstate_global->__pyx_int_neg_1) != (0)) __PYX_ERR(5, 583, __pyx_L1_error);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[0]);

  /* "View.MemoryView":680
 *     tup = <tuple>index if isinstance(index, tuple) else (index,)
 * 
 *     result = [slice(None)] * ndim             # <<<<<<<<<<<<<<
 *     have_slices = False
 *     seen_ellipsis = False
*/
  __pyx_mstate_global->__pyx_slice[0] = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_slice[0])) __PYX_ERR(5, 680, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_slice[0]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[0]);

  /* "src/pyscipopt/benders.pxi":141
 *     enfotype = type
 *     result_dict = PyBenders.benderspresubsolve(solution, enfotype, checkint)
 *     infeasible[0] = result_dict.get("infeasible", False)             # <<<<<<<<<<<<<<
 *     auxviol[0] = result_dict.get("auxviol", False)
 *     skipsolve[0] = result_dict.get("skipsolve", False)
*/
  __pyx_mstate_global->__pyx_tuple[1] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_infeasible, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[1])) __PYX_ERR(8, 141, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[1]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[1]);

  /* "src/pyscipopt/benders.pxi":142
 *     result_dict = PyBenders.benderspresubsolve(solution, enfotype, checkint)
 *     infeasible[0] = result_dict.get("infeasible", False)
 *     auxviol[0] = result_dict.get("auxviol", False)             # <<<<<<<<<<<<<<
 *     skipsolve[0] = result_dict.get("skipsolve", False)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
*/
  __pyx_mstate_global->__pyx_tuple[2] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_auxviol, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[2])) __PYX_ERR(8, 142, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[2]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[2]);

  /* "src/pyscipopt/benders.pxi":143
 *     infeasible[0] = result_dict.get("infeasible", False)
 *     auxviol[0] = result_dict.get("auxviol", False)
 *     skipsolve[0] = result_dict.get("skipsolve", False)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_mstate_global->__pyx_tuple[3] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_skipsolve, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[3])) __PYX_ERR(8, 143, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[3]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[3]);

  /* "src/pyscipopt/benders.pxi":156
 *         solution = Solution.create(scip, sol)
 *     result_dict = PyBenders.benderssolvesubconvex(solution, probnumber, onlyconvex)
 *     objective[0] = result_dict.get("objective", 1e+20)             # <<<<<<<<<<<<<<
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     return SCIP_OKAY
*/
  __pyx_mstate_global->__pyx_tuple[4] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_objective, __pyx_mstate_global->__pyx_float_1e_20); if (unlikely(!__pyx_mstate_global->__pyx_tuple[4])) __PYX_ERR(8, 156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[4]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[4]);

  /* "src/pyscipopt/benders.pxi":188
 *         mergecandidates.append(mergecands[i])
 *     result_dict = PyBenders.benderspostsolve(solution, enfotype, mergecandidates, npriomergecands, checkint, infeasible)
 *     merged[0] = result_dict.get("merged", False)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_mstate_global->__pyx_tuple[5] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_merged, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[5])) __PYX_ERR(8, 188, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[5]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[5]);

  /* "src/pyscipopt/benders.pxi":205
 *     PyVar = getPyVar(var)
 *     result_dict = PyBenders.bendersgetvar(PyVar, probnumber)
 *     mappedvariable = <Variable>(result_dict.get("mappedvar", None))             # <<<<<<<<<<<<<<
 *     if mappedvariable is None:
 *         mappedvar[0] = NULL
*/
  __pyx_mstate_global->__pyx_tuple[6] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_mappedvar, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[6])) __PYX_ERR(8, 205, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[6]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[6]);

  /* "src/pyscipopt/conshdlr.pxi":462
 *     PyCons = getPyCons(cons)
 *     result_dict = PyConshdlr.consgetnvars(PyCons)
 *     nvars[0] = result_dict.get("nvars", 0)             # <<<<<<<<<<<<<<
 *     success[0] = result_dict.get("success", False)
 *     return SCIP_OKAY
*/
  __pyx_mstate_global->__pyx_tuple[7] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_nvars, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[7])) __PYX_ERR(11, 462, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[7]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[7]);

  /* "src/pyscipopt/conshdlr.pxi":463
 *     result_dict = PyConshdlr.consgetnvars(PyCons)
 *     nvars[0] = result_dict.get("nvars", 0)
 *     success[0] = result_dict.get("success", False)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
 * 
*/
  __pyx_mstate_global->__pyx_tuple[8] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_success, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[8])) __PYX_ERR(11, 463, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[8]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[8]);

  /* "src/pyscipopt/cutsel.pxi":97
 *     cuts[i] = <SCIP_ROW *>((<Row>cut).scip_row)
 * 
 *   nselectedcuts[0] = result_dict.get('nselectedcuts', 0)             # <<<<<<<<<<<<<<
 *   result[0] = result_dict.get('result', <SCIP_RESULT>result[0])
 * 
*/
  __pyx_mstate_global->__pyx_tuple[9] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_nselectedcuts, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[9])) __PYX_ERR(12, 97, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[9]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[9]);

  /* "src/pyscipopt/presol.pxi":82
 *     result_dict = PyPresol.presolexec(nrounds, presoltiming)
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     nfixedvars[0] += result_dict.get("nnewfixedvars", 0)             # <<<<<<<<<<<<<<
 *     naggrvars[0] += result_dict.get("nnewaggrvars", 0)
 *     nchgvartypes[0] += result_dict.get("nnewchgvartypes", 0)
*/
  __pyx_mstate_global->__pyx_tuple[10] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_nnewfixedvars, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[10])) __PYX_ERR(16, 82, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[10]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[10]);

  /* "src/pyscipopt/presol.pxi":83
 *     result[0] = result_dict.get("result", <SCIP_RESULT>result[0])
 *     nfixedvars[0] += result_dict.get("nnewfixedvars", 0)
 *     naggrvars[0] += result_dict.get("nnewaggrvars", 0)             # <<<<<<<<<<<<<<
 *     nchgvartypes[0] += result_dict.get("nnewchgvartypes", 0)
 *     nchgbds[0] += result_dict.get("nnewchgbds", 0)
*/
  __pyx_mstate_global->__pyx_tuple[11] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_nnewaggrvars, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[11])) __PYX_ERR(16, 83, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[11]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[11]);

  /* "src/pyscipopt/presol.pxi":84
 *     nfixedvars[0] += result_dict.get("nnewfixedvars", 0)
 *     naggrvars[0] += result_dict.get("nnewaggrvars", 0)
 *     nchgvartypes[0] += result_dict.get("nnewchgvartypes", 0)             # <<<<<<<<<<<<<<
 *     nchgbds[0] += result_dict.get("nnewchgbds", 0)
 *     naddholes[0] += result_dict.get("nnewaddholes", 0)
*/
  __pyx_mstate_global->__pyx_tuple[12] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_nnewchgvartypes, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[12])) __PYX_ERR(16, 84, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[12]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[12]);

  /* "src/pyscipopt/presol.pxi":85
 *     naggrvars[0] += result_dict.get("nnewaggrvars", 0)
 *     nchgvartypes[0] += result_dict.get("nnewchgvartypes", 0)
 *     nchgbds[0] += result_dict.get("nnewchgbds", 0)             # <<<<<<<<<<<<<<
 *     naddholes[0] += result_dict.get("nnewaddholes", 0)
 *     ndelconss[0] += result_dict.get("nnewdelconss", 0)
*/
  __pyx_mstate_global->__pyx_tuple[13] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_nnewchgbds, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[13])) __PYX_ERR(16, 85, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[13]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[13]);

  /* "src/pyscipopt/presol.pxi":86
 *     nchgvartypes[0] += result_dict.get("nnewchgvartypes", 0)
 *     nchgbds[0] += result_dict.get("nnewchgbds", 0)
 *     naddholes[0] += result_dict.get("nnewaddholes", 0)             # <<<<<<<<<<<<<<
 *     ndelconss[0] += result_dict.get("nnewdelconss", 0)
 *     naddconss[0] += result_dict.get("nnewaddconss", 0)
*/
  __pyx_mstate_global->__pyx_tuple[14] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_nnewaddholes, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[14])) __PYX_ERR(16, 86, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[14]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[14]);

  /* "src/pyscipopt/presol.pxi":87
 *     nchgbds[0] += result_dict.get("nnewchgbds", 0)
 *     naddholes[0] += result_dict.get("nnewaddholes", 0)
 *     ndelconss[0] += result_dict.get("nnewdelconss", 0)             # <<<<<<<<<<<<<<
 *     naddconss[0] += result_dict.get("nnewaddconss", 0)
 *     nupgdconss[0] += result_dict.get("nnewupgdconss", 0)
*/
  __pyx_mstate_global->__pyx_tuple[15] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_nnewdelconss, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[15])) __PYX_ERR(16, 87, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[15]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[15]);

  /* "src/pyscipopt/presol.pxi":88
 *     naddholes[0] += result_dict.get("nnewaddholes", 0)
 *     ndelconss[0] += result_dict.get("nnewdelconss", 0)
 *     naddconss[0] += result_dict.get("nnewaddconss", 0)             # <<<<<<<<<<<<<<
 *     nupgdconss[0] += result_dict.get("nnewupgdconss", 0)
 *     nchgcoefs[0] += result_dict.get("nnewchgcoefs", 0)
*/
  __pyx_mstate_global->__pyx_tuple[16] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_nnewaddconss, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[16])) __PYX_ERR(16, 88, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[16]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[16]);

  /* "src/pyscipopt/presol.pxi":89
 *     ndelconss[0] += result_dict.get("nnewdelconss", 0)
 *     naddconss[0] += result_dict.get("nnewaddconss", 0)
 *     nupgdconss[0] += result_dict.get("nnewupgdconss", 0)             # <<<<<<<<<<<<<<
 *     nchgcoefs[0] += result_dict.get("nnewchgcoefs", 0)
 *     nchgsides[0] += result_dict.get("nnewchgsides", 0)
*/
  __pyx_mstate_global->__pyx_tuple[17] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_nnewupgdconss, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[17])) __PYX_ERR(16, 89, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[17]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[17]);

  /* "src/pyscipopt/presol.pxi":90
 *     naddconss[0] += result_dict.get("nnewaddconss", 0)
 *     nupgdconss[0] += result_dict.get("nnewupgdconss", 0)
 *     nchgcoefs[0] += result_dict.get("nnewchgcoefs", 0)             # <<<<<<<<<<<<<<
 *     nchgsides[0] += result_dict.get("nnewchgsides", 0)
 *     return SCIP_OKAY
*/
  __pyx_mstate_global->__pyx_tuple[18] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_nnewchgcoefs, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[18])) __PYX_ERR(16, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[18]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[18]);

  /* "src/pyscipopt/presol.pxi":91
 *     nupgdconss[0] += result_dict.get("nnewupgdconss", 0)
 *     nchgcoefs[0] += result_dict.get("nnewchgcoefs", 0)
 *     nchgsides[0] += result_dict.get("nnewchgsides", 0)             # <<<<<<<<<<<<<<
 *     return SCIP_OKAY
*/
  __pyx_mstate_global->__pyx_tuple[19] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_nnewchgsides, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[19])) __PYX_ERR(16, 91, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[19]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[19]);

  /* "src/pyscipopt/nodesel.pxi":90
 *   PyNodesel = <Nodesel>nodeseldata
 *   result_dict = PyNodesel.nodeselect()
 *   selected_node = <Node>result_dict.get("selnode", None)             # <<<<<<<<<<<<<<
 *   if selected_node == None:
 *     selnode[0] = NULL
*/
  __pyx_mstate_global->__pyx_tuple[20] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_selnode, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[20])) __PYX_ERR(22, 90, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[20]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[20]);

  /* "src/pyscipopt/scip.pxi":4220
 * 
 *         """
 *         self.setIntParam("propagating/maxroundsroot", 0)             # <<<<<<<<<<<<<<
 *         if not onlyroot:
 *             self.setIntParam("propagating/maxrounds", 0)
*/
  __pyx_mstate_global->__pyx_tuple[21] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u_propagating_maxroundsroot, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[21])) __PYX_ERR(2, 4220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[21]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[21]);

  /* "src/pyscipopt/scip.pxi":4222
 *         self.setIntParam("propagating/maxroundsroot", 0)
 *         if not onlyroot:
 *             self.setIntParam("propagating/maxrounds", 0)             # <<<<<<<<<<<<<<
 * 
 *     def printProblem(self, ext='.cip', trans=False, genericnames=False):
*/
  __pyx_mstate_global->__pyx_tuple[22] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u_propagating_maxrounds, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[22])) __PYX_ERR(2, 4222, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[22]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[22]);

  /* "src/pyscipopt/scip.pxi":4244
 * 
 *         if trans:
 *             PY_SCIP_CALL(SCIPwriteTransProblem(self._scip, NULL, str_conversion(ext)[1:], genericnames))             # <<<<<<<<<<<<<<
 *         else:
 *             PY_SCIP_CALL(SCIPwriteOrigProblem(self._scip, NULL, str_conversion(ext)[1:], genericnames))
*/
  __pyx_mstate_global->__pyx_slice[1] = PySlice_New(__pyx_mstate_global->__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_slice[1])) __PYX_ERR(2, 4244, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_slice[1]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[1]);

  /* "src/pyscipopt/scip.pxi":8831
 * 
 *         # activating the Benders' decomposition constraint handlers
 *         self.setBoolParam("constraints/benderslp/active", True)             # <<<<<<<<<<<<<<
 *         self.setBoolParam("constraints/benders/active", True)
 *         #self.setIntParam("limits/maxorigsol", 0)
*/
  __pyx_mstate_global->__pyx_tuple[23] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u_constraints_benderslp_active, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[23])) __PYX_ERR(2, 8831, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[23]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[23]);

  /* "src/pyscipopt/scip.pxi":8832
 *         # activating the Benders' decomposition constraint handlers
 *         self.setBoolParam("constraints/benderslp/active", True)
 *         self.setBoolParam("constraints/benders/active", True)             # <<<<<<<<<<<<<<
 *         #self.setIntParam("limits/maxorigsol", 0)
 * 
*/
  __pyx_mstate_global->__pyx_tuple[24] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u_constraints_benders_active, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[24])) __PYX_ERR(2, 8832, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[24]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[24]);

  /* "src/pyscipopt/scip.pxi":10584
 *         # use this doubled opening pattern to ensure that IOErrors are
 *         #   triggered early and in Python not in C,Cython or SCIP.
 *         with open(filename, "w") as f:             # <<<<<<<<<<<<<<
 *             cfile = fdopen(f.fileno(), "w")
 *             PY_SCIP_CALL(SCIPprintBestSol(self._scip, cfile, write_zeros))
*/
  __pyx_mstate_global->__pyx_tuple[25] = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[25])) __PYX_ERR(2, 10584, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[25]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[25]);

  /* "src/pyscipopt/scip.pxi":12662
 * 
 *             split_line = line.split(":")
 *             split_line[1] = split_line[1][:-1] # removing \n             # <<<<<<<<<<<<<<
 *             stat_name = split_line[0].strip()
 * 
*/
  __pyx_mstate_global->__pyx_slice[2] = PySlice_New(Py_None, __pyx_mstate_global->__pyx_int_neg_1, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_slice[2])) __PYX_ERR(2, 12662, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_slice[2]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[2]);

  /* "src/pyscipopt/lp.pxi":57
 *         return SCIPlpiIsInfinity(self.lpi, val)
 * 
 *     def addCol(self, entries, obj = 0.0, lb = 0.0, ub = None):             # <<<<<<<<<<<<<<
 *         """Adds a single column to the LP.
 * 
*/
  __pyx_mstate_global->__pyx_tuple[26] = PyTuple_Pack(3, __pyx_mstate_global->__pyx_float_0_0, __pyx_mstate_global->__pyx_float_0_0, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[26])) __PYX_ERR(4, 57, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[26]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[26]);

  /* "src/pyscipopt/lp.pxi":148
 *         PY_SCIP_CALL(SCIPlpiDelCols(self.lpi, firstcol, lastcol))
 * 
 *     def addRow(self, entries, lhs=0.0, rhs=None):             # <<<<<<<<<<<<<<
 *         """Adds a single row to the LP.
 * 
*/
  __pyx_mstate_global->__pyx_tuple[27] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_float_0_0, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[27])) __PYX_ERR(4, 148, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[27]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[27]);

  /* "src/pyscipopt/lp.pxi":174
 *         free(c_inds)
 * 
 *     def addRows(self, entrieslist, lhss = None, rhss = None):             # <<<<<<<<<<<<<<
 *         """Adds multiple rows to the LP.
 * 
*/
  __pyx_mstate_global->__pyx_tuple[28] = PyTuple_Pack(2, Py_None, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[28])) __PYX_ERR(4, 174, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[28]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[28]);

  /* "src/pyscipopt/lp.pxi":220
 *         PY_SCIP_CALL(SCIPlpiDelRows(self.lpi, firstrow, lastrow))
 * 
 *     def getBounds(self, firstcol = 0, lastcol = None):             # <<<<<<<<<<<<<<
 *         """Returns all lower and upper bounds for a range of columns.
 * 
*/
  __pyx_mstate_global->__pyx_tuple[29] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_0, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[29])) __PYX_ERR(4, 220, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[29]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[29]);

  /* "src/pyscipopt/lp.pxi":352
 *         return ncols
 * 
 *     def solve(self, dual=True):             # <<<<<<<<<<<<<<
 *         """Solves the current LP.
 * 
*/
  __pyx_mstate_global->__pyx_tuple[30] = PyTuple_Pack(1, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[30])) __PYX_ERR(4, 352, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[30]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[30]);

  /* "src/pyscipopt/scip.pxi":52
 * # todo: check whether this is currently done like this
 * 
 * if sys.version_info >= (3, 0):             # <<<<<<<<<<<<<<
 *     str_conversion = lambda x:bytes(x,'utf-8')
 * else:
*/
  __pyx_mstate_global->__pyx_tuple[31] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_3, __pyx_mstate_global->__pyx_int_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[31])) __PYX_ERR(2, 52, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[31]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[31]);

  /* "src/pyscipopt/scip.pxi":1927
 *         return SCIPvarGetNLocksUpType(self.scip_var, locktype)
 * 
 *     def varMayRound(self, direction="down"):             # <<<<<<<<<<<<<<
 *         """
 *         Checks whether it is possible to round variable up / down and stay feasible for the relaxation.
*/
  __pyx_mstate_global->__pyx_tuple[32] = PyTuple_Pack(1, __pyx_mstate_global->__pyx_n_u_down); if (unlikely(!__pyx_mstate_global->__pyx_tuple[32])) __PYX_ERR(2, 1927, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[32]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[32]);

  /* "src/pyscipopt/scip.pxi":2846
 *                 PY_SCIP_CALL(SCIPcopy(sourceModel._scip, self._scip, NULL, NULL, n, globalcopy, enablepricing, threadsafe, True, self._valid))
 * 
 *     def attachEventHandlerCallback(self,             # <<<<<<<<<<<<<<
 *         callback,
 *         events,
*/
  __pyx_mstate_global->__pyx_tuple[33] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_eventhandler, __pyx_mstate_global->__pyx_kp_u__11); if (unlikely(!__pyx_mstate_global->__pyx_tuple[33])) __PYX_ERR(2, 2846, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[33]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[33]);

  /* "src/pyscipopt/scip.pxi":3056
 *         PY_SCIP_CALL(SCIPincludeDefaultPlugins(self._scip))
 * 
 *     def createProbBasic(self, problemName='model'):             # <<<<<<<<<<<<<<
 *         """
 *         Create new problem instance with given name.
*/
  __pyx_mstate_global->__pyx_tuple[34] = PyTuple_Pack(1, __pyx_mstate_global->__pyx_n_u_model); if (unlikely(!__pyx_mstate_global->__pyx_tuple[34])) __PYX_ERR(2, 3056, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[34]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[34]);

  /* "src/pyscipopt/scip.pxi":3887
 *         return SCIPisNegative(self._scip, val)
 * 
 *     def getCondition(self, exact=False):             # <<<<<<<<<<<<<<
 *         """
 *         Get the current LP's condition number.
*/
  __pyx_mstate_global->__pyx_tuple[35] = PyTuple_Pack(1, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[35])) __PYX_ERR(2, 3887, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[35]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[35]);

  /* "src/pyscipopt/scip.pxi":3973
 *         return SCIPgetObjlimit(self._scip)
 * 
 *     def setObjective(self, expr, sense = 'minimize', clear = 'true'):             # <<<<<<<<<<<<<<
 *         """
 *         Establish the objective function as a linear expression.
*/
  __pyx_mstate_global->__pyx_tuple[36] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_n_u_minimize, __pyx_mstate_global->__pyx_n_u_true); if (unlikely(!__pyx_mstate_global->__pyx_tuple[36])) __PYX_ERR(2, 3973, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[36]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[36]);

  /* "src/pyscipopt/scip.pxi":4224
 *             self.setIntParam("propagating/maxrounds", 0)
 * 
 *     def printProblem(self, ext='.cip', trans=False, genericnames=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write current model/problem to standard output.
*/
  __pyx_mstate_global->__pyx_tuple[37] = PyTuple_Pack(3, __pyx_mstate_global->__pyx_kp_u_cip, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[37])) __PYX_ERR(2, 4224, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[37]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[37]);

  /* "src/pyscipopt/scip.pxi":4250
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeProblem(self, filename='model.cip', trans=False, genericnames=False, verbose=True):             # <<<<<<<<<<<<<<
 *         """
 *         Write current model/problem to a file.
*/
  __pyx_mstate_global->__pyx_tuple[38] = PyTuple_Pack(4, __pyx_mstate_global->__pyx_kp_u_model_cip, Py_False, Py_False, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[38])) __PYX_ERR(2, 4250, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[38]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[38]);

  /* "src/pyscipopt/scip.pxi":4297
 * 
 *     # Variable Functions
 *     def addVar(self, name='', vtype='C', lb=0.0, ub=None, obj=0.0, pricedVar=False, pricedVarScore=1.0, deletable=False):             # <<<<<<<<<<<<<<
 *         """
 *         Create a new variable. Default variable is non-negative and continuous.
*/
  __pyx_mstate_global->__pyx_tuple[39] = PyTuple_Pack(8, __pyx_mstate_global->__pyx_kp_u__11, __pyx_mstate_global->__pyx_n_u_C, __pyx_mstate_global->__pyx_float_0_0, Py_None, __pyx_mstate_global->__pyx_float_0_0, Py_False, __pyx_mstate_global->__pyx_float_1_0, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[39])) __PYX_ERR(2, 4297, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[39]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[39]);

  /* "src/pyscipopt/scip.pxi":4368
 *         return pyVar
 * 
 *     def addMatrixVar(self,             # <<<<<<<<<<<<<<
 *                      shape: Union[int, Tuple],
 *                      name: Union[str, np.ndarray] = '',
*/
  __pyx_mstate_global->__pyx_tuple[40] = PyTuple_Pack(7, __pyx_mstate_global->__pyx_kp_u__11, __pyx_mstate_global->__pyx_n_u_C, __pyx_mstate_global->__pyx_float_0_0, Py_None, __pyx_mstate_global->__pyx_float_0_0, Py_False, __pyx_mstate_global->__pyx_float_1_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[40])) __PYX_ERR(2, 4368, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[40]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[40]);

  /* "src/pyscipopt/scip.pxi":4573
 *         return deleted
 * 
 *     def aggregateVars(self, Variable varx, Variable vary, coefx=1.0, coefy=-1.0, rhs=0.0):             # <<<<<<<<<<<<<<
 *         """
 *         Aggregate two variables by adding an aggregation constraint.
*/
  __pyx_mstate_global->__pyx_tuple[41] = PyTuple_Pack(3, __pyx_mstate_global->__pyx_float_1_0, __pyx_mstate_global->__pyx_float_neg_1_0, __pyx_mstate_global->__pyx_float_0_0); if (unlikely(!__pyx_mstate_global->__pyx_tuple[41])) __PYX_ERR(2, 4573, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[41]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[41]);

  /* "src/pyscipopt/scip.pxi":5420
 *     #TODO: documentation!!
 *     # LP Row Methods
 *     def createEmptyRowSepa(self, Sepa sepa, name="row", lhs = 0.0, rhs = None, local = True, modifiable = False, removable = True):             # <<<<<<<<<<<<<<
 *         """
 *         Creates and captures an LP row without any coefficients from a separator.
*/
  __pyx_mstate_global->__pyx_tuple[42] = PyTuple_Pack(6, __pyx_mstate_global->__pyx_n_u_row, __pyx_mstate_global->__pyx_float_0_0, Py_None, Py_True, Py_False, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[42])) __PYX_ERR(2, 5420, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[42]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[42]);

  /* "src/pyscipopt/scip.pxi":5612
 *         return SCIPgetRowObjParallelism(self._scip, row.scip_row)
 * 
 *     def getRowParallelism(self, Row row1, Row row2, orthofunc=101):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the degree of parallelism between hyplerplanes. 1 if perfectly parallel, 0 if orthogonal.
*/
  __pyx_mstate_global->__pyx_tuple[43] = PyTuple_Pack(1, __pyx_mstate_global->__pyx_int_101); if (unlikely(!__pyx_mstate_global->__pyx_tuple[43])) __PYX_ERR(2, 5612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[43]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[43]);

  /* "src/pyscipopt/scip.pxi":5659
 *         PY_SCIP_CALL(SCIPaddPoolCut(self._scip, row.scip_row))
 * 
 *     def getCutEfficacy(self, Row cut not None, Solution sol = None):             # <<<<<<<<<<<<<<
 *         """
 *         Returns efficacy of the cut with respect to the given primal solution or the
*/
  __pyx_mstate_global->__pyx_tuple[44] = PyTuple_Pack(1, Py_None); if (unlikely(!__pyx_mstate_global->__pyx_tuple[44])) __PYX_ERR(2, 5659, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[44]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[44]);

  /* "src/pyscipopt/scip.pxi":5764
 *         return SCIPgetNSepaRounds(self._scip)
 * 
 *     def separateSol(self, Solution sol = None, pretendroot = False, allowlocal = True, onlydelayed = False):             # <<<<<<<<<<<<<<
 *         """
 *         Separates the given primal solution or the current LP solution by calling
*/
  __pyx_mstate_global->__pyx_tuple[45] = PyTuple_Pack(4, Py_None, Py_False, Py_True, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[45])) __PYX_ERR(2, 5764, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[45]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[45]);

  /* "src/pyscipopt/scip.pxi":6103
 *         return PyCons
 * 
 *     def createConsFromExpr(self, cons, name='', initial=True, separate=True,             # <<<<<<<<<<<<<<
 *                 enforce=True, check=True, propagate=True, local=False,
 *                 modifiable=False, dynamic=False, removable=False,
*/
  __pyx_mstate_global->__pyx_tuple[46] = PyTuple_Pack(11, __pyx_mstate_global->__pyx_kp_u__11, Py_True, Py_True, Py_True, Py_True, Py_True, Py_False, Py_False, Py_False, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[46])) __PYX_ERR(2, 6103, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[46]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[46]);

  /* "src/pyscipopt/scip.pxi":6488
 *         return matrix_cons.view(MatrixConstraint)
 * 
 *     def addConsDisjunction(self, conss, name = '', initial = True,             # <<<<<<<<<<<<<<
 *         relaxcons = None, enforce=True, check =True,
 *         local=False, modifiable = False, dynamic = False):
*/
  __pyx_mstate_global->__pyx_tuple[47] = PyTuple_Pack(8, __pyx_mstate_global->__pyx_kp_u__11, Py_True, Py_None, Py_True, Py_True, Py_False, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[47])) __PYX_ERR(2, 6488, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[47]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[47]);

  /* "src/pyscipopt/scip.pxi":6830
 *             raise NotImplementedError("Adding coefficients to %s constraints is not implemented." % constype)
 * 
 *     def addConsNode(self, Node node, ExprCons cons, Node validnode=None, name='',             # <<<<<<<<<<<<<<
 *                     initial=True, separate=True, enforce=True, check=True,
 *                     propagate=True, local=True, dynamic=False, removable=True,
*/
  __pyx_mstate_global->__pyx_tuple[48] = PyTuple_Pack(11, Py_None, __pyx_mstate_global->__pyx_kp_u__11, Py_True, Py_True, Py_True, Py_True, Py_True, Py_True, Py_False, Py_True, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[48])) __PYX_ERR(2, 6830, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[48]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[48]);

  /* "src/pyscipopt/scip.pxi":6956
 *         return pycons
 * 
 *     def addConsKnapsack(self, vars, weights, capacity, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 modifiable=False, propagate=True, local=False, dynamic=False,
*/
  __pyx_mstate_global->__pyx_tuple[49] = PyTuple_Pack(11, __pyx_mstate_global->__pyx_kp_u__11, Py_True, Py_True, Py_True, Py_True, Py_False, Py_True, Py_False, Py_False, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[49])) __PYX_ERR(2, 6956, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[49]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[49]);

  /* "src/pyscipopt/scip.pxi":7026
 *         return pyCons
 * 
 *     def addConsSOS1(self, vars, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/
  __pyx_mstate_global->__pyx_tuple[50] = PyTuple_Pack(11, Py_None, __pyx_mstate_global->__pyx_kp_u__11, Py_True, Py_True, Py_True, Py_True, Py_True, Py_False, Py_False, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[50])) __PYX_ERR(2, 7026, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[50]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[50]);

  /* "src/pyscipopt/scip.pxi":7347
 *         return pyCons
 * 
 *     def addConsCardinality(self, consvars, cardval, indvars=None, weights=None, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/
  __pyx_mstate_global->__pyx_tuple[51] = PyTuple_Pack(12, Py_None, Py_None, __pyx_mstate_global->__pyx_kp_u__11, Py_True, Py_True, Py_True, Py_True, Py_True, Py_False, Py_False, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[51])) __PYX_ERR(2, 7347, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[51]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[51]);

  /* "src/pyscipopt/scip.pxi":7433
 *         return pyCons
 * 
 *     def addConsIndicator(self, cons, binvar=None, activeone=True, name="",             # <<<<<<<<<<<<<<
 *                 initial=True, separate=True, enforce=True, check=True,
 *                 propagate=True, local=False, dynamic=False,
*/
  __pyx_mstate_global->__pyx_tuple[52] = PyTuple_Pack(12, Py_None, Py_True, __pyx_mstate_global->__pyx_kp_u__11, Py_True, Py_True, Py_True, Py_True, Py_True, Py_False, Py_False, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[52])) __PYX_ERR(2, 7433, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[52]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[52]);

  /* "src/pyscipopt/scip.pxi":9055
 *         return Model.create(scip_subprob)
 * 
 *     def getBendersVar(self, Variable var, Benders benders = None, probnumber = -1):             # <<<<<<<<<<<<<<
 *         """
 *         Returns the variable for the subproblem or master problem
*/
  __pyx_mstate_global->__pyx_tuple[53] = PyTuple_Pack(2, Py_None, __pyx_mstate_global->__pyx_int_neg_1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[53])) __PYX_ERR(2, 9055, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[53]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[53]);

  /* "src/pyscipopt/scip.pxi":9198
 *         Py_INCREF(eventhdlr)
 * 
 *     def includePricer(self, Pricer pricer, name, desc, priority=1, delay=True):             # <<<<<<<<<<<<<<
 *         """
 *         Include a pricer.
*/
  __pyx_mstate_global->__pyx_tuple[54] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_1, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[54])) __PYX_ERR(2, 9198, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[54]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[54]);

  /* "src/pyscipopt/scip.pxi":9383
 *         return solution
 * 
 *     def createCons(self, Conshdlr conshdlr, name, initial=True, separate=True, enforce=True, check=True, propagate=True,             # <<<<<<<<<<<<<<
 *                    local=False, modifiable=False, dynamic=False, removable=False, stickingatnode=False):
 *         """
*/
  __pyx_mstate_global->__pyx_tuple[55] = PyTuple_Pack(10, Py_True, Py_True, Py_True, Py_True, Py_True, Py_False, Py_False, Py_False, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[55])) __PYX_ERR(2, 9383, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[55]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[55]);

  /* "src/pyscipopt/scip.pxi":9456
 *         Py_INCREF(presol)
 * 
 *     def includeSepa(self, Sepa sepa, name, desc, priority=0, freq=10, maxbounddist=1.0, usessubscip=False, delay=False):             # <<<<<<<<<<<<<<
 *         """
 *         Include a separator
*/
  __pyx_mstate_global->__pyx_tuple[56] = PyTuple_Pack(5, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_10, __pyx_mstate_global->__pyx_float_1_0, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[56])) __PYX_ERR(2, 9456, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[56]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[56]);

  /* "src/pyscipopt/scip.pxi":9612
 *         Py_INCREF(heur)
 * 
 *     def includeIISfinder(self, IISfinder iisfinder, name, desc, priority=10000, freq=1):             # <<<<<<<<<<<<<<
 *         """
 *         Include an IIS (Irreducible Infeasible Set) finder handler.
*/
  __pyx_mstate_global->__pyx_tuple[57] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_int_10000, __pyx_mstate_global->__pyx_int_1); if (unlikely(!__pyx_mstate_global->__pyx_tuple[57])) __PYX_ERR(2, 9612, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[57]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[57]);

  /* "src/pyscipopt/scip.pxi":9791
 *         Py_INCREF(nodesel)
 * 
 *     def includeBenders(self, Benders benders, name, desc, priority=1, cutlp=True, cutpseudo=True, cutrelax=True,             # <<<<<<<<<<<<<<
 *             shareaux=False):
 *         """
*/
  __pyx_mstate_global->__pyx_tuple[58] = PyTuple_Pack(5, __pyx_mstate_global->__pyx_int_1, Py_True, Py_True, Py_True, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[58])) __PYX_ERR(2, 9791, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[58]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[58]);

  /* "src/pyscipopt/scip.pxi":10401
 *     # Solution functions
 * 
 *     def writeLP(self, filename="LP.lp"):             # <<<<<<<<<<<<<<
 *         """
 *         Writes current LP to a file.
*/
  __pyx_mstate_global->__pyx_tuple[59] = PyTuple_Pack(1, __pyx_mstate_global->__pyx_kp_u_LP_lp); if (unlikely(!__pyx_mstate_global->__pyx_tuple[59])) __PYX_ERR(2, 10401, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[59]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[59]);

  /* "src/pyscipopt/scip.pxi":10419
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeMIP(self, filename, genericnames=False, origobj=False, lazyconss=False):             # <<<<<<<<<<<<<<
 *         """
 *         Writes MIP relaxation of the current branch-and-bound node to a file
*/
  __pyx_mstate_global->__pyx_tuple[60] = PyTuple_Pack(3, Py_False, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[60])) __PYX_ERR(2, 10419, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[60]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[60]);

  /* "src/pyscipopt/scip.pxi":10442
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def createSol(self, Heur heur = None, initlp=False):             # <<<<<<<<<<<<<<
 *         """
 *         Create a new primal solution in the transformed space.
*/
  __pyx_mstate_global->__pyx_tuple[61] = PyTuple_Pack(2, Py_None, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[61])) __PYX_ERR(2, 10442, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[61]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[61]);

  /* "src/pyscipopt/scip.pxi":10566
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeBestSol(self, filename="origprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the best feasible primal solution to a file.
*/
  __pyx_mstate_global->__pyx_tuple[62] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u_origprob_sol, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[62])) __PYX_ERR(2, 10566, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[62]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[62]);

  /* "src/pyscipopt/scip.pxi":10590
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeBestTransSol(self, filename="transprob.sol", write_zeros=False):             # <<<<<<<<<<<<<<
 *         """
 *         Write the best feasible primal solution for the transformed problem to a file.
*/
  __pyx_mstate_global->__pyx_tuple[63] = PyTuple_Pack(2, __pyx_mstate_global->__pyx_kp_u_transprob_sol, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[63])) __PYX_ERR(2, 10590, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[63]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[63]);

  /* "src/pyscipopt/scip.pxi":10741
 *         PY_SCIP_CALL(SCIPsetSolVal(self._scip, _sol, var.scip_var, val))
 * 
 *     def trySol(self, Solution solution, printreason=True, completely=False, checkbounds=True, checkintegrality=True, checklprows=True, free=True):             # <<<<<<<<<<<<<<
 *         """
 *         Check given primal solution for feasibility and try to add it to the storage.
*/
  __pyx_mstate_global->__pyx_tuple[64] = PyTuple_Pack(6, Py_True, Py_False, Py_True, Py_True, Py_True, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[64])) __PYX_ERR(2, 10741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[64]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[64]);

  /* "src/pyscipopt/scip.pxi":10775
 *         return stored
 * 
 *     def checkSol(self, Solution solution, printreason=True, completely=False, checkbounds=True, checkintegrality=True, checklprows=True, original=False):             # <<<<<<<<<<<<<<
 *         """
 *         Check given primal solution for feasibility without adding it to the storage.
*/
  __pyx_mstate_global->__pyx_tuple[65] = PyTuple_Pack(6, Py_True, Py_False, Py_True, Py_True, Py_True, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[65])) __PYX_ERR(2, 10775, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[65]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[65]);

  /* "src/pyscipopt/scip.pxi":11427
 *         locale.setlocale(locale.LC_NUMERIC,user_locale)
 * 
 *     def writeStatistics(self, filename="origprob.stats"):             # <<<<<<<<<<<<<<
 *         """
 *         Write statistics to a file.
*/
  __pyx_mstate_global->__pyx_tuple[66] = PyTuple_Pack(1, __pyx_mstate_global->__pyx_kp_u_origprob_stats); if (unlikely(!__pyx_mstate_global->__pyx_tuple[66])) __PYX_ERR(2, 11427, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[66]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[66]);

  /* "src/pyscipopt/scip.pxi":11449
 * 
 * 
 *     def writeStatisticsJson(self, filename="origprob.stats.json"):             # <<<<<<<<<<<<<<
 *         """
 *         Write statistics to a JSON file.
*/
  __pyx_mstate_global->__pyx_tuple[67] = PyTuple_Pack(1, __pyx_mstate_global->__pyx_kp_u_origprob_stats_json); if (unlikely(!__pyx_mstate_global->__pyx_tuple[67])) __PYX_ERR(2, 11449, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[67]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[67]);

  /* "src/pyscipopt/scip.pxi":11741
 *         locale.setlocale(locale.LC_NUMERIC, user_locale)
 * 
 *     def writeParams(self, filename='param.set', comments=True, onlychanged=True, verbose=True):             # <<<<<<<<<<<<<<
 *         """
 *         Write parameter settings to an external file.
*/
  __pyx_mstate_global->__pyx_tuple[68] = PyTuple_Pack(4, __pyx_mstate_global->__pyx_kp_u_param_set, Py_True, Py_True, Py_True); if (unlikely(!__pyx_mstate_global->__pyx_tuple[68])) __PYX_ERR(2, 11741, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[68]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[68]);

  /* "src/pyscipopt/scip.pxi":11875
 *         PY_SCIP_CALL(SCIPfreeReoptSolve(self._scip))
 * 
 *     def chgReoptObjective(self, coeffs, sense = 'minimize'):             # <<<<<<<<<<<<<<
 *         """
 *         Change the objective function for reoptimization.
*/
  __pyx_mstate_global->__pyx_tuple[69] = PyTuple_Pack(1, __pyx_mstate_global->__pyx_n_u_minimize); if (unlikely(!__pyx_mstate_global->__pyx_tuple[69])) __PYX_ERR(2, 11875, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[69]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[69]);

  /* "src/pyscipopt/scip.pxi":12020
 *         return node_num
 * 
 *     def getVarStrongbranch(self, Variable var, itlim, idempotent=False, integral=False):             # <<<<<<<<<<<<<<
 *         """
 *         Strong branches and gets information on column variable.
*/
  __pyx_mstate_global->__pyx_tuple[70] = PyTuple_Pack(2, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[70])) __PYX_ERR(2, 12020, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[70]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[70]);

  /* "src/pyscipopt/scip.pxi":12200
 *         PY_SCIP_CALL(SCIPaddRowExact(self._scip, rowexact.scip_row_exact))
 * 
 *     def getBipartiteGraphRepresentation(self, prev_col_features=None, prev_edge_features=None, prev_row_features=None,             # <<<<<<<<<<<<<<
 *                                         static_only=False, suppress_warnings=False):
 *         """
*/
  __pyx_mstate_global->__pyx_tuple[71] = PyTuple_Pack(5, Py_None, Py_None, Py_None, Py_False, Py_False); if (unlikely(!__pyx_mstate_global->__pyx_tuple[71])) __PYX_ERR(2, 12200, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[71]);
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[71]);
  #if CYTHON_IMMORTAL_CONSTANTS
  {
    PyObject **table = __pyx_mstate->__pyx_tuple;
    for (Py_ssize_t i=0; i<72; ++i) {
      #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
      #if PY_VERSION_HEX < 0x030E0000
      if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)
      #else
      if (PyUnstable_Object_IsUniquelyReferenced(table[i]))
      #endif
      {
        Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);
      }
      #else
      Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);
      #endif
    }
  }
  #endif
  #if CYTHON_IMMORTAL_CONSTANTS
  {
    PyObject **table = __pyx_mstate->__pyx_slice;
    for (Py_ssize_t i=0; i<3; ++i) {
      #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
      #if PY_VERSION_HEX < 0x030E0000
      if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)
      #else
      if (PyUnstable_Object_IsUniquelyReferenced(table[i]))
      #endif
      {
        Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);
      }
      #else
      Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);
      #endif
    }
  }
  #endif
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}
/* #### Code section: init_constants ### */

static int __Pyx_InitConstants(__pyx_mstatetype *__pyx_mstate) {
  CYTHON_UNUSED_VAR(__pyx_mstate);
  {
    const struct { const unsigned int length: 12; } index[] = {{2},{5},{57},{68},{85},{2173},{97},{35},{54},{54},{230},{37},{60},{50},{24},{37},{52},{48},{29},{8},{26},{66},{10},{34},{23},{43},{31},{9},{32},{32},{8},{14},{38},{37},{29},{33},{45},{22},{5},{70},{15},{33},{19},{115},{21},{48},{26},{179},{49},{37},{37},{21},{22},{19},{33},{31},{30},{12},{12},{45},{51},{36},{39},{25},{125},{25},{26},{27},{32},{45},{63},{45},{79},{80},{24},{17},{33},{41},{34},{49},{48},{54},{51},{26},{24},{128},{18},{15},{30},{8},{59},{55},{41},{82},{69},{63},{39},{69},{111},{76},{10},{32},{31},{32},{23},{31},{23},{24},{17},{29},{35},{22},{37},{22},{17},{63},{8},{0},{4},{1},{1},{1},{1},{1},{1},{1},{1},{2},{2},{2},{1},{1},{1},{1},{2},{1},{1},{63},{46},{8},{5},{6},{91},{89},{88},{88},{87},{87},{78},{36},{29},{53},{53},{43},{48},{53},{44},{38},{44},{40},{45},{41},{45},{18},{4},{51},{15},{84},{85},{85},{88},{83},{27},{27},{26},{28},{23},{25},{45},{7},{59},{6},{23},{84},{66},{52},{25},{8},{20},{142},{2},{52},{38},{39},{58},{44},{47},{6},{35},{83},{88},{41},{9},{30},{13},{81},{89},{18},{42},{48},{48},{36},{9},{84},{50},{39},{10},{8},{14},{39},{34},{8},{22},{12},{14},{19},{9},{85},{87},{88},{11},{21},{25},{83},{86},{59},{84},{37},{65},{61},{84},{62},{60},{70},{65},{71},{66},{68},{85},{67},{66},{68},{65},{71},{70},{65},{25},{28},{28},{26},{24},{23},{22},{27},{27},{20},{24},{25},{24},{24},{28},{24},{23},{22},{22},{20},{32},{22},{39},{45},{13},{15},{30},{37},{28},{35},{26},{5},{46},{33},{22},{11},{11},{13},{13},{15},{17},{10},{10},{5},{4},{1},{14},{8},{10},{12},{9},{12},{12},{6},{12},{12},{14},{8},{7},{25},{27},{24},{19},{22},{22},{19},{22},{21},{19},{22},{22},{24},{26},{23},{29},{10},{28},{30},{25},{25},{28},{25},{25},{28},{11},{29},{31},{27},{24},{23},{18},{23},{10},{28},{30},{24},{23},{23},{21},{24},{21},{21},{24},{1},{5},{5},{6},{14},{8},{4},{9},{11},{5},{10},{7},{8},{6},{6},{11},{29},{31},{24},{26},{13},{21},{15},{12},{18},{17},{12},{13},{17},{8},{26},{28},{19},{18},{17},{21},{19},{20},{20},{19},{19},{19},{22},{17},{20},{20},{17},{26},{21},{28},{34},{20},{17},{19},{20},{20},{17},{18},{19},{18},{17},{20},{19},{20},{18},{8},{26},{28},{18},{10},{28},{30},{26},{19},{20},{20},{21},{20},{21},{19},{23},{18},{23},{22},{21},{23},{22},{22},{27},{14},{11},{6},{24},{26},{17},{20},{17},{17},{20},{19},{7},{7},{7},{10},{9},{8},{10},{9},{17},{11},{9},{12},{16},{17},{13},{31},{33},{26},{7},{5},{10},{12},{9},{8},{5},{12},{10},{23},{25},{20},{13},{17},{13},{17},{12},{13},{12},{9},{27},{29},{19},{21},{19},{19},{22},{19},{19},{22},{4},{8},{26},{28},{18},{22},{24},{14},{11},{14},{4},{7},{11},{8},{7},{13},{5},{9},{4},{8},{4},{9},{11},{8},{10},{10},{10},{12},{12},{10},{10},{3},{7},{25},{27},{14},{13},{8},{6},{11},{4},{22},{24},{13},{13},{16},{13},{13},{16},{1},{3},{21},{23},{13},{14},{11},{25},{23},{24},{24},{25},{9},{27},{29},{23},{23},{9},{7},{10},{9},{4},{12},{9},{7},{9},{8},{8},{9},{9},{11},{10},{4},{10},{12},{12},{5},{2},{7},{6},{7},{5},{8},{7},{20},{22},{9},{10},{9},{10},{11},{10},{9},{10},{8},{10},{10},{14},{15},{12},{10},{13},{14},{17},{12},{12},{15},{15},{13},{11},{11},{17},{13},{12},{19},{8},{8},{9},{14},{15},{8},{10},{7},{1},{5},{9},{6},{8},{5},{5},{8},{16},{32},{25},{26},{26},{27},{26},{25},{24},{29},{28},{29},{28},{28},{33},{10},{14},{30},{47},{21},{26},{43},{20},{13},{14},{24},{21},{23},{23},{26},{25},{28},{21},{26},{25},{28},{21},{26},{20},{5},{23},{25},{29},{23},{26},{26},{20},{21},{26},{21},{19},{13},{16},{24},{18},{24},{28},{22},{21},{18},{17},{15},{17},{17},{16},{14},{12},{22},{19},{28},{18},{18},{16},{15},{16},{17},{12},{12},{17},{21},{16},{16},{17},{19},{19},{19},{17},{24},{19},{19},{22},{32},{22},{19},{15},{18},{24},{23},{25},{16},{19},{19},{38},{29},{14},{25},{19},{12},{23},{12},{19},{19},{26},{14},{18},{20},{18},{21},{19},{22},{16},{14},{18},{20},{18},{21},{31},{17},{33},{11},{17},{16},{24},{24},{26},{19},{22},{21},{15},{16},{22},{19},{13},{18},{12},{21},{24},{15},{18},{18},{20},{24},{26},{13},{16},{21},{13},{14},{15},{14},{15},{13},{12},{19},{24},{10},{28},{14},{20},{13},{19},{14},{17},{17},{28},{26},{19},{18},{17},{17},{20},{16},{22},{37},{28},{25},{17},{19},{18},{18},{17},{17},{14},{20},{20},{31},{20},{14},{23},{19},{18},{22},{27},{25},{24},{22},{12},{19},{12},{19},{18},{19},{22},{19},{17},{19},{18},{15},{12},{28},{22},{19},{21},{17},{21},{23},{17},{18},{15},{18},{21},{14},{21},{24},{18},{26},{17},{23},{16},{22},{16},{13},{16},{22},{16},{26},{15},{17},{20},{18},{14},{19},{34},{20},{14},{17},{28},{25},{28},{15},{15},{18},{23},{17},{18},{18},{14},{15},{20},{23},{27},{18},{21},{20},{18},{20},{17},{21},{26},{20},{21},{12},{20},{19},{22},{18},{22},{26},{23},{17},{14},{26},{18},{16},{15},{13},{20},{14},{18},{15},{20},{23},{18},{24},{23},{27},{12},{19},{16},{18},{22},{27},{19},{24},{28},{28},{18},{13},{16},{24},{18},{16},{15},{21},{20},{31},{23},{23},{21},{19},{27},{22},{17},{22},{20},{19},{19},{17},{19},{18},{17},{14},{24},{20},{21},{22},{10},{13},{14},{14},{14},{20},{14},{14},{20},{20},{16},{10},{10},{17},{16},{16},{10},{18},{10},{22},{16},{25},{19},{16},{12},{22},{22},{26},{20},{14},{19},{14},{18},{15},{31},{16},{18},{14},{14},{21},{25},{18},{22},{16},{17},{13},{17},{20},{11},{16},{21},{16},{17},{18},{17},{34},{18},{18},{14},{17},{17},{19},{19},{16},{17},{16},{21},{17},{17},{19},{20},{18},{17},{14},{15},{24},{17},{17},{18},{20},{18},{19},{15},{20},{28},{28},{21},{17},{20},{17},{15},{18},{23},{18},{24},{18},{24},{12},{21},{12},{30},{26},{25},{13},{18},{23},{13},{14},{15},{17},{18},{14},{21},{25},{19},{7},{8},{6},{5},{23},{25},{17},{16},{12},{20},{12},{12},{10},{9},{12},{11},{14},{9},{10},{4},{9},{8},{4},{22},{24},{18},{13},{14},{16},{18},{19},{15},{25},{14},{14},{24},{12},{13},{22},{7},{25},{27},{16},{16},{19},{16},{16},{19},{18},{14},{10},{6},{8},{3},{7},{10},{8},{2},{8},{8},{8},{7},{5},{9},{12},{10},{9},{12},{9},{13},{10},{7},{11},{11},{7},{6},{10},{9},{23},{41},{43},{17},{35},{37},{12},{17},{35},{37},{18},{36},{38},{19},{37},{39},{16},{34},{36},{15},{33},{35},{17},{35},{37},{16},{34},{36},{21},{39},{41},{20},{38},{40},{20},{38},{40},{18},{36},{38},{14},{32},{34},{21},{39},{41},{17},{35},{37},{13},{31},{33},{14},{32},{34},{7},{25},{27},{17},{6},{24},{26},{17},{17},{20},{17},{17},{20},{6},{24},{26},{17},{20},{19},{17},{17},{20},{20},{8},{26},{28},{18},{4},{22},{24},{13},{13},{16},{16},{13},{13},{16},{16},{15},{16},{6},{5},{20},{10},{10},{8},{11},{5},{8},{5},{12},{10},{12},{10},{14},{15},{12},{14},{8},{12},{14},{6},{24},{26},{17},{17},{18},{5},{23},{25},{15},{15},{18},{15},{15},{18},{3},{8},{26},{28},{21},{23},{10},{18},{11},{29},{15},{17},{14},{12},{10},{14},{12},{11},{17},{10},{11},{21},{14},{11},{16},{15},{7},{25},{13},{4},{9},{7},{8},{8},{8},{6},{7},{7},{14},{6},{7},{7},{9},{4},{4},{22},{24},{15},{16},{13},{16},{13},{13},{16},{8},{8},{26},{28},{20},{18},{20},{18},{10},{10},{24},{18},{28},{34},{25},{25},{34},{28},{38},{44},{35},{35},{27},{17},{7},{25},{27},{17},{1},{7},{9},{6},{14},{11},{12},{13},{4},{22},{24},{14},{5},{9},{9},{11},{9},{12},{7},{6},{7},{13},{9},{27},{29},{19},{5},{8},{10},{10},{8},{8},{11},{9},{27},{29},{7},{25},{27},{17},{8},{26},{28},{18},{15},{20},{17},{17},{20},{19},{22},{23},{33},{22},{26},{20},{24},{15},{18},{20},{19},{22},{17},{17},{20},{26},{15},{19},{29},{19},{25},{27},{12},{20},{14},{9},{15},{4},{4},{1},{1},{7},{8},{4},{6},{3},{3},{7},{7},{15},{6},{9},{8},{7},{20},{15},{13},{6},{7},{24},{7},{10},{18},{12},{18},{43},{22},{16},{15},{12},{11},{9},{11},{11},{10},{8},{33},{6},{16},{13},{22},{12},{12},{10},{9},{6},{10},{11},{7},{24},{6},{6},{11},{15},{10},{10},{11},{3},{10},{14},{13},{13},{3},{13},{10},{11},{15},{18},{12},{10},{3},{8},{15},{6},{13},{13},{16},{16},{3},{4},{5},{18},{15},{7},{17},{18},{26},{48},{57},{58},{58},{58},{4},{7},{7},{15},{17},{7},{4},{1},{7},{4},{16},{4},{5},{11},{11},{12},{11},{10},{6},{7},{8},{16},{10},{14},{14},{17},{14},{14},{17},{11},{14},{14},{11},{14},{13},{11},{14},{14},{16},{18},{15},{21},{18},{12},{4},{9},{10},{10},{10},{7},{6},{5},{6},{7},{4},{15},{8},{10},{13},{9},{12},{12},{9},{13},{12},{12},{10},{13},{10},{10},{13},{10},{10},{15},{1},{10},{5},{7},{7},{5},{12},{9},{6},{4},{5},{5},{6},{5},{6},{6},{11},{5},{9},{5},{6},{5},{4},{5},{18},{17},{19},{8},{8},{8},{7},{7},{10},{13},{13},{8},{5},{12},{5},{32},{23},{8},{11},{11},{7},{8},{16},{11},{9},{8},{19},{7},{13},{6},{6},{17},{6},{13},{13},{7},{20},{8},{12},{14},{12},{15},{13},{16},{10},{8},{12},{14},{12},{15},{5},{8},{9},{12},{9},{17},{5},{18},{5},{7},{5},{4},{5},{6},{7},{12},{5},{5},{5},{3},{15},{12},{5},{7},{15},{4},{7},{8},{10},{25},{9},{8},{7},{4},{10},{9},{8},{12},{10},{11},{11},{10},{10},{10},{13},{8},{11},{11},{8},{17},{12},{19},{25},{11},{8},{12},{8},{10},{11},{11},{8},{9},{10},{9},{8},{11},{5},{10},{11},{5},{8},{10},{11},{12},{9},{11},{8},{8},{10},{8},{4},{27},{7},{12},{9},{12},{29},{12},{9},{26},{3},{5},{11},{10},{18},{23},{17},{20},{20},{18},{20},{13},{16},{15},{9},{10},{3},{16},{3},{5},{6},{10},{9},{8},{4},{6},{10},{13},{10},{10},{13},{12},{1},{4},{9},{11},{16},{14},{3},{6},{23},{13},{7},{7},{12},{7},{6},{5},{7},{9},{9},{9},{6},{7},{3},{4},{11},{8},{4},{5},{9},{3},{15},{18},{9},{8},{3},{7},{6},{3},{6},{4},{9},{12},{7},{9},{9},{12},{12},{5},{15},{4},{10},{8},{9},{7},{8},{16},{18},{16},{7},{1},{9},{4},{16},{13},{4},{5},{6},{14},{18},{20},{13},{6},{7},{10},{15},{12},{7},{8},{8},{15},{9},{7},{11},{5},{9},{7},{6},{2},{7},{5},{5},{8},{9},{5},{13},{9},{11},{9},{9},{12},{9},{12},{13},{9},{10},{9},{12},{6},{9},{5},{8},{3},{4},{8},{4},{13},{13},{13},{3},{6},{9},{1},{4},{6},{8},{9},{8},{9},{11},{8},{7},{4},{8},{6},{14},{8},{8},{4},{6},{13},{8},{5},{8},{9},{5},{4},{11},{7},{5},{7},{18},{2},{5},{8},{10},{6},{7},{4},{4},{22},{8},{14},{7},{13},{9},{4},{7},{8},{10},{4},{8},{5},{6},{3},{8},{2},{11},{12},{7},{3},{11},{13},{6},{9},{12},{14},{22},{20},{13},{12},{11},{11},{14},{10},{16},{31},{12},{15},{9},{12},{22},{19},{11},{6},{13},{7},{12},{12},{25},{11},{11},{15},{8},{11},{14},{14},{25},{14},{8},{9},{7},{17},{10},{13},{12},{16},{13},{21},{19},{10},{18},{16},{11},{14},{6},{13},{6},{11},{8},{11},{13},{12},{13},{16},{13},{11},{8},{13},{8},{12},{5},{11},{10},{13},{9},{6},{22},{14},{16},{13},{15},{11},{15},{14},{17},{11},{14},{24},{12},{9},{12},{15},{8},{15},{10},{18},{12},{20},{11},{14},{17},{10},{16},{10},{10},{7},{10},{16},{13},{17},{11},{15},{10},{20},{9},{8},{20},{11},{14},{12},{8},{13},{28},{14},{8},{11},{7},{11},{22},{19},{22},{9},{7},{7},{9},{6},{11},{9},{12},{17},{11},{12},{11},{5},{12},{9},{13},{8},{9},{9},{19},{14},{17},{9},{21},{12},{15},{14},{10},{12},{14},{11},{15},{20},{14},{12},{10},{15},{6},{6},{14},{13},{16},{12},{16},{20},{17},{11},{8},{8},{20},{12},{10},{9},{7},{14},{8},{12},{14},{9},{10},{14},{17},{7},{12},{18},{17},{21},{7},{5},{11},{10},{13},{6},{7},{13},{6},{10},{12},{16},{21},{13},{18},{22},{22},{12},{7},{10},{18},{9},{12},{14},{10},{7},{13},{21},{12},{6},{7},{7},{6},{4},{5},{8},{8},{11},{8},{8},{11},{8},{10},{10},{1},{2},{10},{3},{4},{4},{9},{13},{13},{8},{16},{8},{10},{9},{15},{5},{14},{25},{17},{17},{15},{13},{21},{16},{11},{16},{14},{13},{13},{11},{13},{12},{11},{5},{7},{4},{6},{14},{7},{3},{10},{9},{8},{9},{8},{18},{25},{26},{7},{6},{3},{7},{8},{14},{7},{11},{8},{15},{8},{8},{9},{16},{11},{14},{9},{4},{10},{7},{8},{8},{8},{14},{8},{8},{14},{14},{10},{4},{4},{11},{17},{17},{6},{10},{9},{10},{10},{4},{12},{4},{8},{12},{7},{12},{16},{10},{20},{11},{19},{13},{9},{10},{10},{16},{12},{17},{11},{16},{11},{11},{16},{19},{20},{6},{13},{10},{15},{10},{8},{6},{8},{7},{11},{11},{4},{5},{8},{5},{9},{5},{1},{1},{9},{8},{3},{4},{4},{8},{6},{8},{7},{7},{9},{2},{3},{2},{7},{6},{6},{4},{10},{3},{4},{4},{8},{7},{8},{7},{4},{6},{8},{8},{7},{5},{6},{8},{3},{7},{5},{10},{11},{7},{11},{10},{7},{3},{16},{8},{6},{1},{8},{3},{9},{10},{16},{20},{18},{4},{6},{16},{13},{12},{11},{14},{14},{14},{10},{12},{17},{12},{11},{24},{18},{16},{16},{15},{21},{10},{15},{13},{3},{11},{12},{8},{7},{8},{9},{16},{12},{13},{9},{8},{8},{15},{7},{15},{6},{13},{6},{21},{11},{8},{5},{4},{5},{10},{10},{9},{15},{7},{3},{24},{16},{1},{13},{10},{14},{7},{17},{15},{23},{14},{8},{14},{7},{11},{23},{17},{27},{33},{24},{24},{16},{14},{6},{10},{17},{6},{9},{9},{9},{3},{4},{8},{11},{8},{11},{10},{11},{11},{6},{7},{9},{9},{12},{9},{10},{5},{9},{6},{7},{9},{4},{7},{13},{9},{6},{7},{8},{6},{7},{6},{14},{6},{7},{8},{6},{6},{6},{6},{4},{10},{13},{6},{8},{8},{10},{9},{9},{8},{8},{5},{6},{12},{12},{12},{12},{10},{12},{12},{15},{12},{13},{9},{13},{5},{5},{4},{5},{5},{8},{8},{8},{11},{8},{14},{8},{11},{9},{5},{7},{10},{11},{9},{7},{4},{9},{20},{9},{2},{12},{15},{16},{5},{12},{10},{7},{5},{13},{10},{5},{12},{6},{5},{18},{21},{10},{12},{5},{3},{8},{10},{8},{6},{9},{13},{8},{9},{4},{8},{8},{6},{6},{11},{10},{11},{8},{2},{3},{4},{8},{5},{7},{8},{13},{9},{9},{8},{8},{7},{8},{9},{2},{7},{5},{6},{3},{4},{12},{5},{6},{9},{7},{15},{4},{4},{3},{3},{5},{11},{6},{10},{10},{13},{10},{10},{13},{15},{14},{12},{8},{22},{22},{20},{10},{15},{11},{17},{18},{17},{9},{14},{6},{10},{13},{12},{10},{10},{13},{13},{12},{20},{11},{9},{5},{12},{9},{25},{10},{12},{8},{8},{15},{19},{12},{19},{11},{8},{12},{11},{12},{10},{4},{8},{4},{9},{16},{10},{8},{8},{8},{11},{11},{8},{8},{8},{11},{11},{10},{11},{10},{5},{11},{3},{6},{5},{13},{15},{12},{6},{14},{14},{5},{14},{12},{11},{10},{25},{25},{23},{23},{21},{19},{24},{19},{23},{22},{19},{22},{38},{32},{32},{33},{34},{31},{30},{32},{31},{36},{35},{35},{33},{29},{36},{32},{28},{29},{22},{21},{23},{19},{21},{20},{19},{22},{19},{24},{22},{14},{8},{8},{8},{9},{7},{12},{9},{8},{5},{11},{3},{2},{6},{10},{11},{7},{11},{14},{31},{6},{10},{10},{11},{7},{12},{9},{8},{8},{7},{14},{6},{10},{17},{13},{9},{8},{5},{9},{9},{9},{9},{12},{9},{9},{12},{10},{14},{9},{6},{8},{26},{15},{3},{10},{11},{7},{7},{12},{12},{6},{11},{10},{6},{7},{14},{7},{11},{6},{3},{4},{4},{8},{6},{4},{3},{4},{4},{8},{15},{12},{7},{8},{8},{4},{4},{12},{15},{8},{8},{9},{13},{9},{14},{11},{9},{8},{12},{8},{9},{8},{8},{5},{9},{4},{7},{4},{5},{4},{10},{11},{8},{11},{8},{8},{8},{11},{12},{8},{11},{9},{28},{12},{12},{8},{11},{11},{13},{13},{10},{11},{10},{15},{11},{11},{13},{14},{12},{11},{8},{9},{18},{11},{11},{12},{14},{12},{13},{9},{14},{20},{21},{12},{10},{9},{6},{12},{19},{7},{22},{5},{8},{9},{8},{4},{9},{3},{3},{4},{9},{3},{6},{4},{9},{10},{10},{9},{8},{7},{13},{8},{6},{5},{4},{8},{9},{6},{5},{22},{15},{11},{14},{8},{7},{12},{11},{6},{11},{11},{16},{5},{9},{10},{12},{9},{8},{7},{7},{4},{10},{11},{14},{5},{9},{12},{17},{11},{10},{4},{9},{5},{11},{12},{5},{6},{6},{6},{11},{4},{14},{4},{9},{6},{3},{11},{14},{5},{6},{9},{7},{10},{11},{8},{7},{11},{7},{3},{7},{5},{17},{3},{1},{14},{6},{9},{10},{11},{9},{4},{9},{7},{8},{5},{8},{10},{5},{12},{18},{12},{18},{9},{9},{6},{10},{3},{6},{6},{5},{10},{14},{5},{9},{11},{9},{15},{9},{12},{14},{4},{11},{6},{5},{6},{2},{3},{5},{11},{9},{7},{6},{2},{7},{10},{6},{24},{20},{19},{5},{5},{7},{12},{14},{11},{13},{11},{1},{9},{3},{4},{4},{8},{5},{9},{4},{5},{8},{5},{14},{9},{6},{3},{4},{4},{11},{8},{8},{9},{8},{8},{7},{8},{8},{10},{9},{6},{6},{4},{5},{10},{12},{9},{7},{4},{4},{7},{13},{7},{7},{9},{7},{7},{12},{4},{5},{6},{1},{4},{8},{7},{6},{7},{13},{7},{5},{12},{17},{7},{8},{9},{11},{12},{8},{15},{19},{13},{11},{1},{4},{5},{3},{311},{24},{11},{113},{11},{2},{37},{11},{11},{36},{86},{35},{2},{9},{9},{11},{167},{37},{218},{85},{65},{113},{100},{92},{136},{250},{61},{80},{11},{35},{162},{11},{46},{100},{14},{144},{128},{11},{11},{120},{264},{208},{102},{111},{48},{48},{226},{2},{77},{407},{1310},{182},{123},{72},{11},{11},{24},{81},{93},{16},{20},{15},{17},{15},{39},{39},{70},{30},{19},{22},{15},{25},{18},{40},{72},{35},{12},{56},{56},{12},{47},{31},{49},{44},{43},{44},{51},{46},{45},{46},{14},{39},{676},{1101},{189},{34},{110},{57},{59},{59},{110},{16},{16},{16},{15},{14},{46},{47},{29},{29},{31},{31},{24},{122},{124},{47},{20},{46},{217},{68},{80},{100},{11},{47},{28},{103},{160},{81},{151},{100},{100},{115},{37},{41},{41},{49},{90},{66},{122},{172},{56},{57},{58},{58},{20},{20},{19},{20},{100},{20},{20},{109},{79},{75},{40},{57},{73},{110},{305},{55},{16},{14},{15},{15},{16},{15},{17},{16},{42},{18},{22},{24},{102},{15},{37},{47},{38},{16},{22},{22},{21},{20},{23},{27},{38},{19},{23},{21},{74},{17},{19},{34},{20},{50},{38},{24},{17},{19},{21},{15},{21},{25},{27},{30},{50},{34},{26},{26},{15},{18},{24},{16},{81},{22},{30},{67},{22},{24},{22},{29},{23},{29},{20},{28},{24},{24},{15},{16},{22},{29},{27},{51},{51},{24},{24},{26},{22},{22},{27},{132},{22},{23},{24},{22},{18},{16},{20},{24},{26},{60},{40},{31},{22},{36},{20},{27},{22},{18},{18},{29},{24},{29},{29},{26},{56},{15},{21},{23},{37},{52},{43},{66},{56},{56},{58},{58},{58},{28},{89},{89},{90},{90},{90},{90},{90},{90},{89},{89},{45},{44},{22},{22},{13},{35},{33},{53},{253},{109},{167},{238},{59},{58},{28},{28},{30},{31},{35},{31},{98},{40},{95},{122},{16},{16},{16},{16},{218},{230},{16},{65},{79},{24},{24},{510},{15},{16},{15},{17},{17},{214},{23},{109},{18},{25},{40},{44},{77},{77},{77},{77},{234},{22},{56},{18},{85},{100},{100},{100},{100},{20},{22},{22},{56},{58},{70},{32},{128},{27},{24},{24},{16},{16},{13},{16},{11},{16},{74},{79},{47},{15},{14},{15},{16},{15},{16},{15},{15},{17},{19},{25},{18},{56},{58},{58},{58},{92},{21},{121},{73},{59},{67},{73},{54},{54},{13},{133},{18},{20},{75},{102},{87},{94},{138},{52},{7},{9},{9},{12},{16},{16},{16},{16},{37},{16},{16},{16},{25},{87},{89},{81},{20},{20},{70},{89},{34},{18},{46},{38},{57},{58},{68},{14},{9},{9},{104},{14},{13},{195},{13},{453},{11},{25},{45},{20},{17},{19},{11},{11},{98},{50},{315},{15},{35},{17},{132},{60},{164},{106},{235},{75},{137},{35},{126},{97},{410},{108},{272},{180},{448},{38},{273},{101},{112},{32},{147},{340},{113},{130},{9},{83},{49},{57},{61},{298},{260},{243},{8},{11},{11},{34},{85},{99},{21},{1154},{28},{115},{128},{32},{97},{97},{97},{97},{127},{111},{111},{111},{111},{111},{111},{111},{128},{128},{128},{128},{147},{70},{11},{128},{177},{2311},{4},{10},{2},{2},{2},{2},{2},{179},{36},{2},{2},{2},{367},{90},{25},{38},{53},{37},{34},{11},{11},{97},{137},{458},{103},{87},{2},{57},{59},{55},{55},{55},{57},{55},{59},{56},{58},{55},{55},{58},{58},{55},{58},{58},{98},{44},{11},{7},{282},{18},{127},{143},{287},{182},{11},{11},{113},{66},{76},{92},{203},{292},{343},{906},{100},{100},{33},{235},{1}};
    #if (CYTHON_COMPRESS_STRINGS) == 3 && __PYX_LIMITED_VERSION_HEX >= 0x030e0000 /* compression: zstd (30509 bytes) */
const char* const cstring = "(\265/\375\240\324\201\001\000L\200\000\nd,\022,\300\216n\036\010~\222\215)\304\312\233\334\232\335N\3356\275\035\003\334\206\306\304\305YO:\022P\320C\317%g\3004\t\002\321$\007\001\000\001\025\001\036\001\0172\305cG\267\241\366\252\252\023\313!\201\303\301\r+\276\207\0255\230\364\366\257^3V=\031\364Q\212\036\036\370y\362N]\304\327\327X\241S:{4\031:\365\354?\031\004y<\255\376\356\020\225lU\267\364{\252\217A\333 \237@E\372\323\253\235\276{\322\245 \220O\203<)\3503\276\331\324U!t8\301\311u\206\3414\222\2619\030%\210{rh_\273xm\377z(\307Wmd{zL#u\260F\375\271\253\207\2035V\264\276\370\373\370r*cc\251\330\037\272U\334\316\214|\245L\037\362M+E%\313`\211|R\236`\354\214\260-\214}H\214}\264\034\321\2453\266\347\3172\246\0245c\2535%\376\336A^\327\242v\320\267\251\245_\257u\016\333\255\247\\\177w\373\236\204\271\276\372\311\313\227F\270\357\316\223>|\207\215t\237\302\366\346U\325\261\255\005\3359I\201\215h\330\215\004\314\263\217\010\220Bj\330\177,\357P\206\365?^\340\214\211\031PB\247\317\3537\365=\r 0\000\331H\233\205m\364(\2474g\032\254\325\344\367\234A\314\376\371]1^\333Z\324\263\337\275NGc6\254\021\302\262\357\\.\0333\026\006\0160\t#H*\231m\253'*& ,j\254\2551\345nu\232\336\3436M\214\010\017#\037\333`\030\315\341\345\342\370\306\326xa\263)\264t\0268\336\2411;\024\337\3505&\323\307\200\345\367W!\261*\371C\345%M*\221Z9\250\235\203\032\345\353\375\252\260\021\317\212\304;@lsZ\373\263\225{5R\032\\\367WL\361\247\314u\323~\306b0\024\231\2061C\333\272\342\254\250\317\020\004Z\314\340h\274_\237\266\"\246p\364\037:\332\\P\357\017{\362\327\006\361\207\341?3\002b\377\363\\[\3161\2055\216\266\27200\260\207\334/F\212\301\210\210\220\210\200`\354\207z\210\316(e}6\232\361\352\313\242L-\357(\363\245|}\321\032\305L\300\216(w\034I\205\003M(r0\231\214T!5H\232\320T>V:\031\017E\362\200B\033S\"\"\366\301\302\200R\311Ph&\224Hcg|)\037\0255\255~\321\230z\314\356\233\022\t\350\311\035\230\343Gc\037\016\206\204\202\010\211\010\210\207\207\000\017\020\000\033a\014{\301\302\303\001\244\330\210\203V|8h""\261\217+RL|>z\030:\263d.\025+Y$\236\316\004\373\202\317=\361\344\207\326\347\303-\271y\330\210\316~\356\232\355\331\221l\332iGc\326\306M\035\215\256\340\220(\337\344\315\262n\\]<So\257\374}G}a\301P\204\027\2606p\234]a\373\231\212\274;\326\254J\265\203-\241\353\244\021\030M\307B1\221*\022\334\253\017{\276\363\325^\203\372\311\256\317\224\235l\230;\343\234\315\272'\033M\323Wg\260\237W\r\272U\337\364J\241#\233\013\245\323\035j\034\366\016\326\3439#\2210\032\315dCq\266\345\272\341\325(\233o\215\205\205\005c\001\324'\242I?J\352\242\236&&\341d$\017\003\313\305\363@R\221@\340H2\227\211\3472q\301,\360t\244I\003\216d\202\001%\263\331`$\216f\2014\301h<\025\034\351\302\341H&\023\215\207Br\221H\025\227N\247\"y$\026\211c\261h*\024R\307\222\241\300l\244\212&\263\321h0\033\014G\362,\220<J\343\014!\200T\264F\372YuX\334h\370wp\002\003>\324\202\375\366r\020,;^\362I\021\255\363\271O\277:]$Y\2006\037\274\242{\330\223\365i.\337\303\375]4\227<\261\352\365s\350[\2441\316\017\300\026\313\347\213)i?\203\361'\260gQ\342S/\277X\233\330H>\254\365\247\211B\334N\3234q\204\230\226\033i\314\366'\235\276:1!a&\032\316\346jH@\034\362\001\033\017\007|\\\215\353\032m\234\272\276p\354\227?\001\357\336\331j\354c\302f\2618\233~h\024i\345\337I\231\252\235\t{\003C\327\356\261\264\342\351\335$ \344\343\000\001\232S\236\216+\205\370D\374:\205=\250s\211\262\232:D3\222\024\244\322\030s@ 0P\200l(\032N\227\352\003\023#sZt\014ghF)C\014rDd&\020\021\021\231$RP\020=~\222\317\261\357IL\0347\236~\375\rc\201\340\217\264\037\020\3327HWq\310-\212\370\323U^\377K\010\210\345I^\307\034\303\254\002.c\216\266NA+ij\333\225B\223\273\003\257\005d\3420\025\342\034\276)q\253\274\263\326\352{\205\000C\333\000\023\344\033\315\2022\227\022]\304G\323\310\274Q\022\300V\016\025\347781\017\237\237\004\236\247j\274\020d\233\270\277\304\177\372\362E\\\333\256l\205*\232\204\345R\036\206\n$\352E\372\021\301VH\235h'\031\275\033\376\210E\247\014[\335\303\246\202\004\352\375\006U\031\220\326!\241\360l\2641S:\363\304l\004\260j\276\237\177\005V""\347\355\010\362\030h\033\315\225XA7J(\323\341AV\211\355\002;\202a\016\307\356Z\357r\303\3474\222Ea\204\340\217E\364\204\352\343\210\r\231\261U^\260c\030f^\352^\205pl\313\221q\237\213\315\203ip\250A\256bnYB\205Y\353\241\256\335\350\0340B\364*iE^\\\302\n~\303\353r\010c'nk\216\002\240\254.W\220]\360~\312\330\267R\327\361\226\3265i3z\207\334\254]Eb\261\255\201\357\237\036\026\362\375U'IE\277e]\323\"\206\271\267\252\000y\241\024\221\220?\214\362Z,\365\023^\034\275D\2452s\231\264u\275\260\202\023\261\203\031\273\305\270\026\207q\217\200$\226)\270\210#\274\250\025\357\252\362\231\006\260h\342an\005\262\344,\236Jg\254d\373\037\275\203\300\211p\331W\220z\344\374\3732\237V\327= =a\377W\030K\217v\023)\3108\036\215\016\311\016\035CD)u\255\272\326\230\321_T2~\375\332F]\317\252\004\336LD\256F\3135\202Ys\005Z\302\312}|\347'+F\246\001\273\020\356\312\224\025*\222W\234\217\341\326E6,G\035\3278Hz\020\257\242f\311\337yk\240\367\227T\237\261\031\325\014>X\213S\027\372!\245\021\245(G\220\217\242R\317\324\324\377\314A\0008\246\270/\361\023\332\225L\nd\336x\232!\024\372\353q\355Z\372\307\020\031\335n\241fU?'\270FVL$(\230\212\234vI\247\233\371\343\265\200cIm\272\206\226\"\023\263\262\275\201Pt\0166I)\332KnR\307LBJI\342\013\331)\210\333P\233~\225'\207\314\360*\317\330\322\203\002Q\003WU\023\r\324\266x*\243Q\352\352\0369\364\322s\216#Y\303\360\267UL\313\220\211\373\245\000\305\236_Q\027\306\205\233\346\364_\224\005E\216\271\3618\027f\2511-v\006x\rB\343ZwvQ%J<\025`E\247\344Q1{\341-\315\304\033\313\016\3644\340V\344X\340p5\244n\323\177\317\343\014m\036\323J\337\214H\275\321\311@\216\315AkF\235\264\033;\207T\306\030\346\367|%H\303\305\372h\334\022tV+\002\210\022\252\004\207\347Q\377-\226\222M\3427.)\341\n\335V\246p\007\376\034jUi\225\203t\314D\255i\234*g2m\"\215U0\"/}B\376?\220\307a\251\246\347\270I\315\304\261\251\215\025\227^M\247%:\245I\327\245l\236%H\357J\253-2\236\203l\232\264\221\224)Zg_\000\222U\317@\003\201\350w\035KN\021 f\362MAQ27j\261\213\351\337\240\014\201\215'QK\215\263]\242\340""\271\2369\t\352n\204\021\333\271\037n\260\271Z\327\r\271\245t\027\376Qf\226\010\254\314\177\rc\025\341\332\252\265\373w\036\302#\236\001\235\\d;\177\256\n}\214`0\016\312\267*<\254*\031@\251\2038\245\357\337[\003%\003\246[i;\025\020\017\017\211\371\2174\222\360\220\357X~\005\336\014\035\202\273\0160\346\020 \027\347\307\260\010Y\217\232\275\313~<\367\221\361%\364m\233T\357 a\256p\3061\227\250\243-\177\r\016z\201Z\236<\330U\337*\357\2329a\026E\254\024m\311:\371\334\327*\251\251\373\035\215\304\375\375\024\177\243m\0059\272e&\331\030\252\3403\215\223gQf\304)<\351\317\254\251\245l\253\365=\002\271\241\200\311x\227Y[[\n\306\020\315\211\237\037\260p\336\217\305N\337\255hl\277H]\267\360<\275\256\267\200\r\205\262\364S\250\205\030}\021\321\370\256&%0f1\363\347F\321\217\362\t\326\317E\320Py^\026\354,b>\007 G\254<8C\236\223\361C\207\332Hb]j\346\004\2513\027\352v\264\220\222U$\020\251\376\263j\201r,\330\316\362+|\326\305\230\205(Vu\321\226\336\247@1\336\324\336B\203.\007$$\213\007\036i\222\215svU4\242\324\370\314m\275\006Hc2$\212F\013\210\323\335\376#\347%dA\224\301'\001\177\344n\232Y\216[\001p+^\034]w\206\036;J\255F\376\355\037\022\362\031\265\266\365\371J\255\244\2118\314\307Q\270\343\202\312u\313;E\305\234}\222e\217n\230\017\036\215]\307\013\036\264i|\226*\342\252]]\271\010\345\r\245\214K\226\351D\237,\003\342\255\361\327\375#E\n\336\310\007\351\023\377\030\313\026\341\"\216\325i\013\302:A\202ta\201\214\333%E\004(!)q_\210\210\351\257W\335\340\352\310H\003\371\272=kS\343\330\200\0235Z\204Y\002\244e\3025\356\227\t\305\000K\362\021\341\214Y\352\270J\005\274\337\267\010\263\3642B\013\363\231\241\252\252\276\n\373:\305\0147>\315\225k\311D\211}O\033\246\220{\005\201\215}\270\327F-I\027>'\211\267?\225\230\r\354\214K\3270\rz\233\352\217\033\346\350\211\300\253\334\354r\246\201\2704\343\244\017\204\3266\340\307\353I\350{i+\216\212\222\323\236,\310+\035pT\303s\316\251A\266\016\024\006\343M\036V*}\203\373\006\005\200#\366k*\347\321\037Q\232F,\342\314\207\002\014\022\277\2559\263\320""\365\257\256\334\023P\373\035R\234pp\252'\301\275\346\337\3210k\323\233\340v\336\360\306S\235M\026\013\223\376\2050\201z\271\244 \360\310\361\260\305?\340w\363\224\212c\372\311\312OZ\0011*\252\245\252\225\322\210\3718\024\237x\233\220\360\242/\0307\275\373\t\200\373T/\030\233\341\300\307 \016&\344\262\021z\353\265\374\310\3404IpE%!\247\026\234\363\0255\027\3301\035\247\014r\332?H\337\343\343+a\276S\324\013k\311\314S\307L\030\0027\275\362k\320CP\000\2728\374\302\246\323R\243N\301\235\200\307\326\361\314^\202\\c\372\201\r\255\305\271\031\257\255\260S\023\032\004\213>-\323\340\351`OW|\214\315\334\347a6\325\307\307\215\365\023o}\304\321\220\216`\346\326\300\210\271K\225\374\004\267f\206y\254\030\035\344\321'Kq\204\014\023\350\265M\303\313\211\006\246\276M\227\300\204\252\036g\344\330\023[\261\317Yeo\366\t\201F\200\215\324Vp\363\351\240\332\237\315\261\020l\021\321\264X\000\376\305\375\374\317\317\005\024\336#9\035n(h\336\250=\221(h[ \203\224\224Hb4\317Y\200\364gB\022\213\370I23\321\355 H,\240\324oU\026v)Cv\372\271\3103\373\342(<*\337\026\262A8\304\267Qq\250\014eP6:\227\215\177\334\177\353\235\347\347\035\242\361\0016/,/\266\377\230?y\020~ic\337\271\014\300\204x\264@\020\371\346\010\210\014/\212\237\221\244\031\326Q\nq{\306$\347\021\302\024EY\027O\252\267\357\222\307\346\0106\232\253d|\305FX%\002\226\202\345q\220\263\245N\035\022\223O\201\344\036\263\321\343\216\340\006\254\330+xw\2720\376\207\226&Q\376v\331\013\302\016\241\2610\342.T\336C6\032B\220\005n\257C\246\333\237#B!\346];\006\313\241_\253\2454a\027\n\320$\204\243R\202\227\2560\344>\315\243q6\010X\360\357[o\0365\234^\333* \2474\334\243\033(*\031\357}Z\203\346\320\205>\002\264\244\253\276\342i\235.hjm\300\243\271\247\243\r,\277\2559V\272y\266\321\267\240\r\367\232\252\262\212\255\315Bg\351U\306\275\224\017,vn\207\250\312\226\302t\030\265\332\213\023\032\270#\326\030\215%)\022\323=\2550\360\315\250\203\017E\007\302\022\200\336{\3630\303\235\333\020\270\300H\321\\'z\254iDh\274\222Qt@\265@\334\230\227I0\267\255\301""\016\325n\360!\334Yi\027U\317\376\304\315\210X\310w\272\326\371m\214\345\265\300\336-\032\237\372\205lK\215\342m%\232\374N\004\204m\224\026\324\255\3026\377\352\232\246\242z)\237\352p\241\306{\364n\334{\300\031\344\020\355\357\261y)8M?\260\375\202d\246\213\036[\003\361*u_{wBH\252`\316lb'\377Si1\0044\277\200\361r\224J\366\004\355\214\t\004all\221S\r\002\351`\014/\274Z\234\334\315\374\334z[\"6\335\264\233\346\274?\334f\251\3136\353f\256|(B\026\336`S\006\030R\301L\361\334\371:\335\215\022k\226R\0363o\270+\335\206\252\273\006~g\244/@NB\t\0068n\375\201f\234\210\017\212\3513\270\351\332\027&r\013\245\312\275\374\330WCw\007/\026\260\231auK\212op2\324\211A{\t\256\003\300YqG\022\235\023\311$\265\200do+\0009\237l$\242\217\017\335\240\317\310\177j\221\253\204\260\314\223dt~\016c+\003\234\247K\277\247\376\003#k(\243\337~\340%8\253\026\300\202\367\034\356\341b\216\365)/@\302\332#\016\310\362\265\234\244A\325;\177Xv\034\032\365\372\341L\276\322\375Rd\365T\014\301\331\303\026\251\304\364\025A\306\003\215\341\305[pIT\366\n\000\346K\000v\024\201:d-\004\027\263i\275s\020\t\307 \027\2550\237\315\315\374\203\3061\025z\264\354.\232\022\244\327S\003q\371\376\010G<\334`9 ?\n\337\207J\234\001E4\264\210\357\351\316\316,C\324\205x\310\006|\\\031PU\014\367\2770TkF\177/\330E\001,\371\223r\332DK\234\006\002\206\242\303\276\255r\323\026\2347\237\272\227\317\302\022\263J\217E\324J\362F- \363\324\3673\324,\377\034\2360\222\263\301\274U\274\0243\330\351uQ\013\232~\300H\333<\242\223\264\353\350P)c\266mf\317\246g\364\n{\214D\225\321\230\303\264\001bm\252\342\034k\010\367\371J\023\034/Yb\300\241\0057\362\322\\n&\314\224\325\336\353Ce\n\377w4\277\007\253\320\025C\276s+HrOrB\233J\324\262\216/\3336a\376\237\332\255B\021\346\365\325\025\374g\000v3\225! O\364\217\266U\335M\303\303W\366\023\231z\363\344\260\222\374\216@M\262\0070\003\002\020\002\020\032\036\212\000\215\000\217\000\013\237\330\213*APXC\242\202\352!\t.AY\332\002\201\3619\2264\213SL\251\265\240\232\026\221\304-\225\035'}\276\323\272\214d\330p""\302:\3721\325\037\307\313\203;\266\371+\253\001s\226\343\016Y\037jvB\336\373\241\366\316\206\256\343\361\267\276\303\374[;7\355\231\330{L\020\016\213\203}\177\271\350\007I\022\246q1.\321\261F-\245\020\230XK\334\302\032\246\234\022Uc\215d\220\222\377\275t\221\353\354\367N\321n\021\3151EY\212\022\025\206\206%,o)@\024\345\037\000W\247.,y\257\376\250\354\207\340\030\371\036\331\261l\332\323\341\317)Y\3034\314\202-IJt\r\251-Zr\261\200\261\267\030\2139\246\026\013k\357\230u\204T\036\317\262\343\250\033Lk\374\225q\321\030\312zJ5\030\013\206b\"\2034\310KPY^\002\233\265\236\001\214iQ`\211j\r|,YhXc\013\3060%\2415{O\2724\336\377:\245\rSX\r\214HC\341\275\025^\021!\37164\375\000}D\037l\306\326\322\204z'\352\177\237jq\206\263\366\214\034Z\321\034E\207\305I\004\301i-\204\255\003\226-;Q\376(\306\370\226|m\277\207\232#\257\304\326u\3765\251C\311\241\271\035\004\234\023\344\310\234\037T\240\366\275\024>\355(,}\242C\347\217 l#\360\021\352a\231\034)\010\004\300\005.\325Y\020\357\312'\226iV\344\353\234\007\355=&\230\026\243t\260\224\221\250\205\317\204D\003\020<\035\000hhhP\002\020N\317\036\313\374\337\324\223\256\366\013pu\177\254\243\350*\221l\235U\216\334\014gQ?Q\303\342fp\267Z\263\030\007\313#|-\243fD\235\3527GKO\177\t%\310\226\035W\335\220\323\215\343\335\0219\032\275\235Q\277E\350\247F\364kC\352\310\243\316\341\364:\230\273Hg\347\252'\357\252W `\013!\025\334\024PO\310\226Y\252OH\266\366\251\234\036\216\\95\206\375\030\235\257\303\007\331-\377\003K\247\001\205>\250\363\253AtEI:\223` h8\212<\036\215\313\264\315}#\302\222iL\022\021\243c<\313\020DN\222\024\n\303v\260\323\321\006\3046\305\361\330S\342\376e\357\005\271\301\217\333\231\3352\224Y=+`)N(\030\010<\322'\007\206\300\322\314\256o\210\341\252(k\370\006M\031\035\211\252\t\374\340\253/\373\237\317\t\206X\177\220\200~\324\026\222\017\240\017\2114,\372Q8D\231\364n\371\310\222\22404s\254\272AC?8i\357\213\361*q\300V\032wAL\010\307\364\206\0219~\0103@\013\332\347\344\032kcEP\213|WJs\021\214\235\340\320\014\312\036\241\363\346bt\311s=""\253?\265\342\310He\201\032x\247\314\205\033\034ld{\262\226\345W%'^\265\340\302-\014%<\016\301Z\332g\"H\203y_+1\362p\302-\234N\341\350\201'\377K\r\210y\300\370^\006\013z\2662\214\371\310w\016\365\335g\347b,\003zK\244\343\211\333\004\331\271\255Z\2339\270\266\271k:t\254\321\\9\260\252y\010H\372W\206\303\301\233\313e\331d\204\237n\341\3569U\206DD\024\361\370~\242\224>w\305\372z\342\\\002\205<YX\251+\201\177\006\344q!\357\200\264\370|\224\016b\272\215>\r\n^\031\247\337\371-\212E]3\236\024\232\242\005:]\363\316%\346\023@\325\260\316qu\344;\027\306\034\022\027\276\020\312\234\235;\310Y\354PP\1779c\365\032;\225\226\302\252\033\335\236\361\233\265U\270\254|\1776\236\345\217PF\267\351\325\223\326\237\316I\222R\354Cn5?\267\207\350\251x\241\035\365.\357\313j\025\020\331)\032x\261\266O\215\204\2320\204\013-\316n\267\220\2156\364P1\341R/\241*\274\245\351E>\365\025\263\266\367 \334\350)&8m\022\n\303\373`r\226\252`\215\305\212E\0232HC\353Q\361\023\305k@Bc]7\030l\030M\265\243\036\300\273\246\302T\277\005\322\207wt\246D@\304\321\214\264\002OH\016\022zEo\005dR}\257\336\227\327!\270\377\222\324\241\022\330\354\364/Cd\355\233:J\230\232\031\231\244\023\017\\K\221\r\002\363H\201U\252o\013\\{\035K:!w\377\215\206\032Wrp\262\001\313<\210\361\301\324\357\261\245\"\261\220=\345hySS=4\307X\r\356X\252#\230G*\010\204\361\013\316u(&\347\025\345b\352<\242S=#\030\262\t\270\352\205\357\022\370\344\375\365\033\321\224\352\010\177\337\205\3174\322\031\351\217B\3650\236#u\304\274C\020\325\372\"[C\334,!\323\271\221\230\340?]H\274\261\234\352p+\326\211\207\347)\353\010X\2151\303\343\t\317\242tq\325g\354>DRP\216\377[\264\364\337P\303\325)K\265\252\370n3?O\232\317\273C\016\3676\252\222X\365\240\264\361\244y\215\030\334\210OF\373\215\214\374%\224|\031`\3712\311`}VF\273Q\303\322\334\367\225\346rB\337\360\267\243JM\035\037\r[\334Gv\253i\036\344h\207RuIf\345Q@\301K\270\362l\222i\330\370\265@\371\351\305\020\010\3548nC\236\006W\233\315\025Z[\323\021=h\236&\363\317\267\257\0249\343H\352\377\326BY\031\240\014""\316\\\335\357_\212&\215\033\313c\266,v\362onc\316$\3011\303q\370\331\2370]\203\202\344\275\254\010.J\247\021\256\343\024\316\326\216\361\366%\225A7\340V\303\360\317\360\305\020\3751\337J\3163\357J\252\310\207\254\013\270:m\\\324\237\322\304\272\2204\332\250W\311\244\264\204\276U\375\332\326@\365\021\372&'@\222\261K'\201d \303L*|v\2504{\013\206\300\037\275\267\310\\\255Z\"\227gR4\225\021\343\007i\342%\230\007\263\004\257Z\341F\225C\226\3138|\330\300(\315V\207y\2119\327\340\266\264\252t\217\364\310'\213\305\033\266\177\031\334\336\022$\031M\355\224%E\256\211\317\227m\004B)\315[a\250\\\002\t.LBW\375\\s2\222\335\030?\323\317S\263M\002\236\035\301\026\233\022\003v\032iUe\335b\347\314\330\370\022\275\361\367\257\314>\335$x\217^\221\370\305iNL\031\241\353!5Qu\200\336\241#\347\311\270\257+\303\255\300\315\356H\320\006\260Ii\353$\327\302\027\r\252vh\215}\002{\r\005'\365I\224\316\313\034u\274\305\304:\035\260\337\362G\013?\201\214\362\273\245\264#\237W\262}\324U\244\302)z\245\204jM\344\2541\314h5\262\340\272?\3457\013MZ \371+\345\251M\204\270\231$\361\365|\230\247~zxA\2723b5\232\222\365\273Ke\363\004T\034\027\300\374\237\032\310v\243\021\215\213A\220Z\335\354x(\001\370l\245\316\337\020n\216bM4\324x\364\353\272\036\361\212\330b}\010\360Dt\202\020en\021dkf\\@\270l5\322\217\246A\305\242\215\001\022\004b\257\014\354\237f\026A\315\036\330\317\244\342w\3476n\013\314\033W\3503aL\311\372v\034\235\271\347\231\333z \014u\315\000\252\220,\033=\010\342}mc?\323\236%\332\223\025\003\367I\005&$\\\254\263v\363\215\nk\210\342OR,\234H\257\267B\215\345\212>e\317\250Qp\000\207<\301s'Iz\374\236b\322\375\004sQ8\226hx[\262)f\377\025\202L\036\242M\274\272K\307\255\024\230\206\214\313R\272\333Z\314\304\203\3305\t<\211za\314\240%s\241\352\343\031\251%J\267\267<\256\270Cc\212Y\031\325\365~\374\242JK\241\273\362\002\364\n\t^\273\025(!\260\306\204\273U\032\341\35580\203R\345\251\3005\352\013I\306i\335'xot\214E#6\365\317\027xk\342\363\024\307\372,\247\013O~7*\004\207AP\r\247k\220\277\033\341\205\276\304""\002\374Am\306\024P9p\"L0\211\035\355\032\n\335GD\371\203\220\313\330\t\273\001\224$\264\202\251\310\253\037\230uh\364p\231nJ\031+\346\340\337\227\\\377f1N\010hj8\361\316\225K\002>\217\363\240M\342\316,\347pQ\277I]v\317\243\313\304\242sd\017.\247\343\227\310U\037[\213\363\317S\377\304\005&uob\271&\260\302\246|\022N\010\223\343E\024t4\252\202\027\230\246ga\334B\005~\031\3370\312j\236x\3338 @O\005\222\037\324\206\377\374\322\377|\204\202\272\010\354\355\203V\255D\255\360\243\274e\t\332f\3259S\211J\254z)\202c\276\221\221\304\331VK\312\341\275c\314!\322\322\266\005up\005\245\001\010g\221\024\201Hk\377k/\363\360\207'\013\203\367\020\327\016T\214\253\003\231\250%\000\003\300\346wz\256\352n\213\256\263\2514\312\355`\343&\225\346\001'\332\344\353\231f\220\326\271\376\246+\010\355\3046\357\303\231.\242|i{G\273F\265\001P+\202\335\231^\303\036\372\336q\323\340\350{\010\270\r\371\300\211\3121\250=\231\221^yf\032X}\220\006\0337\356\013>zH\230\313B\255\303\256K\023\354\265\0333\207\200\227\254*\261\201\262\000}\334\351\272]\020\024tJ\037t\275\022\263bh\222d\351$\t\006\301\247\227\023\217\236\367\361\205\207\003\223G\263vG\233\315\000\013DJ\000\266>Xwus\3208\022Dw{q\350\2266|g\023+xf\204q\2021\340\024\250q}\263\245\2474\265\331\277\337\237t\0050Ut\310\216\217Ma:q\373(\217\3028\0336\020\306B\257b54\006Q\225\007e\037\324*\273S\225H^f\215_\2553\200m\375\335\305\277\267\341\376\376'\016a\341\225\220\017\356\310\001\r\213\212'\255\205\312\257u\200\270\342^\366\3443#\301b\362\271\001\347\221`T\035\306\016\021\375p\365^\345[\331\255\364\357\226u\253\200\243i5\364x\236\343\321\177\270rZ\251\365\342\366S\253*$4\231\203\350&\276\0255\301\336\310\356We\260&\016\037\227Z\365\304&\300\364N\3455LWC\034\261b\324\336\201\004\312\236\213P\317\031\273\014\311V;\340(\r\216l(\212\001{\362\036\354\336k\302\335\361\221\251|1\332\330\230K\260\217:\233\362G\333Ho\220\342o*\214\n0Ax*\241\250j\246\013|\262\002\"\277Pq\246y/\376\334\206q\222aGCi0\233\355\365\340\276\2262\2154\017\252\313\315\006\353\256""\370%\303\237Pqs\177\025\035\315\266\350\265x\355\016\207\014\223+c\377+$\003\200\307\021\034\r\221\365~\230\342\264\335p~M\216Ge\224kV\032\202l\024}>&c\007\374 a\223>\262m2\250eDo\031\2120\207C\022\221J\360\261imEd(H\243\237l\333\322\nm{k\0021l<I\257\365\007\014\320\257(A\017?mC\273u\306\205W\353zy\001\014@\206\376\331\177P\257\315\376\261\375\243\177\323\360\377\247}\032\027\372\307\375\317J\346\224\212\013\271\321\"\322J\336=\316}\202\331\"3R\260\242\0313\325\356\212\335\014\001o\372\260\344\r\247\324\327\306(\351\303\366\2520\321\212\335R.\221g!U8\342%\360\361\277\257\334\255tX\3715\203p\244Y>D\371y\321\363\333\365&2\266E\332\323\022P\231\321\362\266\364\032\032(\227\034\236\021\241\266\222\221X\035\267Ci\021:\256G\317\272F\365\221G\370\242\237b\371\273g\311W-Lf\262{\326\345\200\341\006My%\251\242\346\207rVP%\230{}\264\213\276=\r\024_+ug\206\223\200\206\254AWC\0108h\362\300\3173\273\306b0\247\354^\242;\371\303V\224\331R\033(a\324@\352_l<\"K\315o\314 b'^\370\213%&9\272\035\r\001\352\"\236%\224\031\235|\233\313F\230\233\014d\2729\322\320W\220n\256\014*\235\372\371w\313Z\312\241\356\210`RTs\033\031U\337mo\347\216\r_\254\251\376\277'\027{\314,\220\270\254\354r\214&EEF\006&\206'\014|\002\224\312\000v~\254\"@k\334EF\242\020g\350\031[\353H\241\024QS\366/\265\317\260\257V\007\033\261\214kU\024E17\267\000\236\000\232\000\320\202\260@\014\212\265@\320b\230\307Y\006\3173\023\222#7\310\363A\272_,\014\216\343$\213\005\304\254\001\210y\026\363\250\323\276\"\244\213\tCq\224\005\207 a\024\315\223\254\305<\213\265\200\030\311b$\014\303\301KFx\321H\325H\347-]t\007z\026\230\347I\034Gy\022\024\r\302\202i,(1X,\205\2214\014O\342\254D\031\232\265\030\306\300Q\032LC\3008\n\203\246i(\224g)\232\310\316\370\242\024(\213i(\022\030\345`\200Q tLR\360\262,\274\353<\313\242$O\302\322\262\026\222eQ\022 \277>\253\206,el\032>\377\377\235\004\245n\310>U\3767\250\371p\003d\357\353\177\277\350\216\352\271\374\027Y\367\256/\242\337\326\301\337\217\365\331S\177\313\2176\265&qk\037Mm\020\315bO\321\333""\247Mj\332\332>7\337\214\036\335.\353\377\006\000<\027=s\221|\216\224#\232\213\242\250I\020\246\257]d2\215\215#\374rv\354\226h\327`\365\214\2712e\272\216\234\257\034\347C\376\267\013\233'\311\374#\326\"\006\225Q\023.\200\276S\306\264\001A\221,$\376Af\3311\006\034\202h\006\234kQF\262@\320\323@k\255\006Z,\001\221\031_)}\223\242\374\031\304\331s\022\303\237\336?\277\247\374>z\321\373\010\366\330\203x<\366+\312\355s\204\2513?\036\016\362\343\303h\235s\316=\217\024`\033Ql#8cG\347\210\020\372\353O\365\333\251uNj4\343O\032\245I?\276\302{\364\377\216\245\237\216\312\337\321\312\034\260\241\224\330[\376h:GC\366\217d\244\245S.\266\377[U~\240\246|\367\236]\204\254\272\334\230bi\371\201W+\212\352\177\263W[G65W\007U\027\333\357.WLA\342\335\347\375\356\036\274\034\233\373>,\204\314\001\000\360?\000\240{\212\362%c\236\014\262\321r\204c\213\312\317\022BMo\230\204\341\214\225W\225W\221\346\007\346]\3061B8:D\373\317\347\024\367$\231'\276\277\273\362n\357\366Vo\331\035\277\231\374\351\340\237N&\"\367\022\211\312\241B\207\322\247\324\000\200\217\021\020J>\227\341C\237\355Pa\234\036\004\363/Gj!\345\036B^\367\021\204-\251\327\023\374\031\037B\370\317\t\025\365fG\252\341\324\307?\035\265=\361\256\243\276\212\034\375W\006\212|\250$:v-\333\004\000\203@(\210\200\032\213\304b\301\200H\034\177D\344J\217\206L\306\003a-\022\224\034\313\22143\005\004B\200\212\004 \352]\207\265\265.9\360]5\241&\305\231\335N\371\037\233\206f\004\376\200\233\256\343@\024_Aw\244\270\351H\367\233\277\020L\372n\005d\333o\024>\022\374am\3707%\266\020cCxl0\223lE\225-\035fcl64\317V\"\2645,\262A\222jc\322\332@\301\266\243\331\366`\333\022\271\r\017o;\371mg\302\255Pq\303AnK\313\355\313\271U\242\033\200\272\235\271n\217\322n-\252\273\201\314\277\335\302\006I\337v \231\237s\r\013\370lt\311L9]c\321?\0134iQ\342\r\357\235\237b\331xn\271_+\205\"\322\264\346$\276J\356vp\323\247\267Z\234\322\350V~\250\007\326=\351\324&E?)\016B\3472)f/\323\303\241X\221V\035Pu\r\334\207\336\365\212B\322%\016\025\232.\345}\335\020\364\257\352`\351""\376\224\221\221}\274\027tUC\210\256\300P2{\3575\226\266W\250\226\224q@\305\237\222\321\223\222\367\242\212*o\301\037\240\216 \267\354\261M\225s\027|S\247\263\302\234}\320\323q\220\241H\301Y\310\265i\352L\336\nV\017P\237\001!r\341f\344\217\260q4\245[\335\314b\301\217\277y\301\333/\266\001\306)~\341\227\033\014\236\371eg\232\r/y\322\375\336k\273J\031t>5y\360\347!\362\030\243O#\023\206\035\203\021\000E\313\224\032\215 \340x\253\331\004\330\005PK\027[\010\r\0337\372\250\305\204\236\227\212\034*\252\01071C\211\361N1`+\206\357\233\273<A\265n\221G\222\017\316.\013\223\362r\300\324\271\033C\2736!\2379\327\310\250\026\355%\2174\3618\236\35454\251Y>\2269qa\352\232\322>\267<#MdQ\327\21505\024N6\017\004P\323#\222c\321\353\221\307\020\214\3142 O\302\367\340\014\250\374\017\275>\217AH3\252b\210\332\207\263\211\010\016Vn\204\253\024in\250R\022\003#\023\023\231\037 \344\204AP\231\240\3301@\200\224f\202\222\247\010\0220W\205\253\206\242\\1\237PE\226\3063w->\306'\272\220\226\n\330^\204f\320{&0\220\371\014\207<\373\026\244\013q\234\235\323w\330\017\317\231`\350\207}\n\t\230C\327\230\340c\324T\362\246\326\\qC#\347\250d\202\016J\260\370w\\\223F%\246\246\343\370t\275\350\032\347\003\302\014\260\255\177\246\324\227\264\313)Mo\004\303\257\307\3262\242\224Hm\334\3346H\026\242\234\024G\315\007\371\033\225\276\231@\027\234\213\005\212*\346\333^\322\310\tV\226\031\n\300#\005\332\367\027\005\376*\200\300\3758+\031C\322\245X\204)\222\302\030\013\371\236\2720\021\371\177\205\013\201\302\326\332&%\350H\027\371O\272\3261\026\345\013\312\020\360\225\344\324\240\024N\224\356\364\244\277\245\277\375&\013\225\214\247\022\246Z%\376Y\t'W*\007^\002\245S\331\232g\275.\262]\320\273\255_\t\020r\002H\222\300]\025\240\216\005\020q\001\214\272\002{\314\261\212\215I\236qr\014\221?\277\372\326\366Ju \270\341c\273w\247\023\242\323G\346W9\264\035\3158\363l\264\215[-J:%pp\277\217\256 \021\350\304\337\223\212\371\335j\005\334\001\2007\001\236\266\037\001\022w\200:F\220A\216\211\346\273\222R\356\023Y\036\0076\271""\362\267\002J\316\2720z\260\023\360\353\324\352G\324\007\330=\242\257\206\272\003\344\250\341&\257\027\267`,$\341Gf\331H\267\222\r<\357\234\302\260\326xl\320\203\014\372\301\321\200\272u\354?\034\364&o6X\022\003O\201a4\033\251\365Go\010\250\2065%\006\331\343\014\016\217i}`\020\256cG\243@\033>S%\337\333\223J\373\356n\324\367=\024\260\203\001\212A}o\332\2526z\312\236<\230\354A\230\"\313\3425zS\207\234\013\\\004\240\315\271\\\204\210\255\004\276\357\024&\307\247\327\366fY\326\366 b\264 \023(\317#a|\022\360$\342\247\342.N\327\016\t\3271\201r\025c@X\233\223r\214\214c\324M\315\274\304WD\312\342T\213\224y\314\361Y\177\037\243\321VX)X\240\247hp\346\2648?\013\366m\001X\3021qa\305\304\005\236\221\005\352\034{\204b\003\233\256\246\207\341\nR\1778'\200\260\370\233@\274H~*\277\235\271\340\226\313\373\353\247\256\274\000\177\\\211\252K\025\0168E\374|\020\037N\265b\304\\\210\024o\220\2334\2179\250#L\300\355\336OF%;\311\301s\262q\204~8\373M\020\t|\257\327\225@E\264\205\307\341S\204'\032\341\036(\331\004!\304\336%\372,e\221\007l\231\336\3743fJ\367\025\320\2726\206GC\220\022\006)S\224\246UHh\364\326\257_T\237N\273D\\\257\366R\326\236\211a\272l\326\235$\217\331\221\201\362-]<\321,\022\346Z@\336\362\003\202!\320\005r\371L\256\270\306\334H\005@\301\001T\033\323\033c\225\302\t\273Gj\353p\346\013\0002\252\271\332\263\234\352n\245\023L\316\216\240\027\275\211\375{4\037\365#\327ML\254i\001\027\203\316\307\353\034JST4@~IJ+\371\354\217G\004\311\263\374U\315J\200\262\355\307\000\214\261\026:\274*m\323`\225\010l%\004\312=\2070\\\374\311F\333\260\241\236\335\307\371S\315-:\234|\202X&v\323\220\237^=\364g-\272\353|\313\251\1772<\371\305\202\335eQ\346k\0270\305\t\206\333\323\313;a\020T\235^\275\302\033*\240\343\027}R\010\2731\t\224\374\206\316\315\2463\372\340\016\231*\327\275\373\327G\331\001\245i\332}\206\356\206\205\224\371\351\374G\241\242\357B\364\242\340\347\3044\245`EH\373r\344\226\210\247?#y\255\266\252\273$\013dWu\344H;\355Y\203\347#cC\222\260s[x\352\210\335S\331\303\2038m\260\362\261.""\352\257\233\351\214\014\367\223MV\001N0hNs|h\221\201\363\264>r-(\256\037\341\230\1770\371?@\275\245\021\367\037\302\021CZ\254\032zCa\264\324V\215X\252\307>\006V\240\251\2416\226@\231c.\343\257\266\rp1:\205u<AA]\247\365Z\214\201;I\000\252\013\000\247\313\341D\301@G\375\224\305\262\247\231\335\276z]\002\245\321\274\017\367\210Iz\006\247\344\362\361\250\203\345\010\346\203\202>cY]a\010W\273\322\303/\265|G\306\342\347\363v\223$\3169 \006cB-\023\356'j\303#\306\031\t6\277\244\335~`\017\335vF._\350n\014\261Y\242\251.[\363\177\211/\336\232GM\230\222\240\246j\312\260\345J\311\342\311O\266X\036~P\026\300g\006\001\024:Q!w\337\325\2125t\3273\255\213\356\262\320)\362\342q\005\361\3053\352p\321)\264\000\237\026\320B\210\222&\203\026R$\312b\241 \247*ra\220,\251P\036\373Ly\205\245]b\326x\021a\310\365\327\212Wd\264\227\220\004\034\340\362\342X\0256\217\213\2470Za\355V\014KW<\021\034\260\200\326\260xV/Y\2041\213\304\263\210Y\201P\263\000\214\201\345\300\260e\252t\372\025\367%\220\033\312\020\230\334)\211k\305%5\005-\270\216\325>\252\257\212]\220/:\371q5\021,\020\372P\2031\231B\335\311Wr\241\2402\233\371\350\264\006(\264atQ<D\355\327p\324\377\177\245\242\347\347\023\025\242\327\346\333'\213\t\367e\0021\232H\256\211H7\201\037'p\244\023\335\337\211XO\300\330'\260)\240\310\036\024\215\r\005\325D\201<\243\210\317G\321\037\344\t$\270\001\230\024V\226\342\233\000\027\376u\235\362iK\367|\311\036\"O\370c\024\366&!\272\213\374\216\376\375\362de\017\334i\315D*\317\310*#\236\225\267\321\332\020\347\026\021\221\021\211*\"\004\2178\r\377\336C\254\244\241\276\000\260\221\177\022\032\221\323S\010\241\000[\250\032X\206\310[T\030\177\230L\025\316\331\257\244\237\326\223\367l\340\006\017\220`T\022\030\204\224\036\304\375\274\n\261C\030\242\017\033\202\017\002\361\022\"\236\212Dd\341\020`\250\210[$\0302\247E$\231\304k\032\365\363\023P\244\340\342\010\\|\273\255\030B\353\206\340\327C\300!\002\311+\322E\210\010D\"\264a?\306h\320K\272Ny\010\262\317r\251\332^x\033AMZD\0160\342\205\031\361\351E\344\017\016~""8u\362\2774\354\210&|\304D\2208\025\221pw$\270\010,\241\n\204.[45\211\036\310\355hr\373W$\204\200$hX\022\214\223\000\027%.\243\022\374\251\024JJ\000\251\022\373\231]xnK\230\327\010\200Y\002\221K\000\302\244\337y\244]\2736\t,\\&\243\211\2645\223\240\035$\204\211\017SI\320l\022\363G\342\324)\341\261P\356%\367\212\240|\362\302\304\3155 \033\027\211/\222\000\367\222\200\277\201H\035\270,\022\310A\202}I \333I,\305a\004\307\036\177%Bk\211\265K\274\270\231\t*H\"\217\277J\370\261\304\327p\337y\264\362;=\312\245\t\177\204\315\254)\315\301\"\t\275\035Qv&]&\t\332L\342v\210\235\201\373\033^\022\331w\022\n\243\004\243\212L\373$\376^\022\224\253D\214%P\253]\037\275\004\356\243\330\343!\266:\211\317Q\342\205i\334\272I\310P\202\366)\001 \030\363\232%J\274\244\242V\t\373|\001\336\0224\002o\203\3445\232\364\036\327\266$<\224\367HI\354d\025U\2228\301$x\361$\n\037.\277\n\004\260D\272\322\022([\003\267\005`\022UO\202\223\224X\277s\3170\030\211$\370I\205\336\301\207\230\223Du\231\004,s\320\220$h\236\005\270<\211\032\311U@\223\000\300\205\030\272\017\375\373\014\226\204w9\211\377E\2118*\0012&\210\312\311\356\251j\0229P\002P\020B\376F\302\177&\t\n\2147\201\234vI\302\037\223\260{\022t\\.\267`9'\255\215\033.\322\021\363z\004'\307\023 CB\310H\000\222D\204I\024d\226;\210\224pB\225 >\374\213\303'\222Y\254\206~\033\321\r\324#>\330\370A\304$\213\323\350-\252\021 \t\354h\344$\307\247 \225]\027\310\363\261$\342\375x\346\024B\204\273c\276N\024\334\3030\r\001\243\033\r \202\302\210\010\217\211\200\374-N\304\214\327\234s\263\360\225\225dp\032\317\300V\257\310r!4ji\350\340\030\270r\206\235/\246\227\235c\305\312\316MT\2052\021{\032suPy\037r\004\351\203hY\3052x\321\205\027\270\205\351.\257\332\363\224.{\217\207i\2077\036q\216\271\356\220\014<\304\214\207:0\017\010*\232\032k\314\276\306\2354\023k\026L\375C\035\351\303\222\216\257\353|\360@l\277\222=\303\275\023U#.e\177\026\t \005\251&A\331%'C#\203\242S($\241\216VfLK4\324U\275\014\331Z(\260\005G\251-`\212cZ\024{\030'\221\252\034T\343\032\334\233\217\tz""\272\346v*\274\367\014\376'\275\211\255\342PD\317\255\254\304.\336\324 %\024\372\3154\001)D\353R\302\003K\200\275\204r\204+$F\336w\235>\242\204\232+a\324%\034\007\271\324\035\024\307\350t\332\2623\375\360g\205n\364\317\377\3517{\365\244\026\202J\247\261\301\201\223}\353\342BN\013\037X\213+A\025hOQ*\0050\177$\245X@\222D\311\256\301\021m\360\322\r\376\033RK\347.\337#b\316\331\204\323\222EF\247\004s\307(\244\224\355^\215\226{z\257\304\340\322\\\320\202\326\026\220\232\013t\030\031\232\372~QB\366\256\306\344\262)\252\375\202\365\215,\305\2576\252\024\027J\213t\225\343\033d\253VZ\234\323U\004\360\336\320\020\346\3604\202\377\"\203\0053\005\243\214N\312\260I\036\320R\271\033\214\213AEBo\205Nz\225\327\255\242\322\325,\273:\366\\E\370\253\260\001\t)0rh:\026\005\010$\221x\000\314%&\035\017\334T\3544\253\310\316\353o[~\3010\300\3573\000\244\rx7\0070\231\007\000\247l\177H\223\240S\303\350r,~\001pK\000\260\003\240A@\221\177\330\220\030\222\262\263jA\002\0374\214o\334\331M)\376N\3023\351kr\372\255C\377w\311s\225\262\204O\n\211w\243?\207`\377\027eY\333\205\322\371R\216\314\371Ue~\025\2325V\332y\323\250\210\005\261dYQYX\2275\233Y\377oV{\327gu\254\200HY\230\342Ww\302\254\335\353\006&@\2644\221\026dM+}\324\352\263Z\260\326\302\364\265\002Q+h\334\030ng\342\026\334\272\245\351-D\277\3051\270@=\\)\214+\r\271P\372\227\r\250\307H\260/\007\244\305sHw\\\330\217\325;Q\250\347\353F\367j\360\036{W\377\307P\342\345a\020jIP\354\245\200\336\327\3102\010\211\275\364y?\030_\0350\273\177\314\307\233\363\342\201\270x\241s\300\224yR\304\374\236[\306\272\232\017\315\024\201l\376\00670\340\010\\\344I7(\007\231\035\205\240_\203\207\335\311p\362E\027r\315\021[`\014d\360\340\245\243[\323\375\354t\242\240>\261\243\0169\350\226Ou\240\n\371U\252GX\335\t\222\3246\362\t\342!\353\306\325:i\254\343\245u\365\003\304kG\263\251U\224\243.@\233\210\003\215\341Qmw\246\020\026\3012\364<:\217I:\213U\351\321\206\340\336\366\006G\227$\267+\000\200\222\350\t\214\356\206G\3470\241\253\n'\201|Z\242\315\375\032U/\032\350\364""\347e\t\372\264\254\320\321q\334\031@\013\033\334`\227\347\2554\031\016^\250\204hX\215\314NjF\024\204\231D~d\252\"\t\302\301&\001M\010C\326\262sl\006\260\004\362\022-\334\352\003\271\370?#\202f\350K\317D\320|\344\361\353\332L)\261)\342\214*\305\236+\317\247B\211\240\202\021\355U\225 6\337\257\356M(\277W8_:%lz\223\262|\272\273\226h\332\354D\251\212;\227]\225##c\301_XF\305\214\226\261\223\307\355\367!\370\014]\247.f\014\277\322\244XZ\032\326\214\034\3531\310\242\273\007\206l+\260\0318\017\263R\232u\210:Ub\361\261,{\314\r\250\027O\201\224Y)E\014KQD),\306T\202\207\252k\261\340\265\327A\341\222\223\350\034\0335<\177\243?\214\267C[\364C\372\216\020\213\352\323g\274^\364\234<\244^\014T{\3103R\210h3\365\302\025\022@\006b\\i\263C\362\343\270p\300?\252b\214\357\036\337\360_\037\367\016\356\016^\006\036j\336\236O=Q\017\345\177\016\305\256\3778\342g\373\023$\222\004\257g2.i\272{>\244Th\257\345\316E\360\250Lf?u\016\362L\373Y\202&\240-8a\006\033\347`&\010^\301<\240\257\217k\245\211\217k\210\371\0309L\307\333\255\232<\001\317\277\223\003\354\252\242\000p\021@\362_\021\333\364\376_H\005\270O\034By(N\252\037L\343d\370\353g\177\271\362\337P\002\330\371\376\362\240\227@\317#\253\326\005a\315\375\373\217i\375v\014\300|\016pn\003v1\201\211<\003\3173`\260c\tv\233B\356]\250:\026\330\302\201\331Ep\"\n\366]0+\032<Q\035\214\001\010\373\324\010\303-\245\364\377\316\246\325\250\020\274\310\t\016\322\202}\231\301\304\313\235\344X\243(\345B\002\013\r\374\006\004\323\230`\246\200\273\250\321\037\343n\242\027\271\2206\034\360C\177n\366\353nG\355\216\355\325\033\242\375\027\353'\254p\312%\0346\264\354\360B\360\341h\204\372\214\277\023\177\355\340\310F\036t:m\225BfAm\010+J\203\360\373\2776m\000r:\241\023\257VLH\223]\214\304$\t_\264\250\2770\216\335\353C\360\345\341\204\217\364\235\014\272\267N{j\313\251\3543Nuw\n3\220\206`\371\217\202hGM&\312\235\\i-\027\335\231\353)\347\022\367s\301\233\344\351\016Z\322\031s?n.\201\244KS\212\242\253\310[\217\230\310\360B\370\237\200'\331\010\362k\033\373BN\276t""\306t\324\327\263\262\241~\371\262\347\363)i\223`\370\371\241\320p\350\300\374\373\325\342\270\214\222z\375\000k\252\250\376=\315-\325\356\317@\r\373\3715\224\206\202f\025P\220\376\312\201S\240\301\256.c\263\303\360J\352sK\3072\364\033\206|\013}\204\351\353\222\220s\3669\204>\200\204\276\337\241\202\245w\276n::S\243\021n\311\342}\330\212\024\357\262rvf\256~\201\213\256Cg\037v\264:\026\303R\251\206\200\252\223\255\3731\270\377\272\271\347\202\276\343\362\177c,Vv\027\322\363\004\261\360\204\031\273E\317\222\013\276wEO\256\360\310\312\\\302H\356IsbIOC$\213\r\367e{|])\261\023(\234\003\272\215/\206\363\227_\267f}\3657\3713\352\213h0(\272\345$\021\331\335\000\327\303aL=\253\362FV(\204a\255\343\373\374H\360\247\337\223\307\351q\3158\217.\003\026\365\364\277\346A\322\271\3775\331a\340\303\316\261p\202\227?Y\"\233G\315\240\247\360\225\2527\227\257h\002\345\350Vr\036\254\254\221\230\270#\205\211\025$\363\303M\347\367\342<[5\231\233\021V\276\375\352\225-\020\316N\003\345\277z\374\341\005Q\352,\203Bk\037\203\206\336|\301\335\301\252%<\234\006\313\245\254\343g\265\031\326#&\301h\261\014\325\243\212C\212\375\371\"\3618\303\343\030\024\023\211\034\n\341\245\350\374\200_9\177\260zo\226\246\360O&E\266\357P\336\302\227\353f\266\332\263L\304kr\252\t\313\027\232\210\200X\214\312'\313\253\330\200\236jI`\337C\261\311\253\016cF\221:\240\005j\326\253\372=)\276\315\373\237\261\241\177\270OoWp\221-\007\034j\t\360\taj>\237\322\263\003\273\027[W'\325\357\331\016\265xc\016\363\320C\305\336ti\"\312#\357\326\233\rs\n\205\022\363Vb+\324~\023\347>'f\036\355\265\322\357K\021-A\266\363\231\321)\224\342\255Nt\361\212\224\302w|\315HW\220\014\027\201JA\373\244\251\334\024\246\265g&\374w\235a\007\034\001Yy\241\n{\213\325\375\323aH{\021\214\027\350I\327\324n\\\2476\306\035,=aL\355Y\253\246\247\272\373\323\026\021\n\006\205\355\235\252t\037<iS\344~\244\371\007\217,\020R\031\r\323O\252z\307\037\365\244\034F\355\210i\355\346\0068\231f\343\340[\000\3653\376\251\360N\262(\360\322\004\304\230\222t\226\203\262P""\324\213\006\250h\030~\275\300\342\2226\245\2000\310\303W\016\217@\215\376\263\206\306\220\350\014\211\363\356\201L\256\307\262\227U\360\370\227\231\241Z\374\256\313\252\206v\261\036\223;\001M\262w\253\312\360W\374\346\254\212mY\306\236\0320\223\334\311\354\343\306@\275W-;\332\244\"\263\362\305Y\227S\366J\2646\202\2348\005\360\212\233\201\243\267\213\3268!)\301\215\240\323\275\260N\211\302\\^\201\260\224\334~\313h_\261r\024#c:X\022)\205\020\341\205\346\207.f\\\255\372\203+\317\343=/\202n\002\366o\373\344\031#\242\021S\221F\014\177\361^$p\276\034\350\357\214\342}C\324\324\364t\315\276\325\313\212\3539Q\236Vb\257\364\312A\252\367\231\376\210\312F\247lH\267\200g9Ic\262\252\212K\262d\205W\001\0057}\177e\220!\200i\016\263\332`\242\336\263\027\274\306\363}\371\r,Z\321\377/X\177\021\025\202\017\200\266\177\261\325\366\301\000!]\317\320K\034\313I;\nBaZ\021\215\016A\230l\202\005\335\013i9\034\273\347\253\261\227Pk (\020z\210\250\214\246\200\264\037W\340\230\251\275\373B!\345\315h1\334\037\022\002\312\243\374\217\375\331nW\371DS!\010\322\355\224\201\031\303\332\222\005=C\221w\030.&l9\272\214?7_\346*\252\364\177\016\025\250\311\224\257\020\353\336[C\267\004\356,={\207;\200\377.\327(\004tS\023\351\257\314\314\"\212$\307\271\264\365\265i\2150\342&s\220c\316UT\0039\277#\3412\024\217\311\266\346\016\032\222\305~\304L\354\361\32136\335\005\353\373pm\277.\344\363;\300#'\345\300\242[\331Q\024\203\260u\237\233\231\263`\324\250\006\366\264js\333B\262S\211RE\333x\206\000d\3532\264\234\254e\211\263\024#[\000\334\210\013\033\262\203\201\274\213xa\006\203\244`\317\243\355{/F\253Q\227?\344x\315P\\\nA\321\343\326\251\350\371\010-\274\344m+\020\325\005z\230@n \217jp\213\302\345\325\272B\022\367[r\273{S'\243O\013p\374\367\252\252\373|\251\230\252\371\362\342\243\016\270\n\220\373\316D\rt\366FU\032\367\306y\320\245\"FQm\320\001\202#+\2262)[+\322'\341G\2615\362\373\311\314@\265\361pmKp+6\217\000\357L\207\244\032Y\242\002\363#\220j\300\016O\357\004=:\317\270\217\272w\036\365\005\002Z#a?>\320\326""\315\001\000_l\n\353bn\321.6\205i\201\257\364\257~\245\177\365+=\361+\\\003d\\Oc\241\306:R\223s\316\243\214\236\243\327T\243\365\244wNb!^7\016\320z.\266\010\330\003\333\003\356\003I2/\243\362\033\266\322&_<\241PP''\250\"\252\250\022\001\000<\r}\374\007\360\2013\216l!\317\016\376\240i\0234\357\024\213\207qy\223\333\275C\354\024N\342\351[\267\2668H\345\016\257\n\200cW\374\201\353 N\021\267e*0-\020hm\020\226\272\242V\322\025\273\330nM\341\251[\313!\341\213\026tH\000\310\324\235B\235T\002\000H\373\265}FZ\004&\267va\335\254\2159\\[\324\027\256\252\001\323<sn^e\361sUW\254\265\314\262\235s\\B`\2252\256\210\331V\226\265\036*\023\36310\017\303\362\320\334=\264\017h\344\234e\345\223\367\216\235\321\022\013\\\274\017\0207\203\315\313\277$\3301\"t\212\247*e8\262\036\232w2|\265ej\246\231\027\303\335\372\200\356\r\343\226\n_Rz%\242\357\251\371\032\227wq\251T\373\330\335N\323}\365\363`>*\021\353\200\331\234\224\205OLK\277\344\363>\313\267\335?\275\026\"\273 \357,\262\306\013\t,l\017\330\273\336\353\003\030\262'\267g<\374\003\255\264\332\261\236\004\326\376\225i,\234`\036\220c,\\\245U\263\217k\315\221\335\245f\233S\340k\335\271rx\205\363\346\033\017\235\243W\372a\206&\304,\235\030y{b\343\225v\211\271\201\037V\376\313MK\242\t\350#\031f\346g\222\277\274\337[\250g\324\255\256~\353%\315n\310\255\374\214\203\362J\"n\025\000\250\232t\317\274S\341m\001\375\240\232<\275Rj\340\355o/\034\331i5\307\214c\361#\327nm\206\256vX\257\206\346i\224/\275\341[\312\353k\347\341\320\304M\031\226]\362\007,\007\343v=\212{\246\305)B\301*3\330\030\035Z\303\3208iSnP\341j}C\017\320\315\3715\013\345\231\no\366\225^To\3148Y\001\300\302\223K?\314\267\324\253}W\257\265\373\022\000\030xj\235\334\372\235SsS\326\210]\375\203\251c?\0257\241;\327\2579\366\331\0318\023\273\324\331$fsO\277\326I\372\245\177\271Z\037[\337Z\341.\355)\365m\rB\2734DK\203([\276e\345A\356\326\215\324\215=\325U\265\n\247\360\254\002\000\333\223j{\244\336\235\233\365\253\306U\247fB\356\366\207\272G\347\320dUf\211\211\260Y\235%^zI~\311\252\3543M""\250\007\352\243\031\236Id\235\030\006w\222:US\330\276\331mu\214N\316\357\\\343*\000\210M\221*\177d\277l\244\332\210\006\322-\355s}\354b\t\310,\034fg\236\334\022\2771\313\302WZ\245\217\263;?\3102\2261\216N\025V\371;0\357\344^\014\202\277\323\225*w\351\005Z8\2673\210\274\204\303t\221\326\231\221s\221\034\021/\250r\204\025\276\202|\341\255\264\211\375\242\206\3220-\301\360\252\034{k\035\332\202V\3168\220\330\215\003b\226*\177\345\326\372\312>\034)W\310\0012\354@\2253s>\007\346a\222\237\\\371\225\207\347\315=y\225\221\246\n\252\274\265Q\266\207\354W\231\027/\254r8\266\210[\010x3\206\255\3607n\305\302\351\252\000`\367\244\326\024\251'\352A2z\3520\235?0S*}\3260\237H=L\240\035\034\246\223\310(\347y\023\255yV\270EE5N\3463J\024%\212\022E\211\242BQ\241\350M\264\246f\010J\024\004\375y\302A9L\351\020S\007~\362\0041\241\320\037\030*\344\204\2455O&Q4\350\311\304\301\211>k\234N\230I4\004}B\243C\321\032\234\036 f\221\263\371\354\001rF\207\242\316'\017\024\256\251\t\267\366\302\225\017\002\344#d\217\251E\306\351\326\027B\316z \215a3\262\255\007\236y\024\024d\253\031,\377\232\252\326Fq``9\270y\357\217\261$yf\212p\221\373\345\016\276)\374j.\261\2216\304\211\322L\366\302\325\027n\362\344\320\340{\337\014\007\322tr\322\323\3712_#\362\303Y^\t\013\177\370k\327\324\301\037\276\243\363\3137\272_&=z1C\205\266\321\342\2319\245\346\254s\370\365W\377\201\235r\003\017\316a\004lsq\366\215\320\313h\255b~\220\336,e\342m\006\302]\2643\352\345\365\304)\210\371\026\023\351\253\035\331\026\303U)\375r\270\037b\314\246l\344C{ZF\262\353\032\267\026o\326\303Z\003\215)7\271p<\307\004\236d\003+&p\242\241\237\271\213T\333\244\216JgC\371\255c\203\010_\352\234y>a?\250a\301\026\"\3479A\202\362\202\314p#\347\336|\310\224\201\321\016w\213\226\265\026\242\352!\227\220\226\331P\006#s\330\314\241\3227\363\356\365\360l\201\361\243\3560\227\257|#\220\203;8\300\"\307\323\314\376\3209\020e\315\336\301\020\254\2013\274F\033*\320Z;\351\355\263\032\307e\351\305\3308\033\210u\200\2571\316\252\225s\340\013xj\001u\325\037""\312\"\025\3679<\346\005n\023\336i\343G\016\200\275\3559\265\364\227\273\220\354\273\000\006\357\275\262}N\232\254\215\266\\\370\326\007\001A[\317\314]\367\253\034\316\372\330K\025 S\027\206j\253\357X\311\014\t\010\010\370\352\021\\,\256\220\220\307\014_\267\316-\275\022U\246^Z\364E\321\217\342<N{'u\343\221\330\225h\370\203e\026\373\004;3\207F\322;l\254\n\021i\010\037\016\337\310\233\366Pt\241\351;\365\013=2\317\344\244\312\303^\352 \020\037\022\372\236\317P\371\346M0R\003-p\240\007\202\260\237\252\315\023\362\375\367hB~\316\013\253\214\223\037\031\275\221\363\235=\322\227&\037C]\301\220g\306#\347\014\1778\233\337\344y\036\230O\272\201\267j\253\372\021\031\205>T\350\205~\376G\371\031MY'\263\270\213}{d)\211rF\260o\\&\271\201\025s\263G\035f\341+?\274\241o\027i\322\023\266/\276+\251\346l\004\252\212\326\243\3123e\365\344\247\202\010\202\313j\366\036\227\006\243\034\035r\247*\035!t\3637\313/\271El\327\016\260\203]\371\372\"<g@\237\377\014\372\240\235\337\t\271Sw\323\356\351\262G\025\364\270\216\344\236cH\300\t\\\027[(M\033\266_pu\016\214\225\327T\274\256\267z\303l\216!\r1\373\365\346!y.\303|+\000\240xz\235^\247\266\356\230\225\342\036w\370\363\243\326\r\263L\354\252=\333\366\016\007\227z\207\316\240\275\360%]4\367\3106\006:\366\322a>s\371K\210?PI\236t9\274\275I0\236\203\206h\300a\373\327Q\350_m\366\343\3359\001k\307P\373M-\\x\206u'~9<q\334%\030\217\201{\334{//\376\002\ta\005\026[\256\321m\341\027^{\251\036\332\274\r\n\313\323\330ENz\342\365:;'\227\253w\320\206v\243\032\210\203\343\342\032\300\023\017\010\305/\267\343.\031\3760\3679\021TH\010\n\004D=2\322y\235\227\227\271\021fd~\351\206\321\351<I\024\013\213\263\031\362!\302\027\336\336\256S#\353\340\275r\237\254\267Lg{\014\3660|\251\374\235\273f'\373\333k\202OWf\266\362S6\312\0301\264\355D\024\010\352\343\003u<\252\322\242\345k\334A2T\t\212\204\00452\242*\005\306\024\024\n\212\312\264\204\374\211\236\357iy&\243*\362T\374^\216\033p(\r\364B\\\364\321\025\266@<S\3423|\237\004S{\215\032>VdLZ\243\322\236\026X\376\316:\253""\234\\~\317\310\021\\g,s\032\313\312\021\256J6\274\243[V1\336\347J\226\350[+\363y\331d\030\243\032\002P\003X-\207s\336\032\032N\020\336\212M\323\200\262\217\243\241{\\B\010\373\224\033\016~\325\376\313\215\310\rY%\3653OF\245Ir\003\216]\264\217,\005\255\206\340\314\314\305Xw\340c\216\006Hk]\277)\035d\r\337L`Yr\003\353\025\272\211Jv\007\026\232y\004\0379\336\010\217\306V\273<\374\306\363u<\312\243h\274\206\257G\023\204~9\214\227\237\025P\373\333\315H\260\035[\354\205\356\2226[\350\020\3619\262c\333\302t\002\275r\241\027\360\r\354\347\342\202\366bm,7\300\326@r\024\304\031\251\335Z\266\246\305G?\013\200DB\224h\030\206WN\344\271\240\026\016r,\276\325v\266\014\330\033\273\335\213\341\006\021\326\312\201~2\347d\352\272[-I\213\342\225\370\365\321/\036!W\311\261\2657\001\017\245\007\031\033\030\256\305\034\3440;\210\355$!\357\242\003\372\350\341\2551\\)\207\326;@\010\211r\001\213\300\322z2\326k\343\356\220\354\313-nY\213\313[\3378XT\376\346F\311}\353Bh\361\212N\215\235\326\261#\006i\\\310\312\337\267h\234\250j`e_\014\360\365W\003\234i\303\205\240bPE\274H\214\274\231z\311\263\204\313x\244g(`\370T\336\004\350\303yn\224\010\034\216y^i\310+\364\013\037J\214\206y\035+\225\005\031ck\310\r\037Nk\031;K\213\203\023B\353\360,\\=\224[\313*\225\235\354xH\360=\300CQe\025\023\313\215\312\200x\210\246\255\320M\214L\026\204R\271\304\240\340\246[\354v3\312I\202\\\177T\037v\244m\206\324\023\020\022\322\273\304^\366\013d\313P\370\346\311Y\320\035\302:\260\315\223,\326\374\247K\353\n5\306m\346o\023\271\234\0269\021\244~)\\uj\032\340 t\010L\223\214\204\030\201\3047\231R\256\301\252\243|\302\032\217\016AB@;:q\321x\233\341FM\022\315_\204\335\242Q/\260\274l\344\216y\355U?\206\260\035\307(\232S\200\267\034\2331\263_\3351`\333\"f\377\004s\244\002\364\321\225\t\2271\032\014\321\241\337\010\332\033\250\347>^\327s~l\033\315\331\303s\323\212OE\276T\260]\313\345F \220\217\324so\245^\362\014\211\336;\235\334\243\216(\243Q]RR\332;\235\343\367\256\201OB\260f\262Vk\n\256[\352\002\355nv\235O'{q\265b\365l\325""\240\305tK/R7@\320cZ\2020\005\352\335\320\2355\322\254`\367xN\232#\365\3655\252\366Y\312\0252\224\305H\346\2516:U`)\344.\373C\366#\275\000\242\177\266\373vwt\241\216\366\303\216B]0'\355\211\270\017\031\032\315|\357\254\341\3668\243\366\237G%&\363)k\270w\t\361{\277\334\313ZqX\240f\221\242\202\0352\213\205\370\241P\2061\024\306\013\361\302k\337\354\"\260\370l\013\355S\370\205\210\302\355\207+?c\273\000\305\257\003\336k\224\000\245v_\362T\327^\360Bm\215!\007\354\035r=\327{\021\265\257\251\362\374\355\313\250\013\2639\326\337&.\276\353I\t\366\255\275\315eq\257\024\264}\203\216\235\263\207/\025\217\366\021\264bp\336:\340\376\342\225S\"jM\231\230\312\037qLT\320\226VF\231\255\370\252\004\266\014\270Y@\222.v\301~\003)\315\251\202\312(\245\265#\333\330ve\265Pu\252\302\024\232\362\273\351U\204d\240\n\371\022\037\355\2131\237\331\362C6\210\304K\004U|\305\355W\336\000\305\200\3416\356\220`z#\307\346b/\032\276)\226\024\303X\332/VT\257\260 \364\355'\201f\326\261D\331\353+V\0308Q8r\234,\313\275\261@N\000\202\260\340\263\3764\221-'\217\005{'W\014@E\001\361\321\213\300\363\02533\366d\020\000\370Q\331\207yqQ\354\356!\365\212\256\224k\322\243\014!\313_<\3349\256\n\261\353aq\361\014\220\214\032t/M@@u\265\346\017\t\032\002c\267b\177\330> wP\2609\270D\245\371*\031\220\372a\200{\261\250YG4\341f\216\347%B7\312\220\027\023\344\231!J\334$\301\327-E,r&\031\027\362\205\220\rb\361/\316cB5o\014{\276\236\204]t?6s\250\266DL\026\302\2525\370v\241\235J\374c\305\253\224R\370\201|\277\364\334(\033?\264|Y~\304MB|\242\357\204\244G]\362\226/\202\361j\220<\004N2\327\216t|A\355\224\365\002\310\302\261\375\365 d?+\256\030sYQ\253\306\260\035\316\226|\221{\251\353\232\276\243m$\301\304PC:\252-\201\"\035\343\341]M\272DE|\310[\007yA\254u\3201\340\032\360\024\216\341\331f\372f\204\257@\020XXq\336\014\2423Mh\2058H\332\327\004\006\004Zun\345\266ht?F?\254C\303\226W\021{Sl\241\033\333Tly'\236\345\211|\355\226\035\261\240\322\361\n\353\373oma\275aQ(\254(\264\326\344\327\330\254=\321\240\362,8=\001\027\2204\240\272""\217\300\327@9\006u\022\343\327n.\326\310\224o\330))\315;\305\205\240\320\312S\020\214to\013\336\302gs\026'\027\350\220x\344\301\227<\324\016q?IG4\344\364\246\206Z\215\344\241\001\317K>\200\205\301Ac\206\274O\200\251\207n\200*\032s,\020jH\307xp\210\371\224\023\024M\354;&\220\263.\247\336<\035(%}\022\315\314\315G\006\321HG\203/\344\262C\344\314\2735\377\361)qhWl\347\201u\201\260\320\002Bx'\204\327\224.\327\265\315\223 \226\270\273\305\336\001\0061\214\336|\2463h\325\037D\031\232$Sc\325T\225JN\023X\r\337\340\256\254V\266\004\303\232\304\23629b\2130\260\374\001ORv\217L \377$\345#\354\225_)~\261\347\203\370\207\222\347\221!\274\2524Wty2e\"\t\315\205\346r\212\3402\305M\237\354\264`\270\242\324\t*~\370\317G\2314BP\227/\006\177K\270\261L\364D\352s\204:r.g\006\337=\017\320\227\023s5d\337X\026 =R\362upz\033\277\201\214!\246\006\031?0\031\301\n\370a\224G\240{0=#\333\260=\032\251o/&\227\007\005)\017\241^P..\t\267D'\302\010w\001^[a\330\223?\311\327\272\247\213s`\337\013\302\265Z\tM\200\253\016\243U-\340\344\007M\223\271\334\255vA?\032g\035\222\"X\221\344MXP++Q\350\211\306\027Ew~\007\346Q\356\232\276!\241\374\037\207DI\327\220\300\221\216\376\210cE\207\263\270\335\360\231:\250\303\255\257B|\342\003\311\033\300z\264{\004\t\246:\304\267\225\317\221\225+WC\343\351\344\207|1\237%\333\250\367\330\340\221\265\240U\240\356V\007\270\200\352\272T\217\247\337\377l&\256\357C\236\235\330G$\312S\016'A\373l8\rG\332\016\214\337\177\036\357\361\303U^\345\367\362\023\031?\034\246\342\351\3452y\014\030i\276\013\224\370\250t\322U\022\r\242\031\001\020\020\000\200\000s@\000@h0\032\216G%#\022\245}$'O\022\347\245\230\030\032\002i\312(\343\010\000\200\000\002\024\000 \000\000\201\3018\000\375\366\270\334/\305wQ+\353\305\201\331V\2256\315\262\003m\304AG\314\252K\327\237\330\005MyO\362P\361\033\325!\350\t\003>-T$\276\027!\232\333/\233\321\370G\320H>\rzD\336\327\336\010\362\037\204\216\246\246\315\207C%\020K^\234\352i)\210n\305\032\020\204\312Hv\037\265\376)h+\t\237\226s\177\tP\215\241eQvl\365\032Ni\204R""\031\037F\341_\256\333P7\245\3616Z\227W\2538\230@\264\227\2145Y\376\014v\374\005f\310\023u\032`\251\224\340Z\262\340\263\374g\373i\232\211U\350I\247\354+\t1xN\353\260\217\304\222b\261\205\347\352\314v\265\217\303\342ES\203}7\300\356.\212\357\246\022\215\256\341'_\252\317\232\247\366\3773\323\350\342Q\273\330\257M\311}\274(O\313i\205\242\212\003?ce\004\2444\344\014\203\211~\275\302\030\264\037\310Qt\217\255\352\2540\365vM\020\364^&Z\265C\233'6I@Z\343K\025\333PI\321\214H\353\364\376\010\021\371\203\350\307>\244$\371\217E<\022e`\033[C\320a&=7\002\375\327I6\204p\237\223k\244\317\202:v-@\305L\025\356:g\373\226{\005\263\025\337\261\221\321\036{\246\247\275\227\006@b\237\3231\003>\027\016\327\314\005R\333\n\034\366\200?\034\200\010\207\356\263\322E=gbw\031\204\243&\301u\177\024h\010\324Lo5\240\016\242$\020l\215L\341\263\250\3745\304i\036\340\003S\244\035.\227\305\002\364\201\0001~y\026!G\271oB\303\323\203\034\353j\321D\206y x\332:)\252;43\260\327f~\214Q!\014\245Y\315tK\264(\355m5E\006^#\220 w~\221\006\315s\206\210~UL\177\037A\342\007U\n\331\376\1770h\363\n\212\010\233\002\251\320\364L\036\256Cm.\244\3105A\223\36689:^0\3209\347\270\331\033\036n0\362!\313b\223\313\367<B\204@\250*%\030*\261\300\001\273\305V9\025\336\326?J\301p\rQ\276\351\001P\355G/@=\210\255r\241A*p\203q\343v\254\374\264\276\343\210\254\307\375X\242 H\005\262aW5\230\245\252\002\366\016|\333\347\353\022t\020\374\027\230\224\245\005\265\250I\342mm\306\207\030\213\277z\345\231\224>\022\027n\326>\375\306\010\tH\021\245$\244;8a\263=\254\350S\025N\034h\210\006$#\375\000\334\312\244(7\362Q\327\221\311xw\261\314G\271\001L?\356\376\303g\0012z\215\032:\024\351\373\244a\364/\r\367\304S\251\231\017\036G5\"T\245!7\036=\274\241\207\0173Qj^\252\304+\237\2275\356[!\352\333\354\242x\350\246y\030\033D\r\r:\010\037$\374\357\262\261\225,\330\230\261\342\370\026\326L\337C\337]\0241\r\233k>\362\257+y\333,*\210\321\001\332\247R?\364L\313=|4\211z\\\243\030\377S#\361\234O\247;\207\002L|}\016\374W\343a\347b\026\261\253\320\007\250""\325\323P\367\373Zx\032\257\331\255x\342<=\223\005_\026\337k\306\304\205/\344\201\016\244\021BL\236*\031\177\204\272>]\206\247?\370\020\241\222\333U\221yRT]b\340\307a\247\370\002\205S\230S\344@\272\020Jc\370\177>Q.\376\004\340\373\013\350j\342\357\002Q\345\261\330\257\026\325\377\325\234J\304\3014\324\026&\235$\2622\323M\2152\374\032\316\260Z\325\220\372\270\305\000\334Qf\001\244}\3108\\\204\016w_\256lqd\rO\202)\240n\245\273\000\"\362ED\030\311\222\030=\004YL\354\313\177\237\000\355h\342\350\365\354_\007\226x\372LY\003(w1\017\265\217]\364\351?2\241\\\236+G\231\3622\367C\032x\323d\214\253\327*\2605D;n\013R\034\306\324D\207F0\310\221/:T\303\240.\211\210\001Q!\033+\030\223#p\224\250\013\210a\002\3706d\306\270g\312XqF\342ej1\260_\264\336>\344ev\317m?\225\023$Gc?\215\374\016I[\366\203\221\253z$\265z\310\262-FRN\350\027\207i\311\271}\231\301\255^j\325\221\010\t\233\315V\275G\204\026\300\010\035\207\210V\312:\\%\255\365\265f\033,\351\2166'C\3567\t6\024\252y\261)\336\311\0228\2044\212\356\375\025\016\304\263\016t\2460\017\214\245\"n\225\336$=\020!_\347.m\006\276\376I\331\377q\324\204\363\301\341i\002\201/\340\302\253\277\242\327\220\230\201\340\232\355{\025\323\223-d\224\367/\236\247\366\240\257\313s}\360\337GM\253\347s.?KT\005\211R\017\203q\2656I\0355\317\035\332\260\233\237\341\314\256\2134g\005\337\340\257\n\004\200\232\340\377\203;\212\014\340\370\000\223O6\207\006^\003\325\366\203\022\377\342\025\365\347-\321w\361\333\200bI\321p\335\030\324\332\224v\252{=00,\272\322\360\203\302\345I\"\322\rV\n\274UA\351mg[y*DA\273\323HL\006\201\277\205,\300\343\r\t\030\214ft\352VnS\334\3116\345\327:\344\274\343\241\227I'BW\327\352\3273\265\037\337\223\216\361\375\205\350\211\3458\364\025yF(\211\307\005\252`\222\347\322\026m\274\264\360\343\345H\301)b\232\343J\277\375\255?\253\235@ \207\014*@:dj\n \2213\007\341\226uQ\010n\336\010\320\374\200U\023\241F&\013L\322\343\225\216\247\231\310e\306i\253\002\224c\255\036%kJ\343\276\374C\364+\375yMB\314\306%\346\363\374\\)\355F1+\022\274Y\024\310""\351\177b\205\211q\322\274.D-\365LofX\3417\201\313\234F\213k\317\276-\344\245\032\364k\2000\370\2470a\240\353G\336m\350R|\211<m\267\036h\307b\364W\0315\243\204w\301#z\0142\250\206\250?\367\264\332\361ZC\376\302?\256\201\372\203<q\375W\312:\201\313\231)TJ^j\375n\310\227\002\256\336\236\216\340\255\315\205\344\235b\312\274:l8\334=\2137\326\232\002\234Y\352Tg\035\374\014\3252\035\232\024t\267\332I\226$y\351,\377d\255(\177`\3679m\356\351s6\010J\366o)-\352\000\211\262^Q\237<\231o:\022\277\272\223\n\202g\360 \225\035g\311_\020\332^\322\344\327\002\222\000\364\256\244\346:\000+\261\367\027\262\203c\263P\016LK\000\031\256\240\236\214\374\345_\264\325\215\225c\222\010\313'\252\311C\332g\236\334#A%;\263D\034$\336:\345q3Z\330\357\305OKU\204\245[\231%\252\345\217\2705\230\270\205\246\253\025h\250\024E\205\201O3\023W\014\031S\226\301\260\211\342h\022-\311\352\242\222f\322'%\221\377=\345\353\274\334\374G<$\010\247\214\010H\257\224\177(\325(w~\330\n\257`~$$\003\330\225\335\261J\322di\351\243\230\362\325\301Vp)\303\316X\216\371\314\343\264\r\253\035\\D2\206\322>2\364\343\223W\n\204/`\331.`2r#68\226\272\347\"\260,i\023c\316\005\2466\310\220\305\233\242\263\322*\203\006N\033Kq\034D\244\317\241M\315\002\nHe\222$!\360\374\031\207\307\325\316\351\277#\266\323S\213\225\027\013\207\213\014P8\2345\007\265\303@{\211\244\236E\177r~<\024\303-\"\031JK\227\247yM\200\365\322\213(\2512\301XE1\336A!\347\200\275\346{\333\243\226\213\364\326\366\341\267}\263H\361\252\207\210b3G?\372z\222\3639\361\255\234J\273\300\255\212\274\210P3\340\222w\213\210$\222P&\377T\377\036\216\336\0177\205\264\372\334qP\312\005V\331J1\247<\236D\357\007\324C\375|Kw\235+;\346\357\243\225\000_\037\307\232\214\003\372\315\032S\002\rK\021\033b\303\2772F\252\nKX\027\352\036\023-\035\007,LSe\330\263D\020\036\263&\330\333\240\236Rz_\313{\372I438G\223D\010\010\r7\231W\223\354V\324b\030\246\013Y\254\301\223\372\311\026Mh\234\231\017'\177\n\330\001\350\372\202I4\000}\242\201\301\243\212n\014\0340%\306\317\235\034\361\1772\345\374""\021!\270{\0105\343\031^0\355.\362\367\020;\265;\366\260\223\002J\343Q\231\016\350\325\2254}\315\\l\313\204-\211(\311E,\246\373\277 A\217xf-o\200\177\201\232\005^\033\016\340\265\324\260\336\004\371U\233l6\362\355\204\224\221\004\022\226>\304\227\202\214\322\306\024(Z\201\360\3415\350O\3709\2551\"=<\242@aA\016.\320-i]e\010\251\321\315\003\300`\272EY\373\201\356\303\307k\334>99\304\177z\240\306\305?\022i\2006!\211x$\204\247L\266{\241\310g\313\301\213\035\016\214\361\207\210\007\177\301E\210\363i\243\243E\347r\212\025ZKP6O\324\312\177\2155\237\377\305\nrkj2\360B\255\276\201\323\350OUq\\\365\022\347\274\311\244\356\351Ot\327/\331\036]\372\307\344\016\001\277\233@\366\\*\014\024\244\323\r\270\357\333\300\334)\257\262\0167kM\354\033~\200\n\"A\266\375^\215\0353a\217Z\312\3061\245\016%\204U9\277\022\304\335\224\203\202\331\200\021\206H\211o\217\312n\001>}\274_Ta\310Os~\250l\270Y\177\326\205'\354*\345(\356\201\240\306:\034{\006\231)p\365\332\307_\212]=rzf*K^\024\260\361\343\371nTs\241\336\331U\2750a\261`\207\"q0\340O9\316k.<h\215\265H/\202U\305|\227\027\263\353\206F\t]lA\037\224\235GZ\262/\302>\213\303:!}\366\007\024\351,\224\360n\350\004\370\311\300\253\306X\313\002\332\2315U}7!EBcv\335\300\003\307\037\3517\017b\0017\351\355R|\005Xj\"\257\257zI.b\350\361\303\017\274\027:Nd\006\377\272El\247\366JZ5\006\372\013>\274\274^x\207\242l\302-r\312+\021\315X\034v\317V-\206\313MWI\307m\274\000\nO/SW\340\323\267\003Ca\007\223\363So\360e\236r@\363Y}k\200\375\034\223$\254\251\374\225\010\177%pe\027((\022@\027\310%\\\3535\246\242\256:\003K\016I_X\214\225\353\236\203x\244\317W\034sZ\3302\336\255\273.\240\327\3303\231\304\253f\351\362f`\360\356pNKz\372\020\312_\241\320\272\251\371-\254\264vA\006\237\252\222\232-L\321\301\204\034\006\201fWd\275\177E\t\355\325\202\246\376o=\205\267^\373\314*\336^\355H\245W8o\370\236\371v\3579\037I&<\367\373\253\246\"I\0056|\324\255\312l\231\312\337\347\230)X\352\207\261x\0254\274\021\037G&\230l}]gE\266\3408\213\321\022<\004\202\274\371\363a4\004\200\342\225b""U\356\322\276PeZ\020\2150\014(>\3601\371x\337\341\205\317\014\377)b\334\304\004\242{i \262d\014\3143\350\313\006\316Oz\311\010M\021\344\372\365a\322{j\020\377\336\021\022\260M\t\035PX\233\300\3570\310\013\036\365C\233Y\251\243CJ\017\024@\n\232\035n\271\357\333\020\317\341\263\376\266\251Y\207,\362\003\343\253u\3768\265\357`\024(\325i\217\330\366iE\255\313[\321A\0177\334)\002\344q!\254\224\230ab\312\315\255\336v\271\252\336\314Y\034\301X\354t\350\347g\3347\036'\343\310\346\362;\315`\210\263r\200\355V\0358\334%r\334I<\307t)z\331\002\007\001<\261e\016\252K\352\375\214i-\332\332m:4P\257\332\013%\031\314z\346&\3035\242LK2C\021Z\305\245\236\342D\354\027\030\223\262\\\341\232\373u\246\344)\256\026$\341y/\311t\346\360hJuo$kI\r\207\224q\303\376\312e\211\201M\203e\340\263B%7N\211-\032\276N\n\306C4\024\233n\267a\360v\234\262\234s\302\202\177\024\224\337\331\010\310\261\007\035\250<\203\365\267\276\271\374$\234~\250\211i/s\177\217\256\367\340\033B\364)\347\032\220\256\007\200\301\003\031N]\007w\251\237\356 <\246\"J9W\033\352\237\236u\321q\001\243.g\250\245\331!\217]\251\331\233m\302\305\364n\314V`=K})\240\230X>\203\360\023^\301|I\226\223\257\273\006w=.\310\013O\275_\306IJ\3146T\021\203T\250\247`\302\253u\210\320\351\376G\362l\273\215\214\037h\013f\347\342\334~\314\245${Z\230\345ar\016^9\t\257\214H\371\220\334\311\276\262 \317N\213\373\346\216\021\034\034B\022\255\2547\207\362\371\367\033\375#\221Ef^\210\212\223\317\214\307\232\260\367\200\367\030G\004'\035\360!K\022\3060\013\2469f\222p\334\262\267\247\237?\316\342\254\333m\352N\260\367\200\324(\233\211\336\310\0275@\232\232 \211\243\374\340\356\220\020\3114\346\001(,\2465\021\366\245\272R\006\236\272_v\345@b\366\321\242q\013\025\320\3403\317:\257iFl\323\355\361)\331(\336\364E\275fE\\\337R\r\342hH%\034\334\245\226\205\242\3360T\246a*{5\003L\347T\376\377\316J\r\320S\252\315<\272\233a\301\267\351\366\370\304[\033\232\020\371\210\206\007\372\037\251k\365S'\344l3\374v[\355\223g\007\204\323\276\024\231\375\262K\353{{\004\255yXd\001 ""\222\364\310u\022\315\366\032A\267>\311\337\203oK,\305\204\316\017z\356&\324\306\274\004\317\\\207\205\361\303\347\3123\271q\212*\016\023A\312,\345\236\027\003Y\360fo\377\305@\001'\201\206\313o\235\020\214\033#\017\211*\253%\236\003\347\024\310~C\265\026\206\031\223\010\365.\347\367U+\325\007\233\327\177os\367Q\214Z\004m\352\203\2647c\354\243m6+\215\300\342\237\272'\333\231\265\266`\265\354\332\023zg\302C\337j\223A\274\351\233\017)A\031\350C\014<]\n\245\341\001\253*r\270\370b\357.5\271\013'\325\251\310\024j\005V\342\365\245\321\243`\200;\371O9\342x=c\004q\211\020a4DB\004\007\254M\347&\330\342i\370\353l\"\245\235Hz\312\265\314\201\344K\364\0368\257\212:\316P\0226\027j\226\203\035\322r\r\312\300\r\325\356\225f\255\250F99\243QC\327:\315\362\332O\n\336\000\211{\337b\201&\257fW\237zgV\303\0247\023\311\212\326\307\360!/\365 *[\351bZ.\"\251\331#Z \034\313\263\240\363P?\030\254)\323fH\362|\211\r\036\204\332\265L\0247g\340\016mQ\000\324'\023&\257\016\347X9\301\005\212\324\210\371\332QCJ\373\237v\331\337XS=\226\207lY\017\270\234\244I\312_9\311\010\014\231-\376l\001\261\244\305\305\204\334\310\177r\337\314\252d6\306\027\366\320\006\311q\177\232\206a\031\317\276 \340\303\320\324\264\004\256M\251\364\265\024\264\306P\247B\30260\214GN\277#\023/)\267@i\231\265\316C\213\257\257\304\343\253<\247\313\t\"\321\317\177\201\240\234\274\177\333\375\243\2631\t\306Uy]\313\260W\230I\256\274*=\243\273w\316P\251$\206\037GT\233\241\006\216\261WN\371f\270\242\224\270\271\244\247\346N\032o\262t\343\341\023Sw\332\232\374\231s\032\374<kH\321\\\013gyh8\024\244\251f\351v\3660yZ'\205\217\271\314Z\357\210\322^\031(\216\025\343\331@\031\3047\007.\314\007\344\262\232g\001$\261\001y\020r\013\210\242\267\240)Sr\036\221\003\330I\275R\305GA\252\032\004\244#\371\325!!\230\226x\354f\252z\305\0352xpdP]\212\211\243iSm1z\262\220C\302\257}\275\206\327y\357\262;\033\203B-\\Y\224\216\016\310,d\240`M\002\025[/\372\307\003\332\257\253nq\232\034H\325 9\266\\\224H\365H\003\006N\177m^v\355Uv\256%\260\2732\303q2\305h\206I""\033\350^\261\201c\324D\025\371\233,\227\250\024\217\321\211\207\235+\277\361\215\0263\211\006\"G\025'&7\265&\206\373Q\241\213\344\356#\340\2002A)\270\201\353X\034\n\216\330<\"\205\240\206L(\371!\311\177\025JL\260\360(gz\217V>\202\207\3202m\0073)\356\272\223\023\245\315\336b0&\300\366\271\"\262\267\0053\243\272\204\003\274E6\270\032\031\255\311\030-\301\253qb\324f\317\233n\265\327#\242-\240\236c\034+\022ik\317^V\234O\300\026\032cCg=^&\222V\377(CH:\016\322\233\026a\026\254\2770l\244bp\332:\n\1779\237RX\321\342\033\2211\3573\230Kf\343\223NB\3431\201\374\371\r\032#\303\016\244\001K\024:_(\354\346\005fg\221b\331{$\177\357i\344\230#\235\266\224\213H\355\026\016\037r\272cu{a)+{n\345\304\0000\374\335\354\3557&\rC9[\177W\036\273\346\004\255\264\2401/*\303\337y\n\330\316.\031\254\n\335\302\223ha\252\345\315EtAmtp/\350K\034\354\340\321\277y8R\364\371\235\025ys\260\t\002\"w.\367\033\223\003\231\027BA\306\227\215\331[(\020\216\350\"0\214R\244\262pg\233\333FM\t\335\274$\221\260\310S\t\037z\221\252S\264\271b\353h\214\006lT\306\270c\311\004\2716\236i\243\232\035~]4(\211~jX\010\345*c\003\264\301k\366\215\353\366\306\231o\200\223\274\263\270\0207\0378\n#hA\023!MX\016\020,_Ia@0x\255fD\215\"U2\233\276\262?*{\341g\353\321\343\334\021\177\372Z\374\276\010f\221<\257\336\005\251\027\233z\362p\005o\231\272\316\370\235\2017\002\275\260\270|'\233\330\330\271F\000\200\222\341^j,\\8\352\211\302\374\313W\376VE\360\251np2\331\220\326@\220Y }g\337\035\032\321}\304\307\345\306\276\202\216\262\256\346\302\007\037\356\024\3704\224\304\353\354\271\010A\323.\277\367\rDI\231\217\"w\244EP\365\226\305\216\302\034\377\037NIGPB\334I\3114A\026 \346P\221k\275\334\266\241N\222G\271\361\231F|\213\324Ifz\310\202\201\030\274\235\372\374\310\014;&h\231\010\326\216\246,\250P\020\376\307\250\306\\G\021\252e\215yl\220<\001\016T\2552b\236\232ZG\027\304\210\202\220K\365\266\203Hl\346Q\206'D}Y\365\266\205\265\355\234\t\204\255\217\274\300\016\207B\273\347E\315\035W\303\346\362i\257\363c\354\n9%\177\331\313=w\023-Dy""\362\372,\220\245^\177\241\360X\344\006\334\336H;G~\205\027\241\020}\356\216\210\241\336\230\330N&y\357\304;\212\376_C\016\352X\177F\372\366p\214\200z\014\274;\341t\364Q\273P\326N\241\344\245\"{\200Rm\321\003hy\034\366\025\351\373\245\337\336F\335q\240\360G\301U\034u\362{%\234\202D%\251\303G\332I\222J.\213\214U\270zQ\005\034z\344\tH\3403A\312t>\245Y\363\344 P@\033\313\352d\366\265\001F<D\364g\316\266J\016\335\231\374\365\267\267\005\224\024\310\337>\334\342\036#\217n\203\301\020\270d\361\236\207\346\306\2016\373\333\223\017\002\271\3270\305\255J\204\263`n\366\177G\025C\2161\356\n\"p\026\312\273\342\324\215\323\300\302\372\245B(b\246!vN\330q\014*w\207^\215U1\r\265R \363m\212\210\304\272\257\216\033\375VV\326T\003\311G\274\331f\306>\355.(\352\034y\376\031J\2324N~.\317\016\316q\013\375\301\006\310z\316\024f2x\025t\005\317\250{\010aK\206\306\036\020\3153\200\034\317\341\306)z\030\370;yt\241\264\212\317\306m\374z\271\370\337\345\373'w-\345'\1779!\026\3420]s\317\376}z\033\341\365\340!\272\305\353O\352\336\017\346\214\036\362\272\227\360N\310\261.\017\333J\315)}\213\266\225\030\205\223\017z\214\004kh\t\316jy\217\234\244@\026\032)rJ\217\313R\257)\355\007\324Z\306Z\262\252Xt3q\373)\006\017\207t\230\234\244C#\371\372V\272\200\356\341;6\215\236u\256Zmx\216\033azb\242\327ZQM\006\000\355\251\201\t\275\363Q|\024d\202\226\276q\226\200c\003^x&\345\217Xv\033\224\037\345\370\007+j\321zr/\331Z|N8j\203:6\344\013\300\023\230\232)&\337f\035Is\241\036\034\254*s\024A@\027Y\261\245\004K\026\2004\264\210k\2525\n\311\267\004p@\364>S\325(aX\216g\010\340y\236\225Q\321D`\223\023\025\320\016\010\237\025=\026WFKXk\336X;\000\005\340\270\2429\212\346\264\023\366u\317\347\331i.3\033r\300\226\355\235\323\256\021\335-\241UcNu*\032z\3000\327\340\211_\303\213-\341\204\344\265\005y\270I?\323{\216\014\346.$%\027T1\241\026\275\333%kX\244\202\211\205b\334\010>8\326r\310lR\263\305?3v~\330\r\264\267\355y\336\340|\301\331\276ws\233\035v\351\372\321\342\302\026q\254\306\336\352\200\212,\233\257\214X+/\223\023""\001\217\347\036:.\344\361\374\000\251\336\201\217\324n\270\265?$OT\262o\335r\305U!V\345\260j\214D\372\277r\027 Qs\322\226\317\305f\205\032y\007\214\343\226\355\331/G\2417oDt\245\235\326\353\211\354\372\007\372\025\224\021{_b(\001\365\014\314\006\344\007\221\326\2101\334\246,\215\274\2446\302\325\225\021\327X\2003\374\232\006;1N\005\251:\377\tZn}\320\312\312:_\212\003\345<\223T\243d\355C\020S\356[\034\360\010\266\2564x\014\316\3473\345\304\207c\370\022;\217Y\212r\244L\235tC\346\334\214\244\024\316hsS\221&5\373\222\021\233r\272\002\235B44\2020\031Hr\003\345\275\322Y\030D\220\252\347\361\"P}\322 R`\301o\026w\216\271[*\255\002I\317\235~g\2403\365v\357S\207N\377\2741,\336Xf\377QXn\340;?\324l\330\202\n\026'\353\301\317\224\300\251\234\340\036t\313o#\3626\003\2643\235|\026f\227~\276\320\267v\2219\227\215\201/{0\243\353\355'\265+&\346kw(\276\355\301\371\227\37325\366\245\375{d\201e\201\212\214\300q\036\222C\231S\306\320|\335&\241\212\025\003\373\337\\\376\366\203\357\267}\305\377\017\340\360u*T;\237=j\334\002*t\3137!m\013X\177D\223\024E(\223zp\032\033-0^$\273\n=;nd\356F\261c\242K\260\343E\345w\343\205]\031,\251[+~\301\210\240\255\027\020\3336\021\327w\266\246\223\035\007\273$\221\250\2550\355\010\r\313\240\253\224\025\356\357\310\250X)\346\204\236\371U\251m\372<s\022\000Q\267\222R\310\300\3450\027\026\022\276\001\200w\367\206\263\0036\325\005\207e|C\302\034\023\3608\331\341\356]\014G\300\376\324\277\336<\002v\326\230k\307\246cA\021\316\207\010\376%L\314!\336\365\304\005\334Hq>\020\307\246\017S\032&\203;\314\364\n.\265\032j\014\277\242\235\320d\224\200\352\021\241\235B5\337_\301\250\304I\325\221o_<R\265\0033\220\001\362\225\356\373O eN/\261Qo\307\025\307\2126\353\232\rf\027\003\027R.F\375\302\204+\276.\355\223\000\320k\005SPlR$D\377v\326\302\236D7f\267\247\227\201\204'\230\2335\024\202;\325?\030\266\326G\216\365>D6\004\314~\210\336\235\201\300L\307\356H\222rK\243\360I\020'\"\251\310b\250\215+H\\\030h\305 -\361\244\301\313\22680A\214\367\376\374\343\232\0067\376\214\240\021W""Cv\211\223\010\345&/)\340\\\300(\251\002*\273@p\355e\314cL\r9\206MVC\323\2728\341bc*g\3416\024\312D8-n\231\375)\255O\343r\25717\016m\326\360\243\036\014O\210\300,\277\035a\263\035\007\254\200\025\375\2618\177\253\370\222*H\325\310\231{\016Y\305\235(vRdS\242\026Hr\373\373O,\351s\233_p\226\322\346^\2346\307\263\272\261\335\345\024D\246\324\3273\251\363Y\027\212\005H\351\326\373\320~\230b\035\350\352\343x\260\000\n\001U\266A\231\3147k\371Si\340\"\352\307\304\365\365y\312 %u\303\\\227w\371Y[\316\004\342\245\300\314n\372\346\026\351\307\032w\320\020\355\2667\367\0067c\320\346\346+\203\307\017\rz\203\206\273(\3031\375\271\000\234lr\240\242@\377\372\272\310\353\231\254x0\246K\336\224\353\364;\263\355RzOk\016\337\271T\335\233\177]\221\3354\236\346\3463gpeK#(~\327\273\312<h\345zUNXC\277J1\366\360`\037\2642\340hS\017M\320\252\2121\253A\030\323@\221\347+\332\267\nQi\031%\325g\002\373j\370.0;\220\214\324f\276\230c\275\356\3231I\023`\013\373;|\033\370\243\371\272\361\304M\261%\005fgG\216\220\331J\023?\307\337\357%\210\003\035)h\206\213K\351\373\031\214\346\224=\030\020\307#\210Hm\325E\007\363\216\020\374\216/\342\372 l\257\\\352\347\245\273\375uol\032\307f\020\312'\"\270\360\264\037\2026\241\017\"\301\3760=MR\207d\347=\340\026\374\016\270\277H\261\274Y\302w#\306\3407\237y&\304\345\257\215\307\035\0201.\014lY\334\311\326\241\221\010\331M\0015\241R\023$D\001\313I\232\301\313\311\376\334\313\254\230\203\273\270\013\364\211\177,\025\316\314\360\004\275ui\247;\237\247\261\345b\225\216\031~K\242\000\346\021\307\212\360r\036\003\265\223\001j\0359k\017i\020T\232\357\270L\270\312\371{1\246\014\027P\310\021\374\253\306\372{\363\305\251T\241Wp\274\003\036\027\266\311!H\334\234m\374\033]s\350\215>\357%sb\245\224\311\352\215\003\002\375\"\341m\356\334Ne\271\355\311V\203r\335\330e\2020%\027\247\217\374\222\t!\rZ\241U\256A\276\336\312\326\234\203\371\312\206\363\247h\331\2725\000\220W\337\267\270\360\031\035\005\0245\236\035\244\247\266\354:\350\272\016\225\323\017\272\321U\024\022\250\352""\307$*\246\2152\334\205\215\203\022M\327\331\333Nn\305\223&\377E\216?\224S\351}\030\00402\264+\025w\242\313(\">\264\024\210$\211By\333F\021R\201\366\346>\263\274\253P}'\361j,\334n\033Q_\237\357\006HO\317>\004\224>@\240\327z8H\022\027s\247\020\020\300%C\206\251l|\327\005e\216\376\371\347$\037\020\236|\033\264\254-\344bN\237\242\256\255+\314\375\253\216`\006\340tt\225\301\353u\256P\271#\274I\272\270m\256\344o\333Z\002\310\360\315\351\316\315\022\007\267r\272=ir`:x5\225\260\245\"\212\317#\334\304\224\353\233\336\001\243\266\017\255\256(\234\277T\264\017\310/\026\367\013\\]\346\274\013\226\315\013\275\306\244\000\251\250U\277\343}\3400\321\315\313\315Th7\025E\026\325t\344\020Dv\200\3271\334c\334fV/\355\226\030\265\332\337\277\261R\273Y\000\353\005\330\343\341\356%\021\361\367\217'\261\027\210N\324\005\376p!D\301Wp_\\\337x\211f\323>v\350}y4E\234\233\332We\265>\314\363\010\263803\374e\366\257\201}\350\221F\341\036\361N\345\2015\252\222>\374bM\263\020D* d\373ID\002\003,\350\0220\007\245_2\202\031\0233$\177\231\037\251\3032\325\232\375\311\373d\000\323r\204\363\237\3771\031\303\002\226\372\201J\005#\207pH\n\334\025\365\"\247\023o\261\353\334\335\240_\000\261\025\274B[\276\323$6\177\006z\023\377\2704h\013\314U\351\205\365E\344\014\353W\n\223\014\225\256\337u8U\227\225\215\267\315#\247$\341 \345\260\324\030C\031\315\272l\331m\t\257\213\220CO\344\265\006T<\252\272\301)s\374Z\254\255y {#E*\241\371\014\rq\036\321\336\242cX\311\241\002A\374\030\253\365\217\225\257\"\226\002\237\322\200w8\356\026J9\321M\341\350M\020\016\251\314||\324\036\3049\331\215\026\260H\250,Jpa{\331-\207\324\265q\267\344\261\250u9\2025)<\033c]\266V\323\346\371\237\005iR!\331\320\207\344w-R\220\251Y\310q\216\301\257\374\034\000\n\277\322\332\240lJ\224\356PC\re\177N\233\\\275\305\307C\035B\356g\345\332q{\372\365\013\371\350\027\225\010\366Y\251\224\251\246g\354y\311\337`\270\210\303\257\361\345R\177KJ\027\367>\013\235X=U\351O\364#A\n\\\\@\367/\277\313\302i<\243/'`\014H\001E\220X`;\362N\035f\231\210\315\000t""\274\276e\245JO\307\300\000\363@9i!\340> ]\263P\232\320\023\355\264\353Ep\233\327\035t\356\n\031$\213\245M\276I\247\314\031\334\313\365\255\323P\252\033\"\214\241\270\260\233M\2136\305\177>\273\312\370\204$\350\367\2222~\245\272\376L\001\240\231\232\277~#\207Z\020\2111\016\316\204\021\265\030\340\2125\215\204\261\020\326\013\004\231\350C\275\224dp\320o\201C:\313O\315\247\213\002\214=\021]d\2225\007g\353\273X\231N\322A\324\314\317l\t*\342L\266\021\316\231\276\265y\261Z\362\3042vj5E\250\232C\025w\317cVuZ\265\235}\372K\022\365\353\304\3039\263\033\221Sc\027\264n\214\262L\254C\222\035N\027\353sm9\017\354N\017\254\214!u\337b\n:\321\332\333\360\033\007I\226\244n\234>h\211)\3650x\241)1\r\230\004\236\225\003\315/\243\017\320,u\025\n]\264\017\301\227\214\250S\337\365?e\217\212\2129\370\3266^!\325p\361\341\314`\314\354\260\362\336\350p\372\207(ca\261!q\2621\021\303\000L\317\314\030i\265wp\311{g\227\316\226%\300\031s\350\351\233=\246W\247\tb\324\017\010*\0048L\254\037\277\320\377\242\203>g\375c\r@K\001\365\354\242Y\251,\267\231R\025\344!\271\340\037k=\r\317\320\265\016\356\302\013D}\331\273grD\225\245\246\240\243\243\242\364\263\021\254\273\006\213\0306\336\t\303\n\360\243\370\214\262\"\265\247\346\226\272;\220cS\343\254-\300\257\201OW8\200\323\366#\347\2516G\272t\233\274\000\210\326Wz\342\362N}X\332\360p\237H\367\306\251\270\370\0312U\302\320\001:\232\332\r\370\264\244\367%\375\267\365`\332\354\230pG\321\312&AH\252t\257\270U\361\004]2_\031\234e\305}s\030\322\033-\366&\246\355:M\014\3365\\0\210\3136\235\227j\272~\007\037;\204\023\353|\245\037\354t/FY\224\302|8L\014\351\206\177\201z9-\0306A\301G\323\035\343\271\220\301\360L\202\025\373GK\234\225\3465\301\010\010j;\376\203{g\340\3343\321\035\037\216\257\262\220\311\223\201\256\341\033\234\031\010g\017D\367\366-\"\023\204\326\017{N\327!\204\312\263\n\274w\240\360\030*\006\325\360w\324\277)H\"\207\247\002\246\034\022\024{\207\177\001\363g\222*i\030F\254\262\277\243\214\210E\252\362\374\3543\001\006\205J\221:\316\201g\2309\314\340&""F\036E8\n\217E$\237\035\310\021\n\230{\271[M\t\312<\"\0026\177\236\316\t?iwA\321}y\245j%\225\362\034\345\210\003\327a\267\275\201\353og\034g\363\232\007\353\034\324\351\023\321R\035\362\304\224\274\227\324]p\021e\264\231\253\023\275\260\366\241?\002\2644\000\333\213\304\353?:\265\356\371Z\025t\313\355_\274\343\373\316\267E\207\215\252I\322\013P\314\0004\310|)]\241\305\327\177\354o\375\026\364\226\275:\266\240<\n$A\246|\026\021\321(8\177\207\274\244\006\311\332\027\330`\0068@\345\022\262E\260R\271l^\243\214\265\311\242\005\212\343'Z\371\305\211K\221u\352iR\313F\336\3225nMT\323\\\374\316p\370\033|\210@\216\032A\335x\236L\001~7\020\300\363\326\225\025;\372p{_-\360.&\307\022\240QM\326\371\346\340Z\307\372\010.\360\241\254@^\2570}\3304\203j\277m\243\377\250\257\303>\300\353\212\324\336\275\006\251\021\304\0203\365\036\305\274\356M\004\330\177\021\016V`\263\341ftV\367\214,~\034_\001\\\0269\327\rOhZF\325k\227\333\255B)<\265\246\2503\370f\226\333\312@\336b\005\303VQ.e\331\210\344k\345OL*\005\257\326|\325\025J\224\217\351\013\000o\024\004\332\250\230\023SF\214\\fk\246\321\342\257^,\032\334\022\211)%\357%2\027\216\277\274\247\345\035\314b\251?\341\244\326\333m+\257}\267_\026\032W\322m\2528\021hCu5m\215\302\016 b\311\221}\352@\033\313A\377\315ge\216\037\020\370\267\323Dhhp\222\354\r\245 \375\310F!]\220\351\222y\346\311 $\207\347\230c\357\"\252\263\322\005\307\034\333\316\260\351\324Q\0323$]r\366HM}\3141\023\242\375\3345\036D\251\354n!\201'\231\215z\322\236-\367\267k\340G\306\0211m\021Nc^u\244\217\033'\361|n\364QH-\300\220\221_\343\227\363\356\250s\211\261\307\307\007\374|D7\344\017\251Ag\366Q>\035\310&w\201\312\361\324#\262\266\033\006d3`\363E4\377\312D\307\014\323\234\214\230\367\035.\010v-\034.\351mO\377{\371Mj\364\234\002\013\211>.Zl\230\213\375\363\343\317\223\325\347\314\326`\315i\024\230\227\215\377\241\313M\206\245O\312\252f$\200\371(\275d\375G\336\221F\217@zXY\331\254\036~\222\340(\346-p\364,]\326\364\311\327\232\367\r=\034L\204\002\032\002\177\306\256\007\004'Z\234rd""\337\262\224h~\321\226Pp&\222\203A\265\206kY\315AK\032\207Q\263\222\235U2gS\300F(zE\254\006\307.\264\\m\250\021CR\206*\242\230\201\273y4\351\204\000*\222A\234\342\340\265\214\371p\001\354Vtf\343\243\027\030\355\222v^\007e\032\356\345\251S^\342|\017\"leY\023p\273\030\207\326\343L\332K\225\323\202`u\220KQ\234\nh\237\201\021\3540\312\362zv\013\365\304\204\357b\375\303w{\230?\212\350\262%<E\334E\205RR7\026\210\030rK\020\262C\300\nD\002\232\002~\217w\350\300\3213y\336d'\271\333\025Nc\036=Z.\227\021\206 \264\266e4\365\367\t\221\005\371^\200\245P-@\367\261\322\240W\360\225|>\236\373x*\353%\227\231V?h0\215E\332\3053\367\002l\027\203\354\362\2432\024\236\222\241\304M\t\003\330\364\320\277+bi\301p!\230I\2658\026\250p\014\366\277\213\377)\371\013I\366H\336\237}\336\310\264\256R\037\254\3204h\260\302\271\233!\336B;}\251\017\363\250\221\271\306\243\006\311\034\224\234#Z%4Q\3427\r\304\333t6\351\245g\276\362\222A\006\261L\035\004&\0167\032\324\341\354\215\203\235\357m\317\330\277!\3051\245\210(\347\360$\234PB\322\312\262\220Bf\376P\254\323\360F;\003^\305\207\336\217\226\036VX\260\020\2024\250\354F\256\005\316\342\351>9\225\361\341\3156`_s\252\321\223\n\325-Ri\245\336cN\346\340;\004\342\203\340\036E:\227ZB`\"a\232\273lm\316\006\355\177n1\335\200\276\025\201'\320\350f\374\2215\"\013{\222\350\322\200P<\366rf\236\215\363h\212\277\2060\251e\272\300\250w\n\006\243;y\300f\374\344\375\222\330>B\215\277Y\324+\222\024.\262h\3463\033KgZ\207\360\272\226\221>~\275\221\311\302f\247U\3668\301|\324\005;\323\356\034i\2519R,\022@\332I\214\207\007\265\331\271z\"\323\251@\377\367+\235\334|\240\377}Eh2$P\265\326\210\247:\331u[<\352\324\320\t\255\2247J\002\206\207\244\315\005\204\372\315\0058\t\000\003\301\004\002\222\242\306\330@\254\242)i\242\376\200>\224\260\016`\355\371\201]\033\347}N3|\301?\322\302jRw\t\027Z]b\r\345\372\202_2\234-\324\000\376\305\020P16\036e\351\2222\255\377\343\272\262R4\002u\025\010\226\210\372\0031\232k\3257\343\251\266\230\004\205\007\215\3268]\316b\001R\001\020\242@\251\277""\303\273\246\200\347\037\022\345\007`p\347\027\366\307\014=\341\345\363i\326\347\277\365A\272\327\343\306\370\315\356\006\332\254\313\211\246\221\003!\256_\352A\250\311\214[\216:\373H\0105\241\276\274v\200I\364\311\025\373BOd\031'\231\372\026\342l\310\343\226\027\354\32479\356\241|+\202\0222\3335\214\333\313\262\201\016\t\005e\234\203\3419\250\233\365QW\267+XH=\371\023\231\025\223\345\332C\315\003\201yQN\275\244i2\267\007\177\321\220\"d\246\010\205\371\372\007Uk\354\224K\335k\261\"12~\002\243+\014\200\343R\027h\351X\237\3010;\227\302m+\301\035\335\201<\237\r4\021\306\230\321\267\362\305!\357\226\332\267\333\304\275\205\233\013\034k\343c\313\252\373\001\341l\346\255B\243\216\227 \361\010$\264\016\223\"C\177t_v\200q\314\277<p1\304OV\033\355\361\311\rPF\352\230+m\374\n^\025\025\020V\317\336[5\332\222\021Y\311\372\321\347\206\240Gc\304o\337\370\221w)\\\340\230\206\234H\337\2216\271\241\217Ijk\202\226\223\204\275FL\037\026\311((\267\224\317\2709\372\023\020\220\203\001q\013\207n\3313\302z\2533[\200\236\261\007H\270\024\255F\006*\262\353\275\346\\,\273\215\035\276z\347\006\360\270\252\353^\362I\000H\312\\-\244'y0\2754m\264\325z\300\224\247k\326USM\2328&\322O=.\266\377\315\273\024Y\370\333\207\200\254\t\356\235\315\260SX\033m_q\033\211sK\226\233p\355Sa'\300?\236$j\270\377\010\340\212l\201\306B\303\026\033K\006\302\256\2133\257\251\362:A\241KW\325\306\260\003\333R\313\362U\266\223x\354\030d|iy\031\263\2717\031\347\212\025!\244Lu\n\371\320~G\210r\330\327\356\226\370rR0t\265\030$\200\314^\371\220x23\375\2618K\206\037\"\017\255\241\240\024\345\344\367\224H\333<;hD\r\346a\264\264\325\027l\246\233\241\031\336N\032\260H\347\2405\003,J\311J\331*\360\363\026\212\023\376\t7\244\033`\351\367\000!\006\315Y\364\026KZ\331\025\244%g\245\322\002\227\312\306\264%\331\\\014\301\2369\260\365\033(\006\372\025\300\327\304Z\r\243\233\250\371M\307\376A\334\231\353\325\225\270\034\003\333\360\236w\005]sao\214\205a\266\203f\204\310\332\350b\317\010\335\314\344\316\303#\256\244\215\320\262\214\200r""o\240TH\2749\226\202\221>G\333b\322\234\270\022\360\025\262\203\352\237a\203qC\273\332\264\321\3673\346.\345\006J\024\205q'\241\356\001 \030<\213\0205@\316\035l#:\036\340F\231\333\325\003%/t\227Ab\224\262n\3276\235\367\022\253\207\255K\2636}\312\301]\344\251\244\221\264\366\240\003\357\231\000\210\010@\215v[N\023\245\027H\232\300\262\320\321\364\271\276M\336\007\367\255ACTWG\236E7\336\320\346\036\330Ol[\364\017\200\261\304o\376\004\315\237!\347\335\254\372\251\026`\264k[\037s\343%x^Z\207\212\244\"W-\373\205&\3323\227\224\027x\263:\266\273\013\315\352\263\370\013\233%P\361W`I\233#\300}\210\322v\305l\344m\257\273\334@p\307\232\263a\023/\000P\010g\ruE[\332\376\341\262\216\356%E\347a\320\233\353\237\276GP\200\344\345\267\231\320\325\352\006$\301\336\247\022\273\321\317C\302\301\0072\203\r\353\027\331\325s\030\372\003\365\211\007\010\321\346\326\032\351\311;`\005q\2132o\005 \302\334lclYM\t<h\316TZ\210\374\377\353m\310\207\332\235o\215\313\216\246b\315d\021\206\2020R]T@*\031\316A\"\361\314\370`\347\220\316\344\340(s\317B\354\033-mw^xF\364\344[\330\221d\r\004\323@\234\375wjM*\271c|<@\270\032\326\237d\324\330\360\330K\301\303\036\275\306K\2577\313+\256\035X\377\323\032\004&\332\241~\234\0069U\361 0t\230\346\027D0\247&\225\177\316\254\331@H\025\237>\255\363\20514\3613\373\022\320\017\333\357\330\332\253V\270\034^\361={T\215q\343\341:>\005n\313z\365<v\204\221u\222\343\341s\014\270G\027\202\271\020\234\323\227\370y\303\335\014?\235\223N[\373)\031&\312;zS\272\243\262\203R\315P\"\362\250\023\242\036\200L\242a!\007\237\275\351\246\205\232p\246\033\177B_I;\t\323P\304\227\374\270\211\332K\034(Bv\245\314O\2626\217\331\030\201N6\303t\221\335\312y\r\335\327Bu\034\241ab\244\033a\221\365\253M\317e\355fN\016r\237\360\352v\335@oS4;\027\001\255\203f\237\3445\251G\322<O\373\305\303&\301i\2110G\030\361^L\333\301\253\363\213(\240o\251\017\346R`\002\345\037\350\250e\245d\253PZ\377\025\267\227\234C\347fX\205\255\213\225a6\214BjQU\001\215FL\270\331\270Q\007\363\225\366\033\221'\2200\261\244\344V""\215c\226\366,\252Y\261\352\r\355IE-\316\234\304\341\2455\343\222\370\200\255b\240%\236k3\016\240\251\216\317\2015\014Ed\330\022\260\350\033P\215\036\207,p\231\341\364\220K0\354\025\372*\356\r\304\222\177\221\373\353\273dD\317\004\272\316\302I\300\363\363{v\346Z\207\213\373\212\217[\203\352\032;D/i\364H m+\356V\225\363X\032\375\367\365E\036\337\2240L\3753\333\024\372g]\217\203\326\364\333B\034\257j\364Tw9\275\204]\217\276j'k\024\233\003V\270\312\205\3400\305{\027\320Q\314\333\234\317K\267\033$\327\320\340A -<[\270\350\264\022b;\033=\261\330\352uKx\263\005 o\214C\270\356F\237\236\032J\273\023\023#u<\2102C\366_I\301\035\036\342\270h\240\323\206.#P\023\016\326\262\030i\312:}\024Z5FT\002i\306%\030\263=\021\030=\0056c\262a)@\223\000\037\340MJ\237P|=\330\325\353\315z\352n!@\231TT\246u\177\255C\363\303\027[\033\350\342\224 \335;.\211\373G\347\207\214a\261\266\237s\377\201\035O\021\372\360\035\340\262\375\\\264\246\233!\324\335\370@\217\327[z\303\374\216\3704\266\200SJ\032\354_nCX\n\330\257\310!\244\366\357\2002D\230U\030\021\024\032\323\3028\010\372CE!0\200\026,\\j\266 io\225z \224\327\367\026R\237\266\343\373i\230\2321p\271\200S:\315\304#\3247\314tiC\243\221\326\321\004%\021w$U\346EG\032L:&\270\003\270I\346>-?\311\232G\223\336\257\373[\245\315\316\302\200\311\237\323\276\001\212\2245\241\377^S\273\311\215\224\351.@l\331\364\337N\254\032\010p\261\022\014ee\232\361\177\373\254\221{\313N\236\251A\307\260\356T\355wa\023\200\035\204\212\261:\327\344}\237\023\276\265\324C\327\330A\332\017Hm\003\205\2268\364Z\266\334J\212\346\031K\372&\230}c\205j\375\337\246\333#b\274a\233\352Y}6A;F\220C\263\005\254\264\202\342Y0\362\\\260\271_\220Z\014F}\031lw4\310,B\025\t\325T\001t8\215h(\216\321\227v\001a\003\2053\234k\022\023o\006\315:\270\376\230\021m\322\241@Q\200\215\213`\363\323\354\323\266\315\24605\226\013\206\217\250B\003Y\3269K\244)\315\023T^\310^\326\332\357\351\020`h\312-\320TC\006j\226\247\322\032&f\245\325\340\275\025\247b\214\227S!\214v\014\246\032\210\250\242\016\273E<56\204$""\025\311\224\014@|-\251\3610\020%\006\340\311\376(\376\017\377\036MV\017n\366\304\333F\342\243V\261 \205\245\240\363\351P\023@{'\252\3709\215C \177o2\021|A\254\302\327\313\354\321w\023@\325\351\360x\213\231\001\367\256\351\226:p\321dfd\234\007\352\267Z<\205x\227\357\267\017\366J\3254\235\274\020\300\360\3426;o\260\351\276\"\201\177\021\034\372kd\245\227t\313\262\310#\\O\326\264\363\360 \213\252\2416\005\273\304\267h\343\362\316\222\232\2028\027\232\275\025\210\317PTK\360U\326\025/\214\ryM\2537\036eP~\023\230\331K}\374\364\262X\010\201\244u4\237N\271{|\001\205\370K<?\336\270\252\333\207\361\3346zn\035\206\0143\342\212i\325\271I\006\3164\026Q\357\356\177\341$\rx\224\021Me\370\254=\r\233\232\246\266\332*&ni\001\361I$\0209\025\345\2323\003\205\242\362S\321\336i\021\264\001\345S\310x\242\367\337)\260\315\010=\0163\355\242\346\337h\317\007\373\340\211\352h\341\3020E\301\262\261?,\023\003\246m\244\2021W\023f.Ri\316\200\332E\244x\306\236\367\303R\\\356\321\336V,\201\277\000U%h\202\355\235q\334\003\340'\240XT\243i\026\375\270\377}\370\014\204o\316\034\177\013e3\270\021\034{M\253\207s\266\321\265\206f\3259\306\t\n\227\260\013wZ\032\216\016\035.\357B\341\357I\342i \356\355\177]\332\344\270\347s\010r<\200(]{#\355\210\212\003\320\203\001\230U\220/\332m\247{\305\365\2138\017\335\001";
    PyObject *data = __Pyx_DecompressString(cstring, 30509, 3);
    if (unlikely(!data)) __PYX_ERR(0, 1, __pyx_L1_error)
    const char* const bytes = __Pyx_PyBytes_AsString(data);
    #if !CYTHON_ASSUME_SAFE_MACROS
    if (likely(bytes)); else { Py_DECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) }
    #endif
    #elif (CYTHON_COMPRESS_STRINGS) == 2 /* compression: bz2 (28647 bytes) */
const char* const cstring = "BZh91AY&SY\227w\230\215\000&)\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\300@@@@@@@@@@@@\000@\000`\214\347\330\321\271\367iy\363\331\200\000\306\260\020\250__|[\323\320\007\240\001\367\332y\035\232\022\226z\335\321\307\240\364\000*e\341\347xk\265V\000\016\235\275\332\363\312\313\314[\262\346^\270^\314\351G\205\255TT\340,\324\317s\013\353\313\260\362k\265\263\352\355\331\335\235c\351\234\300\003\357-\336\331\252\014w>\366\022\367=\317\223\221\367\237{[\336>\335Y\215=\005\366|C^\260^\242\013\267\217\247\320\311\363\332\253jr\326\200\353\2558\272r\372/\273\273\354\355B\324r\347}\275\267\233\262\356\341\353u\355\317j}^>\256;|\357\263\276\312\323K;\216\276\372`\367k\346k\301\315\365o{{\035\251\016`W\274\317\253\333C{\357\273\3379l\013\336\337m\273\3565D\216\357\256\275\261\365\200\245t\327\240\320\371\334\355oq\273\355\347\275\323\336\367\037C\3335k=\333\347=\346\363\276\273\275y\336\364_\000\334\036\333M\212\006\010d:(\232}\335sB\262\024H\222I\323\271\213,\022.\230\224\220UAR)\254\nI%\t\002\205_m\357\213\301\303S<\003\353\322\201CJv\254$\032\367z\357\004\222\010M50\031\000\206\200\001\210\002\233\010M4a4\3212eO\006\251\266!1\252i\247\222~\232\236\246Pi\221\351\032\tM\001\020\204\204A\244d`&\203!\243F\211\262\024\361\252i\372\247\251\345\007\250\003OS\375L\303&D\251\372b\220\r\003i4\004\204B!I(\375S\324\330S\324\375I\355MO\312i\246\321OS\332S\324\336\251\342Oi\241O\364\251\346S\324\311\2054oL\014\311\246FS\022\231'\224\036MOj\200\223\325I\t4\0014\024\365\rG\224\364\231\r\220\217SM\0324=G\224\365\017P\000\320\000\000\031\000\310\003@\320\001\022H$\3320\204\232MOG\251S\365O\332\233D<\242~%O\324\365M7\224\320\324\365=<\247\221\036\246\233I\350\247\246)\352\036\231&jm\222\217(=Fz\243OS\t\t\010#@@\020\004\000&\020\032Rm\252~iS\314S\312\217MG\250<\240\320\000\000\001\240\0004?\334I\033s\340\234rI6\354\266\031\366\265\202l-\331\014\256\227\201\362\320\346\327gO\220\255bCe\264O)\307A<\245km\335\031aa\323\350\204\355\302xM\251>\241l\341\324\263=\313""\226\221U\311\252\201\355\265P\335\273\271k\313\217\345\267\023\227^\375\374\363Q\345\256\306\374-xc\303s\357\343\247W\313\357\230|\233\347\367\374\361;\277>w\363\352f\264\0363\333\371\\\226\373\215\355\370P\276\254\304b\253\273\312*r\021\017\033\236\365U%\302N\343\317\2657:W\356dk.\"\325)&\022\362\371\334F|\276\376Z\245\330\341\310G\235\023\004\n\351Q\255\343\320\246\326\345\346\350\222\t\325\353C\003\211l\327\2115\313xf\013\217\242\022\026-]\226\273@\277\t.W\222\355\213\215\014\025]\351\312\275\356\"\007\310;{Oq\305n\217?\237\332\206\362\361\247\362\225\257\007~O.\253\320\274W\214\343\271\271\366\242W\213<\336+\267U\033i\233\247\177o\320yx\337H\314\346\324\332\363\336\3709\251\022^M\332C\321=\216b\364h\273\363\301\036\334y_6\027\342;\374\257\005\2342\347\255\202\273\273\270e\260oM\014LA\247\370\207\352l\022\377\001\002H\001\001\241\270\rD\217O\372\275\257[\362\376J\365\345\347\372\361\355M\261\356\177o\255\315\354p\331m\341\375o\311\360\377\177\351\370\177_\370\032<\232\277\331\373O\213\374~ \376\025>+v9>(IS\021\310\337\304\222\320\200p\005\034\021B^+V\275\000\304LD\277\013\257@\007\271\377\361\241\3372\341\230\025e\031\232\253\210P\256\256\344V9\027TK\022\235\330\260R\370\246,/1\025J\252\264\256\005G\033 2\341\242\252\230$\227\007T\211O\010\035\232Z\005Kf\306\264\300e\225y`\252\0101\335H\360(Z\2730U\024\242/.\025\352I\302La$\241wuL\242\256\250a\357\374\245\334;\253\231Ns\315\317\372\272\0172\274\355\270x\t\374kR\251\002\360\256\242\332.\0051\377\237\0054X\267\303\376\020\267~o\357\277R\234\"\253\251\221\200\247\001c\006\241\202\304-`\004]I\030\022\300\006\004\261$a\0140c\377\311%\376\354U)\2652+F\332\337h\313\232\256[\214X\263\234\3421lPP\021\2021\260\037\264\302\t\010\001\2209\002d\000\356T\014\201r\007*\352RU_\225$\032\360\022\200\247D\350\234\024\363\316C\344=\242\004~\271\305:\024\352A\"p\002t\247\t\376Z\351\002+\002\254\220VB+\001[o=y\333\317oV\326\337\013\334\014\305\223!\212im\230\246\243L\0063\031\032b\306TX\223i\032HY\220a\232\014\032H\261\0315\021HZ""\304\024\232dV*,EF\331\266\232\2513M\030\024M\202\2441\230\321\021)\215\"\204ifS(4\300M\230\202\306i\225\024I\242\213\"\02131&\232R\222H\000\000\030\261BH\330\251$\324\232K\024lmQI\211HiM,{\271\301Ab&\006D\205\222\242B\315\226M\215\004\204\212J$bH\311YIP\226\226\331\265%\r!\250\211(\323KfJH\022(\310\247\036&\206`f\256hf\241\230&kw\023\206QP \234! \322\0004@Exp2\\\\\227 \3102\317\366\335\021\376,\337\376\363\377\017\375\177\346\351a\361E\375r\217\226\374\014=\277\352\363?\342#\371\353Q\037\305>\023\016\023\0020\006\014\031~\222\370\226aN$c\000fa\200\004d\345\337\023\201\301S\202\360M\333\203\000\341\337\000\340\257l\204VFKIm\024\323X\306\330\261lm\025b\264\315)I%\r,\263V\013E\265\222\322\233E\033TU%$h\322\026\320h\332\214j\232iJ5\032`RX\306\321\213\033%\211H\001#cSe\246l\231\354pYd\232Z9\\\342A\270\375e\356\333X\252\364Z\327\233R\204dP)\026\002\272\010h\271\032:h\272\035[\223\375\257\242<Pd\0213\274\314H\210`|\004\034\320\317038\274wn\035\223\211\306\017\021\256(\234CX\343\020:EWE4\035\035\215\035\003\000\234\317\274\032t\323UU\344.\345\004\3221\"\201\021\233B\233,\204m\026l\262\324\224\314\202H\244d\"\206i\236`sW7\034\014H\210\032]\236\376\035\362\355\275\233W\2643m\033lQ\250\3324h\255\022\006\244\215E\261F\317n\234\345\351\255\357kk\325\257T\276O\232\272\353\010\242\226\013&\231\246\\\256k\222!(b\224\273V\273\205m`\237\322\356\346\023yT\004BCy\256}\r\213\033r\224UUs\274\253;\226\264\265^a\341\222\374\005\334\316\t.,]\304\016\214\350\337m\300\264d>\no\267b\211\230\210j\250\350\000\034Q\r\0015c\310hQT\274|\25688fcz\326\323mM\260\361\003\225\304\2643\326\\\247\250\241wul\2430t\333Q\221\302M+\275X\330\363z\003D\303\355\010\262\254a\266\326R\252wRe`r\305\032oUEFD\362\312\313L\270\330\353\0306FU\014\262`\214\311\202\245\027e(\213%\340)S\335EV\264\264\020=Y#\334P\222\211\214k\255/\252\274\302v*\20745\034\327UL\310\t\000\010\302|-\245r\233m\316rCd\264i\231W\266\275\262f\t\243\241\232b\030\237\177\202\t\222\031D\275\276\005\020h\200\214\210\310\026`\350\332Qa\2178]u-\004""\214KB\322Q\0064\021\211\310(\351\214\034b\204\211\265S`\r\220\234A8\240q\003Q\315\331\0169;\344\222\022I! n7l\242\366v\004#\"2*H,#6\032$g\251\325\254Na\025(\344\231T\224T\272\222\302\222\000\014\220\264\245%\022\245F\021jPT\n$J\347\n!\314\346\250\346\200\346\242sD\346\2177\233\307{\277x\233\335{\261\r\200@\305Aq\3217S\251b\320\263%j\323C$[SD\336\213\274uSTu\035]N\033\216\240\367\303\240&\252\032\200\306\t\202a\231\213\n\250\032\005P\330h!\n\242\273\262\255\252\032\210:\210\352\256\252j\246\251\314\343\226_\207DN\273\316\221C\r6wT\246\315Bv\\%\024\206\342\022r1\026\001FB\235\244\024\312D\001\270\377\316\026\253D\344\274\207\222\017 \344\207#\220\030\201\273\223\326\t\326\035\214@\350C\236\216;\271\330\265\200B\203c\225\250\201i\003\222\234\227\222<\204N@<\207\226Y_\236\2122\010\220\323\275\r4t\352aj5\270\243\244\251h\027\300\204\331\331\330x\211\263\260\354\230\357\017\207\242\256\301\310\010\020\220Ce\014\361\305\332\305\2526\326Q\264j\346\372\213}l\354\033&\301\261\262\354\365=f\246\251 Hk\331\016&\272\225*\215\321m\020\275\356\367/0\013\342\021\242\243N\306\303\260l\354&\313\262g\270\345\313\371\372\301\016\201\321\010@\303\003C\244\t\021,\221\023c\340' 9#\311\344r\016K\311q6\321\320F\021\346\206e\372R\225\006t;\224_\265k\256\256\206\206\210\035\334u\373\007X/$\344!\330\030y\303\265\034\302s\235/\356\005\271\013\313\271\314\347\317\217$\324\r@\214,v\257u\003\203\262TM\254Q\010v\027h\006\201\241\230o\303\240\236\222+\340\371(BKa$\226\346\373\317S:\361'\021\272r>w\037\327\211\317f\010\327\370\236\315\023\362\014_1\n\024L\300f\227\371\270\317\263\333\360\366\344\353\235~\031\372\003\005\177\363\342\370\224\177\365\342\027\234\243\356\203\017b{\004*r\343Dr\222\307\016\232\316{\261\335\227\013b\377\205\371Fj\r\326V\2457Z:\030)\241/\224\314b\217\350GZ\361\311\355\326\322\345=\336l\247\362\030/\221\373\003\036\334\325\363\3452k}Tp\3346\365\375\257\013\247t\217\321\376\300c\026\006\337\356'>\026\251\350\2437A\274\246\340\271\264\301\210 !\242N\305s\372\271\232p9\216\213""\316{\263\261}\2623'\373\027\333PD\r\032X\336-v\366\242ZP\342\321\376_\313\304T_\267\303\275\276\371}i\270\213v`\232n\374q\242\345\\M\215/\201:\013I\360\362\261\203Z\260n\324\345f\231\363\252\313\2438\217\002n\250\030\3625\034>.\231/\315\304k\257\235\317\372\253_\350\221\265\2579G\222\213SjF\277\246$\223\334\233V0\271\222w\227k\\-jZt(u0\021@\375\231\013\214}\177\341XA\276\345\306Q\263\334\357R_\303\215q\301r\340\207\375\235\331\3228\377\342\325#/\027\255yo\"\326\334\016\345\271\010\277\023\251\341\213\356\246w\325\202\317;\304!\211Y\351\356\351\227}\234~\017\226\300nR\363\365\326R\300c\304\\\311M\332\205\346\3552\0333\346\265\263\361w\006\316\332\347\3542\272\323\256\233\333\351\320\366lgx\372\035\231W_\216\261\265\304\322d|z\226\333\320\364\3553\347\324\357&\355\r\375:\360\350m\223\027L\3407OF\004j\234\032\350)f\034_\001\006z\313\231\371Q|\\\206\220)\210cX,Y\026\262\265\254\325]\"\336\032\236#\177\367i\214\346s\257e\265f\036\3300y\353\345\326\373\2737\243w\025\363^)\333\204\327\364\323\336\013\320\374\347\313\310\231\347\235)-\376a\364\013\360t\346\273\312\234\343\353\361+\237\225\251\317\230\201\217qE\276\374\306\274\221<]\366,mO\201\313\033\2031Hj\266\322\214\225+\266\260>\027\264\253i\322a0b\r\373\231;@H\200\357c\344\320\373\361\251\357\217}\206\005\210\205\356\236\324SL=\250-\337\262~\231\323\315Ltk\360\317j\203\267\235\267\375x?\034\253\235[\243\2617GR\250\276V\267ggMr\347\273F\365\3060\354Y\372U\241\212{\274e\3721\226\314\354>}r\304y@\353\362\013\267\366/\205\302\036\001\334\311\314\274\244\202w\272<\"\036\344\n\337\001\367\027\272\320\273\030\344\036^1b|\035\231\207\337\034\322\017{\231\323z=\357\017\351\377\257\335\263\323\316su>\364\302\3655\n\254HU\347\031\230\314r\357\360\332\001gY@\205I\225\027\326Q`\310c\206_}3\3442\232\244`\237@\000[B\025\261%\325\tu\003\232\256\215\225b \350\006W\272&R\345Pu\226n\327r5\220 \313Wm5\005\335\303\304\225:%\314*\0222FfaUq1\2103\202\302<UT\260\325,1\263\375\031\305&\226[\220\354T\026\245\002\325\014\\\352\357\010\233u3%SSN""8\230rS\211\224\311i\251\027QMn\340EUM\334D\323!\324\254\262\213\310\306V\036\334Az\2158d\224\021or\261k\177\3241\362\376z\004\230f\241)\201`\013\241\373\006>\353\327\233\342\023\235\204\360\304\370+\201u\"\351t)\252|\230\225\000\251\2453\013\n\250IT\037\304.\014\251j\235\215\202\3659\\\345#\016D\252\241\005B\250EB*J\245\205\025\253M\211%x\025\344\027n\200\246\r6\232\311)\347`\261\316\356\3643\363\310C\334\274\302\343SU\036\265\023\254B\225M\"\270\255\254d\347\362\245\02500\332\240\277h\337\336\300V\026\021\023\232\345\366\274\310\276\314\302{$\314\330lF\006'\376\365\256:2\211\241\205LaXp\243\n\303\204\373\253D`\325\000\303\204\250\n\204UH\257\\r\272\236\344\366\000{&b\365\350\270e\022#A\0372\274\"\360\225\240W\222\274\257w\356\371\017?\360p\376\266\342\3653\271\2429\214X\230\314$\342o\365xDdK\220H2\002Y1\177%\225dY\034A\252q\203m2z}6\367\374vS,\003\261\201\207\251\001\352B\365\001\352\022\325\010j\243]\006.\354\234\277\335\2329~\017}\244\360|\200\370\272,\366=\220\326\330F\312\223r\n\270\313\273w\301\376MM\264\266\305\253\264\271v\266\r\270\305\300\366D\030\330\333\213\366\3717\036\343\214\256K8\207Wy\262#tIn\2027E\272\347~,\234\242C2\355\370x\360\354lz\334\246n\366\254\347\310\333z\240\032\250\014\353[\007>D3\014\265\234\342\016N\034\311\332\316\206\266=i%\361\326\0036\316\260eK(j\252\341\247J\077\077\343\373y\034\377{\375\007;\364\330\376{\273h=\214\200\333>Fp\014\354\302\014\301\305\223\275c5\337\252fC;\222WA\231\316!\261\214+)\212\301\tu\344=9\226p\330\003`6\017\300\237d\307}\007\277|/\245\2751U\313\343\206\006\031\225\312a\251\010\004\032\220\334\230\305\372\037=EAR\251*\205bj*J\270\033\251i\003G\027_#w\373`9\357\355s\323\340J\361\271\272!'[\207E4\373\311\033\014\314\223\035>:\315c\251\233h6\222K[g[de\260\347\263\315\221\236\336l\253+\342C\203Y\360\020D\341M_\340\334F\346\330\033jN\035\316N%\374\334~\236\177n\306m\206\371\267\267\2066\263\n\254\032\301\254\330[\024\034T\361\263\230\305\217\0360\305\306\226\335\2668\\\273\037\311\255\337\364\343\362\236\223""\316\217=)n\207\325\265\2534z\314O\273\355\322nF4\376\376\220yn2=\266\313\217\335M\215\363\326(t\030\226.x\346<m\275\035I\235\364\3706\006?W\221\323\301=\377;B\274\314v7\252\213>^w\355g.\336\271P\361xn\274\2423{\353}\331\316\035_Fu\3535\262\252\352\367_8u}x\355\327\235\372\263\257?\256\364n\r0\214\231+\001\330@\354\030\004h(\213\361@:\275\331E\370\214F\234\200\210c$$\t\005\370\245M\350\0048|4!b]\t\001\357\223\215\312r\262\310p\203\350L\004e7_\244-Ua\033^\356\223n\320l\34084Qh6\212i\225\023U\005\233\226:\202\205\r\2624\330\306&\302\332\246\024\014\370\356\252 \314p\035V^q\030c\214\306a\201\254\215[\024\031c2\305LF5\006\302\353,TfU[H\303\320\233\032A\246\254\311\034$\252)\215\n\264\313\25351\213\244\321LND\016S\304C\300\204J\014+\276\327Z\355M\2772\301\232\255\232\200\231\352\242IL\322\314\231\212\030\342\275\027\021w\017\364\226{tC<nBZ\350\274bi\300[\270\360[\304\335\005\220s:\353\036\262\233\342Q\023\251\212,V\263\004\361\230bVA\354\304\3072KO6\223\224{7\207,c\010\034\261\322{\274\253\316\376no6s\221\260_\326ffA\361\014\033)\003\005!\346\246\357\231^\361\244_Uy<\256\361\367V\037\213\026\003\007j\3550\241\275~mmq\265\007P\365\354\265O\262z\245S\205\302\250\210,\014\334b\343\35789\271x[\323\2760\203\013\031\033c\312\321\213\336\3330Z\260mg\314\315$.\252\021\0251%\332r\354\273\274w\201\352\356\265\240\006\240f.Y\204\206\001*\260^\307\225\262\230\261\344\374u\262\021\362[B\013\250WP^\025\245y\256\302\025\231\361\331\206\333\370\372uv\225\025\204\244\224M\245\261\215bb`e\024\314DTE@\360\221$h\251\t\247\214\311\312`\036\310\004\225\332\3066c\014\344Cb\0364\321x%a%f\004\310\306\310\021q\n\212\250`\205!i\302\200\007\234O\232\302gQ\020\214T\236\244\226T\014\255j\226\t\2121\232bec\016\236\245\325\325\312\222q>4\226\211\252\2720zr\023\334j^\006\260Z\233f\207&\236!,\204S\336\346{Hf5uMQj\352\232\272\271uZ\310\200\264\001\250\"\311\213\031\225\257\343p;a\261\036\337e\363\t\213S\356\344\305\210\"%u$\027RR\202\272\266~ji\033j\355V\\\327\213\202W\021\255\256\244\373\351\365\322\003""\276\362\240\020T\000T$\252\020\212\222A\266\252\311U/\343\303Q\314\177MWq\r\215cIcK\030\030\312U)c\302\364\223\322A|J\370\027\305V\\\256\255O\364X4`\303\204\373$*l7\305}\027\325\363\207\224\327\304\203\020\006!\030\222\014BX\2220Y\032\255[\177%&\253\365JR)E$\010G%J\352.\212\350\002\272\220\027P]Jk\267\3144\224\355=\345\2337@\272\"\350\026.\352]\014!\212\221-\232\201T\"\262\n\222\250\000\323Q{=\207mb*T\240\244(\232\253\327\013h-\244\244\013e\263\026/\305i|\224\021kJ\322\264b\272\326\322\353\376\032>/s\301\354\037\001\335\317\000\333\362\311:%a\016\0071\024\367$\331\005\221\000\031\0222d\310\256\362lke\264\366\306n61\030\303\031\222:\271F\270\\.\001p\270k\005b\327\270\341\253r\374\272\232\366\322\266\201[\026\245\263|\274*\202\306\037\3760e\364\352e`C\275-\210X\204b,\360S\221\316\261Ux\325RU\023\221%$\251\036w\302\177AT\r.\305I;\242\367K\255\330}\263\240<D\350\207\016\377\321+^wct\311\376z2$\035\n\350R\373\201\017H\314\327\021q\027\026\326,w\223^\274^$\201'vKVV\265\201XE\2059[\244\257f\311\273d%\214\257\261}X9\347\367?\312\271\356@\370\350w\275\322xg\342\371\317\373\217\315\027\317\364`\337\345C\347\237\236\277q\331Q\3359\375\275\234\001i\245\326\200\217\332;\337\244\342\214/\320\243yq\371\347\013\270\177\324\341\324a) N\204q8\337\2677V\0262\343\307\250\261>\244\177\226}G\355\233UUW&\377\247\366\224\217\225\34666\231\223\376R\343z\027\313\022E\311\303\306s\361\275;DH\263\004\"\341\347d\204\204!$Y\314\336U\252\257\252\257\352\362\202\236T\025\260\212\\\252\233\201\023\004\002a \344\354\342\034\271\016\255@,\n\265\016\256\344\220\225\t!\302\242|\363\326Q\337h\327vc\211<\023\203K\225\207(\207uhv\307\322\234\227\351\334\252*\322!\326NVZm\314\342\320R\254\211\034\320\372\210gM\016:\023hx\247\202D\030/\010\251t\231N\252\024c\032\251\270h\311z\007\254\312\324\226:\302\035X\3663n\211$\254\021\250\314\301\206\013\231\307Y2\333BC\032{)\334$\264:\022C\270\351$\232\332\206\322\020\251\255m\026\332\254\231t\214\230.\222\030\230\223i\010\024\030fR2I\0030\236\233\236\357\364\340""\370vs\263o\353\2777\003\276p\373\363o\361W\230\031\177\244\007\014\271\277\n\324\025\347\036\206\241\366\016 s\234\361\225\317\323\306\315d\334Du7h%\307og_\315ul\272<\252 \301\237A\373\025\357\227t\255\301\275\317\3217\271\357L2\2044\316\302(Cb\007\333\306\370\031\273\216\267\305\276\272y\205\255?\331m\235O\366\230\364(\330c\031\273y9p\234/\007w\267\320\037@\007\320#\345K\344\016#\211sg\374\3377\361\321E\000*\022Q\377\2573\266\226\205\344\275\275}\274\233\221\361\273\203\230fo\303\313\343\347\204|6\202\275\207\023\327\233\246\01659\306B\\\354\002E\035\014\301\0135\312\365\253>h>.v\244\031\245\227\244s\235\321^\272\225\375<Ip\355\037h\277\1771'\262<y\331\246\016t\037\324\375\010\261f\326\223\364\037t\374\222G\332\337\300jnnI\036\355Gl\003o\362\230#\224UJ\177_\314\\v=.\215\247\361y\333o\277\227\301Q\224\227$\207A=*\222B\205\302P\363\374USi\010\201\016L\0204\002,WUsZ'\370\355\316\014\376\344\323[j\354y\216\330\265\363\222\326P\252ZM\346\326\335\261; G\036\352\314\220\217\016\033h\333\303\356q\356\332q\304\263\216\252]\331\307\007m:\233\316\214?\345\202\016\302\004\023\302L\342%\237\271\035\310~\235\362%]q\373\303\013\240\005\320\222\356\004w\002;\204\273\205\345\363\235\316;\205\356\273\313\332\037\370\356\t~}9)\034\r\332\334\2179\222{\231\203\0070\177#\243\255\354\0223\014\346`\353\354:\353@5f@\321B2\035o\375\341\nK&\021\255F~\254\275\356\364\022Y\261\260\303Pz\324\246\377M\371Y\0349\221\037\010| \323\032\353\363\327\344\242\252\270\270\033\256IO\332\315\322Lv@\352\353m,M\030\217\213E\210\363\006\2311\027#}\232\001\367C\310\\<!\"\205\237 y\003\310\013\344E<\212\276E\017!\364\177\213\361\016\371\217\203\246\262:Pt.\203\241\275X\004\314&\33788\234\347\263s?\333\340\006\031\002\t~\351\277\263\277\355\375Z\271\376\215~\010\352\226\2672\2453\376\007\256&)\355\327\037n\nU\366\340\036\311}\316\374\323\302\234\257\301\306\027\266w\373\252{\274\375\326~\321\3279Y\262\330\206n\310z\231\201\005\035\222\\g\231\303m\260\323\331\307\003\023\226\021\032\207\221\267\347\017\273\306""\265\301\321\306\254/\374\235\270Z\016FHoB\356 \344<r\026\t\213\241\350\343\257&\t\240\025\256\276\017\211,\240Z\340\006\225\232\361$\r<\301\307\022\014\332\221\364(\223'\323\316GXoR\276\260}\324\267\223\037_\356\310`\272\253\220\334\376\215\375M\273P\366\366\277\244\322I\177\007\243\274P\246g\313\244\337\203\357o\317\376.\240\3469\257\275\276\375\356\356\356\357Www\255\013\360\337A\265\313\267n\215\300\376n!u\260~\317\035\265z\314\314\314tb\026\316\324\001\332\000\273@\346\027hv\207o\353\355\375\376\342N\354]ga\265\227C\216\314\335\234pf\337n\242W\351\344\363K,\031\323\270&\345 \211\216\306\203F3\013{tA\272\035D\017\271`{S\265\024\355C\265\036\325;D;@\374'\236\315\376\335z\333\2337\201\260\215\205\260\027\272\306\020\332\370\215lJ)\006\001\320g\014\240\273\3014Au&\370\006R\014\230\207bz\035\300tk\347\3458z\371\371\340\372\017\254\346\306\307\234J\261\341\005|(\370P|+\341S\302\370S\323=\317\002^[\300{\276\007\333@\347\345_3\300\276\014\031\333gCH\3473\367\231\3532\025\375j\307|4\305\333NpE\316,\030\322\306\261\244\261\244_\0001\211c?\327\227!\2179\217>\016,\202\351\014\216\276>)\220d\303\277\206\\F\035\330\"\206\307.YL\261\010\350\261\345k,\222\266\200\222\335`m9\224\337\233;{\337\340~\3334\331;\366\317\204-k\341\226\341z?EK\263i\255m3\302(.\331\240\222\300\300Hy-\237b\357m\2013\212\206\"\377\2035\177vS\233_-\242\222-\014\261\246\375\307\207\364\367\232\217\317\3616\300\361\245\003\315\247\367\303\322d2\"\355\3777\352\".[\330\317\340?\312\335H\335\036\300\234v\334\233\324\347\256\005C\234\235\2404%\240\320\006\2004/\371\007\321\341\240\321\316\264\351/\256\372\273\214ar\330\216\301\260\354\007\256\362~^_\307\362\353\364<d\2372\212\016[&\336\374\372\244\364\345\245\210\366/,\205!J\246\221*@\271{\305\220\204\014\206D{\313_\240]\030`_\320\271z \274\330{\221\3402\032\203(\316#\354\320zj\367\372\277\036\277\327\177\225\322\343V\341\266\210\324\221\376\363\33430\316\0053\353B\217\020L\241r\324\222\203r\026f3]\322\3326\364\361sD\371\031\234\373*\212\257\262\325\207}\252""\307\\\212\343\261\333\252]\255\261\206_\304\354\363\355\276\267\216vK\364\327\217AC\276F\226\261\003\000=\313Pb\006\026\210X\305^\361*SQjGA\270jm\301\345B\030y\203\rH2t\030\203\352\361;\r\376@\330\333m44\301\276\000\242\334n\220\235\306\326M\321\345\r\227\241:\304\260\325\223\265\241\303\362L\017\366\r1\214y\206\364\301\331\033\231b}\177X\217\250>\244\270W\311\356\376\254\341\310u\235\006\351\267\302\274\233\331\217\215\320\214\201\262<D\031o\024\216\022\336g\257\004\305\205\000yj\230{\237\221\360\037\020M\304\375\217\177\251\332T{\377\177\316_\352vg\217\225\232Q\246=,\032\031n\306Yu\001\313\213W\321nHH\024\275Od\254\256Z4\374n\261G\036\202i\032{\316\364\374\216\236\32398t\\\367\311\t$\321\234\222\252\322I\246\273B\275y\253\330\213*\254{\264\216U\333\351)r\024W?\271\304yq\376\036\216\004\270\233P\227\233L\374\305\277\0217\256\"/t\272\335\3723\372|<.=\254\347O\322\363?\205\330'\225\277\034\3565\271K\355\363\337\3333\257?\013\2107\325\367\354\236\235\003\241\204\231\222d\273\213vh\217%\251\253Xv\232\267\227\273\\F\205\342+\024\273.|\361\0254\375R\\\270\366\271\3375\325\360\2437\304\2738\274\227\351\370\343Z\353\177\345+\334\372\275;\341\377<Dn\247\317\\_\225\276\271\356A)A\355{I\343\316j\"\257\307\233Q6\367Rz+\255\275\326$\316\2672\240yzxj\371\205\335\374\317\224\264wE\361\276\362pq|\251\251 \264.\354<\212\350]\013\313\345]]>\316\244n\373\335]^E\327\327\354n^\200\274t\246\001\342\333\352\370\343\020_dW\312F\301\237\235\346\322\301e\343\177\356\344FX.D\214\031 \"J\355\"\300Z\207\003\3221d\317\273_T+v\017\321HG\273]\257\254\371\337\355\303\350\373\323\\\205\370F\177\\t\034\207\231\274\316@\305\324\242a\207I$\223\013\034\320\264\323\370\337,\034[v\267\347=\007\315w\363\374\215\222\253\346\205\212\220\307\201\250A-\331\001\374\251/\207\370\252\213\373?j~\324\302\327w\242\016\007\036;\037\303\032[\336|\355h\326i\032Z\326\317\241\373k\261\3749\026\356\365\373\345\306UA\330\367\017\" \225\032{\336\367lL\3159\371:\2071Z\242\230\035\002\003\241s\243\234\367@\350_\253\354\376""\317_Q\324u.\177\366\323\357l\364\347y\320\217R\310\205\026K\3271/+\370\2103z\0102\037\010832\r\330\213b\r..\267u\365\013\240+\325\355#w\\\220\362W\n\017F)G\336\377(;\037\336f\334u\256 \246\353]U\321\2627G \316\037\236\335\006\013\357\317Z\026\257\346>\023\350$o\355\177)bw?\256H\352\361\013\311\267\371\231\365\203\276\3073V+\235d\374\2173\214H\335E\206\034\303=u\305\314\332t\207\223\225\013J=\277;\270\370\370)d3\007\003\222@\344\203p\250\354\006`h\253\315 #jE\302\013|\354p\247\221\3000\3568\315\274\021@\335\314\207VeC\234\224\314\270\273\334<`6D*\320\264\033\373\343\017N\205\246\337\2205\n\302\242\003\370`\007\023J\3107\217$\273(\346\325\231L/\255\236\254)\323\331\252i\265\271\255\232\246\276F\356\3067f\354\337a\270\335\333\316\327\303Z\323\317\337\367\376\311\372\357\244\017\344\212}0\214>\226|UzR\362\354\277\030\332\206\343v\367,\214\036k\344\016|\006t\347\361\353\221\"\023\371j!\242\027\365%\273+W\221\016\305\301\"d\231&\t\376D\251\240\022\021?\323\373>\322\361\317\355\276k\3337\275mf\366\373\337xu\022K\360,\376\306r\253\361q\301\226\331\0209\334\314P;5\325\347\236\344\"~\317o\027c\037I\224\304\200L5b\241\216=><\371\374|\261h\305\316\036\351$g\034\321$\251\372#\334\304\3532\363\355\233f\006(f`\254``C0X3`6\3064\301Z+Q\006\222\231I\207\235\022\3368\374\002\375\224\020\277\227\215jv\304o\264E\242\034\002m\216L\307CP\244I\373=\346E\366$\334k \260\024\260\315\261E\314:4\245U>KB\267R\013\010{q\341\254CW\226\335\357#Y\215\001\031\006\336\235S\233\033B\205b\324Y\265x\272kz\263-\332\241\250ghYH\224\326f\n2\3333\343\355C\213\033W[bSZ\tZV\212x7oy\273yS\253v\264\311\3053{\221;,\330eUf\212\2100\332}\311\2333?\001\370<vr\214\205\334/>u\321\016\246\304\230;\037\330tt\364\302\2717\317\330\341\270\033\311JD\326w\203\305\2524u,\021\367[(\272I\301\006\255\274[\366Lo\235A\327Y\034\367RY\026\345\220u\341\212\024\257\205\005\271\003\226\312\266\262Q\243\014\376c\354A3\320i\316\326\236\356\303\225)\206\225\233\204w\252S\235\362L\346\030\204\234\214\320\353y\026\033\304X>\363\363\2260^&""\371\034\217\323\243\177\304\236\237\320>\r\233`\251\244\25627\376#\371\342\344\246tY\310\233\313\370\322~'\311e\244\364y\010\377w\347~.g]\234l'\31402\255Z\265idj\322l\215\0070\346s\020>.\276\220\027B\016\216\265\322\227Y\324\211\276\206Y\306\004\272\216\245\300o1\310\3030\034\200\231\364\265\377\207k\215\316a\223\034Pm\000\317\317= \302\014H\003 \014 \022\001<\275\\}\177\035:\202\316\200tMWI k\"er(\227\235\357\0173\211\216\275C\241\272,4\354\320\240\3305\366,\027\004&\022I&\026\267&W\213\272HHHr\317mk\023l\323\225|\352\201\346g\266|\351c\216g\332\001\255Pg\273\216\014\355\021\266\350|\237H\371<\3405N[F\214\2234]\241\324\230\345\2040)\tl\210vvj\316f\3200\303\004\272=\240Gr\241\376\334qn,\204T\177?\321\236\322\234k_q\016\235k\2165\304\346\220o,\255\013\277\307\264\222\235eUX\036\377g\345\350g4\265|y$r\246\240G\304{\313\tK6\334\225_\312\326m\273E\r\217\022\316\231\034\301t\215$\215\244\222BK\270\226\236\221\346Q\363)\346\0372>a|\276^\303\313\374\034\312\343\331\035\334\346\305M\277\310\315\302\206m\014\203q\2408\213\342\370\034l\314\322\370\223\235\016\321L\264\267\327\267\327\304\350\262\266\325$\222b\252\264\260g8L\236N\325\037\331\233v\267\330?\3640g\227\246\353\246\233\270s\341\251\226\334\2529@\375\323\000\356\006\241\227\330 \246\322g\007\365j\346I\231\231&g\277We\335\353Hc\216\3167\322>\347\330\363\035\327\324\241\372\014?\317_\027\311f\337\317su\203?\250\371\233\304#\251\240o\340\336~\0265\327\241\242\2132a5rYa\250\347W\343\346\214a\010F\030\317\032\021\306\2164\013\214\022\0164%\306\222\355\004rI$y\026\326\337m\037_\355q\302\312F\3709y?t\022\343[\032\256{3p\"C]\n\007\207\003\207\234;\226k\036\314\342{\001\003\326\371`\327\037T\312\300h%\205\r:\366\035~5\266\337_\353\321\0034\3129_\036~E\344\353\370\327\202\376\306Gy\304q\004\333\373i\006\330-\375\300\337K|\3370\3427\202\277\257\325\270\017A\026\313#\205\342\301\311\256\240\333y\266\230d9\221XC\334\226\316\272I\036\314\332\034x\331\333\014,\350\263\226^\247\t=\347%?\030\327\341\36775\270\1771\2136\373\033\374""\3220\216@\375oM\365\303k\3563\013\232l\323e\32012\3126\365n\243\240t\374\0271\034O\034^\276\251\372\310\347\276\222\330\2413\244\226\227'\212\245\344\366\255\"zQ\03794\221\344\273\253]<\223^\217\tS\361\332xR\251\352\246\224\265\324\253\026\336\341\316\230\255Y\273\267Dn\241-\324-\321\006\352Kt7Q\324\033\273\304\350\014\014\177\357\221\310\372\376\255\347\2222\026\330a{\221\310\306\226\003y\262$\006!\226\273\031\300\014\"\014(\302#\010\013\n0\210\302\243\205\035\030U\317\033\232\220\273\236,@\000\364\371\2522ga\234\234R\204f\033\323|\276\204\256\002\276\002\276\002\276\222\276\027\325Yg)j|t\227\337\t.\271\"\234\025\251\221\314\220\235y!L\201\003\001\211\251\245\024\252JU4\244S\211Y\243\345/\001g\343;\275j\354\277\332?\014\356\251\373\217\027\2775\360\003T\030]\370\022W\313\350\276_W\357\331S]b\246\003\363^n\327\336MT\327\256\303\307]\3104\362\246jD\014\3003hp;C\257\244\257\242\370_B\276+\350\276o\356\333\274\\\374\357\305t}\375\307D\276\364=\005\340K\262\352F\325\342\352.\201p\257Y+\025\255=Y{\240jX\226]n\331\205\253\371|\233\035YuY0\320\343\300$paB\302\260\206\266 \326\305{[/\377]\371?t \226L\231r\372\270|\362\201\357T\204R\222\245R\251)\332*U\005\273v\nj\203au\327S\262\377Tk_\330&^\352K1\326P\"\203\346\260s\3535B\2466\016A\242@l\030\307\002\021\\\251*h\225\370}\372\256\335\252\271\304DDDDDDDDb(\237nP\206S\033\017\236\036\203B\002\320\277\242\3140{\3021\337\235_u\2502\006\321_\177\361\216~\220\020\377\312\316\022\027{\010&d2M=\302w\316\3575P\277h7\327\332\236\337\307\307\374\035g\367o\265\363~Xq\230v\223K]\371\341\357\005\261\317%\236\221\347T7R\366\243\014\256\276\367\336\317\357{g\350\262\252\375\216\331\346\377s\364\377\\\331\234|\033\003R\220\224\267\036U\004\204\252\275\030\340\322%\253D\363\3445\031)\377\030\303\256\003K\347\353\360\365\234y=\236\037\313\364\222J\374v1b\360\307\\\235\333\252\325.Jn\277\017]\025\347\210\3755\303\036\037\027\022x\255\252q\337\207\334\272Iy\273\217\235\347\333\235t\371I$\336\000Ir9\032\026\233\335\303cg\303>\034\253.\255d\365""\343\277v\3101.?7m\023\337\317\341\2531\335'ws\256\211\277?\032U\317\\%\022v\355\301\326\035\233<\271\266\336\206\274:\357\333,!\363\322\345i#\2168\353c\207w\365\365\231p\016\204{h\272\346\372\222\205'75\333\005O\033I*\313:4\354z\005.\352#z~\263\ry\235_tg6\335v~_\245\272\037\203cB\006I\250\242\274\333'\277Im\200k\020\314\315+o\321\234\337B\230\344\353\332\247\364V\357\221\231\233\225s\2779k\036\nj\307\256f\350\321\257@\013%-Q\252\324\332\346\224\361\344\303\26015\022u\342\367\355j\373\371Z\337tY\330:\251\231\035\334\211\307\252\241\334\341\361\263Zi%\326yz\271\031\313\216'\223\372\235 \203\244\350B::::6\2669\363\364r\352\031\371\270+:n?\003\230\255#V\351\240p\216\265Q\310q\t\034\0269\353\316Z\215v=\317\356\215\257\025\271mMU\332\236\202\330#q2@7\366\273\200C\370\023\23427_\241\245\342\316~\314\340\367g\362\374\366\242\246\276\203\000Ws\350U6\254\273c\316\014\027o/.bQ\214]\306Ka\267R$\233\017\263\373q\273\335\356H\324\350~\214\251oKC*\207T~4\013w\021\221\204w!\n\033j5\224\273\261)^?\242\t\267\330\336~-\365\tSY0\3478\227\010e\372\366\313t\354\237\004\317\215m*wg\257\341\375\245\335B\322\3326\251J\374K\361G0\352\277\235\3172\245I$\241%\372J\325\016\316\354\251\013<\336zr\255\r\357\216\265];\367$\021\245\223~\022\2201\215yp\300\025\243\202G\024\251\240\311\226a\234\266\272\347\266\247\240]V\275\242\373\337\017:\200\315\004\200\375F\207\010g*\334\364\277\252\024:\004T\035U)!\274\277\021\343\316\272\230(\3166\327\333\014\262\276\036RG\212$W`\325'$\306\331\207,F\330H\315\353t\311h\335m\335\361\222U\244\261\000\355\275\354\321\301V\231T\204\360\316\364\354\220\206u$\316\342\370v\252\252\306HZ\344\233\3033\310\300\311$\246\026\354\355\202G\353I\241]\031\030\242\031M\026g\232L\026&\260\323\327\201#\235\206\026i\231\247\225\366\024\351\005\260|\347\347t\260 \306(o\205\252\372y\234h\003\t\"\342/\234\375\023=aK\026D\214\353\004\252\211!\013\322U41S\271\347m\260\366BK\353\211H\010\260\003\014\373\3349m\203\376\300\233c\335SM\006\326#\347\222!]\220\201\266\037\027\207\226\000[z""\3327\260\352\310>\367\352?\003po\276\311\262\367\324R\313\323\243\367p\302+\335\227\257?\004\006\362s90m\266\2174\330B[\026\322\346k\231\224\302\336\351k\215\262DV\272\346b\313\227\227\325\321\254\323\025E6\273]1\331\021\223\231\214\374Q\225f)\231\227\243\370\020\325v\302E\335\307%v4\220\230\223\030\256\263|\005\357@\341b\343\310\247F\336\316\370vDp\356G\365\335b\305\\S\274\035\301\030\204\026D8\222\200\210\272\001\261pRXz\320\340@*\0349\271\220\250J$\225\363u\026\020 \301\302\021\2207\347\257\307\374\276\005\222v\316\220\213\026\030\263j\"\033vdc/m0F\366\005\217\t\211En\374\004cT\325\375\226F\352\342Fv\243\372\006\231\277\320,\t?\216G\266\016\342\204\256\301\373\023\311\\\365\027\013`\205\020\345\245\215\rb\243\221-\240fm\222\2658\213m%#\216\221y\305[xSm\251mU9mO\313\033ZET\t\261\n\366~E\314]\1778T\271u\224SC\020\240S7|\203\014\035\375\001\002hFR\246-\337\325\326\236\265\261\031Y)\220\267\366\020a\205z\036\212\322\331\304\024L\t\243\026H\324\203\254\t\0317\301(KII\3437\313\314}\034S\010\034\t\027\371Ct\310\220Zq5\035\310\237\247\367=3\325\373\205\304\333\253\3651U*\336?\206\326\372\207\272\0068X\025\245\026\204\006\361\033\320w)\271B\351\222\231\361!2&\023\246\207\257\311\373\274=\032W\226\036\354]&\t\235\347\355\263`IXu\333\267#nF\351B\221\274\227Yp\275]$G@\361|\355V\206W\273\013\336\022\210\312C)\2471\352\341\340J\220<\240v\005\247\035 I\254\321RY-M\035\3654\210\210I\224\204\221\201\214j\232\035(\312Kvf\335\305\271}\356_V\267\222\305\306\032\034Zi%\367N\366\220\343\273\357}\274]\373x\362]u\343\370?\221\370\377f\334\337k\344\000\000\000\006\333\251 H\333m\266\333t~6}~`\227\303\364VYf\200\370W\311\227\227\021\233q\233Qj7\221QC\303\211\034{\212\202\325\202\324\226\222\022\264\311\274\204\256\323v\334o:\276\227\332\343\354z:\322Y\323\263\24712}\257\016\372s\254\335\264\221\347\314B\356h\260X\226g\335\267M7d\213\222\265s?om\333J\305\201\205O[\255!)\335\n=`(\344\255\233\001\204\246\257w\341zZ\306\215m\232K+\026*\367\267(\013\265m\314\333r\345\2500`\260S>mw\375\306""\350~\255\210t\332\355\235H_\234\356\242\261l7\367_5Z\376G\033\366\\\207\036\240'\227\243\227\261\0041\313m\014a\343\022bO\314\343\247\2263\345o[\307\263,\257\273,\3741\301#\275\252TF\324\242z\275S\006z\013\205\010\304\334K\211.\004\267R\342\027\021\302\216#\321\237\270\344\366Cv\377\300\212\230\244\353\352\210\212o\367\264\023\330\375\351\005z\212\211\215\340e\014\245\353G\255\373\376\337\253\337\3554y\251>\332\213\370\356\23763\343c\350\320\371k0\342\205T\367R\246\217\213\270`\206\301L0J\036\220\303c\224*\366\256\001\277\302\245O\237Zc\303Y\254\233\333\244\256\000F>\235\247\313\320\271wn\2378\272ei\340\350\000#\250LD\301\231\014\237T0\351 <vm\3403\344\362\327/\0366J\351B\013V\224\030\306\031\235\021\244;\254\246\231Vg\036\235\222h\361\336ik\237N\325um5\311\244\262\373\265\263\246~-\363~\t\243\357y\272q\266\337{\214\360s\204\352\351\307wL\273\206\336m\353\031\300%E&s\370\332sm\3661\001\335\344\227p\267\035\263,Q\260\211\234\3025\025*\006\010\334\233\240%\336u%5@\324 \232\033lq\204E\242\020\210\020\306 \212\177\246\245\241[\031R\212\222\376+Z\375t\"v\016 \335~\377\rQ\207\300@k\274\332s\253=\304\362yyYu}+\206\031\343;\216^\031z7\006g\226\370_\204\335\300\317\206\327\364IA\256Rvw\366\367\005\363Y\374\202\032\363<\374F_\224|\245\245I-[\304;\273\360\356\227e\335R\362N\251%\355\245\373\221\276\252\326\227\n<\2628\323Dv\207\265KY\333\307z\347m)\324r\242\362\213}\270\220\275\247\216\t\2578p\273\246\313pn|+(\366\314o\345\266_\353\016\330\203\024\034H<\212\342\364\322\250\255\261\347\313\265\353\243\375\351\211\232\036\025n\275jk\324\364\266\330\306\3139\375\271i\325\032f\001nN\372\004a\244\355~\247\037F\363\225+%\253\365q\001Vn/\007k\026\022\032\030\233=dVt\232p\214jA\240\2468NiBA\227L\"M~B&\307#N88\224\0302*\223\024\260q~\246r{oB\331\245\243Klp\366U\3739\345\351\365\314\365z\270\363t\353#\257Cc\260\004\227H.\221\035(:Q\322\221\322\203\245v\243N\231\374\376W\374>\356\333pK\346\353\232\001\355<\330\317\354b<Z\017 C\366%\360\300F\032i\266\374\345:L\022c\324\224\322\2522:\306I""\226\256S \220\352\r$6\260\343@\353$2X\177K)0\330\232\032\010\220\252@\030\324c\033#\024\"\241\255\223\240\205Z/&\002\201\224[m\024\3022&\016\213\031T\333\242\207\010\203\005\021\267cV\242)\r\306\333nA\215\3077\201M-H\n\332\013_\361\262\355\020\007\245\031{o\360\013g\236Y\246h\333\r\377\016z\3427\364\023\r\006\032\270\nzq\365\202\026#W\337\302\241\250\247\254$\201 \325\000Q\006\n/\213\222\234\325\342\032\303\324\330)\216\310\265\376}\245\214\332\"\317C;\204\001k\031&\022Z\270K]\3438s\343\346\333\034\347\022\263\342>\276x\0265\230\314\037\237\266<\014fRF\004#\211CRBb\t\034\254+QU\221\022\027_$\221\337\342\322\3107\022\0200C\316\254m\363\324\231\201\276\"1Fb\306e \365\006\306\373:\266\353\356\001\242\272v\023m6\224\321\365\303$\323\260\3718\223\337\334\337(`zb\215ff|w\006 \322\ty\271$\223\233A\276\030\35791\032\"\027\310\361\224\035\233\312\341\212\343\225\027\266\372\335\037\001\025\345\314G,\372oz\267\245\2224h\321\2154\226\215\264F-d\261\010\355\212\016'\352\277\333\2673l\353\022\306\004 \313v9\026\t\257<\372_k\2520\220\272\313\243c\035\375\236?\030\0361\023\306\240\370\324|b\214\342\316/\030a\360\316Q\247\315\237L\017\014\367kw\337\223\231\347+\360\233\307\277\257\303\276\353\335\276\374\3047\376Ad=[\220\265\023F\336\254\222}3\337\361\346\2665i\017:\316\302\t\242\031\216*\242^X\216x\035\233\001\214\3551\326X\272\310f\357\035\212\323\217A\252\326\315\375l\316\226i\301\267.\034>\330\266\230|2\316!\222~*\005\223\3326\365\274}\256\352\036{x\256\025\333\225\341\371\347\230\264\351\323\002C\210|\332H\247\034\220\2679\315Nr\366\372\034\212\355x\357\3436\357I\3139d\362\312\036\031\306\275\233\252(\253g\006B\243-o\r\346\360\235i\310\004l\262\203\223U\251\324\032.e\323\232z#,\035\321.\276\300\355\233\303\021\267AD3v]\311[\334\neB\014\225\325O8\307\010\216\261\364\233\302#\263\314;\300\234\267w\347\235\033\345\002F\336\261\303\264\234\034qD\2107q\nb\"]\321\006\016\023\nb\307\272q)NI\275\217\340\354?\005\341\241\323%\256\235\202\321\"~\036\204G\r\247\210F\210o$\300\306\311q#C""\364\262I\247~\375\357\231\270\002\020\000\000\000\000I\000\000\000\000\200\002\002I$\222HI\013A\331\342\201\353\2161\270M\317^\026o\234\303\265G]b\242o\200\337Qh\002\251W_\312R\031\t2\020!7t7\3375\341o.\t[\367\360\006D\036\341\n\212e>\221\356\020 \260\205\314\251\030\311\030D\306\305\033ap#d\t\304\013\302\376z\230\351\214\226&7\237\270? \226M`:\3642\320\271\211\337A\373N\363\031[-\026\346\330\341\033\235\263\r\332X\3351\206a\317\005v\307\335\367\327\000Q\367\006\0042[M\222;\001\n\031H\214Dxx\335\256\345}\207\342Q\037f\024\337\255\241\350\030\214\337\314\373W\264\315\333c1\266k\"\243\252\030\025\211\333\214\211\t-\203UH\327\221`\332\254x\033\004\265\241L\217!\233&ghIm\206)\r\325\273\n\235\222~\374\360\222\316D!\025\213\370\026\331w\235\375\262\274\377D\375\375\261\310\337Y\312r\364;6\345\255\375\014o\322\272\262\251\177Mw\\\"\034\311\323\245\344w\226\020\032\261h2I\264\202\365\372\374w\356\343\246[\372\221r`e\r\257\232?\"\032\327|$%\236\033\251\031\312\353\0344\341\225\371\314\027wV\026<\302\375R\307)\003\\\372\363H\0349\233\237\032\343Xe\255\303\205\254\031\265-\273\022o\315$Y-x\347\303\201\324\367\215~\363\031f\371\250\033Sc<x\325\014\2638z\237\253\237\023\013o%\344\337\022\033U\226kkf\313d\252\320\322\227\177\242,\025-\215u\267\\\233}\035\026\353\255e\027W\rXd\034\355Em\025j\321\330\\Ci&\321\227t\246\3554\212\231J\273.8S\355\021,\230\222\377S\r\3338\322H\336\300\251\347\365\346\n\022\177\004\215\3072\031\201Wzs\376\345\236\257\316\307\257\035\230\360\323,\364m\315\350\343\364\375\275RV\302\225\031h\265\032\257m\355x\257\220j\320gk\256\215n\345\357\245\246\207\021\223\025\305\353\3372\371F\271\006\3150\317\231]\247\277P\332\235\242D\006\010m1>\205\0024(D\0228\301\035\214\303\0209\272\221{\230\266\203xe\361\223\347y\300\316\036\002\345\351\335\313\231\223\022`\233@\323L\335\312\202\324\272\232\022\237\t7\343}\313\032\344L\237Im=(\031\321|\031F\0259\214\343c\207v\237'?_~\357[\301\345\245\304\215,i\214\004\256\306x\347\215\030\334L\2116\302\000\345H\364\222\346\262c""\270\324\025\001\257%\335\255\204p3\326m\020o\267f3\236V\341\236\222\206\214\3034\316\220\227m\267\216\257\264\335\254[\356@O\205\273\006<q\365\201\010L\231\r\206\200\326\330\362>\264\306\303\257d\332\373\224Y\351\352KY\337\213\203\311\240\032\2161\024\344E\350\374\340\204da}\224\335e\013PX\225\303R\314D]\337\022;\016\314\332\310\303\235\304\036\241\026\224\373\366\316\373\3745\255\316\365\030\004\201\031Wz\364\013\234\005\3146\334\200py\342\037\313\332\344\372\374l\355\306z\355\013\356\233\345\355URY\tF\026m\211#\027\341{\001R\250\330\251\360Q\002\247\036\303\334\010\337\r\331\006\353\\\255\372es\226rE\204{\006,O\233\335\362\373%\251-IYM\252\224\330f\310\217\257s[\\\246\312JV\326K\030\203Y\030\304\262V\203d%-\244\3261\261&6\r$\2230\270O\034\357L\272Y\333\010\265\340\271\264zl]\010Z\212:`ib\342H\212\310\026Z\035l\215\336\342\275\325\033\023\0317\361\315u\343\346\221\312\261\303\"/wo\354\335[\237\303}(\214\361xy\345}\345\212w\277/7t\267\366y\260\371S\"M\266\204\331\237(W\003\315\267\262\357\364g\332\353\201\036;|\370R932\337)\250G\326J\356\032\344\351\267\266\363q\217\270\343\250~y\347\266\032\332\324krN\334wR\373\335f\237#4\265\255Vij3O<\363\337\277\256\306\355&\317Od\315\377G\207Tq\317?\013\006_\265\220\320x|\362\256\3529x\230\032\212\323\333\257\016 \340\223\274A\336\227x\035\341\336\035\234\243u\366R:v^\306\354\204\276, \365$\007\304\300\376\301\365\370D\217\245{\320?\205\221\372\237\232\227\006\307a\026\030\307\347\347\360\267\207\207\351\341t{\330\255\237E\271\r\006\340\273\337~\003e\244\033\371\203\235\177PT\002\311c/Z2\002\010z\243\352\351\313\246\245\255w\371P\3140\014\320\260\224\0176\243\346\343\270S\242\212\365K4\324\334R\027\350\220\263e##Y\223\023\361M\265\000\312IH\262\305\032\253\010\305_G\026a\007\026<\312\343\267&\251\344\326}\231\357\036r\241\356\277b>\314\373^\343\351k{\341G'U\363:7o\331v\313~\245\257\372\035\267\033c\036f\346\367D\273i\035\031\303\320\216\036\251\215\341\030#\260\310\231\274\334\"A\302\216\020\016\021.\024\036e\346\t\274\311\213]""\277.r\367'\230\225\"\346\372\322\267\315/\235n\257\274\267)5I$\265\336\374\277\263\345rB\\W\004\234`[\372\016'\227\323\354\367\345\355\367\206\311\203b\030Q2\233\306\n\336\370\250\337\036e\352\331\013\350)\004{2%\251S\210\356\017\203\241X\016\247\353eKv\355\317\3558\036\021R\001i\235\213\223K\351\243\021o\305]\017[\363\034{\037\214\362~K\320\351\353y\272q\301\373e\335\335\353xt\235Zt$\350u*\027I\321\302\364&\322\351Z*_K\205\276^\221+\320|\227<\237+\311\362/c\361\337\007\345\017k\315\362\257k\245\323\246\373+\211\357\347\033\270\3678\275OC\342\370\270\356\354\340\350p\007Os\240\000\037\232\340;\273\276\017@\356\203\303\200\016\356\003\213\263\216\237(\343\263\336\373\215\363\267oo\267\256\236\341z\375\\\364\256\312\327+\025$\274.\020vwX\373P\235xR\255b\205\265\264\330\274\353Vj\343\331\350\363\2228\316\351,\360\377\216\351V\227e\273\307\nm\362|\237\271RJ\226\"\223{h\332\025\273\253N\232\321\344\205N\227\231\020(\227\267O\235\254=\374(R\210\217a\274\325\267\347\340\330\275%4\007\3420\275TY\241E\010>\033\275]w\207\032\016\315s\337\275n\013\006\350\251\314\222\3759\026L\362\013\211\036\001]<l\227o~H\306;`\332$\200\216\022!\215\263\332\322\2602x\321\241\020h\032\021\241\002\320\203@h\005\240Z\021\241hI\026{\366]\223\305\235\334\273\350\366\357\0106\230L\226\310\310\007\003\014\300\341\215\241\204S~\364\376\027_\344 i\215\241\227D$\270\036\337w\277\235\315V\213 \367\032n\227iw\350j\245H)\002\225\367a\253&-)h\210:\275J5!IN~\303\270o}}\025J\227\324\360\376\024\347\337\272\301\206\n\0043_\216\230\204\204\020!\02033\300=0d\204\210\365\232\320\250\032\023\004E\335^U]\275s\357}\300\003\256\216\272:\351 K\263\024 %z\332F\320m%\264\205\264$\266\204\375\203\tS\"\367O\243^\316k=\317\326\366\017^\216\261\027\323$!$\"\262\007\320\371\210\370\243\3366\252<\360\251\304\033\001\212\374\312\225\350\355\274\247Cy\323\352\325\325\311\350\300a\210\013\336`N\330\302\013\266\215\311\t}\245\353\007\305\312\201/\3507\006\230\252\nc@\337\023o\304<*\333\016\213\021}y-\332\360\2358i\313!s\030""\331\3333\352\311\t\037[T1\301;\344\315\nZ@\3240h.C5\200\340\204N\t\032g\310n\001Z\377 \257\226\230\021q\036\206P*g'\261\227q\344\006\363\\\372n_1\315f\235\206\223h \232\"rA\202\367\003CI\261?Gp\332\201I\203~(\006\214}\320\222IW\357I\024\212KS\325\030\265\251bU\002\226\006d\222+\\z\030k\365\231\345\357A\0339%\236-z\347\225\344\331\354\363'\317\317S\336\367>\017\016\201\320\343\303\216W\006\271\235\200\224m\246\026\017cC\036\031I\275{$d\204\222\020d\006\330\330\333\023F\273\270\3265*\227Z\277/\276\363.G\347\337\247\333\303\257Z\365\317S\313r\345\275[\031\330\256\305\330\202\354\343\340\342\230\213R\3711\275\3568\343\266c\013:\362\236/][\203/&z\36004\320\026\242\212lo\rr\311\343o\311\037\177.\316\273\367\333ut\353Sw\216\272\007L\3155zV\236\006_\305\2301\276\023|$x\375u\\r\371\031\245\255j\263KQ\232Z\326\276h\330x;{t\222\346\006\010f>$1\001\252\033\033.0Q\3709p\342\205\301\307k\317\033nGYv\032C\250\023\\\214\220\351\274\356;\316\276\240\354\206;\004HI\030\305-L\223_Eg\025\214\311\3278\244\302T\214 \311\nF\345\274\024\357\220{0J\001\335\316\261\227\325?\271\350,i,\305\033\030\305\220\270\314\314\204m\260\024\014\010i\030y\210/\2634\372\334\270<;#\332\276\367nw|]\237q\370\217\231\323\247\230\375k\263\263\263\272z\004?\272\315\354,\333\357y\275\232\357\326-u\2137O\203\214\247\207\351t\306\333\263\273#\363|\232\331\226\321C\016\233o\330Y\311\255)\332\314\001\tO\3643\332\006\217\252\3079\321\330\375DqU\316\236F\010\246\320\274Q\2140\221\036<\227\177\205\370\036\236\336\254\000\034\271\300\002\213\277}\223je$\251\335$\236\030\320\230c\037'\\\321\341\276\251\255\371\257\230\236\270>\346\265\345x\361\367\273sk\331\354\2756\353z\036N\\\340\000\001\316p\3479\316p\000\000\000\000\000\344\215\357I\207\232h\035\225\305\272#(\250\350\227)\261\320\331s\242\276\247\325\364\337\n\257\214\026&\212\370\271\325\316i\274V\244cE\245\333\030@\253\305$\240\200\322m\244\003c\026\271+\014\305\003\220\316\240\031\343\331:H\365\210:\300:\000\353\027_Y\336v`\335\333\366\366b\326#~\243\223\263\276(""\036\201T\302\021\231\214\027\323\201n\014-\307\310\212\340\350\014aI#\nXL!\205aXL%\233\ru\3270\356\001|\021r.\005\214 \004 \021\010\005>yM\247\255\177\251<=\373\322\321d\363EU|\006\302\323\247\2715w!\0222'\300\030\004\260,\030\021\200F\004x$\036v\333vy|}9m]\270\235\361o\025\361\225A\340*UZRI\n(\240\343\033m\255,\266*\325\315\313K\227R\351J\352\224\271\313\224\245)2\231\231n8&/\303nh\335\\\346\353\225\3134\311\327.%\020\334\233\210\032\031\333Q\242\230\331T\230\232m\372$\021cT\"\206g\311\010^^\227\004\210D\"\303\021\366G\346\026\272z^\363m\021\177o,\263M\344\263\313p\222>\334\201.\333\205\346P)\246W\304\312\nM0\310\322S\ne$\217\234\342\202\343Vb$&C/\027&\251\2449n\202\245\255\024Z\335s\253\253]!\365\265k\236\025\010\341\026\214\360k\203\352\035i}>\01681\216\342C\020!\020\314\265\272\303Ato\211\037\220`\214\360$D\226\332i\276\325y\233\360\000\264\212\240\22552Qc\302\364h\203<\247\ryj\2136\323\001\\Y\321*\022H\321$\213\010\260\274\343\213\312p&\343\325\352\273!:\031#Hn\342+\217w\004\316\207#\234\364\366,\321j\275\027\357\253\2143\t=\246g[\247\202\275\"\256\200`\331\235>\261C\032l\265x\225\306\214\232Y\006\365\216}\005qh\301\2141\373\"<t\200\223\030\201\261\370\301\021\224\324\277\316\212\346\313\033:#^\000\345\005\312\301\217\004\255~\343k$\020\007\252B\275|\225\337t\205]C\252\264\347\346oYp\353\342\355|~\236U]5\345h\356s\305<^\363<\215\265\337|f\263k\223\250\367\362\312\327vh\202\332\314i\315\215YB#\030\261\203\r\304\010\206\332\033\r\242Ph*F\243\033\236\005\206%k9b\255H\252\201\001h \032\027O\271\\Hg\211T ,\363\246\342\004\211\300\241\2100@a\231\314+z4#F\203@hF\203w\276\347\217\003\331)\370q\\\037F7\031\032\237\201\337\346R\356e\313,1\262\026\007g.B\000\305^#%\256St\030*{)\036\254\200F\001\242\324\274\030\206\26333a\330\222\274\311F\277\rw\300\275\261\226\314oOT\"\366s\201\201\233\334\257\263a\\\036\033\267n\201\\\014-\321\325WQ\323R\342$\"@\222H\311\022@\221\300\205\2226\221$\364\256x\021\313\216~\266+\227=\340\230\252UAO\365\273w\232`\245\322c\373\373\037\177\303""\205{y\206\273?\231\034\236A\332\030\236y\350\203\031\357\244F\220\23635\0224\275\350\273>4d\222\331\236>S+p\356\212\204\033\336\370r\371\354\353\370\007\024!\310\"\003#V9\336&\016\307\020l\223>Z\362\271a\215\026D\"NI\243N\224\203\252j\022\271\341\021\234\351\rX\306{v\204KXh\337N\334\3336\266\2137o\0319\030\326{\3578\355FT\370\017\215\247\252Qf\004\345w\0051\002\314\246\344\020FRC\246S\313\252J4\221\361\352\t7\\d\2514\315\037\327>sV\333SE7}q+\306\327_\203&\226\343\033;7+\220\337\002P\025\\!`\200\033\371?#\347k\346J\252\272\204\223\024U\031\252\254T\035I$\222I$\222I\002;\303c\253\376;\316\307\340\200\265fk\231J\2306\230\327\237\244k\214\354k\276i\235\254\327\261\032\377P\007\305\270\336l\211\301\201\3416\314\214bv\360\340\354\304\221a\263\265\333k\010\r\262\020\031^.\275\272V\237\027\277\335m\0041\362L\336\332\032\250F\2011\266\306\320\276\300\336D\243^L#c\n\0301;q-@\212j\334\005\275\342\302,\316:\010) M\211%ZS\033eR\246\0326C\201;\337\313\272\240\344\025\263\004\261\335x\\&\305B\022\264\204O]\272\344\235\234\245\230\212\270^P\332\267\321\017\215\345\370\033\307b\364\362CW\r\304V\345\337\364\366vn\323\035\313\256\321+\317\266\246\001o\360q\366\020\213\336\270\034\365\256\337\213\337\233s\023\332\256\243\346\363\347\205\265\244\006\003\022\302u\221\nmI/\215\325\316\373\2100\202\r\210\225m:\316\3607\356 \217T\016,$$d\005;\201\014\236{\204\214\034\361<\2576\300\227\3344\306V\334H\221w\260\222?g\315\344je\375?\337\363\355|_\203\361\3127T\236\332\353\364\343\027\304\271\017FgM.\314\344\316\331t\355\317\035\347\317\2757ow\237\212\362eYKac\032\215\027n^\257\250\276\201~\234%\356\363\320h\021\322\035\235\010\347)\351\302\351\\\336B9\260<\230!\264 \331\241\020\030\004`\251\320\321L\017-c\346\322E&\226\0203\r$\227\226\343\002\301K\n\003\203z\213\211R\306&\320\222\303I\001\030\030\254\031W@\020m\200\336\"\034\211\2429$\216\r&$\234!\002y\205(\351\215\t\265\246\024\325\rZ\214j\231C\026-\270]\306\331.\t\037\031\253-\303\010\243\nD\301I\022\022Z\t\021\272\n`\221-HZ\326(\241\250D""\204\t\026Iy(\227S\313\321\313\227\300B)\017\205\302\270|\266\327\245\357\345\313N\317o\004\030\037@m\272\206M\262\323\222B\303\350\311b\270s\202\316\227>\205\317\2444\370\036\033{x\374\373\016\334\352\036\024\322\335\354\002\226\363\221fF\233n\314\360\3342\347\340\031\024\\\263l>@\010\220\320\r$\264\351\315\263\264\010s&m\271\265\242f\315\n\246|]\016\007\320\222E\2778+,\301\030\211L\013\021\2601,\276\300\227'\246w>i\335\356\200X\202_~\3472v\345\271\246\235\255\2776B\332\321V\243c@\000R\221\307Q\334\"\023hc`\323F\260\030m\355,U\261C\031#$P\352N=`\246\213\330\231\333\206^\367\013\365&\204\336\036\033\363\256\317\326\372\264\020\032D!\001\203\016mH\300\344\3251\r2\310+\031\030R\006\321N!\274!\262J\237.\203\014\303\033\013M6T\355*A\254Kl\324\215\2603j%\300\331\305\201\211\265\225\004\303\0226\352\016\233\221Tm\267\232\266\233T\007.\332\246\352\267L\261(\252C[H m\266\301\261\206Z\013\320\211\326\r\232\363\314F/at\032[5-M\301\305\2745\311o|\257{oZ5]\266\326\316\244\320x`l\230\314\216\342\271\246ag\274\023\241t\036F\215\261666\311\274\017\352\030r\343\366?\037\014\267\364\215\267\314mq\204\030\340\343I\327[\226\351j-\022\201Z\344\331\316.ng\033q\025n%s\226\233TX![\212-\316r\270\320\322*S[\216%CY\255J\244\333\213\222J\2565\2563\257e\354\223\344\276\267\264}c\245\211\257C\3333E\264\024\233_\276\345M\255K\336\221\333\033\221;\003\332\376\016\346\356\313\311\344+N\304~\223z\3513CqAB\022H\322q=\367\353k\333\223r\317\000\264\005\255\325\252\311\254\363\261\332e\344~9\335S\177h,\265\327q\346\315\201\245$/r\357\270Z\214^\322\023\013\324\227\300\325\275&X8\017\235\255P5\224\306\275m&\305\007F\201\260\333|\030\222#@\330\221\027VtT\376Nm\014(\247\221}2\3660\347~\323\3715\246\001\033p\231\007!\246\306?j\024\037\264\213\360M\024\313ZRlh\252\212\312\304\334\335\310\330U\334\007\034\260\233paO30\327\265~s\305\r\220\221\t\303\277>\277\003\r=\017\230\005\306\2614dE\204\020\357$\020\363\030\202\200d\217\271\374@\333c\242\311\317\023\343[\227\304Iwg\204\361\220\314\014\300\310\241\272\272""\227P\272\205\325\323\323U\005\335\367\006\376\267\253\327\347\016\211u\260\036\177\322\373\305\224>M\245\004b\252k\371\010\2606W\251\224\027W\363q\002\376\321\006\370\350FZT\304P\006\221\364xR\026\022\006\007\245^z<\355\336\022*\250\255\332\220/o\177\335\236y\374M\030\345\257\tca\331\224\225o\371V\030\330\332\303@Z\323!\215\235@\304\320`\272\021\031\030\013U\255.\371\374)?]\\\006\233\020\3040q\333\264\tV\013\321\325\020\026\310\341\27401\320A\245\354M7\020U`\266mbP\221M%\274\245\247\021m\227\236FMy\306\353\250\347\216\023y\023\326\330c\220\332I\205\026\261K\271+9f\344D\217\324#Bod7\3702Q\016dP\334%\031Q\327\002\353\217\247\277\203\277w&O\246d\312\206\230\313\263\037v\3600\220y\345\002\252\326\344\263\340\024k\313\232\237\257\0347\216\245e?\204\353j^\"rv\025\333\027\271\231:J\345\335%\372_{\216\235\237\201U\272\210\363\364s\275\357\341\277\236\235Wg4\036\301y\263\207W\265!6\256k\331\313p`\346\367\351\335\317\027;\241\307wv\264\311\3372y\310[\357\225\237mc\215\212\256\315\273\272w_\246\001p\303w@O*\303\337\313\227\023\030d\3043=%\000\275\r\332\340\250\2601\025\017>]\303\322tz\027@\366\336P\312\320\336\364P\2742\347\035\365\032\220\264I9p\356(WL\305N\376]\223s\353sB\205\"\007J\373s\216\271f@{H\303W\262\363v\272\360n\017\r\376\000\200\243\303#\3426\215\331]\205\344\353\277-\324\2705qwwF-\337\354r\3336\323\305\203a\246\262\350x\220\0331\"\313\266\013\010\005\020!v*\211\212\251B\033\200\304q.\226\210c\013\243h\255\211\344\200\2720\221\232\017\341\341\356\357\367\376_*\351\304F\356\034\236\334\010W'\013\334N\300YK\307\225\025w\243/\326\3036\027\022\364l\nq\010\240L\214\262\2648Q\231O%\020\355Id\204\023o\002hT\305\304\003kO\014\242B7\201\323\035L\222\t\275aYw\"\305[\242\242\214\262\210+\216\326\263\276\304n\2255\200\306\031\014\232/\031\255\254\"/\010\250\"Y\014\315\244k3X\202\237\020jY\264\305_\354\334ie\207\225\363U\235\347\307\346\273})6\330\303\237\260\203\250\302{bR\243N\021$]!\0211\266&\332n\021\252\216\014x\220\257\220C5\033mP\312\250\333b)\0001\250\333M\312\025""\021\245R\031a\204\206\223\240\0065p\313\013e0\266<\335$*\006,\2776F\321W\nze2\233f\215Z\243\026\253!`\363\tP\214Q\210#&B\000\251\217\3164\314\205\006[\306\251\2752\332\322f\002\214V(\260\247\207\007@\230\305\376\357\247\211\0102\366\327)M\306Z\342@j\263h\033\002\310\220\210H\257/\314&\220\245\254\251\245\243\n\347\327~\342\220\322\327\213\357\313\304\235OP\302\036z\020\244g\201:\240'\247\020\270\271\202C\321\360(;\027D\213#\351}\317\263\347\322RF\002\003L$\014\204\315\341\363\375\017\251\250\260\352\033\202\005\034p\221\231\356\2719\226\230\222g\256\261W\303d\022\030\230p\\\272\213\037@3\261\330\361\212t\221\343c\2738uN\230{\030\027E\027\231l\267-\327\350\311\352@\306\2014\301zFc\351\262\327\026\236\017g\365\337\267\305\336>\347g\321\370\272\264\350j\323rZ\302%0\0033!\206\277\n\244yf\277s\312QvG\345\024\254\342[\217\247\235\273\267\324\253\304\205\242\320\315T&\346v\036\270v3\321&I\307\024\222\027wS\231cs-\007\243\240\204G(I$\233m\277_2\006\322\324\233\r\251D\306\313I\0322e3\355\305\315\307\247\211\334\316m\333\317D\0027\357G\004\r\203@\332\014\236\305\205v\275\346\365\244B\2154_<\220\3010i\251\016G\nZ5\241Q\266\333\306\332K\305)\002\335\276\237\027y\274W\267[y\326\355Z\302\004\022\350\017\013QN$\323\032 1\310&1\244\236yn\245v\270\3478\257\213\265zv\343mqf\311d\215\014i\r\211\241\250w\037\000\326\240\253\335\273\257\206z\002e\210H\022\003CCm\2106\221\001a\031.\003\351\244\277\243\271\255\r-\227^\330\265\376\177\347\267\026e5\251\310\321\351\277+K|\026\341\332\311j\215\036Cm\r\244\2715{\263\246\373\272\372\256}:\274p\255KfexnlF\246\330\222Az\272\352\352\315\266e\212X\226\000M\311\030&\305\373\230@\246\330C$7\335\272\\\273\277\345[\225\232(\006A\003\002\006\254#\254\250\257[\3340\275\320p\000\345\227I\260`\313\177\300PV\331\301\215-F\240\330\300rE\367/\261}h\r\013\223N\201r\311\313\263V\356\353\200\267\253\034\030\323\265\236<\005\003!!5$\031\364\274\347o\363v\364\333\027\366K\244\231\340\210m=\315\224/\247\304\246\306H\022e\227J\263d%\251nF\354d@\356\023\030\016""\3261\234\022c\206\365{:^\344\341\004\324d?\316/\277\036\027q\034\010\343||\377\036Q\245\215\343N\356\355\250\022\251\201+y\336\356\345\252\205\212\203\031\306\334\267$\032\357K,\206\315\006\240\362\325\036D\203\234u\231\313\224~\241\346$\321\317o$\264\022i\274\301\337\354\004\353\315\356<\\\335\346\342\325\325\347e\324\350\016^\216]\332\3565a4\027i\276\200\352\267I*6\357\271\276\2463\265\256a\266\257-DDC@\220\266=\273\372\021\324?c\273\262\215+\347Y2\272\272\204\2565\327\325\267\207\273\277\0255V\374\307:\322\364og/\t\274\266xw\311\342&\206\342\025\036R\227\203\242H\004&d\t\245%\317h\201\020;\022i'\002N\270W<\213b\0300xg\3066\225\032\234/\032V\004\351\310o,i\306\306#\266\204\356n`\310\346;\375z\362\323\314\314\345\262\372\217\034\036No\035\246\\u\256\361cGd\037gz\003[<\236\031\333\316\273^/\357\327\256\333u\353\317\205\262\327q\236\372\322Yq\265u\316s\351\227\353\222\271\333X\261\327#\247\303\364\303\353\325\006\3567]_[o\256lm6>\231\342\323\215\334\372\020\213gO\350\235\2063\327ws\233\264[w\321]\214\306\0167\356\357\261_Go\246\326\\X%\246\265`\343\341\002\265\265G\350~w\343\257\r\357\213d\220z\347wc[\314_9lmf\330\232M\261\203o8\350\205\007w3\357\032\006\304\350\344\356\301\366\270dmQ\007\227\243\224\262\267\237\236\335\037\203\344\367\271\234\366\273q/W\236\032:\271\324\032\33763\340\375O\315\267\340\363w}\316\231\263\302\345:\177lwIJq%N\376\036\342T!(T\241b\205*{\365\270\364e\257\337W\004\227\330\362w\327\332v&'\323v\276T\333m\266\337\035\275K\311#\2367d\0321t-:H\316\223]\330\355\322k\233w\360\312\374'\263~4\316=\265\312\222\353\211\177\237\347\267\207\336fEMU\277\0279\314T.\373\215\270\t\221\363\302O\224\261\253\320\300\002\310\272\021\311qh\033A\335wT+Z\267\217>D:\374\327o/O\217Go\177\307\277\237\272\347\203\000{\227l:\324i\242\006W\327d\226W\315\034\353#I\246\302\316\366\362\225\203\000\373\254C\247.\355r\333vr\223\344^\230l\346\354z^U7\364\321VgL\253\0221\350\371\325\232\263\264\353V\227;H\373;\321\337\r{\235y\215\230\272\343\345\354\252\236`\231ww\325\007e""\235\273[i\241\247?\023r\016b\315\223\262\0134S\204`\334~\326J}\232\222c\002\241\230\317\311\241\334-\004\332\212\246\021\354\341\274\205\3107\226\273SJ<8b\366z:\357ICHB\330u\215\267gi\275\335\330~R\261T\0100\236\355\332\005Y\2577\301\343\374\323\233\347\333:\353\303\216\225n\376\3566\276\235:\235j.\201\276bn~V<\254mF\330\312\343[\3713\013\275\226l\312F\355URL\274s\266\334{`\202i\256\230\251j+\313wL7\260\361\006\003#pq\0277[\312X)\215\rn\335\273K\\8\353\261e\021\266\363\025 &m\231[\301\213\006\250/+\307\233\257E\337Y\307m3E\247\360\320\345T\t\t\2358\2310\0275\352\227\017.\315N)\035\271=\023\332s\343/\253Z\260IS\251\347\235\307\327*\330\362\225\3073\224\347\307\267\026\341n\241\323\216}\367\266\252\316\033\374\240%\373\227\006\210`\326\367\327\323\2475\373\370\343d\0102\301\217\342\231ln\354\240\335\261\256\206\265/\365\212\341\257H\240\307oG\243\257o\216\320\314\254\261r\3101\350y\314\371\366s\226\336\215\303U\025\030\353\330h\262{\243T2I\251\212\027^\025Qj\036 \322\220p\202\026\224-!\2444\255(\322\264\334\262[v\325J\342\251\204\311&\266T\210\020\312D\210\257aq+=\201\203\0010o<\n\303\331\244\262\354f~\274(@\312j\337\313\330\334Ro\325h\222D\027\273(R\320\352\250\211c]E#I\304{\2268dngJm\3674ta\373\031,\320\333\270d\351\331!\306L\314\t\360B,XZ\201\251\251\202\200\3341\214Y\302 \246\330\003\016\024J\027\001\245\030\366\204`Y\"lm6\007\032\035\322y\221\tf\014Xf\010A\241B\010\321\202\315\210\311\245\201\241\3231\002a\213@JR\320\3155\306e\323a\270z\325Y\241\014\332\351\265\246h\242~\327\216\335\035u\336\345\344\332\365\250\332\241\202\014m\244\306\006\351\230\0301\244\216%\233Yi\034\241\004[F\230F\223X,\242\014\006S\203\032L\214\213cLy\241\334\026\001\242\306%C\004[\022V663\201Zd+[K\234\353nV\257O5L\326(\334S\335M\262\266\207f_\245\177\330\217RYL-\321\351d\277\235&2\346\363v{\340!\201\214\241\005q\212\027\314\354/\010(\030\341'P\215\227\211T\300\220\2067\345z\\q\342\016\323m\331\231D\022C\303\260\371&U\025\020q\020\245\236\260f\244q\310[\236Sr\333\311\243\2234\311\262jC""\020\246M\255O.t\361\247\273\321Z\352\345\253\247\027]Z1\325,\005\2520bPFV\022\0101!\314\220q\257,\rjq\244n\326m\235\031-\314\337\270\276\343\36241\016\253\364C\277M\333Y{\313XP\032n6\337Q3L\264\272BI\t$\221q\022$\245(\353#\306/{_\203V@]\366x\305\021]\271\rH\001\020\222\261\245B\341`\306+@]\237 \222\002\331\016\3741d``\330\373\265\313{lGj\205@[}\017\014\361J\230\227'#\212\342\207\035H\022t\201\307n\254z\340\036\376\275;\323\356\336\016\275p\033K\345We\032\342\270\327.o \253id\032!N\331\ncPPhf\310\254\272\261\013\201\322\311\0314\255\033\200\244n$\026\226\031w\253\313\344\317+w2\264\220\266\203\344\0028\233>zM4\317d\266Nk\335cx\r\2319\365r\313,\340\307\240\003f\214\311\362\250]\032\3348\003\346\346\334\312B\003]\304Q\276C]\271g\352\257jI\225\211}\021}\242\211\335\0133\326\023\326\001\336\232@@\360O/^\231\355\243?\365\316\336\307\271\035\032^\266\330h\314\307\275\234\307r\021\222Jr8\220\270\256UFc,$\0314\026c\215\342\261c\302\335\013\314\322Ig\255j\322\326\362b\212\236\335\333\256g\227n\332\010.\223A\314a\370\225d\306\326f&\375\371\264\220\322i\r\202\320G\237\217\273\236\263[\036s\215w\367\351Zi\237\263+\314\260:\255k\262\276\325\\\t\r\274^ C\304 x\224\017\020\013\342D\344\005\310\034\211)AHH\376B\365\334\234\370E\217{\000\272C\343\006a\227\243\0300\223C\007\"M\021\216$\323\367\002\314>A\243\315\207\224\322\302,\304\333ED\021\262\014\372=\223A\010=(\320@{\3010\247i\031\302\016'\323\230\365'\253V\037\262`\030\266\010u\247\223ELrG\204#\265\373\254\322g\362\032\250\211MsG\362'\213|~b\002,\3060\354\205\374\035A-\010\2260\343\356}}\367]~\210w\322&\310\014\004\311\241$\253\223\357\220\242\244\010\243\005z\tg\025\2250\0147\t\305^y\332v|_\317-\217\250\313\262\343\255\224\314<SN \021\271\334!e\010\310\034\337x!W\002\314\032\033\032M\232\243\206\333\361\206\327S\006X\253y\010\355\rk\320\214\273!?\235\334G\000/\033\203!W\244\267\265m\245\306\033\204\002\362\222~\027n\256\274\353\313\235Y\225\031\261\262v\374\235x\375\234\270P\214\342G\020\216$\214\346tgJ\2754\352o\325\233\023""\216#\020D\302\264\314\007Qx\376\3373w\355sS\324\333c\257F|\261\360M\275\2267\262\201j\017\357\252\256\207\272LVsk\305}S\313<\023\255\360\362\277~\274\325\365{gv5\267\006L\344mj\t\030\361\034@\304O\216\257\367.\3431V\207\233f9\252\312\230z\371\210yx5\245\355\365\375\025\363Cz\234\033\23336\214R\022QK\321\\\267\033\2777+M\252\030\327&\262\373{F\311#\0020X\214$Zo\272\323W\237\032\227E\013\303\014(\006\034\300\361l\250\020\300\315)qW\307\n\302Z\225\322\231%%\003?\r;A\322\204\266\304-\260\333\021\266\010\333\021\266#mt\243\244\342\352<L\2667\360\005\326d\3306\251e\033Q\254jf\320Tf\363\372\273\275}\366E\3144{}\326\377\005W\307l$\260\324\214H\221\266\000\331\240{eX\364\307\354c\177\203n\236\277\034\367\272x|e\314\315\020\214\326^\317ZG\254G\265{W\264\016\321\355N\326\335\251\313\347\207\177\375_7\357lS\363b\325\005EX\320\244\033PD`\276]U*hM\371\2626\320!\215\321\352\243 _P?%T\355\364\354\026T&\t\024\257\r\335E\302\335\024;Z\271\266\333\220\354\336\214\264\213TkIl\232M\260)\211\265\030\021\024D\250\034\2040\361oD\363\362\363\363B\306\2261c\000\300\tcA\214\307\215jZ\275\204\346\325Ke\257\313K\236\342\247\017\213\220\375\230V*H\327\212\246\350\367*0I{\242\350\203(\314\366R>\306a\215\241\246\032Z(kchRX\033/Xm\341a*\211b\211#\230\201]\252\302\377\224\227\031\2037U\036\365\006\312\222\005\314r\304\352\372i\371\327\260\353\274\364_\211\3765yV\373\024&b*b\212\030O\025o\230\242K\262\272\245uy\271(h\"\270\356&\214\272\302\246\276|\300\226`Y\204\263 Y\263\006e\2306)\3253 XN\027\214F1\013\216\3449\355\263\260\013\262\355\262l\354\033\033>\217\251\227?\235!$\340\247\007\200d&K\220\332\203$\360y\376\227O\001\231\311\003\212\274L\2059f\361\014\334\374\335\357\331\331\235\001\233\305x\234Ux\274x\361\343\313\307\376m\177\304\327\\\3234\315s\014\354\026\024\221\260\177D\364\023\n\023L\2469\277\177gKx\335\371\274\322H\347\022E\373\016|\254\337\346\313\217%\202\0235>c\353Y\231\225qT\262i\030\360\237\037\014\310s.\236\035\332\026T\227\023\021s\231\n\034\213\245r\316Z\311?\342\255Q$\016\257""\"\004\220j\220\237H\024\273JQ4S\316f:\314\211\226yv)\030\251T;Z\036a\362\323\252bW\314R\210\275K\312F<\352\212&\2564'wq\342\004\246\246nb\211B\247X\345O\332\314\245\245\013G\367Q\220\345\227\254\245n\224\355\351\242\236\n1~\276\252\345\365o\031r\327\250\301Ih\231\210/\373\255\341])\233\243 \230\323\317\363T\245\024\367\232\271Z\250\272\267,X\377\320C\244s\267\314p\214}\220,}\315&G\277\257\372\262\214[\2527n\370y\335\373\020\017\321\004\036?\256\304?k\331\214\377\337\375\342\204\372TT\221%\021\246\n\232\226D\244\224\264\2324\233P\0234lS\333\313pm0\212\241\232(\333&SQQ\231\233j\375Vm/w\303\325u\3335`M\244\321\215g\\\253W!4h\331&\223\022\367\353\365?\343\315k\251\240\217\367!\037\276\327m\tb/\026\006\177\343\345\327\312\251L\200\355!\221\201\371 \260\212\rU\0240b\277,P\221Q\374\261\242\"\303\370\027&\251\272\254\327I-sL[\230kz\035N\232l\001\262\206\202\331r\001m$\350\212\307\032\266X\370\314\335\232\355\240\315\027l\344\343\234\234\334\3276N-\305nK\253\253\224\353\nF\314\342\345%F\177\276\001\317\274PQ\037\324\257\323\364,\310\027B\022\252HP\037[\334h\246*\006\202\330\024\304\332(i%@\037\207\323\2001\376\2463\365\212\037\201\236r(\240?\214cX\244\322\3031\025\024Y@=\002_\200\312Vc\005b\315R.\363\210\313\034e\203H\372[\t\036sM\242El44|\266Z\025\263!\010Y)\377\243\001$n\204\205\323\372\236\201h\253@\031\315\252\016t\320\233\005\000vf\024TM\221\306\223\266@\376b\r\277\376\271\347\261WB\022\210\261\333\037\363\305R&\010\302#\021\214\320\001\214\301e\245E(\260\t0\017\314\330\333iZ\305\"\244\026\030\032h\311\230X\333JD@h0F&\203\017I\340\270\"b2\014\217\324@Q-X\212pj6\025\022#\nd\314\240\244\307u\030\251\266\003\177\331\374\377\317\361v\3775\315~\2579\376\226\351l!h\3051\246 \211#\005\244\244\361\315\314\3478JC\030Y\214\203\000\260\226\023\234\344\302%(i\201\030\t}\257D\347<\265s\364\357E\313\257)\372\227\235\347\336b* \304\275\023\266\3366\353\317\225\243\006\323g\014E\262\022\221\217.\014[\243\005\000\025c\007\021\036e1[J\207.[\323\017\251\365O\321\350\260\364Vk\365\2426""\217\334\231\020\262\300\215$\306$\377UR\332\353\354\2654\3660\322DV\017\017j\226\352\242\3222\212i\017\035\372X\275\200g\021\213\337\n\305`l\222F\342\315\260j\300\273\273\226<\330\320\315\304\032\026\021c$RD\006{7~+B\n\177\244\237\232R\037\257_\377?i\276\313}{2\244w\373W\303\205\005\224\3064)l\321\252\n\257\341A\212\271WF\036\370\213CA\246F%\204\032\030\333\032LV:\003\022\007\303\253+|#.\205\211\022\331\202\210c#dk\335\337\332\177\032\013\355\224\274Tc\304^+\003\334\277U=C\024\203g\263B\255\026l\3016z\215\014q\014\304M\r\220\314\004\211\224)\307\221\204\301Nb\031\263\007\031]\231\215[\214Ai\221\023\365'\266\330\250,\305l\365\3661\224\277\207\013\244Z\311\310,\240\265\265\214\224\3367\253\251n\r`d\240\202\373\177s\364z\234\255\236\303\375\207\357\215\231\022F\322\373}\262\203\325\006(\3008\305\020\225\210\030\233\377[\347\251\324\2227@\230C y\302ED\032%1T\374\013\031\001\222\213/5\022\304\212\326\245\274\214\340\207\014(\232\030X\311\271\262F*\361w\312\334\005\212\361\376/\322\227\300v\324\003\326\025?Y>\014lG\254\304\226\306R\r\270\230\374\037\205\272\253\336g1[\343\300\365\237\376\3532\205\226[v\345\324\267\016\315&\315\256\222 \227\223\203\226433\361\206\002\200\256T\023a\253t\3004\242\267\212)R\037\262p\344A,\231\265\323\220oh\n \317\307\356{\361\367\217\257\357\rQ\372\024\246\"}\212\260|e\331X\277p\340_\032c\374\271\262\3773\355\0040S\302\321\374h\016\337\362\037\352\344\203X[\001\001\261\204\203\267\016\311u\r\301\026#\306i4\250D\2369\213\34280\213/\376?\322\225\226\252\240\314mE\367\021-\373\0047\363\211]\206\202z1N\002\316\372\300[\255\273U\245\247\2638\026\225\262\230\244\302\022\253\374\177\214\362\317\311\372MH\375\332\300\276\212?\010}\252!|\373n\354G\022\267unJ\\O\301\216\370\177C\005\361\230\264\320\034\0267Ft`\244\303\000~\252\240\253\222\024\342\\\360\232\242B\272\334\265\253\006v\027kn\241\204\251g$\013\206i\225\033\"(;_!21\3315\232j\246\266\0145\304\231\250-\223\351A\255\252LL\010%\344\220\214\373?d\223\341\376\367\342\375_\231n\252\t\361\007\304""\024Ih\204\332?\326\306\222\331\317\310G\274\305\303\207\272\2325\326\314\022=\335Y\034\333\216\230H\033H\354\334u\356\255=et&\\Q\304\224\302n$-\226\020R\337\214l\260cX\234M\024\035`B\226\262\010\003\244\204\306q\336\263]\263\266\034\303u\303\300\335\031\000m\251\242\216\206q\250\274fa\343\267\032\211\337\332\374G\334\374\007\337~\341\000\264\373\2677K\346\037\260\310\272\342\203\025~\365\023\357\365bT\356\236\357\3739\243\265F?\013\377I\353\030p;.\352\030f\367\272\206c\277\275\241\327\001&\273)B}\247\246l\322ZF \322\214\300:\323/.\"\307\301\266#t\261UWU\3046\211R/}\225\205\275f[\225\301\235\254\362\032mw\303\2049\376\217\377\275\357\305\356\236\367\275g\372\317y\375_\003\330\361'\033A\2665\024\317\305s\303\324\237\007\001A!\316\034 ]\363L\211\370!\327\373^\351\270@\255\273\300\031U\t\223Y\014\351J%\307\222%\237\225\034S5 \003K\250\357$\355\032q\307\240\247\226\224\311I\342B87s\326\332;\257\324\377\264\257\357\017\307\362/\305\357~1\367\013%\032_\264\241\3219\273\334Dp?fv\245\325\202\206r\350\263\217\224=\254\256\340i\200\354h\337\034\327\"u\353\203{cq\331\227\2164\304Z+\207\323*\3547f\3341'$\261\313J\3353\017.D8?\006AI\231t\244n\233\276\031\203x\343D\034\350n\375\250\240\201\242\332\265\214\327\016\014\223t \026\0100\303\307\271\334\350g\355\357t\177\345g\275\320\264\316Yb:)\317\361kn\032\2564\345\341\"\225(:\254V%\2766n\304\250v\212\213c*?\275\313\245\366\227\307\3175\022|\214\240\262l\004N\324\023\002d\335\344\235?;\025\250;v\354x\226\221\371\201\203\300\237\273\214\334\210r\245d\367\\\312d\343r\315\316\363\241\306\254B<C\016\033\007\231\357\332\330\244P\037\017\303\360\257\203lz\375\177'\262\306x<Mh#\365\335q\272\257\007\357\253Z\223n5,\343\274\322\355d\353\236UR\206\314i\263\225Q9\004U\326\202\024J\341\256Y\217x\240\266\330M\024\350\020\317\317\207%\264\263n\331\335\316\220\321g1\3350\315\035\230{M\317A\237\345#4&\204\305\213\276;[\"\370v\234T\203\262\260^M\343%\364x\2272ZZ\370\313\337\346`\374\336\216\236\230\256?\007awr\237\207\263\313Z1Y\030\031X\0106\353""\2525\340KS<\216\263\261\243\256\267\r\344M\203,\212\306P\233\274\303\302X\221R\326\233\2519\323\265\014\277+nq\232v\374\264\2731+O\304r.\251\332y\260\331.\302F\370\223Zp\264\233\023\367\202\005\251\252G\177\234O\363\365\364E\340M_\177\300\377\205\230\313}r\276\010E8#\206\363az\357-l\343m\301\312\2720\0348\033\224\273\006\206\036\206~k{m\010\306e\023\r\212\227\3775H|Y\202\021\027o%\227\020-\273\210\255\234\212\312G\006&\210\322\214J\346\366l\261`\367U/\305\232A|\032SG\013\362\2610\300\257\021\370WgB\235\214\302i\222\227\210k\257\301\017\017d\327\301\2716\177\336\320_O\271\000.\203.\252\201P ]\375\331\r\330\366\271\265\027\014\356\202\362\007\346\247\356?\005T\020Ws\274\035R\332\320\032\255X\244L\314\220\r\220\355\233\016\232\316\325\\xs\222M\243\223O\312\"\030:C~q\021\257\362d\245\200\202^\016\367y\307\016\374\212V\213\361\343\026x\374x+\255\212\232J\234\2121\214c\3700\024x\307F\215\267\270\347\314%\037\005\214y\240\316aq\340QP1d\206\036\n\214\177\000\231\267\365^\264`Q:\023\033`\264\204\230fq\014:1\335w\017\317\242y\333\331\371\334l\343\312\200t\352\316\316\023\034C\2049\207\367O\307\371?\263\232\376Y?4p\253\025\362Z\312|\220>H|r\004S\343\217\347\335\306\326I\324\251\207\307\303\013\367\242\347\325\362\014\231\350T\270yM\275\016\233O\276\244\324\263\226\016\307d\000\350\030\344\\\016u\024-\343\035R[\263\0333\014\013(su\266k\214\317\261 \306\274\007\177\245\230\370\354\217\262\274\207\203\263\002\321jv8^\324P\313h 0\214i\231F\245x\257f%\252\374\251`\272*\355\221\243<\005A\201\246*\272\214\204Pc\2561\023\204\260\361\354R\326^\305\002V\321N%\271*\235e\033\360-\014y\026\361n\321\006\212I\024y\031\n\261m\336\347\374S\315\354\370\375\216\325i\227\346U6\310\246o\220\013\035$\231\220\203\362\022\341\254\374\024\177m\027\277\313\034\361w\005\321%\264\276\004?B(B\374\253;Dm\244\251\2059\025\000\340\214\244DM\334\311\250\220\033l^\013{\323\006\251\024F\034\005Sv#-\025\310\2048\217\016\224\343\265\211sw;\255w\232\037Qk\301}]\252\303\235)\301\257\013>K\020xZ\335\370_\0012\260""\034\216F\034\220SN\337\222\"\224\263\242D\026FDVA=\254\223T\320Z5H\224\004BX\330\302(w\204&\332\377\311\255\214pd\032k&!:\022a#\205\270\374\233\014\216\225\3429Qh\364\236\367\266/\353\370\031D\273~F\207=_\223\344\206\010d\020\231&=\215\231\262v\340\211\021\265\021\253\234_\"/7E\036\035\303\003M2\367\301\304\351\260\300TV\301,\r\307\324UD\310\336(\"UL\215\002\340UU2\216\337)\355\367}\331=\345\033\\\322J\n\3470\241\323\236\256\013\252\367\357\331\273K\241\213\022.\236\001\205\312\370\241r1$F\365\364\031\375\232\356E\234\361j-\347\205]\246\332j#x\307\035]4\202n\r;\003E\351\216e\270\301\344\333\341\223\005\273\002@\020\230\312\321\274\243q\367;\276\372c^\3775\222\307gy\243\361\235\356\222$\216\203l\010\2437\010@\306zl\027\257\326;{\014k\216\327\273i\034\330\354\361\330n=\203\201\002\010\342\310\031c)\371\357\314\006\023\331\202Z\2306-\360\340\013\250mrb\223k\203\313\241\2611l\320\243J5F\204\313j\252\270\215\361\350\367[\\\357\271N{\336N\377I\317GScH\310\032\330\330\357Dw\314R\302]1\245V\032\351I&\026\272L\262\242\276>e\216\305\\3\211\220\230\016\317\025-\306\303\010\355\276H\345\276z\241\255\022\320!\212\206s\343\034\001\310G~\342g;\246`\3478\370\1772\367\275N\224@\222f\365/\224@z\207\364\277\3038\036\277\223\3422\315\264\271\311\214\265\361\277>\312b\021\323\016\331\2614\255\010\002.g\212\350\217\221\264\3734\261|\206\366\301\026\r\211\232\0233\314w\360\307k\";~/\306t>\357E\235\342\202uy,\257d]-%\260=\272C\252\240uk\350d\332\366&#\242\323\332\\e\336\332\242K\222Y\331\261\231J\3711\236\204,Hv\037\000\024\326\314SCg\224'\216\325h\340\374;~nn\373\346}\351J\272\211\344\377\347\207\303\230`Z\374\255\001k\344\374\234D\251?-\032Eq\273\0334h\346Y>\351n\215Z\\&\327\262\235\233\025h\320\312\341\004\252\314\026\206\260i\031\344\2226E\320:b\215\032lc\222\364:\217\265\272\001\346\273S\025\335\347\346]/\276\373\347T\020\324\373\247[\0145\235\032\247\264\371\004\336\2746Z\230\330\242\346J\247\327\256\314h\310\316\306\246\t\016\010h-v\254\255\020\344\0256\2228\232\341\023\022\252""\205\300keQ>\305\236\031}\336n\216\226w\342\352]~/]\035^\017\031\0349\311\317%\361\225\371g\363tT\032\347\363KH\332L-\322.\313e\332\014lq7\234\220\242\360@\241\321\010W.\n\257\226\320\244\341\303{\335#\010L\232\336\201\025\330\271\355]e*\327\233\323\351_\027\253\331\354H\366\177X\223\240\201#\0030s\374dC:\032\264D\237\343\177\225W\344\307k\342\234\"I\324\010\326\006\316-a\344\311\305\243\256\344\0346s\307\342p\253S\217(S5xhk\217\306\340Z\\\207!\257+xts\365\276\217\344~\n0u\364\325@>\330|\014\352\263\301\221\221\334'\207n4\336G\014\031\343\327\t)q2v\232\303K&\224cs=\244?*9\263\277q9\2611\315\3342\006\341P\212\036Z\241\216\032\035\033\340\362\236\215-\262\270\341E\317\322tsu\245\340\365z\337}\226\366\302\233\025;\031t`\256\277\250\365\341/mQ\300\205\305Q\202\306\346\016]tQ\303\265)\206\214\306Xf\266[\315\026\267\333aEB\304nM\344\025\023\025\254\265\202\014\034\353\354\014F\264\371\371\216\216\276\236\302\356\276\373\235H\262\317\253i\227E\275\2746\314\303\335L\267\263\3435\200\215-/\311\273\252\341\026\2059\253\034\244\262 (\2263.) q\335[\234\313J\324\303\241\026;\220\361\371(\303W\302?\303\337\373\376\277\245\360\315'\370'\323\354\251\320{\021E\226\314Bg\203\342\305\243f0\343\310P&\366|\216\3074n\037i\312\022\317\220\232\023\024U\303\010\204\316\316\221\275\t\220\202L\256#\344\343_\027\317\374\177\217\337\367\277\003\302\257\204O\354\317\311\214\366|Dk\037\217^\006\354\321|\351\276>\265q\\\251\234\237\364\365M\305\216?\260\303CN\252G\2338\025\242\214\006s\002\003\304\236V\321<\254p\234\241~\347\257\334\367\3475\303\352\372SQ\370b\376\032w\242=:\250\312\226\336\311_\020\355\034QSy3-pBs\210hfY/\354a\03248>\013 }\304\r\217\274\234\225\220|N\025\254w\366^\361\337\367'\223\234\266\325\375\362b\374\374\024s+\272\207wFI\322\\T\314\341Gd.S\014\342M\261+\244\213\205\315\243\200\360\370m\225F#zq*\\&\335]\346|C\273\276${\026-{'\203\336\367\233\341\375\037y\243\336\177]\374?S\327\352r\317M\241\370\004\037\024Bm\247\340n\255\311g\351\314\320\343\324<W9\\\036\2215Hq\302b\271n\235""\232@[\314s\224\231\214\334\347\366\227\2305=\376\357vvy\020\035\316c\230\255D\035\3532\371\373\373S\343V\267\300\362\270]<\026\334\2435\305\220\267\353\214\236\332wn\376\276.\273x'\227\247\256\271\314\"\357\323\370\375\357\207\323\352+\323\364\327\277\352\334\021'\253\3425W'\305\207,\216\252\257\n\377\026q&\250\241\201.2q94PS\033A\211\271\001\356\215\336\316\253\314\017o\233\236twW7y\377G\365z}m\352nDm\337\327\177\243\263\265\016q{\341\365\323\256\024.\343\353\213\036\246\027~\270\316\265\267\365\207\370z~\017\304|>\377\247\3415\353\177W\366\242\323d\222\336\246%\367\034\034\276\221\305\026\334\375\216\033\014\263\030\216\324\317\307HV^F\340\355\3571\352\377\017\177\335r!|\036\374\373\307\276\357\351=;\n\235M\021\376\321\270Q\306\267\314\\\347\353\\\330k=8\242x\233+8\235\303\335g\267\356}[\367\335\363{\307\215\014\256\346\372;\2707\\\327\021\035\374=\355\250x>\2117\037\002a\322\362\252\352\016\341t\036R\003\217\267\356\007q\363\367k\335X\277&\021>\361~\237\276\377\tT\366\263K,\217T9\265\352\223\\\316\356=]\216\304\2334\271w\214\343\257\213\272\356U{\276\357\3707\251~y\370~\023\340\365z\275|N\357\\~\206\337\r\037\240\373\335`C_\261\251\252\370\344*\252z\216\237\234\353\245\317\305\360z\177\037\263\325>\317|\365\372}f?\256w\270+\342\3469\275\306\333\372}\212\321\323\225E\261\243\330\215\323qD\357H\354\272\370O\177\324\234\366z\244\365\374G\337\317\317\367\357=E\373\025\332\267\311\277Z\324n'}Q\234\273\221\301\255\344\353\335\077\077\257\340\374~\303\331\354v\017\346\037=t\217\211A\024\316\270\365z\330\260\223\370\247\254\334h\303\250\327\256\265\220C\265\355\234\375\337\254\312\367\374~>\203&\272\027W\177[\276\034\021\321\255\272\207\007\277\330)\201C\373\004\270\210\334\243\252\3669\033\233\354\371\356\376t|'\304\275\217\367\023\372\376<\365\374Z>'\374\374\236\306\222\252'\356\311\314\234o\263\362y\275\357\213\337\373\277\002\364\372~\032^\227\370\267\371Z(\340=D\277\263\2267\314\376\177d\360\307;\271u3\361\367\177_\307\370\376(\366/\335\217e\237q\222\036=y\353\374""\276\264j\330\365\317\306\347I\220\365\247\341\316\335\034|\036\237O\3609\354\230\370=\377\336\217g\257[\3655jG\261\275CQ']\025\276\257~<Ok\332\367\237\271=\273\367Ow\352\346\237\332\276\367>\263\3349\222\315\363\351\272\345\352\370\365+\376\377w\335\370#\361\372Ox\370O\337\237\204\265\213\356\2151\360|9\270\344\336\364\351\234\276\\\371\345\300\345^\317\263\372;\215\235\307\356c\335\3176h\364m\354\024s\367\0002\366\261\231g\021\037\275\365/\257\351o\253\364\375\177g\354o\237\365>\264\032\037i$\0362\256\345'\352+~\276/\244\270\357\221\274\217\372uT\234\374\025\314T\276C\325\334\262R!Jg\241\352\034&\223\322N\377\277\023X\2506\325g\351\3151\263i\207[\354\344\225*\330\352\252\237\330\017I\304\365>?\311\340\017\307\372T\347\032j\226\211TQ#\0300\220d\222&\224\313EIRE\253\341\313/\363\337\226\256_w]S=\320\343rG\021F\374\257\335~\2177\037'W\313\255ui\301h\255\025_\202\265o\331{\337>\345\331]..\233 \352y\337\357\n\251TI\n$\374\007x\037\301\365\322\220>\354@=\347\255\375\357\241\300\213\342{\014R\251Z{G\003\275\312\221\2010\216F\002\224\215\246\017\263\007\371aOp\345\367H\200\246\237J;\321\371u\215\206\3768\037\022\006\315C\276\026}\325\325\300\344\351~\372n\364\037j.~0\375\276\325\371\375\027X\350\017\243\336\251\257l\373-\237\273\317w]\0274f\307\305\364\032\376\375\265\314\301\257\373\227\241\255\214\333\205\255\222\335\335\307\010o\263\347\366\375M\372\032\366\352?\017\3410ye>\362\362\347U\333x>\037\212?mof\265\177\275\374\007\033\251\271\363\374\247\253\343\377\241\223\321\325\213\375\273\310f\214\237\301\232g\376\022Bh\263\237\301\215\036#h\374o\332u\274(\355Y\270W\203\352\372\037h\241\004\372_\003-\373\014\313(\353\2521\227\013\177+\317_,\352\237\355\376\343\256O\010~\232\305\230\257:\217\223\324\317:\036\207Wo\301\237\242\317\317]\272\335\326\036=+\374\335\377\244\227\314=\216\251\037\256\327KW\325\013\307\274:\034\201\331\340H\3604A\237\331\003\361H\333\373\355Of\240u4\262\324p3\017\261\374G\273?v\t\360Am\022}\352j\022|?\326\375\274-\217\275\375}\177\322Z\203\353""\020\372\277\226\206\276\034Sh\306kD\355\277\263\341>\037S\325\240*\342\266y?\314\205\351\260?\261\201\366o\333\2673\367'\265\007\337\210\225\373\262\216\t\354\306\021Y\354\357C\305\023\305\024\361\344)\202%(\377\330S\341P\367Q?B\277\276)\372\224<\252x\220\334\000\332IeK\030\217\361\027\336\n\352\016D}\307\304\203\330\036\221{\241\374\321\324\034\374_7\263k\320f_\257/\374~\306a\217\317\265\2656\306\314\273\262\272m\273\342(>MD$\350\311\365M%\325UUfe\313\304\375l\254\373\321\373\\\352\317\341~\335\277\316\217D\275\276\331\217\004\222\216\376\003\273\025U\027\375\214\006\244\020\030\206\037\022\275T\032}?L_\331+VL\032\325E2\257-1Xn\326\013$D\225\024j\007\341>5\223\2110BO\212\014\204\367j!\256\325c\317\276\355\242\364F\243\035#K\177f&\262\343\203F\357(M\231\0066\030Ok5\030\276E(\032\326\226\263\251\223\354f\342qh\022%\001\342\375\311\302\261\231\204,\032\336\270*\245\352e=J\265]\276\302&\022\327\225\232\324\274<=K\273\254U\372\261\343z\">\\\347\363~\213\311\216!\034\225\335v\217\265\307|\343z\243-\352\325.\323\233>j6\247tN\007OAj\327\004$\332\326\312!*\343_.'\r\301Y\236\212\265\330\311\244\306/\251\305%\210\207\036\231\261\224\331d\31334\340\367\305]\023V\360>\246'\333\363\361\265\316\033m!%o\232\273\252h\177>\226M\020\262\263J\241^]\227W\014\360TH\265\036\213\035\037\347\312\236\334\3536Z{\264\355t=N0\3153P\213\212\252?V.ps$\304D\010\324k\334x \221]\322\231t\372\036\330\315\312c\2467Y\226\326\007\243\014\322d\232\304WP\027\217$\323N3\254R\236\226\245\312\260 \213\036\347\364\337\177\371c[H\343\341\226l\264U\275L\024\243mSdZ\246a\313K\t\252\221<S=\311%\335\246\244=T\341\205\263\314J\206\240\241\022\362T\311u\374\361)\230\377Jf*\n\303+\371 \335\3448\225\343\316QQ\"\371%S\030&\312*2\233\233k\323O\357NV\263E\020\350U\247\271O.\300\222L$k\t\232b,\314\261$\311a\214\031S\004\376\356cF\241\364\222\323\032V\256Y\2215Y6\025\336(\245v\233\251\031Un\240\361\222\0321\250\322\261\246\350\204\316T\277\313\312\203OO_\245\364\177\200\371\231\3221tru0\224u\327\243\372f\022)\364^i\246PO""5\315\352\262\035\224<\032!O\317\214\241\345[A.\321\326\020\321-\025.\211\201(r,k8\314\273\262\334X\324\016\261\262\225\316&\261\254\266\034\"\243\002L\307\261\232S7\322w\277k\365\276\247\322\243\\\006\363\335\271jT\260\250\327j\332\252\321Y\347\371\275\177g\357\363\r\335\217:~\315\r\270OPg\323\375\357\006\255\317!\315\006\345\2676I4\215\324\025\224V~\326\207\326\223\274Z/\030&i2\230\251\230)\265\031O\355E\2531\363\"j5q\023\027\206\237/\253-Z\263\301\255\0248M\034%\205\243e5\251wk\337\215\342&\260\225\364\253T\312^-\264V\356\336\007m\"\240\302\032_\351\376\276\252R\322\336\215\376\334E\317\n\016\346\376m\357\204\322\310\320H\322&\302\033{h\217\322\303\353\327\3534\271\\J\367\277\034e\333\257+P\234\344\324\017\364\326%{\337%\207B\211\024s\274\353\257\034\273{5\367\034\037d\332\326\371\204o/{\302W\003\375\333\310s\247g,\352\271c\357\372\267\333\225\377\222SX'\237\215\322Z\231\355\301j\364\325\245\223cwQ\376\345\2735\273\243F\343\336v\357\352\321\271\261\265\3265\331<Lf\347?/_\177\343x\307\236\235\251F\200\235=\020\251\010[\333U\302\374\354c\035\277\212\3137\221\3638\307\371\244(V\234B/qfr\257\353\357V\211\373\227(\237\255\273\212(\375X97\344_b\266\212\201Z\360\212\372q\317\317\354\353\367.9~\352\016_\257\337\352\361$\365S\331\332*%\032\324<\376\336\261Ff\262\251:\227\267\1772\275\217\242\252\244\"n5\346ruq\t\255dn\007\247\036\215>'D\310\235\305Y\314\352\254V\"tX\236>=2\305\3643\243\333S\340\361\2762\215>.\215\350\342\032\034K\336\367\231\373\275\277\243\316\377W\030j\264\340mx\253}\275\370\254d\306\216\035\267\r/\210_B\321\364#\354\254k^\347H\372?[\354w\265\234\355\244\204\342\036\\\2218\230\352&ev{Oy\030\251\357\025\300\361P\343\206[\014\311\\W\317s&\216\2658\224|\254\247\251J\315\323\306\262MM{\237.\246\266\332\312\345\317\232\216\026P\220\2439k\220r\235\367\231\212\t\200\221\335\315\212\330U\177S=\3133\350)\341}\003\346\376\277\316\347:\357\314\034Pwf\270\347\346\375]\r\263\030\260\336\312\327\350\205\023\364\262\232'\350D(\311L|!;Q\250\355B\273\237B\203\343R\022""\303h,qt\034\233\275\347y\337\335f\307\336\352\370\t\373>o:)O\242Q\230C\314\222\217h\272\247N\251'\263\366_Z\277\363N|\352+\347v\326\350\372\2747c|\257\245\235\246~\256;\357\3717h\253\301\242\212M\356Wa\241\236\013\227\366\303\313\211j\014\266\212\334u\307\352\270e\360A#\r /\264I\0178\200\331\266\203\014\005\032-\\\305\303v\243Ic\020\215\013\r<\300J\325#\253\304\006m\006;a\366^\0325\2234j\315Y\242\314D\373\017\305\273$\027\034\\\312\302\034\205\300\263)\327\322\220\373\t\267\257\247\327n,\3538x\367\271=\223\355\364\311\030\207\337w\266\203\034\235\036\357\321\370q\345\240\317\203c\272\037t\034\\\373\257\306\316\031M\274u\261\303\377\342\356H\247\n\022\022\356\363\021\240";
    PyObject *data = __Pyx_DecompressString(cstring, 28647, 2);
    if (unlikely(!data)) __PYX_ERR(0, 1, __pyx_L1_error)
    const char* const bytes = __Pyx_PyBytes_AsString(data);
    #if !CYTHON_ASSUME_SAFE_MACROS
    if (likely(bytes)); else { Py_DECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) }
    #endif
    #elif (CYTHON_COMPRESS_STRINGS) != 0 /* compression: zlib (32150 bytes) */
const char* const cstring = "x\332\344\275\311{\023\327\2630\034\023\2228\201\004\014f&\211\314d \216s\235\020 \204\220+\017\030'\236' \223~m\251m7\310\222\254\226<d\272Y\262\364RK-\275\324RK-\265\354\245\226\376\023\370\023\336\032\316\330\3352\020\270\337\373>\317\307\203\325\347\324\031\372\214u\252\352TU\337I$z\276K|\225\314d\274\334J\"\235w\227\227\275\264\347\346J~\242\224O\\\366\001\224\363KE\307C\210\347'r\371R\302[+d\3355\310\343f\372\223\331l\"\343A\304\367 c\242Pt\323.U\245\200\211\313\231\304Z\331/%\226\334\204\227\313\270[n&\341\3442T\223\237\365 {\262\270R\306\352\022\275\356V\241\330\233Xu\340U\271t\276\010\225\225\022\245\355\202\333\227\200\024\210@\321\336\021\314\323\227\350\035us\"\230/&z'\234R\321\333\022\200\025\250\372\203\004\374K\226\000\272T.\271>E?W\377(\352\227\234R\331\277\003\317\"\305\361\337\034\301\022\371\345Di\325\205\356\344\227\240\253\211\253\371B\311[s\262\t?\237-\227\260S\313\371r.\323\007\315\\v\035\337\203L\320\304R\272\377\032UT\312\227\234l\nJ\270\211;\211\345l\336)\251\372\3471)AI>\364\321M\254\3453n6\261\t]N\027]\007z\310M\313g7`\024\251\216H\025T\270\200\003&\262\231m\245l0\r/Y\003tEg\246\014\320\212\314\313\025\0249)5\235/l\277\\)\221S\264\223\332\234\3129X\312\234\207I\200\340,\304\364\312\315\244^\246\234\310k\325\220K\345`\270a\312a9\353\346\301\340\345\312kKn\021\013R\006\\n\331|\021J{9\032\334\245\242\223K\257~\016\353\366\363%\234\371D\251\350\272\242J\271&\374\024-\n\273r]1%\252\005\304\013r\331+\372%UAx\334\362KO`\315{\033nb\303\311\226\251[T T\225\030\033\\\237\251%nAh\374\261\003.\224\343L\t\356\001UBy2\345\027\226\304,\221r+N!\256\000\200\241Pi\323usba\322[q\317\353j|\263\325\324\000\0305w\245\350d\343\252\344|\237Sq\231O\214\376\206S\364\333\r9\244y\016L\276/\247\2216\233(\270\344\345\234\342\366\276\3459\313\376\325Ps\334\342\276\365\210</\250\010\260*\240\336\322\313\325(2\277\\\325\200\303K^\256\234/\373\373V\252\263\355_\235\336\207\2574\370zK\306W\366\006Z\371\242W\274\306\234\277\250\352\327Z\007/\254\374\315\256\215\370\327\2559""[\264\033\361\304oW\267\310cS\005q\233\302+y/\250J\344\211\253\352E\303\361\232-}\211\205\350\377\233f\353\332\006\035\237\320\265s\375\372\226\"~\ny\337Cl\336\227p\350\200\201\367\021}\004TU\321]\316\027\327\312Y<\377\221\356\362\323^\241\037\262\\\335J\\\347H6\277r\325\271v\355[\242m.\257\014\226\227\227qf=w3\221\311\273L\227A\201<\274\027\232\345\301\0316\344\344\340\270\315n\013\272\"\341$\226\270Pi\325)\341Ki#\255\320F\202\016\254\271k\371\342v\277*\345\227\013\205|\261d\365s\323+\255&z\357~\207\344\327\275\357\004\345\365\335w\275X\252\027\336\217\307\024\276\312,\003}]\312\347\263\256\223\363\373?\370`l9\261\235/\003\271\003\264\000\364\323\311\000-\230\200\263u\005\372\255KI\362\013\007\005\3073\273\352'\356~g\216\031\304\212\253\376\007X\327\252\003\007$\324U\206\256\027\234\"P\031\253\256\357\021\371\272\004=\177J5Mo\227V\241\230\277\235+9[Xo\"\275\no\242\267\256A)\317\307\245d\274\353j\344e\327>\200^\3420;\000]\311a\375H\000}N\243\305\243\207\323!2\211A\337,z%\334z\"\003O\330r1\277\266_\331\025\267\244\tM&\250T\024:6\231\317\2718\362\223\013\343\343\242\004\321\325<=H.'z\005\334\207\232\230v\300\301\206\027\273\256\246\033\372E&\030\363\234O+G\267\204\353\202j=\242\3015\205?\204\223\344\320\024-C\355\264t4\235\002\303\317t=/\0367\3233\224/g\231\326_\206\332\022\253n\031\306\272\344\245\023w/\373\367\206\241@\321\331\356\0376y\005\301d\360\233u\312\232\347\2579\24546\nI\272\rX\342H\333\271\033\036.`\240\302Ke\230/\346,p\214\005\340\3160\322\014\203Hr\214\254\025J\260\256W\035\030\240R\031X\030^\007\2642\372\251!#\222\311X\024\030\223Y\211\010\030G?\013\335\300u\332&\253\223\030\020\275\353\203}W\242D\007\223\2138\202We \341dq!l\023\317\223\315o\302\366$\362(6\035\006\325L\277z\331\277v\237\350\30191\243\2430\0079s\037Q#%\327Vr\213\330\320\376\227\3125F+*_\246>2\305\226\270\n(\325\207)\2726\026]\027\366\264\217\345`\325y\214_M\336-\335K(\003\306\035\027\235\340\324df\236\031\230^z\315\370t\177\2660N\315\311\376\334\233J\245\235l6\225B\314\003dy9\355\352""\220S\302\260\223N\227\031\203b\014\032\356\022\227\010\211\277\336\235\240u\275\210\353\032z3\341\302\214\303\306\347\325\017\210\031\253fR\037\226\366\212\233\230\034N\342\304\375\234+\364\023)z\363\306\257\223\371\304\330\330\034\364\004\206\312\357O<\006\274\223s\031W3I\216u\300\306\315AsK.d\275z\r{Z,\363\311\340y>.\177\267\010\334o\032\266\0315 O\270\020V \234\017\200\020\240\020\347I\244\263\200b\372\341\225j\327;\033\216\227\305i\201\275\237\005\264\345\024\215M\267\\\316\245\211\245\210\331~\223\264\354x|\001\315\001s\004\343\222@\266\tR\\>\n\206\0307\302\230\303\361\345-Q\017\360\000\200c$]\342\363\"\227\230\036\231\376\374\306\355\033\264\277\212.\276\332\207\327,QS]\342\227\227\312^\266\204'!  \030\"\201\351\345(\025 \237Y\000F%G\350\t\207\247\227\246\302\301N\244\2408p\207\275b\377{\214\333\357;Y\337\355\237\214\241-\261=\233\256\267\262\n\355\221\007-V\351C\027\373\247\nX%\254\237\205\034<\177\206\265\336\227\230\307\235\317\301\376\376\376_\177\375u\312Z\3430\020\342\230\204\005\005\370_,\372iE2\014\351\263M\003\247\205\234\000\007VC%j\300\214\214\246\3220\241k9\215\255\240f\027\261\222\312\340f`\375\265O.\3467\343R\211\320!\034g7\204\260dbpjj|$9)\016\002\300#p\230\301\000\366\321\374\254\340\351y\331\357\237\3453X\341\235t\230\016Pg?\355`8\375#E\004\006\331tQ$\344.\343\351\3323746}\007\217xw\275\354!?]\310\226W`\221\240\274\203\016\005b)E\266\264ut.{Y\227\0224\201#\333\222\333o\027\364\323\024y\270\221\312>\nG`\225\245T\211\224.!\251\301m$\260\362\205R?,8\257\340\366\253\274\334*\267X\204\036C\346\361i\222\267\270\305\236P\202\227+\300\032\3128%G\244`\323\215\356QF\221\344\345\374\262\024\261I\242\300L\227d+\013\034H\220\346\026`\344\263\356\206\233\005\374\223\206\375\244\306u\255\r&sp[!\t\204\202\027Dk\022\217\300\301\211\213\332.^ta=\345H*\007\231\031W\300\372*g\221\370\313\2109\220{\213v9/\206\377\014\217\014.\214\316M\215\177W*\226\335\377\340>ust<\342\260f\334\245\362\212~\363\232\013\004W\016\316\360\376W\250.\343\371/W\337\035\030m%\254c$-""\372\210\247\2475\300BheH\362\220\032\243\031\243\226\251\321Xr\210\226&q\340\357n1O\324\202\203[\260\307\316X\316=\315\3457sf\001\361.l\367\n\235\266O\335m\334\037\3624\247&b+p\rb\027\215\002\032M\213\r%\210au\212\"\202\215\315\317\364\237z'\342\000{\243\031\245\030\031x\276\232q\354\235.\253*\025Ed\037\271\323z]`\212\017\355\362\226=\327\034g\026h\002i\355\341z\304\206!)Qr\374\247r\rr\357\341\r\313N\332\355OL\303\013a\355fy\213Q\223\201$%\311j\342s\261\221I\010\353\375\356\302\331\n\333\250\2043\013cC\005`\313\247\313E$\376\257^\343v!\345\355\312\026I\241\033\017\303\\\311-\300F\333N\210]C\263\253\210\233y\267\270\206\244\025\312\235\014\"\tV[&\013\203|\331\327\370\210Y\017\334i\022\373\300P\226\266\373\347\3258\246\235\002l$W\027A\246\313A\032G\034\312\210{\240\2474\022\272\230<\337\344\022p\000K\021\312FR\362\262oK,-\241\275@j\200\253\220b\304=\0028\272?a\0370\210\252\240\3434\005+9\224s\206k\304c\312oS\2058\304^T\tl\224v5\3401\026_\\\356a{\210\035)CDf\001\263\001!\221b\3019!\022\316\004\204\254\353\370\310\237\301\344\346L\021\216\3433\177\216\003O\305\240\222\360\244\351\023o\311\245\211\2234!.\247\324\334|rt$\001\310iqlr\264\237d\222\330\t\244>x8\274\0342\253\216\344\321\210\274a\n\002\227\360|^s\341\n\361\340\361\353\257\022\177\204\274+\266\2203\301r5hD\204OP_\231.\344\033\004\224\251/\010l\233\307U\005\347\022Q\357k\030\347C\216\251\036y>\367%\364\035\t\306\177\325\311}\tq\231b\346\261\322\201\024\316e\210\235\021`\315\366p\t\031\027\311\310\362\307\224\"r:\006\256)3\023\260o\356Hb\0371\306\"\013\354\332PA8\334\363+9\300\036\031IZ\322-\016\320\350\210\022`\031\336I,\344\024\341\314\310\234xi\023J\200\207\002\233\351\251\3543Nb\271\206\"\\\205\\<\177\374\225\340\377=\337%>\350\277\223\370\354\363\353_\\\277~\367\273{\337}\177\257\367Z_\342j\237\223!\376N\323\3721\325\022\256\327t\220!q\351\217+\336\206\323\271\354an\240\216pe\302Z\306M\364_[K.\262!>/F\330j\210o}\024\037\300@9xQ\207\342/\250i\311I?\245bb\025\343\005\237\276\032\224\250\010\252\362\220\032""\246\325+\253\006\366\0148\2417_\361\212[\202m\377&\353%:\014\033\353n\225\376W\352\315\026\376W\252-\370o\260\332\266+P\035c\022\2511El\255\370\304Uq43\370N\224\267\210\021)\306\346\221\254\207\315(\020\3433D\207\0147\2120\366\340\324\302\344\360\320\203\321\353\211\357\276#Q\231]h\210\260\366\310\226\223.\031\205\206\200Sz\224\034\232\337\267\220\235\277mVE9\230\331'\347\332\344\037\316\343\351\304\275\360\215\"\303S\023\355;1\262\341Z\365\217,\216L\266k;\037!*o\233\\\223\343\263\371M\243F\210O=l\223\327\316\371\n\371\366\033bI\252\275\260\245J\026\247\253^L\316\2063g<b\201\227\266\023\377\325\017\224\226E*\021a%\005+,\0134\344\326x\362\"\266\207\343=\353\n\316\322YJc\026\330`\351\247opwa\235.\320\017o\024\023\310J\337(\036\220\225\026\335\254\263\365\206\353\315\346\337\370\240\212\r(\210huZF\223\326\313N\246\010\304[\332X\001_\210#\345\013\207\304\0051)\331\202H\273k\\\245\32057\021\030\367\302`)N\277\227VBq\246\2155\275OK\316\020p\001\261/\230`\272\373Vh\226\330\267\227]\302\314\225\273\204,$\033\243xB\002\277\341\303X\261\2520\3340\264D^\223\250\021\331\001\027\366+r\010\210\334\035 \331\227K$)E\021\036\265.\201\262\033U\203 atE}\3465\020\326\227qW\212.\014T\006\257\277r\264\263\245t\201\231\021 \364\035dC{h\200d.\217h\365~\274\022\031\344\351\234+/\t\366Cl\231\214\213\352Lt'\307\nK\211l>\207\027\2529\022\302\364'DAdGdI\222\301:\345R\036y\001\034\276mq\353\262\271*\324!\326\200G\201:\030\037\323[ W\236^\323\277\222\026l\243\211\247H\252+F\r\t;\034.\301f1;\330\256\014\337G\204s\205\327\276\222\337\355\237\315f\036\000T|\331\222<\205}r\242\000A_\316\264\313\2536\242\235=q\025/\nV\010\241\243p\026\271F\240\307$\307\253u\315\360~\351\r/fKv\377\277X/-Z!_q\240K\314\232\026\267\373=\2377p\006\271;\0378\030\274\220\374\257\310\345U\326[\363\260\002\007\216\247\014\214\371Sx\021\211b<)yX+\300\310\n\216\221\244\026\3003\322\250\001\242\230\336\306\274S\205\022I[\014nZ\3441+\374\343/dbD\265\310W\255\255\341F\2202\244\375+\226IT\t\374\277\272\326\227\273\326w5\327W\270""\366\371=\210\024\256\275\004/5=;58>2\321N\376\271\204\327\351Z\230\000\rb\211|\273\374\355\020\347\332\213n\212\200\177by\002\320\026\034\000\006\004o\034'\312\331\222W\310zn\361*V\034B'w\022\005\034\\\227\006\304*\007\355\034\247\355\302\305\000\345d\334e\007E\261\251\024\337v\245R\211\014\337\347\302y\3669\354\311\r\324FH\245\322\250\230\220\002V.\301\371P0\341\207O\007u\254h\326\030Be\024\204\030\202\233r\316\207Xa\273?\225\206a\354_\303\276P^\201H\361\345\260\272\201*7\263\225\001\343\255Fr\010Q\304\275x\005\312<\240}\234\245~\000\353p\311)\371v\254\377\211\237\317\221L\262\337wK\254\251\361\206\267c\241\350\245Q\030Y|\352\370o\274Z\230\022\234\2157[\257\324\210\203a*8+\016\312\223\277Xs\266H\236\341\307\002\213\371|\t\023\336\370\320\345qJ\360\361\006kEI9j\343\222\272@,\007\352\331J\272(r\346}N\344\351\033\356\244Yg[T\355\273\331\345\376\224 \017M\274\301\3629\336\030\216\324F\341\255A\033\263\340\245\237\002\212]\341\n<\357\365\n\367q\010e\313\"\310\\\372\277\255\223I\307\177[:[\360\376uY\354\002\253\246\246WW^\257\026`\344^\273\202\224K\002\203\327\254&\347\277^\r\231\374\332k\217\206Z%2&u\017^\247\322\\\026\205\342\257W\005\234\206\257W\003c\334\327\253\343\265\273\001\025\274\201\265\"f\350u\027\356\206\363\357\206\243\230\376B]\216K\236\267\277\260\345\305&\244\313\245\2304\022G\026\313Y7\232\206\373`5\223-\306\244\224K\320\370(\234\320P\014\030\330\220(Ti\232E\223\324j\217&e\013Q\330\032q>Q8Y\n\304\265\223\351\22388\256\31488\237\325\371\2304<\005\335X8\034GQ0\351\212F\241n\301A\350]V\r\315XB\212(\214\205\270q\351\n\n\034\354\0320\010\271\025 \371$\267=\200\345\276$f\320#\206\356\262O\2060\306\235\240o_\304J\036\202N\247\036\326C\024\324\340U4\260\000\326\331Y\3013\371ZY]uIf\231\225\353\350\032\261?&\225\225\311\350\210guX\310d\\\001i-\020`\256|\327N\343kf\276\313\243\344;\320\025+\213%\257)\227\226?\277-u\220^N\"\263Y\304\033\027}s\017D-Rj>\353\223eU\006A\331Hh\362\376\374\310\354\370\364\370\324\324\264\010NN\r\217\210\340\364\370\302\344(G\200=\322""\231\246\347F\026\206\247TF\216\212\314\243\243\263#\243\311\371\221a\n\315\315\215-\216$\201]\033K.\314O\r\016&gg\307Ff\207\246&\027\347\247\306\007G\356O\315\216\214O\363\023\253\343\3204\224\303\324\311\241\007\023\311\331\037\007G\346\346!~\037\245\357\"<>616?86\231\234},\204\362Ix\3670\205\241\306\344#\021\236\037\033}0?2\t\261\331$\324\006O\306,\342\321\2578 \346zS)\235\200\232\250@*F\223\302WY!\270\273\345\225b@\260\201c\240\260*CPCxd\202\242\357\341k\251\020\020\031\266\030P\364\345\010\215\276\274\000\014\005\221\273a8\352\356,\305\245\020,\3328\t\246\203akP\241s\035j;\364\234\326n\3641\325\276\360k\223\340\225\332&\350~\333i\306\320\333\t\306\250F\023\2606}[d\004czh%F\273h$\303\354\016\n\022\025ww\\R\014|\322\335$H\010\274\010\353\304\200x\376,\264\013\270\227\\iP\035\246:\024\323n3-\332l\235j\335l\306\302\263\205Xp\301\217\001{\245X \016x\030NS\027\006\322\264\305\001\241\206!@\006C?\016=\030\033\037\036\232\032_\230\230\004\2244<6?65I\250\005b\367\307\307\206\3609\207\177\311\341\341\221a\2120\242\301 &\316\217M.L-@\226\205I\300\203C\323x=\tO@u\367\357\363\315\236q)h\004\243cl'F\006\231\223\333\025\333\247\004L\177r\305\325\221A\307\367|\266H\325@\300\364y3\272\244\303SKO\206P\n\254!\250\033\212#\250\000\013FvXj\"\342\371c\302\252nHPe\362\031\327\013\225\022\323\017\221\206\207\036\337\215X \2729\263!\371\302\266\005\310\2701\3452n\026\316\3110\010\215\240l\030_\225X0\226\235\206@x\327\026\001\025\374\010\210\250,\033\n\213:\002\000\224\033\201\321\250\0330\\\365\026\000& \003\375\\B\264\341\207Sr\221\276\001\260\000D\227\277\275\006\323TX\r\247\241I\212\233\331/G\244F\334]\021@h\\\304\201\024\201\205{\207\227w\026\000h\033\337.\306Tq\010\004TQ\010\222\267\033 \344J\026\014\311\331l\024\024\256\235\350Ii\257\"\237\361\353Y\244\304\256gN\223\266M\372^_\207\332\324)\323\342k\345T\230\027\331f\264\\6R<?\251\366\201\002\r\341\376q3\026lx;\347\254yi\0136\202k7\035\3128\306\226k\026\354\307\234S\200\215\372\324\002\262\004:\0064\017\247\230\r\006b\333\256p""\"\237\361\226=\271\345\024X)#Y\320\251\242\267\342\345B5L\013n(\324\372Yw-\277\021\251w\316E\":\234w\016\330\276\247@O'K\223\300\243\031I\205\222\321\000\177\210\370L\376\215\231C\t\217\316\037\2470\233J\010!\014\300\245h\302h\363\233\000\332{a@\270\024V\226.\001\335><2\tg\332\375\344\302\370\3740\020\314\217G\206\207\307\206'\247\346\357\217M\212\320,\320\317cs\311\301qHB\215\021:\370\206\247\036N>L\316\016\317\r/$\307\211\304\036\233\000\326`\021R\000p\037H}\240\3531H\307\350\360\302\354\330\344(s\027\034f\322\336\214\217\ra\026\004\230\352*V$:\220\341\344\310x\332\031\014j\312\207&>\036\032\233\036\231\235\005N\343\321\203\344\302\334<\260(#\217\306\346\271m\034\346@6\353\025\340\270$\235\030\372y\300W\335\024\306\315\305I\321\366Ip\244]\"\001\032\024\256\003\3117\210\351\210\240\3454\000\326\235\212Le3v\352l~S\205qO\251\010\234\310\024F|\240\002mZ\334\356\014\326\211$/\301\0036\004\342\3234\004D\312.\002\362J1 X\246!(.\357\020\010\327s\014\010\313n\025\212\362\346X>c\272\250S\242=\224i9T\271\315\002G\216\220\370:\332\225\327\030\235b|\331LAU\351}\330\037\370716\215{elpl|l\3761\007\307G\304\366\271?6;7?\316\264\344\360\3751\340e\357O\r-\314!\177\014\334\361\217\304\007#?<;2\202\177\363\300\332\316\335\237\235\232\230\033\232M\316\017=\030MN\323\346\203\347\302\3640r\342\243\203\222A\036}\200v;H\314R\310\204\316\216L\3406\036\035\037\224\320\005\025r\nB\231W<\242\343\242\023\"C#\223x<d\014\327\260\254\325\177\000\030e|\332h\321\003\267\\\304\277\350\213\0044\362\026\202\313\253z#\342\225\254\010,\026\025\307%\246\"\270\222\254\010\344\034\033\033\233\203\377\321F00\322\006\004\343F\305\235\352\213\310\034\360\315i\257 b\250bMA\324\337\330\236p\236\272cE\252\033\357\3201\301\363e\001\345\005\306\006\333\331}\375\002+\277\001\267\n\260\214R\005b{\246\222\342\372'\022-E\203\0300\016-\034\014\343\264\32400\206\254\222\\\347\020\232\202\323epxl\022X\256I\215y1,\002\363#\243#\263c(\205\302\265<&LH\177X\230\034\"&M.\315\361A!\356\031\037T\262\236\361\241\324\344\302""\004\224\036\202\265~\177\\-\371qc\201\215\033K\036\016\237\271\0218\244\246I\327q|\032\233\007\277\363\360f\332\205r+\216O\317\217\021,:l\004\213\214\027@\235\014\220\021Y\025\3609\004\310Z\005\020\004\347\022as\016\"\277\305!`\27680\347e\\\014e\201\334\201'`[Q\031\204D\035\310\350!u\347\225\2669F\234\336X.#\022\351\005\"\214j\001:4\353\210\022\300\260\241\315\314\032\307&i\320I\264\312\000h\315\242,\307\006\202fX\3252\353:Y\243\232Y\276\247\346\010\366\003k\363r\313\270\307\260\004P\233\320\206\373b\361\022`\314L\235\342[~\n\363\233\214\274\2714\017C\256\310\203\200\242m\234I\334\000Fo|\273U$\235\202'\331\363@v\266\010\236\230H\37605\213\002\307\251\207c\363?M\300\302]\230\230\030\231\240\005816\ti\200\201\307'\200bB\321&+/i\322/\034\017\323\341\221tI\215\307$\010\232<&EP\3461)\222>\217I\022TzL\n\323\340q\tH\205\307\3005-\036\223\250(\362\2304M\202\307$*B<&M\221\343qi\026Q\256\325\311l\3052;\006\033\225\304\374)RQI\245\366O\355\277\213\302\377\254\177\257\037\r\261#UCvw\335\254\243}\355\257P\263&$\030&\216I\333*\306\216\321\366\337X\231\313g\243\360\2418 \031\343G\301\200\353\342r\217/\215f\363KNl\212\261T\354\004\311\212E\323\000\223D\201\013m\337\261\320\356\035\013\355\336\201k~|:\004\334\300\205\271=\213x0\234\202\262T\322\236\244\237(~\227\340\010\212\027\t|\031\200+\002\346Jo\203p\342x<\270}\201\031\251\273(R\020\205\242\226\030\361\r\014#\321\026d\027\002j\001\314d\"\032\250*\005\317\027\311\244[@\263y\004\312\371V$\t\003g\306\207\234b\306cS7\033\216\002C\0132\354\371O\204e\234\005\037\201v\265KC\217\020i\274\301\264\2401\r\317\tleB\010\037\230\200)\273\232\271\251\271\2010\340K\013\360(\364bc(\312%\025\266\254\242\024T\243\252\030P\264_j5*\010l\020v\206\242 \323y\342\344u|\333\252\036\210\200a<K\2148\311\222\025\000\267\265\014\233o\2020\214\336S?\002\230\227[B\000\255\021\343\370\227f|>\017\357\224\200'e\03706V\265\024\001-H\320\nP\301x\"\000L\276>Kt\r\355]\t\310oN\272+sY\230r\263C\205\002,o\273U\006\350K\005\312n\243\370\003]\030\3001!\240\245\222\223^5""\331\371!\241\276\305\351\030\202\023&\375\324*\305\267\007@#\352F0H\r\246\212.\312\265\230F\275Y\232\211\222pi\"\341\331\364\320\252\227\315\214\370H\333\224\\\r\236d\005\000 t\362E\265\255\322\350\244\206\032l\304%\303o\200$\253/@HDD\260\200 \247t\335\230K\241\231\320R\246D\265r\2204u\nN\032\312\332\273P\322\254V\311\225\361U_\205g\335|\001\261>_\220k\260\231\005h\342U\177\330J\316o\316\206@x\225E\343\034\032!J\221\213M\306\302%\325)f\3014\252\220\020k\342\031\010m\017\327\006\240\230\214z\333p|a\311\216\205kY\210i\323B\244M\013\2416\345\327\neD\371~\tf\30702\220\311H#\225\323%\271\215P`3\356\024\341\334@\225\202\245|q5\237\317\314\241\331\312\252\314PV\313\206\017\037\\\236\026@\257^\025\277_\314\257\021ab\300\311#\022L\034\222mq\360\005\262\3557S\360\010\327k\214@@\250#\301\032\206B'\221\251\261J\353<\345\022\240L=p\342\322\207\312\241\216\214\204f\303K\225@\262s\"b\034(\360\247\266\270\270\014\032F\277\021\352\305\002(\t\\u\214e\000`lG\214\332{\026!\366\226\345\213%\273z\206\021\332\231c\227\252&\2346\226R-\221)\031\275\312\\v\340b\024\313\314\225\212\371\334\n\243+\001,\370^V\026G9\302\220\353eu\354~6/O+\212\002r\3241\246\247T\264$\333\275l\234h\034\266\332\261\234-\373\2531\270qYW\036kF\243\323\260:\035\243\201\300\001r5L\215!F\346\361\352\006\r\352%(\277\226*\224D\003\r/K\022\240\270i\005\020\215I\226\267\274\254\347\024\267U\367tZ\230\332\322)vf\277dl0\001\031w\235e\013\240\327\262\000\314\001\327\253\006P\302d\037E\234\024[\355\222^\001\267S\311\035\305+\274Y\264\030\360QmY/\030\314D\253a\016\265\356\205\235\201\256 \036\351c\002\366\241\350\352Z\340\360\236\305{\023\277d\200\200\334\261^E\344\231>\363\005\004\016\3150 \224\303\210\261\355\257\325K8\346G\320V\311Io\2330\342g\206\0105\000\235Y\202NZE\000\274\244\327/\312C\3203\316D\274\331\205\005\206j\3259/@\241\232$d6\237/YP6\010\210\214\246N2\261\2236\342\210-\240\214;\024t\324)\2500\n4\347\001;\030k\306\\\341\343\323\203c\271\215\244\242\333\024(\004\021\202$\023D\313e\010\310'\337\200\"\3556\354\224""\034\003\3042#\003\200\322\252P\036\030Jd\2524\304u6\\\243\336U#\254.\374BT4\246!\316\266)*\202n\272E{f&\234'\371\342\"\333\014\031\300-{\356'\274\\4\327\244\330r\376}\253\306\311A/g\255\327\311\310\326\230\264\2270FK\241\"x\006\273H\250\233@\240^\355X\262\200\213\321x\267\022\207\331\30369\266V\310\332o\3202\342H\336pc\342\247x\222\347\330\214k!\241\t\305Y6\343f$\364\352qo-f@'\263v\025\270\327\343_F\024\263\216\316\222r\253\001@B\204\316(\023\306\210\324\204X\335\212i\220yh\3067\204\234\250\204Zc\017*\306\222f\245\330Iy\314\014\206\332\210i\320\216\310)$\023x\332\275l$M\327\021\332|!\372\333\204\314\241J\252\t&\313?\023`\262\243tw\203r\016\263\257$\\\265cFb\266\234[q\355\r6\255|\304\343\255\210\001F\376\004q\233\324\037\n%\315:\333Q\310b$\233\275\347\221]\260\217\\\204\204\017T$)HVk\002 C\250\341\276[\316\344\343\366\307,;\002\263\3723Kn\317\234\\\311\234\371Y\003\247\031k\300\204\211C\306\004\215O\307e\014\341\177\200L\226\327\306P\231$k\275\004\371\025\341\021\313\363\327\314\2248pd\213\020\013n\307`=G\3210\2649\264\356\000b\215H\350\350\264\266\336\\\314\212 \211\227\035\263&\211\265\331Tt\336\005N8\204\267\321\001WX\230\206`\334\262\326\273\024\225\350\032\342/\033nRr\363\250\232\213\227\305|\354\230\2574\273\210\304Mh\232\240\226a/]2\343&\303\312\020^ii\223\236\262\240L\257\031I\342\262\305\004E\251\375(|\334i_\306\242\262B,,C|+b.\363\207\254\301nS.\253\216\037\332\310\253^\306\235*\227\nR\274\345\345,V\301\313!\321\032\342\256\274\\:[\316\330RO\0336\314V\256\372\004\265\223\323\372m\014V\232\242\026X^\341\330@\322\245\261@\342m\323\344\213\322~\241\322Y\260\240H\233Y\000u\215jA\205@\310\2021\346\014\2014\217\253@\371\202\005\340\2431\004\312:[\026D\363\355\362\216N\306\224\016\264\350\252\204\303QX,[\274\227\207\213\200\204\252\344\342J\0025\211\216\036\333$tdF\205\264h\315\363\361x\323I\030\033\035\261b\363f\314>*\0306n\345\037\267\362O\242\340\321\323\355E\330\264\360\245n\302~r\213y\031\327\357\327\357~P^q\027\321o\206\004\214\331\203\026i\230n\024\321""\275\2068\3033\232Ht\226\220\341\350\361\0137\032Us\331\017\236\275]0!\374\336p\347t\307\262\005o\024\330\202\020A\263\006\214\310p~2_J\256\254\024\025\306SPd\212\0343%\347n\212Fh|!}+\332\261\311\374\212\224-H\367\3702\006k\311bi\225.\247\021EyA\221\364\3732\256\300\362f2Q@F|\332\344\306\tb\247\333\357\322\266\301\261\300\037|\211}(\301:d$\202r\255\271\300\373h\223\024\242\270\331$\262H\226m\020\221\373\236\304AE\227m\243L\344X\324[\026\202h\362\257zTTh\322\325\263\200\334\276I\234\351\270j\023p_Es\377\372\342\312U5\314\217\021p\214\241\036\354\206\273\245s\344\363Y\343=>\312\007\340\260\nA\\y\014@ld\255\260\212\274\245\006\310;l\t\0103\260\002d\316\021\335\364\363\375\266\216\227\354\327\216\347W\226\325\240R<\267\342\2053M\240\233\\\265\\}\342\000C\000}\371-A\221\255\346G\350l?LP\333\363\021\232\r\025%v\320W\264\221\257\010f\327\000\230\344\252\251\344`@`\265\230\004\027\301\344m\273\204\210;vs\230Ce\200\"\200T\273\356r\241\215\324\3134\024\212M\323\256U\r \222\025R`M\000\261\2234\254X\022\347\212\000\340\262\325\304\010E\255\335\307\353:B\377\224\220(qs\306\205\201\t1\305\361\032\276\260\024\205X9\363Z\230HJ\342\3505\036\372\256\266P\251\270\255\302\345BF_\330j\001\205o\246\022\303\033\222]pJ\014]\270ab\"\322j\261\360\250\202\020\025k\203\345\350Rdb\314\214\351\245EQs\2252\300\234W\202\330U\207\261i\010\250\261)%\310\266M\262\365\340\344\310\303YTt\234$\355+\362!G?\321\273y\t\216\334\315s\202\220\036\"\007\246\000Br\246\342\343\253\276\016\263Z:2\014\n\006\354\032Y'\n#B\014\017\217\214\217\314\223\315\"i\215\221r\246PocE\315\241\2059\316\251\365\3360F\332D\030`\235\262\311\251I\000\317\213\010k\255\315\341\334\343_L_\031\032\355*\302Qf\235\3110\343\342K\010\261\256*BV\3762&ee2\256\227\233\204LF\353\233\264\353\230\234\246\317\243\014J\327\342:\037\031\350\312\030\347\262c\3212xwFa\251\032%\"Zw(\271\342x9A\022\213G\374 \265Q\263\227Ihg\215\227hf\034\325C\303q\\$\006\010\357\021\3148\222z\341x\250\010+\334\003\3114\246\235\201L\r\376 \324\020!\004\013\202\177\307""\320hljz~l\"9.\036c\363\217\247f\307F\307&\001R\230* \211\226/\312/\020H\325\227\351\344\354\374Xr|\032u\177\247\037$\347h\035R@\250\346S\030BS\367\247\247\306\307\346\036\240\332\375\324\324\2544\251\225\312\227*0k@\265\212><&\204Z?\272J\002\010\256b\3415IX\000\323/\352(s\010*\230~\234b\327\231#\223\303#\263s#\223\367\247\346\037O\217\264\001G\347\262}\306\310\334\252\254\264K\207\307f#\200}\2527\262\264\255x\010\272/\303\264\351\315\236(@\373\227\230Y\332\276\344\301\310\002L\347\004\016x\004\322\276j+O\333\272\205\"\256\331l\003\324\276v;S\333\352\307\247\206~4\353\226\361\366\025\0339\332\327:\r\013<9\021\212\356S\247\312\260O\225\2602\347\346\223\363\021\300~\325\352,m+\306\035a\216\200\214\267\257\326\310\321\266V\352\017\3541\330\306cs\261\300\366\365\207\263\355\377\222\271\221\371yc\345\231\260\027\274B\347j\377\006\302(\366\3326a\373\274\301\316\265\317\033\010oZ\365K\310~\265\033y\332\326\rMX\030\237\267c\355\353T\351\355\353\233z\310\250\335\\/\026p\237\332C\331\332\276\004F\2153F\000\355+7\263\264\257\030}\327[\221}*\024\311\373U6\2770g\307\366\255\216\323\243\365\2416A\241(\03615\250\204vE\265\342-\363Z\374\033S\223\204G+\022~Z\224;\271\020\300+E\000\020\262`\254\333`\000\220\252\210\000\250\024\312\374\3707\256\215\002\036\323F\366\031C\017nR\010@]7`|-m\203\250\225\006\200[\031\002\204+\022N\353\200\240#\315I\371\214k\275J\211i\277L\323\263\225/\340_l=\2056u\024\372\245\337:#\202}0\"4\312F\234\372#\342B\007\205#\334{#b\226T#!\342\005\261\270DT\330#\263F\3474*IA\373\266\267\340\017o\010R\223\356\026\260\354\313@\241\014O\001\236\035\031\236\035\031^\030\"\243\314\331\221\373\311\241\371\251\331\331\021e!F\3460\364\003\033yv\004P\033\340\242y \021\211r\003\314\301\2460\3232\004\224a\022\302\202\036\305\320\324\310}3\206\216\016T\224\271\036..\302\242\002\"n\3409;2=\367p\014\212@xnlX\332\333\260\354\231\177\243\263\244\340\221y\022)\354\262\210\365|\014\000\376Z\000\342$I\346A?qobp\314\2130Ay\344\263\242^)\024\365Q\317EA\270Y*\212\263\035\212b\376\374""\246\324\311\225\317\230\326\351\224h\003\343x\3376\234\257`[\223+\256\010\031^\037\024O\234\365\r\366\230\231\ty\331\201\352\360!\336\331\340\234\031\033\330\254\264d\236\321\221\204f\252E\010x\370\311|\356w\0313\303\371\342\232\010r\013\2147\317\252\362x}\206A\024\247\263\320e\250\\*\344\371\255Z\306\3161R\003\341\240\226\327q\\\t\276\346\200\224\207\363>\245\275\372\343I\232\232\237\202\323\005\255\222\021\256.*q\201\323\"G\261\004\362\361\230aj\234\026\274\344\241\244K\"f\244\350\227\255\3060\357<\360\r\212\365\207\027L\001la\020\370\261\371\271\205\241\241\221\271\27198\375\220\277\031\236{<9\204\2628\374\213N\266\200Ff\233\340(\263e\007+V\024\246\306\210{%+b&\222\276\234\214\340\232\265\"\224s\275\354\346\322\256\364\246/\2371\355\324)\321\266\2524\326-\306\313\\\005S\253@A\212nI^\274*\230\026\257)K\010-T\322\241~\353s\334\026\234\274;\204!\346w\242\255\264\330\017%\3339\332%\230\037\025\266\022b?\037\335&G\264\265m\277o\335&\327\213{\020\377\315\3516Y^\242W\221\322\004(\223\266\260x\304\254\033\225\020]62I\236\370\363\363\017fG\222\303s@\270\363\276b\n~~\n6\233\332kl\031=5;12\254\202\230\t\367:\371\377\301\210[\\\303\277hs\0044\322\026\206\253\206\340\027\206\224\245\364\2024G]\320\346\250\013\223\204a\214\300l\362\361\302\344\217\223S\017'\027&a\347\017-L\223K\205\205\271\221Y4|\235\235]\230\236_\300e\201}V\201h\013\315\244H3\215D\331V\372\216\321\" 2<\370\341)\032\r!q\226C\210\320\032<\311\356\034\236\013\223\310\244\217\014\247\026\235\"}\302T\005\242\3551\223\"\355AMgh\215xD\013\353\204vEuG\244\341\2262\340\212\253M\246\304U\027\262\231\013Y\313Yvr\260wP.\031\261\235\213X\315\305\331\313\305X\312\305\333\310\231\320I-\031m\003\026\n\260\263\345\234\225\201\354v\206\363\233m\240\341np\312B!\016\026\316K*=:\312\244D\234\365^\214\335^\274\305\236a\253\307\302^\0030HH\321\000\014\243{\tk\306\341\330_#EHy\372\207l\377\254h$\007\220 \355\213\307\264\220\3509\272\037\237\312eu\303\360>\274MR\241T\2143<\264M\016\325\327\\\361;\302\375\372\223\302\017G\222?\37642;""\225r\234\224\347\247\0062\364\310\225\327\234T\016\302\3705mg)\355,\371\360\037/6\341QpJ\253!S@vz\305\277\371\034\007\274\322v*\205\337\347J\305\231\010\206\214\003-\263@6`\027f\354\342\021\261a\025\266r\332^0j)h\332\010F\255\003\243\020\375\0167\347\227\213nJ~N:\336\2040l<\0302\0334\r\006\rSAe$h\230\007\032\206\201\332$P\032\003\312\347\276\255+\227\302\026\202\226!`\274U\240i\017hZ\002j\033@e\375\307v~\332\372\317\260\373\023\276\005\304#n\236\346h2\371%\322\346/d\376\247\r\377\264\311\237a\354\007A\007\357\207\322b@D\010\365\341,\013@\313\366\017H6\313\360OE2\206\361\237t\271\232\342\357&G\255\000\t\002\257$\237p\030\246\3769\350\323\220\t&X\337\352\373\317\030!\343@\313j\320\262\027\014[\nR<\345\340\267YR\370\021O\247\270\002\377}6\340\026v\334\005a\201\006\347\236m\331\355p>\307\327\337\352\021\200\355\\\332\313\367\247\363\305<\372\216t\375\366\246\210\355S\364\\\232\251\257\232\037\316E\376\270\303+\027T~w\376]I\344;\376mI\374\322E\251\230r\312[\200Q\361\327\2035,\035\343\246\350\253\016\316\306\nt,\215\227\217\271\022\272\250\007\000*Q\340$.-12]\002$\0326\362\304o3.\2412\026\376\370)#\230\245[Q\n\362\207x9\\\206\345#\300\370\255\327%r\307)<\203Jo\375aO\261\332q\250\355\302\324vO\032qVj{(\265\275\217F|\221\032\316em\357\263\266\327Y\303\265\254\355e\326\362.k8\213\265\275\311\332^d\303\336c\243^cCnac\275\304.\271~\311\236;\204@\036R\235Y\362\034\037\265\335s\370M\"\n\240\277\350\001\025\372R\205|\344\251`_3g\005\277\031(\210\316\017\371\327\307\357\210\262\373\177\345J\202?\007\340f\226\244_U\3372\367U\226\275\246\211/\207Yq\203\303\031\257h9@5\275\236\232\256N\265+S\313\251\251\366d\252=\225Z>K\265\347s\016Qg\312^6#\374C\300Q\221N\247\3441\237\206U\270\222NQ\377\323)\0345zd\323)\215\226\322\251\014\213o\322)\316\226]\302?\014\254\362\017\374\346\241Z\374\201 \022\031\351\024\177'\204J\001VK\247\204P\027\002X\250H\205\212\371\315t\nf6\205^\210\"f\320\021\003\350\030\323\347T\n\277\252\301\277\270[\323\302\nM|\3768\r\024\005,\021m\032m\031E[\346\320x\222\254""\000e\225FR)\275\232~*17\211 ^d&\335\306@Z\232F\033r\014\n\361\202H\263\003\027z\300\372\222O\2424e\235\370\221\225M\316\211KN\372\000\212\261\262\026\366\325\226\2315\033X\263\217\240\210\2015\233V[F\325\2269\265\360(\024gO-m\240M\033j\333z\332\264\233\016YL[\266\322a+im\037-m\232M\233h\333\032\332\264\203\016Y@\247q\335\244\205yUJ\006\344\023\211\033X3\370u\025<\2279\000\310\014\277s\205Q\0349\234@X\357)\304\377.-\255l\336w\351g9\223\306O\234\343n\241o\237\321\217\237\342\207\210\320Y\316\373\t~\266\360g\033\367\025\254\205e@\364H\004\2569\005#\352c\330\243\237\314V\344\333\217Y_|\032\233\277yU\302g\001\235\351e\267\333\232y\303\016\346\343\016\003\264x\362\271\345\r\376\n\241v\223\253\274\343J\247\270\246/\\\355\002\327\360|k8\274\325~n\265{[\355\325\326rf+\335\323\032\256k\r\217\265\322Qm\304?\255\351\2266\306\033m['\264\206\357Y\371\275\007~\026\263<w\354NV{\2375\234\316\032\276f\245\213Y\345YV;\224U~d\245\373X\303k,\221\270\332c\254\341(\226\216\223\264\020\227\353\263\305\360\325\2372\302\312\233\254a\254OA\236M_tOH\3670\304\020\234\305\266\306\374\230\204[\204\037)@a.}H+\225\311\227t\340\313\214\031\216\360\006:1'2\372\3455\025\210d\007\324O\336\003\014\277\001\332C@\324W@\033W9\021'9q\356q\342\034\343D\275\016\304\371\033\260<\r\204}\014\204\274\013(\277\002\202n\303o\274\302\304\262\310%ET\n\316v\031@\270\270\310\210X;\037\200P\201\2653\313%\336\035\300U\260\357U\355\313\325\362\352\252\335\271j\267\255\226\003W\323sk\006?N\201\177\204\331T\300\365\303\356\0162\226=J\306]a\367\213\374\033\231D\313-\202\360.'\\!\230\036\021\204\2679v\211\000\277\3166\375\270\031z\340\366\240\000n\210\214\224\3300\222\021\277\031l\250\237\306\277\242Gzl\251\024~\353J\374\342\217\372\222: \242\220\277\205\250\247\005\200<I\t\254UH\257\242\224a\003\352\312\247S\342\213F\260\2143\37126#\277\231\303?:((\000(3\213\357\203\260\227[\306\007}3D\271m0\0356\230\256\032\210@\244\037d'\370\253\037HF\341\037\023\222\024\202\211\303'\021\257\202\312\222\324V\246\274\266\266\235\322\304""\246\210\033\004\245\t\301}\237a\267o.\360\316t\r\272\356fV\\\3743\217\0343\216\253e\315\305= \276\324jy\226\210\372\224\210\363&\3010\274\270\247\014i\324\211d\327\022\332\251D\310\235\004\235\016\202\222pY\231_<2\370\304\336\206\344$\251\024\262vEz\024=\362L\200\217\254\347\343\2478\213PKy\215\\3\010\037\025\354p\r\006`\235f\222>\341\352\026\213y\264b RR\t\211\231i\304\237\224\370B\255r^k\270\254U\254\245\342NM\247\264\312\025-\005\314jD8\345J\343.\035R\034\262\351\242\226\302>\375\322(\340\330C?\266<\372-\340'd\345gd\t\t\323\017\014\375jz\255@\341R\236)\017\031a\345R \251\221\252\316\270\222\266^^F\231`&_ps\322\221\207r\341!\235w(\267\035\313\332\206XZ\206\013\037\036H*\343\037\236\250\364\314/{E\306|t\013G\2614\346\203'\320\261\313^y\211\275|X\276> \202\214\234\017O7C?\020\023O`9\263\316\n\376\224\360/\227\317!#\215A\350\312r6\217`\370\271y#\352*d\231\327\024\375 [L\013\014\321$^\024:\030\307\243\025]\211\340\334\305;\022\221.Dl\347!\302m\210\3450$E\2541\034\003\270\361\360/\277\354K\367!\370,l\243\334g\271\214\334\nK\200PK\331\347\337\025\247\000\377\t\013\254\270\206\233\021\nzDm\372\002\t\003Qc\270\035\261\264\271\3712_\335W\230\336=\355\333\375x7%q\016J,\327$\246S\022\303\035\211\341\210\304vA\242\235\217\204\335\216\274\300\341\210\351\211;\364\215\023\345\243\324\374\300I\274k\222\030\247$\206;\022\276\304\261\334\221\010\205\007\323\037\211\351\211\244\255\022\204\341\234\304pK\022\362\354)\375\223\030\332\022\266\223\022\333=I[\307$\266K\022\251\273\257\324\366\205\262E\304-\211\366\342j\271&1]\220\204\335\221X\212\034\261^Ib\374\221he\217\250O\222\2607\022\303\272\300\366u\316\016J,\327$\354\224\304\270j\2237l\206GZ\313Y\211\351\246\304rP\022vMb9%1\334\221HE\025\313!\211\274\3063]\222\320\025\235q\235\247o\361\254\313;\345\263\204\265^\342\375\224\330\246%a\177%\226\371E\310G\211\341\235$\344\227\3046\321\210\370'1<\223\330\367\207\355n\023M\317%\312g\211\351\255$\344\247D\372$\t\371&\321f\"Q\377$\246g\2228\237$\2067\022\333\007q\304+\211\366G\022\366D""\242U\216\2647\022\341\207D{ \t\373\036\261\256J#\367\246\306\325h\350\226T{+\211\363S\242<\224H\305\2478\233\031\303o\211\355\261\304\364U\"\375\222X\376I\366\363Lb\373$\221\376G\014?$\342\213\003\306\267\006\342}\222\304x#\211\367C\242<\220\210\257\025\010\005/e\r\304\367\310\306G\205\224\217\022\323\027I\304/\211\341\221\304\364Eb|\005\201\034\222\230^I\224&\221\245X&\375\222(\377$\312\026)\306(\311\366Z\022\361W\242\374\214\304\272,1]\223\204\334\224\330\016J\364\367\224L'%\266{\022\3031I\310%I\2343\022\333\r\211\351\217[;\343\016\271%ae;\366\005b;$\261\\\221\204\235\220\230\356G\302\216G\342\\\216D\234\215\030nF\244op\351Z$\316\305\210\351\\D\273\025Qzz\302\225\210\355DD:\0141\035\207\330^t\2256\203v\326o;\021\211\270\017\021~\374M\377!Q\317!\021\237!\261\336B\204\321\033)F\030J\024Zw\302R\231`UH\241\020i\271\025a\337\033\332\255\210\351P$\3544$\326\211\210\345>$\352\004$\336eH\274\263\020\323M\210\360\t\242]\203D\235\202\000\204\204\021\300\t\256HM\235\324\n\224M\001\352\205\031X\205\371`\23100n+$\222)\212G\212\270\277\330o)\230NF \234\312.\321\357\252\217\217\"?\312K\370\255\207\024\376\310\017G\310\317D\030\237\213\220_\212\220\337\2050\276\017\201A$\340\361Y\"ZF{2\361\274\014\204\327\nydc\275\314\026\374\367\361\233\310\352\023\t\326'\024\254\017'Hu\275\260\332\036\306\221mJ\241B\037\2608x\205+\260A\310E\212\227Ke\013\266\273\223\266\276Q\"^Q\"\376PB\236P,\037(\261\336O\302~O\014\217'a_'\266\227\023\313\277\211\345\331\304\360iby31\375\230\030\036L\260\356-\374\262l\0326\034 E\370\303\357\253\322oj\263\210w\377\"\346\223\233\023I\203`\010\022\226\363\322\371\t\206\213\345\334RF\336\227G\375\240\310\224\250 5\222p7\353\254-e\234{\036;,`\361\264\2072\002\236`yCd\371T\361X\364\353\351\305-5\246B~V\244\336\024\177?\000\343\342;\002a\327+\206>\225\375\365\005\365}\001t\313\242?) \\\263H\247,\322\035\213t\304b\273`\221\316W\244\333\025\333\341\212\355jE;Y\361\250>\254K\271T\211hxE\324\277Y\323K;]Q_:\360\214\326H<\343Q\233\264\327\025\217\332\306\350\323\374\030""\231\320 7\265\307\303\016Y<\243;QM2\343;\0101>Z,\357,\352\353\026Z\351\3143\006\307\376\334\205i\007\035\261\2116\276\351\031\326V3\364\336\215\257)\204?\236\020\363\341\231\270\217\316\260\347\030\024|*-\026\010\313\365\353\247\326H\207\215$&\031\241\263\266\204\t|\305\217\022]\\GrtH|\356\3719=^\353\362\220\305\013;\374\363\371\347w\027\005\206\030)\226`\346!\000\364\340\223\247O]\267\220r\266\\\037\003\031\240\243\236\272\333\360\337\207~e\236\212\211\177\272\211\252;r\353e\035\222[\341\243\230\337\314:\277\323\255\230\237]\312.\371p\006e\2117\220\277\370-\352\254\013\251\360\307\207\r\234 x\212\340\3158\3759\364]s\274\003\024\017\237\2369\352\"w\n\177\361#GR=!\313j\010\204\023\370\344\303k(\244O\263y8\351V<\030YR:\311*\206P\207p\310\034\375@\021\227\010\242\242D\201$\241\200R\302N}\262\205\374\322\223\rx_\001\225a\326R)\374:\032\376\026\326\020\027\022ZT\241\260\357\2378\257?Q\315G hV\341o\255\234\345\217\233\247\224\342\241\210\263\372\205\210\320\275\244\014C\003EP\310\271EL\210\216EL M\021\203\351\222!\034C\021^S{V\000H\276&\302\250\303 \202d\215Fj\352)\037\311\237(\\C\304>\023\361\242\334K\".}\345\310\250\330T(\317\314H`Y\265U~\344[FI\374\277\346l\301\177\251\267\001A\276D\360\374\022\2043H\347\013\215\3735\341\241\006\236\264\306\260d\216\357\205X\374\t\361B\021\366'.\024\n\347\013*\"\003\333\024\200}J\014\025<}X\353Rf\017QT.]C^\rW\225\207\016G|\212\302\t\270\346\212\353&\n\256\3463@\362\340=\364\212\013\303\262^\366\212\344\337\000\200\252/\302\203\016<\313\376\032\016\010\372\373\320\223\224\302\t+\3633\227_\203\331\305\252\001\277\210[\000\274\302\207\005e\376DN\331\265\355\t\330\235\320\006\241,\226\263\354>\264\206\000\032y\350+ya\004\022\261\374\310\245\254[\2246\326\037\271P\214\361\205m\357\221c\t=>r\244\"\346\2671\373\210\330z\354c\340\361B\253\216v\246\034\355\3547\302F\0339\324\3341\272\017\264\017\374\372\202K\313)\371\277\237Z\306e\304\206\0359\241\211I\201\325<`\313\034\242\tNZ\303-\230J\031\277\245<\336\t\344\204\022XN+n\345\226\244h8\267""\244\370\360\234\276\005\313\021\242Cvd\211\037\204p1\340#\357\210\001\310F{J)\204\244T\210\276\025\225\223W\372\274\201\340\300\304;\025hHV\304\2755\370C\3521\227\311\257\301\261\347s?\3418\243\233\372\034\351\252BG\334M\372!\n\013\236@*\301/\222\037\360\000\312\301\366\207\00618\203\341\027\325\020\341\261\304un\302\021\002\277\200\227\340\267Ha\034\030w\253\224Sw$t\213!)\377\034\035\202\251\234Xo\342$\311\341\371\341\343\005&\207\240\215\034(\344EZ\271\220\023\247D.\013\363K?~\016q\270\320\331\315a\3332V\230\347\021\303r*!,\206\236C<\372\034\346\t\340\260\232\003\210\252\201\205\260\356\023DT\365\345\302\212|o>\367{.\367;\244\343\220\301\337\000\376|\211?HGH\237-\3227\213\341\243E\372fa\037,\222~\221\036Y\014\317,\030$\274\307{\223\271\016\355\246E\204\020\033*\232D\334K\341'\034\325g\034U\200\224\203S%\264\001\312\345KL\"\344\n9\254@\0168\206\025>\345\250P\020\020qX\213&\000) \336\r\214\261\351\323f\026\226O\345\324~\304\323<\347\353K-&\267\340\267\260M?\250k\354\366\323\025\252\227fH\326[\352\027\352\312%\017J\353\361/\373\356rYL\027N\023\254K\370O\312O\374\004^\311\205\020\014a\311\341{\357\274\024\324A@\017|^H\353\362RT\207'/i\020:\224\350\243T\217\t\022\221\016\364C\232\311d\n\022\261\210!\241^\200\301b>_\312\027R\371\002^m\346\205/\034\340\0063[y\246\241\245\203A\313\321 \234j+\204\2430@]\343@a;/\010n|bC\341\301\371\340`\303[\274\274\237\367\373Q\3411\017,\177\221\256\256} x\013@\361\341\211\357\n\337u\030^\243\037\016b\276\002\253\226\210\207D\231XW![\206]Y\200\215Y@\222.\205\330\027\262\271)\201\206\265\337\000\313?\200\016i\027\001\226+\000\035\342\210:\357e\265|\274s\214E\025\022\357\207N\037\241\236\244\201bi1\352\266\016\0136])(\261\250\016\221\346\021D\361f\032\347\r\202\033\326\361K\000\353\244%\210y\3660)\006\244\246\n\220\240\212\375\010hW\005\226\323\002\323[\201vS\240\335\021X\216\t,\217\004\254\323\312:\031\"LZ\034\222%g\030\255j\245\376J*b\246\327J\345\257\262\255\247J\355\243\322\364N)\375RJ\217\224!\267\2231^(M\377\223\024\226\214\027\020d""\260\215\tT\204\335H\251b\352\3514\"rRL)\212?\315\331\3050#\020\010e\360\017\351+vX \210\340\260\227K\025\317\220\207\204\"\275\247\300\353WzPP\236\024\014'\n\322\177\202x\256k\257\t\312{\202\3418A\373L0\334%\340\237\\\311\371\255m\003\205\026J\305\002\331\307\024\360\356\273`j\332\024l5\233\302\266\261\216\211\021\344_\311k\024\266\221\375\205\367\364\343\263\260\215\374B\252\260-\330\027T\213\243X\221d\351\034\026\002L\014\222\212\020\205\312\271\002\260\005@\347j)[8AI\333B\tR\352\026\003F\351}\030LB\271\020p$'\033\252AJk%\004'\261U\0044DF4\026X\350\234\207\240(\342\013\201\204h/\004m\343\327\253].\351\236\253M\272\362\254\325&]\273\307j\223\301\360p\325&\207tU\325.\231\275N\265M\025\316\243\332\244K/Pm\222-'N\373\345\021^\230\332e1\334(\265\315\"}!\265\311\300\216\215\332%\232~\211\332\344Q\356\205\332\245\243\267\240\366i\363\013\221\001`\327=a(\241\213\010\220\035\307D\301\205\020\210\205\313\021`\326\331\n\301P\236\026\006\261\255z\010\212WH!\220\262\320\016\301\205\2713C7J\314(#Y\210\250\t\237(D\303'\242gE.\"\351If\023D\203\022\267\005,9\032;\3443\024\000t\005Ot\250\340\371n\212$E@\005\026\323\374\315\\\355\251\330\360Q,\034\022\033~\211)\250\216\";\026a\315\265\223\026>\210u\334\360\326R\344\313J\361 \312\001\303H|c\375\244HY$\342\004h\023>\254m\267\310\302\362[Z\200\247\242f\351\022\340nq\220\304\244Ew\005u\014\213\244\244\253\364\330\331\305Kf)\243<\301(\247/\246\367\027\345\367E\271x1}\275h\277\314\030\332p\330\232\251\354*\331\021\234n@\345`cp\232\3453zO\020r\350\\\304\021\221\016\202\r?\316\020\\u\n\256p\344l\372s\026a\242[\370\224\022g\025\251\333\026\345\0350\004\360h\343\207\210\210[\022 \342\322\364j\345\210\003\202\345b\016\330U\274GCk\237\242\020\204\302\023\213\003\275\007t\034\374\037\200\277/\221\244C\306\333 \355P\322hRz\030\0062\036\037\250+\010O\322\216D\276\007\217]\374\223\026uf\230\024\253!J&\024\364\314\251\247\n\340\031G\021\022\301b@]\265Q\214\211@\n\222\032?\005D\205\202\257\2420)\337{\244\211I\225C|@<\277d\t\242\353\n\231\222\233]VL%""\320\030\310\353P\325\312A\213\341\233Eyb\321\036Y\2443\026\361\\W.X\264+\026\014J\272N\312\037\r\237\3352\230\331\317m\267\351\260\333t\325-\235t\033\356\271\r\307\334\226Kn\313\031\267v\303m8\340\326\256\267CN\267\rw\333\206\243m\313\305\266\355\\\333t\253m8\324V[@>\243\356\263\r\307\331\206\313l\323Y\266\355&\333t\220m\271\306VN\261mw\330\276R\033\3207'\006L_\235\220'\n!\007\203\220P\320\367\345\3657\004\n\205\264\341\256\"\025\343\272\002\000\242)1\316\267\t\t\300\017`\315\362\226\222\331\351',Ho%\307{\316[\363\361\242\026\306\374\251W\340\301\311#O\263\310\010\027\317N@P\331%\031X\365E\250\250Bd\332\231B\361\024>7\210%\3222\000i\267\211D{\251Hu\212?\226\037\312'\276\233\212n\270\361n\303C\016\303\rW\341\266\223p\212\245\2713\330_\203\0235<\207\373tS\n\214|Q|\010\216\203\264\2779h2\301p\240\322\017ml\n\320\261D!F\236\034\306\322\030p\267J\376z\221\344b\353E\302\025\353E\234A<\3267\334,\213\312\231w@\023v%\215\"$\255\334\231\233\216\314#.\314\t\300\302K\016R\313\321\026\014\376\370\272\003W\014\376x\351\024\nN8\310\002{\312\310f\314~\t\317b\037\315#\240lF\341\023`\362\354K\014\277\224/\340\037^eAr\036\205\242%\324\372N\t\357\023\030$\221\r\363\270\2605\n|S\n\0104E\022\177\211I\365\244\352\220L\363y\303\210\007-\230r:\355B7\313\220}\215F\263\014\007\022\374 \013\350\2476\235b\216\02664\252\344<5\364EJ\244\n\303\277\260e9\300\226YE\262\034\203\263\270\004l7\013<\200x\302?\2325\014\300Q\204\017\264@`s\342\024\016'\374\256\"]\342;\3130\222p6\231>\343\243\376\343M?\361Q\237\361\002\342fpu\322\n`N\226\177\327\034\377ii\255P\312\247\226\275-v,_BE#\372\241\005M!\265z\350d6l\311\224\326\221\362\224\025\362HO\321B\036\260\010\351\321dRxe*\303\274\256a\376\000\003\341/Y\324\260\367\372T\211E\273\320\306\362\022\314\023\371;(\323E\006OON\330Q\227sOs0\033@\321\302\322/\027\312\005\222\301\227\013\322\346\206\035\331\267s\203\037\347\000?\306\365}\031\332\261Lf\370\345\002Y\356\224\201\254\225\030\023\302\305\224\322\243\240\030\243Y\014\232p\271\35666$\305\003u\301\377\001""\370\373r\203L\236J\016UO?8\350\210\257\010\337\341\037\022R\264\240\350GYiPLd.\023A\205\024\003R\013\2063\030$\263\270|\221v.]G\342\016\305\000J\017\320h]d\304\001\026\017_\312,\264\360\302\nd\266\350\236\265@\272B\370C\001\321,\010\251~\026\031\023\010y=<\260\340v\n\320(\032\331\320C\330\322Pd\205\037\210\312\322\200\006\340\360\330\300\331A\243\026\332\371\342\221B\235\031\274E\244\333M\276\342\334\304\315*7\354\246\353<-\272\313\233\244\007\306\277\276xp+E\003\211=0\277f\020\371\216\201\370\202\201\374v\201\372j\201\361\275\002\363K\005\362\033\005\241\017\021\304|\227\300\372\"\001E\370\no\013\177)\364\273W\010\016\376W\255\343\371\225\267\336?\374\354\346\316\361\235d\353\360\251\235\365\326\207\307w\276\332q(\274w\370\330No\245+8\373\337\215\003\215\236\275\316#\317~\257tU\256V{\203k\263\301\354|0\377S\360S&\310\270{\235\207\240\206S\225\267+_VfZP\350z%\t\001\202vA\r\307+I\005\335\353<\272\363\366\316\300\316}\250\347buq\367\253\335\345Z\222+\240&\234\256t\004g\372w\235\335R\355v\375Nc\261y3\230\231m\035\376p\257\363\330\316\347\225\215\352Luywp\327iAc\376\252\334\257\366To\356\036\333\035\330\353<\374,\331\202\237\373;W+W\252\357B\246\344\336\341#\317\312;C\320\245\243g+\327\252\003\325\341\335\216\335\256\326\321\356\235\344\316B\245\267\332\ru9\255\243\320\317\312;\320\332\243'v\240q\220\030\234\270\276\333\263{cw\253\366{\343dc;\230\236\241\332\237\315\264\370\301\303v\372\255\367O@E\251j\262:\277{\272\366I}=\370\344\277j\007k?\324\035\010\312,\247v\226+?T\235\352v\355\335\032\264\371\243gO*\035\225\223\225\277\240u\320\237\376jG\365\0245\n\372\177gg\256\322A\375\257\234\207\226ev\257\326\256\325\007\366\000\360\021T\260\036M1k\373\247\243\205\257\254\235\254\255W\007\202\203\377\335\350x\376\311[\357\037\r\216\\\244~w\326:\353\007\353C\365\337\233\307\233\367\203\331\205`a\021K`\342\375\335\036\014~\266;\260{\277\326\023\034\204\276\077\077\217Kb\240u\370xp\034\341\303\265\216=\014\367\355&w\347k]\001\226{~I\344\351\336\031\207^\300X\266\016\237\330\371""\025\346\343F\025\326Mw\320}\211F\246\013\300\301\211+\320\203\022\316\322\221g\353;\007\203\356\313\320\r\227j>X\033\251\237\340!\303Z\325\233w\356V\326\253\007\253Iz1w\242\2436\360O\317\363w\337z\007r@\340$\007\240\355\003\265\256\332\225zGp\360B\365\332\356\300\363co\275\177\026\227\034\256\300\213\325\357p\344k\033\365\331\372z\253\363\\\345f\365du}\367\335\335\245ZG\253\363\323\312:\376l\302\220^\334\375\251V\252\177\323\200Et\246\322\005oy\377\303g\203\317\274\235m\350\\\027.\336\236\235\257q\231T\034l\334\300\316H\345D\305\251\254\323\202\331\371\215\332\367\356n\032\032\322[\357\252\367\302\272\331l:\315\315`\361\267\340\267Tx\371`G\257\332\313\347T\275\243~\246\321\323\030\300u\275\r[\000'\244\325}\261z\257v\276>\323:y!\270p\2436\005\311'a\022\236\217w\250.bK\257\355\276\017/\356iu^\251z\273\353\260\360:\337z\3778,.\030>\230\026\330o\207+\264\303\276\306\215\207\315\207\375\275\343Wz*\337\301\332\353\336}XK\326\344\312\277,\326WO\355\333z\256\231l>\014\346\177\r~\305=\216\323\373Se{\367\275\335?\240\177\347\233\217\203E'p\226x\000~\246%\360h\027\336\326\265\323\315\363\rC\333m\364\020\032H\323O={~\001\347\371\316\316\014l\017\330\363Gw>\202\301,U\215\345\004u\301*\002\204\300\355\272\266\333\265{iw\225f\022^r\241\332+\001-\256\024'\355\260X<\204B\270\204\263\3071\261\214q\264N\350~^\201\035\323e\264\352\344\376\033\366\320\263\033\317\326E\365\270\331\272k\217\3523{]\2007v\236T;w;ZGOW\336\305UQ}\017W{\353\350\371J2\370\370\006\014\357|\375t\243Ko\330?wa\217^\013\256}[\037x~\366E\357\374\206P\230\265\373\257\324\337\255s\317\024\350j\375J\343\335\206\023z\007v\252{\277\027\300R\371\350\030\340\350\353\225\007\325$\216\376}X\026\003\225Q\334\305\221\236\332u\017\324>\256?m~\022<|\022<\371+\370\353\357\3477\001\341\300\366\206\305V\231\257\236\203\341~\273v\007'\353\310\263?\241\312\341\352!\300\251~\355z\235\346T\316\362o\365\201\372p\243CL3OS'l\206\023\\\367\243\340Q*H\301\372\363\0028\257\n\177\006\177\376\325\352<\276s\013[)f\376\352\356\241\332@\353to""\365\357\332/\215\256\326\331+\325|m\246u\026\021\360b\207\230\356^\330\363\007w\037\300L\374\334\370\2107\346\343\3401\324\374\037{Y\237i~\006\250\361\305{\205\2170\350\310\261\235k\320\267$\342\357\333|l\036\335y\007N\027l\036O\277<\312\276m\2544\347\341(\013f\347\366B\231*\277\211n\037j\334j^\202\346\225\20298Y\177\016~\376%\264\275p\255\226\202\343\210Z\001\217\234\255\364 \226\357\336\371rg\221F\270\023p\220\203hf\024@\217\000Ye\252=8\251\311\235\207\220\212u\374R\353\022\303\366e\215\n\037\2065\355\357@\256\263p\"vU/UWa\317@o\356\302\251\330\201\201\001\003\201\337\256}U\203uwB\017\350Pm\235\366\017\242a\250\261v\263\336\305U_b\374\366\023a\361\007\273C0\274\327\033\311\306\014\277\375-\316\362N\347?\245g\003pf\367W\337\006\024:\n\304\000\341\345\303\317\006\203\217\022\320\340\343p<]\200mp\020\366k\353`\027,\324+\260\000OCC\257\320\261\t\013\374\313\335\305\332\227\26598\336\3567z`9\277\363\376\263w\236-\000\272\036\300z\036\300\346)\322&\001\202\000f\357~\375\",I\244&\016?\033\3319\001s\013\313\034\017\245\267\001\275w\006\tX5{\007\017\361\261\362Um\000\362\303\221\010\201\347\375\026\342\270Z\273\010+\351`c\2649\320\034\017\036\301Z\372I\254s\310\035|5\325\\\307\223\3545\266\235\265\257\337k\254[{\017\033w(8t\256\362U%]\205\361\276\021\334\030\tF`\253\344\237\277\365V\241c\360\000<\006\017L\340c\342\300\344\201\347\2675^\254|\242v\302\243\372b\343\273`\372\227\340\027\330[\177@\336?;\306\260\310\330\201\037\360\361\303\201\037\0170\2129\253H\210w\353k\315\273\301C\330\216\033\220c\263c\0303\016\037\030\301\307\310\201\373\007\304\322\272S\357\301\363\r\227Vi\347\233\312P\305\307eH\244d\245g\217H\235\231\035\027\026?\320\230\260\265\366\210\324\204]\3755\242\033$2R\365d}\276\361qs\0056c\260\370\260\245\261\340\251\340\024S!\247\353\335\365_\232]\212B\235h\3166\365R\374\2726S[\256\023Ut\201HD\030\245\233\301\315\321`\024\366\325:\264\266(\333>\207\217\271\003\363\326(\311\323c\265\266Z_\206U\373S\363\257\340\227_\243\010\367\303\346/\301\343\345`y\013\352""\330\356\270\217U\335?0\212\217\321\003\017\344h\\\n.\335\nn\375\330\374\036v4\022\333\373c\373\001\271\023a\304N\356\344\350\004\007t\361\356\316*\036,\270V}\"E\336F\334\2412t\001\355<\210\330\347\330\316E\030[\007I\337u\201\200p[\336\250m\325K\215\257\233\035{\014C\212\351\022t.\323\270\014k\2133\3031\026\234\374b\267\010'bL\351\215\306o\301\034P\374\210\224\202_\350\344\267\253ZnL\002j\223\210\353?\301\177\302g\321\255\332_\215$\356\243\377\215uq,8v\201h\317-@\266\003\321\370\213\326\315qh\317 \320v\020\270\001\010\243\313:\002\006Z\037\322\270R\030[\365;\356\272\333\301m\244\243_s\243\007g$\263\201c\374\260\231\014\215\332\305\340\3427\3017?6\357\001\212y\236\330\177\365\234\334Y!\002Up\026]6\001v\006\021\260Xb\200I\203c7kK\365\216\320\353\276\251w)T'\017\343\267\341\354\3124{\351\354Br\026OM\211\3540\177\337+\345?\007$\366\307}\273\223\365\276\206\323\372\364\263\335{\3017?4{Z\227.?\377\241\003\t\010\3440\257T\017\005\237\301\340>\014\036\302Zr\003w\031I\332\223\264:nVO\357\236A\376\247u\362\223\212W\335\000\244\016,W\353\344y\030\324owW\220Pi\235L\000\261\361}\275\007i\371\356\340c\244`N\327a8N\354\374R\375\264\326!\227\332S\244\354\255\355\376\024(\200\236\2750\014V\303\271\312-XN\0038\340\336\316\237\325\357\221\332\216\243n\377I\376\223|\376_o\275\177\241z\006\246u DU\367\302\342\233\201M\327\333\354\"B#X\304\301\241\255\002\347:R5\301\271\317vo\301\226\273\3278\325\354hvqe];\007\201\337\350\022\304+\262\211\225n \261N\301i\237\201\203\350Q\375q\303i\254s\362$\235\214\307\351\260\033\304\025\322\2753A,\317\3330;\243pR\022\0332\014\010\305\003\252\247c\367\004\262\337\210j<8\251\337\207.S\367\017\004g\025\331W\367\032\353\315\203\315Q\332\332\260\361W\202\225\265`\315\017\374\022\322N8%\337V\035~\371`pRSZ\213\365\257\033o7\006\032\017\232?\006\017\227\202%.\227S9?\337%\314\006,\357\207\300\033\001\326\353\201\271%\274\367!\363[\003o\346\241&\017'cp'\2578\034\"\020\230\010(\0032Z\257\n\356\373S\242\364\036\301\021\342\325\327\033\035-\213{\023\263\214\323r""\024\246l\000\331\253\017q\327!\235\335\265\323\301DG\022\0215\244\002r\362+W\241OG\317 N\351\216N\017\220:\317Vi\360;\020=\014\303\373\273\260\360\006Ls'\300\216\022*\254\334 :j\010\220\006\360\030\007\201d\234\245\022B\260\221Dd=\030|\362\005p\177\007k\017\000K\342\212(5o\005\263\210'i\027!\312n\035}\225\272\251J\211\336\235\3726,\310\356\346\317D\220\343\226\014Wv\236\306\220y\316\243\237V\376\006\272l\000\266\346R\203\370\242\017\253\213\260\000\177@\224\203\022\230\241\235M\330\274\270T\222\260\014\272\221\326;\301\314k\253\033\206\252r\271\262\336\246O\337\006\213@\177<\r\236\346\202\\)(\225Y\2363\243\036/\337\250}[\301/G\022p\270\336\331\350@\274\320\274\321\374#\370i5X\205\227\257\007\353\305\330W\342\2518B\204\264S-\342v\302Q\336&Rv\010\016#\350\325\271\3127\320\234YxmG\233.~\023\314\003\362C\2422\370\t\016[`\300a\373\300\336\331\0146\221\321z\341,\276|\245\320\031\357\377\335\352\240\313\305\240\270\025lm\377\377\246\313\242:$Oz^\002S\"\376M\303v\351\255\036\253\016\274Q\254\331\322G\236D\222>1\254x:T\276P\342\230m\330\033B\\&\261cp0\031$g\340\370\177\376\237\016\223\246\226\244\244\337\370\014\345Jx\356\321i\002}\316\006Y<\033Z_\335\250\215\211\023\347\275\346z0\315\344\003\3547\314 \316e\271'\337n|\213\204 \3425\036\267\300\303:\202\\\276u\343\353\332c\201\261N\005\323\320\024>f\305[\260\221\033;\363\225s\325\261\335\307\265\225\372o\310\323<\002\234>(\305\005\327\254\356\235o\3164\235\326\365\317v\357\300\221\220C&\026\005\000\035(\347\302\203}ew\006\216\341K5\027\316;\316\374\2048B\230Sx'`\312'\301\023\354\001L\353\3169\300\256s\260*F\340\334uv\377\254\337!\252\032^=,_-W\311P\375\017\30087\211\210b\034\016\275L\007i\356C9(o\004\033\233fO\340\274Bv\007E\003\213\314\"\"\301\013\350.8xm\267\213\305\345\311\312\"\020\236e\200\317\356\3024\365T\273P\004`\362\351\210\007;{\252$\220\226\363\206G\300\345\340\026\257\324\237\367b\201\342T|\367\255\217\216\264\272O \233\363ap\370\277\220\227\207\221\302\023\030*\373\020\210\270\017?2~`\325\234\251\034F\334l\221""\333\337\013!r\347\341\340\360\307p\264\346\261\027P\3711C\240\335\001\361\263\226\200\373m\225G\210\233d\026\021\355\2442'\355\364\323pf\007Ge\025\0355\3527\t\371P\326\320\323\022\335\002\272\373\022\3459\214\342\037\240U\203\313@\370\326\221j\255\376ZS\331\340\345=@x\222\244\021IOf\025i\037\037}\266n\211\034\216\356\274\007\247\302{\202X\032\301\312\344\030\002\035q<8&\272\2114\353C\026es\352y\263G\357\356:\000\372$4\016\337\326\035\256\206\333\374\336\356\27290\023bm?i\034n\"\261\372\301[@\226\014\004\335L\357\315pI\332\264'H\256\r\244\214\022\n\357\351 \344\353\263\311\\!\374\337\332\335\254e\352=\365\033@;\035j\0164\307$\257\026O\341\006\270b\r\261\377w|\231@b\177q\203\360\017\362D\301G=\210\362\270'\373H\274\034[\336\365\230o\212\326_\265\334\3178\203T\256\025z\367\245\340\"c\240\016\236\327\r\232\237E\032\352\203\273#\265\023\2005J\300\0019\377\020\263\365\3253\007\372}\273\362\225\2708\330#\221b\246\322\303\253\3630dH\357t\265\016\035\025r\323\256\226\3152\\\252e\033\027\033?\003\026\343\345\332\266\300UA\265\316\325\0175\006x\245\267\311\013L\020\013\372\322\265s\365\344\276YMA\337\037\215\236\177\304L\251\274\035;\347\205\224\361\245[\035.\022n\367~\271_\320\362p\325\341\266\303|\035\t\317%K\347i\337\337R<~\253\023\271IX\3730\375\347?n\235\203L\255\363_\303\316?\363}}\235\177\316\336\201\355\237\300\237\313#\215\231\326\331s\317\357\351+\215A\236\354\033@^\246\253\342ro\006\230\363Y\224\340\240<\343=\022}\010x\246r\001/A\216\303J|\210\344\352\213\340.\337\262\342:Z\201\323\244\243\245\330Y\"\002P\2241Z\375\252\352\010xp\362Ju\t0\t$\334\003\236\361m\334\256\262A3\306\232tP\330r\026\336\211\227\252\267\360nD\346\243;\232s\360\326\005\221\202\242\007}\271\332\2753\ni\217`\352Q\360NT\364\251\335\003\200\027n\302\031q\261\266\000\310\340+8\215\313\215\344\036\3242\300\367(\277k\252\005\250\243\212K\342\337[x\215\267\007\200\244\316t\251\262\204\254\321\231\312\261\312\327T\363A\274\247\334;|\206\2054\257\220\351r\245\210\014?v\021)\364^\346}\367\220\236\322""\231>C\312\274u\270\007\232\3665\254\314S\265C\365\233\r\240\307`\325\250L\301\331\353(\225n\035\356\005\022\037\017\362\315\340\346\375\306r\023\352\352\245sKa\225<Rn\347\204\300g\023r\226k\343@$\234ll4\177%9\031P/\300\315 \321\022\344\013\255/\276\304\353\221\372b\343F\343\017\022\246\301\361\ng\2768\355[_\334\013\3561-\360\010\017\213\377\241Q\023k\364<\256\321O\341T\342EI\241\217o\325\326[=\337\326\0078t\341n]d!\330\025\274$\376\241\203\345q<\035gw\211\374\273V\031\010\316\303\253\241}@8\001]\365\304Z\t\270\260\267\200^x\267\352\302\024\237\256\237i\\k\016\264N'\252\357\357\236\004\344\377\004x\253\323\237TV\000\207\036\256?h$[\247/T?C\321\035RM\007w\222\272\256\370m\342\3614\341%O/pMI\t\177R=\200$\357q@\246\267\252\027\2533/\312\337n\273\265\331&m\363g\253\027\252\324\353;\225\207D\316\277\340\275\257\260\rO\356,\321\205\341&\251+\374?\262+\257U\277D\221\362\3070\034e8\200\037\356\216\325\026Q\017\341\343\312\214\316t\275:\010=;\374\t\354\273w\210\006\376\t/f\367\000\340\274bM\002\t\350\216\364\242\022C\250MbW~\nC~\002\030\353\315\335\247\365\223u\310\364)\336\300\277RM}<\t\tXL\227\341xx\017\210p\332\3370>\257\330\360\227i\223\302\024\227`\274P\341a4\370j\250q\023\345\317@\334\354\205o\352P\025\345\275J\251z\233iHh~\271>\016T\322\311\346V\360\020e.\301\362J\253\357\353Z\n\230\020R\214\001\246\021Y\244V\337M\304@\016\240\225\305`N\310\024[}\267\202[\017\"\245U\316T\360\013J1\202\242\217\310\344\017\024\271T;\220)8\217\233\265u\372Rp\351\006b\253\326\271\353\301uD\030\237&H\361\340_\210h\205D\026V^\353$\326\017\274\nB:Z'\201`\300k\373\263\361b\332WT-`\362\344\034\361\336\177\302\020N\000Y\375Yc\246!\224\205~\254b\016R\022\270\021\034\341\353\201u\336j\204\231\356WzX\232\267Hj1x\357h\222(\2135\022\377:\260\301\360\252%|\201(/tm1\341\025\3616\334~@*\033\272QL\327?\014.\335f\325\217V\347\207\317~\255(^B\\\315\376Q\351ii\325\033\274\274\230A\006\354pu8\270\nsROZ\251g\210\3141\213F\262\312\333\006`l\367\314x\251>`\014NB\252\364\274xp\230WF!\362+\017\0163tb\"\230\361""\2008\267\010\343GCq\342a\376`\321\nR\327G\314\302H\316\241\\\276v\243\266\336\322\352dt{#4\332\004R\035\220\214*0yg\2706^O(\343\r\000\023H\266l\262\321\003'1V\336\311C\212\027M;}t\021\207,\255`\"\017G\023\317\312Fb\263D\342\321\235#\230tD\020,\253Ug\277dOv\352\223\312\257<\000\255\316SpP:T\353Y}q\177\250KR\275/yUf]nd\350\032\346\303\223(E\022I\373\334\223E\336\334E\035.\241l\375\377\313w_\336\361+\027\001\311#\025\240w\324\221g\177\323@\\\335\275\270;\243\370by\r\270U[\377G\220\225\333\225\267\231\037SW\217\210\207\211\250\301y8\0043\013\004\"3\014\207E\376\333p\264\364\\\010\377\227-L6\216\301JAUA,\323M\372axEs\002N\306y\340U\356\00374\327|\033\205\327\017ys\234\252\034\004\204\204\250\361\260`\214[]\347\030oa\206\311J\217\274\356Y\000\314\\\002b\264\263v\020\320\361\273\215t\363xs8\230\306\213X\256\3524\274\352\027 \275\326\215\252>\206\321\371\034\327\314\341gS\025y\r%\264\360\376]\307,\236*i\016\345\355\340\"\222\227\t\372\351\211)\272g\360nN\333=vZR\242\307\211\3311\365\266\336C\364\324\352\274\016':j\372u\342\245\014\251\371\240\244\301\340#O\022\"\273\325\270\004\304\370\375`\026\016B\240\257Q\374f\310\000\010\203p\360\323\340\223\257\271\216=\272\237\274U\355\t.\":\356\256\377\006\024-\220PB\313\217\027\323'\301\307_\313W\222\032\316E&\277Y\007\247\335\352\347q\372\2135`\373\305a6\217Z}uFI\002G\211m\000(Y*K\206\227\377\225\375^\323R\3231\240f`\034o\223\217\006G/\211s\262\033/\377\000ij.\335ii$J7\345\270\217\007,\364}j\247\2544\224PB\364\020\336;\303\302\222_X\205vO\037Y\257\326>\224\021\357u~\034|\3749\211P\257\326/\325\351\362\2326%Tx\351\337UxD\236_8\316]\255P\334\356apJc#\241*\205'\325=V\036\204\021\271\005t\362\335F\2519\200c\251h\214Wk\026\253\007\035\212;\223I\232JM\224\362\273\367\353]o\344\035\035!:\301\234\370kt\330\277p\276L\244\255\351\204\273\r\237.\257\333c\356\343x\343\373h\017\2250\340\215\301\225\245`\t5H\245\014\256\375+\rA\335~\231\250\347L/\274\\\306\227\250\361`\345\207j\026\270\357\037%.zq\315w\203^qu\243\3254\017\235\004~Q\210\257\t-Y'""\332\213'6Z3L\233T\276\273Q\213G\003\217\032\277\006\263B\022/\253\270\025\\\000&\000\357\014\220~;\"\304\373\017\220L\223\332\266\267\241JV\311n\205E\323\353\225\203\301y\254~\001\357\311\215\205\217\226\002\335\270Elm\262\241\332\037\301 \253\006\375\212\344\326\rD\0321Y\036\222F\347\343\375\262<\022\352t\373dI\007i\262:\220\347w\313Pj\031l\\h$y\312\217\355\034\333\271)h-\340\257C\322^\274\345\272\005i8\022\337`\252Z|g+\307\350~\r\005\215D\327Z\345\220\264\273E\327\273\245\340\263\273uU\260{\337\027fX\323I\277\362&\337\311\254\277\260\251\221\222vc\273\245L\235\360\263\334\024!\330Q\001\253|o\322\322\"\233\320\352\377'i\311@\277F\253\003y\253y\240B\327\330\233L\353\221\240;\271;W{\007NC\247\325\205\327\235(\251l\233#\"\275\247\3672\322\3571\232\027\234\343\333\257\244l\313%\322'\3011\357\243-p\253v5\270\363#\034\315D\350\334\255\3700\017\356\356W\273.l\215?\033\003\215\341\346{M?\230\235C\3158T\205Z\002\206\266\007Eg\317\337zk+\244\255\250t\035yK]\014.\000\375R?X\247W\307\253~\305\204\367\016\013\r`\025x\255\352\004\217\242\253b!\265\252\n\245;\202\326\371\024\350\224s\244\200\232\014\016&\033]\317\257\343\356\024J\310\347\304Lo\261\374\343\0262\007B\005\356\267:\221\203\243\372\005\320V&z\320^\"\270x\207/oZ\235\347\203\363\342\246\003\021@\021\350\314S\302^\345\004\335\215\226 [\2711\322\354j\366D+:\364\354{ \321\2458\375J5\207\252\264\365\357\233\027\232D}~B+\273o7\013\300\333l\365\260I\247I\347\311\235\247\364\216\263\364\352\203\365\221\306\t\324nRZ8\264\362\367\216\034m\035\355B\225\315#\317\210\376(\357L\262\304N,`c\335\262j\323A\276\027\335\263\263\314\303V\377\206DYF\266y`\366gv_fa\277\241\034\245\312\227\225\207\320\212'\265\0035lpp\362\032)b\321qN\312\331\334\235\016l\245\263\263]}\247\372\033)9\002#Td~\252\267v\246~\265A\204)\262G\353\225#\325\337\361\206\266V\254\177\332\354\300\375\204j'\303d(r\261\366\023\3535\341&\372\232\364\251\273\253\013\3004\375\\\177\017\022\336md\232\227\361\362}F\335\261\262*vR\360\334\352Z\216\311\351\277\370\276H\360\357F""\224\331{\235\033\222/S\344TM\335\315r\356\3232\335\312\177\236V\324]:\"\273\014\r{ZQZ\017^\265\222K\236\253\211-\250 \247\341\370=G\207\302y\202\312#\3718\261e\342\306\363\2046X\322\266X\2641I\233\343\265\303\377\260\274d\3471/\202P\264-S\324\215\307Q\027\347\265\356\350\225\354\3452\252+\311\023\372zT\353\3762L\351\341f\262)\r1\376\221\202\033}<\234\217(p\n\352*\006z\214\337\360\233u\353\036\316\332\021\315\330Q;^K\252w)0\262\264\250\310\341\3044\343 \311>\273Bs}\330\254\200/\300\217\332 \267\3665\265\340#\033\374\204\200\037\210\227 =;\020\364\335\253\2574\026QO\016\210\245\\\220\373\023\316\204\277:\206\360h\030:0| t\217\230D{\262\201\340\322-\242\303\270&i\362\246[\306\200\r\022A|\024\002\001\336\\\206Uw\245\251f\354\260\321\236\033,\244\300\345|\302\270O_G\236\200y\3242\341\355Q\353\262Y\260^V-\276\226{\032|jw(\027\322\362\353r%*a*_\253\236\330\037t\272\336e\027\354\322Sn\345\221\023.\201\307k?\326\377l\016\304'\240f\020\016\333U\321P\275S\177l\374\036\314 \201\251\207GK\177?C^Z\017\317\030q9\227x\035P\033.\205K\364\326?n8\312\220(\256N%\210\3554SN\032\233\315\024O\317\250\214RZ<c\214\267i3\322\241\366\037C\205\"\205\225\357:-|\326\\\232Ufg\247v\376\007\210 \300\352p\274\007\347\320\254h]]\326inA\322\205T\241\344\253/\326gT\0375\024\255\370\036\006\363x]`\214\271L\355\251\177\007\215`\023\254\307\226\302\323SR\t\315\000f)7\222\301\310B\260\200\004yL\177/\325\234\230\327^\252g\233=\006\\\232\342\275G+\371B\024Z\3570TcN\230W\002H\206\260z\316\211\260*\301\0354\315\370\351\037[\204\377\010\257\372\243\365\220\224\200\024~\214N\350\022\347\033B\213\301\202?dV\321\222m\251\327\261\321\327\200\321K\346\341n\242\241\247\321K\003Z\357\n\317\236d\373\006j\212\340?\033IB\252j@\251\217\013\245\303\341\335w\230s\333\277\310&\021\311\031B3\245\335\257\231 1\206@\033}=mh\034\020\205\237\016\301\221\030\377\n\025`\"%\276\251'c\352gh\247\245|\267\314\206v\334\355\276X\275\274sp\252\375L\334\"3\204\205\240\200\027Z,\212~\217\2540\021o\017C\277\360\266s\240\245\022\336\247z2@""\036\225I\232\325.\001\337\277\205\326\036\306\254\3106\244\353\006\312\013\353\245t\2072\223\250;\006\276,\265XN\204d\253\335\355\343\243B\016\320\035\262m\034\256\037n$c\340h\362\366s\323\\u\314e\215\325\177i\236\r\346X/\222\364\231\255s\340X\355.\356oC\005\216tQ\245Y\300B\343s\244\021\345\005$k\301K\254\016\371\264\205Q_\323i\256\267\314\035\014\311R\211\363=\242r\372\005T\036L\377\003\024\377\026\221\240-\232\001\263\244yP~\022\206\325\245\326\026\351\372\353\004:\017\345\032\003\270\306\321\022\242e\343\262Rs\356\322\315s\301\374\202\321\212\260j\321\205\020\034'c\210\2248\214\032_!Q\341\201A\274\347'\022\371$\213\363\rQ\304\t\322\026\230\247\265\227U'\026\2339\344\324\251|\224\253\311i!\260\256[\002O\324\326\244\362\325\te#\241\034>\\\252Xb\331\004*\373\016\3235\311\020\023\257\335!\232\223\360\013\331\220\032\363\216eX\267\014o\026\255\273]\022\313\036~6QQ[j\2304\251;\311 \202{M\266\341\250\260\357\030\354\320\307\225E\272\252\007\354}V\030\004s\r\307w.\220\251\325\215\312\026]\262\330\003\207\006\374\243\002W\216\355\316\374\253r?h\315\302\356}\313eXkE\227\034\335}\311\226FJ\276t[#%\355\326~\370\354>\320\r\344\n\241\365\001Z4\255\243\032\312?\3508\340\235\017\237%[\007i\300\241\362>\340\214\017\276\367\317\306\263\207t\2415\203\313\240\007/\"\327\367\360\007\323\326I\262\214\236/\222t&n6\235=\033\262\376:\025\017\340\202\255\255\000\006{\217\354;MH\307\353T\374%\222'\265\315\372S\"\264\366lP\327\353\324\374\025\"h`\245\377 \033\270=\033\324\363:5\337@aL\375T\343\020r,s{6h\340uj\376\032)#\240\010\317\241\235\327\374\236\rJ\276N\3157I\033\370\026\353\374/\354\331\240\231\327\251\3716\312\304\352\017\033?\2429\377\303=\033\364Z\213\256\037\005\223\265[ph\220A\246\005y\255&\177\201Tam\224\234\001\360\232\323\020\242\036\331b}\235\205\017$\022\005R\022\021\036\353\334\220\305W\017\336\331\306eF\241_\\^h\352\321\356\2351hW7:\250xBz\215\035!\350S\222\"u)he\005\271\032|\311\017;\316N\2214+\017T\257\220f\345\225\372\333\365\257\352Kh\336G\227\311G\216\266\336\377""\000Oq\264T\374\261\262)\350\272\233\310\266\262p\362\022\312\270\217\357\214\223E\014\3620|>\233\324\304\226\270\033`\023\022\224\254+\237\016\347\372v\307\353G\032\353\354\325\301\360~\262\327\371Y\360\331\267\250\301\005<\365\201&\332\377\223J\366\034^\374\240\235\354\213]9(\017\016\306\025\010[\240\375myFA\177,\207\217\356tV:*\347\252\223\264\030z\033\247\232\3576\035\266\236\374}\367\014\260\225$\221\305\223\371g\324'\023\332.!\027\016/\241\306t\205\207r\202\254|l\265\033\273\314Y`\3417\355\253f\272\302\351\330\351\022\312;\254~\203fB\335\225\005\322y\353\260e\251H\273|\210\n\007\225\001\341+\206%r\206O\246c;W1y\257\363\0043f\316\236!#\023\362\005C\330\365=\331\r\2518\337h\257\233\200p\211\257\360&\266\227\332f\344\272Ln\033F\221\001bF\3465\232ii\236\244\311\0167\r\253\246G\275\317\264\374\234CaW=i\246\351\033\316\343\365!\022\237Z\211\272frf\324.\3618\261\0332\221/\342lU\007)g;\037\337\333\226\331\333\353h\177\377\035{6\022r\331\031f'^\251\350\307r\2633i Jv\233\302;&8\2544S8t\272M\032\213\374B\251\246<df\377\3449!\277\211d\321\234~Gh\254\016[\371\014f\255u\375\2636\377Q\235\277\023U\301z\311\244\032\345*\020=]1\204\002\247\333\276\301p\204\"I\343p>\273\200f\236q9L6{Z\327o\327\217\004\243|\201\217\304\330&\314\006\032\313\222F\335*j\323\211f\264>\237l\256\262\3158^}\304\266\310\034\373\326\365\033\310\354\267\256\263\316'\276\350pc\234\\~\374\332\272\376M\375\323\346\021\300\271\014\206\314\250\343\tu\215\355<\254\214\342\375$\034&j\000\216\251{\200n\271R\2548\247k\266\352\250\231\036\240)\332\377\005gVZ\344\361c\375\357\346\014\242I`V\311v\371\2159\263zQ\317\310H|\347\001sJ(\230\t>\007\236\031\246P^bw\236\021}\3574\314\251\350\016\376\337\367\362\r\273\354R\363i\2116\217\013m\246\231\320\325\314\207'\214\313\223\3700#\251K\325\357\330\346\014\247\375\030\034X\352\010\376\233\371\317\326\007]AW\217p\366s\234\017\202\326\007x\270\241\312\333cl\260!\031\354\226\266c\312f\216\341]x\374\241\365\341\273o}\370\021\351X3\327\335\005g\371;\025!a(\223\256~z\367x\320""\007K\344?\301\177V\203\325\265`\r\r\314\325\225\001\032\000Y\024\000\3217\314\215\212\373\304\305\212\260\237\275--t1r\227\334\026\256\311\374\010\272C\007\372$\332\273\324\205{\271\357\251\233\347Q\323\274Nt\327\320\2632\220\223'\265\327\227\257\350\206T\332\374\263\367B\362\301r\223nco\263A,+\202\220\3379a\211\214n\202\216\007\227&\233K\301\364\034yqY\330;z\256r\217\304\331\007j\027`T\303\225Z\366\312\217\0323\354\320c\201\350\014\250\235\364\313\377U\231\220Y\375\331\346Wh.\013\013\026\367\303\036'KC\341?\232\327\251\251h \224Wbi\362\231e\002n7\006\032\3116@R\3535<@\030j\200\254,\252\221\233\226\307\037\265\223\317\352\350\325\335\036i\203i\002\272\321\360\363C\326gx\365\373\376\377+at\255\327V\377\000~\330\021dw\370R\340\037e\246\222A/E\270\037\3107\t\2233\357\223\006#\353\355\010c\031ru\366Se}\217\014hp\310z\321'\344\207,\262\276\311\256A\271d\004\242nlyj>#r\001\216\330\356\340\270q\263aLj\002hv\232\004\341h\222\234\245\034\254\214\220\201Fi\367\233Z2&_\234\024<S\277\246\215(\225\253\030\246\327\266\321~\344\214\326\210[\337\323z\304\302j\330\244\235\016\001\205\276\321\234y\275\312\344U\340\037\365>\344\034\245\266\354KW\026\241\254~n\034B\253w\304\022\377\2662\363\026\340\034zA\023\225%dekU\342\204\310\002\356+r\226)c\003\254%\375\r\0315}\207Z\017\254\221L\034\326\333;\337\222S\216C\250{\211\256C\3209\321&\371\245#\375\314E\330\313}\273\216r\345(\227\302\365\006\371\343\373Bz\261SN\t\224_\310\243\301\321\253\244{A\212\016\254\352\215\312\377]\247+\235\270}\3678\007:\226\373\020=\024\002\210+\231@\rK4\253c!ep\366v\235\330g\024\300\346\252#\300\371\365 \252\031\257\nB\371\344\316\354\316\206\300\017Wj\035!)\"\352pl\212\005\367\227\276\3339l\220Lh\301\237D\322\240\033\317\t6GE\212\354\212\034+C\302\217\206\216x=gq\260];\247`\334P_\247k\3176\272\370\200\254m\270\332K\325\t4\221\252\277\213\016Q\244\276\271\274\254^\204\363\352\\\343>\020\250\235\354\375\024\265i\314w\260\033\3243\322I\304\277}\307\311\372F\203\370\360\027\274c\237~\\\021\207\353\025tS\034}\307w""\215w\321:\223\267\322\002\251\343\230\357PN\214\252\353\373\364\003-\375\361\264>Y/6\272\342\373\361g\223\365\247\241\305\307*\266\0265\277\371:\373:\260\336q\326\230\366G\273s\304k]\n\301\016I}]E\203i{\351cH\311\034 \277\210\335\225G\270rB\313\255\213\\0w\313\343\312\020\003\357S\216\004\310f\311\336]\3518R\331\353\337\201\234\217\330\002C(\374w5z\014\226\373TpJ\330\356\354aX\020\217\306\205\322I\315\310=bG\241\206\262\302\025t\016\301m\373i\367O\240\211F\351D\017\013C\320d\356`\345A\365\207\335,\311c:\232]\355\304 /\324r5\245\"\370\242\367\005\225\351\357^\007z{\001\016\233\371F\227\264\312I\261\332\244y1\322m\301\265\265\016\323\027=\362\216X\020\323:~\026)\177;Qx\257\225\264\312\377T\034\305t\251rhfDW3\037\263\275\376\t6\023\257v\204V\336\030Y\201\246I\243N8\246Bb\035\035_\253\316\212\232d\025\007\321\234UT+\222\254My\233\314\254\321\245\3216yk=^\377\201\225\364\024\267\360)\226\371\004\177\204\347+\343N\377m\222x\016\240\303N!@\344.J\305(\245\362<`\364\237\023\305X\352\344\243v\362'\241\344n;\371\244\035=\257\243\267\345\335\237\006\334\246\373\363\353F\215\267\311\217\353\323`fV\221&|\323\317.7\216\241{>\266\350\305\362h\356hoEi\337)\\\211\030w9G\236-\355\274\013\243[\252\334f\325\340\320VDr\346=He?\272\003\377\262\344\341\335\177\373\316\217\324\375\021\031\267\341\324\222\311v\017[>\253\245\307\347\245Z)(h\032f\267r\322\271\307Y \303\206j\353m\326!z\272\314\020[AbbtH\376i\345\357\340s\224!'^\302w\246\345=\376f\343\023\274D\236'GK\206\357\032I1\\!_\300%\342\210\220k\262\235\254\032L.\371hGs\355\366o\267\304e\266k\366\344\013KjM\247\256p\033\216\355\337i\213\254\273B\256\027\235\230n\274\264\033\372\220\250\372\025\272qZ \353\231\320\353\367/\365\211\334|\341F\237\307\365\271\202\276LY\377\343T\304\267%\362\031\277W_bZ\264\003\314\253\215+\354WJ\271-\212\256 \241Q\205_<\350C\2069tP\367H\3622\002I\263\016\275\330\035Y\340\236\016c\037\236JkO\362\273\364\030\025\366p+\334dV\351\033\366\013z\234H\237Kt5\243\354\002\372\260x\216m\033?\222\001\353\373\004\345:""\311\370\320\377\345\365\273\301\335\311`\222\230\354\353\337\007\337\303\222&_b\327\357\005\367\220\005gW\325\267\340\034'\0356-\331\273\320\366-\022\347}]\357h\365\016\324>\251\377\335\374\r\215\016{o\007\267\307\232]\255^\242\210C\022KY\355\245\266\325\366j\247G\255\353h3hH\"\271\023\3441\364\372\275\272\303\306,\357\261\177\004\226Tq\355\037\275\365~o5\307\256[\366:/\340%\311\371\340<\353\23488\356\006\016:\027\234\373\232.\214\311\340.\354\236[\252\326w\263=/\336\261/\242\227\353\027$\327\376l\334i\n\301\347\247\225\234<\363-\326\337\326\351M2\177\313\007\234\324,<*\274f\211\000\037n\237V\2540\036\306*\256T\202\004\235\240\323\273C\351\037!\233\273\256\217_E\253\002\211\311\372f\252\022]\250;\366\245\312*\203x\347\340S\0217\365'?AJ\231\215t\000\236\000\326i\2214\315.\324\223!\237\373Wk\227k\233\350U\231g\023u\325\337\006.\254\014l\024I\234-\342\370e\252\325\313\364]R\346\035x\231\212\273\255\212\317TN\353\317BD*\026\025^\"\t\354\245\212K\216a\272Zqd\274}\033p\326\030MT\214\0216T\307\221\253\177\037\370@S\215\210\017D\274\363\232C\337 |w\253m@\207\033\203\215t\3234\031R5\223R\310\247\225?\244\225\270\345w\354\310\263\2601\376&\271;M\262\273\005\274{\235g\262\335\354\206\252x\3174\017\365k=\212\354\341\206\377X\023\324^\202?\244a.7\2510\353\323U)^\3673\261w\t\007\340s\361\215\004$\250\006\204\371\026i\220Y\206\272\305\235\223\202\272\277\317\023h\220RH\333\237\"o\245\363A\317@\255\353\345\n\022]c\024\305c\317P\364=\034\034\372\264\342\263Yy\267%\326\3323\357\000\273H\224p\t\025y\350\306\356#\362\347(v6\314!\211\020D\0147\274\332\371L\177J\337\327\027\203\313\213\301\342\243\340\321/\301/t)\321\311VM@\037\262\314\231\224\240\252'\200t\307\2239\350\306z\317 \267\337\035\326-D\222Tx\236\335\231Q\355 \035w\331\016\244\275\204\022g\242R\";\347\026\351h)k\005\305\342\236o\314\"-\337[\375\213tE\3576\212\270\362\256\007\327\357\022\311~\267Y$\275\226\213\202\216E\037!\227p5}\214Z\330\247\204_\273\017H\210[\252\177\335x\207U\321qA\337%G\3047v\313\354\362\256\325)\375\313""\017i\005T\333\337\256qW\3757}LA\366\347[\301\\\375G\\\262\334eU4\352\370g\344\353x`O\333\325v \366\350\200M\216J\370O\240\217g\211\233\354\271\200\242\244\335\277\260_{\235(\235\302\037&b\177$)&\261\267\227H?0\350E\353\246\323tk|\230\335\353, G\275+\304Y\304A\252R\327H\\\203\232\373}\260<\376$\"Sz\316\225\354p\227\031\002zF\336\201[aa\306\212\030\001=\334\334\304\003\034^\330u\n\010e\344\314\216\"!\204\223\330}\236Mo\360\036a\217\"\017\311\350\351\333\232\023\352\021\333\312o\213a\030k\3164\275\340\241\220\301\323\275\221n\225\354|u\235\235\313\317\263{bA\2723\3217SYF\027\304Fd\217\"\247\244?\335\275NiX\215\226\223\036P.\233\270T\360.\217\234\262\260\356>-]\336\300\345\320\247q\272$o\366\007zS\346\354C(b\263\305\243\033\246T\3444\362\337\301\247\202(\220r\374-\201\030\2449\220\002\340w\220\250!h\013\234\344M+\202H#\035\025.\206\272\220/\236c\n\264\247\3721\351)\377$EB\026\347\243>\030D6\370\246&\352\317\372\223R{\246[GvR\366Gp\235\321\202\360\253#\310&-\361fe\336Od\211k\325o\203~\310\316\336\271\321\323(K\265]r\223\005\247I\360\031\233\007\300\354\002IH\216\306\350\202\261\\I\312\333\307\005\\3!\031\227F\0007\033\307\032\003LU\r\2234?\3428\374mv\024y\222\316\026rn\277+\234i\237@\305\"\215\261\242\027h\327\033\243\344\177\325\2747\273\312_\346a\320w\325wa\371\375i\336\236\335\243\323\372\003\363\366\214\357\330rR\271]]\370\304\371\356\356\226Cw\251\342H\244\254\364\\\325\322\3323$;gu\026\240\344\361\013\027W\203\301\271`\016v\013jN?\177\320\361\342\353\370!\372\234\330\337\301\302R\260\344\005\036:uk]\277Y\3136\276\010f\330\372\350\257\347o\275\365w\307$Z\037M\036\230:\020\271\214g\317\342L\004\007\007\207`N\256\0306\237l\037B\004\013~\243`\023\027\336\261\340\030\036Y?\325\326M\351\032\226\375&\030\207%A~iO\234|\376\345\313\3507\264\372n\002\025\375\023).\267\372\276\255\177\337\374\"xLLF\0370\031\323\3014Z\233\267\372\376;\370o\262e\377?\325]K[\023\331\326>\321\320\"\002\022\010r\0230\334\344\242\330A\361\202\242\202J+4x\002\264\240\236\266;^\320V\217\375\344\264""\242b\253=d\230a\206\031\3260\303\014k\230\341\036\3260?\301\237\360\255w\255]\327\304\030\224\347\364w\236\247[R;U\265+U\265\367^\227w\275\3571\362B\220m\244\017y\306\301}t\355\251\200Y\317\030o]\237\346\376>u\205\246$\2214q45DWD\350\340\020b\004g\213\326\2118P\251\370U\337\010\270\330=(%\002n]f\245\004\356\306\371B\322:<f\\D\255\207\3253j\214\213\207\323?\360i\351\357\022%p\300H(@\271+.k\261\334\027\211\352\325\tT\370\252\251\347\032\240\022\026\021\274\361\334\270ro\020l\307.\320\341X\365\230IG51q\034\247\372Q\263\320\364\034S\307\020d\371t9T\316\353k\004?g9E\212\326\334#\272c6HE\310\306xD\034\003\3372\274\302PyT\212w \200\351\270Fl\\\233\261\327:P\357\373\253\302sf\022o\316\020M\207!N\264\320\373\267\2379 [\310\202\333\3178\327\210\215\005\274\301\245EI/x\252\307.\300\216z+\003~\313\2771\337\263$\212\303@\375\324\346\315\346\302=}\323G\324\010.\240\375\033\205B\354\260\326\031\330*>\325\216\316\314(\223;\314\347\177W\2134\315\203\324\355\323\005\214\224\022\374\310\005]C\022w\231 R\222|\023\032\325z\017\251\223\305\374\265\272\325!\231\202\007\r\234\003\303\311\\.\010\027\300\006\253\002:V\017\3252\370\036<L\016\2001\364\245%q\026\334\252\362\024\273\260[\321+9\023\007\027`H\310=\203\342?O\315\220_\001)\304\\hR)\314Vb\033\335\325-\214\336\000^\316Q\331\272Q8\014\215\230\341\322q\201\374.\0243\343\001s\0364\342uj\236\007\326\310\224\232\372'\217po\"\326\217N\243?*\202\262\3240dT\006's?\2432\307\352\303\207\230\325w\222\246\333~ W\300X\375i9\364\331\211~\330\203}\274\210\272?\232\341\310Vx\253\336nY\343\027\362\013\230\366i\326\344w|\374b\376y\341\230\272E\257=\027\016\215O\347\177),\251;\217\325\343W4Qo\272T\013t\250\272\260\210\270\021\215\217\227\324\370\312\256\256]\306\237\345=+\262\313\2178\234\316\035PR\262\306i\231Q\363d\277\004\326\001k|\326\214I\216\246\215\334\215M{\300\326fB\316\0022\220\235\207\251/\276~\365z\220=\222\271\330 \237\004\211\237\253\371\375\260\205\276]\024rH\023\277\256q8\232\026_\201\177\371\245!i&\305\275N\225\327\263\273Wa1\222\254""\027\330\250\257e\243\354y\277\316%=\252\253_\302\222\341h\324\317\236\024*]\r\021\245i]\320;\344\272\200?\322\355E\023\301J\376\224\365\n\334-&Y8\nO\341\220-mrHW*\305\2642J@\035\357\034\323\352\303\200\014\006\304\311^v\224\247\350\216\371\325g\202\312}V\255\306\243\310\302\325A\346\364f\226\247\232\224\370'\221\200\305\352C\366\002\274}Jg\014\020\203\254\000\224+~f}\325\240\231\206\355\037q\342\323\271\244\345&#\3535T\013\240A\201\263\227\345\330\\\016\225\235\270}\017\253\365kx6%\034\004uQ\035!\032#\023\342P\376\017s\024|r\t\341o\334*\373\035\326\233\207\351A\256\276rY)\330K\305\2745L\006GC\304&\\<%D#\350\234\033u\034\205\277@\350\260\026\034\317\336\335TxQ-B\010B\326\254\235[wQ\257r\002 \265Z\251\355\216]\256\315\332S@\"D\304d\256Ny\324\325\373\314t{\253g\213\001\231\240\215\374\214o\331\267\002\357B\271i6\001\221\336\375\005\276\236\206/!\205\2230\275\351\237\251\374x\241\221\365od\232\325\323\341:\376\254\357\271\275\207\014q\370\325\207\234\272\276H)\203A\271x=Z\177\317$Pu\261$\343\250\354\364\363\304\026\251\260Gm\234\246\252\017\214\357\243\225\201|\030\232!h\311`\317\246\314\340\0243C?\306C\340\300w\262\310p\346\372rU\341zoH\032H\340\2217\354\274\352[\215\017\226\221\036c\034\355\031\326xj\352\310\364 \031l\314\024Y\204\251\036\316\006\302%2\001\t\243\337\2609V\270\003\323\300/z\307\000D\232\251\351\335\324\024\335_1%\014\033\rP\035UK\344\2353\236tb':\251\276\212\374I[\274T\024\366\350\262x\"\014\010\242\322r\n\243\001\371\243\212\316\341\201\355\363x\010\001\231\327;\232\336\r\365$\362\215-`\013\254\3463N\234\331+\301y\315Y\350\020\262\010x\203,\362\272\3551xVd\371N\253\351\204J\260\273t9\344-/\035f.\200\007|\332\r\265Jw\207&\366-\265%R\224\216\246\244m\t\330\272\310\230\311\230DM\343U\204\213\034\231m\006\331\254\220]\037\315\256\331~%\335\216\351|B\274\306\270\305r\"@\301\0140\361\320\024\002\223\305\322F\375\340\350\276;*\327\245\322\231qs\246T\0363\231\267\007?~9u<\352\322\253\243\"K\203 \237\250!\007\004\316\2727\365\022\303\353\263\211\357\301\205""\324,Xbg\371\216\027\353\265\324\030\315W\323\271\220G*\305\362\351m\007\304e\177v\031~\241\264\253\3211\351}v\rJ\203F?r\260\004\362\351\003d\373\314A\007\316\341\022\027\030\361i\316\365\373\265\324\275\035\274\316?\024\336\032OI\016\257z\016\001\257\200\367}\242\362*|\302\370@o\177\264\217\371J\033\373\024LVv\273\353\020\005\267\343n]\206\315\037\237\346\362:\221\271t\330\026\202\245Y\375\371\004\31281\r\335\246\311n\215\026\334\020N\327@\323\306\033\333~kM\257\312\342\177\213\223GO\311\335<\006\001\"z\270\326\261\t\256\346\"\027\227\371/\274\322C\373\362\177\332\330I\277\247\276\234\373\223\374\214\230\265c|}\250\030\336\277\035%30\274\357\257?\266\373\267\327\361\033\033\266\327t\3204\256EI\022\326\376z\276\376\224.0\214r\371_X\360l7$6\333\254\223+)\273(\320q\343\332\345kA\355\257\0313\356\016\215X\246\257k\303\261\223\026\234G\371S\264\366\367\233\353\340\023wlL\216\3658g\270\233\013y\272\300\325\316\2124\205\270\211\376\006\020\277\206E\r\345u\372~&\204\031\017\257\013\346\n)\363\342i\003S\335F\016\365\246,\363n/\323\341zT[j\371_\234'\216i5T\275\212xI\251\004\"\016e\226l\304\2530Y4|\271v\247\323<\217b\034Z\213\341m\323\332\254\246\026\324\002-\026O\325S\221\251.\267\322\352.\016\243\316E\324%.\230\020\037Wcds\262\310\303(\307U\330\315\032\236U\263\313j\031\222O\364\331<\256nr3\355\261\250\022\034\272\303\036t \213^\235\270\001:\207\325O\253_'\351 \021\177x\rOh$\034P+\\\214\311\252\016\035\264\030]7o\340]X\0255\207[4\304\206\315\221\302\224\266\025R\001m\207'\342\021\235&\347l\257\304\021*)/\374\257(A\354\202\342\203-\036\000MH\217\360\t\327\312\006\204O\276\240/\260#\t\210\344\256\013@\354\236J\304\177Y\000\342\277\246\355\340\023\367(\017\004d\371!GF\262-\375^t*;q\352\030@\000\255\314,\303(\370F^?\310\204\355\225\225\327i\021\306\331\270\3670\247\311\331\311\375\256W\365\302\240K\010\352D\313>HM{\343\366j:b\205k\267k\201&\307\n#R\350\366w\235\231S\231w\200\245V[\371\37623E7\370Z\256\205V\315:\250\336\272\225\360\203\260U\350\001u\001\327[\364\267\314\370\273|""\003\363\275\372.\317\321x\232$\233\372\024\031$\217\315\237\n\375\205U\225X\323\353\265\323\377\030\300\022\271}\271w\270\254\242\277%\346\366/\262\332\237\277%\221\352\257\353\014c\250wz\001_\337\201\224:\254\345\026\362\257M\241\344p[R\273\321A\225\217\360\353;8\312~\333\017\271\363\364\034\005\212\342\266$\335\016\200\345\2208y\325\035\235\246\251\260\306X\311\205\311\0208j\266\232\017\nQ\254nL\240\354t?\302<\240\217\311y\333g\n\365\210\333\342\0311\355\334\301\216~c\253\361\200|\255[\210\344\377m\335U\371\364v\253\273Q\346S\177\235{\006\214~\321\337\022\331\375\356\206\000\2002\316\344\306\362k\246\215(\267[\022\273\337]\225o\352!\240\251\253\357n\222\314\370W\306\025\343%Y\313\3643v<\264w\253\273*\237\035\272;\317u\273_\331\3455Q\266\020 \303\375\035\217\214\335\352_\242\363?\177\325\355\336\215\376%\234v\357o\353\177\235%\276\177\375\352\373/\302\022\337v\r\262^?P\0176\324\0069T/\325\313w\352\335\237U\336\022\204V\017\260o\362\351~\310\007\346\214[\003\344\345\350\177\006\235\377\262\t\317?\034\207;\237M\002\222\254\221y\000|\234@N\214.\210#n\035c\306%\366\367\360\242\262\210\236\366\030\213\265\355\252\335\216\361\3363\343\346\365\002\227G\334\2615\206\354\024\341\036\362\251\026\351\267\336Tw\331\223;2B\216\3679\232\213mQc\372\325\034H\025\307\024y\253\220\220~\215\221E\277b\324\321M\336\310_\001PG\324\007fm\205#\316\202\355\321v\256\0373[\262\351+\313\251\313\217 |\201X?\347\246\223\305\262\310\321L\302\267Q\n\261\001Ey\370\262\272L\356&g\007O-\026\022\034\320\351\002\302F$\217.0\345\330\003\311\242q2\026`\212#\310\204#b\322\301\301\266\220N\312v\243K\210\267\257\3205\002\377\264W-\320\033z_\335\207\343[\374\302\367V\357\210\321b\314\223\313\336M\353|\267\272E\327%\211$~\224\2750\273>\346\037\002\206C#\237\361o\275\307\215U\025\377\301|\251\026~U\277\212\334\374s\272\030u\200\261_\"\3518C\036\004tyj\214\204\032\277\224\177iN\026j\240\024]\264\371l\340\036\\\001I+\253\037s\t?\250p\200\346l\222\324Y\024\220>\262\357\213Q\016\234\222\323\241Q\220\3524u^\230""\344\271\210\3014\300~:\347\220H_\013y\025\232\347>i\365h\212n5\010.\2007 \250)\326v\263l\013C\301\033\274\005a7\235\370\235\216\026q\354\274\350&\371\263q\313\277\321\352\014 \003\300\353\006.{h\021\234\237\3660Zt\351vTp\226)\343`.\225o0\023V+W\377\372\333\033\315d\271vA\335\224\375\342f!\305\301y\256\375\273Io\360Ms\232\tr\365\035\342\253Bb\261\310\367\366\003\307\224\256p\251C\360\212\000\236\214V\261\317\021\361\224V\031w\326\204\352%\3042\374\227\205\234{k\037\007!\276\365\013\372\351\350\265\333\373\033\325\025)^\222\260\r\212;\202\273\314\347\377]\210s\216\016\202\353\201/\227LIsxn\332\005\3447\371\225\362~\241N]\005\351d\241\226\317C\223//\000_\334\303\276\223\214>\365\375\030\\M\240\211\201\014%{\211\302\273VI/=BD\342\357\303Y\255<9\274c\376\372\275\371K\344\357\335Sw\351\264\264r\374\246~cF\330jv\302\240_\3115\346\037\230\207\013+\274\000\255[\275\240};aF\315_\324*\255\212:\355\361?5\013H\rs\3043\225c\244\264\270\303\3367\007X\320\354\321\211\004\224\354\265\2516\200h\346\230\0301U\254?\350\214\373\303\374\313S\331\203FJ}?\313`\310U\276I\314c\324$E\010\367\265NE\344\263C\256\331}S\253\335\247\333\355\031\205\321\201&\365\375\214\232\221\362.\231\2729\363Tr\330\305B\2440\000b\332\242\300\021\202{\034T\227\376\031\230^*\315\007\315\366 \001\315\222wt\177\303\027\327d\026\362^U]\3768\r\3010\330\374K\177\266\331b\316\230\353\364\356m\250U\216u\370\237Q\311\367\300\301u\241X\355pf!\373\2071\226[\021a5z\277\245\270\023\341H\026Q\tg\257A\346X\235\230\241\241\360\223\026\207\340:\nO\262I\030eD6\213\226\003\337\206-\244\006Q\316Yj\372\310\211\262(*\347\372\360\266\"\t\373\302\274\311\257\020LoX\277\301og\002-\317\314v(\217XQN\352\352\3016fL\240\276\211/\335\031(G\351\327\305J\007\033\203\270\350\025uE\333\0359\023+\312Pe}\274\330G\3754\365\224\031hg\204\237\034\271\007\210=G\310\374\0331\332U\374\nL)\310;\320\377\210\361\316\322*\031\313\304\262\241\\\350\257\030\022>u\333d\247\303\310\252\371\016\211\321\232nu\370{`\220\032\266\023\014\303h\245g\320\311\261\332X""\221\323B1\311\251\245\023\232\026\214\211\037QG\324\270\275\201\346\364Ff\216\374SN+\t\363\275u\260\311\2124#\225\302\034H\010d\325\350\016\000\215l`\276\274b\370\300\366\204j`\324\223$\335\267\350\376\214\322sz\304\031~\326\3100\223*L\006\200\324\375\307\231\234O\027\215\261\210\250.\355\317&\323\311\355$\214\325\013x\304V\307 \036\025P\004\207\307D+\351H\214\3535\352]\241c\274\032\355\200\337\355\027\\f\305l\237'\352\355\311M\372\352\274\212\334p {\232\221\235\232\371\273\250yAF\014&\001G\326t\312HX\336V\321\310\332'):\030H\013H\nyZ[9m\367/\251\370w\016\363\354\313\221Y5r.\317%\251\032\242\340\344\0329\347\216\221p\235\327\324S\016\014Sx\220\242`\032-$\254n)\266z\313\311\370\237X\211g\213\337\310n\231\225;\030\231\360\001OD\227\r\2520\233\005\343_L\366\227\205\3250\236U\024\177\336\230)\3002\236;DI*|1\237\324\\\024\266\266\312U\324W\310\2730\352\343\322^ga\300\3336\013\000\247\352\365\341\345\210?mL\303`\376}\341:\2338\267,\267\317\036_a-J\234\372\031\2270$\374U\222/mK\207dAc$o\314\227^D.\021\006+T8\350#\360*\233\200\334\014\250\001\250\236w~#\022\327\306j>\316'\002H\\\232\272\220%\305\343`I\253\342\347h\000m4\347\026M\313W\200H_\366\243\350i\025\023\024\375\2540\232t\251N\007\311\037\250\344m&\227\220_\346a\2075\010\340\243c\271\347f\254\022\370\261\322&\2741\034wUJ\372!\373\326\014X\016r\024s\234Cj\3161\273\317-.\330\030Bb)\260\311\230@,\020{\350\372n\333\271\nx\215W\331\310\203\317\277E\223T\223\200\331\300\020\264\311\006\315<\252oK\033\231\223\311\376\202\226\033\315]+zl\302k\312U\272?\350\372Ll\024=\300\215\271\334\321|\273\331V\330W\330\344\000\017\371\362\354\326\3314!\336?Eg]c\342\242]\270\360\317^\311:\023'\225bA\035H\3504\224\003+\324S\273e\265\257\362\363\346FaQ\335&C\225}\333\321)55_8\256\326\004\231\336\260}\233&\3355~\200\234\262_O'\234\027f\334\370]M/\025x\360\355\210.\300\326>\370\215\246\245\333\005?\373@\206\261\r\275\231\224:\362=Y]\302\235a\2051\005s\341\034\002:\177\262bmm<\027Q\023W\315%\024\227H\216\245\334\201(j\034f\\\227{$\315\270j\212,""\007\0368\237?T#\205B\236#\2078\267\367\202\026\246\n\207Mr\025f\304s\030\226\276Zr\025\222\225\016;\215e-\033\363\034&\345\233\343f\250\322a\027A\325jx\017#\253@\305g\315q\330\\\025\016<\203\234r\326{_0K\215\262\017X\351~\016k\274\272{\334\031\355{I\302\354\363=Ngk\371-p\217<\001C\3632@j\025\273\354g\201\373\031\317\201\023\271\230:9g\276\240\225\240R\217g\301f\235\365\036\210i\364<[\207\025\016c\222\205l\302s\030\234\232\0379\nQ\351:\007\264\330\226{\334I\030\346\327\201\301\\\253x\344\240.!q\217$\317AM\316\027\306\001\252\250p\251S:]\357\036\210Y\377\347\374x!T\261\303!PR\030)\317q\223\360\037\031V\177\267\342\221GYa\312;*\000Q>\263Tx\3011p\306\332\220Q\302v\300vJ\327jG\323\013\232%\310\201\3320\320FG\226\274x\264b\025\332\242\000\201\245\204\205.X\203\221\014p\2660bH\220*)|$+\006\213\335\361\\J\244;\365R\0074\331&CsgA#\021\330\014\300\376;d\241\373\322nm\354;s\t\3003M{\246K\000\302l\323M\032{\215\251\\\242\\\343j\276\303\324\204ZCP\346\025\302\303&a\202{\304\357t\223`\002^\t\004@\033gn\025\001j\310\326E\252\214\274[\241q-['\355_<\310\206\202\tp\304\226\216\223\226\036;\004\213\302Wfi<\350T\245\307\034/\207A\332\2546\270b\204\330\367\027F\262\333\364b\203&\257\310\377\360\241\330m/C_\344`\325s\315\\FM\274[{\316\2001\025\356R]\260\300\206\274WpU\r\237\313G\034\0361DQ\316\211L\344\2301\356\nJ\2126\3705\362\273\240c\330\312\244\316\376B\374\220-J^\223Y\241\313^5\016kt/\2710\036\265w\371\2613\000<_\"Sg\000\272\204\0136\247E/-ss\364f\236\344\010\n\327\301z\233\266\270\026\266\216\013\377\330\316O\377A\376\nps\255\364\214V\244@\\l\377\327ZQ\362\272\241}\321!\251\343\226Z\350\021y\352\2621\206\233\303\224\315M6Z\215\005Ut\311\234\226\207\t1\341{\234V\371\207\205\021`\261\344+\033\302<R8\253V\310\252\341\305\376\364yF\367\274%#\003\352\010jMG\322\360\266\267\311y#\351\356LI\265=\336\302P&\242\207%\2032\277&\355`\227F\337\312O\344K7\275\374\020[44\206\0131\315\320F\377\270\023\306\026\255\205\315B\273\277O$J2)\337Fi\356a3\315\006\377Q\036\265I|DY\300w(\272\2406\224\372V""\246\220\262\001\377nQH\244\030ie\317\211\026;\000j\270c&\257\260kXl\344t\320\027@\207\321\035\3217\205\002g\240\371z\207\354M\263\250\037\025\202\242\235^M\025~Oy\226*\365\017\314\336C\377\250\351\340\026L!\341v\367\243D\221\036e'\324\240\324\244\351\226'\331\373F\2034\010\317%\\\366\031\304:\336\246\367\322\214\262IM\014\246k\334~\316\350\343\016\232\014\352\315\031s\265\020\005\244\007\221q\241\236>%\244t'\341\027\350\005\n[O\350I\375\207oM\213q#\227\250\364\r\336=Y$m\010n\242\310X\333\224\3008\021jq\267\237qA\213\273\3154U\337\260\035<\177\331\355\342\016\367\367ls\260\250\302\365?\345\302\250\317\357/\375\333\037<\367\310\005L\342Q=\025b!\211\3514khfC\233-Pr\226^\2469\026l\206\355\327 \313\235\006TN\363;\374\035(^5VUs\014\345\022\316u\374\377\357\n\342]5L3Uu\227EW\033\233\341\314L\203\316\021\351\264\246\215\231b\\\242:0\300\034)\370=\232\357 e5tf\372\355\242:\247M\0333\331\210\247\r\371\n'\330\317m\354\234\027\231\223\345\242\321EN\302X\201\254\016d\207\177!o\210\013e\030\304\037a\002?0\016\326\353\"s5\300j\002/\270 \357_<\205\005B]Nh\216\334h\315`\353\222C`\356\371\017g-hJ\251\243\023N\260,3\253\326\264df3\017\263\243\234.i\212\330m3\250\347\351\344\3101-!H\357Mq\372%:\230\275\307\265Q\010\233\343\237F\021\r\264\242(\350x\206>4\335Z\364\010S\020\366\361\"\036/F\3333\365YV\227\001c\3102 \251\364\310\332\361\024\216q\240h\2059pP\033\022mK\277\243\007\316\331\020\276\367\355 \254\373HO\022\037T\357Y\232\262\243\255\236k\242\223\224^\3177\366\247zi\205\321\035\202r\r\035\306\262=l\251>\024Bt\247\377\362\307\223o\255\217G\215\241\357\202\365M\224\026\204\2669\2402\215|\026\231yt\276-P\307C\261i\210%\027\257\024RV{\007\331f\255]R\233\0053\255\203\236\344\250\261D^J\235Z&7\\\212uu\241\357\"\376,\356Y\332c\265\367\251\276\t5\241Q\355\324\372o\273\202m\005\177V\366\254\322>\343j|\316\374]\375\364H=z\257\336\177\260\332G\311\211\275\236_P?\010c_\340\255\344%\037%\371\315\316z<\221\213U\370\204b\021\267\255\0268`F\257\327A\256\334)\307\330\367\327\226\2566pp\274\233""\\\263q(\227*!\224\222\301\376\226\355\263C,^\370\022\262\354\030\277\032_+\2742!\246\031\373\310\232\275\337\322G\033\212G%\rT\266\2176\316b\207\266C>1(\270\024Mm\314\347\t\332\355\323F\304\275\210\230\346\340\3002\323\302\250\235\230\350n\240\210\327_\026d\213\021H\266\277\tY\315\210\320r#i\337$\351\225\001\t\367u\261fT\014\251\241\263\331\270\344\201h|\364@nFc\322\235\235\304\366\323\2753Es\013\375\376[\\\374R\213\311\263\344\226\240\327\265\314M\221\261\226\212\3737\202I\221\320\270\375\313q\342\233\377\007\240\313\345M";
    PyObject *data = __Pyx_DecompressString(cstring, 32150, 1);
    if (unlikely(!data)) __PYX_ERR(0, 1, __pyx_L1_error)
    const char* const bytes = __Pyx_PyBytes_AsString(data);
    #if !CYTHON_ASSUME_SAFE_MACROS
    if (likely(bytes)); else { Py_DECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) }
    #endif
    #else /* compression: none (98772 bytes) */
const char* const bytes = ":  != 3Adding coefficients to %s constraints is not implemented.All dimensions preceding dimension %d must be indexed and not slicedArgument 'expr' has incorrect type, expected 'Expr', 'GenExpr', or 'MatrixExpr', got \n    Attributes\n    ----------\n    status: str\n        Status of the problem (optimal solution found, infeasible, etc.)\n    total_time : float\n        Total time since model was created\n    solving_time: float\n        Time spent solving the problem\n    presolving_time: float\n        Time spent on presolving\n    reading_time: float\n        Time spent on reading\n    copying_time: float\n        Time spent on copying\n    problem_name: str\n        Name of problem\n    presolved_problem_name: str\n        Name of presolved problem\n    n_nodes: int\n        The number of nodes explored in the branch-and-bound tree\n    n_solutions_found: int\n        number of found solutions\n    first_solution: float\n        objective value of first found solution\n    primal_bound: float\n        The best primal bound found\n    dual_bound: float\n        The best dual bound found\n    gap: float\n        The gap between the primal and dual bounds\n    primal_dual_integral: float\n        The primal-dual integral\n    n_vars: int\n        number of variables in the model\n    n_binary_vars: int\n        number of binary variables in the model\n    n_integer_vars: int\n        number of integer variables in the model\n    n_implicit_integer_vars: int\n        number of implicit integer variables in the model\n    n_continuous_vars: int\n        number of continuous variables in the model\n    n_presolved_vars: int\n        number of variables in the presolved model\n    n_presolved_continuous_vars: int\n        number of continuous variables in the presolved model\n    n_presolved_binary_vars: int\n        number of binary variables in the presolved model\n    n_presolved_integer_vars: int\n        number of integer variables in the presolved model\n    n_p""resolved_implicit_integer_vars: int\n        number of implicit integer variables in the presolved model\n    n_maximal_cons: int\n        number of maximal constraints in the model\n    n_initial_cons: int\n        number of initial constraints in the presolved model\n    n_presolved_maximal_cons: int\n        number of maximal constraints in the presolved model\n    n_presolved_conss: int\n        number of initial constraints in the model\n    Base of a**x must be positive, as expression is reformulated to scip.exp(x * scip.log(a)); got %gBuffer view does not expose stridesCan only create a buffer that is contiguous in memory.Can only support constraints with '<=', '>=', or '=='.Can't evaluate constraints as booleans.\n\nIf you want to add a ranged constraint of the form\n   lhs <= expression <= rhs\nyou have to use parenthesis to break the Python syntax for chained comparisons:\n   lhs <= (expression <= rhs)\nCannot assign to read-only memoryviewCannot create writable memory view from read-only memoryviewCannot get solution time: solution is None or NULLCannot index with type 'Cannot set value to a freed solution.Cannot transpose memoryview with indirect dimensionsConstant offsets in objective are not supported!Could not find heuristic <%s>D array.Dimension %d is not directDimension mismatch in provided previous features and new features:Dual BoundEmpty shape tuple for cython.arrayExpected Variable, got Expected Variable or list of Variable, got Expected a 1D array, but got a ExprCons(ExprCons already has lower boundExprCons already has upper boundExpr(%s)First SolutionGiven constraint list is not iterable.Given constraint list is not iterableIndex out of bounds (axis %d)Indirect dimensions not supportedInvalid mode, expected 'c' or 'fortran', got Invalid shape in axis LP.lpLiteral['__call__', 'reduce', 'reduceat', 'accumulate', 'outer', 'at']<MemoryView of Method cannot be called in stage NDArray[np.float64]No IIS exists. You need to first call generateIIS() or"" run the iisfinderexec method of your custom IISfinder class.No solution availableNonlinear objective functions are not supported!Not a valid parameter nameNote that Cython is deliberately stricter than PEP-484 and rejects subclasses of builtin types. If you need to pass subclasses then set the 'annotation_typing' directive to False.Number of variables and weights must be the same.Optional[Union[int, Tuple[int, ...]]]Out of bounds on buffer access (axis Presolved ConstraintsPresolved Problem namePresolved VariablesPrevious column features is emptyPrevious edge features is emptyPrevious row features is emptyPrimal BoundProblem nameProvide BOOLEAN value as rhsvar, you gave %s.Ranged ExprCons can only support with '<=' or '>='.Ranged ExprCons is not well defined!SCIP: a required plugin was not found !SCIP: cannot create file!SCIP does not support nonlinear objective functions. Consider using set_nonlinear_objective in the pyscipopt.recipe.nonlinearSCIP: error in LP solver!SCIP: error in input data!SCIP: file not found error!SCIP: insufficient memory error!SCIP: maximal branching depth level exceeded!SCIP: method cannot be called at this time in solution process!SCIP: method returned an invalid result code!SCIP must be built with `DEBUGSOL=true` to enable the debug solution mechanism.SCIP must be built with `DEBUGSOL=true` to disable the debug solution mechanism.SCIP: no problem exists!SCIP: read error!SCIP: reading solution from file SCIP returned base status zero for a row!SCIP returned unknown base status!SCIP: the given key is already existing in table!SCIP: the parameter is not of the expected type!SCIP: the parameter with the given name was not found!SCIP: the value is invalid for the given parameter!SCIP: unknown return code!SCIP: unspecified error!SCIP was compiled without task processing interface. Parallel solve not possible - using optimize() instead of solveConcurrent()SCIP: write error!Solutions foundStep may not be zero (axis %d)Term(%s)The constraint hand""ler %s does not have this functionality.The given capsule does not contain a valid scip pointerThe given variable is not a pyvar, but %sThe number of coefficients in the LP has changed. Previous edge data being ignoredThe number of columns has changed. Previous column data being ignoredThe number of rows has changed. Previous row data being ignoredThe problem does not have a primal ray.The sub_model must have at least as many variables as the main model.This functionality can only been called in SCIP_STAGE SOLVING. The row and columninformation is then accessibleTo create a solution you should use the createSol method of the Model class.Total TimeUnable to convert item to objectUnion[ExprCons, MatrixExprCons]Union[Expr, GenExpr, MatrixExpr]Union[Expr, np.ndarray]Union[Variable, MatrixVariable]Union[bool, np.ndarray]Union[float, np.ndarray]Union[int, Tuple]Union[int, float, np.ndarray]Union[int, float, np.ndarray, None]Union[str, np.ndarray]Unrecognized direction for rounding: Unsupported base type Unsupported type Without a solution, method can only be called in stage SOLVING.{} {} {} != \n.: +-*/**<=>=?>'), (,addExprNonlinear can only be called with nonlinear constraints.addExprNonlinear cannot be called in stage %i.add_note and  at 0xbenderscreatesub() is a fundamental callback and should be implemented in the derived classbenderscutexec() is a fundamental callback and should be implemented in the derived classbendersgetvar() is a fundamental callback and should be implemented in the derived classbranchexecext() is a fundamental callback and should be implemented in the derived classbranchexeclp() is a fundamental callback and should be implemented in the derived classbranchexecps() is a fundamental callback and should be implemented in the derived class can only be called with a valid solution or in stage SOLVING (current stage: can only support '<=', '>=', or '=='can only support '<=' or '>='cannot create BoundChange with SCIP_BOUNDCHG* == NULLcannot create Colu""mnExact with SCIP_COLEXACT* == NULLcannot create Column with SCIP_COL* == NULLcannot create Constraint with SCIP_CONS* == NULLcannot create DomainChanges with SCIP_DOMCHG* == NULLcannot create Event with SCIP_EVENT* == NULLcannot create Model with SCIP* == NULLcannot create NLRow with SCIP_NLROW* == NULLcannot create Row with SCIP_ROW* == NULLcannot create Row with SCIP_ROWEXACT* == NULLcannot create Solution with SCIP* == NULLcannot create Variable with SCIP_VAR* == NULLcannot divide by 0.cipcoefficients not available for constraints of type collections.abcconscheck() is a fundamental callback and should be implemented in the derived classconsenfolp() is a fundamental callback and should be implemented in the derived classconsenfops() is a fundamental callback and should be implemented in the derived classconsenforelax() is a fundamental callback and should be implemented in the derived classconslock() is a fundamental callback and should be implemented in the derived classconstraint is not nonlinearconstraint is not quadraticconstraints/benders/activeconstraints/benderslp/active<contiguous and direct><contiguous and indirect>could not change variable type of variable %sdisabledual solution values not available for constraints of type enableevent handler not foundeventexec() is a fundamental callback and should be implemented in the derived classexpected inequality that has either only a left or right hand sideexpected linear inequality, expression has degree %dexponents must be numbers failed! for exponentiation.freeBendersSubproblems() is deprecated and no longer needed. Benders subproblems are automatically freed when the master Model is deallocated.gcgiven coefficients are neither Expr or number but %sgiven coefficients are not Expr but %sgiven constraint is not ExprCons but %sgiven constraint is not MatrixExprCons nor ExprCons but %sgiven constraint is not linear, degree == %dgiven constraint is not quadratic, degree == %d (got got differing extents in dimensi""on heurexec() is a fundamental callback and should be implemented in the derived classiisfinderexec() is a fundamental callback and should be implemented in the derived classiisfinderexec() must return a dictionary.isenableditemsize <= 0 for cython.arraylimit reachedlinked SCIP is not compatible to this version of PySCIPOpt - use at least versionlinked SCIP {}.{} is not recommended for this version of PySCIPOpt - use version {}.{}.{}(m,n),(n,p)->(m,p)method can only be called in stage PROBLEMmethod cannot be called before problem is solvedmethod cannot be called for constraints of type method cannot be called in stage %i.model.cipmodel.getDualMultiplier(cons) is deprecated: please use model.getDualsolLinear(cons)no default __reduce__ due to non-trivial __cinit__no reduced cost available for variable np.ndarraynp.ufuncnumber of runsnumpy._core.multiarray failed to importnumpy._core.umath failed to import object>optimal solution foundorigprob.solorigprob.statsorigprob.stats.jsonparam.setpresolexec() is a fundamental callback and should be implemented in the derived classpricerfarkas() is a fundamental callback and should be implemented in the derived classpricerredcost() is a fundamental callback and should be implemented in the derived classprimal-dualpropagating/maxroundspropagating/maxroundsrootpropexec() is a fundamental callback and should be implemented in the derived classpropresprop() is a fundamental callback and should be implemented in the derived classreadStatistics can only be called if the problem was solvedrelaxexec() is a fundamental callback and should be implemented in the derived classrelaxexec() must return a dictionary.self._benders cannot be converted to a Python object for picklingself._iis cannot be converted to a Python object for picklingself._iis,self._scip,self._valid cannot be converted to a Python object for picklingself.event cannot be converted to a Python object for picklingself.lpi cannot be converted to a Python object for picklingse""lf.scip_boundchg cannot be converted to a Python object for picklingself.scip_col cannot be converted to a Python object for picklingself.scip_col_exact cannot be converted to a Python object for picklingself.scip_cons cannot be converted to a Python object for picklingself.scip_domchg cannot be converted to a Python object for picklingself.scip_iis,self.scip_iisfinder cannot be converted to a Python object for picklingself.scip_nlrow cannot be converted to a Python object for picklingself.scip_node cannot be converted to a Python object for picklingself.scip_pricer cannot be converted to a Python object for picklingself.scip_row cannot be converted to a Python object for picklingself.scip_row_exact cannot be converted to a Python object for picklingself.scip,self.sol cannot be converted to a Python object for picklingself.scip_var cannot be converted to a Python object for picklingsrc/pyscipopt/benders.pxisrc/pyscipopt/benderscut.pxisrc/pyscipopt/branchrule.pxisrc/pyscipopt/conshdlr.pxisrc/pyscipopt/cutsel.pxisrc/pyscipopt/event.pxisrc/pyscipopt/expr.pxisrc/pyscipopt/heuristic.pxisrc/pyscipopt/iisfinder.pxisrc/pyscipopt/lp.pxisrc/pyscipopt/matrix.pxisrc/pyscipopt/nodesel.pxisrc/pyscipopt/presol.pxisrc/pyscipopt/pricer.pxisrc/pyscipopt/propagator.pxisrc/pyscipopt/reader.pxisrc/pyscipopt/relax.pxisrc/pyscipopt/scip.pxisrc/pyscipopt/sepa.pxi<strided and direct><strided and direct or indirect><strided and indirect>term length must be 1 or 2 but it is %stotal number of solutions found is not valid!transprob.sol(tree fragment)unable to allocate array data.unable to allocate shape and strides.unrecognized objective senseunrecognized optimization sense: %sunrecognized variable typeutf-8weights not available for constraints of type wrote parameter settings to file wrote problem to file AFTERLPLOOPAFTERLPNODEAFTERLPPLUNGEAFTERPROPLOOPAFTERPSEUDONODEAFTERPSEUDOPLUNGEAGGREGATEDAGGRESSIVEASCIIAUTOBBARRIERCONVTOLBEFORELPBEFORENODEBEFOREPRESOLBENCHMARKBESTSOLFOUNDBESTSOLLIMITBINA""RYBOUNDCHANGEDBOUNDRELAXEDBOUNDTIGHTENEDBRANCHEDBendersBenders.__reduce_cython__Benders.__setstate_cython__Benders.benderscreatesubBenders.bendersexitBenders.bendersexitpreBenders.bendersexitsolBenders.bendersfreeBenders.bendersfreesubBenders.bendersgetvarBenders.bendersinitBenders.bendersinitpreBenders.bendersinitsolBenders.benderspostsolveBenders.benderspresubsolveBenders.benderssolvesubBenders.benderssolvesubconvexBenderscutBenderscut.__reduce_cython__Benderscut.__setstate_cython__Benderscut.benderscutexecBenderscut.benderscutexitBenderscut.benderscutexitsolBenderscut.benderscutfreeBenderscut.benderscutinitBenderscut.benderscutinitsolBoundChangeBoundChange.__reduce_cython__BoundChange.__setstate_cython__BoundChange.getBoundchgtypeBoundChange.getBoundtypeBoundChange.getNewBoundBoundChange.getVarBoundChange.isRedundantBranchruleBranchrule.__reduce_cython__Branchrule.__setstate_cython__Branchrule.branchexecextBranchrule.branchexeclpBranchrule.branchexecpsBranchrule.branchexitBranchrule.branchexitsolBranchrule.branchfreeBranchrule.branchinitBranchrule.branchinitsolCCHECKCHILDCOLUMNCONDITIONLIMITCONFLICTCONSCONSADDEDCONSCHANGEDCONSTCONTINUOUSCOUNTERCPSOLVERCUTOFFColumnColumnExactColumnExact.__reduce_cython__ColumnExact.__setstate_cython__Column.__reduce_cython__Column.__setstate_cython__Column.getAgeColumn.getBasisStatusColumn.getLPPosColumn.getLbColumn.getObjCoeffColumn.getPrimsolColumn.getUbColumn.getVarColumn.isIntegralConshdlrConshdlr.__reduce_cython__Conshdlr.__setstate_cython__Conshdlr.consactiveConshdlr.conscheckConshdlr.conscopyConshdlr.consdeactiveConshdlr.consdeleteConshdlr.consdelvarsConshdlr.consdisableConshdlr.consenableConshdlr.consenfolpConshdlr.consenfopsConshdlr.consenforelaxConshdlr.consexitConshdlr.consexitpreConshdlr.consexitsolConshdlr.consfreeConshdlr.consgetdivebdchgsConshdlr.consgetnvarsConshdlr.consgetpermsymgraphConshdlr.consgetsignedpermsymgraphConshdlr.consgetvarsConshdlr.consinitConshdlr.consinitlpConshdlr.consinitpreConshdlr.consinitsolCo""nshdlr.conslockConshdlr.consparseConshdlr.conspresolConshdlr.consprintConshdlr.conspropConshdlr.consrespropConshdlr.conssepalpConshdlr.conssepasolConshdlr.constransConstantConstant.__reduce_cython__Constant.__setstate_cython__Constant._evaluateConstraintConstraint.__reduce_cython__Constraint.__setstate_cython__Constraint.getConshdlrNameConstraint.isActiveConstraint.isCheckedConstraint.isDynamicConstraint.isEnforcedConstraint.isInitialConstraint.isKnapsackConstraint.isLinearConstraint.isLinearTypeConstraint.isLocalConstraint.isModifiableConstraint.isNonlinearConstraint.isOriginalConstraint.isPropagatedConstraint.isRemovableConstraint.isSeparatedConstraint.isStickingAtNodeConstraint.ptrConstraintsCutselCutsel.__reduce_cython__Cutsel.__setstate_cython__Cutsel.cutselexitCutsel.cutselexitsolCutsel.cutselfreeCutsel.cutselinitCutsel.cutselinitsolCutsel.cutselselectDEADENDDEFAULTDELAYEDDIDNOTFINDDIDNOTRUNDISABLEDDOMCHANGEDDOWNWARDSDUALBOUNDIMPROVEDDUALFEASTOLDUALLIMITDURINGLPLOOPDURINGPRESOLLOOPDURINGPRICINGLOOPDomainChangesDomainChanges.__reduce_cython__DomainChanges.__setstate_cython__DomainChanges.getBoundchgsEASYCIPERROREXHAUSTIVEEXITPRESOLVEEXITSOLVEEllipsisEventEventHandlerEventNamesEvent.__reduce_cython__Event.__setstate_cython__Event._getEventNamesEvent.getNameEvent.getNewBoundEvent.getNodeEvent.getOldBoundEvent.getRowEvent.getTypeEvent.getVarEventhdlrEventhdlr.__reduce_cython__Eventhdlr.__setstate_cython__Eventhdlr.eventcopyEventhdlr.eventdeleteEventhdlr.eventexecEventhdlr.eventexitEventhdlr.eventexitsolEventhdlr.eventfreeEventhdlr.eventinitEventhdlr.eventinitsolExprExprConsExprCons.__reduce_cython__ExprCons.__setstate_cython__ExprCons.normalizeExpr.__reduce_cython__Expr.__setstate_cython__Expr._evaluateExpr.degreeExpr.normalizeFASTFASTMIPFEASIBILITYFEASIBLEFEASTOLFIRSTLPSOLVEDFIXEDFOCUSNODEFORKFOUNDSOLFREEFREETRANSFROMSCRATCHGAPLIMITGAPUPDATEDGBDCHANGEDGHOLEADDEDGHOLECHANGEDGHOLEREMOVEDGLBCHANGEDGUBCHANGEDGapGenExprGenExpr.__reduce_cython__GenExpr.__setstate_cytho""n__GenExpr.degreeGenExpr.getOpGenExprsHARDLPHOLECHANGEDHeurHeur.__reduce_cython__Heur.__setstate_cython__Heur.heurexecHeur.heurexitHeur.heurexitsolHeur.heurfreeHeur.heurinitHeur.heurinitsolIIISIIS.__reduce_cython__IIS.__setstate_cython__IIS.getNNodesIIS.getSubscipIIS.getTimeIIS.greedyMakeIrreducibleIIS.isSubscipInfeasibleIIS.isSubscipIrreducibleIIS.setSubscipInfeasibleIIS.setSubscipIrreducibleIISfinderIISfinder.__reduce_cython__IISfinder.__setstate_cython__IISfinder.iisfinderexecIISfinder.iisfinderfreeIMPLADDEDIMPLINTINFEASIBLEINFORUNBDINITINITPRESOLVEINITSOLVEINTEGERITERLIMITIterableJUNCTIONLBCHANGEDLBRELAXEDLBTIGHTENEDLC_NUMERICLEAFLHOLEADDEDLHOLECHANGEDLHOLEREMOVEDLOOSELPLPEVENTLPINFOLPITLIMLPSOLLPSOLVEDLPTILIMLP.__reduce_cython__LP.__setstate_cython__LP.addColLP.addColsLP.addRowLP.addRowsLP.chgBoundLP.chgCoefLP.chgObjLP.chgSideLP.clearLP.delColsLP.delRowsLP.getActivityLP.getBasisIndsLP.getBoundsLP.getDualLP.getDualRayLP.getIntParamLP.getNIterationsLP.getObjValLP.getPrimalLP.getPrimalRayLP.getRealParamLP.getRedcostLP.getSidesLP.infinityLP.isDualFeasibleLP.isInfinityLP.isOptimalLP.isPrimalFeasibleLP.ncolsLP.nrowsLP.readLPLP.setIntParamLP.setRealParamLP.solveLP.writeLPLiteralMMAJORMARKOWITZMEDIUMMEMLIMITMINORMODELMULTAGGRMatrixConstraintMatrixConstraint.getConshdlrNameMatrixConstraint.isActiveMatrixConstraint.isCheckedMatrixConstraint.isDynamicMatrixConstraint.isEnforcedMatrixConstraint.isInitialMatrixConstraint.isLinearMatrixConstraint.isLocalMatrixConstraint.isModifiableMatrixConstraint.isNonlinearMatrixConstraint.isPropagatedMatrixConstraint.isRemovableMatrixConstraint.isSeparatedMatrixConstraint.isStickingAtNodeMatrixExprMatrixExprConsMatrixExprCons.__array_ufunc__MatrixExprCons.__array_ufunc__.<locals>.genexprMatrixExprCons.__eq__MatrixExpr.__array_ufunc__MatrixExpr.__array_ufunc__.<locals>.genexprMatrixExpr._evaluateMatrixGenExprMatrixVariableMatrixVariable.getAvgSolMatrixVariable.getColMatrixVariable.getIndexMatrixVariable.getLPSolMatrixVariable.getLbGlobalM""atrixVariable.getLbLocalMatrixVariable.getLbOriginalMatrixVariable.getObjMatrixVariable.getUbGlobalMatrixVariable.getUbLocalMatrixVariable.getUbOriginalMatrixVariable.isInLPMatrixVariable.varMayRoundMatrixVariable.vtypeModelModel.__reduce_cython__Model.__setstate_cython__Model._createConsGenNonlinearModel._createConsLinearModel._createConsNonlinearModel._createConsQuadraticModel._getStageNamesModel.activateBendersModel.addBendersSubproblemModel.addCoefKnapsackModel.addCoefLinearModel.addConsModel.addConsAndModel.addConsCardinalityModel.addConsCoeffModel.addConsDisjunctionModel.addConsElemDisjunctionModel.addConsIndicatorModel.addConsKnapsackModel.addConsLocalModel.addConsNodeModel.addConsOrModel.addConsSOS1Model.addConsSOS2Model.addConsXorModel.addConssModel.addCutModel.addExprNonlinearModel.addMatrixConsModel.addMatrixConsIndicatorModel.addMatrixVarModel.addObjoffsetModel.addPoolCutModel.addPyConsModel.addRowDiveModel.addRowExactModel.addSolModel.addVarModel.addVarLocksModel.addVarLocksTypeModel.addVarSOS1Model.addVarSOS2Model.addVarToRowModel.adjustedVarLbModel.adjustedVarUbModel.aggregateVarsModel.allColsInLPModel.allowNegSlackExactModel.appendVarSOS1Model.appendVarSOS2Model.applyCutsProbingModel.attachEventHandlerCallbackModel.backtrackProbingModel.branchLPExactModel.branchVarModel.branchVarValModel.cacheRowExtensionsModel.calcChildEstimateModel.calcNodeselPriorityModel.catchEventModel.catchRowEventModel.catchVarEventModel.checkBendersSubproblemOptimalityModel.checkQuadraticNonlinearModel.checkSolModel.chgCapacityKnapsackModel.chgCoefLinearModel.chgLhsModel.chgReoptObjectiveModel.chgRhsModel.chgRowLhsDiveModel.chgRowRhsDiveModel.chgVarBranchPriorityModel.chgVarLbModel.chgVarLbDiveModel.chgVarLbGlobalModel.chgVarLbNodeModel.chgVarLbProbingModel.chgVarObjDiveModel.chgVarObjProbingModel.chgVarTypeModel.chgVarUbModel.chgVarUbDiveModel.chgVarUbGlobalModel.chgVarUbNodeModel.chgVarUbProbingModel.computeBestSolSubproblemsModel.constructLPModel.copyLargeNeighborhoodSearc""hModel.countModel.createChildModel.createConsModel.createConsFromExprModel.createEmptyRowSepaModel.createEmptyRowUnspecModel.createOrigSolModel.createPartialSolModel.createProbBasicModel.createSolModel.cutoffNodeModel.deactivatePricerModel.delCoefLinearModel.delConsModel.delConsLocalModel.delVarModel.disableDebugSolModel.disablePropagationModel.dropEventModel.dropRowEventModel.dropVarEventModel.enableDebugSolModel.enableExactSolvingModel.enableReoptimizationModel.endDiveModel.endProbingModel.endStrongbranchModel.epsilonModel.feasCeilModel.feasFloorModel.feasFracModel.feasRoundModel.feastolModel.fixVarModel.fixVarProbingModel.flushRowExtensionsModel.fracModel.freeBendersSubproblemsModel.freeProbModel.freeReoptSolveModel.freeSolModel.freeTransformModel.from_ptrModel.generateIISModel.getActivityModel.getBendersAuxiliaryVarModel.getBendersSubproblemModel.getBendersVarModel.getBestChildModel.getBestLeafModel.getBestNodeModel.getBestSiblingModel.getBestSolModel.getBestboundNodeModel.getBipartiteGraphRepresentationModel.getBranchScoreMultipleModel.getCapacityKnapsackModel.getChildrenModel.getColRedCostModel.getConditionModel.getConsNVarsModel.getConsValsModel.getConsVarsModel.getConssModel.getCurrentNodeModel.getCutEfficacyModel.getCutLPSolCutoffDistanceModel.getCutoffboundModel.getDepthModel.getDualMultiplierModel.getDualSolValModel.getDualboundModel.getDualboundRootModel.getDualfarkasKnapsackModel.getDualfarkasLinearModel.getDualsolKnapsackModel.getDualsolLinearModel.getGapModel.getHeurTimingModel.getIISModel.getLPBInvARowModel.getLPBInvRowModel.getLPBasisIndModel.getLPBranchCandsModel.getLPColsDataModel.getLPObjValModel.getLPRowsDataModel.getLPSolstatModel.getLeavesModel.getLhsModel.getLinearConsIndicatorModel.getLocalEstimateModel.getLowerboundModel.getMajorVersionModel.getMaxDepthModel.getMinorVersionModel.getNBestSolsFoundModel.getNBinVarsModel.getNChildrenModel.getNConssModel.getNContVarsModel.getNCountedSolsModel.getNCutsModel.getNCutsAppliedModel.getNFeasibleLeave""sModel.getNImplVarsModel.getNInfeasibleLeavesModel.getNIntVarsModel.getNLPBranchCandsModel.getNLPColsModel.getNLPIterationsModel.getNLPRowsModel.getNLPsModel.getNLeavesModel.getNLimSolsFoundModel.getNNlRowsModel.getNNodeLPIterationsModel.getNNodesModel.getNReadersModel.getNSepaRoundsModel.getNSiblingsModel.getNSolsModel.getNSolsFoundModel.getNStrongbranchLPIterationsModel.getNTotalNodesModel.getNVarsModel.getNVarsAndModel.getNlRowActivityBoundsModel.getNlRowSolActivityModel.getNlRowSolFeasibilityModel.getNlRowsModel.getObjValModel.getObjectiveModel.getObjectiveSenseModel.getObjlimitModel.getObjoffsetModel.getOpenNodesModel.getParamModel.getParamsModel.getPlungeDepthModel.getPresolvingTimeModel.getPrimalDualIntegralModel.getPrimalRayModel.getPrimalRayValModel.getPrimalboundModel.getPrioChildModel.getPrioSiblingModel.getProbNameModel.getProbingDepthModel.getPseudoBranchCandsModel.getReadingTimeModel.getResultantAndModel.getRhsModel.getRowActivityModel.getRowDualSolModel.getRowLPActivityModel.getRowLinearModel.getRowNumIntColsModel.getRowObjParallelismModel.getRowParallelismModel.getSiblingsModel.getSlackModel.getSlackVarIndicatorModel.getSolObjValModel.getSolTimeModel.getSolValModel.getSolsModel.getSolvingTimeModel.getStageModel.getStageNameModel.getStatusModel.getTechVersionModel.getTermsQuadraticModel.getTotalTimeModel.getTransformedConsModel.getTransformedVarModel.getTreesizeEstimationModel.getValModel.getValsLinearModel.getVarDictModel.getVarLbDiveModel.getVarPseudocostModel.getVarPseudocostScoreModel.getVarRedcostModel.getVarStrongbranchModel.getVarStrongbranchLastModel.getVarStrongbranchNodeModel.getVarUbDiveModel.getVarsModel.getVarsAndModel.getWeightsKnapsackModel.hasPrimalRayModel.hideOutputModel.inProbingModel.inRepropagationModel.includeBendersModel.includeBendersDefaultCutsModel.includeBenderscutModel.includeBranchruleModel.includeConshdlrModel.includeCutselModel.includeDefaultPluginsModel.includeEventhdlrModel.includeHeurModel.includeIISfinderModel.includ""eNodeselModel.includePresolModel.includePricerModel.includePropModel.includeReaderModel.includeRelaxModel.includeSepaModel.infinityModel.initBendersDefaultModel.interruptSolveModel.isAndConsSortedModel.isCutEfficaciousModel.isEQModel.isExactModel.isFeasEQModel.isFeasGEModel.isFeasGTModel.isFeasIntegralModel.isFeasLEModel.isFeasLTModel.isFeasNegativeModel.isFeasPositiveModel.isFeasZeroModel.isGEModel.isGTModel.isHugeValueModel.isInfinityModel.isIntegralModel.isLEModel.isLPSolBasicModel.isLTModel.isNLPConstructedModel.isNegativeModel.isObjChangedProbingModel.isObjIntegralModel.isPositiveModel.isZeroModel.lpiGetIterationsModel.markDoNotAggrVarModel.markDoNotMultaggrVarModel.newProbingNodeModel.optimizeModel.optimizeNogilModel.presolveModel.printBestSolModel.printConsModel.printExternalCodeVersionsModel.printNlRowModel.printProblemModel.printRowModel.printSolModel.printStatisticsModel.printStatisticsJsonModel.printVersionModel.propagateProbingModel.readParamsModel.readProblemModel.readSolModel.readSolFileModel.redirectOutputModel.relaxModel.releaseRowModel.repropagateNodeModel.resetParamModel.resetParamsModel.restartSolveModel.separateSolModel.setBendersSubproblemIsConvexModel.setBoolParamModel.setCharParamModel.setCheckModel.setEmphasisModel.setEnforcedModel.setHeurTimingModel.setHeuristicsModel.setInitialModel.setIntParamModel.setLogfileModel.setLongintParamModel.setMaximizeModel.setMinimizeModel.setModifiableModel.setObjIntegralModel.setObjectiveModel.setObjlimitModel.setParamModel.setParamsModel.setParamsCountsolsModel.setPresolveModel.setProbNameModel.setRealParamModel.setRelaxSolValModel.setRemovableModel.setSeparatingModel.setSolValModel.setStringParamModel.setupBendersSubproblemModel.solveBendersSubproblemModel.solveConcurrentModel.solveDiveLPModel.solveProbingLPModel.sortAndConsModel.startDiveModel.startProbingModel.startStrongbranchModel.tightenVarLbModel.tightenVarLbGlobalModel.tightenVarUbModel.tightenVarUbGlobalModel.to_ptrModel.translateSubSolModel.trySolM""odel.updateBendersLowerboundsModel.updateNodeLowerboundModel.updateVarPseudocostModel.versionModel.writeBestSolModel.writeBestTransSolModel.writeLPModel.writeMIPModel.writeNameModel.writeParamsModel.writeProblemModel.writeSolModel.writeStatisticsModel.writeStatisticsJsonModel.writeTransSolNEGATEDNEWROUNDNLPSOLNLRowNLRow.__reduce_cython__NLRow.__setstate_cython__NLRow.getConstantNLRow.getDualsolNLRow.getLhsNLRow.getLinearTermsNLRow.getRhsNODEBRANCHEDNODEDELETENODEEVENTNODEFEASIBLENODEFOCUSEDNODEINFEASIBLENODELIMITNODESOLVEDNONENOTSOLVEDNUMERICSNodeNode.__reduce_cython__Node.__setstate_cython__Node.getAddedConssNode.getDepthNode.getDomchgNode.getEstimateNode.getLowerboundNode.getNAddedConssNode.getNDomchgNode.getNParentBranchingsNode.getNumberNode.getParentNode.getParentBranchingsNode.getTypeNode.isActiveNode.isPropagatedAgainNodeselNodesel.__reduce_cython__Nodesel.__setstate_cython__Nodesel.nodecompNodesel.nodeexitNodesel.nodeexitsolNodesel.nodefreeNodesel.nodeinitNodesel.nodeinitsolNodesel.nodeselectNotImplementedOBJCHANGEDOBJLIMOBJLIMITOFFOPTIMALOPTIMALITYORIGINALOpOperatorOptionalOriginalPARTIALPATCHPHASEFEASPHASEIMPROVEPHASEPROOFPOLISHINGPOORSOLFOUNDPRESOLVEDPRESOLVEROUNDPRESOLVINGPRICINGPRIMALLIMITPROBINGNODEPROBLEMPSEUDOPSEUDOFORKPSEUDOSOLPY_SCIP_BENDERSENFOTYPEPY_SCIP_BENDERSENFOTYPE.__reduce_cython__PY_SCIP_BENDERSENFOTYPE.__setstate_cython__PY_SCIP_BRANCHDIRPY_SCIP_BRANCHDIR.__reduce_cython__PY_SCIP_BRANCHDIR.__setstate_cython__PY_SCIP_CALLPY_SCIP_EVENTTYPEPY_SCIP_EVENTTYPE.__reduce_cython__PY_SCIP_EVENTTYPE.__setstate_cython__PY_SCIP_HEURTIMINGPY_SCIP_HEURTIMING.__reduce_cython__PY_SCIP_HEURTIMING.__setstate_cython__PY_SCIP_IMPLINTTYPEPY_SCIP_IMPLINTTYPE.__reduce_cython__PY_SCIP_IMPLINTTYPE.__setstate_cython__PY_SCIP_LOCKTYPEPY_SCIP_LOCKTYPE.__reduce_cython__PY_SCIP_LOCKTYPE.__setstate_cython__PY_SCIP_LPPARAMPY_SCIP_LPPARAM.__reduce_cython__PY_SCIP_LPPARAM.__setstate_cython__PY_SCIP_LPSOLSTATPY_SCIP_LPSOLSTAT.__reduce_cython__PY_SCIP_LPSOLSTAT.__setstate_cy""thon__PY_SCIP_NODETYPEPY_SCIP_NODETYPE.__reduce_cython__PY_SCIP_NODETYPE.__setstate_cython__PY_SCIP_PARAMEMPHASISPY_SCIP_PARAMEMPHASIS.__reduce_cython__PY_SCIP_PARAMEMPHASIS.__setstate_cython__PY_SCIP_PARAMSETTINGPY_SCIP_PARAMSETTING.__reduce_cython__PY_SCIP_PARAMSETTING.__setstate_cython__PY_SCIP_PRESOLTIMINGPY_SCIP_PRESOLTIMING.__reduce_cython__PY_SCIP_PRESOLTIMING.__setstate_cython__PY_SCIP_PROPTIMINGPY_SCIP_PROPTIMING.__reduce_cython__PY_SCIP_PROPTIMING.__setstate_cython__PY_SCIP_RESULTPY_SCIP_RESULT.__reduce_cython__PY_SCIP_RESULT.__setstate_cython__PY_SCIP_ROWORIGINTYPEPY_SCIP_ROWORIGINTYPE.__reduce_cython__PY_SCIP_ROWORIGINTYPE.__setstate_cython__PY_SCIP_SOLORIGINPY_SCIP_SOLORIGIN.__reduce_cython__PY_SCIP_SOLORIGIN.__setstate_cython__PY_SCIP_STAGEPY_SCIP_STAGE.__reduce_cython__PY_SCIP_STAGE.__setstate_cython__PY_SCIP_STATUSPY_SCIP_STATUS.__reduce_cython__PY_SCIP_STATUS.__setstate_cython__PowExprPowExpr.__reduce_cython__PowExpr.__setstate_cython__PowExpr._evaluatePresolPresol.__reduce_cython__Presol.__setstate_cython__Presol.presolexecPresol.presolexitPresol.presolexitprePresol.presolfreePresol.presolinitPresol.presolinitprePricerPricer.__reduce_cython__Pricer.__setstate_cython__Pricer.pricerexitPricer.pricerexitsolPricer.pricerfarkasPricer.pricerfreePricer.pricerinitPricer.pricerinitsolPricer.pricerredcostProdExprProdExpr.__reduce_cython__ProdExpr.__setstate_cython__ProdExpr._evaluatePropProp.__reduce_cython__Prop.__setstate_cython__Prop.propexecProp.propexitProp.propexitpreProp.propexitsolProp.propfreeProp.propinitProp.propinitpreProp.propinitsolProp.proppresolProp.proprespropPyConsPyRow__Pyx_PyDict_NextRefRANDOMSEEDREDUCEDDOMREFACTORREFOCUSNODERELAXRELAXSOLREOPTRESTARTLIMITROWADDEDLPROWADDEDSEPAROWCHANGEDROWCOEFCHANGEDROWCONSTCHANGEDROWDELETEDLPROWDELETEDSEPAROWEVENTROWREPSWITCHROWSIDECHANGEDReaderReader.__reduce_cython__Reader.__setstate_cython__Reader.readerfreeReader.readerreadReader.readerwriteRelaxRelax.__reduce_cython__Relax.__setstate_cython__Relax.r""elaxexecRelax.relaxexitRelax.relaxexitsolRelax.relaxfreeRelax.relaxinitRelax.relaxinitsolRowRowExactRowExact.__reduce_cython__RowExact.__setstate_cython__Row.__reduce_cython__Row.__setstate_cython__Row.getAgeRow.getBasisStatusRow.getColsRow.getConsOriginConshdlrtypeRow.getConstantRow.getDualfarkasRow.getDualsolRow.getLPPosRow.getLhsRow.getNLPNonzRow.getNNonzRow.getNormRow.getOrigintypeRow.getRhsRow.getValsRow.isInGlobalCutpoolRow.isIntegralRow.isLocalRow.isModifiableRow.isRemovableSCALING_SCIP_BOUNDTYPE_TO_STRINGSCIPgetSolValSEPASEPARATEDSIBLINGSOLEVENTSOLFOUNDSOLLIMITSOLVEDSOLVELPSOLVINGSTALLNODELIMITSTRONGSUBROOTSUCCESSSUSPENDEDSYNCSepaSepa.__reduce_cython__Sepa.__setstate_cython__Sepa.sepaexeclpSepa.sepaexecsolSepa.sepaexitSepa.sepaexitsolSepa.sepafreeSepa.sepainitSepa.sepainitsolSequenceSolutionSolution.__reduce_cython__Solution.__setstate_cython__Solution._checkStageSolution.getOriginSolution.retransformSolution.translateStageNamesStatisticsStatistics.n_binary_varsStatistics.n_conssStatistics.n_continuous_varsStatistics.n_implicit_integer_varsStatistics.n_integer_varsStatistics.n_maximal_consStatistics.n_presolved_binary_varsStatistics.n_presolved_conssStatistics.n_presolved_continuous_varsStatistics.n_presolved_implicit_integer_varsStatistics.n_presolved_integer_varsStatistics.n_presolved_maximal_consStatistics.n_presolved_varsStatistics.n_varsSumExprSumExpr.__reduce_cython__SumExpr.__setstate_cython__SumExpr._evaluateTTHREADSTIMELIMITTIMINGTOTALNODELIMITTRANSFORMEDTRANSFORMINGTYPE_CHECKINGTermTerm.__reduce_cython__Term.__setstate_cython__Term._evaluateTupleUBCHANGEDUBRELAXEDUBTIGHTENEDUNBOUNDEDUNBOUNDEDRAYUNKNOWNUNSPECUPWARDSUSERINTERRUPTUnaryExprUnaryExpr.__reduce_cython__UnaryExpr.__setstate_cython__UnaryExpr._evaluateUnionVARADDEDVARCHANGEDVARDELETEDVAREVENTVARFIXEDVARUNLOCKED_VarArray_VarArray.__reduce_cython___VarArray.__setstate_cython__VarExprVarExpr.__reduce_cython__VarExpr.__setstate_cython__VarExpr._evaluateVariableVariable.__reduce_cython__Variable"".__setstate_cython__Variable.getAvgSolVariable.getColVariable.getImplTypeVariable.getIndexVariable.getLPSolVariable.getLbGlobalVariable.getLbLocalVariable.getLbOriginalVariable.getNBranchingsVariable.getNBranchingsCurrentRunVariable.getNLocksDownVariable.getNLocksDownTypeVariable.getNLocksUpVariable.getNLocksUpTypeVariable.getObjVariable.getStatusVariable.getUbGlobalVariable.getUbLocalVariable.getUbOriginalVariable.isActiveVariable.isBinaryVariable.isDeletableVariable.isImpliedIntegralVariable.isInLPVariable.isIntegralVariable.isNonImpliedIntegralVariable.isOriginalVariable.isRelaxationOnlyVariable.markRelaxationOnlyVariable.ptrVariable.varMayRoundVariable.vtypeVariablesView.MemoryViewWEAKZERO_aa_is_1da_is_numa_nda_viewabcabsabsfileabspathactivateBendersactiveactiveoneactivity__add__addBendersSubproblemaddCoefKnapsackaddCoefLinearaddColaddColsaddCols.<locals>.genexpraddConsaddConsAndaddConsCardinalityaddConsCoeffaddConsDisjunctionaddConsDisjunction.<locals>.ensure_iterableaddConsElemDisjunctionaddConsIndicatoraddConsKnapsackaddConsLocaladdConsNodeaddConsOraddConsSOS1addConsSOS2addConsXoraddConssaddConss.<locals>.ensure_iterableaddCutaddExprNonlinearaddMatrixConsaddMatrixConsIndicatoraddMatrixVaraddObjoffsetaddPoolCutaddPyConsaddRowaddRowDiveaddRowExactaddRowsaddRows.<locals>.genexpraddSoladdVaraddVarLocksaddVarLocksTypeaddVarSOS1addVarSOS2addVarToRowaddaddedconssaddedconsssizeadjustedVarLbadjustedVarUbageaggregateVarsaggregatedallColsInLPallocate_bufferallowNegSlackExactallowaddconsallowlocalandand_cons__annotations__appendappendVarSOS1appendVarSOS2applyCutsProbingapply_along_axisargargsarray__array_priority____array_ufunc__asarrayascontiguousarrayasyncio.coroutinesattachEventHandlerCallbackattachEventHandlerCallback.<locals>.EventHandlerattachEventHandlerCallback.<locals>.EventHandler.__init__attachEventHandlerCallback.<locals>.EventHandler.eventinitattachEventHandlerCallback.<locals>.EventHandler.eventexitattachEventHandlerCallback.<locals>.EventHandler.eventexeca""ttr_auxvarauxviolavailable_statsavg_incumbent_valavgsolsaxisbb_is_1db_ndbacktrackProbingbasebasicbasis_basicbasis_lowerbasis_statusbasis_upperbasis_zerobdtypebenders_bendersbenderscreatesubbenderscutbenderscutexecbenderscutexitbenderscutexitsolbenderscutfreebenderscutinitbenderscutinitsolbendersexitbendersexitprebendersexitsolbendersfreebendersfreesubbendersgetvarbendersinitbendersinitprebendersinitsolbenderspostsolvebenderspresubsolvebenderssolvesubbenderssolvesubconvexbest_incumbent_valbestsollimitbiasbilincoefbilinterm1bilinterm2bilinterms_binVarbinarybindsbinvarbinvarsboolboundconstraint_boundedboundtypesbranchLPExactbranchVarbranchVarValbranchboundsbranchdirbranchexecextbranchexeclpbranchexecpsbranchexitbranchexitsolbranchfreebranchinitbranchinitsolbranchrulebranchvarsbuildGenExprObjcc_activityc_begc_bindsc_coefsc_colc_contiguousc_dualsolc_indsc_lbc_lbsc_lhsc_lhssc_objc_objsc_pathc_primalsolc_rayc_redcostc_rhsc_rhssc_rowc_ubc_ubscacheRowExtensionscalcChildEstimatecalcNodeselPriority__call__callbackcapacitycapsulecardvalcatchEventcatchRowEventcatchVarEventcategorycfilechckprioritycheckcheckBendersSubproblemOptimalitycheckQuadraticNonlinearcheckSol_checkStagecheckboundscheckedcheckintcheckintegralitychecklprowschecktypechgBoundchgCapacityKnapsackchgCoefchgCoefLinearchgLhschgObjchgReoptObjectivechgRhschgRowLhsDivechgRowRhsDivechgSidechgVarBranchPrioritychgVarLbchgVarLbDivechgVarLbGlobalchgVarLbNodechgVarLbProbingchgVarObjDivechgVarObjProbingchgVarTypechgVarUbchgVarUbDivechgVarUbGlobalchgVarUbNodechgVarUbProbingchildchildren_childrenchildrenexpr__class____class_getitem__clearcline_in_tracebackcloseclosefdcnamecoefcoeffcoeffs_coeffscoeffs_arraycoefscoefxcoefycolcol_feature_mapcol_featurescol_icol_idxcollections.abccolscolumnscommentscompletelycomputeBestSolSubproblemscon_statscon_typeconfvarconsconsactiveconscheckconscopyconsdeactiveconsdeleteconsdelvarsconsdisableconsenableconsenfolpconsenfopsconsenforelaxconsexitconsexitpreconsexitsolconsfreeconsgetdivebdchgsconsg""etnvarsconsgetpermsymgraphconsgetsignedpermsymgraphconsgetvarsconshdlrconshdrlnameconsinitconsinitlpconsinitpreconsinitsolconslockconsparseconspresolconsprintconspropconsrespropconssconssepalpconssepasolconstconstantconstraintconstraints_constraintsconstransconstructLPconstypeconsvarscontinuouscontvarscopycopyLargeNeighborhoodSearchcopyingcopying_time_core_dot_core_dot_2d_core_dot_2d.<locals>.genexpr_core_dot_nd_core_sum_core_sum.<locals>.genexprcoscountcreateChildcreateConscreateConsFromExpr_createConsGenNonlinear_createConsLinear_createConsNonlinear_createConsQuadraticcreateEmptyRowSepacreateEmptyRowUnspeccreateOrigSolcreatePartialSolcreateProbBasiccreateSolcreatescipcstcurrent_best_solcutcutlpcutoffcutoffNodecutpseudocutrelaxcutscutselcutselexitcutselexitsolcutselfreecutselinitcutselinitsolcutselselectddatadataclassdataclassesdeactivatePricerdefaultPluginsdegdegreedegree.<locals>.genexprdelCoefLineardelColsdelConsdelConsLocaldelRowsdelVardelaydelayeddelaypropdelaysepadeletabledeletedeleteddesdescdescription__dict__dict_dictdirectiondisdisableDebugSoldisablePropagationdisj_consdispchardiv__doc__domchgdotdoubledowndownchilddownconflictdowninfdownvaliddropEventdropRowEventdropVarEventdtypedtype_is_objectdualdual_bounddual_solduallimitdualsol_dualsoldummy_boundtypesdummy_branchboundsdummy_branchvarsdynamiceeagerfreqedgeedge_feature_mapedge_featureselememptyenableenableDebugSolenableExactSolvingenableReoptimizationenablepricingencodeendDiveendProbingendStrongbranchenfopriorityenforceenforcedenfotypeensure_iterable__enter__entriesentrieslistentryenumerateepsilon__eq__eqeqchildequalerrorestimate_evaluateeventevent_handlereventcopyeventdeleteeventexeceventexiteventexitsoleventfreeeventhandlereventhandler_eventhdlr_eventhdlreventiniteventinitsoleventseventtypeexact__exit__expexpoexponentexpr_expr_richcmpexpr_to_arrayexpr_to_nodesextextendextensionffabsfdopenfeasCeilfeasFloorfeasFracfeasRoundfeasibilityfeasiblefeastolfilefilenamefilenofirst_solutionfirstcolfirstrowfiubfixV""arfixVarProbingfix_valsfixedfixedvalfixedvarsflagsflatflatnonzeroflattenfloatfloat64flushRowExtensionsfnforceforcecutforcedcutsformatfortranfracfreefreeBendersSubproblemsfreeProbfreeReoptSolvefreeSolfreeTransform_freescipfreqfreqofsfrom_ptrfrompyfuncfull__func__gains_gainsgapgaplimitgegenerateIISgenericnamesgenexprgetgetActivitygetAddedConssgetAgegetAvgSolgetBasisIndsgetBasisStatusgetBendersAuxiliaryVargetBendersSubproblemgetBendersVargetBestChildgetBestLeafgetBestNodegetBestSiblinggetBestSolgetBestboundNodegetBipartiteGraphRepresentationgetBoundchgsgetBoundchgtypegetBoundsgetBoundtypegetBranchScoreMultiplegetCapacityKnapsackgetChildrengetColgetColRedCostgetColsgetConditiongetConsNVarsgetConsOriginConshdlrtypegetConsValsgetConsVarsgetConshdlrNamegetConssgetConstantgetCurrentNodegetCutEfficacygetCutLPSolCutoffDistancegetCutoffboundgetDepthgetDomchggetDualgetDualMultipliergetDualRaygetDualSolValgetDualboundgetDualboundRootgetDualfarkasgetDualfarkasKnapsackgetDualfarkasLineargetDualsolgetDualsolKnapsackgetDualsolLineargetEstimate_getEventNamesgetGapgetHeurTiminggetIISgetImplTypegetIndexgetIntParamgetLPBInvARowgetLPBInvRowgetLPBasisIndgetLPBranchCandsgetLPColsDatagetLPObjValgetLPPosgetLPRowsDatagetLPSolgetLPSolstatgetLbgetLbGlobalgetLbLocalgetLbOriginalgetLeavesgetLhsgetLinearConsIndicatorgetLinearTermsgetLocalEstimategetLowerboundgetMajorVersiongetMaxDepthgetMinorVersiongetNAddedConssgetNBestSolsFoundgetNBinVarsgetNBranchingsgetNBranchingsCurrentRungetNChildrengetNConssgetNContVarsgetNCountedSolsgetNCutsgetNCutsAppliedgetNDomchggetNFeasibleLeavesgetNImplVarsgetNInfeasibleLeavesgetNIntVarsgetNIterationsgetNLPBranchCandsgetNLPColsgetNLPIterationsgetNLPNonzgetNLPRowsgetNLPsgetNLeavesgetNLimSolsFoundgetNLocksDowngetNLocksDownTypegetNLocksUpgetNLocksUpTypegetNNlRowsgetNNodeLPIterationsgetNNodesgetNNonzgetNParentBranchingsgetNReadersgetNSepaRoundsgetNSiblingsgetNSolsgetNSolsFoundgetNStrongbranchLPIterationsgetNTotalNodesgetNVarsgetNVarsAndgetNamegetNewBoundgetNlRowActivityBo""undsgetNlRowSolActivitygetNlRowSolFeasibilitygetNlRowsgetNodegetNormgetNumbergetObjgetObjCoeffgetObjValgetObjectivegetObjectiveSensegetObjlimitgetObjoffsetgetOldBoundgetOpgetOpenNodesgetOrigingetOrigintypegetParamgetParamsgetParentgetParentBranchingsgetPlungeDepthgetPresolvingTimegetPrimalgetPrimalDualIntegralgetPrimalRaygetPrimalRayValgetPrimalboundgetPrimsolgetPrioChildgetPrioSiblinggetProbNamegetProbingDepthgetPseudoBranchCandsgetReadingTimegetRealParamgetRedcostgetResultantAndgetRhsgetRowgetRowActivitygetRowDualSolgetRowLPActivitygetRowLineargetRowNumIntColsgetRowObjParallelismgetRowParallelismgetSiblingsgetSidesgetSlackgetSlackVarIndicatorgetSolObjValgetSolTimegetSolValgetSolsgetSolvingTimegetStagegetStageName_getStageNamesgetStatusgetSubscipgetTechVersiongetTermsQuadraticgetTimegetTotalTimegetTransformedConsgetTransformedVargetTreesizeEstimationgetTypegetUbgetUbGlobalgetUbLocalgetUbOriginalgetValgetValsgetValsLineargetVargetVarDictgetVarLbDivegetVarPseudocostgetVarPseudocostScoregetVarRedcostgetVarStrongbranchgetVarStrongbranchLastgetVarStrongbranchNodegetVarUbDivegetVarsgetVarsAndgetWeightsKnapsackgetlocale__getstate__give_ownershipglobalcopygreatergreater_equalgreedyMakeIrreduciblehasPrimalRayhas_lbhas_lhshas_rhshas_ubheur_heurheurexecheurexitheurexitsolheurfreeheurinitheurinitsolheurnameheurtiminghideOutputiididempotentidxidxs_iisiisfinderiisfinderexeciisfinderfreeimplicitimplicit_integerimplvars__import__inProbinginRepropagationin_lpincludeBendersincludeBendersDefaultCutsincludeBenderscutincludeBranchruleincludeConshdlrincludeCutselincludeDefaultPluginsincludeEventhdlrincludeHeurincludeIISfinderincludeNodeselincludePresolincludePricerincludePropincludeReaderincludeRelaxincludeSepaindexindicesindsindvarindvar_wrapperindvarsinfinfeasibleinferinfoinfinityinforunbd__init__initBendersDefault__init__.<locals>.genexpr__init__.<locals>.<lambda>initialinitlpintintegerintegralinterruptSolveintvarsirreducibleisActiveisAndConsSortedisBinaryisChecedisCheckedisCutEffica""ciousisDeletableisDualFeasibleisDynamicisEQisEnforcedisExactisFeasEQisFeasGEisFeasGTisFeasIntegralisFeasLEisFeasLTisFeasNegativeisFeasPositiveisFeasZeroisGEisGTisHugeValueisImpliedIntegralisInGlobalCutpoolisInLPisInfinityisInitialisIntegralisKnapsackisLEisLPSolBasicisLTisLinearisLinearTypeisLocalisModifiableisNLPConstructedisNegativeisNonImpliedIntegralisNonlinearisObjChangedProbingisObjIntegralisOptimalisOriginalisPositiveisPrimalFeasibleisPropagatedisPropagatedAgainisRedundantisRelaxationOnlyisRemovableisSeparatedisStickingAtNodeisSubscipInfeasibleisSubscipIrreducibleisZero_is_coroutineis_integeris_memory_freed_is_numberisconvexisdictislinearislpcutisnonlinearisquadraticitemitemsitemsizeitersitertoolsitlimjkkeep_axeskeepdimskeykeyskindknapsackkwargs<lambda>lastcollastrowlazyconsslblbsle_leavesleaveslengthlessless_equallhs_lhslhsslhsslacklincoeflincoefslinconslinelinearlinexprslintermslinvarslocallocalelocktypeloglogicorlowerlowerboundlowerboundslpcandslpcandsfraclpcandssollperrorlpilpiGetIterationslpobjvallpsolsm__main__mapmappedvar_mappedvarmarkDoNotAggrVarmarkDoNotMultaggrVarmarkRelaxationOnlymathmatmulmatrix_activeonematrix_binvarmatrix_checkmatrix_consmatrix_dynamicmatrix_enforcematrix_initialmatrix_lbsmatrix_localmatrix_modifiablematrix_namesmatrix_objsmatrix_priced_var_scoresmatrix_priced_varsmatrix_propagatematrix_removablematrix_separatematrix_stickingatnodematrix_ubsmatrix_variablematrix_vtypesmaxmaxactivitymaxbounddistmaxdepthmaximalmaximizemaxnconssmaxnselectedcutsmaxpreroundsmaxproproundsmaxroundsmayroundmemlimitmemsaveprioritymemviewmergecandidatesmerged__metaclass__methodmin_stage_requirementminactivityminimizeminusmodemodelmodifiable__module__monomials__mro_entries____mul__mul__mul__.<locals>.genexprmyMessageHandlernn_binary_varsn_childrenn_col_featuresn_conssn_continuous_varsn_edge_featuresn_implicit_integer_varsn_integer_varsn_leavesn_maximal_consn_nodesn_non_zerosn_presolved_binary_varsn_presolved_conssn_presolved_continuous_varsn_presolved_impli""cit_integer_varsn_presolved_integer_varsn_presolved_maximal_consn_presolved_varsn_row_featuresn_runsn_siblingsn_solutions_foundn_varsnaddconssnaddholesnaggrvarsnamname__name__name_to_valnbendersnbilintermsnboundchgsnbranchingsnbranchvarsncandsnchgbdsnchgcoefsnchgsidesnchgvartypesnchildren_nchildrenncolsnconspropnconssndarrayndelconssndimndindexndomredsfoundneedsconsnegate__new__newChecknewEnfnewInitnewModnewProbingNodenewRemnewaxisnewboundnewlhsnewobjnewrhsnewvalnextnfixedvarsnfracimplvarsniters_nleavesnlinvarsnlocksdownnlocksnegnlocksposnlocksupnlpcandsnlrownlrowsnmarkedconssnnewaddconssnnewaddholesnnewaggrvarsnnewchgbdsnnewchgcoefsnnewchgsidesnnewchgvartypesnnewdelconssnnewfixedvarsnnewholesnnewupgdconssnnonznnzrsnodenode1node2node_numnodecompnodeexitnodeexitsolnodefreenodeinfeasiblenodeinitnodeinitsolnodelimitnodesnodeselnodeselectnodeselpriononlinearnonzeronormnormalizenormalize_axis_tuplenot_equalnpnpriolpcandsnpriomergecandsnpriopseudocandsnpropnpseudocandsnquadtermsnroundsnrowsnselectedcuts_nsiblingsnsolsnsubproblemsnumbernumpynumpy.core.numericnumpy.lib.array_utilsnupgdconssnusefulconssnvarsobjobj_coefobj_cosineobjdeltaobjectobjectiveobjinfeasibleobjlimitobjoffsetobjsobjscaleobjsenseobjvaloffsetonlychangedonlyconvexonlydelayedonlyrootop_opopenoperatoropidxoptimaloptimizeoptimizeNogilorig_varsorigconssorigcopyoriginalorigobjorigvarsorthofuncosos.pathotherotypesoutpackparaemphasisparamparamsparamtypepartialpartialsolutionpathpluspoppospower__prepare__presolpresolexecpresolexitpresolexitprepresolfreepresolinitpresolinitprepresolmaxroundspresolprioritypresoltimingpresolve_presolved_constraintspresolved_problem_name_presolved_variablespresolvingpresolving_timepretendrootprev_col_featuresprev_edge_featuresprev_row_featurespricedVarpricedVarScorepricerpricerexitpricerexitsolpricerfarkaspricerfreepricerinitpricerinitsolpricerredcostprimal_boundprimal_dual_integralprimallimitprimalsolprintprintBestSolprintConsprintExternalCodeVersionsprintNlRowprintProblemprintRowpri""ntSolprintStatisticsprintStatisticsJsonprintVersionprint_memory_in_useprintreasonpriorityprobingdepthproblemNameproblem_nameprobnumberprodprodexprproppropagatepropagateProbingpropagatedpropertypropexecpropexitpropexitprepropexitsolpropfreepropfreqpropinitpropinitprepropinitsolproppresolproprespropproptimingproxypseudocandsptrpyConspyVarpy_boundtypespy_branchboundspy_variablespyconspycons_initialpyscipopt.scippyvar__pyx_checksum__pyx_result__pyx_state__pyx_type__pyx_unpickle_Benderscut__pyx_unpickle_Branchrule__pyx_unpickle_Conshdlr__pyx_unpickle_Constant__pyx_unpickle_Cutsel__pyx_unpickle_Enum__pyx_unpickle_Eventhdlr__pyx_unpickle_Expr__pyx_unpickle_ExprCons__pyx_unpickle_GenExpr__pyx_unpickle_Heur__pyx_unpickle_Nodesel__pyx_unpickle_PY_SCIP_BENDERSENFOTYPE__pyx_unpickle_PY_SCIP_BRANCHDIR__pyx_unpickle_PY_SCIP_EVENTTYPE__pyx_unpickle_PY_SCIP_HEURTIMING__pyx_unpickle_PY_SCIP_IMPLINTTYPE__pyx_unpickle_PY_SCIP_LOCKTYPE__pyx_unpickle_PY_SCIP_LPPARAM__pyx_unpickle_PY_SCIP_LPSOLSTAT__pyx_unpickle_PY_SCIP_NODETYPE__pyx_unpickle_PY_SCIP_PARAMEMPHASIS__pyx_unpickle_PY_SCIP_PARAMSETTING__pyx_unpickle_PY_SCIP_PRESOLTIMING__pyx_unpickle_PY_SCIP_PROPTIMING__pyx_unpickle_PY_SCIP_RESULT__pyx_unpickle_PY_SCIP_ROWORIGINTYPE__pyx_unpickle_PY_SCIP_SOLORIGIN__pyx_unpickle_PY_SCIP_STAGE__pyx_unpickle_PY_SCIP_STATUS__pyx_unpickle_PowExpr__pyx_unpickle_Presol__pyx_unpickle_ProdExpr__pyx_unpickle_Prop__pyx_unpickle_Reader__pyx_unpickle_Relax__pyx_unpickle_Sepa__pyx_unpickle_SumExpr__pyx_unpickle_Term__pyx_unpickle_UnaryExpr__pyx_unpickle_VarExpr__pyx_vtable__quadconsquaddictquadexprquadtermsquality__qualname__quickprodquicksumquietraise_errorrayrcreadLPreadParamsreadProblemreadSolreadSolFilereadStatisticsreadStatistics.<locals>.genexprreaderreaderfreereaderreadreaderwritereadingreading_timereadlinesreal_solred_costredcostredirectOutputreduce__reduce____reduce_cython____reduce_ex__redundantregisterrelaxrelaxconsrelaxedbdrelaxexecrelaxexitrelaxexitsolrelaxfreerelaxinitrelaxinitsolreleaseRowr""elevant_valueremovablerepeat__repr____repr__.<locals>.<lambda>repropagateNoderesresetParamresetParamsreshaperestartrestartSolverestartlimitresultresult_dict_resultantresvar_resvarresvar_wrapperretcoderetransformreturnrhs_rhsrhssrhsslackrhsvarrootrowrow1row2row_colsrow_feature_maprow_featuresrow_idxrow_valsrowexactrowsscipscip_bendersscip_benderscutscip_colscip_conscip_consscip_conshdlrscip_exprscip_iisfinderscip_pricerscip_sepascip_solscip_subprobscip_varscipexprsscipvar1scipvar2scoreseen_consselfselnodesendsensesepasepaexeclpsepaexecsolsepaexitsepaexitsolsepafreesepafreqsepainitsepainitsolsepapriorityseparateseparateSolseparatedsetBendersSubproblemIsConvexsetBoolParamsetCharParamsetChecksetEmphasissetEnforcedsetHeurTimingsetHeuristicssetInitialsetIntParamsetLogfilesetLongintParamsetMaximizesetMinimizesetModifiablesetObjIntegralsetObjectivesetObjlimitsetParamsetParamssetParamsCountsolssetPresolvesetProbNamesetRealParamsetRelaxSolValsetRemovablesetSeparatingsetSolValsetStringParamsetSubscipInfeasiblesetSubscipIrreducible__set_name__setdefaultsetlocalesetppc__setstate____setstate_cython__settingsetupBendersSubproblemshapeshareaux_siblingssiblingssidesignaturesimsinsizeskipsolvesolsolVal_solsol_at_lbsol_at_lhssol_at_rhssol_at_ubsol_fracsol_valsolinfeasiblesollimitsolptr_solssolssolutionsolutionssolvalsolvesolveBendersSubproblemsolveConcurrentsolveDiveLPsolveProbingLPsolvecipsolvingsolving_timesortAndConssortedsourceModelsource_varssourceconstraintsplitsplit_consplit_linesplit_resultsplit_varsplitextsqrcoefsqrexprsqrtstacklevelstage_checkstallnodelimitstartstartDivestartProbingstartStrongbranchstartnconssstartnvarsstatstat_namestatestatic_onlystaticmethodstatsstatusstderrstdoutstdprioritystepstickingatnodestopstopearlystoredstrstr_absfilestr_conversionstripstructsub_modelsubprobsubproblemsubproblemssubprobssubscipsubscip_solsuccesssumsumexprsupersuppress_warningssysttake_ownershiptargettargetSoltargetconstargetvaluetemp_constermtermcoefstermidxtermlistterms__test__threa""dsafethrowtightenVarLbtightenVarLbGlobaltightenVarUbtightenVarUbGlobaltightenedtimelimittimingtimingmasktmpto_fixto_ptrtotaltotal_timetotalnodelimittranstransconstransformedtranslatetranslateSubSoltransposetreated_keystreated_resulttrue__truediv__trySol_tvartypingububsufuncunary_exprsunboundedunknownunpackupupchildupconflictupdateupdateBendersLowerboundsupdateNodeLowerboundupdateVarPseudocostupinfupperupvaliduse_setstateuser_interruptuser_localeuserinterruptusessubscipvv_wrappervalval1val2valdeltavalidvalidnodevals_valsvalsdictvaluevalue_to_arrayvaluenodevaluesvarvar1var2varMayRoundvar_dictvar_namevar_statsvar_typevarboundvarexprvarexprsvariable_variablesvariablesvaridxvarmapvars_varsvars_arrayvars_wrappervarstatusvartypevarxvary_vec_eq_vec_evaluate_vec_ge_vec_levectorizeverboseversionversion_infoviewvtypevtypeswwarnwarningsweakrefweightweightsweights_arraywrapperwritewriteBestSolwriteBestTransSolwriteLPwriteMIPwriteNamewriteParamswriteProblemwriteSolwriteStatisticswriteStatisticsJsonwriteTransSolwrite_zerosxzerozeroszip\320\0040\260\001\360&\000\t\014\2106\220\023\220A\330\014\027\220q\330\r\023\2203\220a\330\014\027\220q\340\014\022\220'\230\021\320\032@\300\002\300!\340\010\017\210z\230\021\230(\240'\320)R\320RT\320TZ\320Zd\320de\340\010\013\2106\220\027\230\003\2302\230Q\330\014\022\220*\230A\230Q\330\010\013\2106\220\021\220'\230\023\230A\330\014\022\220*\230A\230Q\340\010\020\220\003\2201\220F\230(\240#\240V\2503\250f\260A\340\010\013\2106\220\023\220A\330\014\030\230\001\320\031.\250a\250t\2608\270:\300V\3106\320QR\330\014\r\340\010\022\220-\230v\240Q\240f\250B\250a\330\010\017\210}\230F\240!\2406\250\022\2501\340\010\014\210A\330\010\014\210F\220(\230&\240\006\240f\250A\340\014\017\210u\220C\220q\330\020\032\230)\2401\240D\250\001\250\021\330\020\024\220A\220U\230'\240\024\240Q\240a\330\020\027\220q\230\005\230Q\330\020\025\220Q\340\010\024\220A\320\025*\250!\2504\250x\260z\300\026\300y\320PQ\340\010\014\210A\210Q\330\010\014\210A\210Q\320\0040\260\001\360""\030\000\t\025\220A\220_\240A\240T\250\030\260\036\270q\320\0360\260\004\260J\270a\270q\320\0040\260\001\360\030\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\022\220.\240\001\240\027\250\001\250\021\330\010\013\210:\220S\230\001\330\014\030\230\001\230\034\240Q\240d\250(\260)\2701\340\014\030\230\016\240a\240q\330\014\030\230\001\230\034\240Q\240d\250(\260)\2701\340\010\016\210j\230\001\230\026\230}\250A\200\001\330\0040\260\001\260\026\260q\2401\320\004@\300\001\360\036\000\t\020\320\017#\2401\240D\250\010\260\010\270\004\270C\270z\310\023\310F\320RU\320UV\200\001\330\004#\2401\240F\250!\200\001\330\004+\2501\250F\260!\320\004*\250!\360\034\000\t\014\2101\330\014\023\320\023+\2501\250D\260\001\340\014\023\320\023,\250A\250T\260\021\320\004#\2401\360$\000\t\014\2101\330\014\024\220L\240\001\240\024\240Q\330\014\025\220]\240!\2404\240q\340\014\024\320\024$\240A\240T\250\021\330\014\025\320\025&\240a\240t\2501\340\010\017\210q\220\004\320\024%\240Q\240e\2501\250D\260\004\260E\270\025\270a\270q\320\004#\2401\360\034\000\t\014\2101\330\014\023\220<\230q\240\004\240A\340\014\023\320\023#\2401\240D\250\001\2601\200!\360\006\000\005\014\2101\200!\360\026\000\005\014\2101\200\001\330\0041\260\021\260&\270\001\320\004\"\240)\2501\360\022\000\t\032\230\023\230A\230Q\330\010#\240=\260\006\260a\260v\270R\270q\330\010\033\2306\240\026\240q\250\006\250b\260\001\330\010\037\230q\330\010\037\230w\240d\250#\250Z\260t\2709\300A\330\010\031\230\021\360\006\000\t\r\210B\210i\220y\240\001\240\021\330\014\022\220!\2205\230\005\230Q\230a\330\014\023\2201\220E\230\025\230a\230q\340\010\024\220A\220^\2401\240D\250\006\250c\260\021\260'\270\021\270'\300\026\300w\310a\310w\320V^\320^_\340\010\014\210A\210Q\330\010\014\210A\210Q\320\004#\2401\360(\000\t\025\220A\220_\240A\240T\250\030\260\027\270\001\270\031\300!\3001\330\010\017\210y\230\001\320\004+\2501\330\024#\240>\260\034\270Q\330\026\"\320\"4\260O\3001\330\026,\250A\360L\001\000\t\032""\230\023\230A\230Q\360\006\000\t)\250\t\260\021\260!\330\010&\240i\250q\260\001\360\010\000\t\023\220.\240\004\240A\240Q\330\010\020\220\014\230A\340\010\013\2105\220\003\2201\330\014\023\2203\220a\220s\230!\230=\250\001\250\024\250W\260A\260Q\340\010\024\220A\320\025%\240Q\240d\250(\260!\260;\270n\310A\310W\320T]\320]d\320de\330\014\025\220Z\230y\250\007\250{\270'\300\034\310Y\320Va\320ab\340\010\024\220A\220[\240\001\240\024\240X\250Q\330\010\021\220\024\320\025&\240a\240q\330\010\024\220A\220_\240A\240T\250\030\260\021\260!\340\010\017\210q\320\004+\2501\360\"\000\t\014\210:\220Q\220f\230A\330\014\020\220\016\230a\230t\2401\330\014\024\220L\240\001\240\024\240X\250Q\340\014\024\220A\330\010\024\220A\320\025)\250\021\250$\250h\260a\260v\270Q\330\010\"\240'\250\021\250$\250h\260a\330\010\017\210q\320\004\031\230\021\360\014\000\t\014\2101\330\014\030\230\001\320\031)\250\021\250$\250a\340\014\030\230\001\320\031+\2501\250D\260\001\360\006\000\t\025\220A\320\025%\240Q\240d\250&\260\001\260\021\340\010\017\210q\320\004+\2501\360\026\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\013\2104\210q\330\014\030\230\001\320\0310\260\001\260\024\260X\270Q\340\021\025\220Q\220j\240\010\250\001\330\020\030\230\006\230a\230q\240\007\240t\2501\330\020\034\230A\320\0354\260A\260T\270\030\300\021\340\010\016\210j\230\001\230\026\230|\2501\320\004)\320);\2701\360\032\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\013\2109\220C\220q\330\014\030\230\001\230\034\240Q\240d\250(\260&\270\006\270a\340\014\030\230\001\230\034\240Q\240d\250(\260(\270&\300\006\300a\340\010\016\210j\230\001\230\026\230|\2501\320\004+\2501\360\024\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\360\010\000\016\022\220\021\220*\230H\240A\330\014\024\220F\230!\2301\230G\2404\240q\330\014\030\230\001\320\0310\260\001\260\024\260X\270Q\340\010\016\210j\230\001\230\026\230|\2501\320""\0041\260\035\270k\310\036\320Wj\320j}\320}~\3606\000\t\020\210q\220\014\230A\230T\240\033\250D\260\003\260:\270Q\330\010\017\210|\2301\230D\240\013\2504\250s\260*\270A\330\010\024\220L\240\001\240\024\240X\250^\2701\270D\300\001\330\010\024\220A\320\025+\2501\250D\260\010\270\001\270\025\270k\310\036\320WX\320X_\320_d\320di\320ip\320p|\320|}\330\010\023\2207\230!\2301\330\010\017\210q\320\004(\250\013\2601\330\030'\240~\260\\\300\021\330\032&\240o\260Q\330\0320\260\001\360V\001\000\t\025\220A\320\025'\240q\250\004\250H\260A\260[\300\016\310a\310w\320VY\320Y_\320_`\330\014\025\220Z\230y\250\007\250{\270'\300\031\310+\320UV\340\010\013\2105\220\003\2201\330\014\023\2203\220a\220s\230!\230=\250\001\250\024\250W\260A\260Q\340\010\020\220\003\2201\220A\330\010\022\220)\2301\230A\330\010\013\2108\2203\220a\330\014\020\220\005\220U\230!\2301\330\020\034\230A\320\035.\250a\250t\2608\270;\300g\310T\320QR\320RS\340\014\020\220\005\220U\230!\2301\330\020\034\230A\230^\2501\250D\260\010\270\013\3007\310$\310a\310t\320SZ\320Z[\320[\\\340\010\024\220A\220[\240\001\240\024\240X\250Q\340\010\017\210t\320\023$\240A\240Q\320\004\032\230!\360\036\000\t\024\2202\220V\2301\230D\240\010\250\006\250a\330\010\014\210G\2202\220X\230Q\230d\240!\330\014\024\220A\220W\230D\240\001\240\024\240\\\260\021\330\010\017\210q\320\0042\260!\360\036\000\t\014\2104\210s\220!\330\014\032\230'\240\021\240$\240h\250a\340\010\013\210<\220q\230\001\340\010\013\2101\330\014\025\320\025&\240a\240t\2508\2603\260a\340\014\025\320\025'\240q\250\004\250H\260C\260q\340\010\017\210q\200\001\330\0042\260!\2606\270\021\320\0042\260!\360$\000\t\025\220A\220Z\230q\240\004\240H\250C\250{\270*\300A\300Q\330\010\017\210q\320\0002\260!\360$\000\005\010\200t\2101\210F\220.\240\003\2401\240G\2503\250b\260\001\330\010\014\210B\320\016 \240\001\240\023\240F\250\"\250A\340\004%\240Q\330\004\021\220\021\220&\230\001\230\030\240\021\240&\250\001\250\021\330\004+\2502\250V\2602\260S\270\004\270F\300!\360\010\000\005\t\210\005\210U""\220!\2201\330\010\014\210H\220C\220r\230\034\240Q\240f\250A\250W\260F\270#\270Q\330\014\r\340\010\014\210E\220\025\220a\220q\330\014\017\210q\220\003\2205\230\010\320 0\260\001\340\004\013\2101\200\001\330\0043\2601\260F\270!\320\0043\2601\360.\000\t\025\220A\320\025%\240Q\240d\250(\260#\260[\300\004\300G\3101\310L\320XY\320YZ\330\010\017\210|\2301\320\0043\3203O\310q\360\034\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\360\010\000\016\022\220\021\220*\230H\240A\330\014\024\220F\230!\2301\230G\2404\240q\330\014\030\230\001\230\034\240Q\240d\250(\260(\270&\300\007\300q\340\010\016\210j\230\001\230\026\230|\2501\200\001\330\004\013\320\013\033\2303\230c\240\021\320\0044\3204E\320EX\320Xo\360\000\000p\001B\002\360\000\000B\002M\002\360\000\000M\002N\002\3608\000\t\014\2101\330\014\030\230\001\230\036\240q\250\004\250H\260A\260X\270V\300=\320P\\\320\\i\320i{\360\000\000|\001I\002\360\000\000I\002J\002\360\000\000J\002K\002\340\014\030\230\001\230\032\2401\240D\250\010\260\010\270\006\270m\310<\320Wd\320dv\360\000\000w\001D\002\360\000\000D\002E\002\360\000\000E\002F\002\330\010\017\210q\320\004:\270!\360(\000\t\014\2104\210t\2209\230C\230s\240!\330\014\022\220'\230\021\230!\340\010\013\210:\220Q\220e\2301\330\014\027\220s\230!\340\014\027\220q\340\010\023\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\013\2109\220C\220q\330\014\027\320\027,\250A\250T\260\030\270\024\270\\\310\021\340\014\022\220'\230\021\320\032M\310R\310q\340\010\017\210q\200\001\330\0045\260Q\260f\270A\200\001\330\004\"\240!\2406\250\021\320\0046\3206G\320GZ\320Zq\360\000\000r\001D\002\360\000\000D\002S\002\360\000\000S\002T\002\3608\000\t\014\2101\330\014\030\230\001\320\031)\250\021\250$\250h\260h\270f\300A\300Z\310}\320\\]\340\014\030\230\001\230\034\240Q\240d\250(\260(\270&\300\r\310\\\320Yf\320fx\360\000\000y\001F\002\360\000\000F\002G\002\360\000\000G\002H\002\330\010\017\210q\320\004$\320$7\3207K\310?\320Z[\360&\000\t\027""\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\013\2101\330\014\032\230'\240\021\240!\330\014\026\220n\240A\240Q\330\014\020\220\006\220h\230a\230q\330\014\017\210s\220!\2205\230\003\2301\330\020\026\220n\240A\240Q\330\014\021\220\023\220B\220a\330\014\022\220#\220Q\220a\340\014\017\210q\330\020\034\230A\320\0352\260!\2604\260x\270t\3005\310\001\340\020\034\230A\320\0351\260\021\260$\260h\270d\300%\300q\340\014\017\210q\330\020\025\220Q\320\026/\250r\260\021\340\014\017\210q\330\020\034\230A\320\0352\260!\2604\260x\270v\300^\320ST\320T[\320[\\\320\\a\320ab\340\020\034\230A\320\0351\260\021\260$\260h\270f\300N\320RS\320SZ\320Z[\320[`\320`a\340\010\016\210j\230\001\230\026\230|\2501\320\0047\260}\300A\360.\000\t\014\2104\210t\2209\230C\230s\240!\330\014\022\220'\230\021\230!\340\010\013\210:\220Q\220e\2301\330\014\027\220s\230!\340\014\027\220q\340\010\023\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\013\2109\220C\220q\330\014\022\320\022\"\240!\2404\240x\250t\2601\330\014\022\320\022\"\240!\2404\240x\250t\2601\330\014\027\320\027,\250A\250T\260\030\270\024\270\\\310\021\340\014\022\220'\230\021\320\032M\310R\310q\340\010\023\2209\230B\230a\330\010\023\2204\220r\230\021\340\010\013\2105\220\003\2201\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\340\014\027\220z\240\021\320\0048\3208U\320UV\360\034\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\360\010\000\016\022\220\021\220*\230H\240A\330\014\024\220F\230!\2301\230G\2404\240q\330\014\030\230\001\320\031*\250!\2504\250x\260x\270v\300W\310A\340\010\016\210j\230\001\230\026\230|\2501\320\004#\320#9\3209K\310>\320YZ\360 \000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\026\220g\230Q\230a\330\010\022\220.\240\001\240\021\330\010\024\220A\220_\240A\240T\250\030\260\031\270*\300A\340\010\013\2101\330\014\021\220\021\320\0226\260b\270\001\340\010\016\210j\230\001\230""\026\230|\2501\320\0049\270\021\360.\000\t\025\220A\320\025+\2501\250D\260\010\270\003\270;\300d\310'\320QR\320R^\320^_\320_`\330\010\017\210|\2301\320\0049\270\021\360,\000\t\025\220A\320\025+\2501\250D\260\010\270\003\270;\300d\310'\320QR\320R^\320^_\320_`\330\010\017\210|\2301\320\0049\270\033\300A\330\035,\250N\270,\300a\330\037+\250>\3209J\310!\330$%\360J\001\000\t\020\210z\230\021\230&\240\013\320+U\320UW\320W[\320[e\320ef\360\010\000\t\026\220Q\220e\2306\240\030\250\031\260)\2701\330\026\036\230i\240v\250W\260J\270a\330\026\034\230G\240;\250g\260X\270Q\330\026 \240\013\250?\270!\330\010\031\230\024\320\0350\260\001\260\030\270\021\330\010\025\220\\\240\037\260\001\340\010\013\210:\220Q\220k\240\021\330\014\030\230\001\320\031)\250\021\250$\250h\260k\300\031\310!\340\014\030\230\001\320\031)\250\021\250$\250h\260k\300\021\340\010\033\2307\240!\2401\330\010\016\210i\220|\240?\260!\330\010\024\220A\220_\240A\240T\250\030\260\021\260!\340\010\017\210q\200A\200A\3600\000\t\"\240\031\250!\2501\340\010\024\220A\320\025%\240Q\240d\250(\260'\270\024\270Q\270d\300'\310\021\310+\320UV\320V_\320_`\320`a\340\010\017\210t\2207\230!\320\033+\2507\260!\260>\300\027\310\001\310\021\200A\3600\000\t\021\220\004\220E\230\021\360\006\000\t\025\220A\220S\230\001\230\024\230T\240\027\250\006\250d\260#\260X\270Y\300a\300q\360\006\000\t\025\220N\240&\250\001\250\023\250A\250W\260B\260a\330\010\024\220M\240\026\240q\250\003\2501\250G\2602\260Q\330\010\014\210D\220\006\220i\230y\250\001\250\025\250f\260A\330\014\026\220i\230q\240\t\250\021\250!\340\014\030\230\002\320\0320\260\001\260\024\260X\270Q\270i\300q\310\004\310G\320SZ\320Za\320ag\320gm\320ms\320st\330\014\025\220Q\220e\230;\240a\360\006\000\t\025\220B\320\026'\240q\250\004\250H\260A\260V\2705\300\003\3001\300H\310K\320Wb\320bg\320gm\320mn\360\006\000\t\025\220B\320\026-\250Q\330\014\020\220\001\330\014\r\210Q\330\014\032\230!\2306\240\021\240!\330\014\r\330\014\022\220!\2201\330\014\022\220!\2201\330\014\022\220!\2201\330\014""\022\220!\2201\330\014\022\220!\2201\330\014\022\220!\2201\330\014\022\220!\2201\330\014\022\220!\2201\330\014\022\220!\2201\330\014\022\220!\2201\330\014\022\220!\2201\340\010\033\2307\240!\2401\340\010\024\220B\220o\240Q\240d\250(\260!\2601\330\010\014\210E\220\025\220a\220u\230C\230q\240\001\330\014\030\230\001\230\037\250\001\250\024\250X\260Q\260i\270q\300\001\330\010\014\210A\210Q\330\010\014\210A\210Q\340\010\017\210q\200A\3600\000\t\020\210t\2201\330\010\020\220\r\230Q\230a\360\024\000\t\021\220\001\330\010\014\210H\220A\330\014\017\210t\2201\220C\220s\230(\240!\330\020\031\230\021\340\010\024\220N\240&\250\001\250\023\250A\250W\260B\260a\330\010\014\210B\210h\220i\230q\240\001\330\014\024\220D\230\001\230\021\330\014\017\210v\220S\230\010\240\001\330\020\027\220s\230!\2304\230q\240\004\240C\240q\330\020\030\230\004\230A\230R\230q\240\001\330\020\032\230)\2401\240A\330\020\034\230B\320\036/\250q\260\004\260H\270A\270Y\300a\300t\3107\320RV\320VW\320W[\320[a\320ab\330\020\021\330\014\017\210v\220S\230\010\240\001\330\020\027\220s\230!\2304\230q\240\004\240C\240q\330\020\030\230\004\230A\230R\230q\240\001\330\020\034\230B\320\0361\260\021\260$\260h\270a\270y\310\001\310\024\310[\320X_\320_e\320ef\330\020\021\330\014\017\210v\220S\230\010\240\001\330\020\034\230C\230q\240\004\240A\240Q\330\020\037\230~\250V\2601\260J\270b\300\001\330\020\030\230\r\240V\2501\250J\260b\270\001\330\020\024\220C\220w\230i\240q\250\004\250A\250Q\330\024 \240\001\240\025\240i\250q\260\001\330\024\031\230\021\230%\230q\330\020\034\230B\320\036/\250q\260\004\260H\270A\270Y\300a\300t\310;\320Vd\320dk\320kn\320nt\320tu\330\020\024\220A\220Q\330\020\024\220A\220Q\330\020\021\330\014\017\210v\220S\230\010\240\001\330\020\034\230C\230q\240\004\240A\240Q\330\020\037\230~\250V\2601\260J\270b\300\001\330\020\024\220C\220w\230i\240q\250\004\250A\250Q\330\024 \240\001\240\025\240i\250q\260\001\330\020\034\230B\320\0363\2601\260D\270\010\300\001\300\031\310!\3104\310{\320Zh\320hk\320kq\320qr\330""\020\024\220A\220Q\330\020\021\330\014\017\210v\220S\230\010\240\001\340\020\034\230E\240\021\240$\240a\240r\250\021\250!\330\020\027\220y\240\001\240\023\240C\240x\250q\330\020\033\2309\240A\240R\240q\250\001\330\020\034\230B\320\036/\250q\260\004\260H\270A\270Y\300a\300t\3109\320TU\320UY\320YZ\320Z\\\320\\]\320]b\320bm\320mw\320w}\320}~\330\020\021\330\014\017\210v\220S\230\010\240\001\330\020\027\220s\230!\2304\230q\240\004\240C\240q\330\020\034\230B\320\036/\250q\260\004\260H\270A\270Y\300a\300t\3109\320TU\320UY\320YZ\320Z\\\320\\]\320]b\320bh\320hi\330\020\021\330\014\017\210v\220S\230\010\240\001\330\020\027\220s\230!\2304\230q\240\004\240C\240q\330\020\034\230B\320\036/\250q\260\004\260H\270A\270Y\300a\300t\3109\320TU\320UY\320YZ\320Z\\\320\\]\320]b\320bh\320hi\330\020\021\330\014\017\210v\220S\230\010\240\001\330\020\027\220s\230!\2304\230q\240\004\240C\240q\330\020\034\230B\320\036/\250q\260\004\260H\270A\270Y\300a\300t\3109\320TU\320UY\320YZ\320Z\\\320\\]\320]b\320bm\320mr\320rx\320xy\330\020\021\330\014\017\210v\220S\230\010\240\001\330\020\027\220s\230!\2304\230q\240\004\240C\240q\330\020\034\230B\320\036/\250q\260\004\260H\270A\270Y\300a\300t\3109\320TU\320UY\320YZ\320Z\\\320\\]\320]b\320bh\320hi\330\020\021\330\014\017\210v\220S\230\010\240\001\330\020\027\220s\230!\2304\230q\240\004\240C\240q\330\020\034\230B\320\036/\250q\260\004\260H\270A\270Y\300a\300t\3109\320TU\320UY\320YZ\320Z\\\320\\]\320]b\320bh\320hi\330\020\021\330\014\017\210v\220S\230\010\240\001\330\020\027\220s\230!\2304\230q\240\004\240C\240q\330\020\034\230B\320\036/\250q\260\004\260H\270A\270Y\300a\300t\3109\320TU\320UY\320YZ\320Z\\\320\\]\320]b\320bh\320hi\330\020\021\340\014\022\220!\360\006\000\t\025\220B\320\026-\250Q\330\014\020\220\001\330\014\r\210Q\330\014\032\230!\2306\240\021\240!\330\014\025\220Q\220c\230\021\230'\240\022\2401\330\014\022\220!\2201\330\014\022\220!\2201\330\014\022\220!\2201\330\014\022\220!\2201\330\014\022\220!\2201\330\014\022\220!\2201\330\014\022\220!""\2201\330\014\022\220!\2201\330\014\022\220!\2201\330\014\022\220!\2201\330\014\022\220!\2201\330\010\033\2307\240!\2401\330\010\014\210E\220\025\220a\220s\230!\2301\330\014\030\230\002\230/\250\021\250$\250h\260a\260y\300\001\300\021\360\006\000\t\r\210A\210Q\340\010\017\210q\320\004A\320AQ\320QR\360`\001\000\t\014\2101\330\014\030\230\001\320\0312\260!\2604\260x\270s\300+\310W\320T`\320`a\320ag\320gh\320hl\320lm\320mn\33034\260I\270Q\270i\300q\310\007\310q\320P^\320^_\320_k\320kl\320lm\340\014\030\230\001\320\0313\2601\260D\270\010\300\003\300;\310g\320Ua\320ab\320bh\320hi\320im\320mn\320no\33045\260Y\270a\270y\310\001\310\027\320PQ\320Q_\320_`\320`l\320lm\320mn\340\010\017\210v\220T\230\033\240I\250Y\260g\270^\310<\320WX\200A\360B\001\000\t\025\220A\320\025)\250\021\250$\250h\260a\260y\300\001\300\034\310Q\310a\330*+\250:\260Q\260n\300A\300Q\340\010\020\220\001\220\024\320\025%\240Q\240g\250Q\250d\260$\260e\2705\300\001\300\034\310Q\310j\320XY\320Y\\\320\\`\320`e\320ej\320jk\320kl\330\020\021\220\033\230A\230S\240\004\240E\250\025\250a\250|\270:\300^\320ST\200A\360D\001\000\t\025\220A\320\025/\250q\260\004\260H\270C\270{\310!\3106\320QR\320RV\320VW\320Wb\320bc\320cl\320lm\320mu\320uv\320vw\340\010\017\210v\220T\230\033\240I\250X\260Q\200\001\330\004$\240A\240V\2501\200\001\330\004,\250A\250V\2601\320\004)\250\021\330\010\017\210}\230A\230V\2404\240u\250A\250R\250q\320\004!\240\021\360\036\000\t\025\220A\220Z\230q\240\004\240H\250A\250Q\330\010!\240\021\330\010\013\2101\330\014\030\230\001\320\0311\260\021\260%\3207Y\320YZ\320Z[\340\014\030\230\001\320\0311\260\021\260%\3207Y\320YZ\320Z[\340\010\017\210q\200A\360\006\000\016\017\330\024\025\360&\000\t\r\320\0140\260\001\330\010\020\220\001\340\010\033\2301\330\014\r\360\010\000\r\016\360\010\000\r\016\360\010\000\r\016\360\006\000\t\031\230\014\240A\240Q\340\010\013\2105\220\003\2201\330\014\023\220?\240!\2404\240q\340\010\014\320\014\035\230Q\230o\250V\2601\200A\360\022\000\t\020\320\017#\2401\240D\250\001\200A""\360\032\000\t\020\320\017#\2401\240D\250\010\260\003\2601\200A\360\022\000\t\020\210|\2301\230D\240\001\200A\360\032\000\t\020\210|\2301\230D\240\010\250\001\200A\360\026\000\t\020\210|\2301\230D\240\001\200A\360\030\000\t\021\320\020#\2401\240D\250\010\260\001\260\021\330\010\013\2104\210q\330\014\021\220\021\220!\330\010\017\210q\200A\360 \000\t$\2401\240D\250\014\260A\260Q\330$%\320%9\270\021\270!\330$%\240]\260!\330\010\017\210q\200A\360\022\000\t!\240\013\2501\250D\260\001\330\010\031\230\034\240Q\240d\250!\360\006\000\t\020\210q\340\010\014\210E\220\025\220a\220q\330\014\020\220\007\220y\240\007\240q\250\004\250H\260E\270\021\270!\340\010\017\210q\200A\360\024\000\t\023\320\022#\2401\240D\250\001\330\010\025\220W\230A\230Q\330\010\017\210q\200A\360\034\000\t\020\210|\2301\230D\240\010\250\006\250a\200A\360\036\000\t\020\320\017#\2401\240D\250\010\260\003\260;\270a\200A\360\024\000\t$\2401\240D\250\007\250q\200A\360\022\000\t\020\210|\2301\230M\250\021\250$\250h\260j\300\014\310A\200A\360\n\000\010\024\2201\320\0240\260\001\260\024\260Q\200A\360\024\000\t\014\2101\330\014\025\220^\2401\240A\330\014%\240Q\240d\250(\260!\340\014%\240Q\240d\250(\260!\200A\360,\000\t\"\240\031\250!\2501\340\010\024\220A\220]\240!\2404\240x\250w\260d\270!\2704\270q\300\013\3101\310I\320UV\320VW\330\010\017\210t\2207\230!\320\033+\2507\260!\260>\300\027\310\001\310\021\320\004$\240A\360\034\000\t\014\2101\330\014\023\220=\240\001\240\024\240Q\340\014\023\320\023$\240A\240T\250\021\200A\340\010\016\320\016!\240\021\240!\200A\360\022\000\t\024\2202\220V\2301\230D\240\010\250\006\250a\330\010\014\210G\2202\220X\230Q\230a\330\014\024\220A\220W\230D\240\001\240\024\240Y\250a\330\010\017\210q\200A\360\022\000\t\024\2202\220V\2301\230D\240\010\250\006\250a\330\010\014\210G\2202\220X\230Q\230a\330\014\024\220A\220W\230D\240\001\240\024\240[\260\001\330\010\017\210q\200A\330\010\016\320\016!\240\021\240!\200A\360\022\000\t$\320#3\2601\260D\270\001\360\006\000\t\020\210v\220W\230A\230V\2401""\240D\250\004\250E\260\025\260a\260t\270;\300a\200A\340\010\013\2103\210a\210t\2208\2303\230a\330\014\023\2201\340\014\023\2203\220d\230!\200A\360\032\000\t\014\2103\210c\220\021\330\013\020\220\014\230A\230T\240\021\330\010\024\220A\320\025%\240Q\240d\250(\260$\260l\300#\300[\320PQ\200A\360\030\000\t\014\2103\210c\220\021\330\013\020\220\014\230A\230T\240\021\330\010\024\220A\320\025(\250\001\250\024\250X\260S\270\013\3001\200A\360\026\000\t\014\2103\210c\220\021\330\013\020\220\014\230A\230T\240\021\330\010\024\220A\220\\\240\021\240$\240h\250c\260\033\270A\200A\360\026\000\t\014\2103\210c\220\021\330\013\020\220\014\230A\230T\240\021\330\010\024\220A\320\025'\240q\250\004\250H\260C\260{\300!\200A\360\034\000\t\014\2103\210c\220\021\330\013\020\220\001\220\034\230Q\230d\240!\330\010\024\220A\320\025%\240Q\240d\250(\260$\260l\300#\300[\320PQ\200A\360\030\000\t\014\2103\210c\220\021\330\013\020\220\001\220\034\230Q\230d\240!\330\010\024\220A\320\025(\250\001\250\024\250X\260S\270\013\3001\200A\360\030\000\t\014\2103\210c\220\021\330\013\020\220\001\220\034\230Q\230d\240!\330\010\024\220A\220\\\240\021\240$\240h\250c\260\033\270A\200A\360\026\000\t\014\2103\210c\220\021\330\013\020\220\001\220\034\230Q\230d\240!\330\010\024\220A\320\025'\240q\250\004\250H\260C\260{\300!\200A\360\006\000\t\017\320\016!\240\021\240!\200A\360\022\000\t$\320#4\260A\260T\270\021\330\010\013\2107\220#\220Q\330\014\023\2201\330\010\034\230G\2401\240A\200A\330\034\035\330\0334\260A\330\0345\260Q\330\031?\270q\330\031?\270q\330\032:\270!\330 :\270!\330%E\300Q\330\032\033\360>\000\t\014\210:\220Q\220f\230B\230a\330\014\023\2204\220w\230c\240\021\330\010\013\210:\220Q\220g\230R\230q\330\014\023\2205\230\007\230s\240!\330\010\013\210:\220Q\220d\230\"\230A\330\014\023\2202\220W\230C\230q\330\010\013\210:\220Q\220d\230\"\230A\330\014\023\2202\220W\230C\230q\330\010\013\210:\220Q\220e\2302\230Q\330\014\023\2203\220g\230S\240\001\330\010\013\210:\220Q\220k\240\022\2401\330\014\023\2209\230G\2403""\240a\330\010\013\210:\220Q\320\026&\240b\250\001\330\014\023\220>\240\027\250\003\2501\340\010\013\210:\220Q\220g\230Q\330\014\023\2201\340\014\023\2203\220a\220q\340\010\032\230\"\230F\240!\2407\250&\260\001\340\010\013\210:\220Q\220f\230A\330\014\033\2302\230U\240!\2407\250&\260\006\260a\330\014\017\210u\220C\220q\330\020\024\220G\2302\230X\240Q\240o\260Q\330\024 \240\001\240\027\250\002\250!\2506\260\021\260#\260U\270!\2703\270a\270u\300A\340\014\033\2301\340\010\013\2104\210z\230\021\230'\240\022\2401\330\014\034\230B\230e\2401\240G\2507\260&\270\001\340\014\034\230A\340\010\013\2104\210z\230\021\230$\230b\240\001\330\014\031\230\022\2305\240\001\240\027\250\004\250F\260!\340\014\031\230\021\340\010\013\2104\210z\230\021\230$\230b\240\001\330\014\031\230\022\2305\240\001\240\027\250\004\250F\260!\340\014\031\230\021\340\010\013\2104\210z\230\021\230%\230r\240\021\330\014\032\230\"\230E\240\021\240'\250\025\250f\260A\340\014\032\230!\340\010\013\2104\210z\230\021\230+\240R\240q\330\014!\240\022\2405\250\001\250\027\260\013\2706\300\021\340\014!\240\021\340\010\013\2104\210z\230\021\320\032*\250\"\250A\330\014'\240r\250\025\250a\250w\3206F\300f\310A\340\014'\240q\340\010\014\210G\2202\220X\230Q\230o\250Q\330\014\033\2301\230G\2404\240w\250a\250u\260L\300\001\300\026\300v\310]\320Z[\320[a\320ad\320dn\320no\320op\330/2\260*\270A\270V\3004\300{\320RS\320SY\320Yc\320cu\320uv\320vw\330/>\320>V\320VW\320WX\340\010\017\210\177\230e\2401\240A\200A\330\034\035\330\0344\260A\330\0379\270\021\330 :\270!\330\0379\270\021\330\0357\260q\330!;\2701\330\0357\260q\330\"<\270A\330\0379\270\021\330!;\2701\330&@\300\001\360J\001\000\t\014\2104\210z\230\021\230'\240\032\2501\330\014\022\220)\2301\320\034Y\320Y[\320[_\320_i\320ij\340\010\013\210:\220Q\220f\230A\330\014\023\2204\220x\230q\240\006\240e\2506\260\030\270\031\300)\3101\330\030 \240\t\250\026\250w\260j\300\001\330\030\036\230g\240[\260\014\270H\300A\330\030\"\240+\250_\270A\340\010\020\220\004\220A\340\010\013\210:\220Q""\220f\230B\230a\330\014\023\2204\220w\230c\240\021\330\010\013\210:\220Q\220i\230r\240\021\330\014\023\2207\230'\240\023\240A\330\010\013\210:\220Q\220j\240\002\240!\330\014\023\2208\2307\240#\240Q\330\010\013\210:\220Q\220i\230r\240\021\330\014\023\2207\230'\240\023\240A\330\010\013\210:\220Q\220g\230R\230q\330\014\023\2205\230\007\230s\240!\330\010\013\210:\220Q\220k\240\022\2401\330\014\023\2209\230G\2403\240a\330\010\013\210:\220Q\220g\230R\230q\330\014\023\2205\230\007\230s\240!\330\010\013\210:\220Q\220l\240\"\240A\330\014\023\220:\230W\240C\240q\330\010\013\210:\220Q\220i\230r\240\021\330\014\023\2207\230'\240\023\240A\330\010\013\210:\220Q\220k\240\022\2401\330\014\023\2209\230G\2403\240a\330\010\013\210:\220Q\320\026&\240b\250\001\330\014\023\220>\240\027\250\003\2501\340\010\026\220b\230\006\230a\230w\240f\250A\340\010\013\210:\220Q\220g\230Q\330\014\023\2201\340\014\023\2203\220a\220q\340\010\032\230\"\230F\240!\2407\250&\260\001\340\010\013\210:\220Q\220f\230A\330\014\033\2302\230U\240!\2407\250&\260\006\260a\330\014\017\210u\220C\220q\330\020\024\220G\2302\230X\240Q\240o\260Q\330\024 \240\001\240\027\250\002\250!\2506\260\021\260#\260U\270!\2703\270a\270u\300A\340\014\033\2301\340\010\013\2104\210z\230\021\230)\2402\240Q\330\014\035\230R\230u\240A\240W\250I\260V\2701\340\014\035\230Q\340\010\013\2104\210z\230\021\230*\240B\240a\330\014\036\230b\240\005\240Q\240g\250Z\260v\270Q\340\014\036\230a\340\010\013\2104\210z\230\021\230)\2402\240Q\330\014\035\230R\230u\240A\240W\250I\260V\2701\340\014\035\230Q\340\010\013\2104\210z\230\021\230'\240\022\2401\330\014\033\2302\230U\240!\2407\250'\260\026\260q\340\014\033\2301\340\010\013\2104\210z\230\021\230+\240R\240q\330\014\037\230r\240\025\240a\240w\250k\270\026\270q\340\014\037\230q\340\010\013\2104\210z\230\021\230'\240\022\2401\330\014\033\2302\230U\240!\2407\250'\260\026\260q\340\014\033\2301\340\010\013\2104\210z\230\021\230,\240b\250\001\330\014 \240\002\240%\240q\250\007\250|\2706\300\021\340\014 \240""\001\340\010\013\2104\210z\230\021\230)\2402\240Q\330\014\035\230R\230u\240A\240W\250I\260V\2701\340\014\035\230Q\340\010\013\2104\210z\230\021\230+\240R\240q\330\014\037\230r\240\025\240a\240w\250k\270\026\270q\340\014\037\230q\340\010\013\2104\210z\230\021\320\032*\250\"\250A\330\014$\240B\240e\2501\250G\3203C\3006\310\021\340\014$\240A\340\010\014\210G\2202\220X\230Q\230d\240!\330\014\027\220q\230\007\230t\2408\2501\250D\260\001\260\026\260u\270L\310\001\310\026\310x\320We\320ef\320fg\330,5\260_\300A\300V\3106\320Q]\320]^\320^_\330,6\3206F\300a\300v\310V\320S_\320_`\320`a\330,7\3207H\310\001\310\026\310x\320We\320ef\320fg\330,6\3206F\300a\300v\310_\320\\q\320qr\320rs\340\010\017\210{\230%\230q\240\001\320\004!\240\034\250_\270A\330\030$\320$4\260L\300\001\330\033*\320*;\2701\330\037 \360L\001\000\t\020\210z\230\021\230&\240\013\320+U\320UW\320W[\320[e\320ef\360\010\000\t\026\220Q\220e\2306\240\030\250\031\260)\2701\330\026\036\230i\240v\250Q\330\026 \240\013\2506\260\021\330\026!\240\034\250X\260Q\330\026 \240\001\330\026%\240Q\360\014\000\t\032\230\024\320\0350\260\001\260\030\270\021\330\010\025\220\\\240\037\260\001\340\010\024\220A\220[\240\001\240\024\240X\250Q\330\010\021\220\024\320\025&\240a\240q\330\010\024\220A\220_\240A\240T\250\030\260\021\260!\340\010\017\210q\200A\360\034\000\t\033\230!\2304\230|\2501\250M\270\021\270+\300Q\300a\330\010\017\210}\230K\240q\200A\360\014\000\t\014\2104\320\017\"\240!\2404\240q\330\014\023\2201\340\010\020\220\004\220F\230!\330\010\020\220\r\230V\2401\240F\250\"\250A\340\010\024\220A\320\025(\250\001\250\024\250V\2601\330\010\016\210a\210u\220B\220a\330\010\014\210E\220\025\220a\220q\330\014\017\210q\220\005\220U\230!\2301\330\010\014\210A\210Q\340\010\017\210q\200A\360&\000\t\014\2104\320\017 \240\001\240\031\250!\330\014\022\220*\230A\230Q\330\010\025\220W\230A\230W\320$8\270\001\270\031\300!\330\010\r\210]\230!\330\010\017\210q\200A\360\036\000\t\014\2104\210{\230!\330\014\023\320\023,\250A\250T\260\030\270\024\270Q""\340\014\030\230\014\240D\320(;\2701\270A\330\014\023\320\023,\250A\250T\260\030\270\031\300!\200A\360\036\000\t\014\2104\210{\230!\330\014\030\230\014\240D\320(;\2701\270A\330\014\023\320\023*\250!\2504\250x\260y\300\001\340\014\023\320\023*\250!\2504\250x\260t\2701\200A\360\014\000\t\014\2104\320\017 \240\001\240\024\240Q\330\014\023\2201\340\010\020\220\004\220F\230!\330\010\020\220\r\230V\2401\240F\250\"\250A\340\010\024\220A\320\025)\250\021\250$\250f\260A\330\010\016\210a\210u\220B\220a\330\010\014\210E\220\025\220a\220q\330\014\017\210q\220\005\220U\230!\2301\330\010\014\210A\210Q\340\010\017\210q\200A\360\022\000\t\020\320\017\"\240!\2404\240q\200A\360\024\000\t\020\320\017*\250!\2504\250q\200A\360\020\000\t\020\320\017*\250!\2504\250q\200A\360\022\000\t\020\210{\230!\2304\230q\200A\340\010\017\320\017\"\240!\2404\240q\200A\360\022\000\t$\240?\260!\2604\260q\330\010\013\2106\220\023\220A\330\014\023\2201\330\r\023\2203\220a\330\014\023\2201\340\014\023\2201\200A\360\006\000\016\017\330\014\021\220\031\230!\2304\230q\330\010\024\220A\220Q\330\010\014\320\014 \240\007\240q\250\004\250H\260N\300!\3004\300q\200A\360\010\000\t\014\2104\210q\330\014\022\220,\230a\230q\330\010\033\2301\230D\240\001\200A\360\014\000\t\014\2104\210q\330\014\022\220,\230a\230q\330\010\032\230!\2304\230q\200A\360\022\000\t\014\2104\210q\330\014\020\220\017\230q\330\010\017\210z\230\021\230$\230h\240a\200A\360\022\000\t\014\2104\210q\330\014\020\220\017\230q\330\010\017\210z\230\021\230$\230i\240q\200A\360\022\000\t\036\230]\250!\2504\250q\330\010\027\220w\230a\230q\200A\360\032\000\t\014\2104\210s\220!\330\013\021\220\034\230Q\230d\240!\340\010\023\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\013\2109\220C\220q\330\014\030\230\001\320\031)\250\021\250$\250h\260d\270,\300a\330\r\026\220c\230\021\330\014\030\230\001\320\031,\250A\250T\260\030\270\024\270\\\310\021\340\014\022\220'\230\021\320\032M\310R\310q\200A\360\032\000\t\014\2104\210s\220!\330\013\021""\220\021\220,\230a\230t\2401\340\010\023\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\013\2109\220C\220q\330\014\030\230\001\320\031)\250\021\250$\250h\260d\270,\300a\330\r\026\220c\230\021\330\014\030\230\001\320\031,\250A\250T\260\030\270\024\270\\\310\021\340\014\022\220'\230\021\320\032M\310R\310q\200A\360\032\000\t\014\2104\210s\220%\220s\230#\230U\240#\240Q\330\014\022\220*\230A\230Q\330\010\017\210~\230Q\230d\240(\250#\250Q\200A\360\036\000\t\020\320\017\"\240!\2404\240x\250x\260q\200A\340\010\013\2104\210y\230\003\2303\230a\330\014\022\220'\230\021\230!\340\010\014\210G\2204\220x\230q\330\014\020\220\013\2301\230E\240\021\200A\360\006\000\t\014\2104\210y\230\003\2308\2401\330!\"\330!\"\330!\"\330!\"\330!\"\330!\"\330\014\022\220'\230\021\320\032A\300\022\3004\300y\320PQ\360\006\000\t\024\2201\220E\230\024\230T\240\025\240g\250T\260\033\270F\300#\300S\310\003\310;\320VW\330\010\014\210E\220\027\230\004\230K\240v\250Q\330\014\017\210t\2207\230!\330\021\033\2304\230|\2501\330\010\014\210N\230!\360\006\000\t\025\220A\220U\230%\230t\2405\250\010\260\004\260L\300\006\300c\310\023\310D\320P[\320[\\\330\010\014\210E\220\030\230\024\230\\\250\026\250q\330\014\017\210t\2207\230!\330\021\035\230U\240-\250q\330\010\014\210O\2301\340\010\024\220A\320\025&\240a\240t\2501\200A\360\006\000\t\014\2104\210y\230\003\2308\2401\330!\"\330!\"\330!\"\330!\"\330!\"\330!\"\330\014\022\220'\230\021\320\032A\300\022\3004\300y\320PQ\330\010\024\220A\320\025'\240q\250\004\250A\200A\340\010\013\2104\210y\230\003\2308\320#7\260q\330 7\260q\330 !\330\014\022\220'\230\021\320\032A\300\022\3004\300y\320PQ\340\010\024\220A\220\\\240\021\240$\240a\330\010\014\320\014 \240\007\240q\250\004\250H\260N\300!\3004\300q\200A\360\030\000\t\014\2104\210z\230\023\230C\230q\330\014\030\230\001\320\031+\2501\250D\260\007\260t\2701\330\010*\250'\260\021\260&\270\010\300\001\330\010&\240o\260Q\260d\270!\330\010\024\220A\320\025(\250\001\250\026\250x\260t\2707\300$\300f\310F""\320R_\320_a\320aj\320jk\330\010\017\210q\200A\360\022\000\t\020\210{\230!\200A\360\022\000\t\037\320\0365\260Q\260d\270!\340\010\017\210|\2307\240!\320#8\270\001\270\024\270^\3101\330\020\024\220E\230\025\230a\230q\200A\360\036\000\t\036\320\0355\260Q\260d\270!\330\010\017\210t\320\023#\2401\240A\200A\360\036\000\t\024\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\340\010\013\2104\210}\230A\330\014\022\220.\240\001\240\024\240X\250T\260\034\270Q\270a\330\014\023\2201\330\014\023\2201\330\r\026\220c\230\021\330\014\023\320\023&\240a\240t\2501\340\014\022\220'\230\021\320\032M\310R\310q\200A\360&\000\t\024\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\013\2104\210y\230\003\2301\330\014\022\220'\230\021\320\032L\310A\340\010\020\320\020$\240A\240T\250\030\260\024\260Q\330\010\017\320\017%\240Q\240d\250(\260$\260a\330\010\017\320\017\"\240!\2404\240x\250t\2601\340\010\023\2201\330\010\014\210E\220\025\220a\220q\330\014\027\220u\230A\230^\2501\250D\260\001\260\024\260W\270A\270Q\330\014\024\220A\220\\\240\024\240Q\240a\340\010\017\210q\200A\360\036\000\t\024\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\013\2104\210y\230\003\2301\330\014\022\220'\230\021\320\032Q\320QR\340\010\035\320\035-\250Q\250d\260(\270$\270a\330\010\022\220'\230\021\230!\200A\360$\000\t\024\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\013\2104\210y\230\003\2301\330\014\022\220'\230\021\320\032Q\320QR\340\010\017\320\017 \240\001\240\024\240X\250T\260\021\330\010\017\320\017 \240\001\240\024\240X\250T\260\021\340\010\023\2201\330\010\014\210E\220\025\220a\320\027)\250\021\250$\250h\260d\270!\330\014\024\220A\220U\230!\230>\250\021\250$\250a\250t\2607\270!\270<\300t\3101\310A\340\010\017\210q\200A\360\034\000\t\024\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\013\2104\210y\230\003\2301\330\014\022\220'\230\021\320\032Y\320YZ\330\010\013\2104\210{\230!\330\014""\030\230\014\240D\320(;\2701\270A\340\014\030\230\001\330\010\017\320\017#\2401\240D\250\010\260\t\270\021\200A\360\034\000\t\024\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\013\2104\210y\230\003\2301\330\014\022\220'\230\021\320\032Y\320YZ\330\010\013\2104\210{\230!\330\014\030\230\001\340\014\030\230\014\240D\320(;\2701\270A\330\010\017\320\017%\240Q\240d\250(\260)\2701\200A\360\036\000\t\024\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\013\2109\220C\220q\330\014\030\230\001\320\031*\250!\2504\250x\260t\270<\300s\310+\320UV\330\r\026\220c\230\021\330\014\030\230\001\320\031,\250A\250T\260\030\270\024\270\\\310\023\310K\320WX\340\014\022\320\022%\240Q\320&b\320bd\320de\200A\360\022\000\t\024\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\017\210q\200A\360\022\000\t\024\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\017\210y\230\003\2301\200A\360\024\000\t\024\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\017\210y\230\003\2301\200A\360\022\000\t\024\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\017\210y\230\004\230J\240l\260*\270K\300q\200A\360\030\000\t\024\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\017\210y\230\003\230<\320'Z\320Z\\\320\\]\340\010\013\2109\220C\220q\330\013\026\220l\240!\2404\240q\340\010\024\220A\320\025,\250A\250T\260\030\270\024\270\\\310\021\200A\360\034\000\t\024\2205\230\001\320\031,\250A\250_\270A\270T\300\035\310g\320UV\320VW\330\010\017\210y\230\003\230<\320'Z\320Z\\\320\\]\340\010\017\320\017&\240a\240t\2508\2604\260q\200A\360&\000\t\024\2205\230\001\320\031,\250A\250_\270A\270X\300]\320RY\320YZ\320Z[\330\010\017\210y\230\003\2307\320\"`\320`b\320bc\340\010\020\220\017\230q\240\004\240H\250H\260A\330\010\020\220\016\230a\230t\2408\2508\2601\340\010\017\210q\330\010\014\210E\220\025\220a\220q\330\014\020\220\007\220q\230\004\320\034,""\250A\250U\260!\2601\340\010\017\210q\200A\360\034\000\t\014\2106\220\024\220U\230!\330\014\030\230\001\230\036\240q\250\004\250H\260C\260{\320B[\320[\\\320\\]\330\r\023\2204\220u\230A\330\014\030\230\001\230\036\240q\250\004\250H\260C\260{\320BW\320WX\320XY\330\r\023\2204\220u\230A\330\014\030\230\001\230\036\240q\250\004\250H\260C\260{\320BX\320XY\320YZ\330\r\023\2204\220u\230A\330\014\030\230\001\230\036\240q\250\004\250H\260C\260{\320Bc\320cd\320de\340\014\022\220'\230\021\230!\330\010\013\2101\330\014\021\220\021\320\022B\300\"\300A\200A\360\022\000\t\022\220\022\2206\230\021\230$\230h\240f\250A\330\010\014\210G\2202\220X\230Q\230a\330\014\022\220!\2207\230$\230a\230t\2409\250A\330\010\017\210q\200A\360\022\000\t\032\230\022\2306\240\021\240$\240h\250f\260A\330\010\014\210G\2202\220X\230Q\230a\330\014\032\230!\2307\240$\240a\240t\320+<\270A\330\010\017\210q\200A\360\024\000\t\022\220\022\2206\230\021\230$\230h\240f\250A\330\010\014\210G\2202\220X\230Q\230d\240!\330\014\022\220!\2207\230$\230a\230t\2406\250\021\330\010\017\210q\200A\360\022\000\t\022\220\022\2206\230\021\230$\230h\240f\250A\330\010\014\210G\2202\220X\230Q\230d\240!\330\014\022\220!\2207\230$\230a\230t\2409\250A\330\010\017\210q\200A\360\022\000\t\024\2207\230!\320\033+\2501\250D\260\001\200A\360\024\000\t\024\2207\230!\320\033+\2501\250D\260\001\200A\360\020\000\t\024\2207\230!\230?\250!\2504\250q\200A\360\022\000\t\024\2207\230!\320\033,\250A\250T\260\021\200A\330\010\013\2107\220#\220Q\330\014\023\2205\230\016\240a\330\014\017\210v\220S\230\002\230!\330\020\027\220w\230a\230t\2401\240D\250\004\250A\250S\260\005\260Q\260a\330\021\027\220s\230\"\230A\330\020\027\220w\230a\230t\2401\240D\250\004\250A\250S\260\005\260Q\260a\330\010\016\320\016!\240\021\240!\200A\360\022\000\t\024\2207\230!\320\033-\250Q\250d\260!\200A\360\020\000\t\024\2207\230!\320\033/\250q\260\004\260A\200A\330\010\013\2107\220$\320\026'\240q\330\014\032\230,\240a\240t\2507\260(\320:K\3101\330\014\017\210t\220<\230s\240$\240e""\2503\250e\2604\260|\3001\300D\310\007\310s\320RS\330\020\026\220g\230Q\230b\240\001\320!v\320vw\360\000\000x\001D\002\360\000\000D\002E\002\360\000\000E\002I\002\360\000\000I\002J\002\200A\360&\000\t#\320\"7\260q\270\004\270A\330\010\013\2105\220\003\2201\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\340\014\022\220)\2301\230A\340\014\022\220)\2301\230A\200A\360&\000\t#\320\"7\260q\270\004\270A\330\010\013\2105\220\003\2201\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\340\014\022\220)\2301\230A\200A\360\022\000\t$\320#7\260q\270\004\270A\330\010\017\210u\220A\320\025(\250\001\250\037\270\001\270\033\300G\3101\310A\320\004A\300\021\360*\000\t\014\2108\2203\220a\330\014\033\230?\250!\2504\250x\260q\340\014\033\2307\240!\340\010\027\320\027,\250A\250^\2701\340\010\024\220G\2301\230A\200A\360\022\000\t#\320\"8\270\001\270\024\270Q\330\010#\320#:\270!\2704\270q\330\010\034\320\0343\2601\260D\270\001\340\010\017\210r\220\030\230\027\240\001\240\027\250\001\250\025\250h\260a\260t\2704\270u\300E\310\021\310!\200A\360\022\000\t#\320\"8\270\001\270\024\270Q\330\010\013\210?\230#\230Q\330\014\023\2201\330\010&\240n\260F\270!\270?\310\"\310A\360\006\000\t\036\230Q\230d\240,\250l\270!\2708\3001\330\010\017\210w\220c\230\021\330\010\026\220k\240\027\250\001\250\032\2601\260D\270\004\270E\300\025\300a\300q\330\010\014\210A\210Q\330\010\017\210q\200A\340\017\020\330\020\021\3608\000\t\017\210a\340\010\017\210u\220N\240!\330\010\013\2107\220#\220Q\330\014\017\210v\220S\230\002\230!\330\020\026\220i\230q\240\004\240A\240V\2501\340\010\013\2107\220#\220Q\330\014\017\210v\220T\230\022\2309\240B\240a\330\020\026\220i\230q\240\004\240A\240T\250\024\250Q\250a\330\021\027\220s\230\"\230A\330\020\027\220w\230a\230t\2401\240D\250\004\250A\250S\260\005\260Q\260a\330\021\027\220s\230\"\230A\330\020\027\220w\230a\230t\2401\240D\250\004\250A\250S""\260\005\260Q\260a\330\021\027\220s\230\"\230A\330\020\027\220w\230a\230t\2401\240D\250\004\250A\250S\260\005\260Q\260a\330\021\027\220t\2302\230W\240B\240j\260\002\260!\330\020\026\320\026)\250\021\250!\340\010\013\2104\210s\220!\330\014\017\210v\220S\230\001\330\020\026\220a\220y\240\005\240^\2601\330\014\022\220%\220r\320\031)\250\021\250'\260\031\270(\300!\330\010\017\210s\220%\220q\230\017\240z\260\021\260%\260r\270\037\310\001\200A\330\010\033\2309\240D\250\t\260\021\260#\260Z\270q\300\001\330\010\017\210t\2205\230\001\230\030\240\024\240U\250#\250[\270\007\270q\300\006\300d\310%\310q\320PQ\200A\360\032\000\t\020\320\017 \240\001\240\023\240A\200A\340\010\017\320\017$\240A\240T\250\021\200A\360\022\000\t\020\210}\230A\230T\240\021\200A\360\024\000\t\020\210}\230A\230T\240\021\200A\360\022\000\t\020\320\017$\240A\240T\250\021\200A\360\024\000\t%\240A\240T\250\027\260\001\200A\360\032\000\t\020\210}\230A\230T\240\030\250\021\200A\360\024\000\t\020\320\017$\240A\240T\250\021\200A\360\034\000\t#\320\"<\270A\270T\300\021\330\010\013\2108\2203\220a\330\014\023\2201\330\010\017\210t\320\023$\240A\240Q\200A\360\032\000\t\020\320\017$\240A\240T\250\033\260A\200A\360&\000\t\020\320\017$\240A\240T\250\030\260\030\270\033\300A\200A\360\034\000\t\020\320\017,\250A\250T\260\030\270\023\270F\300#\300Q\200A\360\024\000\t\025\320\024$\240A\240T\250\021\330\010\013\210:\220S\230\001\330\014\023\2201\330\r\027\220s\230!\330\014\023\2201\330\r\027\220s\230!\330\014\023\2201\330\r\027\220s\230!\330\014\023\2201\330\r\027\220s\230!\330\014\023\2201\330\r\027\220s\230!\330\014\023\2201\330\r\027\220s\230!\330\014\023\2201\200A\340\010\024\220A\220Y\230a\230t\2401\200A\340\010\024\220A\220Y\230a\230t\2401\330\010\014\320\014 \240\007\240q\250\004\250H\260N\300!\3004\300q\200A\360\024\000\t\032\230\021\340\010\024\220A\220Z\230q\240\004\240H\250A\250Q\330\010\024\220A\320\025)\250\021\250%\250q\260\001\340\010\017\210q\200A\360*\000\t\025\220A\220Z\230q\240\004\240H\250C\250{\270%""\270q\300\014\310A\310Q\330\010\017\210|\2301\200A\340\010\024\220A\320\025+\2501\250D\260\001\200A\360\034\000\t\025\220A\320\025+\2501\250D\260\010\270\003\2701\200A\360\024\000\t\025\220A\320\025+\2501\250D\260\010\270\003\2701\200A\360\022\000\t\025\220A\220^\2401\240D\250\010\260\003\2601\200A\360\024\000\t\025\220A\320\025+\2501\250D\260\010\270\001\200A\360\022\000\t\025\220A\220^\2401\240D\250\010\260\001\260\023\260A\200A\360\034\000\t\025\220A\220^\2401\240D\250\010\260\004\260L\300\003\300;\310a\200A\360\034\000\t\025\220A\320\025+\2501\250D\260\010\270\004\270L\310\001\310\021\330\010\017\210t\320\023$\240A\240Q\200A\360\014\000\t\025\220A\220^\2401\240D\250\006\250a\200A\360\020\000\t\025\220A\220^\2401\240D\250\006\250e\2605\270\001\200A\360\016\000\t\025\220A\220^\2401\240D\250\006\250j\270\001\200A\360\n\000\t\025\220A\320\025*\250!\2501\320,>\270g\300V\3107\320R`\320`n\320n|\360\000\000}\001C\002\360\000\000C\002D\002\330\010\024\220A\320\025'\240q\250\004\250H\260A\330\010#\2401\320$7\260q\200A\360\n\000\t\025\220A\220]\240!\2404\240q\200A\360\014\000\t\025\220A\220]\240!\2404\240v\250Q\200A\360\016\000\t\025\220A\220]\240!\2404\240v\250Q\250h\260f\270F\300&\310\001\340\010\017\210q\200A\360\014\000\t\025\220A\320\025*\250!\2504\250x\260q\200A\360\032\000\t\025\220A\220]\240!\2404\240x\250q\260\t\270\021\270!\340\010\017\210u\220G\2301\230G\2401\240D\250\004\250E\260\025\260a\260q\200A\360\036\000\t\025\220A\320\025*\250!\2504\250x\260s\270+\300Q\300a\330\010\017\210t\320\023#\2401\240A\200A\360\024\000\t\025\220A\320\025*\250!\2504\250x\260t\270<\300q\200A\340\010\024\220A\220_\240A\240T\250\030\260\021\200A\360\026\000\t\025\220A\220_\240A\240T\250\030\260\021\200A\360\026\000\t\025\220A\220_\240A\240T\250\030\260\030\270\021\200A\340\010\024\220A\220_\240A\240T\250\021\200A\360\022\000\t\025\220A\220_\240A\240T\250\030\260\030\270\021\200A\360\034\000\t\025\220A\220_\240A\240T\250\030\260\023\260K\270|\3101\200A\360\034\000\t\025\220A\220_\240A""\240T\250\030\260\023\260K\270s\300+\310Q\200A\360(\000\t\025\220A\320\025,\250A\250T\260\030\270\023\270K\300z\320Q[\320[\\\200A\360\032\000\t\025\220A\220_\240A\240T\250\030\260\021\260+\270Q\270a\340\010\017\210u\220G\2301\230I\240Q\240d\250$\250e\2605\270\001\270\021\200A\360$\000\t\025\220A\220_\240A\240T\250\030\260\021\260'\270\035\300a\330\010\023\2207\230!\2301\200A\360\032\000\t\025\220A\220_\240A\240T\250\030\260\021\260!\330\010\017\210q\200A\360\010\000\t\025\220A\220_\240A\240T\250\026\250q\260\001\340\010\017\210q\200A\340\010\024\220A\220[\240\001\240\024\240Q\200A\360\010\000\t\025\220A\320\025(\250\001\250\024\250Q\200A\360\024\000\t\025\220A\320\025%\240Q\240d\250(\260#\260[\300\001\200A\340\010\024\220A\320\025%\240Q\240d\250!\200A\360,\000\t\025\220A\320\025%\240Q\240d\250(\260*\270L\310\001\310\027\320PQ\320QR\340\010\013\2104\210q\330\014\027\220\177\240a\240z\260\021\330\014\033\320\033.\250a\250q\330\014\022\220)\2301\320\034Z\320Z\\\320\\]\340\010\017\210q\200A\360\022\000\t\025\220A\320\025-\250Q\250d\260(\270#\270Q\200A\360\032\000\t\025\220A\320\025-\250Q\250d\260(\270'\300\034\310W\320T_\320_`\200A\360(\000\t\025\220A\320\025-\250Q\250d\260(\270!\270=\310\001\310\036\320WX\320XY\340\010\020\220\001\220\024\320\025%\240Q\240k\260\021\260$\260d\270%\270u\300A\320EU\320Uc\320cd\200A\360\024\000\t\025\220A\320\025%\240Q\240d\250(\260$\260a\200A\360\032\000\t\025\220A\320\025-\250Q\250d\260(\270$\270l\310!\200A\360\032\000\t\025\220A\320\025%\240Q\240d\250&\260\007\260q\200A\360\"\000\t\025\220A\320\025%\240Q\240d\250&\260\007\260q\270\001\340\010\017\210q\200A\360\024\000\t\025\220A\220[\240\001\240\024\240X\250Q\250h\260a\200A\360 \000\t\025\220A\320\025(\250\001\250\024\250X\260S\270\013\300:\310\\\320YZ\200A\340\010\024\220A\320\025(\250\001\250\024\250X\260T\270\021\200A\360\024\000\t\025\220A\220[\240\001\240\024\240X\250T\260\021\330\010\021\220\021\220!\200A\360\024\000\t\025\220A\320\025(\250\001\250\024\250X\260T\270\034\300Q\200A""\360\030\000\t\025\220A\320\025(\250\001\250\024\250X\260W\270K\300q\200A\340\010\024\220A\220\\\240\021\240$\240a\200A\340\010\024\220A\320\025.\250a\250t\2601\200A\360\032\000\t\025\220A\320\025&\240a\240t\2506\260\027\270\001\200A\360\"\000\t\025\220A\320\025&\240a\240t\2506\260\027\270\001\270\021\340\010\017\210q\200A\360\022\000\t\025\220A\320\025&\240a\240t\2508\2601\260A\330\010\017\210q\200A\360\032\000\t\025\220A\320\025&\240a\240t\2508\2601\260F\270!\2701\340\010\017\210t\2207\230!\2304\230q\240\004\240D\250\005\250U\260!\2601\200A\360\032\000\t\025\220A\320\025&\240a\240t\2508\2601\260F\270!\2701\340\010\017\210w\220g\230Q\230d\240!\2404\240t\2505\260\005\260Q\260a\200A\360\024\000\t\025\220A\320\025&\240a\240t\2508\2603\260k\300\021\200A\360\026\000\t\025\220A\320\025&\240a\240t\2508\2603\260k\300\021\200A\360\030\000\t\025\220A\320\025&\240a\240t\2508\2604\260|\3003\300a\200A\360\026\000\t\025\220A\320\025&\240a\240t\2508\2609\270A\200A\360\024\000\t\025\220A\320\025&\240a\240t\2508\2609\270A\200A\360\010\000\t\025\220A\320\025)\250\021\250$\250f\260A\260Q\340\010\017\210q\200A\360,\000\t\025\220A\320\025)\250\021\250$\250h\260a\260y\300\001\300\033\310A\310[\320XY\320Yc\320cd\320dp\320pq\320qr\340\010\023\2205\230\007\230q\240\007\240q\250\004\250D\260\005\260U\270!\2701\330\010\023\2205\230\007\230q\240\t\250\021\250$\250d\260%\260u\270A\270Q\330\010\023\2205\230\007\230q\240\t\250\021\250$\250d\260%\260u\270A\270Q\340\010\017\210x\220z\240\021\200A\360\022\000\t\025\220A\320\025)\250\021\250$\250h\260c\270\021\200A\360\022\000\t\025\220A\220\\\240\021\240$\240h\250c\260\033\270A\200A\360\024\000\t\025\220A\320\025)\250\021\250$\250h\260d\270,\300a\200A\360\024\000\t\025\220A\320\025)\250\021\250$\250h\260f\270A\200A\360\026\000\t\025\220A\320\025'\240q\250\004\250A\200A\340\010\024\220A\320\025'\240q\250\004\250A\200A\340\010\024\220A\320\025'\240q\250\004\250G\2604\260q\200A\360\024\000\t\025\220A\320\025'\240q\250\004\250H\260D\270\014\300A\200A""\360\024\000\t\025\220A\320\025'\240q\250\004\250H\260F\270#\270[\310\001\200A\360\"\000\t\025\220A\320\025/\250q\260\004\260I\270\\\310\032\320S`\320`l\320lq\320qr\330\010\024\220A\220_\240A\240T\250\030\260\022\260<\270u\300A\330\010\017\210q\200A\360 \000\t\025\220B\320\0260\260\001\260\024\260X\270U\300-\310q\320P]\320]^\320^_\330\010\020\220\r\230Q\200A\360\034\000\t\025\220B\320\0261\260\021\260$\260h\270d\300,\310a\310q\330\010\017\210q\200A\360\024\000\t\025\220B\320\0263\2601\260D\270\010\300\007\300q\200A\360.\000\t\025\220B\320\026*\250!\2504\250x\260\177\300a\300x\310q\320PQ\330\010\017\210x\220q\200A\360\024\000\t\025\220B\320\026*\250!\2504\250x\260q\200A\360\036\000\t\025\220B\320\026*\250!\2504\250x\260q\270\001\330\010\017\210q\200A\340\010\024\220B\320\026*\250!\2504\250x\260s\270+\300Q\200A\360\010\000\t\025\220B\320\026(\250\001\250\024\250Q\200A\360\010\000\t\025\220B\320\026&\240a\240t\2501\200A\360\036\000\t\025\220B\320\026)\250\021\250$\250h\260d\270,\300c\310\033\320TU\200A\360\024\000\t\025\220B\320\026'\240q\250\004\250H\260C\260{\300!\200A\360\"\000\t\025\220B\320\026'\240q\250\004\250H\260D\270\014\300C\300{\320RS\200A\360\036\000\t\025\220B\320\026'\240q\250\004\250H\260D\270\014\300C\300{\320RS\200A\360\036\000\t\025\220B\320\026'\240q\250\004\250H\260D\270\014\300C\300q\200A\360\022\000\t\025\220B\220f\230A\230T\240\030\250\026\250q\330\010\014\210G\2202\220X\230Q\230a\330\014\025\220Q\220g\230T\240\021\240$\240l\260!\330\010\017\210q\200A\340\010\024\220B\220n\240A\240T\250\021\200A\360\020\000\t\025\220B\220n\240A\240T\250\030\260\024\260Q\200A\360\022\000\t\025\220B\220n\240A\240T\250\030\260\025\260m\3001\200A\360\030\000\t\025\220B\220o\240Q\240d\250!\340\010\017\210z\230\021\230$\230a\330\010\022\220'\230\021\230!\200A\360 \000\t\r\210D\220\013\2301\230C\230t\2401\330\010\024\220A\220Z\230q\240\004\240H\250C\250{\270!\2701\340\010\013\210<\220q\330\010\017\210q\200A\360\024\000\t\r\210D\220\014\230A\230T\240\024\240Q\330\010""\024\220A\220[\240\001\240\024\240X\250T\260\021\340\010\014\210M\230\021\200A\360\022\000\t\025\220D\230\010\240\001\330\010\024\220D\230\001\330\010\014\210G\2201\330\014\024\220C\220w\230a\330\014\017\210v\220S\230\001\330\020\035\230V\2402\240Q\330\010\021\220\032\2301\330\010\017\210q\200A\360\022\000\t\023\220\"\220F\230!\2304\230x\240v\250Q\330\010\014\210G\2202\220X\230Q\230a\330\014\023\2201\220G\2304\230q\240\004\240I\250Q\330\010\017\210q\200A\360\022\000\t\023\220\"\220F\230!\2304\230x\240v\250Q\330\010\014\210G\2202\220X\230Q\230a\330\014\023\2201\220G\2304\230q\240\004\240J\250a\330\010\017\210q\200A\360\024\000\t\023\220\"\220F\230!\2304\230x\240v\250Q\330\010\014\210G\2202\220X\230Q\230d\240!\330\014\023\2201\220G\2304\230q\240\004\240G\2501\330\010\017\210q\200A\360\022\000\t\023\220\"\220F\230!\2304\230x\240v\250Q\330\010\014\210G\2202\220X\230Q\230d\240!\330\014\023\2201\220G\2304\230q\240\004\240I\250Q\330\010\017\210q\200A\360\022\000\t\023\220\"\220F\230!\2304\230x\240v\250Q\330\010\014\210G\2202\220X\230Q\230d\240!\330\014\023\2201\220G\2304\230q\240\004\240J\250a\330\010\017\210q\200A\360\024\000\t\r\210F\220)\2306\240\026\240q\330\n\016\210i\220q\230\006\230a\200\001\360\010\000\005\r\210A\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\0170\260\004\260A\260W\270K\300w\310a\340\010\017\320\0170\260\004\260A\260W\270K\300q\200\001\360\010\000\005\r\210A\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\0171\260\024\260Q\260g\270[\310\007\310q\340\010\017\320\0171\260\024\260Q\260g\270[\310\001\200\001\360\010\000\005\r\210A\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\0172\260$\260a\260w\270k\310\027\320PQ""\340\010\017\320\0172\260$\260a\260w\270k\310\021\200\001\360\010\000\005\r\210A\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\0173\2604\260q\270\007\270{\310'\320QR\340\010\017\320\0173\2604\260q\270\007\270{\310!\200\001\360\010\000\005\r\210A\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\0174\260D\270\001\270\027\300\013\3107\320RS\340\010\017\320\0174\260D\270\001\270\027\300\013\3101\200\001\360\010\000\005\r\210A\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\0175\260T\270\021\270'\300\033\310G\320ST\340\010\017\320\0175\260T\270\021\270'\300\033\310A\200\001\360\010\000\005\r\210A\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\0176\260d\270!\2707\300+\310W\320TU\340\010\017\320\0176\260d\270!\2707\300+\310Q\200\001\360\010\000\005\r\210A\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\0178\270\004\270A\270W\300K\310w\320VW\340\010\017\320\0178\270\004\270A\270W\300K\310q\200\001\360\010\000\005\r\210A\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\017.\250d\260!\2607\270+\300W\310A\340\010\017\320\017.\250d\260!\2607\270+\300Q\200\001\360\010\000\005\r\210A\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220q\330\004\007\200q\330\010\017\320\017/\250t\2601\260G\270;\300g\310Q\340\010\017\320\017/\250t\2601\260G""\270;\300a\200A\340\010\014\210H\220C\220q\230\001\330\014\023\2207\230!\320\033.\250a\330\014\017\210z\230\021\230&\240\001\330\020\032\230!\2308\2401\200A\340\010\014\210H\220C\220q\230\001\330\014\023\2207\230!\230?\250!\330\014\017\210z\230\021\230&\240\001\330\020\032\230!\2308\2401\210A\330\020\024\220I\230Q\330\024\030\230\006\230j\250\001\250\027\260\001\210A\330\020\024\220I\230Q\330\024\030\230\006\230k\250\021\250'\260\021\210A\330\020\024\220I\230Q\230g\240Q\200A\340\010\014\210J\220a\220r\230\022\2305\240\002\240&\250\004\250F\260&\270\003\2703\270b\300\003\3001\200A\360\006\000\017\020\330\t\n\360.\000\t\021\220\004\220K\230w\240a\240t\2508\2606\270\021\270!\320\004A\300\021\360$\000\t\022\220\023\220L\240\004\240C\240z\260\021\330\010\024\220B\320\0260\260\001\260\024\260X\270U\300-\310x\320WX\320XY\330\010\017\210q\320\004<\270A\330\030'\240~\260\\\300\021\330\033,\250L\270\017\300q\330\0320\260\001\360L\001\000\t\032\230\023\230A\230Q\340\010+\320+;\2706\300\021\300&\310\002\310!\360\010\000\t\020\210v\220S\230\003\2301\230J\240a\340\010\013\2105\220\003\2201\330\014\023\2203\220a\220s\230!\230=\250\001\250\024\250W\260A\260Q\340\010\022\220)\2301\230A\330\010\014\210E\220\025\220a\220q\330\014\031\230\021\230%\230~\250W\260A\260Q\340\010\024\220A\320\025+\2501\330\014\020\220\010\230\001\230\033\240N\260!\2607\270'\300\027\310\006\310a\330\014\026\220i\230z\250\031\260'\270\033\300G\3101\330\014\025\220[\240\001\340\010\014\210A\210Q\340\010\024\220A\220[\240\001\240\024\240X\250Q\340\010\021\220\024\320\025&\240a\240q\330\010\024\220A\220_\240A\240T\250\030\260\021\260!\340\010\017\210q\200A\360&\000\t\021\220\004\220M\240\021\240!\330\010\020\220\r\230V\2401\240F\250\"\250A\330\010\024\220A\220_\240A\240T\250\030\260\032\270<\300w\310g\320UV\320VW\340\010\013\2104\210q\330\014\020\220\001\220\021\330\014\023\2201\340\010\017\210q\220\005\220Q\220c\230\024\230U\240%\240q\250\001\330\010\014\210A\210Q\330\010\017\210q\200A\360\"\000\t\r\210N\230!""\2301\330\010\020\220\014\230A\230T\240\030\250\021\340\010\013\2106\220\023\220A\330\014\022\220(\230!\2301\340\010\025\320\025%\240Q\240a\340\010\013\210:\220S\230\001\330\014\023\320\023#\2401\240A\330\r\027\220s\230!\330\014\023\220?\240!\2401\330\r\027\220s\230!\330\014\023\320\023&\240a\240q\330\r\027\220s\230!\330\014\023\320\023#\2401\240A\330\r\027\220s\230!\330\014\023\2203\220a\320\027'\240q\250\001\330\r\027\220s\230!\330\014\023\320\023%\240Q\240f\250G\2601\260A\200A\360\032\000\t\r\210N\230!\2301\330\010\020\220\014\230A\230T\240\030\250\021\340\010\013\2106\220\023\220A\330\014\022\220(\230!\2301\340\010\025\320\025%\240Q\240a\340\010\013\210:\220S\230\001\330\014\030\230\001\320\031)\250\021\250$\250h\260c\270\024\270Q\270c\300\021\300!\330\r\027\220s\230!\330\014\030\230\001\230\037\250\001\250\024\250X\260S\270\003\2701\270A\330\r\027\220s\230!\330\014\030\230\001\320\031,\250A\250T\260\030\270\023\270C\270q\300\001\330\r\027\220s\230!\330\014\030\230\001\320\031)\250\021\250$\250h\260c\270\025\270a\270q\330\r\027\220s\230!\330\014\030\230\001\320\031)\250\021\250$\250h\260c\270\023\270A\270Q\330\r\027\220s\230!\330\014\020\220\016\230a\230q\330\014\030\230\001\320\031+\2501\250D\260\010\270\003\2701\200A\360\034\000\t\r\210N\230!\2301\330\010\020\220\014\230A\230T\240\030\250\021\330\010\013\2106\220\023\220A\330\014\022\220*\230A\320\035=\270R\270q\330\010\017\320\017$\240A\240Q\200A\360\026\000\t\r\210N\230!\2301\330\010\020\220\014\230A\230T\240\030\250\021\330\010\013\2106\220\023\220A\330\014\022\220*\230A\320\035=\270R\270q\330\010\035\230Q\230g\240Q\200A\360\024\000\t\r\210N\230!\2301\330\010\024\220A\220^\2401\240D\250\010\260\001\200A\360\022\000\t\r\210N\230!\2301\330\010\024\220A\220_\240A\240T\250\030\260\021\200A\360\030\000\t\r\210N\230!\2301\330\010\024\220A\220_\240A\240T\250\030\260\023\260A\200A\360\030\000\t\r\210N\230!\2301\330\010\024\220A\320\025%\240Q\240d\250(\260#\260Q\200A\360\030\000\t\r\210N\230!\2301\330\010\024\220A""\320\025%\240Q\240d\250(\260#\260S\270\001\270\021\200A\360\030\000\t\r\210N\230!\2301\330\010\024\220A\320\025(\250\001\250\024\250X\260S\270\001\200A\360\034\000\t\r\210N\230!\2301\330\010\014\210N\230!\2301\330\010\024\220A\320\025)\250\021\250$\250h\260c\270\021\330*+\330*+\330*+\330*+\330*+\330*+\330*+\330*+\330*?\270q\330\010\021\220\031\230'\240\027\250\006\250a\250q\330\010\021\220\030\230\021\330\010\021\220\021\220!\200A\360\030\000\t\r\210N\230!\2301\330\010\014\210N\230!\2301\330\010\024\220A\320\025'\240q\250\004\250H\260C\260q\200A\360 \000\t\r\210N\230!\2301\330\010\014\210N\230!\2301\330\010\014\210N\230!\2301\330\010\024\220A\320\025&\240a\240t\2508\2603\260c\270\023\270N\310!\330*8\270\017\320GY\320YZ\330\010\016\210i\220w\230g\240V\2501\250A\330\010\016\210h\220a\330\010\021\220\021\220!\200A\330-N\310h\320V_\320_`\3608\000\t\r\210N\230!\2301\330\010\014\210N\230!\2301\330\010\024\220A\220_\240A\240T\250\030\260\023\260A\330*4\260F\270!\330*6\3206F\300a\330*8\270\014\300L\320P\\\320\\]\330*9\270\037\310\017\320WX\330*8\270\014\300A\330*;\2701\330\010\014\210I\220W\230G\2406\250\021\250!\330\010\021\220\021\220!\200A\360\022\000\t\020\320\017 \240\001\240\024\240Q\200A\360\024\000\t\020\320\017 \240\001\240\024\240Q\200A\360\022\000\t\020\320\017(\250\001\250\024\250Q\200A\360\020\000\t\020\320\017 \240\001\240\024\240Q\320\004,\250A\330\024#\240>\260\034\270Q\330\026\"\320\"4\260O\3001\330\026,\250A\360L\001\000\t\032\230\023\230A\230Q\360\006\000\t)\250\t\260\021\260!\330\010&\240i\250q\260\001\360\010\000\t\023\220.\240\004\240A\240Q\330\010\020\220\014\230A\340\010\013\2105\220\003\2201\330\014\023\2203\220a\220s\230!\230=\250\001\250\024\250W\260A\260Q\340\010\024\220A\320\025&\240a\240t\2508\2601\260K\270~\310Q\310g\320U^\320^e\320ef\330\014\025\220Z\230y\250\007\250{\270'\300\034\310Y\320Va\320ab\340\010\024\220A\220[\240\001\240\024\240X\250Q\330\010\021\220\024\320\025&\240a\240q\330\010\024\220A\220_\240A\240T\250\030\260\021\260!\340""\010\017\210q\320\004,\250A\330\024#\240>\260\034\270Q\330\026\"\320\"4\260O\3001\330\026,\250A\360L\001\000\t\020\210t\2201\220H\230C\230t\2401\240D\250\005\320-]\320]_\320_c\320cd\320de\340\010\031\230\023\230A\230Q\360\010\000\t\"\240\031\250!\2501\340\010\020\220\007\220q\340\010\013\2105\220\003\2201\330\014\023\2203\220a\220s\230!\230=\250\001\250\024\250W\260A\260Q\340\010\024\220A\320\025&\240a\240t\2508\2601\260K\270~\310Q\310g\320U]\320]d\320de\330\014\025\220Z\230y\250\007\250{\270'\300\034\310Y\320Va\320ab\340\010\024\220A\220[\240\001\240\024\240X\250Q\330\010\021\220\024\320\025&\240a\240q\330\010\024\220A\220_\240A\240T\250\030\260\021\260!\340\010\017\210q\200A\360\020\000\t\020\320\017(\250\001\250\024\250Q\200A\360\024\000\t\023\220.\240\001\240\024\240Q\330\010\013\2108\2203\220a\330\014\023\2201\330\r\025\220S\230\001\330\014\023\2201\330\r\025\220S\230\001\330\014\023\2201\330\r\025\220S\230\001\330\014\023\2201\200A\360\026\000\t$\240=\260\001\260\024\260Q\360\006\000\t\022\220\021\330\010\014\210E\220\025\220a\220~\240Q\240d\250!\330\n\021\320\021!\240\021\240&\250\001\250\023\250G\2601\260A\330\n\020\220\001\220\030\230\024\230Y\240a\240q\340\010\017\210q\200A\360\024\000\t\024\220=\240\001\240\024\240Q\330\010\025\220W\230A\230Q\200A\360\024\000\t\021\220\005\220Q\330\014\r\360\006\000\r\016\330\014\027\220q\200A\360\036\000\t\021\220\010\230\005\230Q\330\010\017\210x\220u\230G\2403\240c\250\023\320,^\320^`\320`h\320hm\320mt\320tu\360\n\000\t\025\220A\320\0255\260Q\330\014\020\220\010\230\001\230\033\240N\260!\2606\270\021\270!\330\014\017\210v\220Q\330\014\017\210v\220V\2301\330\014\022\220!\2208\2306\240\021\240!\330\014\022\220!\220<\230v\240Q\240m\2606\270\021\270!\330\014\022\220!\220:\230V\2401\240N\260&\270\001\270\021\330\014\022\220!\220?\240&\250\001\250\034\260V\2701\270A\340\010\014\210C\210u\220E\230\026\230q\330\014\017\210s\220!\2203\220c\230\021\330\020\032\230)\2401\240A\240Q\240a\330\020\034\230A\320\0356\260a\260t\2708""\300;\310g\320UY\320YZ\320Z^\320^_\340\020\027\220s\230!\2303\230c\240\023\320$N\310b\320PS\320ST\320TU\340\020\033\230>\250\026\250q\260\002\260\"\260A\330\020\032\230)\2401\240A\240Q\240a\330\020\034\230B\320\036/\250q\260\004\260H\270A\270X\300Q\300d\310'\320QU\320UV\320VZ\320Z`\320`a\330\020\032\230)\2401\240A\240Q\240a\330\020\034\230B\320\036/\250q\260\004\260H\270A\270X\300Q\300d\310'\320QU\320UV\320VZ\320Z`\320`a\330\020\034\230B\320\0363\2601\260D\270\010\300\001\300\032\3103\310j\320X]\320]c\320cd\340\020\034\230B\320\0362\260!\2604\260x\270{\310*\320TU\340\020\034\230B\230o\250Q\250d\260(\270!\2701\330\020\034\230B\230o\250Q\250d\260(\270!\2708\3001\300A\330\020\034\230B\230o\250Q\250d\260(\270!\2708\3001\300A\330\020\024\220A\220Q\340\010\033\2307\240!\2401\340\010\017\210q\200A\360\022\000\t\020\210~\230Q\230d\240!\200A\360\022\000\t\020\320\017%\240Q\240d\250!\200A\360\020\000\t\020\210~\230Q\230d\240!\200A\360\032\000\t\020\210~\230Q\230d\240(\250!\200A\360\034\000\t\020\210~\230Q\230d\240(\250!\200A\360\024\000\t!\240\r\250Q\250d\260!\330\010\013\2105\220\003\2201\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\024\220A\330\r\022\220#\220Q\330\014\023\2201\330\r\022\220#\220Q\330\014\023\2201\340\014\023\2201\320\004*\250!\360\024\000\t\025\220A\320\025-\250Q\250d\260(\270!\200A\340\010\013\210:\220Q\220d\230'\240\021\330\014\020\220\004\220E\230\021\230!\330\014\020\220\t\230\021\330\014\023\2204\220u\230A\230W\240C\240q\330\014\020\220\005\220Z\230q\340\014\023\220:\230Q\230d\240'\250\021\330\014\r\340\010\017\210t""\2206\230\023\230A\330\014\020\220\t\230\021\330\010\017\210t\2206\230\023\230A\330\014\020\220\t\230\021\200A\360\034\000\t\020\320\017%\240Q\240d\250+\260Q\200A\360 \000\t\024\320\023-\250Q\250d\260(\270#\270Q\340\010\017\210q\200A\360\022\000\t \230~\250Q\250d\260!\340\010\017\210q\220\004\220A\220S\230\004\230E\240\025\240a\240t\2509\260A\200A\360\022\000\t \230~\250Q\250d\260!\340\010\017\210w\220g\230Q\230d\240!\2404\240t\2505\260\005\260Q\260d\270)\3001\200A\360\026\000\t\014\210:\220Q\220k\240\021\330\014\020\220\016\230a\230y\250\001\330\014\031\320\031*\250!\2504\250x\260q\340\014\022\220'\230\021\230!\340\010\021\220\021\220!\330\010\024\220A\220^\2401\240D\250\010\260\013\270<\300v\310Q\200A\360\026\000\t\014\210:\220Q\220k\240\021\330\014\020\220\016\230a\230y\250\001\330\014\031\320\031*\250!\2504\250x\260q\340\014\022\220'\230\021\230!\340\010\021\220\021\220!\330\010\024\220A\220]\240!\2404\240x\250{\270,\300g\310Q\200A\360\030\000\t\014\210:\220Q\220k\240\021\330\014\020\220\016\230a\230y\250\001\330\014\031\320\031*\250!\2504\250x\260q\340\014\022\220'\230\021\230!\330\010\024\220A\320\025%\240Q\240d\250(\260#\260[\300\013\310<\320W^\320^_\200A\360\030\000\t\014\210:\220Q\220k\240\021\330\014\020\220\016\230a\230y\250\001\330\014\031\320\031*\250!\2504\250x\260q\340\014\022\220'\230\021\230!\330\010\024\220A\320\025&\240a\240t\2508\2603\260k\300\033\310L\320X^\320^_\200A\360 \000\t\014\210:\220Q\220m\2401\330\014\025\220Q\330\014\033\2303\230a\230q\340\014\025\220Q\330\014\033\2301\360\006\000\t\024\2209\230F\240!\240=\260\002\260!\360\006\000\t\014\2101\330\014\020\220\003\220;\230i\240q\250\013\2607\270!\330\020\030\230\001\230\026\230w\240h\250a\340\014\024\220A\220V\2307\240,\250a\360\006\000\t\025\220A\320\025-\250Q\250d\260(\270*\300A\330\010\022\220/\240\021\240$\240h\250a\360\006\000\t\r\210A\210Q\360\014\000\t\014\2101\330\014\020\320\020(\250\004\250A\250[\270\007\270q\330\014\020\220\013\2304\230q\330\021\030\230\010\240\r\250Q\340\014""\020\320\020(\250\001\250\021\330\r\024\220L\240\r\250Q\360\006\000\t\r\210M\230\021\320\032:\270!\330\010\014\210M\230\021\320\0328\270\001\210A\330\020\025\220Q\220n\240E\250\031\260!\330\020\024\220L\240\001\200A\360\022\000\t\026\220R\220v\230Q\230d\240(\250&\260\001\330\010\014\210G\2202\220X\230Q\230a\330\014\026\220a\220w\230d\240!\2404\240}\260A\330\010\017\210q\200A\360\014\000\t\020\320\017 \240\001\240\024\240V\2501\200A\340\010\031\230\024\230V\2401\330\010\034\230G\2406\250\021\250&\260\002\260!\360\006\000\t\025\220A\320\025'\240q\250\004\250F\260!\340\010\020\220\001\330\010\014\210E\220\025\220a\220q\330\014\021\220\027\230\001\230\027\240\001\240\021\340\010\014\210A\210Q\340\010\017\210q\200A\360\n\000\t\032\230\024\230V\2401\330\010$\240M\260\026\260q\270\006\270b\300\001\360\006\000\t\025\220A\220]\240!\2404\240v\250V\2606\270\033\300F\310!\330\010\022\220!\2205\230\002\230!\330\010\014\210E\220\025\220a\220q\330\014\023\2201\220E\230\031\240!\2401\330\010\014\210A\210Q\340\010\017\210q\200A\360\n\000\t\032\230\024\230V\2401\330\010$\240M\260\026\260q\270\006\270b\300\001\360\006\000\t\025\220A\220]\240!\2404\240v\250V\2606\270\026\270v\300Q\340\010\022\220!\2205\230\002\230!\330\010\014\210E\220\025\220a\220q\330\014\023\2201\220E\230\031\240!\2401\340\010\014\210A\210Q\340\010\017\210q\200A\360\n\000\t\032\230\024\230V\2401\330\010&\240m\2606\270\021\270&\300\002\300!\360\006\000\t\025\220A\220]\240!\2404\240v\250V\260=\300\006\300f\310A\330\010\024\220A\220U\230\"\230A\330\010\014\210E\220\025\220a\220q\330\014\025\220Q\220e\230;\240a\240q\330\010\014\210A\210Q\340\010\017\210q\200A\360\n\000\t\032\230\024\230V\2401\330\010%\240]\260&\270\001\270\026\270r\300\021\360\006\000\t\025\220A\220]\240!\2404\240v\250V\2606\270\026\270|\3101\340\010\023\2201\220E\230\022\2301\330\010\014\210E\220\025\220a\220q\330\014\024\220A\220U\230*\240A\240Q\340\010\014\210A\210Q\340\010\017\210q\200A\360\032\000\t\020\320\017 \240\001\240\024\240X\250S\260\001""\200A\360$\000\t\020\320\017 \240\001\240\024\240X\250S\260\013\2701\200A\360\036\000\t\020\320\017(\250\001\250\024\250X\260S\270\013\3001\200A\360\022\000\t\021\220\002\220&\230\001\230\024\230X\240V\2501\330\010\014\210G\2202\220X\230Q\230a\330\014\021\220\021\220'\230\024\230Q\230d\240(\250!\330\010\017\210q\200A\360\024\000\t\021\220\002\220&\230\001\230\024\230X\240V\2501\330\010\014\210G\2202\220X\230Q\230d\240!\330\014\021\220\021\220'\230\024\230Q\230d\240'\250\021\330\010\017\210q\320\004$\240A\360\034\000\t\014\210:\220X\230X\240Q\330\014\022\220'\230\021\320\032A\300\021\300!\340\010\013\210:\220S\230\001\330\014\027\320\027*\250!\2504\250q\340\014\027\320\027(\250\001\250\024\250Q\330\010\017\210q\200A\360 \000\t\026\320\025(\250\001\250\024\250X\260X\270Q\330\010\017\210t\320\023#\2401\240A\200A\360&\000\t\031\230\001\230\024\230X\240Z\250|\2701\270G\3001\300A\330\010\020\220\r\230V\2401\240F\250\"\250A\330\010\027\220q\230\004\230H\240J\250l\270'\300\027\310\001\310\021\340\010\013\2104\210q\330\014\020\220\001\220\021\330\014\023\2201\340\010\017\210q\330\010\014\210E\220\025\220a\220q\330\014\020\220\007\220q\230\004\320\034,\250A\250U\260!\2601\340\010\014\210A\210Q\330\010\017\210q\200A\330\010\020\220\t\230\024\230Y\240a\240s\250*\260A\260U\270#\270T\300\021\200A\360\022\000\t\036\230_\250A\250T\260\021\330\010\022\220'\230\021\230!\200A\360\024\000\t\036\230_\250A\250T\260\021\330\010\027\220w\230a\230q\200A\360\022\000\t\020\320\017!\240\021\240$\240a\200A\360\020\000\t\020\320\017!\240\021\240$\240a\200A\360\032\000\t\"\240\021\240$\240a\200A\360\020\000\t\020\320\017)\250\021\250$\250a\200A\360\022\000\t\020\210\177\230a\200A\360\024\000\t\020\320\017!\240\021\240$\240a\200A\330\010\032\230$\230a\330\010\035\230T\240\021\330\010\025\220W\230C\230q\240\001\330\010\014\210E\220\025\220a\220q\330\014\024\220I\230X\240Q\240c\250\032\2601\260A\330\014\017\210t\2203\220a\330\020\027\220q\330\010\017\210q\200A\330\010\032\230$\230a\330\010\025\220W""\230C\230q\240\004\240A\330\010\035\230T\240\021\330\010\032\230$\230a\330\010\014\210E\220\025\220a\220q\330\014\023\2208\2305\240\001\240\023\240C\240y\260\010\270\001\270\023\270J\300a\300q\330\010\017\210q\200A\360\020\000\t\037\230a\330\010\036\230a\330\010\031\230\021\340\010\024\220A\320\025%\240Q\240d\250&\260\003\2601\260G\2701\270F\300!\3001\200A\360\006\000\t\020\210\177\230a\230t\2401\200A\340\010\017\320\017&\240a\240t\2501\200A\360\022\000\t\020\210\177\230a\230t\2401\200A\360\022\000\t\020\320\017&\240a\240t\2501\200A\360\020\000\t\020\210\177\230a\230t\2401\200A\360\036\000\t\020\320\017&\240a\240t\2501\200A\360\024\000\t\020\210\177\230a\230t\2401\200A\360\026\000\t\020\210\177\230a\230t\2401\200A\360\034\000\t\020\210\177\230a\230t\2408\2501\200A\360\036\000\t\020\210\177\230a\230t\2408\2508\2601\200A\360*\000\t\020\320\017&\240a\240t\2508\2608\270;\300k\320QR\200A\360\034\000\t\020\320\017.\250a\250t\260;\270a\200A\360\022\000\t\027\220b\230\006\230a\230t\2408\2506\260\021\330\010\014\210G\2202\220X\230Q\230a\330\014\027\220q\230\007\230t\2401\240D\250\014\260A\330\010\017\210q\200A\360\022\000\t\017\210b\220\006\220a\220t\2308\2406\250\021\330\010\014\210G\2202\220X\230Q\230d\240!\330\014\017\210q\220\007\220t\2301\230D\240\013\2501\330\010\017\210q\200A\360\022\000\t\017\210b\220\006\220a\220t\2308\2406\250\021\330\010\014\210G\2202\220X\230Q\230d\240!\330\014\017\210q\220\007\220t\2301\230D\240\014\250A\330\010\017\210q\200A\360\022\000\t\017\210b\220\006\220a\220t\2308\2406\250\021\330\010\014\210G\2202\220X\230Q\230d\240!\330\014\017\210q\220\007\220t\2301\230D\240\016\250a\330\010\017\210q\200A\330\010\032\230!\330\010\036\230c\240\021\330\010!\240\023\240A\330\010\025\220W\230C\230q\240\001\360\006\000\t\r\210E\220\025\220a\220q\330\014\022\220*\230D\240\t\250\021\250!\330\014\023\220=\240\001\240\032\2509\260C\260q\330\014\017\210t\2203\220a\330\020\027\220q\330\010\017\210q\200A\330\010\020\220\006\220d\230)\2401\240C\240z\260\021\260!""\320\004\037\230~\320-A\300\021\360 \000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\013\2101\330\014\030\230\001\320\031.\250a\250t\2608\2706\300\036\310q\320PT\320TU\320UZ\320Z[\340\014\030\230\001\320\031-\250Q\250d\260(\270&\300\016\310a\310t\320ST\320TY\320YZ\340\010\016\210j\230\001\230\026\230|\2501\200A\360\024\000\t\023\220.\240\001\240\027\250\001\250\021\340\010\026\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\024\220A\220^\2401\240D\250\010\260\001\340\010\016\210j\230\001\230\026\230}\250A\200A\340\010\026\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\024\220A\320\025,\250A\250T\260\030\270\021\340\010\016\210j\230\001\230\026\230|\2501\200A\360\022\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\024\220A\320\025%\240Q\240d\250(\260&\270\003\270;\300a\340\010\016\210j\230\001\230\026\230|\2501\200A\360\024\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\022\220.\240\001\240\027\250\001\250\021\330\010\024\220A\220[\240\001\240\024\240X\250Q\340\010\016\210j\230\001\230\026\230}\250A\200A\340\010\026\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\030\230\001\230\024\230X\240Q\340\010\016\210j\230\001\230\026\230|\2501\200A\340\010\026\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\036\230a\230t\2408\2501\340\010\016\210j\230\001\230\026\230|\2501\200A\360\034\000\t\017\210g\220Q\220a\200A\360,\000\t\027\220g\230Q\230a\330\010\022\220.\240\001\240\021\330\010\023\2204\220z\240\021\340\010\026\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\024\220A\220_\240A\240T\250\030\260\031\270(\300&\310\007\310q\320PY\320YZ\320Z[\340\010\016\210j\230\001\230\026\230}\250A\340\010\013\2101\330\014\022\220)\2301\320\034@\300\002\300,\310b\320PQ\340""\010\017\210q\200A\360\032\000\t\020\320\017!\240\021\240$\240h\250a\200A\360\032\000\t\020\320\017!\240\021\240$\240h\250c\260\021\200A\330\010\032\230!\330\010\036\230l\250!\360\014\000\t\017\210k\230\021\230$\230h\240a\240u\250A\250Y\260a\260q\330\014\023\2206\230\021\330\014\023\2209\230H\240A\330\014\023\2205\230\002\230$\230j\250\001\250\021\330\010\017\210q\200A\360,\000\t\017\210n\230A\230Q\330\010\016\210n\230A\230Q\330\010\024\220A\320\025*\250!\2504\250x\260u\270A\330*4\260J\270a\330*<\320<N\320N`\320`a\330*?\320?T\320Th\320hi\330*>\320>U\320UV\330\010\022\220)\2307\240'\250\026\250q\260\001\330\010\021\220\021\220!\200A\360\"\000\t\017\210n\230A\230Q\330\010\016\210n\230A\230Q\330\010\024\220A\320\025&\240a\240t\2508\2605\270\001\330'1\260\036\270~\310^\320[\\\330'8\3208I\310\021\330':\270!\330\010\016\210i\220w\230g\240V\2501\250A\330\010\021\220\021\220!\200A\360$\000\t\017\210n\230A\230Q\330\010\016\210n\230A\230Q\330\010\024\220A\320\025'\240q\250\004\250H\260E\270\021\330*7\260q\330*9\270\037\310\017\320WX\330*<\320<N\320N_\320_`\330*>\270a\330\010\017\210y\230\007\230w\240f\250A\250Q\330\010\021\220\021\220!\200A\360\016\000\t'\240n\260A\260T\270\021\340\010\"\240!\330\010\034\320\0341\260\021\260$\260a\360\014\000\t\r\210E\220\025\220a\220q\330\014\033\320\0335\260Q\260g\270Q\270a\330\014\020\220\005\220U\230!\2301\330\020\034\230A\320\0357\260q\270\004\270A\330\024\033\2301\230D\240\004\240I\250V\2603\260a\330\020\034\230A\320\0357\260q\270\004\270A\330\024\033\2301\230D\240\004\240I\250V\2603\260a\260|\300:\310Q\200A\360\022\000\t\037\230n\250A\250T\260\021\330\010\013\2105\220\003\2201\330\014\023\2201\330\010\014\320\014 \240\007\240q\250\004\250H\260A\330\010\017\210t\2201\200A\340\010\017\210q\200A\360\010\000\t\020\210q\200A\360\006\000\t\020\210q\200A\360\022\000\t\020\320\017\037\230q\200A\360\022\000\t\020\320\017\037\230q\240\004\240A\200A\360\022\000\t\020\320\017'\240q\250\004\250A\200A\360\020\000\t\020\320\017\037\230q\240\004\240A""\200A\360\024\000\t\020\320\017'\240q\250\004\250A\200A\360\016\000\t \230q\330\010\031\230\021\340\010\024\220A\220]\240!\2404\240v\250S\260\001\260\027\270\001\270\021\200A\360\020\000\t\020\320\017'\240q\250\004\250A\200A\360\024\000\t\020\320\017\037\230q\240\004\240A\200A\360\022\000\t\020\320\017/\250q\260\004\260A\200A\360\022\000\t \320\037/\250q\260\004\260A\330\010\023\2207\230!\2301\200A\360\036\000\t\032\230\036\240q\250\004\250A\330\010 \240\r\250V\2601\260F\270\"\270A\360\006\000\t\025\220A\320\025%\240Q\240d\250(\260%\260w\270f\300A\330\010\021\220\021\220%\220q\230\003\2304\230u\240E\250\021\250!\330\010\014\210A\210Q\340\010\017\210q\200A\360\036\000\t\032\230\036\240q\250\004\250A\330\010 \240\r\250V\2601\260F\270\"\270A\360\006\000\t\025\220A\320\025&\240a\240t\2508\2605\270\006\270g\300V\3101\330\010\021\220\021\220%\220q\230\003\2304\230u\240E\250\021\250!\330\010\014\210A\210Q\340\010\017\210q\200A\360\024\000\t\032\230\036\240q\250\004\250A\330\010\031\230\030\240\026\240q\250\006\250b\260\001\360\006\000\t\025\220A\320\025&\240a\240t\2508\2601\330\010\021\220\021\220$\220a\220s\230$\230e\2405\250\001\250\021\330\010\014\210A\210Q\340\010\017\210q\200A\360\032\000\t\020\320\017'\240q\250\004\250H\260C\260q\200A\360\032\000\t\020\320\017\037\230q\240\004\240H\250C\250q\200A\360\034\000\t\023\220!\330\010\t\330\014\026\320\026'\240q\250\004\250H\260C\260q\330\014\017\210t\320\023%\240S\250\003\2501\330\020\032\230!\2301\340\014\022\220'\230\021\320\032D\300B\300c\310\021\330\010\017\210q\200A\360\022\000\t\020\320\017\037\230q\240\004\240I\250Q\330\010\037\230{\250!\2504\250q\330\010\031\230\034\240Q\240d\250!\360\006\000\t\017\210a\330\010\014\210E\220\025\220a\220q\330\014\017\210w\220a\220u\230A\320\0350\260\001\260\024\260X\270T\300\021\300!\340\010\017\210q\200A\360\032\000\t\020\320\017\037\230q\240\004\240I\250Q\340\010\017\320\017\"\240!\2404\240x\250s\260!\200A\360\034\000\t\020\320\017'\240q\250\004\250K\260q\200A\360\020\000\t \230q""\330\010\037\230q\330\010\031\230\021\340\010\024\220A\220_\240A\240T\250\026\250s\260!\2607\270!\2707\300!\3001\200A\360$\000\t\023\220-\230q\240\007\240t\2508\2608\2701\330\010\013\2101\330\014\020\220\r\230Q\330\010\017\210q\200A\360\022\000\t\020\210r\220\026\220q\230\004\230H\240F\250!\330\010\014\210G\2202\220X\230Q\230a\330\014\020\220\001\220\027\230\004\230A\230T\320!1\260\021\330\010\017\210q\200A\360\022\000\t\020\210r\220\026\220q\230\004\230H\240F\250!\330\010\014\210G\2202\220X\230Q\230d\240!\330\014\020\220\001\220\027\230\004\230A\230T\240\027\250\001\330\010\017\210q\200A\360\010\000\t\014\320\013\037\230s\240#\240Q\330\014\024\220E\230\021\230!\330\014\020\220\t\230\021\340\014\030\230\001\320\031,\250A\250T\260\021\330\014\020\320\020$\240G\2501\250D\260\010\270\016\300a\300t\3101\200A\340\010\017\210t\320\023(\250\001\250\021\200A\340\010\017\210t\2201\200A\330\010\017\210t\2201\200A\360\026\000\t\020\210t\2209\230C\230s\240#\320%V\320VX\320X\\\320\\e\320ef\330\010\017\210t\220<\230t\2401\360\n\000\t\025\220D\230\010\240\001\240\025\240c\250\021\330\010\024\320\024(\250\001\250\031\260!\340\010\024\220A\320\025)\250\021\250$\250h\260d\270,\300k\320QR\330\010\014\210H\220A\220Q\200A\340\010\017\210t\320\023*\250!\2501\200A\340\010\017\210t\220=\240\001\240\021\200A\360\026\000\t \230t\320#8\270\001\330\010\013\210<\220s\230!\330\014\023\2201\330\010%\240]\260&\270\001\270\034\300R\300q\330\010'\240}\260F\270!\270<\300r\310\021\330\010*\320*<\270F\300!\300<\310r\320QR\340\010#\2401\240D\250\014\260L\300\001\330$0\260\001\260\035\270a\340\010\027\220y\240\007\240q\250\n\260!\2604\260t\2705\300\005\300Q\300a\330\010\032\230!\230<\240q\250\003\2504\250u\260E\270\021\270!\330\010\030\230\001\230\032\2401\240C\240t\2505\260\005\260Q\260a\330\010\014\210A\210Q\330\010\014\210A\210Q\330\010\014\210A\210Q\330\010\017\210~\320\035.\250a\200A\340\010\017\210t\220;\230a\230q\200A\360`\001\000\t\020\210t\220<\230t\2401\330\010\017\210t\320\023+\2501\250G\2601""\340\010\017\320\017#\2401\240D\250\001\330\010 \240\001\240\026\240v\250Q\250j\270\001\270\032\3001\300A\330!\"\240,\250a\250}\270F\300!\340\010\025\220Q\330\010\025\220Q\360\006\000\t\r\210K\220u\230A\230Q\330\014\022\220$\320\026&\240a\320'8\270\001\270\030\300\021\300!\330\014\024\220G\2302\230U\240(\250!\2501\360\006\000\t\024\2201\340\010\014\210K\220u\230A\230Q\330\014)\250\021\250&\260\t\270\021\270,\300a\300|\320ST\320T_\320_e\320ef\330\014\027\320\027(\250\001\250\021\330\014\027\320\027(\250\001\250\021\330\014\023\2204\320\027'\240q\250\001\330\014\023\2204\320\027'\240q\250\001\330\014\017\210y\230\003\2301\330\020\032\230'\240\022\2406\250\026\250q\360\006\000\021\027\220d\230$\230a\330\020\023\2204\220s\230!\330\024\034\230A\230T\240\021\240&\250\001\340\024\034\230A\230W\240A\240V\250;\260a\360\006\000\t\r\210K\220u\230A\230Q\330\014(\250\001\250\026\250y\270\001\270\032\3001\300I\310Q\310i\320W]\320]c\320cd\320de\330\014\027\320\027(\250\001\250\021\330\014\022\220$\320\026&\240a\240q\330\014\022\220#\220T\230\021\330\014\017\210t\2203\220a\330\020\030\230\001\230\024\230Q\230f\240A\330\020\030\230\001\230\024\230Q\230f\240A\340\020\030\230\001\230\027\240\001\240\025\240i\250q\340\010\024\220A\220U\230!\2307\240$\240i\250x\260w\270a\340\010\020\220\014\230K\240q\200A\340\010\017\210u\220A\220Q\200A\360\022\000\t\020\210u\220A\220_\240A\240T\250\030\260\027\270\001\270\021\200A\360\036\000\t\020\210{\230(\240!\340\010\017\210u\220C\220v\230Q\330\010\024\220A\220]\240!\2404\240x\250v\260S\270\013\3001\200A\360\022\000\t\030\220w\230a\320\0371\260\021\260$\260a\200A\360\032\000\t\020\210x\220q\230\004\230H\240A\200A\360\034\000\t\020\210x\220q\230\004\230H\240F\250!\200A\340\010\017\210y\230\004\230A\200A\330\010\017\210y\230\004\230A\200A\360\"\000\t\020\210z\230\021\230'\240\021\330\010\035\230S\240\001\240\021\330\010!\240\035\250f\260A\260Z\270r\300\021\360\006\000\t\r\210E\220\025\220a\220q\330\014\022\220!\2205\230\005\230Q\230a\340\010\020\320""\020*\250!\2504\250x\260s\270+\300[\320PQ\340\010\014\210A\210Q\340\010\017\210q\200A\360\034\000\t\020\210z\230\021\230%\230{\320*V\320VX\320X[\320[e\320ef\330\010\024\220A\320\025-\250Q\250d\260(\270#\270[\310\001\200A\360\036\000\t\020\210z\230\021\230)\240;\320.X\320XZ\320Za\320ak\320kl\340\010\017\210w\220e\2307\240#\240S\250\003\320+Z\320Z\\\320\\c\320ch\320ho\320op\330\010\020\220\007\220u\230A\340\010\031\230\023\230A\230U\240&\250\001\330\010%\240]\260&\270\001\270\026\270r\300\021\330\010'\240}\260F\270!\2706\300\022\3001\360\014\000\t\r\210D\220\005\220Z\230y\250\001\250\025\250f\260A\330\014\026\220i\230q\240\003\2401\240A\330\014\026\220a\220u\230G\2404\240q\250\001\330\014\030\230\001\230\025\230k\250\021\340\010\024\220A\320\025)\250\021\330\014\020\220\010\230\001\230\033\240N\260!\2606\270\021\270*\300G\310<\320WX\330\014\022\220!\2208\2306\240\021\240(\250&\260\001\260\021\330\014\022\220!\220=\240\006\240a\240|\2606\270\021\270!\330\014\022\220!\220>\240\026\240q\250\n\260&\270\001\270\021\330\014\022\220!\220<\230v\240Q\240n\260F\270!\2701\340\010\033\2307\240!\2401\340\010\014\210A\210Q\330\010\014\210A\210Q\340\010\017\210q\200A\360\024\000\t\020\210z\230\021\230$\230a\200A\360\026\000\t\020\210z\230\021\230$\230a\330\010\017\210u\220C\220v\230Q\340\010\022\220'\230\021\230!\200A\360\032\000\t\020\210z\230\021\230$\230h\240a\320\004:\270(\320BS\320Sd\320dq\320qr\360H\001\000\t\r\210N\230!\2301\330\010\014\210N\230!\2301\330\010\024\220A\220_\240A\240T\250\030\260\023\260C\260z\300\026\300~\320Ub\320bi\320iu\320uv\330*6\260l\300/\320Q`\320`n\320n}\360\000\000~\001N\002\360\000\000N\002O\002\330\010\014\210I\220W\230G\2406\250\021\250!\330\010\014\210H\220A\330\010\021\220\021\220!\320\004C\3001\360&\000\t\014\2108\2203\220a\330\014\027\220\177\240a\240t\2508\2601\340\014\027\220w\230a\340\010\022\320\022,\250A\250Z\260q\330\010\017\210t\320\023#\2401\240A\320\004C\3009\320L\\\320\\k\320kl\330\025\026\3602\000\t\r\210N\230!\2301\330\010\014\210N""\230!\2301\330\010\024\220A\320\025'\240q\250\004\250H\260C\260q\330,6\260g\270Z\300{\320RS\330,;\270?\310/\320Yh\320hi\330,>\320>P\320Pb\320bc\330,@\320@V\320VW\330,?\320?S\320ST\330,?\270q\340\010\027\220\177\240a\240t\2508\2601\330\010\017\210y\230\007\230w\240f\250A\250Q\330\010\017\210x\220q\330\010\017\210|\2301\330\010\021\220\021\220!\320\004C\320C]\320]o\360\000\000p\001G\002\360\000\000G\002H\002\360(\000\t\014\210:\220Q\220j\240\001\330\014\027\220x\230q\340\014\027\220q\340\010\013\2108\2203\220a\330\014\033\230?\250!\2504\250x\260q\340\014\033\2307\240!\340\010\022\320\022,\250A\250T\260\030\270\036\300z\320Q]\320]^\340\010\024\220A\220Q\320\004C\300;\310a\330\034+\250>\270\034\300Q\330\036*\250.\3208I\310\021\330#$\360N\001\000\t\020\210z\230\021\230&\240\013\320+U\320UW\320W[\320[e\320ef\360\010\000\t\026\220Q\220e\2306\240\030\250\031\260)\2701\330\026\036\230i\240v\250W\260J\270a\330\026\034\230G\240;\250g\260X\270Q\330\026 \240\013\250?\270!\330\010\031\230\024\320\0350\260\001\260\030\270\021\330\010\025\220\\\240\037\260\001\340\010\013\210:\220Q\220k\240\021\330\014\030\230\001\230\037\250\001\250\024\250X\260T\270\034\300[\320PY\320YZ\340\014\030\230\001\230\037\250\001\250\024\250X\260T\270\034\300[\320PQ\340\010\033\2307\240!\2401\330\010\016\210i\220|\240?\260!\330\010\024\220A\220_\240A\240T\250\030\260\021\260!\340\010\017\210q\320\004D\300A\360\034\000\t\020\210t\2201\220M\240\023\240A\340\010\013\2108\2203\220a\330\014\027\220\177\240a\240t\2508\2601\340\014\027\220w\230a\340\010\014\210E\220\033\230E\240\021\330\0141\260\021\260*\270C\270{\310!\3101\320\004D\300L\320P[\320[\\\330\036,\320,T\320TU\360@\001\000\t\017\210n\230A\230Q\330\010\016\210n\230A\230Q\330\010\016\210c\220\021\220.\240\001\240\021\330\010\024\220A\220_\240A\240T\250\030\260\025\260e\2701\330*4\260F\270!\330*4\260L\300\001\330*6\260l\300,\310a\330*9\270\037\310\001\330*;\2701\330\010\014\210I\220W\230G\2406\250\021\250!\330\010\014\210H\220A\330\010\021\220\021\220!""\200\001\330\004\005\330\010\014\210E\220\021\220!\330\010\017\210q\330\013\014\330\010\017\210q\330\013\014\330\010\017\210q\320\004F\300a\360(\000\t&\240S\250\001\360\014\000\t\020\210y\230\t\240\021\240'\250\023\250D\260\t\270\021\270'\300\021\340\010\022\220)\2301\230I\240X\250Q\250a\330\010\020\220\014\230A\230T\240\030\250\036\260q\270\004\270A\330\010\024\220B\320\026)\250\021\250$\250h\260i\270x\300}\320T[\320[b\320bh\320hi\320ij\330\010\033\2307\240!\2404\240x\250q\340\010\017\210q\320\004)\320)F\300a\360\030\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\360\010\000\016\022\220\021\220*\230H\240A\330\014\024\220F\230!\2301\230G\2404\240q\330\014\030\230\001\320\031.\250a\250t\2608\2707\300!\340\010\016\210j\230\001\230\026\230|\2501\320\004\032\230*\240H\250H\260J\270o\320Mc\320cr\320rs\360<\000\t\014\2105\220\003\2201\330\014\023\2203\220a\220s\230!\230<\240q\250\004\250G\2601\260A\330\010\020\220\016\230a\230q\360\006\000\t\014\2103\210c\220\021\330\014\021\220\021\220,\230a\230t\2401\330\010\013\2103\210c\220\021\330\014\021\220\034\230Q\230d\240!\340\010\020\220\005\220V\2301\330\010\013\2106\220\024\220U\230!\330\014\030\230\001\320\031+\2501\250D\260\010\270\001\270\032\3007\310$\310d\320RW\320WX\330\r\023\2204\220u\230A\330\014\017\210s\220\"\220A\330\020\025\220Q\330\014\017\210s\220\"\220A\330\020\025\220Q\330\014\030\230\001\320\031+\2501\250D\260\010\270\001\270\032\3007\310$\310d\320RW\320WX\330\r\023\2204\220u\230A\330\014\030\230\001\320\031+\2501\250D\260\010\270\001\270\032\3007\310$\310d\320RW\320WX\330\r\023\2204\220u\230A\330\014\030\230\001\320\031+\2501\250D\260\010\270\001\270\032\3007\310$\310d\320RW\320WX\340\014\022\220'\230\021\230!\340\010\013\2101\330\014 \240\001\240\021\340\010\013\2101\330\014\030\230\001\320\031)\250\021\250$\250h\260j\300\001\340\014\030\230\001\230\032\2401\240D\250\010\260\001\340\010\020\220\004\320\024$\240A\240Q\360\006\000\t\027\220a\220z\240\037\260\001\330\010""\024\220A\220^\2401\240D\250\010\260\001\260\021\330\010\017\210q\320\004I\310\034\320UV\360(\000\t\017\210n\230A\230Q\330\010\016\210n\230A\230Q\340\010\021\220\027\230\003\2301\340\010\024\220A\320\025)\250\021\250$\250h\260e\2705\300\n\320J[\320[\\\330):\320:P\320PQ\340\010\031\320\031*\250!\2504\250x\260q\330\010\021\220\030\230\021\330\010\021\220\021\220!\330\010\021\320\021#\2401\320\004J\310!\330%5\260]\300-\310q\330\"5\260]\300!\330\"3\2601\330#5\260Q\330%9\270\021\360R\001\000\t\r\210N\230!\2301\330\010\014\210N\230!\2301\330\010\024\220A\320\025(\250\001\250\024\250X\260S\270\003\270>\310\036\320We\320eo\320oy\320yz\330.<\270K\300{\320R]\320]i\320ij\330.>\270l\310,\320Vb\320bq\320qr\330.=\270_\310N\320Zg\320gu\360\000\000v\001D\002\360\000\000D\002E\002\330.<\320<M\310^\320[h\320ht\360\000\000u\001C\002\360\000\000C\002R\002\360\000\000R\002S\002\330.<\320<L\310N\320Zi\320ix\360\000\000y\001F\002\360\000\000F\002G\002\330.;\270?\320JZ\320Zo\360\000\000p\001G\002\360\000\000G\002H\002\330.B\300!\330\010\020\220\t\230\027\240\007\240v\250Q\250a\330\010\020\220\010\230\001\330\010\021\220\021\220!\320\004$\240J\250j\270\001\360\024\000\t\032\230\023\230A\230Q\330\010#\240=\260\006\260a\260v\270R\270q\330\010\033\2306\240\026\240q\250\006\250b\260\001\330\010\037\230q\330\010\036\230a\330\010\036\230f\240C\240s\250*\260D\270\t\300\021\330\010\031\230\021\360\006\000\t\r\210B\210i\220y\240\001\240\021\330\014\022\220!\2205\230\005\230Q\230a\330\014\023\2201\220E\230\025\230a\230q\340\010\024\220A\220^\2401\240D\250\006\250c\260\021\260'\270\021\270&\300\001\300\026\300v\310W\320TU\320U\\\320\\d\320de\340\010\014\210A\210Q\330\010\014\210A\210Q\320\004,\320,<\270K\300q\330\030'\240~\260\\\300\021\330\032&\240o\260Q\330\0320\260\001\360^\001\000\t\020\210z\230\021\230&\240\013\320+U\320UW\320W[\320[e\320ef\340\010\013\2104\210v\220W\230E\240\024\240T\250\026\250w\260a\330\014\022\220*\230A\230Q\340\010\013\2105\220\003\2201\330\014\023\2203\220a\220s\230!\230=""\250\001\250\024\250W\260A\260Q\340\010\013\2104\210u\220G\2303\230b\240\001\330\014\022\220*\230A\320\035T\320TV\320VZ\320Z_\320_f\320fg\340\010\013\2104\210v\220W\230A\330\014\023\2204\220q\330\014\025\220Q\340\014\022\220!\2204\220q\330\014\025\220Q\340\010\013\2107\220'\230\021\330\014\026\220i\230q\240\001\330\014\026\220g\230T\240\021\240!\330\014\017\210t\2201\330\020\034\230A\320\035.\250a\250t\2608\2709\300A\300Q\340\014\026\220a\340\010\024\220A\320\025,\250A\250T\260\030\270\021\270+\300^\320ST\320T[\320[d\320dg\320gm\320ms\320st\330\014\025\220Z\230y\250\007\250{\270'\300\031\310+\320UV\330\010\020\220\004\220E\230\021\340\010\014\210E\220\031\230%\230v\240Q\330\014\017\210q\330\020\030\230\001\230\021\330\014\026\220i\230q\240\003\2401\240A\330\014\030\230\001\320\031,\250A\250T\260\030\270\033\300G\3104\310q\320PT\320T_\320_`\340\010\024\220A\220[\240\001\240\024\240X\250Q\330\010\021\220\024\320\025&\240a\240q\340\010\024\220A\220_\240A\240T\250\030\260\021\260!\340\010\017\210q\320\004*\250!\360\024\000\t\r\210L\230\001\320\0316\260a\330\010\013\2104\210q\330\014\020\220\014\230A\320\0356\260a\320\004,\250L\270\017\300q\330\030$\320$4\260L\300\001\330\033*\320*;\2701\330\037 \360R\001\000\t\014\2105\220\003\2201\330\014\023\2203\220a\220s\230!\230=\250\001\250\024\250W\260A\260Q\340\010\025\220Q\220e\2306\240\030\250\031\260)\2701\330\026\036\230i\240v\250Q\330\026 \240\013\2506\260\021\330\026!\240\034\250X\260Q\330\026 \240\001\330\026%\240Q\360\006\000\t\017\210a\210y\230\001\230\034\240Q\240d\250+\260T\270\026\270s\300*\310D\320PQ\330\010\016\210a\210z\230\034\240Q\240d\250+\260T\270\026\270s\300*\310D\320PQ\340\010\016\210d\220%\220w\230a\330\010\013\2104\210s\220!\330\014\023\2204\320\027)\250\021\250(\260!\330\r\021\220\023\220A\330\014\023\2204\320\027,\250A\250X\260Q\330\r\021\220\023\220E\230\021\230!\330\014\023\2204\320\027/\250q\260\010\270\001\340\014\023\2204\320\027,\250A\250X\260Q\320\004M\320Mg\320gh\360<\000\t\014\210:\220Q\220j""\240\001\330\014\027\220x\230q\340\014\027\220q\340\010\013\2108\2203\220a\330\014\033\230?\250!\2504\250x\260q\340\014\033\2307\240!\340\010\024\220A\320\025/\250q\260\004\260H\270N\310!\330\014\030\230\001\230\034\240Z\250q\260\001\340\010\017\210|\2301\320\004$\240M\260\021\360&\000\t\014\210:\220Q\220f\230A\330\014\020\220\016\230a\230t\2401\330\014\024\220L\240\001\240\024\240X\250Q\340\014\024\220A\330\010\013\2104\210q\330\014\030\230\001\230\035\240a\240t\2508\2601\260F\270!\340\014\030\230\001\230\037\250\001\250\024\250X\260Q\260f\270A\330\010\033\2307\240!\2404\240x\250q\330\010\017\210q\320\004*\250!\360\024\000\t\r\210N\230!\2301\330\010\024\220A\320\025(\250\001\250\024\250X\260Q\320\004@\300\t\310\021\360&\000\t\r\210N\230!\2301\330\010\014\210N\230!\2301\330\010\024\220A\320\025&\240a\240t\2508\2603\260a\330,6\260a\330,:\270.\310\016\320Vd\320du\360\000\000v\001G\002\360\000\000G\002X\002\360\000\000X\002Y\002\330,>\270a\340\010\026\220n\240A\240T\250\030\260\021\330\010\024\220A\320\025'\240q\250\004\250H\260A\330\010\016\210i\220w\230g\240V\2501\250A\330\010\021\220\021\220!\330\010\016\210o\230Q\320\004<\270N\310+\320UV\330\030'\240~\260\\\300\021\330\032&\240o\260Q\330\0320\260\001\360h\001\000\t\025\220A\320\025.\250a\250t\2608\2701\270K\300~\320UV\320V]\320]`\320`f\320fo\320ou\320uv\330\014\025\220Z\230y\250\007\250{\270'\300\031\310+\320UV\360\006\000\t\014\2108\2203\220a\330\014\026\220d\230!\2305\240\001\240\023\240C\240q\250\n\260\"\260A\340\010\013\2105\220\003\2201\330\014\023\2203\220a\220s\230!\230=\250\001\250\024\250W\260A\260Q\340\010\024\220I\230Q\230a\330\010\014\210C\210u\220I\230Q\230a\330\014\027\220y\240\004\240A\240Q\330\014\017\210q\330\020!\240\031\250!\2507\260!\2601\330\020\031\230\036\240t\2501\250A\340\020\031\230\021\340\014\017\210x\220s\230!\330\020\034\230A\320\0355\260Q\260d\270(\300+\310Z\320WX\340\020\034\230A\320\0352\260!\2604\260x\270{\310*\320T\\\320\\g\320gn\320no\320op\340\010\024\220A\220[\240\001\240\024""\240X\250Q\330\010\021\220\024\320\025&\240a\240q\340\010\024\220A\220_\240A\240T\250\030\260\021\260!\340\010\017\210q\320\004(\250\r\260[\300\016\320Na\320at\320tu\3602\000\t\020\210q\220\014\230A\230T\240\033\250D\260\003\260:\270Q\330\010\017\210|\2301\230D\240\013\2504\250s\260*\270A\330\010\024\220A\320\025-\250Q\250d\260(\270!\2705\300\016\310a\310w\320V[\320[`\320`g\320gs\320st\330\010\023\2207\230!\2301\330\010\017\210q\320\004<\320<P\320PQ\360,\000\t\014\2108\2203\220a\330\014\027\220\177\240a\240t\2508\2601\340\014\027\220w\230a\340\010\013\210;\220d\230!\330\014\030\230\001\320\0310\260\001\260\024\260X\270Z\300s\310+\320UV\320VW\340\014\030\230\001\320\0314\260A\260T\270\030\300\032\3103\310k\320YZ\320Zf\320fg\340\010\013\210;\220c\230\021\330\014\023\2201\330\010\017\210t\320\023#\2401\240A\200\001\330\004\n\210+\220Q\320\004)\320)=\320=Q\320Qe\320ef\360@\001\000\t\025\220B\220o\240Q\240d\250(\260(\270$\270c\300\032\3103\310f\320Ta\320am\320mz\320z{\360\000\000|\001E\002\360\000\000E\002F\002\360\000\000F\002G\002\330\010\017\210y\230\001\320\004%\240Q\360\034\000\t\024\2201\330\010\014\210G\2204\220x\230q\240\014\250A\330\014\024\220A\220S\230\t\240\024\240W\250A\250Q\330\010\017\210q\320\004=\270Q\360(\000\t\014\2101\330\014\035\230Q\230d\240(\250$\250l\270!\270:\300Q\300a\340\014\035\230Q\230d\240(\250$\250l\270!\270:\300Q\340\010\017\210q\320\004-\250Q\360$\000\t\014\2101\330\014\030\230\001\230\036\240q\250\004\250H\260A\260X\270V\3001\300A\340\014\030\230\001\230\032\2401\240D\250\010\260\010\270\006\270a\270q\330\010\017\210q\320\004)\320)=\270Q\360*\000\t\014\2104\210z\230\021\230&\240\001\330\014\023\220:\230Q\230h\320&]\320]_\320_c\320cm\320mn\330\014\023\2204\220s\230\"\230A\340\010\013\2104\210w\220c\230\022\2301\330\014\022\220*\230A\230Q\340\010\013\2101\340\014\020\220\r\230Q\230a\230t\240=\260\001\330\014\023\220?\240!\2404\240q\330\014\024\320\024$\240A\240T\250\021\330\014\020\220\005\220U\230!\2301\330\020\034\230A\230]\250!\2504""\250x\260t\2701\270D\300\001\340\010\013\2104\210q\220\007\220s\230!\330\014\020\220\r\230Q\230d\240!\2401\340\010\014\210F\220(\230$\230f\240F\250!\340\014\017\210u\220C\220q\330\020\027\220s\230!\2306\240\023\240A\330\020\032\230)\2401\240D\250\001\250\021\330\020\034\230A\230]\250!\2504\250x\260w\270d\300!\3004\300q\340\010\013\2106\220\023\220A\330\014\020\220\014\230A\330\r\023\2203\220a\330\014\020\220\014\230A\340\014\022\220'\230\021\320\032@\300\002\300!\320\004/\250~\270Q\330\024\"\240-\250q\330\016\"\320\"3\2601\360N\001\000\t\n\360\n\000\t\020\210z\230\021\230'\240\033\250A\340\010\020\220\004\220A\220Q\330\010\022\220#\220Q\220a\340\010\024\220A\320\025.\250a\330\014\020\220\010\230\001\230\033\240N\260!\2607\270#\270Q\270k\310\021\330\014\025\220Y\230g\240W\250L\270\001\360\n\000\t\r\210C\210x\220y\240\001\240\021\330\014\025\220T\320\031,\250A\250V\2605\270\006\270j\310\001\330,4\260I\270V\3001\330,2\260'\270\033\300L\320PX\320XY\340\014\030\230\001\320\0313\2601\260D\270\007\270|\310<\320W^\320^_\330\014\030\230\001\230\037\250\001\250\024\250X\260R\260|\3007\310!\330\010\024\220A\220[\240\001\240\024\240X\250Q\330\010\021\220\024\320\025&\240a\240q\330\010\024\220A\220_\240A\240T\250\030\260\021\260!\340\010\017\210q\200\001\340\004\t\210\024\210Q\330\004\007\200s\210#\210X\220Q\330\010\r\210W\220A\220U\230!\2301\230D\240\001\240\024\240Q\330\t\014\210C\210x\220q\330\010\022\220!\330\010\024\220C\220q\230\004\230A\330\010\014\210I\220T\230\021\330\014\022\220-\230q\240\007\240q\330\014\023\2207\230!\2301\330\010\013\2103\210c\220\030\230\021\330\014\022\220.\240\001\240\024\240W\250A\330\014\023\2207\230!\2301\330\016\021\220\023\220H\230E\240\024\240T\250\032\2603\260e\2704\270s\300#\300X\310V\320SW\320W[\320[e\320eh\320hi\330\014\022\220.\240\001\240\024\240[\260\001\330\014\023\2207\230!\2301\330\010\r\210W\220B\220e\2302\230Q\230d\240!\340\010\r\210W\220B\220e\2302\230Q\230d\240$\240a\330\004\013\2103\210a\210w\220b\230\001\260:\270Q\270d\300!""\200\001\330\004%\240Q\240f\250A\200\001\330\004-\250Q\250f\260A\200\001\360\006\000\005\014\210:\220Q\220f\230A\330\004\014\210A\330\004\021\220\021\220&\230\001\330\004\013\2101\320\004(\250\001\360\"\000\t\014\210:\220Q\220f\230A\330\014\020\220\016\230a\230t\2401\330\014\024\220L\240\001\240\024\240X\250Q\340\014\024\220A\340\010\024\220A\320\025&\240a\240t\2508\2601\260F\270!\330\010\033\2307\240!\2404\240x\250q\330\010\017\210q\320\004S\320ST\360(\000\t\r\210N\230!\2301\330\010\014\210N\230!\2301\330\010\024\220A\320\025&\240a\240t\2508\2603\260c\270\032\300;\310h\320Vd\320dr\320rs\330,:\320:K\320K\\\320\\j\320j|\320|}\330\010\016\210i\220w\230g\240V\2501\250A\330\010\021\220\021\220!\320\004S\320ST\360\034\000\t)\250\001\250\027\260\013\270<\300q\320\004+\320+T\320Tv\320vw\330*D\300L\320Pi\320ij\330(B\320BR\320Rl\320lm\330(B\300-\320Oi\320ij\330*D\300M\320Qk\320kl\330(B\320BT\320Tn\320no\330/I\310\032\320ST\360T\001\000\t\014\2104\210z\230\021\230'\240\032\2501\330\014\022\220)\2301\320\034Y\320Y[\320[_\320_i\320ij\340\010\013\210:\220Q\220f\230A\330\014\023\2204\320\027(\250\001\250\026\250w\260h\270j\310\013\320SX\320XY\330\030 \240\t\250\031\260*\270H\300I\310V\320ST\330\030\"\240+\250V\2607\270(\300)\310:\320UV\330\030'\240q\340\010\020\220\004\220A\340\010\013\210:\220Q\220h\230a\330\014\023\2206\230\027\240\003\2401\330\010\013\210:\220Q\220k\240\022\2401\330\014\023\2209\230G\2403\240a\330\010\013\210:\220Q\220f\230B\230a\330\014\023\2204\220w\230c\240\021\330\010\013\210:\220Q\220i\230r\240\021\330\014\023\2207\230'\240\023\240A\330\010\013\210:\220Q\220j\240\002\240!\330\014\023\2208\2307\240#\240Q\330\010\013\210:\220Q\220i\230r\240\021\330\014\023\2207\230'\240\023\240A\330\010\013\210:\220Q\220g\230R\230q\330\014\023\2205\230\007\230s\240!\330\010\013\210:\220Q\220k\240\022\2401\330\014\023\2209\230G\2403\240a\330\010\013\210:\220Q\220g\230R\230q\330\014\023\2205\230\007\230s\240!\330\010\013\210:\220Q\220i\230r\240\021\330\014\023\2207\230'\240""\023\240A\330\010\013\210:\220Q\220k\240\022\2401\330\014\023\2209\230G\2403\240a\330\010\013\210:\220Q\320\026&\240b\250\001\330\014\023\220>\240\027\250\003\2501\340\010\013\2104\210z\230\021\230(\240!\330\014\034\230B\230e\2401\240G\2508\2606\270\021\340\014\034\230A\340\010\013\2104\210z\230\021\230+\240R\240q\330\014\037\230r\240\025\240a\240w\250k\270\026\270q\340\014\037\230q\340\010\013\210:\220Q\220f\230A\330\014\033\2302\230U\240!\2407\250&\260\006\260a\330\014\017\210u\220C\220q\330\020\024\220G\2302\230X\240Q\240a\330\024 \240\001\240\027\250\002\250!\2506\260\021\260#\260U\270!\2703\270a\270u\300A\340\014\033\2301\340\010\013\2104\210z\230\021\230)\2402\240Q\330\014\035\230R\230u\240A\240W\250I\260V\2701\340\014\035\230Q\340\010\013\2104\210z\230\021\230)\2402\240Q\330\014\035\230R\230u\240A\240W\250I\260V\2701\340\014\035\230Q\340\010\013\2104\210z\230\021\230*\240B\240a\330\014\036\230b\240\005\240Q\240g\250Z\260v\270Q\340\014\036\230a\340\010\013\2104\210z\230\021\230'\240\022\2401\330\014\033\2302\230U\240!\2407\250'\260\026\260q\340\014\033\2301\340\010\013\2104\210z\230\021\230+\240R\240q\330\014\037\230r\240\025\240a\240w\250k\270\026\270q\340\014\037\230q\340\010\013\2104\210z\230\021\230'\240\022\2401\330\014\033\2302\230U\240!\2407\250'\260\026\260q\340\014\033\2301\340\010\013\2104\210z\230\021\230)\2402\240Q\330\014\035\230R\230u\240A\240W\250I\260V\2701\340\014\035\230Q\340\010\013\2104\210z\230\021\230+\240R\240q\330\014\037\230r\240\025\240a\240w\250k\270\026\270q\340\014\037\230q\340\010\013\2104\210z\230\021\320\032*\250\"\250A\330\014$\240B\240e\2501\250G\3203C\3006\310\021\340\014$\240A\340\010\026\220b\230\006\230a\230w\240f\250A\330\010\014\210G\2202\220X\230Q\230a\330\014\027\220q\230\007\230t\320#4\260A\330\020\024\220A\220Q\330\020\027\220}\240A\240Q\330\020\032\320\032*\250!\2501\330\020\025\220\\\240\021\240!\330\020\030\230\016\240a\240q\330\020\031\230\037\250\001\250\021\330\020\030\230\016\240a\240q\330\020\026\220l\240!""\2401\330\020\032\320\032*\250!\2501\330\020\026\220l\240!\2401\330\020\030\230\016\240a\240q\330\020\032\320\032*\250!\2501\330\020\037\320\0374\260A\260Q\360\006\000\t\020\210{\230%\230q\240\001\200\001\360\010\000\005\016\210T\220\021\330\004\010\210\010\220\001\330\010\022\220!\330\004\013\2101\200\001\360\010\000\005\016\210T\220\032\2304\230{\250$\250a\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\230:\240W\250E\260\023\260D\270\n\300'\310\021\330\004\007\200q\330\010\017\320\017%\240T\250\021\250'\260\033\270G\3001\340\010\017\320\017%\240T\250\021\250'\260\033\270A\200\001\360\010\000\005\016\210T\220\032\2304\230x\240t\2501\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2309\240G\2505\260\003\2604\260w\270g\300U\310#\310T\320QW\320W^\320^_\330\004\007\200q\330\010\017\320\017+\2504\250q\260\007\260{\300'\310\021\340\010\017\320\017+\2504\250q\260\007\260{\300!\200\001\360\010\000\005\016\210T\220\023\220B\220a\330\004\010\210\010\220\001\330\010\022\220!\330\004\013\2101\200\001\360\010\000\005\016\210T\220\021\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2307\240'\250\021\330\004\007\200q\330\010\017\320\017+\2504\250q\260\007\260{\300'\310\021\340\010\017\320\017+\2504\250q\260\007\260{\300!\200\001\360\010\000\005\016\210T\220\021\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2307\240'\250\021\330\004\007\200q\330\010\017\320\017(\250\004\250A\250W\260K\270w\300a\340\010\017\320\017(\250\004\250A\250W\260K\270q\200\001\360\010\000\005\016\210T\220\021\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2307\240'\250\021\330\004\007\200q\330\010\017\320\017%""\240T\250\021\250'\260\033\270G\3001\340\010\017\320\017%\240T\250\021\250'\260\033\270A\200\001\360\010\000\005\016\210T\220\021\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2307\240'\250\021\330\004\007\200q\330\010\017\320\017'\240t\2501\250G\260;\270g\300Q\340\010\017\320\017'\240t\2501\250G\260;\270a\200\001\360\010\000\005\016\210T\220\027\230\004\230G\2404\240q\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2306\240\027\250\005\250S\260\004\260F\270'\300\025\300c\310\024\310V\320SZ\320Z[\330\004\007\200q\330\010\017\320\017)\250\024\250Q\250g\260[\300\007\300q\340\010\017\320\017)\250\024\250Q\250g\260[\300\001\200\001\360\010\000\005\016\210T\220\030\230\024\230Q\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2307\240'\250\025\250c\260\024\260V\2707\300!\330\004\007\200q\330\010\017\320\017)\250\024\250Q\250g\260[\300\007\300q\340\010\017\320\017)\250\024\250Q\250g\260[\300\001\200\001\360\010\000\005\016\210T\220\030\230\024\230Q\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2307\240'\250\025\250c\260\024\260V\2707\300!\330\004\007\200q\330\010\017\320\017%\240T\250\021\250'\260\033\270G\3001\340\010\017\320\017%\240T\250\021\250'\260\033\270A\200\001\360\010\000\005\016\210T\220\030\230\024\230Q\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2307\240'\250\025\250c\260\024\260V\2707\300!\330\004\007\200q\330\010\017\320\017*\250$\250a\250w\260k\300\027\310\001\340\010\017\320\017*\250$\250a\250w\260k\300\021\200\001\360\010\000\005\016\210T\220\030\230\024\230Q\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!""\330\010\027\220q\340\010\027\220t\2307\240'\250\025\250c\260\024\260V\2707\300!\330\004\007\200q\330\010\017\320\017&\240d\250!\2507\260+\270W\300A\340\010\017\320\017&\240d\250!\2507\260+\270Q\200\001\360\010\000\005\016\210T\220\030\230\024\230Q\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2307\240'\250\025\250c\260\024\260V\2707\300!\330\004\007\200q\330\010\017\320\017'\240t\2501\250G\260;\270g\300Q\340\010\017\320\017'\240t\2501\250G\260;\270a\200\001\360\010\000\005\016\210T\220\026\220t\2301\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2305\240\007\240u\250C\250t\260:\270W\300A\330\004\007\200q\330\010\017\320\017(\250\004\250A\250W\260K\270w\300a\340\010\017\320\017(\250\004\250A\250W\260K\270q\200\001\360\010\000\005\016\210T\220\026\220t\2301\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2305\240\007\240u\250C\250t\260:\270W\300A\330\004\007\200q\330\010\017\320\017*\250$\250a\250w\260k\300\027\310\001\340\010\017\320\017*\250$\250a\250w\260k\300\021\200\001\360\010\000\005\016\210T\220\026\220t\230;\240d\250!\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2305\240\007\240u\250C\250t\260:\270W\300E\310\023\310D\320PZ\320Za\320ab\330\004\007\200q\330\010\017\320\017)\250\024\250Q\250g\260[\300\007\300q\340\010\017\320\017)\250\024\250Q\250g\260[\300\001\200\001\360\010\000\005\016\210T\220\026\220t\230;\240d\250!\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2305\240\007\240u\250C\250t\260:\270W\300E\310\023\310D\320PU\320U\\\320\\]\330\004\007\200q\330\010\017\320\017(\250\004\250A\250W\260K\270w\300a\340\010\017\320\017(\250\004\250A\250W\260K\270q""\200\001\360\010\000\005\016\210T\220\026\220t\230;\240d\250!\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2305\240\007\240u\250C\250t\260:\270W\300E\310\023\310D\320PV\320V]\320]^\330\004\007\200q\330\010\017\320\017(\250\004\250A\250W\260K\270w\300a\340\010\017\320\017(\250\004\250A\250W\260K\270q\200\001\360\010\000\005\016\210T\220\026\220t\230;\240d\250!\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2305\240\007\240u\250C\250t\260:\270W\300E\310\023\310D\320PX\320X_\320_`\330\004\007\200q\330\010\017\320\017)\250\024\250Q\250g\260[\300\007\300q\340\010\017\320\017)\250\024\250Q\250g\260[\300\001\200\001\360\010\000\005\016\210T\220\026\220t\230;\240d\250(\260$\260a\330\004\014\210G\2201\220F\230,\240a\330\004\007\200v\210W\220E\230\024\230Q\330\010\022\220!\330\010\027\220q\340\010\027\220t\2305\240\007\240u\250C\250t\260:\270W\300E\310\023\310D\320PW\320W^\320^c\320cf\320fj\320jt\320t{\320{|\330\004\007\200q\330\010\017\320\017(\250\004\250A\250W\260K\270w\300a\340\010\017\320\017(\250\004\250A\250W\260K\270q\320\004@\300\013\310:\320UV\360b\001\000\t\025\220A\320\025&\240a\240t\2501\330$(\250\001\330$(\250\001\330$%\330$%\330$%\330$%\240Q\330$%\240Q\330$%\240Q\330\010\017\210|\230;\240a\310\017\320W\\\320\\e\320ef\320\004:\270/\310\036\320Wc\320cs\320st\330\031+\250?\320:K\320Ka\320ab\360J\001\000\t\r\210N\230!\2301\340\010\030\320\030(\250\001\250\024\250X\260^\3001\300H\310A\330\010\025\220Z\230q\330\010\024\220A\220^\2401\240D\250\010\260\002\260*\270M\310\023\310O\320[k\320kl\330 )\250\032\2609\270G\300;\310g\320Ua\320aj\320ju\320uv\330\010\017\210q\320\004#\240=\260\001\360\022\000\t\023\220+\230X\240S\250\n\260$\260f\270C\270r\300\021\340\010\013\2109\220B\220a\330\014\023\2201\340\010\020\220\010\230\002\230)\2402\240Q\330\010 \240\r\250V\2601\260F\270\"\270A\330\010 \240\r\250V\2601\260F""\270\"\270A\330\010\024\220A\320\025%\240Q\240d\250&\260\n\270)\3007\310!\340\010\016\210a\330\010\016\210a\340\010\014\210E\220\025\220a\220q\330\014\017\210w\220a\220u\230A\230Q\330\014\017\210w\220a\220u\230A\230Q\340\010\014\210A\210Q\330\010\014\210A\210Q\340\010\017\210u\220A\320\004@\320@Y\320Yq\320qr\3304M\310Q\360N\001\000\t\033\230$\230a\360\022\000\t\014\210<\220q\230\006\230c\240\021\330\014\022\220'\230\021\230!\360\010\000\t \230}\250A\250Q\330\010\031\230\036\240q\250\001\340\010\013\2101\330\014\035\230Q\330\014\037\230~\250S\260\n\270#\270[\310\003\320K_\320_b\320bn\320no\340\014\035\230Q\330\014\037\230~\250S\260\n\270#\270[\310\003\320K_\320_b\320bn\320no\330\037)\250\023\250J\260c\270\035\300c\310\035\320VY\320Yd\320dg\320gs\320st\330\037+\2504\250\177\270d\300/\320QU\320Ud\320de\330\037-\250T\3201G\300t\320K`\320`d\320dk\320kl\340\010\013\320\013\035\230S\240\001\330\014\033\2301\230A\230R\230t\2405\250\005\250Q\320.?\270t\3005\310\005\310Q\310a\340\014\023\2203\220a\320\027*\250\"\250C\250q\330\014\033\2301\330\014\017\210s\220!\320\023&\240c\250\021\330\020\023\2204\220q\330\024\032\230'\240\021\240!\340\024#\2401\240A\240R\240t\2505\260\005\260Q\3206G\300t\3105\320PU\320UV\320VW\330\024(\250\001\330\014\017\210s\220!\320\023$\240A\240T\250\023\250A\330\020\026\220g\230Q\230a\330\036 \240\001\240\023\240A\320%6\260a\260x\270q\300\001\340\010\035\230^\2501\250A\360\016\000\t\r\210E\220\025\220a\220q\330\014\024\220O\2401\240D\250\001\250\021\330\014\022\220-\230q\240\004\240A\240Q\340\014\021\220\034\230Q\230d\240!\2401\330\014\021\220\034\230Q\230d\240!\2401\330\014\025\320\025&\240a\240t\2501\250A\360\006\000\r\020\320\017!\240\023\240A\340\020\030\230\016\240a\240q\330\020\023\2206\230\023\230A\330\024 \240\001\240\026\240q\250\017\260q\270\r\300Q\330\025\033\2303\230a\330\024 \240\001\240\026\240q\250\017\260q\270\016\300a\330\025\033\2303\230a\330\024 \240\001\240\026\240q\250\017\260q\3208I\310\021\330\025\033\2303\230a\330\024 \240\001""\240\026\240q\250\017\260q\3208O\310q\340\020\034\230A\230V\2401\240O\2601\260O\300=\320PQ\320QU\320UV\320VW\360\006\000\r\020\210t\2201\340\020\023\2204\220~\240Q\240f\250C\250q\260\001\330\024 \240\001\240\026\240q\250\017\260q\270\r\300Q\360\006\000\021\024\2204\220~\240Q\240f\250C\250q\260\001\330\024 \240\001\240\026\240q\250\017\260q\270\r\300Q\360\006\000\021 \320\0374\260A\260T\270\021\270!\330\020\023\220=\240\003\2401\330\024 \240\001\240\026\240q\250\017\260q\3208J\310!\330\025\"\240#\240Q\330\024 \240\001\240\026\240q\250\017\260q\3208J\310!\330\025\"\240#\240Q\330\024 \240\001\240\026\240q\250\017\260q\3208J\310!\330\025\"\240#\240Q\330\024 \240\001\240\026\240q\250\017\260q\3208I\310\021\360\006\000\021\035\230A\230V\2401\240O\2601\260O\320CT\320TU\320U[\320[_\320_`\320`a\360\006\000\021\035\230A\230V\2401\240O\2601\260J\270m\3101\310D\320PQ\320QR\360\006\000\021\035\230A\230V\2401\240O\2601\260N\300!\330\020\034\230A\230V\2401\240O\2601\260O\300<\310q\320PV\320VW\330\020\034\230A\230V\2401\240O\2601\3204D\300C\300q\310\010\320PQ\320QW\320W_\320_`\330\020\034\230A\230V\2401\240O\2601\3204D\300C\300q\310\010\320PQ\320QW\320W_\320_`\360\006\000\021\024\2204\220s\230!\330\024 \240\001\240\026\240q\250\017\260q\3208Q\320QR\330\024 \240\001\240\026\240q\250\017\260q\3208P\320PQ\340\024 \240\001\240\026\240q\250\017\260q\3208Q\320Q^\320^_\320_e\320ej\320jk\330\024 \240\001\240\026\240q\250\017\260q\3208P\320P`\320`a\320ab\360\006\000\t \230}\250A\250Q\330\010\031\230\036\240q\250\001\340\010\013\2101\330\014\035\230Q\330\014\037\230{\250#\250[\270\003\270?\310#\310^\320[^\320^f\320fi\320iq\320qr\340\014\035\230Q\330\014\037\230{\250#\250[\270\003\270?\310#\310^\320[^\320^f\320fi\320iq\320qr\330\037-\250S\260\016\270c\300\034\310S\320PW\320WX\330\037.\250d\260/\300\024\300_\320TX\320Xf\320fg\340\010\013\320\013\035\230S\240\001\330\014\033\2301\230A\230R\230t\2405\250\005\250Q\320.?\270t\3005\310\005\310Q\310a\340\014\023\2203\220a\320\027*\250\"\250C\250q""\330\014\033\2301\330\014\017\210s\220!\320\023&\240c\250\021\330\020\023\2204\220q\330\024\032\230'\240\021\240!\340\024#\2401\240A\240R\240t\2505\260\005\260Q\3206G\300t\3105\320PU\320UV\320VW\330\024(\250\001\330\014\017\210s\220!\320\023$\240A\240T\250\023\250A\330\020\026\220g\230Q\230a\330\036 \240\001\240\023\240A\320%6\260a\260x\270q\300\001\360\n\000\t\032\230\021\340\010\014\210E\220\025\220a\220q\360\006\000\r\023\220-\230q\240\004\240A\240Q\330\014\022\220-\230q\240\004\240A\240Q\330\014\022\320\022$\240A\240T\250\021\250!\330\014\027\320\027+\2501\250F\260$\260a\260q\340\014\017\320\017!\240\023\240A\340\020\034\230A\230R\230q\240\017\250q\3200B\320BS\320ST\320TX\320XY\320YZ\330\020\031\230\034\240Q\240b\250\001\250\037\270\001\270\021\360\006\000\021\024\2204\220~\240Q\240f\250C\250q\260\001\330\024 \240\001\240\022\2401\240O\2601\260N\300!\360\006\000\021\024\2204\220~\240Q\240f\250C\250q\260\001\330\024 \240\001\240\022\2401\240O\2601\260N\300!\360\006\000\021\035\230A\230R\230q\240\017\250q\260\013\2701\360\006\000\021\035\230A\230R\230q\240\017\250q\3200A\320AY\320YZ\320Z`\320`d\320de\320ef\360\006\000\021\035\230A\230R\230q\240\017\250q\260\013\270>\310\021\310$\310a\310q\340\014\017\210t\2201\360\006\000\021\035\230A\230R\230q\240\017\250q\260\017\320?P\320PQ\320QU\320UV\320VW\360\006\000\021 \320\0374\260A\260T\270\021\270!\330\020\023\220=\240\003\2401\330\024 \240\001\240\022\2401\240O\2601\3204F\300a\330\025\"\240#\240Q\330\024 \240\001\240\022\2401\240O\2601\3204F\300a\330\025\"\240#\240Q\330\024 \240\001\240\022\2401\240O\2601\3204F\300a\330\025\"\240#\240Q\330\024 \240\001\240\022\2401\240O\2601\3204E\300Q\360\006\000\021\035\230A\230R\230q\240\017\250q\260\n\270-\300q\310\004\310A\310Q\360\006\000\021\035\230A\230R\230q\240\017\250q\3200A\300\023\300A\300X\310Q\310f\320T^\320^_\330\020\034\230A\230R\230q\240\017\250q\3200A\300\023\300A\300X\310Q\310f\320T^\320^_\360\014\000\t\033\230!\330\010\034\230K\240s\250+\260S\270\010\300\001\330""\010\013\320\013\036\230c\240\021\330\014\034\230A\230Q\230b\240\004\240E\250\025\250a\320/A\300\024\300U\310%\310q\320PQ\330\014\020\220\001\330\014\020\220\005\220U\230!\2301\340\020\033\230>\250\021\250$\250a\250q\330\020\033\230>\250\021\250$\250a\250q\330\020\024\220E\230\025\230a\230|\2501\250B\250a\250\177\270a\270q\330\024!\240\021\240\"\240A\320%5\260Q\260n\300O\320ST\320T\\\320\\]\320]^\330\024!\240\021\240\"\240A\320%5\260Q\260n\300A\330\024!\240\021\240\"\240A\320%5\260Q\260k\300\030\310\021\310!\330\024\031\230\021\340\014\023\2203\220a\320\027+\2502\250S\260\001\330\014\034\230A\330\014\017\210s\220!\320\023'\240s\250!\330\020\023\2204\220q\330\024\032\230'\240\021\240!\340\024$\240A\240Q\240b\250\004\250E\260\025\260a\260t\2704\270u\300E\310\021\310!\330\024)\250\021\330\014\017\210s\220!\320\023%\240Q\240d\250#\250Q\330\020\026\220g\230Q\230a\330\036 \240\001\240\023\240A\320%7\260q\270\001\340\010\020\220\016\230o\250Q\330\021\030\320\030)\250\030\3201C\3007\310!\220Y\230a\220Y\230e\2401\240B\240a\240!\230!\240\001\260\001\200!\200\001\340\004\n\210!\330\004\016\210a\340\005\006\360@\001\000\005\035\320\0340\260\001\330\010\r\210Q\210a\210z\230\025\230c\240\032\2506\260\021\260!\340\004\007\200s\210!\2106\220\023\220A\220Q\330\010\016\210h\220a\220q\230\001\330\010\t\330\014\016\210f\220A\220Q\220f\230F\240'\250\030\260\021\260!\2605\270\001\270\021\330\017\020\330\021\022\360\006\000\005\021\220\005\220Q\220a\330\004\005\330\010\r\210Q\210a\330\013\014\330\r\022\220(\230!\340\004\013\2102\320\r\036\230a\330\010\023\2203\220a\220z\240\021\240*\250B\250e\2608\2701\270F\300#\300Q\300a\320\004&\240a\360\034\000\t\014\2101\330\014\023\320\023'\240q\250\004\250A\340\014\023\320\023(\250\001\250\024\250Q\240a\220a\210a\320\004#\240<\250\177\270a\330\031%\320%5\260\\\300\021\330\034+\320+<\270A\330 !\360`\001\000\t\014\210:\220Q\220g\230Q\330\014\024\220E\230\030\240\021\340\010\t\360\014\000\t\020\210z\230\021\230'\240\033\250A\340\010\020\220\004\220A""\220Q\330\010\022\220#\220Q\220a\340\010\013\210:\220Q\220f\230A\330\014\017\210u\220C\220q\330\020\027\220q\230\003\2304\230u\240E\250\021\250!\340\020\027\220q\230\013\2406\250\023\250D\260\005\260U\270!\2701\340\010\022\220/\240\021\240)\2501\330\010\023\220?\240!\240:\250Q\330\010\022\220/\240\021\240)\2501\330\010\020\220\017\230q\240\007\240q\330\010\024\220O\2401\240K\250q\330\010\020\220\017\230q\240\007\240q\330\010\025\220_\240A\240\\\260\021\330\010\022\220/\240\021\240)\2501\330\010\024\220O\2401\240K\250q\330\010\031\230\037\250\001\320)9\270\021\340\010\026\220a\330\010\014\210C\210x\220y\240\001\240\021\330\014\027\220w\230a\330\020\024\220H\230A\230V\2404\240q\250\004\250G\2601\260D\270\010\300\001\300\024\300W\310A\310Q\330\035\"\240!\2404\240y\260\001\260\024\260U\270!\2704\270z\310\021\310!\330\035$\240A\240T\250\031\260!\2604\260~\300Q\300a\360\006\000\t\020\210q\320\004`\320`a\360.\000\t\014\2108\2203\220a\330\014\027\220\177\240a\240t\2508\2601\340\014\027\220w\230a\340\010\013\210:\220Q\220j\240\001\330\014\027\220x\230q\340\014\027\220q\340\010\024\220B\320\026:\270!\2704\270x\300q\330\014\026\220l\240!\2401\340\010\017\210q\320\004>\270a\360$\000\t\020\320\017$\240A\240T\250\033\260D\270\013\3001\320\004&\240a\360*\000\t\025\220B\320\026(\250\001\250\024\250X\260W\270A\270Y\300a\300q\330\010\017\210y\230\001\320\004>\270a\360$\000\t\022\220\023\220L\240\004\240C\240z\260\021\330\010\024\220B\320\026-\250Q\250d\260(\270%\270}\310H\320TU\320UV\330\010\017\210q\320\004>\270a\360\036\000\t\020\320\017!\240\021\240$\240h\250h\260d\270#\270Z\300s\310&\320PS\320ST\200\001\340\004\t\210\027\220\001\220\025\220a\220q\230\t\240\021\240!\330\004\013\2103\210a\210w\220b\230\001\200\001\330\004&\240a\240v\250Q\200\001\330\004.\250a\250v\260Q\320\004$\320$@\300\001\360\032\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\360\010\000\016\022\220\021\220*\230H\240A\330\014\024\220F\230!\2301\230G\2404\240q\330\014\030""\230\001\320\031)\250\021\250$\250h\260g\270Q\340\010\016\210j\230\001\230\026\230|\2501\320\004]\320]h\320hi\360.\000\t\024\2207\230!\340\010\014\210N\230!\2301\330\010\014\210N\230!\2301\330\010\024\220A\320\025*\250!\2504\250x\260z\300\023\300C\300z\320QR\330,>\320>P\320Pb\320bc\330,A\320AV\320VW\330,B\300!\360\006\000\t\033\320\032,\250A\250Z\260q\330\010\022\220)\2307\240'\250\026\250q\260\001\330\010\022\220+\230Q\330\010\022\220(\230!\340\010\021\220\021\220!\320\004*\250,\260l\300!\360\024\000\t\032\230\023\230A\230Q\330\010#\240=\260\006\260a\260v\270R\270q\330\010#\240=\260\006\260a\260v\270R\270q\330\010#\240=\260\006\260a\260v\270R\270q\360\010\000\t\032\230\023\230D\240\001\360\006\000\t\014\2106\220\022\2201\330\014\027\220}\240F\250!\2506\260\022\2601\330\014\025\220V\2306\240\021\240&\250\002\250!\330\014\025\220V\2306\240\021\240&\250\002\250!\340\014\022\220!\330\014\020\220\002\220+\230Y\240a\240q\330\020\026\220a\220u\230D\240\001\240\026\240u\250C\250z\270\021\330\020\025\220Q\220e\2303\230a\230v\240T\250\023\250J\260a\330\020\025\220Q\220e\2303\230a\230v\240T\250\023\250J\260d\270)\3001\330\020\025\220Q\220e\2301\340\020\024\220I\230Q\330\024\032\230!\2307\240%\240q\250\001\330\024\033\2301\230G\2405\250\001\250\021\330\024\033\2301\340\014\030\230\001\230\036\240q\250\004\250F\260'\270\030\300\027\310\007\310v\320U\\\320\\c\320ck\320kl\340\014\020\220\001\220\021\330\014\020\220\001\220\021\330\014\020\220\001\220\021\340\014\020\220\005\220U\230!\2303\230a\230q\330\020\026\220a\220u\230D\240\001\240\026\240u\250C\250z\270\021\330\020\025\220Q\220e\2303\230a\230v\240T\250\023\250J\260a\330\020\025\220Q\220e\2303\230a\230v\240T\250\023\250J\260d\270)\3001\340\014\030\230\001\230\036\240q\250\004\250F\260'\270\030\300\027\310\007\310v\320UX\320X^\320^d\320de\340\010\014\210A\210Q\330\010\014\210A\210Q\330\010\014\210A\210Q\320\004=\270\\\310\021\360$\000\t\017\210n\230A\230Q\330\010\016\210n\230A\230Q\330\010\024\220A\320\025%\240Q\240d\250(""\260%\260u\270J\300f\310M\320Yf\320fs\320st\330*:\320:J\310-\320Wi\320ij\330\010\r\210Y\220g\230W\240F\250!\2501\330\010\r\210X\220Q\340\010\021\220\021\220!\320\004.\250o\320=N\310a\360\036\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\022\220.\240\001\240\027\250\001\250\021\330\010\024\220A\220\\\240\021\240$\240h\250i\260~\300Y\310a\340\010\016\210j\230\001\230\026\230|\2501\230q\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220?\240(\250!\2501\330\004\007\200|\2207\230!\330\0101\260\021\3202D\300N\320RS\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\320\023*\250(\260!\2601\330\004\007\200|\2207\230!\330\0109\270\021\320:T\320Tb\320bc\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\2204\220x\230q\240\001\330\004\007\200|\2207\230!\330\010&\240a\240w\250n\270A\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\2205\230\010\240\001\240\021\330\004\007\200|\2207\230!\330\010'\240q\250\010\260\016\270a\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\2206\230\030\240\021\240!\330\004\007\200|\2207\230!\330\010(\250\001\250\031\260.\300\001\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220>\240\030\250\021\250!\330\004\007\200|\2207\230!\330\0100\260\001\3201B\300.\320PQ\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\2207\230(\240!\2401\330\004\007\200|\2207\230!\330\010)\250\021\250*\260N\300!\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\320\023(\250\010\260\001\260\021\330\004\007\200|\2207\230!\330\0107\260q\3208P\320P^\320^_\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220=\240\010\250\001\250\021\330\004\007\200|\2207\230!\330\010/\250q\3200@\300\016\310a\330\004\013\2101\200\001\340\004\037\230q\320 0""\260\013\270;\300k\320QR\330\004\023\320\023#\2408\2501\250A\330\004\007\200|\2207\230!\330\0102\260!\3203F\300n\320TU\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\2208\2308\2401\240A\330\004\007\200|\2207\230!\330\010*\250!\250;\260n\300A\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\2209\230H\240A\240Q\330\004\007\200|\2207\230!\330\010+\2501\250L\270\016\300a\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\320\023$\240H\250A\250Q\330\004\007\200|\2207\230!\330\0103\2601\3204H\310\016\320VW\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\320\023%\240X\250Q\250a\330\004\007\200|\2207\230!\330\0104\260A\3205J\310.\320XY\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\220:\230X\240Q\240a\330\004\007\200|\2207\230!\330\010,\250A\250]\270.\310\001\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\320\023&\240h\250a\250q\330\004\007\200|\2207\230!\330\0105\260Q\3206L\310N\320Z[\330\004\013\2101\200\001\340\004\037\230q\320 0\260\013\270;\300k\320QR\330\004\023\320\023'\240x\250q\260\001\330\004\007\200|\2207\230!\330\0106\260a\3207N\310n\320\\]\330\004\013\2101\320\004\"\240!\360$\000\t\020\210q\330\010\013\2101\330\014\024\220K\230q\240\004\240A\330\014\024\220L\240\001\240\024\240Q\340\014\024\220O\2401\240D\250\001\330\014\024\320\024$\240A\240T\250\021\340\010\014\210E\220\025\220a\220q\330\014\020\220\007\220q\230\004\320\034,\250A\250U\260!\2601\340\010\017\210q\320\004/\250q\360\030\000\t\014\2101\330\014\030\230\001\320\031)\250\021\250$\250h\260a\340\014\030\230\001\320\031-\250Q\250d\260(\270!\200\001\330\004(\250\001\250\026\250q\200\001\330\004\027\220q\320\004*\250-\260q\360\022\000\t\032\230\023\230A\230Q\330\010\"\240-\250v\260Q\260f\270B\270a\330\010\"\240-\250v\260Q\260f\270B\270a\330\010\033\2306\240\026\240q\250\006\250b\260\001\330""\010\031\230\023\230D\240\001\330\010\"\240-\250v\260Q\260f\270B\270a\330\010\033\2306\240\026\240q\250\006\250b\260\001\330\010\027\220q\360\006\000\t\r\210B\210k\230\031\240!\2401\330\014\022\220!\2205\230\004\230A\230V\2405\250\003\250:\260Q\330\014\022\220!\2205\230\004\230A\230V\2405\250\003\250:\260T\270\031\300!\330\014\021\220\021\220&\230\001\340\014\020\220\t\230\021\330\020\026\220a\220w\230e\2401\240A\330\020\027\220q\230\007\230u\240A\240Q\330\020\027\220q\340\010\024\220A\220^\2401\240D\250\006\250g\260X\270X\300V\3107\320RY\320Ya\320ab\340\010\014\210A\210Q\330\010\014\210A\210Q\330\010\014\210A\210Q\330\010\014\210A\210Q\330\010\014\210A\210Q\320\004!\240\021\360\024\000\t \230q\240\004\240H\250A\320\004!\240\021\360\036\000\t\014\210<\220q\230\004\230H\240C\240q\330\014\017\210t\2209\230C\230s\240!\330\020\026\220g\230Q\230a\340\014\023\2204\220y\240\005\240S\250\001\340\014\017\320\017 \240\001\240\024\240Y\250a\330\020(\250\001\340\020(\250\001\340\014\017\210t\2204\220y\240\003\2403\240a\330\020\026\220g\230Q\320\036E\300R\300t\3101\340\010\017\210t\220=\240\001\240\024\240[\260\001\320\004\033\320\033@\300\001\360&\000\t\014\210<\220q\230\004\230H\240D\320(9\270\021\330\014\022\220'\230\021\320\032?\270t\3009\310A\360\006\000\t+\250.\270\001\270\024\270Q\330\010\013\2104\210z\230\023\230E\240\023\240D\250\t\260\025\260c\270\021\330\014\020\320\020$\240G\2501\250D\260\010\270\001\340\010\013\2104\210y\230\005\230S\240\005\240T\250\034\260Q\260d\270(\300#\300Q\330\014\022\220'\230\021\230!\340\010\017\210t\2209\230A\230Q\320\004?\270q\360$\000\t%\240K\250q\260\004\260A\330\010\037\230}\250F\260!\2603\260a\260x\270r\300\021\330\010\037\230}\250F\260!\2603\260a\260z\300\022\3001\360\n\000\t\026\220Q\340\010\026\220a\220s\230'\240\024\240T\250\025\250g\260S\270\001\270\030\300\021\330\010\014\210C\210w\220i\230q\240\004\240H\250A\330\014\017\210s\220&\230\003\2301\330\020\024\220A\220U\230)\2401\240A\330\020\024\220A\220U\230+\240[\260\001\260\023""\260A\330\020\024\220A\340\010\024\220A\220Z\230q\240\001\240\021\330\010\024\220B\320\026'\240q\250\001\250\030\260\032\2701\270J\300d\310)\320ST\330\010\024\220B\320\0265\260Q\260d\270(\300)\3108\320Sc\320ci\320ij\3306;\2703\270a\270y\310\007\310w\320VW\320W`\320`a\320ab\330\010\031\230\027\240\001\240\021\330\010\021\220\035\230a\330\010\014\210A\210Q\330\010\014\210A\210Q\330\010\027\220q\230\001\230\021\340\010\017\210q\320\004\"\240-\250q\360\022\000\t\023\220+\230X\240S\250\n\260$\260f\270C\270r\300\021\340\010\013\2109\220B\220a\330\014\023\2201\340\010\020\220\010\230\002\230)\2402\240Q\330\010!\240\035\250f\260A\260V\2702\270Q\330\010!\240\035\250f\260A\260V\2702\270Q\330\010\024\220A\220_\240A\240T\250\026\250z\270\031\300(\310!\340\010\017\210q\330\010\017\210q\340\010\014\210E\220\025\220a\220z\240\030\250\022\2501\330\014\020\220\007\220q\230\006\230a\230q\330\014\020\220\007\220q\230\006\230a\230q\340\010\014\210A\210Q\330\010\014\210A\210Q\340\010\017\210v\220Q\200\001\330\004'\240q\250\006\250a\200\001\330\004/\250q\260\006\260a\320\004'\240q\360\026\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\013\2104\210q\330\014\030\230\001\320\031,\250A\250T\260\030\270\021\340\021\025\220Q\220j\240\010\250\001\330\020\030\230\006\230a\230q\240\007\240t\2501\330\020\034\230A\320\0350\260\001\260\024\260X\270Q\340\010\016\210j\230\001\230\026\230|\2501\320\004'\240q\360\024\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\024\220A\320\025%\240Q\240d\250(\260&\270\001\340\010\016\210j\230\001\230\026\230|\2501\320\004\037\230q\360\024\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\340\010\022\220.\240\001\240\027\250\001\250\021\330\010\024\220B\220k\240\021\240$\240h\250a\340\010\016\210j\230\001\230\026\230|\2501\320\004'\240q\360\024\000\t\027\220f\230J\240a\240y\260\006\260a\330\010\016\210j\230\001\230\026\230}\250A\360\010""\000\016\022\220\021\220*\230H\240A\330\014\024\220F\230!\2301\230G\2404\240q\330\014\030\230\001\320\031,\250A\250T\260\030\270\021\340\010\016\210j\230\001\230\026\230|\2501\320\000/\250q\360&\000\005\031\230\001\230\026\230s\240!\330\004\030\230\001\230\026\230s\240!\330\004\034\230A\230Q\230e\2402\320%5\260]\300!\330\004\034\230A\230Q\230h\240b\250\r\260]\300!\330\004\031\230\024\230V\2406\250\023\250A\340\004\007\200y\220\003\2204\220v\230V\2403\240a\330\010\016\210l\230!\2306\240\031\250.\270\014\300A\300T\310\024\310T\320QT\320TU\330\010\013\2108\2204\220q\330\014\023\2203\220e\2301\330\010\013\2101\330\014\023\2203\220h\230a\230r\240\027\250\001\250\023\250I\260Q\330\010\013\2101\330\014\023\2203\220h\230a\230r\240\027\250\001\250\023\250I\260Q\330\010\017\210q\330\004\013\2101\200\001\330\004\007\200s\210#\210Q\340\t\014\210C\210q\330\010\016\210i\220q\230\001\330\t\014\210C\210q\330\010\016\210k\230\021\230!\330\t\014\210C\210q\330\010\016\210g\220Q\220a\330\t\014\210C\210q\330\010\016\210g\220Q\220a\330\t\014\210C\210q\330\010\016\210g\220Q\220a\330\t\014\210C\210q\330\010\016\210g\220Q\220a\330\t\014\210C\210q\330\010\016\210i\220q\230\001\330\t\014\210C\210q\330\010\016\210i\220q\230\001\330\t\014\210C\210q\330\010\016\210i\220q\230\001\340\t\014\210C\210q\330\010\016\210i\220q\230\001\330\t\014\210C\210q\330\010\016\210i\220q\230\001\330\t\014\210C\210q\330\010\016\210i\220q\230\001\330\t\014\210C\210q\330\010\016\210h\220a\220q\330\t\014\210C\210q\330\010\016\210k\230\021\230!\330\t\014\210C\210q\330\010\016\210j\230\001\230\021\330\t\014\210C\210q\330\010\016\210h\220a\220q\330\t\014\210C\210q\330\010\016\210i\220q\230\001\340\010\016\210i\220q\230\001\200\001\330\004\007\200s\210#\210Q\330\010\013\210:\220Q\220g\230V\2403\240j\260\001\260\027\270\001\330\014\024\220E\230\022\2307\240#\240Q\330\r\027\220q\230\001\330\014\023\2208\2301\230F\240$\240e\2501\250A\330\r\027\220q\230\007\230r\240\021\330\014\023\220=\240\001\240\027\250\006\250a\340\014""\022\220)\2301\320\034/\250q\260\004\260A\260Q\330\t\014\210C\210q\330\010\013\210:\220Q\220g\230V\2403\240j\260\001\260\027\270\001\330\014\024\220E\230\022\2307\240#\240Q\330\r\027\220q\230\001\330\014\023\2208\2301\230F\240$\240e\2501\250A\330\r\027\220q\230\007\230r\240\021\330\014\023\220=\240\001\240\027\250\006\250a\340\014\022\220)\2301\320\034/\250q\260\004\260A\260Q\330\t\014\210C\210q\330\010\013\210:\220Q\220g\230V\2403\240j\260\001\260\027\270\001\330\014\024\220E\230\022\2307\240#\240Q\330\r\027\220q\230\001\330\014\023\2208\2301\230F\240$\240e\2501\250H\260D\270\005\270Q\270a\330\r\027\220q\230\007\230r\240\021\330\014\023\220=\240\001\240\027\250\006\250a\340\014\022\220)\2301\320\034/\250q\260\004\260A\260Q\340\010\016\320\016!\240\021\240!\200\001\360\"\000\t\022\220\021\330\010\017\210t\2201\220A\330\010\017\210t\220:\230Q\340\010\013\320\013$\240C\240t\2501\250A\330\014\022\220!\220<\230q\330\r\032\230#\230T\240\021\240!\330\014\022\220!\220<\230q\330\r\031\230\023\230D\240\001\240\021\330\014\022\220!\220<\230q\330\r\035\230S\240\004\240A\240Q\330\014\022\220!\220<\230q\340\014\022\220!\340\010\032\230!\230>\250\033\260N\300+\310Q\330\020 \240\r\250_\270A\330\020\031\230\021\340\010\013\2106\220\021\220*\230D\240\013\2501\330\014\033\2307\240!\2401\320$6\3206F\300n\320T[\320[\\\340\010\024\220A\330\010\014\210C\210x\220y\240\001\240\021\330\014\017\210u\220C\220q\330\020\021\340\014\031\230\024\230V\2401\240A\330\014\026\220a\220u\230J\240a\240r\250\023\250A\330\014\030\230\n\240!\2402\240V\2501\340\014\017\210z\230\023\230B\230d\240*\250C\250q\330\020\021\340\014\017\210z\230\023\230A\330\020!\240\032\2501\250B\250f\260A\340\020\023\220:\230S\240\001\330\024%\240^\2603\260a\330\024 \240\001\330\024 \240\016\250f\260A\260Q\330\024\035\230Q\230k\250\023\250A\250Y\260a\260q\330\024 \240\t\250\021\250\"\250F\260!\2601\340\024\030\230\014\240A\330\030'\240x\250v\260R\260v\270Q\270a\330\030!\240\021\240,\250a\250v\260S\270\001\270\034\300Q\300a\340""\024\027\220{\240#\240T\250\021\250!\2501\250A\330\030\036\230a\230\177\250a\340\030\036\230a\320\0378\270\001\340\024\025\340\020\023\220:\230S\240\001\330\024!\240\021\330\024 \240\001\330\024 \240\016\250f\260A\260Q\330\024\030\230\014\240A\330\030'\240x\250v\260R\260v\270Q\270a\330\030!\240\021\240,\250a\250v\260S\270\001\270\034\300Q\300a\340\024\027\220{\240#\240T\250\021\250!\2501\250A\330\030\036\230a\320\0370\260\001\340\030\036\230a\320\037:\270!\330\024\025\340\020!\240\036\250v\260Q\260d\270!\2701\330\020\023\220:\230S\240\001\330\024\027\220{\240#\240T\250\021\250!\2501\250A\330\030\036\230a\320\0371\260\021\340\030\036\230a\320\037;\2701\330\024\025\340\020\023\220:\230S\240\001\330\024%\240^\2603\260a\340\020\023\220:\230Q\230a\330\024\032\230!\230=\250\005\250Q\250a\330\024\027\220z\240\023\320$6\260d\270&\300\001\300\033\310C\310q\330\030\031\360\006\000\025\033\230!\230=\250\001\360\006\000\t\031\230\n\240*\250N\270.\310\n\320Rb\320bo\360\000\000p\001C\002\360\000\000C\002M\002\360\000\000M\002N\002\330\030\"\320\"2\3202B\320BR\320Rl\360\000\000m\001G\002\360\000\000G\002S\002\360\000\000S\002T\002\330\030.\320.F\300o\320Ue\320e}\320}~\330\030*\250*\260H\270K\320GZ\320Z[\340\010\013\2106\220\021\220*\230D\240\013\2501\330\014\017\210v\220Q\320\026)\250\022\2501\330\020\034\230A\320\0352\260!\330\020\034\230A\320\0352\260!\330\020\034\230A\320\0352\260!\330\020\034\230A\320\035.\250a\330\020\034\230A\320\0352\260!\330\010\035\230R\230q\340\010\020\220\n\230#\230Q\340\010\017\210q\200\001\340\004\007\200z\220\021\220&\230\001\330\010\026\220b\230\006\230a\230v\240T\250\030\260\026\260q\330\010\014\210G\2202\220X\230Q\230d\240!\330\014\027\220q\230\007\230y\250\001\250\030\260\026\260\177\300a\300t\3101\310A\330\010\017\210{\230%\230q\240\001\340\010\017\210y\230\001\230\030\240\026\240\177\260a\260q\200\001\340\004\007\200z\220\021\220&\230\001\330\010\026\220b\230\006\230a\230v\240T\250\030\260\026\260q\330\010\014\210G\2202\220X\230Q\230d\240!\330""\014\027\220q\230\007\230y\250\001\250\030\260\027\270\017\300q\310\004\310A\310Q\330\010\017\210{\230%\230q\240\001\340\010\017\210y\230\001\230\030\240\027\250\017\260q\270\001\210\001\330\014\017\210z\230\021\230&\240\001\330\020\027\220q\340\020\027\220t\2301\230F\240!\2406\250\021\200\001\340\004\007\200z\220\021\220!\330\010\017\210x\220q\230\001\340\t\023\2201\220F\230!\360\010\000\t\023\220'\230\021\330\010\014\210F\220(\230$\230f\240F\250!\330\014\017\210s\220!\2206\230\023\230A\330\020\033\2301\330\021\024\220A\220V\2303\230a\330\020\032\230'\240\021\240$\240a\240q\330\020\033\2305\240\002\240!\340\020\033\2308\2401\330\020\024\220E\230\021\330\024\036\230g\240Q\240a\330\024 \240\001\330\020\033\2305\240\002\240!\330\010\017\210q\340\t\023\2201\220F\230\"\230A\330\010\023\2202\220V\2301\230D\240\010\250\006\250a\330\010\014\210G\2202\220X\230Q\230d\240!\330\014\024\220A\220W\230O\2501\250D\260\001\260\021\330\010\017\210x\220u\230A\230Q\360\006\000\t\020\210z\230\021\230&\240\001\330\010\017\210qO";
    PyObject *data = NULL;
    CYTHON_UNUSED_VAR(__Pyx_DecompressString);
    #endif
    PyObject **stringtab = __pyx_mstate->__pyx_string_tab;
    Py_ssize_t pos = 0;
    for (int i = 0; i < 3211; i++) {
      Py_ssize_t bytes_length = index[i].length;
      PyObject *string = PyUnicode_DecodeUTF8(bytes + pos, bytes_length, NULL);
      if (likely(string) && i >= 291) PyUnicode_InternInPlace(&string);
      if (unlikely(!string)) {
        Py_XDECREF(data);
        __PYX_ERR(0, 1, __pyx_L1_error)
      }
      stringtab[i] = string;
      pos += bytes_length;
    }
    for (int i = 3211; i < 3800; i++) {
      Py_ssize_t bytes_length = index[i].length;
      PyObject *string = PyBytes_FromStringAndSize(bytes + pos, bytes_length);
      stringtab[i] = string;
      pos += bytes_length;
      if (unlikely(!string)) {
        Py_XDECREF(data);
        __PYX_ERR(0, 1, __pyx_L1_error)
      }
    }
    Py_XDECREF(data);
    for (Py_ssize_t i = 0; i < 3800; i++) {
      if (unlikely(PyObject_Hash(stringtab[i]) == -1)) {
        __PYX_ERR(0, 1, __pyx_L1_error)
      }
    }
    #if CYTHON_IMMORTAL_CONSTANTS
    {
      PyObject **table = stringtab + 3211;
      for (Py_ssize_t i=0; i<589; ++i) {
        #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
        #if PY_VERSION_HEX < 0x030E0000
        if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)
        #else
        if (PyUnstable_Object_IsUniquelyReferenced(table[i]))
        #endif
        {
          Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);
        }
        #else
        Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);
        #endif
      }
    }
    #endif
  }
  {
    PyObject **numbertab = __pyx_mstate->__pyx_number_tab;
    double const c_constants[] = {0.0,-1.0,1.0,1e+20};
    for (int i = 0; i < 4; i++) {
      numbertab[i] = PyFloat_FromDouble(c_constants[i]);
      if (unlikely(!numbertab[i])) __PYX_ERR(0, 1, __pyx_L1_error)
    }
  }
  {
    PyObject **numbertab = __pyx_mstate->__pyx_number_tab + 4;
    int8_t const cint_constants_1[] = {0,-1,1,-2,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,100,101};
    int16_t const cint_constants_2[] = {10000};
    int32_t const cint_constants_4[] = {63254455L,76513566L,76998962L,80720285L,85795681L,95355963L,132603380L,136983863L,143015212L,154610759L,165363339L,214626690L,238750788L,240430858L};
    for (int i = 0; i < 38; i++) {
      numbertab[i] = PyLong_FromLong((i < 23 ? cint_constants_1[i - 0] : (i < 24 ? cint_constants_2[i - 23] : cint_constants_4[i - 24])));
      if (unlikely(!numbertab[i])) __PYX_ERR(0, 1, __pyx_L1_error)
    }
  }
  #if CYTHON_IMMORTAL_CONSTANTS
  {
    PyObject **table = __pyx_mstate->__pyx_number_tab;
    for (Py_ssize_t i=0; i<42; ++i) {
      #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
      #if PY_VERSION_HEX < 0x030E0000
      if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)
      #else
      if (PyUnstable_Object_IsUniquelyReferenced(table[i]))
      #endif
      {
        Py_SET_REFCNT(table[i], _Py_IMMORTAL_REFCNT_LOCAL);
      }
      #else
      Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);
      #endif
    }
  }
  #endif
  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: init_codeobjects ### */
typedef struct {
    unsigned int argcount : 5;
    unsigned int num_posonly_args : 1;
    unsigned int num_kwonly_args : 1;
    unsigned int nlocals : 6;
    unsigned int flags : 10;
    unsigned int first_line : 14;
} __Pyx_PyCode_New_function_description;
/* NewCodeObj.proto */
static PyObject* __Pyx_PyCode_New(
        const __Pyx_PyCode_New_function_description descr,
        PyObject * const *varnames,
        PyObject *filename,
        PyObject *funcname,
        PyObject *line_table,
        PyObject *tuple_dedup_map
);


static int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate) {
  PyObject* tuple_dedup_map = PyDict_New();
  if (unlikely(!tuple_dedup_map)) return -1;
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 112};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[0] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[0])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 111};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[1] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_lambda, __pyx_mstate->__pyx_kp_b_iso88591_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 159};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[2] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591__30, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[2])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 381};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[3] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591__31, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[3])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 716};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_child};
    __pyx_mstate_global->__pyx_codeobj_tab[4] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_lambda, __pyx_mstate->__pyx_kp_b_iso88591_W_eef, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[4])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 739};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_child};
    __pyx_mstate_global->__pyx_codeobj_tab[5] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_lambda, __pyx_mstate->__pyx_kp_b_iso88591_W_eef, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[5])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 102};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_entries};
    __pyx_mstate_global->__pyx_codeobj_tab[6] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591__32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[6])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 187};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_entries};
    __pyx_mstate_global->__pyx_codeobj_tab[7] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591__32, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[7])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 54};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_arg};
    __pyx_mstate_global->__pyx_codeobj_tab[8] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591__30, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[8])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 73};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_arg};
    __pyx_mstate_global->__pyx_codeobj_tab[9] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[9])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 91};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_arg};
    __pyx_mstate_global->__pyx_codeobj_tab[10] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[10])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 187};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[11] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591__33, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[11])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 247};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[12] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_a_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[12])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 249};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[13] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_a_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[13])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 251};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[14] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591__31, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[14])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2873};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_callback};
    __pyx_mstate_global->__pyx_codeobj_tab[15] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_init, __pyx_mstate->__pyx_kp_b_iso88591_A_QnE_L, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[15])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2877};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_event};
    __pyx_mstate_global->__pyx_codeobj_tab[16] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_eventinit, __pyx_mstate->__pyx_kp_b_iso88591_A_IQ_k, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[16])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2881};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_event};
    __pyx_mstate_global->__pyx_codeobj_tab[17] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_eventexit, __pyx_mstate->__pyx_kp_b_iso88591_A_IQ_j, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[17])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2885};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_event};
    __pyx_mstate_global->__pyx_codeobj_tab[18] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_eventexec, __pyx_mstate->__pyx_kp_b_iso88591_A_IQgQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[18])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6291};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_elem, __pyx_mstate->__pyx_n_u_length};
    __pyx_mstate_global->__pyx_codeobj_tab[19] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_ensure_iterable, __pyx_mstate->__pyx_kp_b_iso88591_z_q_t1F_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[19])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6529};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_elem, __pyx_mstate->__pyx_n_u_length};
    __pyx_mstate_global->__pyx_codeobj_tab[20] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_ensure_iterable, __pyx_mstate->__pyx_kp_b_iso88591_z_q_t1F_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[20])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR), 12735};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_key, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[21] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_kp_b_iso88591_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[21])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 61};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_e, __pyx_mstate->__pyx_n_u_f};
    __pyx_mstate_global->__pyx_codeobj_tab[22] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_is_number, __pyx_mstate->__pyx_kp_b_iso88591_E_q_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[22])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 71};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_other, __pyx_mstate->__pyx_n_u_op};
    __pyx_mstate_global->__pyx_codeobj_tab[23] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_expr_richcmp, __pyx_mstate->__pyx_kp_b_iso88591_s_Q_QgV3j_E_7_Q_q_81F_e1A_q_r_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[23])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 166};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[24] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_evaluate, __pyx_mstate->__pyx_kp_b_iso88591_A_c_A_WCq_E_aq_D_9Cq_t3a_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[24])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[25] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_4_a_G1F_a_vWE_Q_q_t_WE_D_q_T, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[25])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[26] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[26])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 184};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_sumexpr, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_coef, __pyx_mstate->__pyx_n_u_varexpr, __pyx_mstate->__pyx_n_u_prodexpr, __pyx_mstate->__pyx_n_u_v, __pyx_mstate->__pyx_n_u_GenExprs, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[27] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_buildGenExprObj, __pyx_mstate->__pyx_kp_b_iso88591_z_xq_1F_F_fF_s_6_A_1_AV3a_aq_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[27])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 369};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_t, __pyx_mstate->__pyx_n_u_c};
    __pyx_mstate_global->__pyx_codeobj_tab[28] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_normalize, __pyx_mstate->__pyx_kp_b_iso88591_A_Jar_5_F_3b_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[28])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 376};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[29] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_degree, __pyx_mstate->__pyx_kp_b_iso88591_A_3at83a_1_3d, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[29])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 383};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[30] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_evaluate, __pyx_mstate->__pyx_kp_b_iso88591_A_l_k_hauAYaq_6_9HA_5_j_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[30])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[31] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_G1F_a_vWE_Q_q_t7_q_T_G1_T_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[31])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[32] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[32])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 411};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_c};
    __pyx_mstate_global->__pyx_codeobj_tab[33] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_normalize, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_E_4uAWCq_Zq_Qd_t6_A_t6_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[33])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[34] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_G4q_G1F_a_vWE_Q_q_t6_S_F_c_VS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[34])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[35] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_avQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[35])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 467};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_termlist, __pyx_mstate->__pyx_n_u_result, __pyx_mstate->__pyx_n_u_term};
    __pyx_mstate_global->__pyx_codeobj_tab[36] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_quicksum, __pyx_mstate->__pyx_kp_b_iso88591_T_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[36])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 476};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_termlist, __pyx_mstate->__pyx_n_u_result, __pyx_mstate->__pyx_n_u_term};
    __pyx_mstate_global->__pyx_codeobj_tab[37] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_quickprod, __pyx_mstate->__pyx_kp_b_iso88591_T_Ba_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[37])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 681};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[38] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_degree, __pyx_mstate->__pyx_kp_b_iso88591_A_uAQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[38])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 685};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[39] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_getOp, __pyx_mstate->__pyx_kp_b_iso88591_A_t1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[39])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[40] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_t1_G1F_a_vWE_Q_q_t5_uCt_WA_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[40])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[41] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_QfA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[41])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 718};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[42] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_evaluate, __pyx_mstate->__pyx_kp_b_iso88591_A_a_WCq_A_T_a_E_aq_85_Cy_Jaq_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[42])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[43] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_t_d_a_G1F_a_vWE_Q_q_t5_uCt_WE, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[43])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[44] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_QfA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[44])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 741};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[45] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_evaluate, __pyx_mstate->__pyx_kp_b_iso88591_A_a_T_WCq_E_aq_IXQc_1A_t3a_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[45])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[46] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_t_d_G1F_a_vWE_Q_q_t5_uCt_WE_D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[46])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[47] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_avQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[47])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 764};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[48] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_evaluate, __pyx_mstate->__pyx_kp_b_iso88591_A_d_1Cz, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[48])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[49] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_t_d_G1F_a_vWE_Q_q_t5_uCt_WE_D_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[49])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[50] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_QfA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[50])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 781};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[51] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_evaluate, __pyx_mstate->__pyx_kp_b_iso88591_A_Yas_AU_T, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[51])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[52] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_t_d_G1F_a_vWE_Q_q_t5_uCt_WE_D_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[52])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[53] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_QfA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[53])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 800};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[54] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_evaluate, __pyx_mstate->__pyx_kp_b_iso88591_A_9D_Zq_t5_U_q_d_qPQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[54])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[55] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_t1_G1F_a_vWE_Q_q_t5_uCt_WA_q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[55])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[56] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_q_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[56])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 815};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[57] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_evaluate, __pyx_mstate->__pyx_kp_b_iso88591_A_t1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[57])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[58] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_t_d_G1F_a_vWE_Q_q_t5_uCt_WE_D_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[58])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[59] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_avQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[59])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 819};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_unary_exprs, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[60] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_exp, __pyx_mstate->__pyx_kp_b_iso88591_z_b_avT_q_G2XQd_q_y_at1A_q_y_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[60])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 829};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_unary_exprs, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[61] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_log, __pyx_mstate->__pyx_kp_b_iso88591_z_b_avT_q_G2XQd_q_y_at1A_q_y_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[61])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 839};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_unary_exprs, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[62] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_sqrt, __pyx_mstate->__pyx_kp_b_iso88591_z_b_avT_q_G2XQd_q_y_q_AQ_q_y_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[62])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 849};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_unary_exprs, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[63] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_sin, __pyx_mstate->__pyx_kp_b_iso88591_z_b_avT_q_G2XQd_q_y_at1A_q_y_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[63])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 859};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_unary_exprs, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[64] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_cos, __pyx_mstate->__pyx_kp_b_iso88591_z_b_avT_q_G2XQd_q_y_at1A_q_y_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[64])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 869};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_nodes};
    __pyx_mstate_global->__pyx_codeobj_tab[65] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_expr_to_nodes, __pyx_mstate->__pyx_kp_b_iso88591_QfA_A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[65])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 877};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_val, __pyx_mstate->__pyx_n_u_nodes};
    __pyx_mstate_global->__pyx_codeobj_tab[66] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_value_to_array, __pyx_mstate->__pyx_kp_b_iso88591_aq_3awb, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[66])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 887};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_nodes, __pyx_mstate->__pyx_n_u_op, __pyx_mstate->__pyx_n_u_indices, __pyx_mstate->__pyx_n_u_nchildren, __pyx_mstate->__pyx_n_u_child, __pyx_mstate->__pyx_n_u_pos};
    __pyx_mstate_global->__pyx_codeobj_tab[67] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_expr_pxi, __pyx_mstate->__pyx_n_u_expr_to_array, __pyx_mstate->__pyx_kp_b_iso88591_Q_s_XQ_WAU_1D_Q_Cxq_Cq_A_IT_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[67])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename};
    __pyx_mstate_global->__pyx_codeobj_tab[68] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_writeLP, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[68])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename};
    __pyx_mstate_global->__pyx_codeobj_tab[69] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_readLP, __pyx_mstate->__pyx_kp_b_iso88591_A_A_4vQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[69])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[70] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_infinity, __pyx_mstate->__pyx_kp_b_iso88591_A_at1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[70])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 49};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val};
    __pyx_mstate_global->__pyx_codeobj_tab[71] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_isInfinity, __pyx_mstate->__pyx_kp_b_iso88591_A_V1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[71])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 57};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entries, __pyx_mstate->__pyx_n_u_obj, __pyx_mstate->__pyx_n_u_lb, __pyx_mstate->__pyx_n_u_ub, __pyx_mstate->__pyx_n_u_nnonz, __pyx_mstate->__pyx_n_u_c_coefs, __pyx_mstate->__pyx_n_u_c_inds, __pyx_mstate->__pyx_n_u_c_obj, __pyx_mstate->__pyx_n_u_c_lb, __pyx_mstate->__pyx_n_u_c_ub, __pyx_mstate->__pyx_n_u_c_beg, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_entry};
    __pyx_mstate_global->__pyx_codeobj_tab[72] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_addCol, __pyx_mstate->__pyx_kp_b_iso88591_Jj_AQ_avRq_6_q_b_q_a_fCs_D_Biy, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[72])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 85};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entrieslist, __pyx_mstate->__pyx_n_u_objs, __pyx_mstate->__pyx_n_u_lbs, __pyx_mstate->__pyx_n_u_ubs, __pyx_mstate->__pyx_n_u_ncols, __pyx_mstate->__pyx_n_u_c_objs, __pyx_mstate->__pyx_n_u_c_lbs, __pyx_mstate->__pyx_n_u_c_ubs, __pyx_mstate->__pyx_n_u_c_coefs, __pyx_mstate->__pyx_n_u_c_inds, __pyx_mstate->__pyx_n_u_c_beg, __pyx_mstate->__pyx_n_u_nnonz, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_tmp, __pyx_mstate->__pyx_n_u_entries, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[73] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_addCols, __pyx_mstate->__pyx_kp_b_iso88591_l_AQ_avRq_avRq_avRq_D_6_1_F_6_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[73])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 139};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_firstcol, __pyx_mstate->__pyx_n_u_lastcol};
    __pyx_mstate_global->__pyx_codeobj_tab[74] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_delCols, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D_j, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[74])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 148};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entries, __pyx_mstate->__pyx_n_u_lhs, __pyx_mstate->__pyx_n_u_rhs, __pyx_mstate->__pyx_n_u_nnonz, __pyx_mstate->__pyx_n_u_c_coefs, __pyx_mstate->__pyx_n_u_c_inds, __pyx_mstate->__pyx_n_u_c_lhs, __pyx_mstate->__pyx_n_u_c_rhs, __pyx_mstate->__pyx_n_u_c_beg, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_entry};
    __pyx_mstate_global->__pyx_codeobj_tab[75] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_addRow, __pyx_mstate->__pyx_kp_b_iso88591_1_AQ_avRq_6_q_b_q_wd_Zt9A_Biy_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[75])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 174};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_entrieslist, __pyx_mstate->__pyx_n_u_lhss, __pyx_mstate->__pyx_n_u_rhss, __pyx_mstate->__pyx_n_u_nrows, __pyx_mstate->__pyx_n_u_c_lhss, __pyx_mstate->__pyx_n_u_c_rhss, __pyx_mstate->__pyx_n_u_c_beg, __pyx_mstate->__pyx_n_u_nnonz, __pyx_mstate->__pyx_n_u_c_coefs, __pyx_mstate->__pyx_n_u_c_inds, __pyx_mstate->__pyx_n_u_tmp, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_entries, __pyx_mstate->__pyx_n_u_entry, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[76] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_addRows, __pyx_mstate->__pyx_kp_b_iso88591_q_AQ_vQfBa_vQfBa_6_q_b_D_vQfBa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[76])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 211};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_firstrow, __pyx_mstate->__pyx_n_u_lastrow};
    __pyx_mstate_global->__pyx_codeobj_tab[77] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_delRows, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D_j, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[77])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 220};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_firstcol, __pyx_mstate->__pyx_n_u_lastcol, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_ncols, __pyx_mstate->__pyx_n_u_c_lbs, __pyx_mstate->__pyx_n_u_c_ubs, __pyx_mstate->__pyx_n_u_lbs, __pyx_mstate->__pyx_n_u_ubs};
    __pyx_mstate_global->__pyx_codeobj_tab[78] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_getBounds, __pyx_mstate->__pyx_kp_b_iso88591_XS_fCr_9Ba_1_2Q_V1F_A_V1F_A_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[78])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 251};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_firstrow, __pyx_mstate->__pyx_n_u_lastrow, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_nrows, __pyx_mstate->__pyx_n_u_c_lhss, __pyx_mstate->__pyx_n_u_c_rhss, __pyx_mstate->__pyx_n_u_lhss, __pyx_mstate->__pyx_n_u_rhss};
    __pyx_mstate_global->__pyx_codeobj_tab[79] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_getSides, __pyx_mstate->__pyx_kp_b_iso88591_q_XS_fCr_9Ba_1_2Q_fAV2Q_fAV2Q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[79])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 282};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_col, __pyx_mstate->__pyx_n_u_obj, __pyx_mstate->__pyx_n_u_c_obj, __pyx_mstate->__pyx_n_u_c_col};
    __pyx_mstate_global->__pyx_codeobj_tab[80] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_chgObj, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_4vS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[80])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 294};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row, __pyx_mstate->__pyx_n_u_col, __pyx_mstate->__pyx_n_u_newval};
    __pyx_mstate_global->__pyx_codeobj_tab[81] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_chgCoef, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D_e5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[81])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 304};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_col, __pyx_mstate->__pyx_n_u_lb, __pyx_mstate->__pyx_n_u_ub, __pyx_mstate->__pyx_n_u_c_lb, __pyx_mstate->__pyx_n_u_c_ub, __pyx_mstate->__pyx_n_u_c_col};
    __pyx_mstate_global->__pyx_codeobj_tab[82] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_chgBound, __pyx_mstate->__pyx_kp_b_iso88591_A_a_a_A_Qd_1G1F_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[82])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 318};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row, __pyx_mstate->__pyx_n_u_lhs, __pyx_mstate->__pyx_n_u_rhs, __pyx_mstate->__pyx_n_u_c_lhs, __pyx_mstate->__pyx_n_u_c_rhs, __pyx_mstate->__pyx_n_u_c_row};
    __pyx_mstate_global->__pyx_codeobj_tab[83] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_chgSide, __pyx_mstate->__pyx_kp_b_iso88591_A_q_q_A_AT_s_7_7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[83])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 332};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[84] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_clear, __pyx_mstate->__pyx_kp_b_iso88591_A_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[84])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 336};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nrows};
    __pyx_mstate_global->__pyx_codeobj_tab[85] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_nrows, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[85])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 344};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_ncols};
    __pyx_mstate_global->__pyx_codeobj_tab[86] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_ncols, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[86])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 352};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_dual, __pyx_mstate->__pyx_n_u_objval};
    __pyx_mstate_global->__pyx_codeobj_tab[87] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_solve, __pyx_mstate->__pyx_kp_b_iso88591_1_a_1D_A_Qd_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[87])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 368};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[88] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_isOptimal, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[88])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 379};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_objval};
    __pyx_mstate_global->__pyx_codeobj_tab[89] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_getObjVal, __pyx_mstate->__pyx_kp_b_iso88591_A_A_4vQhfF_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[89])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 390};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_ncols, __pyx_mstate->__pyx_n_u_c_primalsol, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_primalsol};
    __pyx_mstate_global->__pyx_codeobj_tab[90] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_getPrimal, __pyx_mstate->__pyx_kp_b_iso88591_A_V1_m6_A_4vV_fA_AU_A_E_aq_Qe_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[90])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 407};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[91] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_isPrimalFeasible, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[91])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 411};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nrows, __pyx_mstate->__pyx_n_u_c_dualsol, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_dualsol};
    __pyx_mstate_global->__pyx_codeobj_tab[92] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_getDual, __pyx_mstate->__pyx_kp_b_iso88591_A_V1_M_q_b_A_4vV6_F_5_E_aq_1E_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[92])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 428};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[93] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_isDualFeasible, __pyx_mstate->__pyx_kp_b_iso88591_A_AT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[93])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 432};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_ncols, __pyx_mstate->__pyx_n_u_c_ray, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_ray};
    __pyx_mstate_global->__pyx_codeobj_tab[94] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_getPrimalRay, __pyx_mstate->__pyx_kp_b_iso88591_A_4_4q_1_F_V1F_A_A_V1_auBa_E_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[94])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 452};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nrows, __pyx_mstate->__pyx_n_u_c_ray, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_ray};
    __pyx_mstate_global->__pyx_codeobj_tab[95] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_getDualRay, __pyx_mstate->__pyx_kp_b_iso88591_A_4_Q_1_F_V1F_A_A_fA_auBa_E_aq_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[95])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 472};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_niters};
    __pyx_mstate_global->__pyx_codeobj_tab[96] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_getNIterations, __pyx_mstate->__pyx_kp_b_iso88591_A_A_fAQ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[96])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 480};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nrows, __pyx_mstate->__pyx_n_u_c_activity, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_activity};
    __pyx_mstate_global->__pyx_codeobj_tab[97] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_getActivity, __pyx_mstate->__pyx_kp_b_iso88591_A_V1_r_A_4vV6_1_1E_1_E_aq_AU_AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[97])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 499};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_ncols, __pyx_mstate->__pyx_n_u_c_redcost, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_redcost};
    __pyx_mstate_global->__pyx_codeobj_tab[98] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_getRedcost, __pyx_mstate->__pyx_kp_b_iso88591_A_V1_M_q_b_A_4vV6_vQ_5_E_aq_1E_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[98])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 518};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nrows, __pyx_mstate->__pyx_n_u_c_binds, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_binds};
    __pyx_mstate_global->__pyx_codeobj_tab[99] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_getBasisInds, __pyx_mstate->__pyx_kp_b_iso88591_A_V1_G6_A_q_F_E_aq_AQ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[99])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 536};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_param, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[100] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_setIntParam, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Qd_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[100])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 551};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_param, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[101] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_setRealParam, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[101])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 566};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_param, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[102] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_getIntParam, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Qd_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[102])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 587};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_param, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[103] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_lp_pxi, __pyx_mstate->__pyx_n_u_getRealParam, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at6_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[103])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[104] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[104])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[105] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[105])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[106] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_bendersfree, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[106])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[107] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_bendersinit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[107])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[108] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_bendersexit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[108])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[109] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_bendersinitpre, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[109])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[110] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_bendersexitpre, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[110])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[111] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_bendersinitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[111])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[112] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_bendersexitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[112])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_probnumber};
    __pyx_mstate_global->__pyx_codeobj_tab[113] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_benderscreatesub, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[113])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_enfotype, __pyx_mstate->__pyx_n_u_checkint};
    __pyx_mstate_global->__pyx_codeobj_tab[114] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_benderspresubsolve, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[114])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_probnumber, __pyx_mstate->__pyx_n_u_onlyconvex};
    __pyx_mstate_global->__pyx_codeobj_tab[115] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_benderssolvesubconvex, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[115])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 48};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_probnumber};
    __pyx_mstate_global->__pyx_codeobj_tab[116] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_benderssolvesub, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[116])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 52};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_enfotype, __pyx_mstate->__pyx_n_u_mergecandidates, __pyx_mstate->__pyx_n_u_npriomergecands, __pyx_mstate->__pyx_n_u_checkint, __pyx_mstate->__pyx_n_u_infeasible};
    __pyx_mstate_global->__pyx_codeobj_tab[117] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_benderspostsolve, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[117])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 56};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_probnumber};
    __pyx_mstate_global->__pyx_codeobj_tab[118] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_bendersfreesub, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[118])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 60};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_variable, __pyx_mstate->__pyx_n_u_probnumber};
    __pyx_mstate_global->__pyx_codeobj_tab[119] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benders_pxi, __pyx_mstate->__pyx_n_u_bendersgetvar, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[119])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[120] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[120])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[121] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[121])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[122] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benderscut_pxi, __pyx_mstate->__pyx_n_u_benderscutfree, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[122])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[123] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benderscut_pxi, __pyx_mstate->__pyx_n_u_benderscutinit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[123])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[124] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benderscut_pxi, __pyx_mstate->__pyx_n_u_benderscutexit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[124])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 17};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[125] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benderscut_pxi, __pyx_mstate->__pyx_n_u_benderscutinitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[125])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[126] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benderscut_pxi, __pyx_mstate->__pyx_n_u_benderscutexitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[126])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_probnumber, __pyx_mstate->__pyx_n_u_enfotype};
    __pyx_mstate_global->__pyx_codeobj_tab[127] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_benderscut_pxi, __pyx_mstate->__pyx_n_u_benderscutexec, __pyx_mstate->__pyx_kp_b_iso88591_A_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[127])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[128] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_4xt1_G1F_a_vWE_Q_q_t9G5_4wgU, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[128])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[129] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[129])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[130] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_branchrule_pxi, __pyx_mstate->__pyx_n_u_branchfree, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[130])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[131] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_branchrule_pxi, __pyx_mstate->__pyx_n_u_branchinit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[131])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[132] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_branchrule_pxi, __pyx_mstate->__pyx_n_u_branchexit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[132])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[133] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_branchrule_pxi, __pyx_mstate->__pyx_n_u_branchinitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[133])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[134] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_branchrule_pxi, __pyx_mstate->__pyx_n_u_branchexitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[134])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_allowaddcons};
    __pyx_mstate_global->__pyx_codeobj_tab[135] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_branchrule_pxi, __pyx_mstate->__pyx_n_u_branchexeclp, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[135])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_allowaddcons};
    __pyx_mstate_global->__pyx_codeobj_tab[136] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_branchrule_pxi, __pyx_mstate->__pyx_n_u_branchexecext, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[136])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_allowaddcons};
    __pyx_mstate_global->__pyx_codeobj_tab[137] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_branchrule_pxi, __pyx_mstate->__pyx_n_u_branchexecps, __pyx_mstate->__pyx_kp_b_iso88591_A_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[137])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[138] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_G1F_a_vWE_Q_q_t7_q_4q_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[138])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[139] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[139])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[140] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consfree, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[140])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints};
    __pyx_mstate_global->__pyx_codeobj_tab[141] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consinit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[141])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints};
    __pyx_mstate_global->__pyx_codeobj_tab[142] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consexit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[142])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 20};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints};
    __pyx_mstate_global->__pyx_codeobj_tab[143] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consinitpre, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[143])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 24};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints};
    __pyx_mstate_global->__pyx_codeobj_tab[144] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consexitpre, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[144])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 28};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints};
    __pyx_mstate_global->__pyx_codeobj_tab[145] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consinitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[145])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 32};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints, __pyx_mstate->__pyx_n_u_restart};
    __pyx_mstate_global->__pyx_codeobj_tab[146] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consexitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[146])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 36};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraint};
    __pyx_mstate_global->__pyx_codeobj_tab[147] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consdelete, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[147])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 40};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sourceconstraint};
    __pyx_mstate_global->__pyx_codeobj_tab[148] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_constrans, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[148])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 44};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints};
    __pyx_mstate_global->__pyx_codeobj_tab[149] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consinitlp, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[149])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 48};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints, __pyx_mstate->__pyx_n_u_nusefulconss};
    __pyx_mstate_global->__pyx_codeobj_tab[150] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_conssepalp, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[150])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 52};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints, __pyx_mstate->__pyx_n_u_nusefulconss, __pyx_mstate->__pyx_n_u_solution};
    __pyx_mstate_global->__pyx_codeobj_tab[151] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_conssepasol, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[151])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 56};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints, __pyx_mstate->__pyx_n_u_nusefulconss, __pyx_mstate->__pyx_n_u_solinfeasible};
    __pyx_mstate_global->__pyx_codeobj_tab[152] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consenfolp, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[152])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 60};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_constraints, __pyx_mstate->__pyx_n_u_nusefulconss, __pyx_mstate->__pyx_n_u_solinfeasible};
    __pyx_mstate_global->__pyx_codeobj_tab[153] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consenforelax, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[153])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 64};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints, __pyx_mstate->__pyx_n_u_nusefulconss, __pyx_mstate->__pyx_n_u_solinfeasible, __pyx_mstate->__pyx_n_u_objinfeasible};
    __pyx_mstate_global->__pyx_codeobj_tab[154] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consenfops, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[154])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 68};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_checkintegrality, __pyx_mstate->__pyx_n_u_checklprows, __pyx_mstate->__pyx_n_u_printreason, __pyx_mstate->__pyx_n_u_completely};
    __pyx_mstate_global->__pyx_codeobj_tab[155] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_conscheck, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[155])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 72};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints, __pyx_mstate->__pyx_n_u_nusefulconss, __pyx_mstate->__pyx_n_u_nmarkedconss, __pyx_mstate->__pyx_n_u_proptiming};
    __pyx_mstate_global->__pyx_codeobj_tab[156] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consprop, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[156])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {15, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 76};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints, __pyx_mstate->__pyx_n_u_nrounds, __pyx_mstate->__pyx_n_u_presoltiming, __pyx_mstate->__pyx_n_u_nnewfixedvars, __pyx_mstate->__pyx_n_u_nnewaggrvars, __pyx_mstate->__pyx_n_u_nnewchgvartypes, __pyx_mstate->__pyx_n_u_nnewchgbds, __pyx_mstate->__pyx_n_u_nnewholes, __pyx_mstate->__pyx_n_u_nnewdelconss, __pyx_mstate->__pyx_n_u_nnewaddconss, __pyx_mstate->__pyx_n_u_nnewupgdconss, __pyx_mstate->__pyx_n_u_nnewchgcoefs, __pyx_mstate->__pyx_n_u_nnewchgsides, __pyx_mstate->__pyx_n_u_result_dict};
    __pyx_mstate_global->__pyx_codeobj_tab[157] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_conspresol, __pyx_mstate->__pyx_kp_b_iso88591_A_q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[157])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 82};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[158] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consresprop, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[158])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 86};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraint, __pyx_mstate->__pyx_n_u_locktype, __pyx_mstate->__pyx_n_u_nlockspos, __pyx_mstate->__pyx_n_u_nlocksneg};
    __pyx_mstate_global->__pyx_codeobj_tab[159] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_conslock, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[159])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 90};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraint};
    __pyx_mstate_global->__pyx_codeobj_tab[160] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consactive, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[160])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 94};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraint};
    __pyx_mstate_global->__pyx_codeobj_tab[161] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consdeactive, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[161])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 98};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraint};
    __pyx_mstate_global->__pyx_codeobj_tab[162] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consenable, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[162])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 102};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraint};
    __pyx_mstate_global->__pyx_codeobj_tab[163] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consdisable, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[163])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 106};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraints};
    __pyx_mstate_global->__pyx_codeobj_tab[164] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consdelvars, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[164])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 110};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraint};
    __pyx_mstate_global->__pyx_codeobj_tab[165] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consprint, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[165])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 114};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[166] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_conscopy, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[166])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 118};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[167] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consparse, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[167])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 122};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraint};
    __pyx_mstate_global->__pyx_codeobj_tab[168] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consgetvars, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[168])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 126};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraint};
    __pyx_mstate_global->__pyx_codeobj_tab[169] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consgetnvars, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[169])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 130};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[170] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consgetdivebdchgs, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[170])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 134};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[171] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consgetpermsymgraph, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[171])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 138};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[172] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_conshdlr_pxi, __pyx_mstate->__pyx_n_u_consgetsignedpermsymgraph, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[172])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[173] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_Q_G1F_a_vWE_Q_q_t7_c_V7_q_Qg, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[173])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[174] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_avQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[174])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[175] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_cutsel_pxi, __pyx_mstate->__pyx_n_u_cutselfree, __pyx_mstate->__pyx_kp_b_iso88591__34, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[175])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[176] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_cutsel_pxi, __pyx_mstate->__pyx_n_u_cutselinit, __pyx_mstate->__pyx_kp_b_iso88591__34, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[176])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[177] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_cutsel_pxi, __pyx_mstate->__pyx_n_u_cutselexit, __pyx_mstate->__pyx_kp_b_iso88591__34, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[177])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[178] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_cutsel_pxi, __pyx_mstate->__pyx_n_u_cutselinitsol, __pyx_mstate->__pyx_kp_b_iso88591__34, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[178])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[179] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_cutsel_pxi, __pyx_mstate->__pyx_n_u_cutselexitsol, __pyx_mstate->__pyx_kp_b_iso88591__34, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[179])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cuts, __pyx_mstate->__pyx_n_u_forcedcuts, __pyx_mstate->__pyx_n_u_root, __pyx_mstate->__pyx_n_u_maxnselectedcuts};
    __pyx_mstate_global->__pyx_codeobj_tab[180] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_cutsel_pxi, __pyx_mstate->__pyx_n_u_cutselselect, __pyx_mstate->__pyx_kp_b_iso88591_1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[180])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[181] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_G1F_a_vWE_Q_q_t7_q_t1G_gQ_t1G, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[181])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[182] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_AV1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[182])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[183] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_event_pxi, __pyx_mstate->__pyx_n_u_eventcopy, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[183])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[184] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_event_pxi, __pyx_mstate->__pyx_n_u_eventfree, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[184])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[185] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_event_pxi, __pyx_mstate->__pyx_n_u_eventinit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[185])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[186] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_event_pxi, __pyx_mstate->__pyx_n_u_eventexit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[186])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[187] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_event_pxi, __pyx_mstate->__pyx_n_u_eventinitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[187])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[188] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_event_pxi, __pyx_mstate->__pyx_n_u_eventexitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[188])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[189] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_event_pxi, __pyx_mstate->__pyx_n_u_eventdelete, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[189])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 35};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_event};
    __pyx_mstate_global->__pyx_codeobj_tab[190] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_event_pxi, __pyx_mstate->__pyx_n_u_eventexec, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[190])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[191] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_Q_G1F_a_vWE_Q_q_t7_c_V7_q_awk, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[191])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[192] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_q_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[192])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[193] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_heuristic_pxi, __pyx_mstate->__pyx_n_u_heurfree, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[193])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[194] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_heuristic_pxi, __pyx_mstate->__pyx_n_u_heurinit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[194])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[195] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_heuristic_pxi, __pyx_mstate->__pyx_n_u_heurexit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[195])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[196] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_heuristic_pxi, __pyx_mstate->__pyx_n_u_heurinitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[196])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[197] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_heuristic_pxi, __pyx_mstate->__pyx_n_u_heurexitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[197])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_heurtiming, __pyx_mstate->__pyx_n_u_nodeinfeasible};
    __pyx_mstate_global->__pyx_codeobj_tab[198] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_heuristic_pxi, __pyx_mstate->__pyx_n_u_heurexec, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[198])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[199] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_Q_G1F_a_vWE_Q_q_t7_c_V7_q_T_G, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[199])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[200] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[200])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[201] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_iisfinder_pxi, __pyx_mstate->__pyx_n_u_iisfinderfree, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[201])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[202] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_iisfinder_pxi, __pyx_mstate->__pyx_n_u_iisfinderexec, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[202])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[203] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[203])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[204] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[204])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[205] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_presol_pxi, __pyx_mstate->__pyx_n_u_presolfree, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[205])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[206] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_presol_pxi, __pyx_mstate->__pyx_n_u_presolinit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[206])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[207] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_presol_pxi, __pyx_mstate->__pyx_n_u_presolexit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[207])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[208] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_presol_pxi, __pyx_mstate->__pyx_n_u_presolinitpre, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[208])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[209] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_presol_pxi, __pyx_mstate->__pyx_n_u_presolexitpre, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[209])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nrounds, __pyx_mstate->__pyx_n_u_presoltiming};
    __pyx_mstate_global->__pyx_codeobj_tab[210] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_presol_pxi, __pyx_mstate->__pyx_n_u_presolexec, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[210])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[211] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_G1F_a_vWE_Q_q_t7_q_t1G_gQ_t1G, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[211])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[212] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_AV1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[212])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[213] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_pricer_pxi, __pyx_mstate->__pyx_n_u_pricerfree, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[213])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[214] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_pricer_pxi, __pyx_mstate->__pyx_n_u_pricerinit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[214])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[215] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_pricer_pxi, __pyx_mstate->__pyx_n_u_pricerexit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[215])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[216] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_pricer_pxi, __pyx_mstate->__pyx_n_u_pricerinitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[216])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[217] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_pricer_pxi, __pyx_mstate->__pyx_n_u_pricerexitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[217])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[218] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_pricer_pxi, __pyx_mstate->__pyx_n_u_pricerredcost, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[218])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[219] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_pricer_pxi, __pyx_mstate->__pyx_n_u_pricerfarkas, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[219])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[220] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[220])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[221] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[221])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[222] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_propagator_pxi, __pyx_mstate->__pyx_n_u_propfree, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[222])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[223] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_propagator_pxi, __pyx_mstate->__pyx_n_u_propinit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[223])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[224] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_propagator_pxi, __pyx_mstate->__pyx_n_u_propexit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[224])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[225] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_propagator_pxi, __pyx_mstate->__pyx_n_u_propinitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[225])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_restart};
    __pyx_mstate_global->__pyx_codeobj_tab[226] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_propagator_pxi, __pyx_mstate->__pyx_n_u_propexitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[226])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[227] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_propagator_pxi, __pyx_mstate->__pyx_n_u_propinitpre, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[227])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 30};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[228] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_propagator_pxi, __pyx_mstate->__pyx_n_u_propexitpre, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[228])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 34};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nrounds, __pyx_mstate->__pyx_n_u_presoltiming, __pyx_mstate->__pyx_n_u_result_dict};
    __pyx_mstate_global->__pyx_codeobj_tab[229] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_propagator_pxi, __pyx_mstate->__pyx_n_u_proppresol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[229])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 38};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_proptiming};
    __pyx_mstate_global->__pyx_codeobj_tab[230] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_propagator_pxi, __pyx_mstate->__pyx_n_u_propexec, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[230])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 42};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_confvar, __pyx_mstate->__pyx_n_u_inferinfo, __pyx_mstate->__pyx_n_u_bdtype, __pyx_mstate->__pyx_n_u_relaxedbd};
    __pyx_mstate_global->__pyx_codeobj_tab[231] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_propagator_pxi, __pyx_mstate->__pyx_n_u_propresprop, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[231])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[232] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_G1F_a_vWE_Q_q_t7_q_T_G1_T_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[232])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[233] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[233])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[234] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_sepa_pxi, __pyx_mstate->__pyx_n_u_sepafree, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[234])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[235] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_sepa_pxi, __pyx_mstate->__pyx_n_u_sepainit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[235])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[236] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_sepa_pxi, __pyx_mstate->__pyx_n_u_sepaexit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[236])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[237] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_sepa_pxi, __pyx_mstate->__pyx_n_u_sepainitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[237])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[238] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_sepa_pxi, __pyx_mstate->__pyx_n_u_sepaexitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[238])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[239] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_sepa_pxi, __pyx_mstate->__pyx_n_u_sepaexeclp, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[239])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution};
    __pyx_mstate_global->__pyx_codeobj_tab[240] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_sepa_pxi, __pyx_mstate->__pyx_n_u_sepaexecsol, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[240])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[241] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_Q_G1F_a_vWE_Q_q_t7_c_V7_q_T_G, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[241])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[242] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[242])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[243] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_reader_pxi, __pyx_mstate->__pyx_n_u_readerfree, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[243])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename};
    __pyx_mstate_global->__pyx_codeobj_tab[244] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_reader_pxi, __pyx_mstate->__pyx_n_u_readerread, __pyx_mstate->__pyx_kp_b_iso88591_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[244])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {17, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_file, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_transformed, __pyx_mstate->__pyx_n_u_objsense, __pyx_mstate->__pyx_n_u_objoffset, __pyx_mstate->__pyx_n_u_objscale, __pyx_mstate->__pyx_n_u_binvars, __pyx_mstate->__pyx_n_u_intvars, __pyx_mstate->__pyx_n_u_implvars, __pyx_mstate->__pyx_n_u_contvars, __pyx_mstate->__pyx_n_u_fixedvars, __pyx_mstate->__pyx_n_u_startnvars, __pyx_mstate->__pyx_n_u_conss, __pyx_mstate->__pyx_n_u_maxnconss, __pyx_mstate->__pyx_n_u_startnconss, __pyx_mstate->__pyx_n_u_genericnames};
    __pyx_mstate_global->__pyx_codeobj_tab[245] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_reader_pxi, __pyx_mstate->__pyx_n_u_readerwrite, __pyx_mstate->__pyx_kp_b_iso88591_A_q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[245])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[246] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_Q_G1F_a_vWE_Q_q_t7_c_V7_q_t1G, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[246])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[247] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_AV1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[247])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[248] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_relax_pxi, __pyx_mstate->__pyx_n_u_relaxfree, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[248])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[249] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_relax_pxi, __pyx_mstate->__pyx_n_u_relaxinit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[249])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 15};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[250] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_relax_pxi, __pyx_mstate->__pyx_n_u_relaxexit, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[250])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 19};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[251] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_relax_pxi, __pyx_mstate->__pyx_n_u_relaxinitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[251])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 23};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[252] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_relax_pxi, __pyx_mstate->__pyx_n_u_relaxexitsol, __pyx_mstate->__pyx_kp_b_iso88591_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[252])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 27};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[253] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_relax_pxi, __pyx_mstate->__pyx_n_u_relaxexec, __pyx_mstate->__pyx_kp_b_iso88591_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[253])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[254] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_Q_G1F_a_vWE_Q_q_t7_c_V7_q_d_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[254])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[255] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_1F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[255])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[256] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_nodesel_pxi, __pyx_mstate->__pyx_n_u_nodefree, __pyx_mstate->__pyx_kp_b_iso88591__34, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[256])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[257] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_nodesel_pxi, __pyx_mstate->__pyx_n_u_nodeinit, __pyx_mstate->__pyx_kp_b_iso88591__34, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[257])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 14};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[258] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_nodesel_pxi, __pyx_mstate->__pyx_n_u_nodeexit, __pyx_mstate->__pyx_kp_b_iso88591__34, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[258])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 18};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[259] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_nodesel_pxi, __pyx_mstate->__pyx_n_u_nodeinitsol, __pyx_mstate->__pyx_kp_b_iso88591__34, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[259])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 22};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[260] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_nodesel_pxi, __pyx_mstate->__pyx_n_u_nodeexitsol, __pyx_mstate->__pyx_kp_b_iso88591__34, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[260])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 26};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[261] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_nodesel_pxi, __pyx_mstate->__pyx_n_u_nodeselect, __pyx_mstate->__pyx_kp_b_iso88591_1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[261])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 31};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_node1, __pyx_mstate->__pyx_n_u_node2};
    __pyx_mstate_global->__pyx_codeobj_tab[262] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_nodesel_pxi, __pyx_mstate->__pyx_n_u_nodecomp, __pyx_mstate->__pyx_kp_b_iso88591_1_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[262])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[263] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_T_G1F_a_vWE_Q_q_t7_q_AWKwa_AWKq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[263])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[264] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_QfA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[264])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS), 21};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_ufunc, __pyx_mstate->__pyx_n_u_method, __pyx_mstate->__pyx_n_u_args, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_res, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[265] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_array_ufunc, __pyx_mstate->__pyx_kp_b_iso88591_A_8_a_uN_7_Q_vS_iq_AV1_7_Q_vT_9B, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[265])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 77};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[266] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_evaluate, __pyx_mstate->__pyx_kp_b_iso88591_AV4uARq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[266])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS), 89};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_ufunc, __pyx_mstate->__pyx_n_u_method, __pyx_mstate->__pyx_n_u_args, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[267] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_array_ufunc, __pyx_mstate->__pyx_kp_b_iso88591_A_7_Q_5_a_vS_wat1D_AS_Qa_s_A_wat, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[267])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 98};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u__9};
    __pyx_mstate_global->__pyx_codeobj_tab[268] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_eq, __pyx_mstate->__pyx_kp_b_iso88591_A_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[268])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 107};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[269] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_lambda, __pyx_mstate->__pyx_kp_b_iso88591_0_Jaq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[269])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 118};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_a, __pyx_mstate->__pyx_n_u_b, __pyx_mstate->__pyx_n_u_a_is_1d, __pyx_mstate->__pyx_n_u_b_is_1d, __pyx_mstate->__pyx_n_u_a_nd, __pyx_mstate->__pyx_n_u_b_nd, __pyx_mstate->__pyx_n_u_a_is_num, __pyx_mstate->__pyx_n_u_res};
    __pyx_mstate_global->__pyx_codeobj_tab[270] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_core_dot, __pyx_mstate->__pyx_kp_b_iso88591_q_s_s_AQe2_5_AQhb_V6_A_y_4vV3a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[270])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 155};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_a, __pyx_mstate->__pyx_n_u_x, __pyx_mstate->__pyx_n_u_a_view, __pyx_mstate->__pyx_n_u_m, __pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_res, __pyx_mstate->__pyx_n_u_nonzero, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_j, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[271] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_core_dot_2d, __pyx_mstate->__pyx_kp_b_iso88591_2_t1F_1G3b_B_F_A_Q_2V2S_F_U_1_H, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[271])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 199};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_a, __pyx_mstate->__pyx_n_u_axis, __pyx_mstate->__pyx_n_u_keepdims, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_res, __pyx_mstate->__pyx_n_u_keep_axes, __pyx_mstate->__pyx_n_u_shape, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[272] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_matrix_pxi, __pyx_mstate->__pyx_n_u_core_sum, __pyx_mstate->__pyx_kp_b_iso88591_a_0_Qaz_c_6_s_6_AQ_haq_fAQfF_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[272])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 53};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[273] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_lambda, __pyx_mstate->__pyx_kp_b_iso88591_Ye1Ba, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[273])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 55};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_x};
    __pyx_mstate_global->__pyx_codeobj_tab[274] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_lambda, __pyx_mstate->__pyx_kp_b_iso88591_Ya, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[274])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[275] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_t1G_gQ_t1G, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[275])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[276] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_AV1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[276])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[277] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_5T_GST_5T_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[277])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[278] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_2_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[278])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[279] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_0_AWKwa_0_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[279])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[280] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_QfA_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[280])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[281] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_6d_7_WTU_6d, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[281])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[282] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_31F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[282])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[283] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_t1G_gQ_t1G, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[283])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[284] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_AV1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[284])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[285] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_d_7_WA_d_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[285])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[286] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_1F_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[286])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[287] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_1_Qg_q_1_Qg, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[287])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[288] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_avQ_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[288])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[289] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_34q_QR_34q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[289])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[290] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_0_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[290])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[291] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_5T_GST_5T_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[291])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[292] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_2_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[292])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[293] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_34q_QR_34q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[293])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[294] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_0_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[294])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[295] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_2_awk_PQ_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[295])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[296] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_q_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[296])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[297] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_1_Qg_q_1_Qg, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[297])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[298] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_avQ_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[298])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[299] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_4D_7RS_4D_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[299])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[300] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_1_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[300])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[301] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_2_awk_PQ_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[301])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[302] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_q_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[302])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[303] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_2_awk_PQ_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[303])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[304] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_q_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[304])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[305] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_8_AWKwVW_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[305])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[306] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_5QfA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[306])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[307] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_6d_7_WTU_6d, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[307])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[308] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_31F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[308])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_state, __pyx_mstate->__pyx_n_u_dict_3, __pyx_mstate->__pyx_n_u_use_setstate};
    __pyx_mstate_global->__pyx_codeobj_tab[309] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_A_G1F_a_vWE_Q_q_q_q_2_awk_PQ_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[309])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 16};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[310] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_q_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[310])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 315};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_rc};
    __pyx_mstate_global->__pyx_codeobj_tab[311] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_PY_SCIP_CALL, __pyx_mstate->__pyx_kp_b_iso88591_s_Q_Cq_iq_Cq_k_Cq_gQa_Cq_gQa_Cq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[311])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 381};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[312] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getType, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[312])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 392};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[313] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getName, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_q_z_ha, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[313])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 405};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_attr};
    __pyx_mstate_global->__pyx_codeobj_tab[314] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getEventNames, __pyx_mstate->__pyx_kp_b_iso88591_A_HCq_7_a_z_81, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[314])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 418};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[315] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNewBound, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[315])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 429};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[316] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getOldBound, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[316])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 440};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[317] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVar, __pyx_mstate->__pyx_kp_b_iso88591_A__AT_waq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[317])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 453};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_node};
    __pyx_mstate_global->__pyx_codeobj_tab[318] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNode, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[318])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 465};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row};
    __pyx_mstate_global->__pyx_codeobj_tab[319] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getRow, __pyx_mstate->__pyx_kp_b_iso88591_A__AT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[319])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[320] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[320])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[321] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[321])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 509};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[322] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLPPos, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[322])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 520};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_stat};
    __pyx_mstate_global->__pyx_codeobj_tab[323] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBasisStatus, __pyx_mstate->__pyx_kp_b_iso88591_A_7q_A_5_1_1_Q_1_Q_1_Q_1_1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[323])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 551};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[324] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isIntegral, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[324])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 562};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[325] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVar, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_waq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[325])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 574};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[326] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getPrimsol, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[326])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 585};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[327] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLb, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[327])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 596};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[328] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getUb, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[328])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 607};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[329] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getObjCoeff, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[329])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 618};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[330] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getAge, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[330])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[331] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[331])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[332] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[332])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[333] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[333])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[334] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[334])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 692};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[335] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLhs, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[335])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 703};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[336] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getRhs, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[336])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 714};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[337] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getConstant, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[337])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 725};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[338] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDualsol, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[338])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 736};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[339] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDualfarkas, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[339])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 747};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[340] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLPPos, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[340])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 758};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_stat};
    __pyx_mstate_global->__pyx_codeobj_tab[341] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBasisStatus, __pyx_mstate->__pyx_kp_b_iso88591_A_7q_A_5_1_1_Q_1_Q_1_Q_1A_1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[341])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 790};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[342] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isIntegral, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[342])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 802};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[343] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isLocal, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[343])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 813};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[344] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isModifiable, __pyx_mstate->__pyx_kp_b_iso88591_A_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[344])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 824};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[345] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isRemovable, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[345])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 835};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[346] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isInGlobalCutpool, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[346])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 846};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[347] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getOrigintype, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[347])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 857};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_scip_con};
    __pyx_mstate_global->__pyx_codeobj_tab[348] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getConsOriginConshdlrtype, __pyx_mstate->__pyx_kp_b_iso88591_A_7q_A_uA_G1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[348])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 869};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[349] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNNonz, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[349])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 880};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[350] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNLPNonz, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[350])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 891};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cols, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[351] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getCols, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_wgQd_4t5_Qd_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[351])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 904};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_vals, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[352] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVals, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_q_AS_E_at9A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[352])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 917};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[353] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getAge, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[353])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 928};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[354] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNorm, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[354])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[355] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[355])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[356] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[356])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[357] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[357])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[358] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[358])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1001};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[359] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getConstant, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[359])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1012};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_linvars, __pyx_mstate->__pyx_n_u_lincoefs, __pyx_mstate->__pyx_n_u_nlinvars, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[360] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLinearTerms, __pyx_mstate->__pyx_kp_b_iso88591_A_8_Q_4q_31D_r_hat4uE, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[360])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1027};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[361] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLhs, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[361])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1038};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[362] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getRhs, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[362])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1049};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[363] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDualsol, __pyx_mstate->__pyx_kp_b_iso88591_A_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[363])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[364] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[364])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[365] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[365])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1130};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_method, __pyx_mstate->__pyx_n_u_stage_check};
    __pyx_mstate_global->__pyx_codeobj_tab[366] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_checkStage, __pyx_mstate->__pyx_kp_b_iso88591_A_7_q_at7_K1_t_s_e3e4_1D_sRS_gQb, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[366])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1136};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[367] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getOrigin, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[367])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1146};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[368] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_retransform, __pyx_mstate->__pyx_kp_b_iso88591_A_A_q_G4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[368])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1150};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_target, __pyx_mstate->__pyx_n_u_targetSol, __pyx_mstate->__pyx_n_u_source_vars};
    __pyx_mstate_global->__pyx_codeobj_tab[369] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_translate, __pyx_mstate->__pyx_kp_b_iso88591_A_4z_Cq_1D_t1_oQd_A_xt7_fFR__aaj, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[369])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[370] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[370])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[371] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[371])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1194};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[372] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNewBound, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[372])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1205};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[373] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVar, __pyx_mstate->__pyx_kp_b_iso88591_A_wa_1_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[373])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1216};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[374] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBoundchgtype, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[374])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1228};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[375] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBoundtype, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[375])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1240};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[376] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isRedundant, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[376])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[377] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[377])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[378] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[378])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1281};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nboundchgs, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[379] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBoundchgs, __pyx_mstate->__pyx_kp_b_iso88591_A_5Qd_7_8_1_E_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[379])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[380] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[380])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[381] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[381])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1320};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[382] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getParent, __pyx_mstate->__pyx_kp_b_iso88591_A_7_AT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[382])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1331};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[383] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNumber, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[383])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1342};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[384] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDepth, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[384])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1353};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[385] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getType, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[385])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1364};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[386] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLowerbound, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[386])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1375};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[387] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getEstimate, __pyx_mstate->__pyx_kp_b_iso88591_A_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[387])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1386};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_addedconsssize, __pyx_mstate->__pyx_n_u_addedconss, __pyx_mstate->__pyx_n_u_nconss, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_constraints, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[388] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getAddedConss, __pyx_mstate->__pyx_kp_b_iso88591_A_8_Q_Q_1_nF_A_Qd_l_81_wc_k_1D_E, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[388])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1407};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[389] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNAddedConss, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[389])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1418};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[390] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isActive, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[390])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1429};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[391] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isPropagatedAgain, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[391])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1440};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_dummy_branchvars, __pyx_mstate->__pyx_n_u_dummy_branchbounds, __pyx_mstate->__pyx_n_u_dummy_boundtypes, __pyx_mstate->__pyx_n_u_nbranchvars};
    __pyx_mstate_global->__pyx_codeobj_tab[392] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNParentBranchings, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_AQ_9_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[392])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1461};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nbranchvars, __pyx_mstate->__pyx_n_u_branchvars, __pyx_mstate->__pyx_n_u_branchbounds, __pyx_mstate->__pyx_n_u_boundtypes, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_py_variables, __pyx_mstate->__pyx_n_u_py_branchbounds, __pyx_mstate->__pyx_n_u_py_boundtypes, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[393] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getParentBranchings, __pyx_mstate->__pyx_kp_b_iso88591_A_t_8_s_1_Rq_F_r_F_rQR_1D_L_0_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[393])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1490};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nbranchings, __pyx_mstate->__pyx_n_u_nconsprop, __pyx_mstate->__pyx_n_u_nprop};
    __pyx_mstate_global->__pyx_codeobj_tab[394] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNDomchg, __pyx_mstate->__pyx_kp_b_iso88591_A_4_1M_Qa_Kq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[394])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1507};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_domchg};
    __pyx_mstate_global->__pyx_codeobj_tab[395] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDomchg, __pyx_mstate->__pyx_kp_b_iso88591_A_4AT_7_Q_1_G1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[395])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[396] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[396])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[397] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[397])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1561};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[398] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_kp_b_iso88591_A_y_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[398])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1568};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_vartype};
    __pyx_mstate_global->__pyx_codeobj_tab[399] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_vtype, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_83a_1_S_1_S_1_S_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[399])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1588};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[400] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isBinary, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[400])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1598};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[401] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isIntegral, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[401])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1608};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[402] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isImpliedIntegral, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[402])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1618};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[403] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isNonImpliedIntegral, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[403])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1628};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[404] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getImplType, __pyx_mstate->__pyx_kp_b_iso88591_A_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[404])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1638};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_varstatus};
    __pyx_mstate_global->__pyx_codeobj_tab[405] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getStatus, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_S_1_s_1_s_1_s_1_s_1_s_1_s_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[405])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1664};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[406] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isOriginal, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[406])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1675};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[407] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isActive, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[407])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1686};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[408] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isInLP, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[408])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1697};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[409] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getIndex, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[409])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1708};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_scip_col};
    __pyx_mstate_global->__pyx_codeobj_tab[410] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getCol, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_WAQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[410])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1721};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[411] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLbOriginal, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[411])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1732};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[412] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getUbOriginal, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[412])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1743};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[413] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLbGlobal, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[413])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1754};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[414] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getUbGlobal, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[414])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1765};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[415] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLbLocal, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[415])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1776};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[416] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getUbLocal, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[416])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1787};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[417] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getObj, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[417])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1798};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[418] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLPSol, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[418])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1809};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[419] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getAvgSol, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[419])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1820};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[420] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_markRelaxationOnly, __pyx_mstate->__pyx_kp_b_iso88591_A_a_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[420])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1835};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[421] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isRelaxationOnly, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[421])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1852};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[422] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isDeletable, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[422])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1863};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[423] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isActive, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[423])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1873};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[424] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNLocksDown, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[424])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1884};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[425] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNLocksUp, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[425])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1895};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_locktype};
    __pyx_mstate_global->__pyx_codeobj_tab[426] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNLocksDownType, __pyx_mstate->__pyx_kp_b_iso88591_A_q_Kq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[426])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1911};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_locktype};
    __pyx_mstate_global->__pyx_codeobj_tab[427] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNLocksUpType, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[427])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1927};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_direction, __pyx_mstate->__pyx_n_u_mayround};
    __pyx_mstate_global->__pyx_codeobj_tab[428] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_varMayRound, __pyx_mstate->__pyx_kp_b_iso88591_A_XXQ_A_S_4q_Q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[428])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1950};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_branchdir};
    __pyx_mstate_global->__pyx_codeobj_tab[429] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNBranchings, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[429])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1965};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_branchdir};
    __pyx_mstate_global->__pyx_codeobj_tab[430] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNBranchingsCurrentRun, __pyx_mstate->__pyx_kp_b_iso88591_A_at_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[430])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[431] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[431])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[432] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[432])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1983};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_vtypes, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[433] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_vtype, __pyx_mstate->__pyx_kp_b_iso88591_A_6_hfA_G2XQd_7_at6_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[433])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1998};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_in_lp, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[434] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isInLP, __pyx_mstate->__pyx_kp_b_iso88591_A_XV1_G2XQd_Qd_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[434])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2014};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_indices, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[435] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getIndex, __pyx_mstate->__pyx_kp_b_iso88591_A_F_4xvQ_G2XQd_1G4q_IQ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[435])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2028};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_columns, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[436] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getCol, __pyx_mstate->__pyx_kp_b_iso88591_A_F_4xvQ_G2XQd_1G4q_G1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[436])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2043};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lbs, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[437] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLbOriginal, __pyx_mstate->__pyx_kp_b_iso88591_A_b_at86_G2XQd_q_t1D_a_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[437])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2057};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_ubs, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[438] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getUbOriginal, __pyx_mstate->__pyx_kp_b_iso88591_A_b_at86_G2XQd_q_t1D_a_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[438])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2071};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lbs, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[439] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLbGlobal, __pyx_mstate->__pyx_kp_b_iso88591_A_b_at86_G2XQd_q_t1D_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[439])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2085};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_ubs, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[440] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getUbGlobal, __pyx_mstate->__pyx_kp_b_iso88591_A_b_at86_G2XQd_q_t1D_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[440])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2099};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lbs, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[441] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLbLocal, __pyx_mstate->__pyx_kp_b_iso88591_A_b_at86_G2XQd_q_t1D_1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[441])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2113};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_ubs, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[442] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getUbLocal, __pyx_mstate->__pyx_kp_b_iso88591_A_b_at86_G2XQd_q_t1D_1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[442])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2127};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_objs, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[443] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getObj, __pyx_mstate->__pyx_kp_b_iso88591_A_r_q_HF_G2XQd_AT_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[443])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2141};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lpsols, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[444] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLPSol, __pyx_mstate->__pyx_kp_b_iso88591_A_6_hfA_G2XQd_7_at9A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[444])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2155};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_avgsols, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[445] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getAvgSol, __pyx_mstate->__pyx_kp_b_iso88591_A_F_4xvQ_G2XQd_1G4q_Ja_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[445])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2169};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_direction, __pyx_mstate->__pyx_n_u_mayround, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[446] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_varMayRound, __pyx_mstate->__pyx_kp_b_iso88591_2V1D_a_G2XQd_AWD_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[446])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2221};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[447] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_kp_b_iso88591_A_y_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[447])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2227};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[448] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isOriginal, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[448])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2238};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[449] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isInitial, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[449])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2249};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[450] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isSeparated, __pyx_mstate->__pyx_kp_b_iso88591_A_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[450])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2260};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[451] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isEnforced, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[451])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2271};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[452] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isChecked, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[452])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2282};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[453] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isPropagated, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[453])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2293};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[454] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isLocal, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[454])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2304};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[455] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isModifiable, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[455])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2315};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[456] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isDynamic, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[456])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2326};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[457] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isRemovable, __pyx_mstate->__pyx_kp_b_iso88591_A_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[457])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2337};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[458] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isStickingAtNode, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[458])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2348};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[459] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isActive, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[459])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2359};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constype};
    __pyx_mstate_global->__pyx_codeobj_tab[460] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isLinear, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_y_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[460])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2371};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constype};
    __pyx_mstate_global->__pyx_codeobj_tab[461] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isKnapsack, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_y_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[461])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2384};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constype};
    __pyx_mstate_global->__pyx_codeobj_tab[462] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isLinearType, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_y_Jl_Kq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[462])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2396};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constype};
    __pyx_mstate_global->__pyx_codeobj_tab[463] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isNonlinear, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_y_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[463])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2408};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constype};
    __pyx_mstate_global->__pyx_codeobj_tab[464] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getConshdlrName, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[464])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[465] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[465])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[466] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[466])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2429};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[467] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isInitial, __pyx_mstate->__pyx_kp_b_iso88591_A_F_4xvQ_G2XQa_1G4q_Ja_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[467])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2443};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_separated, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[468] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isSeparated, __pyx_mstate->__pyx_kp_b_iso88591_A_BfAT_q_G2XQa_QgT_l_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[468])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2457};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_enforced, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[469] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isEnforced, __pyx_mstate->__pyx_kp_b_iso88591_A_2V1D_a_G2XQa_AWD_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[469])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2471};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_checked, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[470] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isChecked, __pyx_mstate->__pyx_kp_b_iso88591_A_F_4xvQ_G2XQa_1G4q_IQ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[470])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2485};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_propagated, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[471] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isPropagated, __pyx_mstate->__pyx_kp_b_iso88591_A_RvQd_G2XQa_awd_4_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[471])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2499};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[472] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isLocal, __pyx_mstate->__pyx_kp_b_iso88591_A_XV1_G2XQa_Qd_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[472])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2513};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_modifiable, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[473] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isModifiable, __pyx_mstate->__pyx_kp_b_iso88591_A_RvQd_G2XQa_awd_4_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[473])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2527};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[474] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isDynamic, __pyx_mstate->__pyx_kp_b_iso88591_A_F_4xvQ_G2XQa_1G4q_Ja_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[474])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2541};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[475] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isRemovable, __pyx_mstate->__pyx_kp_b_iso88591_A_BfAT_q_G2XQa_QgT_l_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[475])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2555};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[476] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isStickingAtNode, __pyx_mstate->__pyx_kp_b_iso88591_A_6_hfA_G2XQa_7_at_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[476])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2569};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_active, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[477] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isActive, __pyx_mstate->__pyx_kp_b_iso88591_A_6_hfA_G2XQa_7_at9A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[477])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2583};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_islinear, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[478] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isLinear, __pyx_mstate->__pyx_kp_b_iso88591_A_2V1D_a_G2XQa_AWD_Ya_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[478])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2597};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_isnonlinear, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[479] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isNonlinear, __pyx_mstate->__pyx_kp_b_iso88591_A_b_at86_G2XQa_q_t1D_A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[479])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2611};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_idx};
    __pyx_mstate_global->__pyx_codeobj_tab[480] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getConshdlrName, __pyx_mstate->__pyx_kp_b_iso88591_A_r_q_HF_G2XQa_AT_1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[480])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[481] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[481])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[482] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[482])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2693};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[483] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getTime, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[483])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2703};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[484] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isSubscipIrreducible, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[484])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2713};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[485] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isSubscipInfeasible, __pyx_mstate->__pyx_kp_b_iso88591_A_a_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[485])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2723};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_irreducible};
    __pyx_mstate_global->__pyx_codeobj_tab[486] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setSubscipIrreducible, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[486])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2735};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_infeasible};
    __pyx_mstate_global->__pyx_codeobj_tab[487] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setSubscipInfeasible, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[487])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2747};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[488] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNNodes, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[488])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2758};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_subscip, __pyx_mstate->__pyx_n_u_model};
    __pyx_mstate_global->__pyx_codeobj_tab[489] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getSubscip, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_WAQ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[489])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2772};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[490] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_greedyMakeIrreducible, __pyx_mstate->__pyx_kp_b_iso88591_A_1_0_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[490])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[491] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[491])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[492] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[492])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 2846};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_callback, __pyx_mstate->__pyx_n_u_events, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_description, __pyx_mstate->__pyx_n_u_model, __pyx_mstate->__pyx_n_u_EventHandler, __pyx_mstate->__pyx_n_u_event_handler};
    __pyx_mstate_global->__pyx_codeobj_tab[493] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_attachEventHandlerCallback, __pyx_mstate->__pyx_kp_b_iso88591_A_0_1_AQ_5_1_4q_QoV1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[493])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3004};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_capsule, __pyx_mstate->__pyx_n_u_take_ownership, __pyx_mstate->__pyx_n_u_model};
    __pyx_mstate_global->__pyx_codeobj_tab[494] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_from_ptr, __pyx_mstate->__pyx_kp_b_iso88591_A_4_AQ_WAW_8_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[494])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3029};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_give_ownership, __pyx_mstate->__pyx_n_u_capsule};
    __pyx_mstate_global->__pyx_codeobj_tab[495] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_to_ptr, __pyx_mstate->__pyx_kp_b_iso88591_A_q_t881_1_Q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[495])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3052};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[496] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeDefaultPlugins, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[496])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3056};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_problemName, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[497] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_createProbBasic, __pyx_mstate->__pyx_kp_b_iso88591_N_1_A_XQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[497])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3069};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[498] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_freeProb, __pyx_mstate->__pyx_kp_b_iso88591_A_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[498])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3073};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_origvars, __pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_origconss, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_ptr, __pyx_mstate->__pyx_n_u_cons};
    __pyx_mstate_global->__pyx_codeobj_tab[499] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_freeTransform, __pyx_mstate->__pyx_kp_b_iso88591_A_4y_81_A_4yPQ_1E_T_gT_F_S_VW_E, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[499])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3101};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[500] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_version, __pyx_mstate->__pyx_kp_b_iso88591_A_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[500])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3112};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[501] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getMajorVersion, __pyx_mstate->__pyx_kp_b_iso88591_A_q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[501])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3123};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[502] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getMinorVersion, __pyx_mstate->__pyx_kp_b_iso88591_A_q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[502])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3134};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[503] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getTechVersion, __pyx_mstate->__pyx_kp_b_iso88591_A_a_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[503])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3145};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_user_locale};
    __pyx_mstate_global->__pyx_codeobj_tab[504] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_printVersion, __pyx_mstate->__pyx_kp_b_iso88591_A_fJay_a_j_A_XQ_j_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[504])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3154};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_user_locale};
    __pyx_mstate_global->__pyx_codeobj_tab[505] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_printExternalCodeVersions, __pyx_mstate->__pyx_kp_b_iso88591_A_fJay_a_j_A_at81_j_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[505])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3163};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[506] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getProbName, __pyx_mstate->__pyx_kp_b_iso88591_A_uA_AT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[506])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3174};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[507] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getTotalTime, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[507])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3186};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[508] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getSolvingTime, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[508])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3197};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[509] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getReadingTime, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[509])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3208};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[510] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getPresolvingTime, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[510])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3219};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[511] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNLPIterations, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[511])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3230};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[512] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNNodes, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[512])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3241};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[513] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNTotalNodes, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[513])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3252};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[514] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNFeasibleLeaves, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[514])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3263};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[515] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNInfeasibleLeaves, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[515])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3274};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[516] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNLeaves, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[516])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3285};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[517] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNChildren, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[517])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3296};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[518] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNSiblings, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[518])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3307};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[519] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getCurrentNode, __pyx_mstate->__pyx_kp_b_iso88591_A_7_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[519])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3318};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[520] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getGap, __pyx_mstate->__pyx_kp_b_iso88591_A_z_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[520])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3330};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[521] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDepth, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[521])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3341};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[522] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getMaxDepth, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[522])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3352};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[523] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getPlungeDepth, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[523])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3363};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[524] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLowerbound, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[524])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3374};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[525] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getCutoffbound, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[525])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3385};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[526] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNNodeLPIterations, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[526])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3396};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[527] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNStrongbranchLPIterations, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[527])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3407};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[528] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getPrimalDualIntegral, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[528])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3417};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_node};
    __pyx_mstate_global->__pyx_codeobj_tab[529] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_cutoffNode, __pyx_mstate->__pyx_kp_b_iso88591_A_BnAT_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[529])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3427};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[530] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_infinity, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[530])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3438};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[531] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_epsilon, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[531])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3449};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[532] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_feastol, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[532])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3460};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[533] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_feasFrac, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[533])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3475};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[534] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_frac, __pyx_mstate->__pyx_kp_b_iso88591_A_xq_HA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[534])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3490};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[535] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_feasFloor, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[535])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3505};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[536] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_feasCeil, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[536])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3520};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[537] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_feasRound, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[537])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3535};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[538] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isZero, __pyx_mstate->__pyx_kp_b_iso88591_A_z_ha, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[538])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3550};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[539] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isFeasZero, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[539])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3565};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[540] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isInfinity, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[540])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3580};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[541] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isFeasNegative, __pyx_mstate->__pyx_kp_b_iso88591_A_ha, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[541])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3595};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[542] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isFeasPositive, __pyx_mstate->__pyx_kp_b_iso88591_A_ha, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[542])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3610};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[543] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isFeasIntegral, __pyx_mstate->__pyx_kp_b_iso88591_A_ha, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[543])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3625};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[544] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isIntegral, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[544])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3641};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_lb};
    __pyx_mstate_global->__pyx_codeobj_tab[545] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_adjustedVarLb, __pyx_mstate->__pyx_kp_b_iso88591_A_XS_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[545])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3661};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_ub};
    __pyx_mstate_global->__pyx_codeobj_tab[546] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_adjustedVarUb, __pyx_mstate->__pyx_kp_b_iso88591_A_XS_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[546])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3681};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val1, __pyx_mstate->__pyx_n_u_val2};
    __pyx_mstate_global->__pyx_codeobj_tab[547] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isEQ, __pyx_mstate->__pyx_kp_b_iso88591_A_xq_HF, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[547])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3697};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val1, __pyx_mstate->__pyx_n_u_val2};
    __pyx_mstate_global->__pyx_codeobj_tab[548] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isFeasEQ, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[548])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3713};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val1, __pyx_mstate->__pyx_n_u_val2};
    __pyx_mstate_global->__pyx_codeobj_tab[549] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isFeasLT, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[549])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3729};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val1, __pyx_mstate->__pyx_n_u_val2};
    __pyx_mstate_global->__pyx_codeobj_tab[550] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isFeasLE, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[550])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3745};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val1, __pyx_mstate->__pyx_n_u_val2};
    __pyx_mstate_global->__pyx_codeobj_tab[551] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isFeasGT, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[551])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3761};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val1, __pyx_mstate->__pyx_n_u_val2};
    __pyx_mstate_global->__pyx_codeobj_tab[552] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isFeasGE, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[552])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3777};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val1, __pyx_mstate->__pyx_n_u_val2};
    __pyx_mstate_global->__pyx_codeobj_tab[553] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isLE, __pyx_mstate->__pyx_kp_b_iso88591_A_xq_HF, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[553])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3793};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val1, __pyx_mstate->__pyx_n_u_val2};
    __pyx_mstate_global->__pyx_codeobj_tab[554] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isLT, __pyx_mstate->__pyx_kp_b_iso88591_A_xq_HF, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[554])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3809};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val1, __pyx_mstate->__pyx_n_u_val2};
    __pyx_mstate_global->__pyx_codeobj_tab[555] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isGE, __pyx_mstate->__pyx_kp_b_iso88591_A_xq_HF, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[555])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3825};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val1, __pyx_mstate->__pyx_n_u_val2};
    __pyx_mstate_global->__pyx_codeobj_tab[556] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isGT, __pyx_mstate->__pyx_kp_b_iso88591_A_xq_HF, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[556])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3841};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val};
    __pyx_mstate_global->__pyx_codeobj_tab[557] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isHugeValue, __pyx_mstate->__pyx_kp_b_iso88591_A_at81, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[557])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3857};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val};
    __pyx_mstate_global->__pyx_codeobj_tab[558] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isPositive, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[558])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3872};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_val};
    __pyx_mstate_global->__pyx_codeobj_tab[559] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isNegative, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[559])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3887};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_exact, __pyx_mstate->__pyx_n_u_lpi, __pyx_mstate->__pyx_n_u_quality};
    __pyx_mstate_global->__pyx_codeobj_tab[560] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getCondition, __pyx_mstate->__pyx_kp_b_iso88591_AZq_HAQ_1_1_7YYZZ_1_7YYZZ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[560])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3911};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_enable};
    __pyx_mstate_global->__pyx_codeobj_tab[561] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_enableReoptimization, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[561])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3923};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lpi, __pyx_mstate->__pyx_n_u_iters};
    __pyx_mstate_global->__pyx_codeobj_tab[562] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_lpiGetIterations, __pyx_mstate->__pyx_kp_b_iso88591_A_AZq_HAQ_A_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[562])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3941};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[563] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setMinimize, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[563])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3945};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[564] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setMaximize, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[564])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3949};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_objlimit};
    __pyx_mstate_global->__pyx_codeobj_tab[565] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setObjlimit, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[565])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3962};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[566] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getObjlimit, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[566])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3973};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_sense, __pyx_mstate->__pyx_n_u_clear, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_coef, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_wrapper, __pyx_mstate->__pyx_n_u_term};
    __pyx_mstate_global->__pyx_codeobj_tab[567] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setObjective, __pyx_mstate->__pyx_kp_b_iso88591_Q_4z_Qh___ccmmn_4s_A_4wc_1_AQ_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[567])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4026};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_variables_2, __pyx_mstate->__pyx_n_u_objective, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_coeff};
    __pyx_mstate_global->__pyx_codeobj_tab[568] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getObjective, __pyx_mstate->__pyx_kp_b_iso88591_A_D_D_G1_Cwa_vS_V2Q_1_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[568])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4044};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_offset, __pyx_mstate->__pyx_n_u_solutions};
    __pyx_mstate_global->__pyx_codeobj_tab[569] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addObjoffset, __pyx_mstate->__pyx_kp_b_iso88591_q_1_ha_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[569])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4061};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_original};
    __pyx_mstate_global->__pyx_codeobj_tab[570] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getObjoffset, __pyx_mstate->__pyx_kp_b_iso88591_a_1_q_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[570])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4080};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[571] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setObjIntegral, __pyx_mstate->__pyx_kp_b_iso88591_A_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[571])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4093};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[572] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isObjIntegral, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[572])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4104};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_original};
    __pyx_mstate_global->__pyx_codeobj_tab[573] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLocalEstimate, __pyx_mstate->__pyx_kp_b_iso88591_1_1D_AT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[573])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4124};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_setting};
    __pyx_mstate_global->__pyx_codeobj_tab[574] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setPresolve, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at89A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[574])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4137};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[575] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setProbName, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_A_AT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[575])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4149};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_setting};
    __pyx_mstate_global->__pyx_codeobj_tab[576] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setSeparating, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at89A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[576])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4161};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_setting};
    __pyx_mstate_global->__pyx_codeobj_tab[577] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setHeuristics, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at89A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[577])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4173};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_heurname, __pyx_mstate->__pyx_n_u_heurtiming, __pyx_mstate->__pyx_n_u_heur_2, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[578] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setHeurTiming, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_AT_6_A_A_Rq_QgQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[578])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4190};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_heurname, __pyx_mstate->__pyx_n_u_heur_2, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[579] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getHeurTiming, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_AT_6_A_A_Rq_AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[579])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4210};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_onlyroot};
    __pyx_mstate_global->__pyx_codeobj_tab[580] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_disablePropagation, __pyx_mstate->__pyx_kp_b_iso88591_L_6a_4q_A_6a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[580])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4224};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_ext, __pyx_mstate->__pyx_n_u_trans, __pyx_mstate->__pyx_n_u_genericnames, __pyx_mstate->__pyx_n_u_user_locale};
    __pyx_mstate_global->__pyx_codeobj_tab[581] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_printProblem, __pyx_mstate->__pyx_kp_b_iso88591_A_fJay_a_j_A_1_at86_qPTTUUZZ_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[581])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 10, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4250};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_trans, __pyx_mstate->__pyx_n_u_genericnames, __pyx_mstate->__pyx_n_u_verbose, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_str_absfile, __pyx_mstate->__pyx_n_u_absfile, __pyx_mstate->__pyx_n_u_fn, __pyx_mstate->__pyx_n_u_ext};
    __pyx_mstate_global->__pyx_codeobj_tab[582] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_writeProblem, __pyx_mstate->__pyx_kp_b_iso88591_77K_Z_fJay_a_j_A_1_nAQ_haq_s_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[582])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {9, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4297};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_vtype, __pyx_mstate->__pyx_n_u_lb, __pyx_mstate->__pyx_n_u_ub, __pyx_mstate->__pyx_n_u_obj, __pyx_mstate->__pyx_n_u_pricedVar, __pyx_mstate->__pyx_n_u_pricedVarScore, __pyx_mstate->__pyx_n_u_deletable, __pyx_mstate->__pyx_n_u_scip_var, __pyx_mstate->__pyx_n_u_cname, __pyx_mstate->__pyx_n_u_pyVar};
    __pyx_mstate_global->__pyx_codeobj_tab[583] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addVar, __pyx_mstate->__pyx_kp_b_iso88591_HHJoMccrrs_5_1_3as_q_G1A_aq_3c, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[583])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {9, 0, 0, 19, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4368};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_shape, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_vtype, __pyx_mstate->__pyx_n_u_lb, __pyx_mstate->__pyx_n_u_ub, __pyx_mstate->__pyx_n_u_obj, __pyx_mstate->__pyx_n_u_pricedVar, __pyx_mstate->__pyx_n_u_pricedVarScore, __pyx_mstate->__pyx_n_u_ndim, __pyx_mstate->__pyx_n_u_matrix_variable, __pyx_mstate->__pyx_n_u_matrix_names, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_matrix_vtypes, __pyx_mstate->__pyx_n_u_matrix_lbs, __pyx_mstate->__pyx_n_u_matrix_ubs, __pyx_mstate->__pyx_n_u_matrix_objs, __pyx_mstate->__pyx_n_u_matrix_priced_vars, __pyx_mstate->__pyx_n_u_matrix_priced_var_scores};
    __pyx_mstate_global->__pyx_codeobj_tab[584] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addMatrixVar, __pyx_mstate->__pyx_kp_b_iso88591_A_4A_5Q_q_q_EQ_QfBa_4wc_QgRq_5_s, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[584])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4475};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_tvar};
    __pyx_mstate_global->__pyx_codeobj_tab[585] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getTransformedVar, __pyx_mstate->__pyx_kp_b_iso88591_A_A_4xs_Qa_t_1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[585])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4493};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_nlocksdown, __pyx_mstate->__pyx_n_u_nlocksup};
    __pyx_mstate_global->__pyx_codeobj_tab[586] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addVarLocks, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT_K_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[586])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4509};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_locktype, __pyx_mstate->__pyx_n_u_nlocksdown, __pyx_mstate->__pyx_n_u_nlocksup};
    __pyx_mstate_global->__pyx_codeobj_tab[587] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addVarLocksType, __pyx_mstate->__pyx_kp_b_iso88591_A_A_XS_YZ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[587])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4527};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_val, __pyx_mstate->__pyx_n_u_infeasible, __pyx_mstate->__pyx_n_u_fixed};
    __pyx_mstate_global->__pyx_codeobj_tab[588] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_fixVar, __pyx_mstate->__pyx_kp_b_iso88591_A_AZq_HC_q_AQ_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[588])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4551};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_deleted};
    __pyx_mstate_global->__pyx_codeobj_tab[589] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_delVar, __pyx_mstate->__pyx_kp_b_iso88591_A_D_1Ct1_AZq_HC_1_q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[589])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4573};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_varx, __pyx_mstate->__pyx_n_u_vary, __pyx_mstate->__pyx_n_u_coefx, __pyx_mstate->__pyx_n_u_coefy, __pyx_mstate->__pyx_n_u_rhs, __pyx_mstate->__pyx_n_u_infeasible, __pyx_mstate->__pyx_n_u_redundant, __pyx_mstate->__pyx_n_u_aggregated};
    __pyx_mstate_global->__pyx_codeobj_tab[590] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_aggregateVars, __pyx_mstate->__pyx_kp_b_iso88591_UVb_A_at1_Q_Q_Q_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[590])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4633};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_lb, __pyx_mstate->__pyx_n_u_force, __pyx_mstate->__pyx_n_u_infeasible, __pyx_mstate->__pyx_n_u_tightened};
    __pyx_mstate_global->__pyx_codeobj_tab[591] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_tightenVarLb, __pyx_mstate->__pyx_kp_b_iso88591_31_A_Qd_G1LXYYZ_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[591])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4659};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_ub, __pyx_mstate->__pyx_n_u_force, __pyx_mstate->__pyx_n_u_infeasible, __pyx_mstate->__pyx_n_u_tightened};
    __pyx_mstate_global->__pyx_codeobj_tab[592] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_tightenVarUb, __pyx_mstate->__pyx_kp_b_iso88591_31_A_Qd_G1LXYYZ_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[592])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4685};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_ub, __pyx_mstate->__pyx_n_u_force, __pyx_mstate->__pyx_n_u_infeasible, __pyx_mstate->__pyx_n_u_tightened};
    __pyx_mstate_global->__pyx_codeobj_tab[593] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_tightenVarUbGlobal, __pyx_mstate->__pyx_kp_b_iso88591_9_A_1D_d_QRR____1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[593])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4711};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_lb, __pyx_mstate->__pyx_n_u_force, __pyx_mstate->__pyx_n_u_infeasible, __pyx_mstate->__pyx_n_u_tightened};
    __pyx_mstate_global->__pyx_codeobj_tab[594] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_tightenVarLbGlobal, __pyx_mstate->__pyx_kp_b_iso88591_9_A_1D_d_QRR____1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[594])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4736};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_lb};
    __pyx_mstate_global->__pyx_codeobj_tab[595] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarLb, __pyx_mstate->__pyx_kp_b_iso88591_A_3c_Qd_A_hc_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[595])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4752};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_ub};
    __pyx_mstate_global->__pyx_codeobj_tab[596] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarUb, __pyx_mstate->__pyx_kp_b_iso88591_A_3c_AT_A_hc_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[596])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4767};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_lb};
    __pyx_mstate_global->__pyx_codeobj_tab[597] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarLbGlobal, __pyx_mstate->__pyx_kp_b_iso88591_A_3c_Qd_A_q_HC, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[597])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4782};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_ub};
    __pyx_mstate_global->__pyx_codeobj_tab[598] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarUbGlobal, __pyx_mstate->__pyx_kp_b_iso88591_A_3c_AT_A_q_HC, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[598])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4797};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_node, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_lb};
    __pyx_mstate_global->__pyx_codeobj_tab[599] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarLbNode, __pyx_mstate->__pyx_kp_b_iso88591_A_3c_Qd_A_Qd_l_PQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[599])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4815};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_node, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_ub};
    __pyx_mstate_global->__pyx_codeobj_tab[600] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarUbNode, __pyx_mstate->__pyx_kp_b_iso88591_A_3c_AT_A_Qd_l_PQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[600])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4832};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_vtype, __pyx_mstate->__pyx_n_u_infeasible};
    __pyx_mstate_global->__pyx_codeobj_tab[601] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarType, __pyx_mstate->__pyx_kp_b_iso88591_A_6_U_q_HC_B_4uA_q_HC_BWWXXY_4uA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[601])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4859};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[602] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_markDoNotAggrVar, __pyx_mstate->__pyx_kp_b_iso88591_A_A_hc, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[602])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4870};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[603] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_markDoNotMultaggrVar, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Qd_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[603])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4881};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_transformed, __pyx_mstate->__pyx_n_u_vars_2, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_vars};
    __pyx_mstate_global->__pyx_codeobj_tab[604] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVars, __pyx_mstate->__pyx_kp_b_iso88591_q_1_Kq_A_L_Q_O1D_AT_E_aq_q_AU_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[604])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4912};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_transformed};
    __pyx_mstate_global->__pyx_codeobj_tab[605] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNVars, __pyx_mstate->__pyx_kp_b_iso88591_1_1_q_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[605])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4931};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[606] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNIntVars, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[606])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4942};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[607] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNBinVars, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[607])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4953};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[608] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNImplVars, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[608])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4964};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[609] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNContVars, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[609])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4975};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_transformed, __pyx_mstate->__pyx_n_u_var_dict, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[610] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVarDict, __pyx_mstate->__pyx_kp_b_iso88591_Q_1_G4xq_A_AS_WAQ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[610])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4994};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_solVal};
    __pyx_mstate_global->__pyx_codeobj_tab[611] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVarPseudocostScore, __pyx_mstate->__pyx_kp_b_iso88591_A_XS_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[611])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5011};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_branchdir};
    __pyx_mstate_global->__pyx_codeobj_tab[612] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVarPseudocost, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_a_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[612])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5028};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_node, __pyx_mstate->__pyx_n_u_lb};
    __pyx_mstate_global->__pyx_codeobj_tab[613] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_updateNodeLowerbound, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Qd_l, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[613])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5043};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[614] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_relax, __pyx_mstate->__pyx_kp_b_iso88591_A_4y_3a_G4xq_1E, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[614])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5052};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[615] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBestChild, __pyx_mstate->__pyx_kp_b_iso88591_A_7_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[615])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5063};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_children_2, __pyx_mstate->__pyx_n_u_n_children, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[616] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getChildren, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT_Qa_uG1IQd_e5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[616])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5080};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_siblings, __pyx_mstate->__pyx_n_u_n_siblings, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[617] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getSiblings, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT_Qa_uG1IQd_e5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[617])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5097};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_leaves, __pyx_mstate->__pyx_n_u_n_leaves, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[618] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLeaves, __pyx_mstate->__pyx_kp_b_iso88591_A_A_4xq_uG1G1D_E_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[618])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5114};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[619] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBestSibling, __pyx_mstate->__pyx_kp_b_iso88591_A_7_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[619])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5125};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[620] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getPrioChild, __pyx_mstate->__pyx_kp_b_iso88591_A_7_1D_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[620])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5137};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[621] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getPrioSibling, __pyx_mstate->__pyx_kp_b_iso88591_A_7_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[621])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5148};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[622] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBestLeaf, __pyx_mstate->__pyx_kp_b_iso88591_A_7_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[622])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5158};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[623] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBestNode, __pyx_mstate->__pyx_kp_b_iso88591_A_7_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[623])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5168};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[624] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBestboundNode, __pyx_mstate->__pyx_kp_b_iso88591_A_7_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[624])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5178};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_leaves, __pyx_mstate->__pyx_n_u_children_2, __pyx_mstate->__pyx_n_u_siblings, __pyx_mstate->__pyx_n_u_nleaves, __pyx_mstate->__pyx_n_u_nchildren_2, __pyx_mstate->__pyx_n_u_nsiblings, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_leaves_2, __pyx_mstate->__pyx_n_u_children, __pyx_mstate->__pyx_n_u_siblings_2, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[625] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getOpenNodes, __pyx_mstate->__pyx_kp_b_iso88591_A_A_hay_A_XYYccddppqqr_5_q_q_D_U, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[625])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5208};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_node};
    __pyx_mstate_global->__pyx_codeobj_tab[626] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_repropagateNode, __pyx_mstate->__pyx_kp_b_iso88591_A_A_XT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[626])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5213};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[627] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLPSolstat, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[627])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5224};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cutoff};
    __pyx_mstate_global->__pyx_codeobj_tab[628] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_constructLP, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[628])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5240};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[629] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLPObjVal, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[629])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5252};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cols, __pyx_mstate->__pyx_n_u_ncols, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[630] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLPColsData, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at81F_1_wgQd_4t5_Qa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[630])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5269};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_rows, __pyx_mstate->__pyx_n_u_nrows, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[631] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLPRowsData, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at81F_1_t7_4q_D_U_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[631])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5286};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[632] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNLPRows, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[632])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5297};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[633] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNLPCols, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[633])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5308};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nrows, __pyx_mstate->__pyx_n_u_inds, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_result, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[634] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLPBasisInd, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_q_b_A_at81_as_e5_AQ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[634])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5328};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row, __pyx_mstate->__pyx_n_u_nrows, __pyx_mstate->__pyx_n_u_coefs, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_result, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[635] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLPBInvRow, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_V1F_A_A_Qd_wfA_q_4uE_AQ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[635])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5353};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row, __pyx_mstate->__pyx_n_u_ncols, __pyx_mstate->__pyx_n_u_coefs, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_result, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[636] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLPBInvARow, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A_V1F_A_A_at85_gV1_q_4uE_AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[636])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5378};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[637] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isLPSolBasic, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[637])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5389};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[638] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_allColsInLP, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[638])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5403};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_col};
    __pyx_mstate_global->__pyx_codeobj_tab[639] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getColRedCost, __pyx_mstate->__pyx_kp_b_iso88591_A_XS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[639])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {8, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5420};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sepa, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_lhs, __pyx_mstate->__pyx_n_u_rhs, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_modifiable, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_row, __pyx_mstate->__pyx_n_u_scip_sepa, __pyx_mstate->__pyx_n_u_PyRow};
    __pyx_mstate_global->__pyx_codeobj_tab[640] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_createEmptyRowSepa, __pyx_mstate->__pyx_kp_b_iso88591_1_k_Wjj_6_q_AT_D_Q_1D_4s_A_L_X, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[640])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5454};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_lhs, __pyx_mstate->__pyx_n_u_rhs, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_modifiable, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_row, __pyx_mstate->__pyx_n_u_PyRow};
    __pyx_mstate_global->__pyx_codeobj_tab[641] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_createEmptyRowUnspec, __pyx_mstate->__pyx_kp_b_iso88591_Naattu2_q_AT_D_Q_1D_4s_A_A_Qd_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[641])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5485};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row};
    __pyx_mstate_global->__pyx_codeobj_tab[642] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getRowActivity, __pyx_mstate->__pyx_kp_b_iso88591_A_hc, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[642])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5500};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row};
    __pyx_mstate_global->__pyx_codeobj_tab[643] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getRowLPActivity, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[643])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5516};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row};
    __pyx_mstate_global->__pyx_codeobj_tab[644] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_releaseRow, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[644])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5527};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row};
    __pyx_mstate_global->__pyx_codeobj_tab[645] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_cacheRowExtensions, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[645])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5543};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row};
    __pyx_mstate_global->__pyx_codeobj_tab[646] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_flushRowExtensions, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D_1_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[646])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5555};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[647] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addVarToRow, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT_Ks_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[647])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5571};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row};
    __pyx_mstate_global->__pyx_codeobj_tab[648] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_printRow, __pyx_mstate->__pyx_kp_b_iso88591_A_A_hc_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[648])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5582};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row};
    __pyx_mstate_global->__pyx_codeobj_tab[649] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getRowNumIntCols, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[649])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5597};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row};
    __pyx_mstate_global->__pyx_codeobj_tab[650] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getRowObjParallelism, __pyx_mstate->__pyx_kp_b_iso88591_A_q_HCq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[650])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5612};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row1, __pyx_mstate->__pyx_n_u_row2, __pyx_mstate->__pyx_n_u_orthofunc};
    __pyx_mstate_global->__pyx_codeobj_tab[651] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getRowParallelism, __pyx_mstate->__pyx_kp_b_iso88591_a_AT_D_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[651])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5632};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row};
    __pyx_mstate_global->__pyx_codeobj_tab[652] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getRowDualSol, __pyx_mstate->__pyx_kp_b_iso88591_A_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[652])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5648};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row};
    __pyx_mstate_global->__pyx_codeobj_tab[653] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addPoolCut, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D_1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[653])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5659};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cut, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[654] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getCutEfficacy, __pyx_mstate->__pyx_kp_b_iso88591_a_hhd_Zs_PSST, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[654])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5676};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cut, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[655] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isCutEfficacious, __pyx_mstate->__pyx_kp_b_iso88591_1D_Cz_FRUUV, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[655])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5693};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cut, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[656] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getCutLPSolCutoffDistance, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_F_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[656])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5709};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cut, __pyx_mstate->__pyx_n_u_forcecut, __pyx_mstate->__pyx_n_u_infeasible};
    __pyx_mstate_global->__pyx_codeobj_tab[657] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addCut, __pyx_mstate->__pyx_kp_b_iso88591_2_AZq_HC_AQ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[657])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5730};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[658] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNCuts, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[658])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5741};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[659] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNCutsApplied, __pyx_mstate->__pyx_kp_b_iso88591_A_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[659])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5752};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[660] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNSepaRounds, __pyx_mstate->__pyx_kp_b_iso88591_A_a_6, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[660])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 5764};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol, __pyx_mstate->__pyx_n_u_pretendroot, __pyx_mstate->__pyx_n_u_allowlocal, __pyx_mstate->__pyx_n_u_onlydelayed, __pyx_mstate->__pyx_n_u_delayed, __pyx_mstate->__pyx_n_u_cutoff};
    __pyx_mstate_global->__pyx_codeobj_tab[661] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_separateSol, __pyx_mstate->__pyx_kp_b_iso88591_QQeef_BoQd_c_3fTaammzz_E_E_F_F, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[661])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 5799};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lincons, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_terms, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_vars_array, __pyx_mstate->__pyx_n_u_coeffs_array, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_coeff, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_wrapper, __pyx_mstate->__pyx_n_u_key, __pyx_mstate->__pyx_n_u_PyCons};
    __pyx_mstate_global->__pyx_codeobj_tab[662] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_createConsLinear, __pyx_mstate->__pyx_kp_b_iso88591_A_z_XXZZaakkl_we7_S_ZZ_cchhoop_u, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[662])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 5846};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_quadcons, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_terms, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_prodexpr, __pyx_mstate->__pyx_n_u_wrapper, __pyx_mstate->__pyx_n_u_v, __pyx_mstate->__pyx_n_u_c, __pyx_mstate->__pyx_n_u_varexprs, __pyx_mstate->__pyx_n_u_PyCons};
    __pyx_mstate_global->__pyx_codeobj_tab[663] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_createConsQuadratic, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_xuG3c_hhmmttu_A_5Q_N_6_vQ_vV, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[663])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 5901};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_varexprs, __pyx_mstate->__pyx_n_u_monomials, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_wrapper, __pyx_mstate->__pyx_n_u_idxs, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_j, __pyx_mstate->__pyx_n_u_terms, __pyx_mstate->__pyx_n_u_variables_2, __pyx_mstate->__pyx_n_u_termcoefs, __pyx_mstate->__pyx_n_u_term, __pyx_mstate->__pyx_n_u_coef, __pyx_mstate->__pyx_n_u_PyCons, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_term, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[664] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_createConsNonlinear, __pyx_mstate->__pyx_kp_b_iso88591_A0_E_AS_T_d_XYaq_N_AWBa_M_q_1G2Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[664])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 22, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS), 5970};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_childrenexpr, __pyx_mstate->__pyx_n_u_scipexprs, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_wrapper, __pyx_mstate->__pyx_n_u_nchildren, __pyx_mstate->__pyx_n_u_c, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_nodes, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_node, __pyx_mstate->__pyx_n_u_opidx, __pyx_mstate->__pyx_n_u_pyvar, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_coefs, __pyx_mstate->__pyx_n_u_pos, __pyx_mstate->__pyx_n_u_valuenode, __pyx_mstate->__pyx_n_u_exponent, __pyx_mstate->__pyx_n_u_PyCons};
    __pyx_mstate_global->__pyx_codeobj_tab[665] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_createConsGenNonlinear, __pyx_mstate->__pyx_kp_b_iso88591_A0_t1_Qa_HA_t1Cs_N_AWBa_Bhiq_D_v, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[665])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {13, 0, 0, 15, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6103};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_modifiable, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_deg};
    __pyx_mstate_global->__pyx_codeobj_tab[666] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_createConsFromExpr, __pyx_mstate->__pyx_kp_b_iso88591_L_q_4L_1_R_5_1_3as_WAQ_Qe6_1_iv, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[666])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {13, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6172};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_modifiable, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_pycons_initial, __pyx_mstate->__pyx_n_u_pycons};
    __pyx_mstate_global->__pyx_codeobj_tab[667] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addCons, __pyx_mstate->__pyx_kp_b_iso88591_A_4L_1_L_z_UUWW_eef_Qe6_1_ivQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[667])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {13, 0, 0, 21, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6237};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_conss, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_modifiable, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_n_conss, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_ensure_iterable, __pyx_mstate->__pyx_n_u_ensure_iterable, __pyx_mstate->__pyx_n_u_constraints, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[668] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConss, __pyx_mstate->__pyx_kp_b_iso88591_a_5_A_QgQ_E_z_A_AQ_Qa_QfA_uCq_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[668])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {13, 0, 0, 29, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6329};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_modifiable, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_shape, __pyx_mstate->__pyx_n_u_matrix_cons, __pyx_mstate->__pyx_n_u_ndim, __pyx_mstate->__pyx_n_u_matrix_variable, __pyx_mstate->__pyx_n_u_matrix_names, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_matrix_initial, __pyx_mstate->__pyx_n_u_matrix_separate, __pyx_mstate->__pyx_n_u_matrix_enforce, __pyx_mstate->__pyx_n_u_matrix_check, __pyx_mstate->__pyx_n_u_matrix_propagate, __pyx_mstate->__pyx_n_u_matrix_local, __pyx_mstate->__pyx_n_u_matrix_modifiable, __pyx_mstate->__pyx_n_u_matrix_dynamic, __pyx_mstate->__pyx_n_u_matrix_removable, __pyx_mstate->__pyx_n_u_matrix_stickingatnode};
    __pyx_mstate_global->__pyx_codeobj_tab[669] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addMatrixCons, __pyx_mstate->__pyx_kp_b_iso88591_A_4A_9_9_7q_1_7q_A_9_1_J_4z_1_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[669])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {10, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6488};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_conss, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_relaxcons, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_modifiable, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_scip_expr, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_disj_cons, __pyx_mstate->__pyx_n_u_n_conss, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_ensure_iterable, __pyx_mstate->__pyx_n_u_ensure_iterable, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_pycons, __pyx_mstate->__pyx_n_u_PyCons};
    __pyx_mstate_global->__pyx_codeobj_tab[670] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConsDisjunction, __pyx_mstate->__pyx_kp_b_iso88591_Q_q_31N_z_A_AQ_Qa_A_a_N_7_Qk_Yg, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[670])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6559};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_disj_cons, __pyx_mstate->__pyx_n_u_cons};
    __pyx_mstate_global->__pyx_codeobj_tab[671] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConsElemDisjunction, __pyx_mstate->__pyx_kp_b_iso88591_A_A_q_I_S_llqqr_A_AT_uA_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[671])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6580};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraint, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_success, __pyx_mstate->__pyx_n_u_conshdlr, __pyx_mstate->__pyx_n_u_conshdrlname};
    __pyx_mstate_global->__pyx_codeobj_tab[672] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getConsNVars, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Qd_L_PQQR_4q_az_aq_1_ZZ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[672])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6611};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraint, __pyx_mstate->__pyx_n_u_vars_2, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_success, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_vars};
    __pyx_mstate_global->__pyx_codeobj_tab[673] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getConsVars, __pyx_mstate->__pyx_kp_b_iso88591_A_XZ_1G1A_V1F_A_q_HJl_4q_1_q_E_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[673])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6645};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraint, __pyx_mstate->__pyx_n_u_vals_2, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_success, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_vals, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[674] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getConsVals, __pyx_mstate->__pyx_kp_b_iso88591_A_M_V1F_A_A_AT_wgUVVW_4q_1_q_Qc, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[674])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6676};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_and_cons};
    __pyx_mstate_global->__pyx_codeobj_tab[675] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNVarsAnd, __pyx_mstate->__pyx_kp_b_iso88591_A_at881, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[675])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6693};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_and_cons, __pyx_mstate->__pyx_n_u_vars_2, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_constype, __pyx_mstate->__pyx_n_u_vars};
    __pyx_mstate_global->__pyx_codeobj_tab[676] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVarsAnd, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AX_RYYZZ_y_7_bbc_q_HHA_at8, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[676])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6724};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_and_cons, __pyx_mstate->__pyx_n_u_resultant};
    __pyx_mstate_global->__pyx_codeobj_tab[677] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getResultantAnd, __pyx_mstate->__pyx_kp_b_iso88591_A_XXQ_t_1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[677])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6743};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_and_cons};
    __pyx_mstate_global->__pyx_codeobj_tab[678] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isAndConsSorted, __pyx_mstate->__pyx_kp_b_iso88591_A_4xxq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[678])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6760};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_and_cons};
    __pyx_mstate_global->__pyx_codeobj_tab[679] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_sortAndCons, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[679])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6773};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_constraint};
    __pyx_mstate_global->__pyx_codeobj_tab[680] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_printCons, __pyx_mstate->__pyx_kp_b_iso88591_A_1M_hj_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[680])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6784};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_coef, __pyx_mstate->__pyx_n_u_temp_cons, __pyx_mstate->__pyx_n_u_scip_expr};
    __pyx_mstate_global->__pyx_codeobj_tab[681] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addExprNonlinear, __pyx_mstate->__pyx_kp_b_iso88591_A_t9Cs_VVXX_eef_t_t1_D_c_A_hd_kQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[681])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6807};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_coeff, __pyx_mstate->__pyx_n_u_constype};
    __pyx_mstate_global->__pyx_codeobj_tab[682] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConsCoeff, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_9Cq_4xt_s_UV_c_AT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[682])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {14, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6830};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_node, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_validnode, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_pycons_initial, __pyx_mstate->__pyx_n_u_pycons};
    __pyx_mstate_global->__pyx_codeobj_tab[683] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConsNode, __pyx_mstate->__pyx_kp_b_iso88591_C_a_Q_8I_N_z_UUWW_eef_Qe6_1_ivW, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[683])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {13, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6894};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_validnode, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_kwargs, __pyx_mstate->__pyx_n_u_pycons_initial, __pyx_mstate->__pyx_n_u_pycons};
    __pyx_mstate_global->__pyx_codeobj_tab[684] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConsLocal, __pyx_mstate->__pyx_kp_b_iso88591_9_A_N_a_9J_J_z_UUWW_eef_Qe6_1_i, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[684])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {15, 0, 0, 21, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 6956};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_weights, __pyx_mstate->__pyx_n_u_capacity, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_modifiable, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_weights_array, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_wrapper, __pyx_mstate->__pyx_n_u_pyCons};
    __pyx_mstate_global->__pyx_codeobj_tab[685] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConsKnapsack, __pyx_mstate->__pyx_kp_b_iso88591_A_L_q_0_L_AQ_6_vS_1Ja_5_1_3as_W, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[685])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {13, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7026};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_weights, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_wrapper};
    __pyx_mstate_global->__pyx_codeobj_tab[686] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConsSOS1, __pyx_mstate->__pyx_kp_b_iso88591_1_oQ_0_V_A_q_HA_awVYY___Zy_UV_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[686])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {13, 0, 0, 17, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7091};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_weights, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_wrapper};
    __pyx_mstate_global->__pyx_codeobj_tab[687] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConsSOS2, __pyx_mstate->__pyx_kp_b_iso88591_1_oQ_0_V_A_q_HA_awVYY___Zy_UV_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[687])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {14, 0, 0, 22, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7156};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_resvar, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_modifiable, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_vars_2, __pyx_mstate->__pyx_n_u_resvar_2, __pyx_mstate->__pyx_n_u_resvar_wrapper, __pyx_mstate->__pyx_n_u_vars_wrapper, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_pyCons};
    __pyx_mstate_global->__pyx_codeobj_tab[688] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConsAnd, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_4O1_AL_AQ_iq_AQ_A_5_1_3as_W, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[688])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {14, 0, 0, 22, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7220};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_resvar, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_modifiable, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_vars_2, __pyx_mstate->__pyx_n_u_resvar_2, __pyx_mstate->__pyx_n_u_resvar_wrapper, __pyx_mstate->__pyx_n_u_vars_wrapper, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_pyCons};
    __pyx_mstate_global->__pyx_codeobj_tab[689] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConsOr, __pyx_mstate->__pyx_kp_b_iso88591_1_Q_4O1_AL_AQ_iq_AQ_A_5_1_3as_W, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[689])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {14, 0, 0, 20, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7284};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_rhsvar, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_modifiable, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_vars_2, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_wrapper, __pyx_mstate->__pyx_n_u_pyCons};
    __pyx_mstate_global->__pyx_codeobj_tab[690] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConsXor, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_4O1_AL_t1HCt1D___ccdde_AQ_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[690])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {15, 0, 0, 23, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7347};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_consvars, __pyx_mstate->__pyx_n_u_cardval, __pyx_mstate->__pyx_n_u_indvars, __pyx_mstate->__pyx_n_u_weights, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_indvar, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_v_wrapper, __pyx_mstate->__pyx_n_u_indvar_wrapper, __pyx_mstate->__pyx_n_u_scip_var, __pyx_mstate->__pyx_n_u_v, __pyx_mstate->__pyx_n_u_pyCons};
    __pyx_mstate_global->__pyx_codeobj_tab[691] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConsCardinality, __pyx_mstate->__pyx_kp_b_iso88591_N_UV_oQ_0_h_A_at81K_UVV_ffoouuv, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[691])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {14, 0, 0, 23, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7433};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_binvar, __pyx_mstate->__pyx_n_u_activeone, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_binVar, __pyx_mstate->__pyx_n_u_scip_cons, __pyx_mstate->__pyx_n_u_coeff, __pyx_mstate->__pyx_n_u_wrapper, __pyx_mstate->__pyx_n_u_rhs, __pyx_mstate->__pyx_n_u_negate, __pyx_mstate->__pyx_n_u_terms, __pyx_mstate->__pyx_n_u_key, __pyx_mstate->__pyx_n_u_pyCons};
    __pyx_mstate_global->__pyx_codeobj_tab[692] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addConsIndicator, __pyx_mstate->__pyx_kp_b_iso88591_Kq_oQ_0_z_UUWW_eef_4vWE_T_wa_AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[692])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {14, 0, 0, 29, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7526};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_binvar, __pyx_mstate->__pyx_n_u_activeone, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_shape, __pyx_mstate->__pyx_n_u_matrix_binvar, __pyx_mstate->__pyx_n_u_matrix_activeone, __pyx_mstate->__pyx_n_u_matrix_names, __pyx_mstate->__pyx_n_u_idx, __pyx_mstate->__pyx_n_u_matrix_initial, __pyx_mstate->__pyx_n_u_matrix_enforce, __pyx_mstate->__pyx_n_u_matrix_separate, __pyx_mstate->__pyx_n_u_matrix_check, __pyx_mstate->__pyx_n_u_matrix_propagate, __pyx_mstate->__pyx_n_u_matrix_local, __pyx_mstate->__pyx_n_u_matrix_dynamic, __pyx_mstate->__pyx_n_u_matrix_removable, __pyx_mstate->__pyx_n_u_matrix_stickingatnode, __pyx_mstate->__pyx_n_u_matrix_cons};
    __pyx_mstate_global->__pyx_codeobj_tab[693] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addMatrixConsIndicator, __pyx_mstate->__pyx_kp_b_iso88591_TTvvw_DLPiij_BBRRllm_B_Oiij_DMQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[693])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7693};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_lincons};
    __pyx_mstate_global->__pyx_codeobj_tab[694] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLinearConsIndicator, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_83a_1_t_AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[694])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7712};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[695] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getSlackVarIndicator, __pyx_mstate->__pyx_kp_b_iso88591_A_5Qd_t_1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[695])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7730};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons};
    __pyx_mstate_global->__pyx_codeobj_tab[696] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addPyCons, __pyx_mstate->__pyx_kp_b_iso88591_A_A_XT_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[696])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7743};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_weight};
    __pyx_mstate_global->__pyx_codeobj_tab[697] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addVarSOS1, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D_L_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[697])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7759};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[698] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_appendVarSOS1, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at84_3a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[698])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7773};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_weight};
    __pyx_mstate_global->__pyx_codeobj_tab[699] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addVarSOS2, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D_L_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[699])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7789};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[700] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_appendVarSOS2, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at84_3a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[700])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7803};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_newInit};
    __pyx_mstate_global->__pyx_codeobj_tab[701] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setInitial, __pyx_mstate->__pyx_kp_b_iso88591_A_A_q_HD_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[701])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7815};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_newMod};
    __pyx_mstate_global->__pyx_codeobj_tab[702] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setModifiable, __pyx_mstate->__pyx_kp_b_iso88591_A_A_4xt_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[702])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7827};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_newRem};
    __pyx_mstate_global->__pyx_codeobj_tab[703] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setRemovable, __pyx_mstate->__pyx_kp_b_iso88591_A_A_hd_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[703])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7839};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_newEnf};
    __pyx_mstate_global->__pyx_codeobj_tab[704] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setEnforced, __pyx_mstate->__pyx_kp_b_iso88591_A_A_XT_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[704])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7851};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_newCheck};
    __pyx_mstate_global->__pyx_codeobj_tab[705] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setCheck, __pyx_mstate->__pyx_kp_b_iso88591_A_A_q_HD_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[705])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7863};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_rhs, __pyx_mstate->__pyx_n_u_constype};
    __pyx_mstate_global->__pyx_codeobj_tab[706] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgRhs, __pyx_mstate->__pyx_kp_b_iso88591_A_4s_Qd_5_A_AT_gUVVW_9Cq_hd_a_c, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[706])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7887};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_capacity, __pyx_mstate->__pyx_n_u_constype};
    __pyx_mstate_global->__pyx_codeobj_tab[707] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgCapacityKnapsack, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_y_ZZ_9Cq_l_4q_A_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[707])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7907};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_lhs, __pyx_mstate->__pyx_n_u_constype};
    __pyx_mstate_global->__pyx_codeobj_tab[708] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgLhs, __pyx_mstate->__pyx_kp_b_iso88591_A_4s_at1_5_A_AT_gUVVW_9Cq_hd_a_c, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[708])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7931};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_success, __pyx_mstate->__pyx_n_u_constype, __pyx_mstate->__pyx_n_u_rhs};
    __pyx_mstate_global->__pyx_codeobj_tab[709] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getRhs, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_4_A_XT_Qa_1_1_c_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[709])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7957};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_constype};
    __pyx_mstate_global->__pyx_codeobj_tab[710] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getCapacityKnapsack, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_y_ZZ_at84q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[710])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 7976};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_success, __pyx_mstate->__pyx_n_u_constype, __pyx_mstate->__pyx_n_u_lhs};
    __pyx_mstate_global->__pyx_codeobj_tab[711] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLhs, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_4_A_XT_Qa_1_1_c_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[711])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8002};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[712] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgCoefLinear, __pyx_mstate->__pyx_kp_b_iso88591_A_B_q_HD_C_RS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[712])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8021};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[713] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_delCoefLinear, __pyx_mstate->__pyx_kp_b_iso88591_A_B_q_HD_Cq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[713])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8038};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[714] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addCoefLinear, __pyx_mstate->__pyx_kp_b_iso88591_A_B_q_HD_C_RS_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[714])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8055};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_weight};
    __pyx_mstate_global->__pyx_codeobj_tab[715] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addCoefKnapsack, __pyx_mstate->__pyx_kp_b_iso88591_A_B_hd_c_TU, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[715])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8072};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_sol, __pyx_mstate->__pyx_n_u_activity, __pyx_mstate->__pyx_n_u_scip_sol, __pyx_mstate->__pyx_n_u_constype};
    __pyx_mstate_global->__pyx_codeobj_tab[716] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getActivity, __pyx_mstate->__pyx_kp_b_iso88591_4t9Cs_Qe1_s_q_5_A_AT_gUVVW_9Cq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[716])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8108};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_sol, __pyx_mstate->__pyx_n_u_side, __pyx_mstate->__pyx_n_u_activity, __pyx_mstate->__pyx_n_u_scip_sol, __pyx_mstate->__pyx_n_u_constype, __pyx_mstate->__pyx_n_u_lhs, __pyx_mstate->__pyx_n_u_rhs, __pyx_mstate->__pyx_n_u_lhsslack, __pyx_mstate->__pyx_n_u_rhsslack};
    __pyx_mstate_global->__pyx_codeobj_tab[717] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getSlack, __pyx_mstate->__pyx_kp_b_iso88591_7_A_4t9Cs_Qe1_s_q_5_A_AT_gUVVW, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[717])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8157};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_transcons};
    __pyx_mstate_global->__pyx_codeobj_tab[718] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getTransformedCons, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D_L_t_AQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[718])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8174};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[719] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isNLPConstructed, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[719])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8185};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[720] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNNlRows, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[720])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8196};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nlrows, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[721] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNlRows, __pyx_mstate->__pyx_kp_b_iso88591_A_31D_vWAV1D_E_at_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[721])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8210};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nlrow, __pyx_mstate->__pyx_n_u_sol, __pyx_mstate->__pyx_n_u_activity, __pyx_mstate->__pyx_n_u_solptr};
    __pyx_mstate_global->__pyx_codeobj_tab[722] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNlRowSolActivity, __pyx_mstate->__pyx_kp_b_iso88591_a_L_Cz_B_Qd_HTUUV_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[722])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8232};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nlrow, __pyx_mstate->__pyx_n_u_sol, __pyx_mstate->__pyx_n_u_feasibility, __pyx_mstate->__pyx_n_u_solptr};
    __pyx_mstate_global->__pyx_codeobj_tab[723] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNlRowSolFeasibility, __pyx_mstate->__pyx_kp_b_iso88591_A_L_Cz_B_0_XU_xWXXY_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[723])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8254};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nlrow, __pyx_mstate->__pyx_n_u_minactivity, __pyx_mstate->__pyx_n_u_maxactivity};
    __pyx_mstate_global->__pyx_codeobj_tab[724] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNlRowActivityBounds, __pyx_mstate->__pyx_kp_b_iso88591_A_B_0_XU_qP___Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[724])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8273};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nlrow};
    __pyx_mstate_global->__pyx_codeobj_tab[725] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_printNlRow, __pyx_mstate->__pyx_kp_b_iso88591_A_BnAT_m1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[725])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8284};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_isquadratic};
    __pyx_mstate_global->__pyx_codeobj_tab[726] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_checkQuadraticNonlinear, __pyx_mstate->__pyx_kp_b_iso88591_A_B_1_hd_aq_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[726])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 27, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8301};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_termidx, __pyx_mstate->__pyx_n_u_linexprs, __pyx_mstate->__pyx_n_u_lincoefs, __pyx_mstate->__pyx_n_u_lincoef, __pyx_mstate->__pyx_n_u_nlinvars, __pyx_mstate->__pyx_n_u_bilinterm1, __pyx_mstate->__pyx_n_u_bilinterm2, __pyx_mstate->__pyx_n_u_bilincoef, __pyx_mstate->__pyx_n_u_nbilinterms, __pyx_mstate->__pyx_n_u_quadexpr, __pyx_mstate->__pyx_n_u_sqrexpr, __pyx_mstate->__pyx_n_u_sqrcoef, __pyx_mstate->__pyx_n_u_nquadterms, __pyx_mstate->__pyx_n_u_scipvar1, __pyx_mstate->__pyx_n_u_scipvar2, __pyx_mstate->__pyx_n_u_linterms, __pyx_mstate->__pyx_n_u_bilinterms, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_quaddict, __pyx_mstate->__pyx_n_u_var1, __pyx_mstate->__pyx_n_u_var2, __pyx_mstate->__pyx_n_u_key, __pyx_mstate->__pyx_n_u_quadterms, __pyx_mstate->__pyx_n_u_entry};
    __pyx_mstate_global->__pyx_codeobj_tab[727] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getTermsQuadratic, __pyx_mstate->__pyx_kp_b_iso88591_A_t_t1_t_1G1_1D_vQj_1A_a_F_Q_Q_K, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[727])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8399};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_val};
    __pyx_mstate_global->__pyx_codeobj_tab[728] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setRelaxSolVal, __pyx_mstate->__pyx_kp_b_iso88591_A_A_q_HF, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[728])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8411};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[729] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_enableDebugSol, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_aq_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[729])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8421};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[730] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_disableDebugSol, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_aq_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[730])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8429};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_transformed, __pyx_mstate->__pyx_n_u_conss, __pyx_mstate->__pyx_n_u_nconss, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[731] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getConss, __pyx_mstate->__pyx_kp_b_iso88591_1_1_L_Q_4q_AT_at1_q_Qe1D_E_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[731])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8456};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_transformed};
    __pyx_mstate_global->__pyx_codeobj_tab[732] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNConss, __pyx_mstate->__pyx_kp_b_iso88591_A_1_Q_AT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[732])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8475};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons};
    __pyx_mstate_global->__pyx_codeobj_tab[733] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_delCons, __pyx_mstate->__pyx_kp_b_iso88591_A_D_AT_Q_A_XT_M, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[733])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8490};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons};
    __pyx_mstate_global->__pyx_codeobj_tab[734] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_delConsLocal, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Qd_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[734])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8502};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_vals, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_constype, __pyx_mstate->__pyx_n_u_valsdict};
    __pyx_mstate_global->__pyx_codeobj_tab[735] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getValsLinear, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_4y_1_QQR_XT_XT_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[735])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8533};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_vals, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_constype, __pyx_mstate->__pyx_n_u_valsdict, __pyx_mstate->__pyx_n_u_var_name};
    __pyx_mstate_global->__pyx_codeobj_tab[736] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getWeightsKnapsack, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_4y_1_LA_AT_Q_Qd_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[736])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8567};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_constype, __pyx_mstate->__pyx_n_u_row};
    __pyx_mstate_global->__pyx_codeobj_tab[737] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getRowLinear, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_4y_1_QQR_Qd_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[737])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8589};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_constype, __pyx_mstate->__pyx_n_u_transcons};
    __pyx_mstate_global->__pyx_codeobj_tab[738] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDualsolLinear, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_4y_1_YYZ_4_D_1A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[738])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8612};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_constype, __pyx_mstate->__pyx_n_u_transcons};
    __pyx_mstate_global->__pyx_codeobj_tab[739] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDualsolKnapsack, __pyx_mstate->__pyx_kp_b_iso88591_A_5_A_AT_gUVVW_4y_1_YYZ_4_D_1A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[739])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8635};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons};
    __pyx_mstate_global->__pyx_codeobj_tab[740] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDualMultiplier, __pyx_mstate->__pyx_kp_b_iso88591_A_gQa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[740])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8651};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_transcons};
    __pyx_mstate_global->__pyx_codeobj_tab[741] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDualfarkasLinear, __pyx_mstate->__pyx_kp_b_iso88591_A_4_D_1A_4xy_4xt1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[741])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8672};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_transcons};
    __pyx_mstate_global->__pyx_codeobj_tab[742] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDualfarkasKnapsack, __pyx_mstate->__pyx_kp_b_iso88591_A_4_AT_Q_D_1A_AT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[742])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8693};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_redcost};
    __pyx_mstate_global->__pyx_codeobj_tab[743] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVarRedcost, __pyx_mstate->__pyx_kp_b_iso88591_A_q_HCq_t_S_1_1_DBc_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[743])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8716};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cons, __pyx_mstate->__pyx_n_u_boundconstraint, __pyx_mstate->__pyx_n_u_dualsol_2, __pyx_mstate->__pyx_n_u_bounded};
    __pyx_mstate_global->__pyx_codeobj_tab[744] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDualSolVal, __pyx_mstate->__pyx_kp_b_iso88591_Q_1_Qd_l_Qa_Qd_l_Q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[744])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8743};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[745] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_optimize, __pyx_mstate->__pyx_kp_b_iso88591_A_AYat1_q_HN_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[745])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8748};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_rc};
    __pyx_mstate_global->__pyx_codeobj_tab[746] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_optimizeNogil, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_AQ_q_HN_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[746])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8756};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[747] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_solveConcurrent, __pyx_mstate->__pyx_kp_b_iso88591_A_s_Q_E_AT_G1D_at1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[747])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8767};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[748] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_presolve, __pyx_mstate->__pyx_kp_b_iso88591_A_4y_8_7q_7q_A_4yPQ_A_a_q_HN_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[748])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8778};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_subproblems, __pyx_mstate->__pyx_n_u_subprobs, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_nsubproblems, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_isdict, __pyx_mstate->__pyx_n_u_subprob};
    __pyx_mstate_global->__pyx_codeobj_tab[749] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_initBendersDefault, __pyx_mstate->__pyx_kp_b_iso88591_A_Qm1_Q_3aq_Q_1_9F_1_iq_7_wha_AV, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[749])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8835};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_infeasible, __pyx_mstate->__pyx_n_u_solvecip, __pyx_mstate->__pyx_n_u_nbenders, __pyx_mstate->__pyx_n_u_nsubproblems, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_j};
    __pyx_mstate_global->__pyx_codeobj_tab[750] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_computeBestSolSubproblems, __pyx_mstate->__pyx_kp_b_iso88591_A_nAT_1_a_E_aq_5QgQa_U_1_A_7q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[750])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8859};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[751] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_freeBendersSubproblems, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[751])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8877};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lowerbounds, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_benders_2, __pyx_mstate->__pyx_n_u_d};
    __pyx_mstate_global->__pyx_codeobj_tab[752] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_updateBendersLowerbounds, __pyx_mstate->__pyx_kp_b_iso88591_DA_t1M_A_83a_at81_wa_E_E_1_C_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[752])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8901};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_nsubproblems};
    __pyx_mstate_global->__pyx_codeobj_tab[753] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_activateBenders, __pyx_mstate->__pyx_kp_b_iso88591_A_A_XWKq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[753])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8915};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_subproblem};
    __pyx_mstate_global->__pyx_codeobj_tab[754] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addBendersSubproblem, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Qd_WT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[754])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8930};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_probnumber, __pyx_mstate->__pyx_n_u_isconvex};
    __pyx_mstate_global->__pyx_codeobj_tab[755] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setBendersSubproblemIsConvex, __pyx_mstate->__pyx_kp_b_iso88591_SST_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[755])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8946};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_probnumber, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_checktype, __pyx_mstate->__pyx_n_u_scip_benders, __pyx_mstate->__pyx_n_u_scip_sol, __pyx_mstate->__pyx_n_u_retcode};
    __pyx_mstate_global->__pyx_codeobj_tab[756] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setupBendersSubproblem, __pyx_mstate->__pyx_kp_b_iso88591_CC_o_p_G_G_H_Qj_xq_q_83a_4xq_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[756])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 8980};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_probnumber, __pyx_mstate->__pyx_n_u_solvecip, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_scip_benders, __pyx_mstate->__pyx_n_u_scip_sol, __pyx_mstate->__pyx_n_u_objective, __pyx_mstate->__pyx_n_u_infeasible};
    __pyx_mstate_global->__pyx_codeobj_tab[757] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_solveBendersSubproblem, __pyx_mstate->__pyx_kp_b_iso88591_MMggh_Qj_xq_q_83a_4xq_7_A_q_HN, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[757])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9025};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_probnumber, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_scip_benders, __pyx_mstate->__pyx_n_u_scip_subprob};
    __pyx_mstate_global->__pyx_codeobj_tab[758] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBendersSubproblem, __pyx_mstate->__pyx_kp_b_iso88591_A_83a_4xq_7_A_1_G1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[758])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9055};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_probnumber, __pyx_mstate->__pyx_n_u_benders_2, __pyx_mstate->__pyx_n_u_mappedvar_2};
    __pyx_mstate_global->__pyx_codeobj_tab[759] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBendersVar, __pyx_mstate->__pyx_kp_b_iso88591_PPQ_83a_at81_wa_d_0_XZs_UVVW_4A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[759])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9091};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_probnumber, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_benders_2, __pyx_mstate->__pyx_n_u_auxvar};
    __pyx_mstate_global->__pyx_codeobj_tab[760] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBendersAuxiliaryVar, __pyx_mstate->__pyx_kp_b_iso88591_C1_83a_at81_wa_AZq_t_1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[760])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9118};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_probnumber, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_benders_2, __pyx_mstate->__pyx_n_u_scip_sol, __pyx_mstate->__pyx_n_u_optimal};
    __pyx_mstate_global->__pyx_codeobj_tab[761] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_checkBendersSubproblemOptimality, __pyx_mstate->__pyx_kp_b_iso88591_a_83a_at81_wa_Qj_xq_q_B_4xq_l_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[761])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9156};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_benders};
    __pyx_mstate_global->__pyx_codeobj_tab[762] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeBendersDefaultCuts, __pyx_mstate->__pyx_kp_b_iso88591_A_B_31D_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[762])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9168};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_eventhdlr, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_d};
    __pyx_mstate_global->__pyx_codeobj_tab[763] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeEventhdlr, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_N_1_A_hc_q_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[763])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9198};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pricer, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_priority, __pyx_mstate->__pyx_n_u_delay, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_d, __pyx_mstate->__pyx_n_u_scip_pricer};
    __pyx_mstate_global->__pyx_codeobj_tab[764] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includePricer, __pyx_mstate->__pyx_kp_b_iso88591_N_1_N_1_A_at83a_6a_Vddu_v_G_G_X, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[764])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {16, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9230};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_conshdlr, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_sepapriority, __pyx_mstate->__pyx_n_u_enfopriority, __pyx_mstate->__pyx_n_u_chckpriority, __pyx_mstate->__pyx_n_u_sepafreq, __pyx_mstate->__pyx_n_u_propfreq, __pyx_mstate->__pyx_n_u_eagerfreq, __pyx_mstate->__pyx_n_u_maxprerounds, __pyx_mstate->__pyx_n_u_delaysepa, __pyx_mstate->__pyx_n_u_delayprop, __pyx_mstate->__pyx_n_u_needscons, __pyx_mstate->__pyx_n_u_proptiming, __pyx_mstate->__pyx_n_u_presoltiming, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_d};
    __pyx_mstate_global->__pyx_codeobj_tab[765] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeConshdlr, __pyx_mstate->__pyx_kp_b_iso88591_J_5_q_5_31_5Q_9_R_N_1_N_1_A_XS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[765])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9290};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pricer, __pyx_mstate->__pyx_n_u_scip_pricer};
    __pyx_mstate_global->__pyx_codeobj_tab[766] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_deactivatePricer, __pyx_mstate->__pyx_kp_b_iso88591_A_A_hfA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[766])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 18, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9302};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_to_fix, __pyx_mstate->__pyx_n_u_fix_vals, __pyx_mstate->__pyx_n_u_subscip, __pyx_mstate->__pyx_n_u_varmap, __pyx_mstate->__pyx_n_u_orig_vars, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_vals, __pyx_mstate->__pyx_n_u_val, __pyx_mstate->__pyx_n_u_valid, __pyx_mstate->__pyx_n_u_success, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_j, __pyx_mstate->__pyx_n_u_name_to_val, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_sub_model, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_val};
    __pyx_mstate_global->__pyx_codeobj_tab[767] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_copyLargeNeighborhoodSearch, __pyx_mstate->__pyx_kp_b_iso88591_q_Kq_A_F_3axr_F_3az_1_Q_as_T_gS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[767])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9348};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sub_model, __pyx_mstate->__pyx_n_u_sol, __pyx_mstate->__pyx_n_u_heur, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_real_sol, __pyx_mstate->__pyx_n_u_subscip_sol, __pyx_mstate->__pyx_n_u_heur_2, __pyx_mstate->__pyx_n_u_success, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_wrapper, __pyx_mstate->__pyx_n_u_solution};
    __pyx_mstate_global->__pyx_codeobj_tab[768] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_translateSubSol, __pyx_mstate->__pyx_kp_b_iso88591_Fa_S_y_D_1IXQa_AT_q_A_B_hix_T_b, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[768])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {13, 0, 0, 16, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9383};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_conshdlr, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_initial, __pyx_mstate->__pyx_n_u_separate, __pyx_mstate->__pyx_n_u_enforce, __pyx_mstate->__pyx_n_u_check, __pyx_mstate->__pyx_n_u_propagate, __pyx_mstate->__pyx_n_u_local, __pyx_mstate->__pyx_n_u_modifiable, __pyx_mstate->__pyx_n_u_dynamic, __pyx_mstate->__pyx_n_u_removable, __pyx_mstate->__pyx_n_u_stickingatnode, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_scip_conshdlr, __pyx_mstate->__pyx_n_u_constraint};
    __pyx_mstate_global->__pyx_codeobj_tab[769] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_createCons, __pyx_mstate->__pyx_kp_b_iso88591_Wccsst_KKaabJ_N_1_X_1HA_Zq_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[769])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9429};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_presol, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_priority, __pyx_mstate->__pyx_n_u_maxrounds, __pyx_mstate->__pyx_n_u_timing, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_d};
    __pyx_mstate_global->__pyx_codeobj_tab[770] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includePresol, __pyx_mstate->__pyx_kp_b_iso88591_SST_N_1_N_1_A_at83c_hVddrrs_KK, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[770])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {9, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9456};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sepa, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_priority, __pyx_mstate->__pyx_n_u_freq, __pyx_mstate->__pyx_n_u_maxbounddist, __pyx_mstate->__pyx_n_u_usessubscip, __pyx_mstate->__pyx_n_u_delay, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_d};
    __pyx_mstate_global->__pyx_codeobj_tab[771] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeSepa, __pyx_mstate->__pyx_kp_b_iso88591_BSSddqqrH_N_1_N_1_A_AT_Cz_Ubbii, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[771])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9500};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_reader, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_ext, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_d, __pyx_mstate->__pyx_n_u_e};
    __pyx_mstate_global->__pyx_codeobj_tab[772] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeReader, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_N_1_N_1_A_at83c_N_8_GYYZ_i, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[772])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {11, 0, 0, 13, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9525};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_prop, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_presolpriority, __pyx_mstate->__pyx_n_u_presolmaxrounds, __pyx_mstate->__pyx_n_u_proptiming, __pyx_mstate->__pyx_n_u_presoltiming, __pyx_mstate->__pyx_n_u_priority, __pyx_mstate->__pyx_n_u_freq, __pyx_mstate->__pyx_n_u_delay, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_d};
    __pyx_mstate_global->__pyx_codeobj_tab[773] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeProp, __pyx_mstate->__pyx_kp_b_iso88591_A_NhV___8_N_1_N_1_A_AT_A_4F_66Fa, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[773])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {11, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9566};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_heur, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_dispchar, __pyx_mstate->__pyx_n_u_priority, __pyx_mstate->__pyx_n_u_freq, __pyx_mstate->__pyx_n_u_freqofs, __pyx_mstate->__pyx_n_u_maxdepth, __pyx_mstate->__pyx_n_u_timingmask, __pyx_mstate->__pyx_n_u_usessubscip, __pyx_mstate->__pyx_n_u_nam, __pyx_mstate->__pyx_n_u_des, __pyx_mstate->__pyx_n_u_dis};
    __pyx_mstate_global->__pyx_codeobj_tab[774] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeHeur, __pyx_mstate->__pyx_kp_b_iso88591_DLP_TTU_nAQ_nAQ_c_A_AT_e1_4F_4L, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[774])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9612};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_iisfinder, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_priority, __pyx_mstate->__pyx_n_u_freq, __pyx_mstate->__pyx_n_u_scip_iisfinder, __pyx_mstate->__pyx_n_u_nam, __pyx_mstate->__pyx_n_u_des};
    __pyx_mstate_global->__pyx_codeobj_tab[775] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeIISfinder, __pyx_mstate->__pyx_kp_b_iso88591_I_UV_nAQ_nAQ_1_A_he5_J_PPQ_4xq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[775])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9645};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_iis};
    __pyx_mstate_global->__pyx_codeobj_tab[776] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_generateIIS, __pyx_mstate->__pyx_kp_b_iso88591_A_BoQd_z_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[776])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9662};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_iis};
    __pyx_mstate_global->__pyx_codeobj_tab[777] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getIIS, __pyx_mstate->__pyx_kp_b_iso88591_A_z_a_uCvQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[777])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9678};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_relax, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_priority, __pyx_mstate->__pyx_n_u_freq, __pyx_mstate->__pyx_n_u_nam, __pyx_mstate->__pyx_n_u_des};
    __pyx_mstate_global->__pyx_codeobj_tab[778] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeRelax, __pyx_mstate->__pyx_kp_b_iso88591_nAQ_nAQ_A_Qd_uJfMYffsst_J_Wiij, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[778])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9705};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cutsel, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_priority, __pyx_mstate->__pyx_n_u_nam, __pyx_mstate->__pyx_n_u_des};
    __pyx_mstate_global->__pyx_codeobj_tab[779] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeCutsel, __pyx_mstate->__pyx_kp_b_iso88591_A_nAQ_nAQ_A_at85_1_88I_iwgV1A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[779])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9731};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_branchrule, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_priority, __pyx_mstate->__pyx_n_u_maxdepth, __pyx_mstate->__pyx_n_u_maxbounddist, __pyx_mstate->__pyx_n_u_nam, __pyx_mstate->__pyx_n_u_des};
    __pyx_mstate_global->__pyx_codeobj_tab[780] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeBranchrule, __pyx_mstate->__pyx_kp_b_iso88591_A_nAQ_nAQ_A_4xuA_4Ja_NN_a_TThhi, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[780])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9763};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nodesel, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_stdpriority, __pyx_mstate->__pyx_n_u_memsavepriority, __pyx_mstate->__pyx_n_u_nam, __pyx_mstate->__pyx_n_u_des};
    __pyx_mstate_global->__pyx_codeobj_tab[781] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeNodesel, __pyx_mstate->__pyx_kp_b_iso88591_A_nAQ_nAQ_A_q_HE_7q_9_WX_NN___a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[781])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {9, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9791};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_priority, __pyx_mstate->__pyx_n_u_cutlp, __pyx_mstate->__pyx_n_u_cutpseudo, __pyx_mstate->__pyx_n_u_cutrelax, __pyx_mstate->__pyx_n_u_shareaux, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_d, __pyx_mstate->__pyx_n_u_scip_benders};
    __pyx_mstate_global->__pyx_codeobj_tab[782] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeBenders, __pyx_mstate->__pyx_kp_b_iso88591_C9L_kkl_2_N_1_N_1_A_q_HCq_6gZ_R, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[782])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {7, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9833};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_benders, __pyx_mstate->__pyx_n_u_benderscut, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_desc, __pyx_mstate->__pyx_n_u_priority, __pyx_mstate->__pyx_n_u_islpcut, __pyx_mstate->__pyx_n_u_benders_2, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_d, __pyx_mstate->__pyx_n_u_scip_benderscut};
    __pyx_mstate_global->__pyx_codeobj_tab[783] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_includeBenderscut, __pyx_mstate->__pyx_kp_b_iso88591_hhi_7_N_1_N_1_A_4xz_CzQR_PPbbc, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[783])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 12, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9873};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_lpcands, __pyx_mstate->__pyx_n_u_lpcandssol, __pyx_mstate->__pyx_n_u_lpcandsfrac, __pyx_mstate->__pyx_n_u_ncands, __pyx_mstate->__pyx_n_u_nlpcands, __pyx_mstate->__pyx_n_u_npriolpcands, __pyx_mstate->__pyx_n_u_nfracimplvars, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[784] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getLPBranchCands, __pyx_mstate->__pyx_kp_b_iso88591_AB_A_hay_Qa_QnAQ_QgQd_e5_QjXYY_e, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[784])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9912};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[785] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNLPBranchCands, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[785])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9924};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pseudocands, __pyx_mstate->__pyx_n_u_npseudocands, __pyx_mstate->__pyx_n_u_npriopseudocands, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[786] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getPseudoBranchCands, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Qd_WXXY_Qk_d_uAEUUccd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[786])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9948};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_variable, __pyx_mstate->__pyx_n_u_downchild, __pyx_mstate->__pyx_n_u_eqchild, __pyx_mstate->__pyx_n_u_upchild, __pyx_mstate->__pyx_n_u_wrapper};
    __pyx_mstate_global->__pyx_codeobj_tab[787] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_branchVar, __pyx_mstate->__pyx_kp_b_iso88591_A_1_A_4xwd_4q_1IUVVW_t7_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[787])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 9975};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_variable, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_downchild, __pyx_mstate->__pyx_n_u_eqchild, __pyx_mstate->__pyx_n_u_upchild, __pyx_mstate->__pyx_n_u_wrapper};
    __pyx_mstate_global->__pyx_codeobj_tab[788] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_branchVarVal, __pyx_mstate->__pyx_kp_b_iso88591_A0_1_A_Qd_Qd_UVV___a_t7_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[788])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10005};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_variable, __pyx_mstate->__pyx_n_u_branchdir, __pyx_mstate->__pyx_n_u_targetvalue};
    __pyx_mstate_global->__pyx_codeobj_tab[789] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_calcNodeselPriority, __pyx_mstate->__pyx_kp_b_iso88591_A_at88_kQR, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[789])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10028};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_variable, __pyx_mstate->__pyx_n_u_targetvalue};
    __pyx_mstate_global->__pyx_codeobj_tab[790] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_calcChildEstimate, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[790])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10049};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_nodeselprio, __pyx_mstate->__pyx_n_u_estimate, __pyx_mstate->__pyx_n_u_child};
    __pyx_mstate_global->__pyx_codeobj_tab[791] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_createChild, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT_a_7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[791])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10071};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[792] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_startDive, __pyx_mstate->__pyx_kp_b_iso88591_A_A_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[792])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10078};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[793] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_endDive, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[793])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10082};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_newobj};
    __pyx_mstate_global->__pyx_codeobj_tab[794] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarObjDive, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at83k, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[794])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10094};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_newbound};
    __pyx_mstate_global->__pyx_codeobj_tab[795] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarLbDive, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[795])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10106};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_newbound};
    __pyx_mstate_global->__pyx_codeobj_tab[796] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarUbDive, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[796])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10118};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[797] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVarLbDive, __pyx_mstate->__pyx_kp_b_iso88591_A_q_HCq_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[797])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10133};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[798] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVarUbDive, __pyx_mstate->__pyx_kp_b_iso88591_A_q_HCq_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[798])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10148};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row, __pyx_mstate->__pyx_n_u_newlhs};
    __pyx_mstate_global->__pyx_codeobj_tab[799] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgRowLhsDive, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at83k_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[799])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10161};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row, __pyx_mstate->__pyx_n_u_newrhs};
    __pyx_mstate_global->__pyx_codeobj_tab[800] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgRowRhsDive, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at83k_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[800])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10174};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row};
    __pyx_mstate_global->__pyx_codeobj_tab[801] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addRowDive, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D_1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[801])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10185};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_itlim, __pyx_mstate->__pyx_n_u_lperror, __pyx_mstate->__pyx_n_u_cutoff};
    __pyx_mstate_global->__pyx_codeobj_tab[802] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_solveDiveLP, __pyx_mstate->__pyx_kp_b_iso88591_1_A_AT_1_y, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[802])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10208};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[803] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_inRepropagation, __pyx_mstate->__pyx_kp_b_iso88591_A_4q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[803])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10220};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[804] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_startProbing, __pyx_mstate->__pyx_kp_b_iso88591_A_B_at1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[804])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10226};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[805] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_endProbing, __pyx_mstate->__pyx_kp_b_iso88591_A_BnAT, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[805])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10230};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[806] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_newProbingNode, __pyx_mstate->__pyx_kp_b_iso88591_A_B_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[806])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10236};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_probingdepth};
    __pyx_mstate_global->__pyx_codeobj_tab[807] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_backtrackProbing, __pyx_mstate->__pyx_kp_b_iso88591_A_B_4xq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[807])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10248};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[808] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getProbingDepth, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[808])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10252};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_newobj};
    __pyx_mstate_global->__pyx_codeobj_tab[809] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarObjProbing, __pyx_mstate->__pyx_kp_b_iso88591_A_B_4xs_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[809])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10256};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_lb};
    __pyx_mstate_global->__pyx_codeobj_tab[810] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarLbProbing, __pyx_mstate->__pyx_kp_b_iso88591_A_3c_Qd_A_XS_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[810])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10272};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_ub};
    __pyx_mstate_global->__pyx_codeobj_tab[811] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarUbProbing, __pyx_mstate->__pyx_kp_b_iso88591_A_3c_AT_A_XS_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[811])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10288};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_fixedval};
    __pyx_mstate_global->__pyx_codeobj_tab[812] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_fixVarProbing, __pyx_mstate->__pyx_kp_b_iso88591_A_B_q_HC, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[812])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10300};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[813] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isObjChangedProbing, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[813])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10311};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[814] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_inProbing, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[814])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10323};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_itlim, __pyx_mstate->__pyx_n_u_lperror, __pyx_mstate->__pyx_n_u_cutoff};
    __pyx_mstate_global->__pyx_codeobj_tab[815] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_solveProbingLP, __pyx_mstate->__pyx_kp_b_iso88591_a_B_XWAYaq_y, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[815])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10347};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_cutoff};
    __pyx_mstate_global->__pyx_codeobj_tab[816] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_applyCutsProbing, __pyx_mstate->__pyx_kp_b_iso88591_A_B_4xq_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[816])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10365};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_maxproprounds, __pyx_mstate->__pyx_n_u_cutoff, __pyx_mstate->__pyx_n_u_ndomredsfound};
    __pyx_mstate_global->__pyx_codeobj_tab[817] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_propagateProbing, __pyx_mstate->__pyx_kp_b_iso88591_A_B_4x_axqPQ_xq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[817])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10391};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[818] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_interruptSolve, __pyx_mstate->__pyx_kp_b_iso88591_A_A_q_A_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[818])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10395};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[819] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_restartSolve, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Qd_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[819])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10401};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_absfile};
    __pyx_mstate_global->__pyx_codeobj_tab[820] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_writeLP, __pyx_mstate->__pyx_kp_b_iso88591_q_fJay_a_j_A_Bk_ha_j_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[820])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10419};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_genericnames, __pyx_mstate->__pyx_n_u_origobj, __pyx_mstate->__pyx_n_u_lazyconss, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_absfile};
    __pyx_mstate_global->__pyx_codeobj_tab[821] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_writeMIP, __pyx_mstate->__pyx_kp_b_iso88591_o_Na_fJay_a_j_A_A_hi_Ya_j_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[821])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10442};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_heur, __pyx_mstate->__pyx_n_u_initlp, __pyx_mstate->__pyx_n_u_heur_2, __pyx_mstate->__pyx_n_u_sol_2, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_solution};
    __pyx_mstate_global->__pyx_codeobj_tab[822] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_createSol, __pyx_mstate->__pyx_kp_b_iso88591_M_QfA_at1_L_XQ_A_4q_at81F_XQfA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[822])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10473};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_heur, __pyx_mstate->__pyx_n_u_heur_2, __pyx_mstate->__pyx_n_u_sol_2, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_partialsolution};
    __pyx_mstate_global->__pyx_codeobj_tab[823] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_createPartialSol, __pyx_mstate->__pyx_kp_b_iso88591_1_QfA_at1_L_XQ_A_A_havQ_ha_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[823])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10499};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_heur, __pyx_mstate->__pyx_n_u_heur_2, __pyx_mstate->__pyx_n_u_sol_2, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_solution};
    __pyx_mstate_global->__pyx_codeobj_tab[824] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_createOrigSol, __pyx_mstate->__pyx_kp_b_iso88591_QfA_at1_L_XQ_A_A_at81F_7_4xq_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[824])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10526};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_write_zeros, __pyx_mstate->__pyx_n_u_user_locale};
    __pyx_mstate_global->__pyx_codeobj_tab[825] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_printBestSol, __pyx_mstate->__pyx_kp_b_iso88591_q_fJay_a_j_A_A_Qd_j_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[825])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10543};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_write_zeros, __pyx_mstate->__pyx_n_u_user_locale};
    __pyx_mstate_global->__pyx_codeobj_tab[826] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_printSol, __pyx_mstate->__pyx_kp_b_iso88591_1_fJay_a_j_A_9Cq_Qd_a_Qd_a_j_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[826])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10566};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_write_zeros, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_cfile};
    __pyx_mstate_global->__pyx_codeobj_tab[827] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_writeBestSol, __pyx_mstate->__pyx_kp_b_iso88591_fJay_a_j_A_HA_F_1G4q_hgQ_j_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[827])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10590};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_write_zeros, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_cfile};
    __pyx_mstate_global->__pyx_codeobj_tab[828] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_writeBestTransSol, __pyx_mstate->__pyx_kp_b_iso88591_Fa_fJay_a_j_A_HA_F_1G4q_at87_j, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[828])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10613};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_write_zeros, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_cfile};
    __pyx_mstate_global->__pyx_codeobj_tab[829] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_writeSol, __pyx_mstate->__pyx_kp_b_iso88591_33Oq_fJay_a_j_A_HA_F_1G4q_Qd_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[829])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10638};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_write_zeros, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_cfile};
    __pyx_mstate_global->__pyx_codeobj_tab[830] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_writeTransSol, __pyx_mstate->__pyx_kp_b_iso88591_88UUV_fJay_a_j_A_HA_F_1G4q_4xxv, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[830])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10665};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_absfile};
    __pyx_mstate_global->__pyx_codeobj_tab[831] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_readSol, __pyx_mstate->__pyx_kp_b_iso88591_A_fJay_a_j_A_A_XQ_j_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[831])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10683};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_partial, __pyx_mstate->__pyx_n_u_error, __pyx_mstate->__pyx_n_u_stored, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_str_absfile, __pyx_mstate->__pyx_n_u_absfile, __pyx_mstate->__pyx_n_u_user_locale};
    __pyx_mstate_global->__pyx_codeobj_tab[832] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_readSolFile, __pyx_mstate->__pyx_kp_b_iso88591_A_gQa_4z_fJay_a_j_A_A_AT_qPYYZZ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[832])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10721};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_val, __pyx_mstate->__pyx_n_u_sol_2};
    __pyx_mstate_global->__pyx_codeobj_tab[833] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setSolVal, __pyx_mstate->__pyx_kp_b_iso88591_A_uCvQ_A_4xvS_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[833])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {8, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10741};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_printreason, __pyx_mstate->__pyx_n_u_completely, __pyx_mstate->__pyx_n_u_checkbounds, __pyx_mstate->__pyx_n_u_checkintegrality, __pyx_mstate->__pyx_n_u_checklprows, __pyx_mstate->__pyx_n_u_free, __pyx_mstate->__pyx_n_u_stored};
    __pyx_mstate_global->__pyx_codeobj_tab[834] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_trySol, __pyx_mstate->__pyx_kp_b_iso88591_44EEXXo_p_B_B_M_M_N_8_1_q_HAXV, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[834])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {8, 0, 0, 9, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10775};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_printreason, __pyx_mstate->__pyx_n_u_completely, __pyx_mstate->__pyx_n_u_checkbounds, __pyx_mstate->__pyx_n_u_checkintegrality, __pyx_mstate->__pyx_n_u_checklprows, __pyx_mstate->__pyx_n_u_original, __pyx_mstate->__pyx_n_u_feasible};
    __pyx_mstate_global->__pyx_codeobj_tab[835] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_checkSol, __pyx_mstate->__pyx_kp_b_iso88591_66GGZZq_r_D_D_S_S_T_8_1_hhfAZ_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[835])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10809};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution, __pyx_mstate->__pyx_n_u_free, __pyx_mstate->__pyx_n_u_stored};
    __pyx_mstate_global->__pyx_codeobj_tab[836] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addSol, __pyx_mstate->__pyx_kp_b_iso88591_Q_1_q_HAXV1A_1D_aq_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[836])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10833};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_solution};
    __pyx_mstate_global->__pyx_codeobj_tab[837] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_freeSol, __pyx_mstate->__pyx_kp_b_iso88591_A_A_XQha, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[837])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10845};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[838] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNSols, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[838])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10858};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[839] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNSolsFound, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[839])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10869};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[840] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNLimSolsFound, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[840])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10880};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[841] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNBestSolsFound, __pyx_mstate->__pyx_kp_b_iso88591_A_AT_7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[841])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10892};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sols, __pyx_mstate->__pyx_n_u_nsols, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_sols_2};
    __pyx_mstate_global->__pyx_codeobj_tab[842] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getSols, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_Qd_q_E_aq_y_q_HE_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[842])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10912};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol_2};
    __pyx_mstate_global->__pyx_codeobj_tab[843] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBestSol, __pyx_mstate->__pyx_kp_b_iso88591_A_nAT_5_1_1_q_HA_t1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[843])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10927};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol, __pyx_mstate->__pyx_n_u_original, __pyx_mstate->__pyx_n_u_objval};
    __pyx_mstate_global->__pyx_codeobj_tab[844] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getSolObjVal, __pyx_mstate->__pyx_kp_b_iso88591_2_4s_ha_q_1_at83a_q_HCq_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[844])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10954};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[845] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getSolTime, __pyx_mstate->__pyx_kp_b_iso88591_A_4s_s_U_Q_AQ_Qd_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[845])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 10971};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_original, __pyx_mstate->__pyx_n_u_min_stage_requirement};
    __pyx_mstate_global->__pyx_codeobj_tab[846] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getObjVal, __pyx_mstate->__pyx_kp_b_iso88591_q_HCq_t9Cs_gQa_4y_S_Ya_t4y_3a_g, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[846])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11002};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sol, __pyx_mstate->__pyx_n_u_expr};
    __pyx_mstate_global->__pyx_codeobj_tab[847] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getSolVal, __pyx_mstate->__pyx_kp_b_iso88591_A_Kwat86, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[847])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11031};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_expr, __pyx_mstate->__pyx_n_u_current_best_sol};
    __pyx_mstate_global->__pyx_codeobj_tab[848] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVal, __pyx_mstate->__pyx_kp_b_iso88591_q_HD_9_t9A_Q_4z_E_D_c_G1D_4y_S, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[848])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11063};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[849] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_hasPrimalRay, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[849])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11074};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var};
    __pyx_mstate_global->__pyx_codeobj_tab[850] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getPrimalRayVal, __pyx_mstate->__pyx_kp_b_iso88591_A_q_IQ_4xs, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[850])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11091};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_ray};
    __pyx_mstate_global->__pyx_codeobj_tab[851] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getPrimalRay, __pyx_mstate->__pyx_kp_b_iso88591_A_q_IQ_4q_Qd_a_E_aq_wauA_0_XT_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[851])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11111};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[852] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getPrimalbound, __pyx_mstate->__pyx_kp_b_iso88591_A_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[852])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11122};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[853] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDualbound, __pyx_mstate->__pyx_kp_b_iso88591_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[853])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11133};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[854] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getDualboundRoot, __pyx_mstate->__pyx_kp_b_iso88591_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[854])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11144};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_user_locale};
    __pyx_mstate_global->__pyx_codeobj_tab[855] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_writeName, __pyx_mstate->__pyx_kp_b_iso88591_A_fJay_a_j_A_A_Qd_a_j_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[855])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11160};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[856] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getStage, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[856])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11171};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[857] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getStageName, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_q_z_iq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[857])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11184};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_attr};
    __pyx_mstate_global->__pyx_codeobj_tab[858] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getStageNames, __pyx_mstate->__pyx_kp_b_iso88591_A_HCq_7_z_81, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[858])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11191};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_stat};
    __pyx_mstate_global->__pyx_codeobj_tab[859] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getStatus, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_5_1_1_Q_1_Q_1_Q_1_Q_1_Q_1_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[859])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11237};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_sense};
    __pyx_mstate_global->__pyx_codeobj_tab[860] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getObjectiveSense, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_6_A_1_3a_1_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[860])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11254};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_eventtype, __pyx_mstate->__pyx_n_u_eventhdlr, __pyx_mstate->__pyx_n_u_eventhdlr_2, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[861] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_catchEvent, __pyx_mstate->__pyx_kp_b_iso88591_A_Qk_ay_4xq_A_1D_vQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[861])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11274};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_eventtype, __pyx_mstate->__pyx_n_u_eventhdlr, __pyx_mstate->__pyx_n_u_eventhdlr_2, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[862] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_dropEvent, __pyx_mstate->__pyx_kp_b_iso88591_A_Qk_ay_4xq_A_4x_gQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[862])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11294};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_eventtype, __pyx_mstate->__pyx_n_u_eventhdlr, __pyx_mstate->__pyx_n_u_eventhdlr_2, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[863] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_catchVarEvent, __pyx_mstate->__pyx_kp_b_iso88591_A_Qk_ay_4xq_A_at83k_LX, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[863])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11313};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_eventtype, __pyx_mstate->__pyx_n_u_eventhdlr, __pyx_mstate->__pyx_n_u_eventhdlr_2, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[864] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_dropVarEvent, __pyx_mstate->__pyx_kp_b_iso88591_A_Qk_ay_4xq_A_Qd_W, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[864])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11332};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row, __pyx_mstate->__pyx_n_u_eventtype, __pyx_mstate->__pyx_n_u_eventhdlr, __pyx_mstate->__pyx_n_u_eventhdlr_2, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[865] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_catchRowEvent, __pyx_mstate->__pyx_kp_b_iso88591_A_Qk_ay_4xq_A_at83k_LX, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[865])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 6, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11351};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_row, __pyx_mstate->__pyx_n_u_eventtype, __pyx_mstate->__pyx_n_u_eventhdlr, __pyx_mstate->__pyx_n_u_eventhdlr_2, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[866] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_dropRowEvent, __pyx_mstate->__pyx_kp_b_iso88591_A_Qk_ay_4xq_A_Qd_W, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[866])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11372};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_cfile};
    __pyx_mstate_global->__pyx_codeobj_tab[867] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_printStatistics, __pyx_mstate->__pyx_kp_b_iso88591_q_fJay_a_j_A_4q_AT_Qj_aq_t1_A_0, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[867])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11395};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_cfile};
    __pyx_mstate_global->__pyx_codeobj_tab[868] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_printStatisticsJson, __pyx_mstate->__pyx_kp_b_iso88591_1_fJay_a_j_A_4q_0_XQ_Qj_aq_t1_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[868])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11418};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_user_locale};
    __pyx_mstate_global->__pyx_codeobj_tab[869] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_printStatisticsJson, __pyx_mstate->__pyx_kp_b_iso88591_A_fJay_a_j_A_A_AT_j_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[869])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11427};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_cfile};
    __pyx_mstate_global->__pyx_codeobj_tab[870] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_writeStatistics, __pyx_mstate->__pyx_kp_b_iso88591_q_fJay_a_j_A_HA_F_1G4q_AT_j_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[870])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11449};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_f, __pyx_mstate->__pyx_n_u_cfile};
    __pyx_mstate_global->__pyx_codeobj_tab[871] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_writeStatisticsJson, __pyx_mstate->__pyx_kp_b_iso88591_1_fJay_a_j_A_HA_F_1G4q_0_XQ_j_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[871])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11470};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[872] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNLPs, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[872])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11483};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_quiet};
    __pyx_mstate_global->__pyx_codeobj_tab[873] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_hideOutput, __pyx_mstate->__pyx_kp_b_iso88591_q_HA, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[873])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11497};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_myMessageHandler};
    __pyx_mstate_global->__pyx_codeobj_tab[874] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_redirectOutput, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1_gV7R_nn_C_C_D_A_q_HA_1_7q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[874])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11506};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_path, __pyx_mstate->__pyx_n_u_c_path};
    __pyx_mstate_global->__pyx_codeobj_tab[875] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setLogfile, __pyx_mstate->__pyx_kp_b_iso88591_A_1_1A_Qd_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[875])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11524};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[876] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setBoolParam, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_A_Qd_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[876])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11539};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[877] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setIntParam, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_A_AT_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[877])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11554};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[878] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setLongintParam, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_A_XS, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[878])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11569};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[879] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setRealParam, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_A_Qd_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[879])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11584};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[880] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setCharParam, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_A_Qd_S, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[880])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11599};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[881] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setStringParam, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_N_1_A_q_HCq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[881])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11615};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_value, __pyx_mstate->__pyx_n_u_param, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_paramtype, __pyx_mstate->__pyx_n_u_v};
    __pyx_mstate_global->__pyx_codeobj_tab[882] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setParam, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_AT_6_A_1_Qa_S_hc_Qc_s_XS_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[882])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11650};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_param, __pyx_mstate->__pyx_n_u_n, __pyx_mstate->__pyx_n_u_paramtype};
    __pyx_mstate_global->__pyx_codeobj_tab[883] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getParam, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_AT_6_A_1_Qa_S_1A_s_1_s_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[883])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11688};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_params, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_result, __pyx_mstate->__pyx_n_u_name};
    __pyx_mstate_global->__pyx_codeobj_tab[884] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getParams, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_E_a_Qd_G1A_Yaq_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[884])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11709};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_params, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_value};
    __pyx_mstate_global->__pyx_codeobj_tab[885] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setParams, __pyx_mstate->__pyx_kp_b_iso88591_A_F_6_q_iq_a, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[885])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11722};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_file, __pyx_mstate->__pyx_n_u_absfile, __pyx_mstate->__pyx_n_u_user_locale};
    __pyx_mstate_global->__pyx_codeobj_tab[886] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_readParams, __pyx_mstate->__pyx_kp_b_iso88591_A_fJay_a_j_A_A_1D_j_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[886])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11741};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_comments, __pyx_mstate->__pyx_n_u_onlychanged, __pyx_mstate->__pyx_n_u_verbose, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_str_absfile, __pyx_mstate->__pyx_n_u_absfile};
    __pyx_mstate_global->__pyx_codeobj_tab[887] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_writeParams, __pyx_mstate->__pyx_kp_b_iso88591_99K_YZ_fJay_a_j_A_gQa_A_AT_A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[887])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11769};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_name, __pyx_mstate->__pyx_n_u_n};
    __pyx_mstate_global->__pyx_codeobj_tab[888] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_resetParam, __pyx_mstate->__pyx_kp_b_iso88591_A_N_1_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[888])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11782};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[889] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_resetParams, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[889])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11786};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_paraemphasis, __pyx_mstate->__pyx_n_u_quiet};
    __pyx_mstate_global->__pyx_codeobj_tab[890] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setEmphasis, __pyx_mstate->__pyx_kp_b_iso88591_0_A_AT_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[890])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11800};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_extension, __pyx_mstate->__pyx_n_u_user_locale, __pyx_mstate->__pyx_n_u_absfile};
    __pyx_mstate_global->__pyx_codeobj_tab[891] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_readProblem, __pyx_mstate->__pyx_kp_b_iso88591_0_fJay_a_j_A_S_Qd_1_aq_Qd_1_j_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[891])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11826};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[892] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_count, __pyx_mstate->__pyx_kp_b_iso88591_A_AYat1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[892])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11830};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[893] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNReaders, __pyx_mstate->__pyx_kp_b_iso88591_A_at1_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[893])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11841};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_valid, __pyx_mstate->__pyx_n_u_nsols};
    __pyx_mstate_global->__pyx_codeobj_tab[894] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getNCountedSols, __pyx_mstate->__pyx_kp_b_iso88591_A_1D_4q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[894])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11858};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[895] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_setParamsCountsols, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[895])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11862};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[896] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_freeReoptSolve, __pyx_mstate->__pyx_kp_b_iso88591_A_4y_81_A_4yPQ_A_q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[896])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 11, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11875};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_coeffs, __pyx_mstate->__pyx_n_u_sense, __pyx_mstate->__pyx_n_u_vars, __pyx_mstate->__pyx_n_u_nvars, __pyx_mstate->__pyx_n_u_coeffs_2, __pyx_mstate->__pyx_n_u_objsense, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_wrapper, __pyx_mstate->__pyx_n_u_term, __pyx_mstate->__pyx_n_u_coef};
    __pyx_mstate_global->__pyx_codeobj_tab[897] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgReoptObjective, __pyx_mstate->__pyx_kp_b_iso88591_0_6_A_q_3a_q_z_RRTTZZdde_6_2Q_A, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[897])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11931};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_priority};
    __pyx_mstate_global->__pyx_codeobj_tab[898] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_chgVarBranchPriority, __pyx_mstate->__pyx_kp_b_iso88591_A_z_VVXX_eef_A_Qd, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[898])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11948};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[899] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_startStrongbranch, __pyx_mstate->__pyx_kp_b_iso88591_A_A_4xq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[899])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11956};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[900] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_endStrongbranch, __pyx_mstate->__pyx_kp_b_iso88591_A_A_Q_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[900])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 8, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 11962};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_down, __pyx_mstate->__pyx_n_u_up, __pyx_mstate->__pyx_n_u_solval, __pyx_mstate->__pyx_n_u_lpobjval, __pyx_mstate->__pyx_n_u_downvalid, __pyx_mstate->__pyx_n_u_upvalid};
    __pyx_mstate_global->__pyx_codeobj_tab[901] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVarStrongbranchLast, __pyx_mstate->__pyx_kp_b_iso88591_AD_A_q_HC_6QRRVVWWbbccllmmuuvvw, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[901])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 3, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12000};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_node_num};
    __pyx_mstate_global->__pyx_codeobj_tab[902] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVarStrongbranchNode, __pyx_mstate->__pyx_kp_b_iso88591_A_Qd_Q_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[902])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 14, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12020};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_itlim, __pyx_mstate->__pyx_n_u_idempotent, __pyx_mstate->__pyx_n_u_integral, __pyx_mstate->__pyx_n_u_down, __pyx_mstate->__pyx_n_u_up, __pyx_mstate->__pyx_n_u_downvalid, __pyx_mstate->__pyx_n_u_upvalid, __pyx_mstate->__pyx_n_u_downinf, __pyx_mstate->__pyx_n_u_upinf, __pyx_mstate->__pyx_n_u_downconflict, __pyx_mstate->__pyx_n_u_upconflict, __pyx_mstate->__pyx_n_u_lperror};
    __pyx_mstate_global->__pyx_codeobj_tab[903] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getVarStrongbranch, __pyx_mstate->__pyx_kp_b_iso88591_AAQQR_1_2_4xs_WT_aagghhllmmn34I, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[903])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12077};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_valdelta, __pyx_mstate->__pyx_n_u_objdelta, __pyx_mstate->__pyx_n_u_weight};
    __pyx_mstate_global->__pyx_codeobj_tab[904] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_updateVarPseudocost, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT_KzQ, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[904])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 7, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12099};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_gains, __pyx_mstate->__pyx_n_u_nchildren, __pyx_mstate->__pyx_n_u_gains_2, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_score};
    __pyx_mstate_global->__pyx_codeobj_tab[905] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBranchScoreMultiple, __pyx_mstate->__pyx_kp_b_iso88591_A_z_S_fAZr_E_aq_5_Qa_4xs_PQ_AQ_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[905])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12130};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[906] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getTreesizeEstimation, __pyx_mstate->__pyx_kp_b_iso88591_A_Q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[906])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12143};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_enable};
    __pyx_mstate_global->__pyx_codeobj_tab[907] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_enableExactSolving, __pyx_mstate->__pyx_kp_b_iso88591_A_A_1D_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[907])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12155};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[908] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_isExact, __pyx_mstate->__pyx_kp_b_iso88591_A_4q_4, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[908])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12166};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[909] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_allowNegSlackExact, __pyx_mstate->__pyx_kp_b_iso88591_A_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[909])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12177};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_result};
    __pyx_mstate_global->__pyx_codeobj_tab[910] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_branchLPExact, __pyx_mstate->__pyx_kp_b_iso88591_A_A_at81A_q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[910])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12189};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_rowexact};
    __pyx_mstate_global->__pyx_codeobj_tab[911] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_addRowExact, __pyx_mstate->__pyx_kp_b_iso88591_A_A_AT_5, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[911])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {6, 0, 0, 52, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12200};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_prev_col_features, __pyx_mstate->__pyx_n_u_prev_edge_features, __pyx_mstate->__pyx_n_u_prev_row_features, __pyx_mstate->__pyx_n_u_static_only, __pyx_mstate->__pyx_n_u_suppress_warnings, __pyx_mstate->__pyx_n_u_scip, __pyx_mstate->__pyx_n_u_vtype, __pyx_mstate->__pyx_n_u_sim, __pyx_mstate->__pyx_n_u_prod, __pyx_mstate->__pyx_n_u_col_i, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_j, __pyx_mstate->__pyx_n_u_k, __pyx_mstate->__pyx_n_u_cols, __pyx_mstate->__pyx_n_u_ncols, __pyx_mstate->__pyx_n_u_n_col_features, __pyx_mstate->__pyx_n_u_col_feature_map, __pyx_mstate->__pyx_n_u_col_features, __pyx_mstate->__pyx_n_u_sol, __pyx_mstate->__pyx_n_u_var, __pyx_mstate->__pyx_n_u_lb, __pyx_mstate->__pyx_n_u_ub, __pyx_mstate->__pyx_n_u_solval, __pyx_mstate->__pyx_n_u_basis_status, __pyx_mstate->__pyx_n_u_rows, __pyx_mstate->__pyx_n_u_nrows, __pyx_mstate->__pyx_n_u_n_row_features, __pyx_mstate->__pyx_n_u_row_feature_map, __pyx_mstate->__pyx_n_u_row_features, __pyx_mstate->__pyx_n_u_lhs, __pyx_mstate->__pyx_n_u_rhs, __pyx_mstate->__pyx_n_u_cst, __pyx_mstate->__pyx_n_u_nnzrs, __pyx_mstate->__pyx_n_u_activity, __pyx_mstate->__pyx_n_u_row_cols, __pyx_mstate->__pyx_n_u_row_vals, __pyx_mstate->__pyx_n_u_n_edge_features, __pyx_mstate->__pyx_n_u_edge_feature_map, __pyx_mstate->__pyx_n_u_edge_features, __pyx_mstate->__pyx_n_u_j, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_j, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_j, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_j, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_j, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_j, __pyx_mstate->__pyx_n_u_i};
    __pyx_mstate_global->__pyx_codeobj_tab[912] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_getBipartiteGraphRepresentation, __pyx_mstate->__pyx_kp_b_iso88591_YYqqr4MQN_a_q_c_AQ_q_1_Q_S_K__b, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[912])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[913] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[913])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
    __pyx_mstate_global->__pyx_codeobj_tab[914] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[914])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12561};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[915] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_vars, __pyx_mstate->__pyx_kp_b_iso88591_A_t_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[915])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12565};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[916] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_binary_vars, __pyx_mstate->__pyx_kp_b_iso88591_A_t_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[916])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12569};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[917] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_integer_vars, __pyx_mstate->__pyx_kp_b_iso88591_A_t_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[917])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12573};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[918] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_implicit_integer_vars, __pyx_mstate->__pyx_kp_b_iso88591_A_t_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[918])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12577};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[919] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_continuous_vars, __pyx_mstate->__pyx_kp_b_iso88591_A_t_aq, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[919])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12581};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[920] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_presolved_vars, __pyx_mstate->__pyx_kp_b_iso88591_A_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[920])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12585};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[921] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_presolved_binary_vars, __pyx_mstate->__pyx_kp_b_iso88591_A_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[921])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12589};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[922] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_presolved_integer_vars, __pyx_mstate->__pyx_kp_b_iso88591_A_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[922])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12593};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[923] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_presolved_implicit_integer_var, __pyx_mstate->__pyx_kp_b_iso88591_A_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[923])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12597};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[924] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_presolved_continuous_vars, __pyx_mstate->__pyx_kp_b_iso88591_A_t, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[924])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12601};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[925] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_conss, __pyx_mstate->__pyx_kp_b_iso88591_A_t_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[925])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12605};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[926] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_maximal_cons, __pyx_mstate->__pyx_kp_b_iso88591_A_t_2, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[926])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12609};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[927] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_presolved_conss, __pyx_mstate->__pyx_kp_b_iso88591_A_t_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[927])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12613};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_self};
    __pyx_mstate_global->__pyx_codeobj_tab[928] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_n_presolved_maximal_cons, __pyx_mstate->__pyx_kp_b_iso88591_A_t_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[928])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 23, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12617};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_filename, __pyx_mstate->__pyx_n_u_i, __pyx_mstate->__pyx_n_u_result, __pyx_mstate->__pyx_n_u_file, __pyx_mstate->__pyx_n_u_data, __pyx_mstate->__pyx_n_u_available_stats, __pyx_mstate->__pyx_n_u_seen_cons, __pyx_mstate->__pyx_n_u_line, __pyx_mstate->__pyx_n_u_split_line, __pyx_mstate->__pyx_n_u_stat_name, __pyx_mstate->__pyx_n_u_relevant_value, __pyx_mstate->__pyx_n_u_var_stats, __pyx_mstate->__pyx_n_u_split_var, __pyx_mstate->__pyx_n_u_var_type, __pyx_mstate->__pyx_n_u_split_result, __pyx_mstate->__pyx_n_u_con_stats, __pyx_mstate->__pyx_n_u_split_con, __pyx_mstate->__pyx_n_u_con_type, __pyx_mstate->__pyx_n_u_treated_keys, __pyx_mstate->__pyx_n_u_treated_result, __pyx_mstate->__pyx_n_u_stats, __pyx_mstate->__pyx_n_u_genexpr, __pyx_mstate->__pyx_n_u_genexpr};
    __pyx_mstate_global->__pyx_codeobj_tab[929] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_readStatistics, __pyx_mstate->__pyx_kp_b_iso88591_t1A_t_Q_Ct1A_q_T_q_D_q_S_AQ_q_N, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[929])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 0, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12742};
    PyObject* const varnames[] = {0};
    __pyx_mstate_global->__pyx_codeobj_tab[930] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_is_memory_freed, __pyx_mstate->__pyx_kp_b_iso88591_3c, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[930])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {0, 0, 0, 0, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 12745};
    PyObject* const varnames[] = {0};
    __pyx_mstate_global->__pyx_codeobj_tab[931] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyscipopt_scip_pxi, __pyx_mstate->__pyx_n_u_print_memory_in_use, __pyx_mstate->__pyx_kp_b_iso88591_q_3, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[931])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[932] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Term, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_4xq_7_awnA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[932])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[933] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Expr, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_4xq_7_awnA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[933])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[934] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_ExprCons, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_881A_7_nA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[934])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[935] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_GenExpr, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_1_7_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[935])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[936] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_SumExpr, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_1_7_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[936])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[937] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_ProdExpr, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_881A_7_nA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[937])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[938] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_VarExpr, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_1_7_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[938])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[939] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PowExpr, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_1_7_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[939])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[940] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_UnaryExpr, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_9HAQ_7_1L_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[940])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[941] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Constant, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_881A_7_nA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[941])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[942] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Benderscut, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_XQa_7_A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[942])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[943] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Branchrule, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_XQa_7_A_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[943])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[944] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Conshdlr, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_881A_7_nA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[944])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[945] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Cutsel, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_6_7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[945])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[946] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Eventhdlr, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_9HAQ_7_1L_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[946])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[947] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Heur, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_4xq_7_awnA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[947])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[948] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Presol, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_6_7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[948])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[949] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Prop, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_4xq_7_awnA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[949])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[950] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Sepa, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_4xq_7_awnA_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[950])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[951] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Reader, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_6_7_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[951])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[952] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Relax, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_5_7_q_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[952])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[953] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_Nodesel, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_1_7_N_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[953])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[954] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_RESULT, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_0_1B_PQ_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[954])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[955] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_PARAMSETT, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_xq_7_6a7Nn_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[955])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[956] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_LPPARAM, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_1_7_1_2DNRS_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[956])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[957] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_PARAMEMPH, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_7q8PP___1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[957])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[958] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_STATUS, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_0_1B_PQ_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[958])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[959] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_STAGE, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_q0_a_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[959])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[960] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_NODETYPE, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_81A_7_2_3FnTU_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[960])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[961] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_PROPTIMIN, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_XQa_7_4A5J_XY_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[961])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[962] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_PRESOLTIM, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_xq_7_6a7Nn_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[962])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[963] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_HEURTIMIN, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_XQa_7_4A5J_XY_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[963])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[964] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_EVENTTYPE, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_HAQ_7_314H_VW_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[964])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[965] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_LOCKTYPE, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_81A_7_2_3FnTU_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[965])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[966] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_IMPLINTTY, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_haq_7_5Q6LNZ_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[966])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[967] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_LPSOLSTAT, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_HAQ_7_314H_VW_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[967])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[968] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_BRANCHDIR, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_HAQ_7_314H_VW_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[968])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[969] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_BENDERSEN, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_1_7_9_TTbbc_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[969])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[970] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_ROWORIGIN, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_7_7q8PP___1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[970])) goto bad;
  }
  {
    const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 4};
    PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_pyx_type, __pyx_mstate->__pyx_n_u_pyx_checksum, __pyx_mstate->__pyx_n_u_pyx_state, __pyx_mstate->__pyx_n_u_pyx_result};
    __pyx_mstate_global->__pyx_codeobj_tab[971] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_pyx_unpickle_PY_SCIP_SOLORIGIN, __pyx_mstate->__pyx_kp_b_iso88591_q_0_kQR_HAQ_7_314H_VW_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[971])) goto bad;
  }
  Py_DECREF(tuple_dedup_map);
  return 0;
  bad:
  Py_DECREF(tuple_dedup_map);
  return -1;
}
/* #### Code section: init_globals ### */

static int __Pyx_InitGlobals(void) {
  /* PythonCompatibility.init */
  if (likely(__Pyx_init_co_variables() == 0)); else
  
  if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  /* AssertionsEnabled.init */
  if (likely(__Pyx_init_assertions_enabled() == 0)); else
  
  if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  /* CommonTypesMetaclass.init */
  if (likely(__pyx_CommonTypesMetaclass_init(__pyx_m) == 0)); else
  
  if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  /* CachedMethodType.init */
  #if CYTHON_COMPILING_IN_LIMITED_API
  {
      PyObject *typesModule=NULL;
      typesModule = PyImport_ImportModule("types");
      if (typesModule) {
          __pyx_mstate_global->__Pyx_CachedMethodType = PyObject_GetAttrString(typesModule, "MethodType");
          Py_DECREF(typesModule);
      }
  } // error handling follows
  #endif
  
  if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  /* CythonFunctionShared.init */
  if (likely(__pyx_CyFunction_init(__pyx_m) == 0)); else
  
  if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  /* Generator.init */
  if (likely(__pyx_Generator_init(__pyx_m) == 0)); else
  
  if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)

  return 0;
  __pyx_L1_error:;
  return -1;
}
/* #### Code section: cleanup_globals ### */
/* #### Code section: cleanup_module ### */
/* #### Code section: main_method ### */
/* #### Code section: utility_code_pragmas ### */
#ifdef _MSC_VER
#pragma warning( push )
/* Warning 4127: conditional expression is constant
 * Cython uses constant conditional expressions to allow in inline functions to be optimized at
 * compile-time, so this warning is not useful
 */
#pragma warning( disable : 4127 )
#endif



/* #### Code section: utility_code_def ### */

/* --- Runtime support code --- */
/* Refnanny */
#if CYTHON_REFNANNY
static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
    PyObject *m = NULL, *p = NULL;
    void *r = NULL;
    m = PyImport_ImportModule(modname);
    if (!m) goto end;
    p = PyObject_GetAttrString(m, "RefNannyAPI");
    if (!p) goto end;
    r = PyLong_AsVoidPtr(p);
end:
    Py_XDECREF(p);
    Py_XDECREF(m);
    return (__Pyx_RefNannyAPIStruct *)r;
}
#endif

/* PyErrExceptionMatches (used by PyObjectGetAttrStrNoError) */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    n = PyTuple_GET_SIZE(tuple);
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
    for (i=0; i<n; i++) {
        if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
    int result;
    PyObject *exc_type;
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject *current_exception = tstate->current_exception;
    if (unlikely(!current_exception)) return 0;
    exc_type = (PyObject*) Py_TYPE(current_exception);
    if (exc_type == err) return 1;
#else
    exc_type = tstate->curexc_type;
    if (exc_type == err) return 1;
    if (unlikely(!exc_type)) return 0;
#endif
    #if CYTHON_AVOID_BORROWED_REFS
    Py_INCREF(exc_type);
    #endif
    if (unlikely(PyTuple_Check(err))) {
        result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
    } else {
        result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
    }
    #if CYTHON_AVOID_BORROWED_REFS
    Py_DECREF(exc_type);
    #endif
    return result;
}
#endif

/* PyErrFetchRestore (used by PyObjectGetAttrStrNoError) */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject *tmp_value;
    assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value)));
    if (value) {
        #if CYTHON_COMPILING_IN_CPYTHON
        if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb))
        #endif
            PyException_SetTraceback(value, tb);
    }
    tmp_value = tstate->current_exception;
    tstate->current_exception = value;
    Py_XDECREF(tmp_value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
#else
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    tmp_type = tstate->curexc_type;
    tmp_value = tstate->curexc_value;
    tmp_tb = tstate->curexc_traceback;
    tstate->curexc_type = type;
    tstate->curexc_value = value;
    tstate->curexc_traceback = tb;
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#endif
}
static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
#if PY_VERSION_HEX >= 0x030C00A6
    PyObject* exc_value;
    exc_value = tstate->current_exception;
    tstate->current_exception = 0;
    *value = exc_value;
    *type = NULL;
    *tb = NULL;
    if (exc_value) {
        *type = (PyObject*) Py_TYPE(exc_value);
        Py_INCREF(*type);
        #if CYTHON_COMPILING_IN_CPYTHON
        *tb = ((PyBaseExceptionObject*) exc_value)->traceback;
        Py_XINCREF(*tb);
        #else
        *tb = PyException_GetTraceback(exc_value);
        #endif
    }
#else
    *type = tstate->curexc_type;
    *value = tstate->curexc_value;
    *tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
#endif
}
#endif

/* PyObjectGetAttrStr (used by PyObjectGetAttrStrNoError) */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro))
        return tp->tp_getattro(obj, attr_name);
    return PyObject_GetAttr(obj, attr_name);
}
#endif

/* PyObjectGetAttrStrNoError (used by GetBuiltinName) */
#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        __Pyx_PyErr_Clear();
}
#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
    PyObject *result;
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
    (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
    return result;
#else
#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
        return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1);
    }
#endif
    result = __Pyx_PyObject_GetAttrStr(obj, attr_name);
    if (unlikely(!result)) {
        __Pyx_PyObject_GetAttrStr_ClearAttributeError();
    }
    return result;
#endif
}

/* GetBuiltinName */
static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
    PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_mstate_global->__pyx_b, name);
    if (unlikely(!result) && !PyErr_Occurred()) {
        PyErr_Format(PyExc_NameError,
            "name '%U' is not defined", name);
    }
    return result;
}

/* TupleAndListFromArray (used by fastcall) */
#if !CYTHON_COMPILING_IN_CPYTHON && CYTHON_METH_FASTCALL
static CYTHON_INLINE PyObject *
__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n)
{
    PyObject *res;
    Py_ssize_t i;
    if (n <= 0) {
        return __Pyx_NewRef(__pyx_mstate_global->__pyx_empty_tuple);
    }
    res = PyTuple_New(n);
    if (unlikely(res == NULL)) return NULL;
    for (i = 0; i < n; i++) {
        if (unlikely(__Pyx_PyTuple_SET_ITEM(res, i, src[i]) < (0))) {
            Py_DECREF(res);
            return NULL;
        }
        Py_INCREF(src[i]);
    }
    return res;
}
#elif CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) {
    PyObject *v;
    Py_ssize_t i;
    for (i = 0; i < length; i++) {
        v = dest[i] = src[i];
        Py_INCREF(v);
    }
}
static CYTHON_INLINE PyObject *
__Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n)
{
    PyObject *res;
    if (n <= 0) {
        return __Pyx_NewRef(__pyx_mstate_global->__pyx_empty_tuple);
    }
    res = PyTuple_New(n);
    if (unlikely(res == NULL)) return NULL;
    __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n);
    return res;
}
static CYTHON_INLINE PyObject *
__Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n)
{
    PyObject *res;
    if (n <= 0) {
        return PyList_New(0);
    }
    res = PyList_New(n);
    if (unlikely(res == NULL)) return NULL;
    __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n);
    return res;
}
#endif

/* BytesEquals (used by UnicodeEquals) */
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL ||\
        !(CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS)
    return PyObject_RichCompareBool(s1, s2, equals);
#else
    if (s1 == s2) {
        return (equals == Py_EQ);
    } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
        const char *ps1, *ps2;
        Py_ssize_t length = PyBytes_GET_SIZE(s1);
        if (length != PyBytes_GET_SIZE(s2))
            return (equals == Py_NE);
        ps1 = PyBytes_AS_STRING(s1);
        ps2 = PyBytes_AS_STRING(s2);
        if (ps1[0] != ps2[0]) {
            return (equals == Py_NE);
        } else if (length == 1) {
            return (equals == Py_EQ);
        } else {
            int result;
#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000)
            Py_hash_t hash1, hash2;
            hash1 = ((PyBytesObject*)s1)->ob_shash;
            hash2 = ((PyBytesObject*)s2)->ob_shash;
            if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
                return (equals == Py_NE);
            }
#endif
            result = memcmp(ps1, ps2, (size_t)length);
            return (equals == Py_EQ) ? (result == 0) : (result != 0);
        }
    } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
        return (equals == Py_NE);
    } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
        return (equals == Py_NE);
    } else {
        int result;
        PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
        if (!py_result)
            return -1;
        result = __Pyx_PyObject_IsTrue(py_result);
        Py_DECREF(py_result);
        return result;
    }
#endif
}

/* UnicodeEquals (used by fastcall) */
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL
    return PyObject_RichCompareBool(s1, s2, equals);
#else
    int s1_is_unicode, s2_is_unicode;
    if (s1 == s2) {
        goto return_eq;
    }
    s1_is_unicode = PyUnicode_CheckExact(s1);
    s2_is_unicode = PyUnicode_CheckExact(s2);
    if (s1_is_unicode & s2_is_unicode) {
        Py_ssize_t length, length2;
        int kind;
        void *data1, *data2;
        #if !CYTHON_COMPILING_IN_LIMITED_API
        if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
            return -1;
        #endif
        length = __Pyx_PyUnicode_GET_LENGTH(s1);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(length < 0)) return -1;
        #endif
        length2 = __Pyx_PyUnicode_GET_LENGTH(s2);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(length2 < 0)) return -1;
        #endif
        if (length != length2) {
            goto return_ne;
        }
#if CYTHON_USE_UNICODE_INTERNALS
        {
            Py_hash_t hash1, hash2;
            hash1 = ((PyASCIIObject*)s1)->hash;
            hash2 = ((PyASCIIObject*)s2)->hash;
            if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
                goto return_ne;
            }
        }
#endif
        kind = __Pyx_PyUnicode_KIND(s1);
        if (kind != __Pyx_PyUnicode_KIND(s2)) {
            goto return_ne;
        }
        data1 = __Pyx_PyUnicode_DATA(s1);
        data2 = __Pyx_PyUnicode_DATA(s2);
        if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
            goto return_ne;
        } else if (length == 1) {
            goto return_eq;
        } else {
            int result = memcmp(data1, data2, (size_t)(length * kind));
            return (equals == Py_EQ) ? (result == 0) : (result != 0);
        }
    } else if ((s1 == Py_None) & s2_is_unicode) {
        goto return_ne;
    } else if ((s2 == Py_None) & s1_is_unicode) {
        goto return_ne;
    } else {
        int result;
        PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
        if (!py_result)
            return -1;
        result = __Pyx_PyObject_IsTrue(py_result);
        Py_DECREF(py_result);
        return result;
    }
return_eq:
    return (equals == Py_EQ);
return_ne:
    return (equals == Py_NE);
#endif
}

/* fastcall */
#if CYTHON_METH_FASTCALL
static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s)
{
    Py_ssize_t i, n = __Pyx_PyTuple_GET_SIZE(kwnames);
    #if !CYTHON_ASSUME_SAFE_SIZE
    if (unlikely(n == -1)) return NULL;
    #endif
    for (i = 0; i < n; i++)
    {
        PyObject *namei = __Pyx_PyTuple_GET_ITEM(kwnames, i);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely(!namei)) return NULL;
        #endif
        if (s == namei) return kwvalues[i];
    }
    for (i = 0; i < n; i++)
    {
        PyObject *namei = __Pyx_PyTuple_GET_ITEM(kwnames, i);
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely(!namei)) return NULL;
        #endif
        int eq = __Pyx_PyUnicode_Equals(s, namei, Py_EQ);
        if (unlikely(eq != 0)) {
            if (unlikely(eq < 0)) return NULL;
            return kwvalues[i];
        }
    }
    return NULL;
}
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API
CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) {
    Py_ssize_t i, nkwargs;
    PyObject *dict;
#if !CYTHON_ASSUME_SAFE_SIZE
    nkwargs = PyTuple_Size(kwnames);
    if (unlikely(nkwargs < 0)) return NULL;
#else
    nkwargs = PyTuple_GET_SIZE(kwnames);
#endif
    dict = PyDict_New();
    if (unlikely(!dict))
        return NULL;
    for (i=0; i<nkwargs; i++) {
#if !CYTHON_ASSUME_SAFE_MACROS
        PyObject *key = PyTuple_GetItem(kwnames, i);
        if (!key) goto bad;
#else
        PyObject *key = PyTuple_GET_ITEM(kwnames, i);
#endif
        if (unlikely(PyDict_SetItem(dict, key, kwvalues[i]) < 0))
            goto bad;
    }
    return dict;
bad:
    Py_DECREF(dict);
    return NULL;
}
#endif
#endif

/* PyObjectCall (used by PyObjectFastCall) */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *result;
    ternaryfunc call = Py_TYPE(func)->tp_call;
    if (unlikely(!call))
        return PyObject_Call(func, arg, kw);
    if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
        return NULL;
    result = (*call)(func, arg, kw);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectCallMethO (used by PyObjectFastCall) */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
    PyObject *self, *result;
    PyCFunction cfunc;
    cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
    self = __Pyx_CyOrPyCFunction_GET_SELF(func);
    if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
        return NULL;
    result = cfunc(self, arg);
    Py_LeaveRecursiveCall();
    if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
        PyErr_SetString(
            PyExc_SystemError,
            "NULL result without error in PyObject_Call");
    }
    return result;
}
#endif

/* PyObjectFastCall (used by PyObjectCallOneArg) */
#if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API
static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject * const*args, size_t nargs, PyObject *kwargs) {
    PyObject *argstuple;
    PyObject *result = 0;
    size_t i;
    argstuple = PyTuple_New((Py_ssize_t)nargs);
    if (unlikely(!argstuple)) return NULL;
    for (i = 0; i < nargs; i++) {
        Py_INCREF(args[i]);
        if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) != (0)) goto bad;
    }
    result = __Pyx_PyObject_Call(func, argstuple, kwargs);
  bad:
    Py_DECREF(argstuple);
    return result;
}
#endif
#if CYTHON_VECTORCALL && !CYTHON_COMPILING_IN_LIMITED_API
  #if PY_VERSION_HEX < 0x03090000
    #define __Pyx_PyVectorcall_Function(callable) _PyVectorcall_Function(callable)
  #elif CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE vectorcallfunc __Pyx_PyVectorcall_Function(PyObject *callable) {
    PyTypeObject *tp = Py_TYPE(callable);
    #if defined(__Pyx_CyFunction_USED)
    if (__Pyx_CyFunction_CheckExact(callable)) {
        return __Pyx_CyFunction_func_vectorcall(callable);
    }
    #endif
    if (!PyType_HasFeature(tp, Py_TPFLAGS_HAVE_VECTORCALL)) {
        return NULL;
    }
    assert(PyCallable_Check(callable));
    Py_ssize_t offset = tp->tp_vectorcall_offset;
    assert(offset > 0);
    vectorcallfunc ptr;
    memcpy(&ptr, (char *) callable + offset, sizeof(ptr));
    return ptr;
}
  #else
    #define __Pyx_PyVectorcall_Function(callable) PyVectorcall_Function(callable)
  #endif
#endif
static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject *const *args, size_t _nargs, PyObject *kwargs) {
    Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs);
#if CYTHON_COMPILING_IN_CPYTHON
    if (nargs == 0 && kwargs == NULL) {
        if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
            return __Pyx_PyObject_CallMethO(func, NULL);
    }
    else if (nargs == 1 && kwargs == NULL) {
        if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
            return __Pyx_PyObject_CallMethO(func, args[0]);
    }
#endif
    if (kwargs == NULL) {
        #if CYTHON_VECTORCALL
          #if CYTHON_COMPILING_IN_LIMITED_API
            return PyObject_Vectorcall(func, args, _nargs, NULL);
          #else
            vectorcallfunc f = __Pyx_PyVectorcall_Function(func);
            if (f) {
                return f(func, args, _nargs, NULL);
            }
          #endif
        #endif
    }
    if (nargs == 0) {
        return __Pyx_PyObject_Call(func, __pyx_mstate_global->__pyx_empty_tuple, kwargs);
    }
    #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
    return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs);
    #else
    return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
    #endif
}

/* PyObjectCallOneArg (used by CallUnboundCMethod0) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
    PyObject *args[2] = {NULL, arg};
    return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* UnpackUnboundCMethod (used by CallUnboundCMethod0) */
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030C0000
static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject *args, PyObject *kwargs) {
    PyObject *result;
    PyObject *selfless_args = PyTuple_GetSlice(args, 1, PyTuple_Size(args));
    if (unlikely(!selfless_args)) return NULL;
    result = PyObject_Call(method, selfless_args, kwargs);
    Py_DECREF(selfless_args);
    return result;
}
#elif CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x03090000
static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject **args, Py_ssize_t nargs, PyObject *kwnames) {
        return _PyObject_Vectorcall
            (method, args ? args+1 : NULL, nargs ? nargs-1 : 0, kwnames);
}
#else
static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) {
    return
#if PY_VERSION_HEX < 0x03090000
    _PyObject_Vectorcall
#else
    PyObject_Vectorcall
#endif
        (method, args ? args+1 : NULL, nargs ? (size_t) nargs-1 : 0, kwnames);
}
#endif
static PyMethodDef __Pyx_UnboundCMethod_Def = {
     "CythonUnboundCMethod",
     __PYX_REINTERPRET_FUNCION(PyCFunction, __Pyx_SelflessCall),
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030C0000
     METH_VARARGS | METH_KEYWORDS,
#else
     METH_FASTCALL | METH_KEYWORDS,
#endif
     NULL
};
static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
    PyObject *method, *result=NULL;
    method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name);
    if (unlikely(!method))
        return -1;
    result = method;
#if CYTHON_COMPILING_IN_CPYTHON
    if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type)))
    {
        PyMethodDescrObject *descr = (PyMethodDescrObject*) method;
        target->func = descr->d_method->ml_meth;
        target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS);
    } else
#endif
#if CYTHON_COMPILING_IN_PYPY
#else
    if (PyCFunction_Check(method))
#endif
    {
        PyObject *self;
        int self_found;
#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
        self = PyObject_GetAttrString(method, "__self__");
        if (!self) {
            PyErr_Clear();
        }
#else
        self = PyCFunction_GET_SELF(method);
#endif
        self_found = (self && self != Py_None);
#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
        Py_XDECREF(self);
#endif
        if (self_found) {
            PyObject *unbound_method = PyCFunction_New(&__Pyx_UnboundCMethod_Def, method);
            if (unlikely(!unbound_method)) return -1;
            Py_DECREF(method);
            result = unbound_method;
        }
    }
#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    if (unlikely(target->method)) {
        Py_DECREF(result);
    } else
#endif
    target->method = result;
    return 0;
}

/* CallUnboundCMethod0 */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) {
    int was_initialized = __Pyx_CachedCFunction_GetAndSetInitializing(cfunc);
    if (likely(was_initialized == 2 && cfunc->func)) {
        if (likely(cfunc->flag == METH_NOARGS))
            return __Pyx_CallCFunction(cfunc, self, NULL);
        if (likely(cfunc->flag == METH_FASTCALL))
            return __Pyx_CallCFunctionFast(cfunc, self, NULL, 0);
        if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS))
            return __Pyx_CallCFunctionFastWithKeywords(cfunc, self, NULL, 0, NULL);
        if (likely(cfunc->flag == (METH_VARARGS | METH_KEYWORDS)))
            return __Pyx_CallCFunctionWithKeywords(cfunc, self, __pyx_mstate_global->__pyx_empty_tuple, NULL);
        if (cfunc->flag == METH_VARARGS)
            return __Pyx_CallCFunction(cfunc, self, __pyx_mstate_global->__pyx_empty_tuple);
        return __Pyx__CallUnboundCMethod0(cfunc, self);
    }
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    else if (unlikely(was_initialized == 1)) {
        __Pyx_CachedCFunction tmp_cfunc = {
#ifndef __cplusplus
            0
#endif
        };
        tmp_cfunc.type = cfunc->type;
        tmp_cfunc.method_name = cfunc->method_name;
        return __Pyx__CallUnboundCMethod0(&tmp_cfunc, self);
    }
#endif
    PyObject *result = __Pyx__CallUnboundCMethod0(cfunc, self);
    __Pyx_CachedCFunction_SetFinishedInitializing(cfunc);
    return result;
}
#endif
static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) {
    PyObject *result;
    if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
    result = __Pyx_PyObject_CallOneArg(cfunc->method, self);
    return result;
}

/* py_dict_items (used by OwnedDictNext) */
static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d) {
    return __Pyx_CallUnboundCMethod0(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_items, d);
}

/* py_dict_values (used by OwnedDictNext) */
static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d) {
    return __Pyx_CallUnboundCMethod0(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_values, d);
}

/* OwnedDictNext (used by ParseKeywordsImpl) */
#if CYTHON_AVOID_BORROWED_REFS
static int __Pyx_PyDict_NextRef(PyObject *p, PyObject **ppos, PyObject **pkey, PyObject **pvalue) {
    PyObject *next = NULL;
    if (!*ppos) {
        if (pvalue) {
            PyObject *dictview = pkey ? __Pyx_PyDict_Items(p) : __Pyx_PyDict_Values(p);
            if (unlikely(!dictview)) goto bad;
            *ppos = PyObject_GetIter(dictview);
            Py_DECREF(dictview);
        } else {
            *ppos = PyObject_GetIter(p);
        }
        if (unlikely(!*ppos)) goto bad;
    }
    next = PyIter_Next(*ppos);
    if (!next) {
        if (PyErr_Occurred()) goto bad;
        return 0;
    }
    if (pkey && pvalue) {
        *pkey = __Pyx_PySequence_ITEM(next, 0);
        if (unlikely(*pkey)) goto bad;
        *pvalue = __Pyx_PySequence_ITEM(next, 1);
        if (unlikely(*pvalue)) goto bad;
        Py_DECREF(next);
    } else if (pkey) {
        *pkey = next;
    } else {
        assert(pvalue);
        *pvalue = next;
    }
    return 1;
  bad:
    Py_XDECREF(next);
#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d0000
    PyErr_FormatUnraisable("Exception ignored in __Pyx_PyDict_NextRef");
#else
    PyErr_WriteUnraisable(__pyx_mstate_global->__pyx_n_u_Pyx_PyDict_NextRef);
#endif
    if (pkey) *pkey = NULL;
    if (pvalue) *pvalue = NULL;
    return 0;
}
#else // !CYTHON_AVOID_BORROWED_REFS
static int __Pyx_PyDict_NextRef(PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue) {
    int result = PyDict_Next(p, ppos, pkey, pvalue);
    if (likely(result == 1)) {
        if (pkey) Py_INCREF(*pkey);
        if (pvalue) Py_INCREF(*pvalue);
    }
    return result;
}
#endif

/* RaiseDoubleKeywords (used by ParseKeywordsImpl) */
static void __Pyx_RaiseDoubleKeywordsError(
    const char* func_name,
    PyObject* kw_name)
{
    PyErr_Format(PyExc_TypeError,
        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
}

/* CallUnboundCMethod2 */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2) {
    int was_initialized = __Pyx_CachedCFunction_GetAndSetInitializing(cfunc);
    if (likely(was_initialized == 2 && cfunc->func)) {
        PyObject *args[2] = {arg1, arg2};
        if (cfunc->flag == METH_FASTCALL) {
            return __Pyx_CallCFunctionFast(cfunc, self, args, 2);
        }
        if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS))
            return __Pyx_CallCFunctionFastWithKeywords(cfunc, self, args, 2, NULL);
    }
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
    else if (unlikely(was_initialized == 1)) {
        __Pyx_CachedCFunction tmp_cfunc = {
#ifndef __cplusplus
            0
#endif
        };
        tmp_cfunc.type = cfunc->type;
        tmp_cfunc.method_name = cfunc->method_name;
        return __Pyx__CallUnboundCMethod2(&tmp_cfunc, self, arg1, arg2);
    }
#endif
    PyObject *result = __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2);
    __Pyx_CachedCFunction_SetFinishedInitializing(cfunc);
    return result;
}
#endif
static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2){
    if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
#if CYTHON_COMPILING_IN_CPYTHON
    if (cfunc->func && (cfunc->flag & METH_VARARGS)) {
        PyObject *result = NULL;
        PyObject *args = PyTuple_New(2);
        if (unlikely(!args)) return NULL;
        Py_INCREF(arg1);
        PyTuple_SET_ITEM(args, 0, arg1);
        Py_INCREF(arg2);
        PyTuple_SET_ITEM(args, 1, arg2);
        if (cfunc->flag & METH_KEYWORDS)
            result = __Pyx_CallCFunctionWithKeywords(cfunc, self, args, NULL);
        else
            result = __Pyx_CallCFunction(cfunc, self, args);
        Py_DECREF(args);
        return result;
    }
#endif
    {
        PyObject *args[4] = {NULL, self, arg1, arg2};
        return __Pyx_PyObject_FastCall(cfunc->method, args+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
    }
}

/* ParseKeywordsImpl (used by ParseKeywords) */
static int __Pyx_ValidateDuplicatePosArgs(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    const char* function_name)
{
    PyObject ** const *name = argnames;
    while (name != first_kw_arg) {
        PyObject *key = **name;
        int found = PyDict_Contains(kwds, key);
        if (unlikely(found)) {
            if (found == 1) __Pyx_RaiseDoubleKeywordsError(function_name, key);
            goto bad;
        }
        name++;
    }
    return 0;
bad:
    return -1;
}
#if CYTHON_USE_UNICODE_INTERNALS
static CYTHON_INLINE int __Pyx_UnicodeKeywordsEqual(PyObject *s1, PyObject *s2) {
    int kind;
    Py_ssize_t len = PyUnicode_GET_LENGTH(s1);
    if (len != PyUnicode_GET_LENGTH(s2)) return 0;
    kind = PyUnicode_KIND(s1);
    if (kind != PyUnicode_KIND(s2)) return 0;
    const void *data1 = PyUnicode_DATA(s1);
    const void *data2 = PyUnicode_DATA(s2);
    return (memcmp(data1, data2, (size_t) len * (size_t) kind) == 0);
}
#endif
static int __Pyx_MatchKeywordArg_str(
    PyObject *key,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    size_t *index_found,
    const char *function_name)
{
    PyObject ** const *name;
    #if CYTHON_USE_UNICODE_INTERNALS
    Py_hash_t key_hash = ((PyASCIIObject*)key)->hash;
    if (unlikely(key_hash == -1)) {
        key_hash = PyObject_Hash(key);
        if (unlikely(key_hash == -1))
            goto bad;
    }
    #endif
    name = first_kw_arg;
    while (*name) {
        PyObject *name_str = **name;
        #if CYTHON_USE_UNICODE_INTERNALS
        if (key_hash == ((PyASCIIObject*)name_str)->hash && __Pyx_UnicodeKeywordsEqual(name_str, key)) {
            *index_found = (size_t) (name - argnames);
            return 1;
        }
        #else
        #if CYTHON_ASSUME_SAFE_SIZE
        if (PyUnicode_GET_LENGTH(name_str) == PyUnicode_GET_LENGTH(key))
        #endif
        {
            int cmp = PyUnicode_Compare(name_str, key);
            if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
            if (cmp == 0) {
                *index_found = (size_t) (name - argnames);
                return 1;
            }
        }
        #endif
        name++;
    }
    name = argnames;
    while (name != first_kw_arg) {
        PyObject *name_str = **name;
        #if CYTHON_USE_UNICODE_INTERNALS
        if (unlikely(key_hash == ((PyASCIIObject*)name_str)->hash)) {
            if (__Pyx_UnicodeKeywordsEqual(name_str, key))
                goto arg_passed_twice;
        }
        #else
        #if CYTHON_ASSUME_SAFE_SIZE
        if (PyUnicode_GET_LENGTH(name_str) == PyUnicode_GET_LENGTH(key))
        #endif
        {
            if (unlikely(name_str == key)) goto arg_passed_twice;
            int cmp = PyUnicode_Compare(name_str, key);
            if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
            if (cmp == 0) goto arg_passed_twice;
        }
        #endif
        name++;
    }
    return 0;
arg_passed_twice:
    __Pyx_RaiseDoubleKeywordsError(function_name, key);
    goto bad;
bad:
    return -1;
}
static int __Pyx_MatchKeywordArg_nostr(
    PyObject *key,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    size_t *index_found,
    const char *function_name)
{
    PyObject ** const *name;
    if (unlikely(!PyUnicode_Check(key))) goto invalid_keyword_type;
    name = first_kw_arg;
    while (*name) {
        int cmp = PyObject_RichCompareBool(**name, key, Py_EQ);
        if (cmp == 1) {
            *index_found = (size_t) (name - argnames);
            return 1;
        }
        if (unlikely(cmp == -1)) goto bad;
        name++;
    }
    name = argnames;
    while (name != first_kw_arg) {
        int cmp = PyObject_RichCompareBool(**name, key, Py_EQ);
        if (unlikely(cmp != 0)) {
            if (cmp == 1) goto arg_passed_twice;
            else goto bad;
        }
        name++;
    }
    return 0;
arg_passed_twice:
    __Pyx_RaiseDoubleKeywordsError(function_name, key);
    goto bad;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%.200s() keywords must be strings", function_name);
    goto bad;
bad:
    return -1;
}
static CYTHON_INLINE int __Pyx_MatchKeywordArg(
    PyObject *key,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    size_t *index_found,
    const char *function_name)
{
    return likely(PyUnicode_CheckExact(key)) ?
        __Pyx_MatchKeywordArg_str(key, argnames, first_kw_arg, index_found, function_name) :
        __Pyx_MatchKeywordArg_nostr(key, argnames, first_kw_arg, index_found, function_name);
}
static void __Pyx_RejectUnknownKeyword(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject ** const *first_kw_arg,
    const char *function_name)
{
    #if CYTHON_AVOID_BORROWED_REFS
    PyObject *pos = NULL;
    #else
    Py_ssize_t pos = 0;
    #endif
    PyObject *key = NULL;
    __Pyx_BEGIN_CRITICAL_SECTION(kwds);
    while (
        #if CYTHON_AVOID_BORROWED_REFS
        __Pyx_PyDict_NextRef(kwds, &pos, &key, NULL)
        #else
        PyDict_Next(kwds, &pos, &key, NULL)
        #endif
    ) {
        PyObject** const *name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (!*name) {
            size_t index_found = 0;
            int cmp = __Pyx_MatchKeywordArg(key, argnames, first_kw_arg, &index_found, function_name);
            if (cmp != 1) {
                if (cmp == 0) {
                    PyErr_Format(PyExc_TypeError,
                        "%s() got an unexpected keyword argument '%U'",
                        function_name, key);
                }
                #if CYTHON_AVOID_BORROWED_REFS
                Py_DECREF(key);
                #endif
                break;
            }
        }
        #if CYTHON_AVOID_BORROWED_REFS
        Py_DECREF(key);
        #endif
    }
    __Pyx_END_CRITICAL_SECTION();
    #if CYTHON_AVOID_BORROWED_REFS
    Py_XDECREF(pos);
    #endif
    assert(PyErr_Occurred());
}
static int __Pyx_ParseKeywordDict(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject *values[],
    Py_ssize_t num_pos_args,
    Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs)
{
    PyObject** const *name;
    PyObject** const *first_kw_arg = argnames + num_pos_args;
    Py_ssize_t extracted = 0;
#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments)
    if (unlikely(!PyArg_ValidateKeywordArguments(kwds))) return -1;
#endif
    name = first_kw_arg;
    while (*name && num_kwargs > extracted) {
        PyObject * key = **name;
        PyObject *value;
        int found = 0;
        #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
        found = PyDict_GetItemRef(kwds, key, &value);
        #else
        value = PyDict_GetItemWithError(kwds, key);
        if (value) {
            Py_INCREF(value);
            found = 1;
        } else {
            if (unlikely(PyErr_Occurred())) goto bad;
        }
        #endif
        if (found) {
            if (unlikely(found < 0)) goto bad;
            values[name-argnames] = value;
            extracted++;
        }
        name++;
    }
    if (num_kwargs > extracted) {
        if (ignore_unknown_kwargs) {
            if (unlikely(__Pyx_ValidateDuplicatePosArgs(kwds, argnames, first_kw_arg, function_name) == -1))
                goto bad;
        } else {
            __Pyx_RejectUnknownKeyword(kwds, argnames, first_kw_arg, function_name);
            goto bad;
        }
    }
    return 0;
bad:
    return -1;
}
static int __Pyx_ParseKeywordDictToDict(
    PyObject *kwds,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name)
{
    PyObject** const *name;
    PyObject** const *first_kw_arg = argnames + num_pos_args;
    Py_ssize_t len;
#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments)
    if (unlikely(!PyArg_ValidateKeywordArguments(kwds))) return -1;
#endif
    if (PyDict_Update(kwds2, kwds) < 0) goto bad;
    name = first_kw_arg;
    while (*name) {
        PyObject *key = **name;
        PyObject *value;
#if !CYTHON_COMPILING_IN_LIMITED_API && (PY_VERSION_HEX >= 0x030d00A2 || defined(PyDict_Pop))
        int found = PyDict_Pop(kwds2, key, &value);
        if (found) {
            if (unlikely(found < 0)) goto bad;
            values[name-argnames] = value;
        }
#elif __PYX_LIMITED_VERSION_HEX >= 0x030d0000
        int found = PyDict_GetItemRef(kwds2, key, &value);
        if (found) {
            if (unlikely(found < 0)) goto bad;
            values[name-argnames] = value;
            if (unlikely(PyDict_DelItem(kwds2, key) < 0)) goto bad;
        }
#else
    #if CYTHON_COMPILING_IN_CPYTHON
        value = _PyDict_Pop(kwds2, key, kwds2);
    #else
        value = __Pyx_CallUnboundCMethod2(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_pop, kwds2, key, kwds2);
    #endif
        if (value == kwds2) {
            Py_DECREF(value);
        } else {
            if (unlikely(!value)) goto bad;
            values[name-argnames] = value;
        }
#endif
        name++;
    }
    len = PyDict_Size(kwds2);
    if (len > 0) {
        return __Pyx_ValidateDuplicatePosArgs(kwds, argnames, first_kw_arg, function_name);
    } else if (unlikely(len == -1)) {
        goto bad;
    }
    return 0;
bad:
    return -1;
}
static int __Pyx_ParseKeywordsTuple(
    PyObject *kwds,
    PyObject * const *kwvalues,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs)
{
    PyObject *key = NULL;
    PyObject** const * name;
    PyObject** const *first_kw_arg = argnames + num_pos_args;
    for (Py_ssize_t pos = 0; pos < num_kwargs; pos++) {
#if CYTHON_AVOID_BORROWED_REFS
        key = __Pyx_PySequence_ITEM(kwds, pos);
#else
        key = __Pyx_PyTuple_GET_ITEM(kwds, pos);
#endif
#if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely(!key)) goto bad;
#endif
        name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (*name) {
            PyObject *value = kwvalues[pos];
            values[name-argnames] = __Pyx_NewRef(value);
        } else {
            size_t index_found = 0;
            int cmp = __Pyx_MatchKeywordArg(key, argnames, first_kw_arg, &index_found, function_name);
            if (cmp == 1) {
                PyObject *value = kwvalues[pos];
                values[index_found] = __Pyx_NewRef(value);
            } else {
                if (unlikely(cmp == -1)) goto bad;
                if (kwds2) {
                    PyObject *value = kwvalues[pos];
                    if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
                } else if (!ignore_unknown_kwargs) {
                    goto invalid_keyword;
                }
            }
        }
        #if CYTHON_AVOID_BORROWED_REFS
        Py_DECREF(key);
        key = NULL;
        #endif
    }
    return 0;
invalid_keyword:
    PyErr_Format(PyExc_TypeError,
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    goto bad;
bad:
    #if CYTHON_AVOID_BORROWED_REFS
    Py_XDECREF(key);
    #endif
    return -1;
}

/* ParseKeywords */
static int __Pyx_ParseKeywords(
    PyObject *kwds,
    PyObject * const *kwvalues,
    PyObject ** const argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    Py_ssize_t num_kwargs,
    const char* function_name,
    int ignore_unknown_kwargs)
{
    if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds)))
        return __Pyx_ParseKeywordsTuple(kwds, kwvalues, argnames, kwds2, values, num_pos_args, num_kwargs, function_name, ignore_unknown_kwargs);
    else if (kwds2)
        return __Pyx_ParseKeywordDictToDict(kwds, argnames, kwds2, values, num_pos_args, function_name);
    else
        return __Pyx_ParseKeywordDict(kwds, argnames, values, num_pos_args, num_kwargs, function_name, ignore_unknown_kwargs);
}

/* RaiseArgTupleInvalid */
static void __Pyx_RaiseArgtupleInvalid(
    const char* func_name,
    int exact,
    Py_ssize_t num_min,
    Py_ssize_t num_max,
    Py_ssize_t num_found)
{
    Py_ssize_t num_expected;
    const char *more_or_less;
    if (num_found < num_min) {
        num_expected = num_min;
        more_or_less = "at least";
    } else {
        num_expected = num_max;
        more_or_less = "at most";
    }
    if (exact) {
        more_or_less = "exactly";
    }
    PyErr_Format(PyExc_TypeError,
                 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
                 func_name, more_or_less, num_expected,
                 (num_expected == 1) ? "" : "s", num_found);
}

/* PyObjectFastCallMethod */
#if !CYTHON_VECTORCALL || PY_VERSION_HEX < 0x03090000
static PyObject *__Pyx_PyObject_FastCallMethod(PyObject *name, PyObject *const *args, size_t nargsf) {
    PyObject *result;
    PyObject *attr = PyObject_GetAttr(args[0], name);
    if (unlikely(!attr))
        return NULL;
    result = __Pyx_PyObject_FastCall(attr, args+1, nargsf - 1);
    Py_DECREF(attr);
    return result;
}
#endif

/* ArgTypeTestFunc (used by ArgTypeTest) */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
{
    __Pyx_TypeName type_name;
    __Pyx_TypeName obj_type_name;
    PyObject *extra_info = __pyx_mstate_global->__pyx_empty_unicode;
    int from_annotation_subclass = 0;
    if (unlikely(!type)) {
        PyErr_SetString(PyExc_SystemError, "Missing type object");
        return 0;
    }
    else if (!exact) {
        if (likely(__Pyx_TypeCheck(obj, type))) return 1;
    } else if (exact == 2) {
        if (__Pyx_TypeCheck(obj, type)) {
            from_annotation_subclass = 1;
            extra_info = __pyx_mstate_global->__pyx_kp_u_Note_that_Cython_is_deliberately;
        }
    }
    type_name = __Pyx_PyType_GetFullyQualifiedName(type);
    obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError,
        "Argument '%.200s' has incorrect type (expected " __Pyx_FMT_TYPENAME
        ", got " __Pyx_FMT_TYPENAME ")"
#if __PYX_LIMITED_VERSION_HEX < 0x030C0000
        "%s%U"
#endif
        , name, type_name, obj_type_name
#if __PYX_LIMITED_VERSION_HEX < 0x030C0000
        , (from_annotation_subclass ? ". " : ""), extra_info
#endif
        );
#if __PYX_LIMITED_VERSION_HEX >= 0x030C0000
    if (exact == 2 && from_annotation_subclass) {
        PyObject *res;
        PyObject *vargs[2];
        vargs[0] = PyErr_GetRaisedException();
        vargs[1] = extra_info;
        res = PyObject_VectorcallMethod(__pyx_mstate_global->__pyx_kp_u_add_note, vargs, 2, NULL);
        Py_XDECREF(res);
        PyErr_SetRaisedException(vargs[0]);
    }
#endif
    __Pyx_DECREF_TypeName(type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return 0;
}

/* RaiseException */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
    PyObject* owned_instance = NULL;
    if (tb == Py_None) {
        tb = 0;
    } else if (tb && !PyTraceBack_Check(tb)) {
        PyErr_SetString(PyExc_TypeError,
            "raise: arg 3 must be a traceback or None");
        goto bad;
    }
    if (value == Py_None)
        value = 0;
    if (PyExceptionInstance_Check(type)) {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto bad;
        }
        value = type;
        type = (PyObject*) Py_TYPE(value);
    } else if (PyExceptionClass_Check(type)) {
        PyObject *instance_class = NULL;
        if (value && PyExceptionInstance_Check(value)) {
            instance_class = (PyObject*) Py_TYPE(value);
            if (instance_class != type) {
                int is_subclass = PyObject_IsSubclass(instance_class, type);
                if (!is_subclass) {
                    instance_class = NULL;
                } else if (unlikely(is_subclass == -1)) {
                    goto bad;
                } else {
                    type = instance_class;
                }
            }
        }
        if (!instance_class) {
            PyObject *args;
            if (!value)
                args = PyTuple_New(0);
            else if (PyTuple_Check(value)) {
                Py_INCREF(value);
                args = value;
            } else
                args = PyTuple_Pack(1, value);
            if (!args)
                goto bad;
            owned_instance = PyObject_Call(type, args, NULL);
            Py_DECREF(args);
            if (!owned_instance)
                goto bad;
            value = owned_instance;
            if (!PyExceptionInstance_Check(value)) {
                PyErr_Format(PyExc_TypeError,
                             "calling %R should have returned an instance of "
                             "BaseException, not %R",
                             type, Py_TYPE(value));
                goto bad;
            }
        }
    } else {
        PyErr_SetString(PyExc_TypeError,
            "raise: exception class must be a subclass of BaseException");
        goto bad;
    }
    if (cause) {
        PyObject *fixed_cause;
        if (cause == Py_None) {
            fixed_cause = NULL;
        } else if (PyExceptionClass_Check(cause)) {
            fixed_cause = PyObject_CallObject(cause, NULL);
            if (fixed_cause == NULL)
                goto bad;
        } else if (PyExceptionInstance_Check(cause)) {
            fixed_cause = cause;
            Py_INCREF(fixed_cause);
        } else {
            PyErr_SetString(PyExc_TypeError,
                            "exception causes must derive from "
                            "BaseException");
            goto bad;
        }
        PyException_SetCause(value, fixed_cause);
    }
    PyErr_SetObject(type, value);
    if (tb) {
#if PY_VERSION_HEX >= 0x030C00A6
        PyException_SetTraceback(value, tb);
#elif CYTHON_FAST_THREAD_STATE
        PyThreadState *tstate = __Pyx_PyThreadState_Current;
        PyObject* tmp_tb = tstate->curexc_traceback;
        if (tb != tmp_tb) {
            Py_INCREF(tb);
            tstate->curexc_traceback = tb;
            Py_XDECREF(tmp_tb);
        }
#else
        PyObject *tmp_type, *tmp_value, *tmp_tb;
        PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
        Py_INCREF(tb);
        PyErr_Restore(tmp_type, tmp_value, tb);
        Py_XDECREF(tmp_tb);
#endif
    }
bad:
    Py_XDECREF(owned_instance);
    return;
}

/* RaiseUnexpectedTypeError */
static int
__Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj)
{
    __Pyx_TypeName obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError, "Expected %s, got " __Pyx_FMT_TYPENAME,
                 expected, obj_type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return 0;
}

/* CIntToDigits (used by CIntToPyUnicode) */
static const char DIGIT_PAIRS_10[2*10*10+1] = {
    "00010203040506070809"
    "10111213141516171819"
    "20212223242526272829"
    "30313233343536373839"
    "40414243444546474849"
    "50515253545556575859"
    "60616263646566676869"
    "70717273747576777879"
    "80818283848586878889"
    "90919293949596979899"
};
static const char DIGIT_PAIRS_8[2*8*8+1] = {
    "0001020304050607"
    "1011121314151617"
    "2021222324252627"
    "3031323334353637"
    "4041424344454647"
    "5051525354555657"
    "6061626364656667"
    "7071727374757677"
};
static const char DIGITS_HEX[2*16+1] = {
    "0123456789abcdef"
    "0123456789ABCDEF"
};

/* BuildPyUnicode (used by COrdinalToPyUnicode) */
static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength, const char* chars, int clength,
                                                int prepend_sign, char padding_char) {
    PyObject *uval;
    Py_ssize_t uoffset = ulength - clength;
#if CYTHON_USE_UNICODE_INTERNALS
    Py_ssize_t i;
    void *udata;
    uval = PyUnicode_New(ulength, 127);
    if (unlikely(!uval)) return NULL;
    udata = PyUnicode_DATA(uval);
    if (uoffset > 0) {
        i = 0;
        if (prepend_sign) {
            __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, 0, '-');
            i++;
        }
        for (; i < uoffset; i++) {
            __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, i, padding_char);
        }
    }
    for (i=0; i < clength; i++) {
        __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, uoffset+i, chars[i]);
    }
#else
    {
        PyObject *sign = NULL, *padding = NULL;
        uval = NULL;
        if (uoffset > 0) {
            prepend_sign = !!prepend_sign;
            if (uoffset > prepend_sign) {
                padding = PyUnicode_FromOrdinal(padding_char);
                if (likely(padding) && uoffset > prepend_sign + 1) {
                    PyObject *tmp = PySequence_Repeat(padding, uoffset - prepend_sign);
                    Py_DECREF(padding);
                    padding = tmp;
                }
                if (unlikely(!padding)) goto done_or_error;
            }
            if (prepend_sign) {
                sign = PyUnicode_FromOrdinal('-');
                if (unlikely(!sign)) goto done_or_error;
            }
        }
        uval = PyUnicode_DecodeASCII(chars, clength, NULL);
        if (likely(uval) && padding) {
            PyObject *tmp = PyUnicode_Concat(padding, uval);
            Py_DECREF(uval);
            uval = tmp;
        }
        if (likely(uval) && sign) {
            PyObject *tmp = PyUnicode_Concat(sign, uval);
            Py_DECREF(uval);
            uval = tmp;
        }
done_or_error:
        Py_XDECREF(padding);
        Py_XDECREF(sign);
    }
#endif
    return uval;
}

/* COrdinalToPyUnicode (used by CIntToPyUnicode) */
static CYTHON_INLINE int __Pyx_CheckUnicodeValue(int value) {
    return value <= 1114111;
}
static PyObject* __Pyx_PyUnicode_FromOrdinal_Padded(int value, Py_ssize_t ulength, char padding_char) {
    Py_ssize_t padding_length = ulength - 1;
    if (likely((padding_length <= 250) && (value < 0xD800 || value > 0xDFFF))) {
        char chars[256];
        if (value <= 255) {
            memset(chars, padding_char, (size_t) padding_length);
            chars[ulength-1] = (char) value;
            return PyUnicode_DecodeLatin1(chars, ulength, NULL);
        }
        char *cpos = chars + sizeof(chars);
        if (value < 0x800) {
            *--cpos = (char) (0x80 | (value & 0x3f));
            value >>= 6;
            *--cpos = (char) (0xc0 | (value & 0x1f));
        } else if (value < 0x10000) {
            *--cpos = (char) (0x80 | (value & 0x3f));
            value >>= 6;
            *--cpos = (char) (0x80 | (value & 0x3f));
            value >>= 6;
            *--cpos = (char) (0xe0 | (value & 0x0f));
        } else {
            *--cpos = (char) (0x80 | (value & 0x3f));
            value >>= 6;
            *--cpos = (char) (0x80 | (value & 0x3f));
            value >>= 6;
            *--cpos = (char) (0x80 | (value & 0x3f));
            value >>= 6;
            *--cpos = (char) (0xf0 | (value & 0x07));
        }
        cpos -= padding_length;
        memset(cpos, padding_char, (size_t) padding_length);
        return PyUnicode_DecodeUTF8(cpos, chars + sizeof(chars) - cpos, NULL);
    }
    if (value <= 127 && CYTHON_USE_UNICODE_INTERNALS) {
        const char chars[1] = {(char) value};
        return __Pyx_PyUnicode_BuildFromAscii(ulength, chars, 1, 0, padding_char);
    }
    {
        PyObject *uchar, *padding_uchar, *padding, *result;
        padding_uchar = PyUnicode_FromOrdinal(padding_char);
        if (unlikely(!padding_uchar)) return NULL;
        padding = PySequence_Repeat(padding_uchar, padding_length);
        Py_DECREF(padding_uchar);
        if (unlikely(!padding)) return NULL;
        uchar = PyUnicode_FromOrdinal(value);
        if (unlikely(!uchar)) {
            Py_DECREF(padding);
            return NULL;
        }
        result = PyUnicode_Concat(padding, uchar);
        Py_DECREF(padding);
        Py_DECREF(uchar);
        return result;
    }
}

/* CIntToPyUnicode */
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_int(int value, Py_ssize_t width, char padding_char) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!(is_unsigned || value == 0 || value > 0) ||
                    !(sizeof(value) <= 2 || value & ~ (int) 0x01fffff || __Pyx_CheckUnicodeValue((int) value)))) {
        PyErr_SetString(PyExc_OverflowError, "%c arg not in range(0x110000)");
        return NULL;
    }
    if (width <= 1) {
        return PyUnicode_FromOrdinal((int) value);
    }
    return __Pyx_PyUnicode_FromOrdinal_Padded((int) value, width, padding_char);
}
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_int(int value, Py_ssize_t width, char padding_char, char format_char) {
    char digits[sizeof(int)*3+2];
    char *dpos, *end = digits + sizeof(int)*3+2;
    const char *hex_digits = DIGITS_HEX;
    Py_ssize_t length, ulength;
    int prepend_sign, last_one_off;
    int remaining;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (format_char == 'X') {
        hex_digits += 16;
        format_char = 'x';
    }
    remaining = value;
    last_one_off = 0;
    dpos = end;
    do {
        int digit_pos;
        switch (format_char) {
        case 'o':
            digit_pos = abs((int)(remaining % (8*8)));
            remaining = (int) (remaining / (8*8));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 8);
            break;
        case 'd':
            digit_pos = abs((int)(remaining % (10*10)));
            remaining = (int) (remaining / (10*10));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 10);
            break;
        case 'x':
            *(--dpos) = hex_digits[abs((int)(remaining % 16))];
            remaining = (int) (remaining / 16);
            break;
        default:
            assert(0);
            break;
        }
    } while (unlikely(remaining != 0));
    assert(!last_one_off || *dpos == '0');
    dpos += last_one_off;
    length = end - dpos;
    ulength = length;
    prepend_sign = 0;
    if (!is_unsigned && value <= neg_one) {
        if (padding_char == ' ' || width <= length + 1) {
            *(--dpos) = '-';
            ++length;
        } else {
            prepend_sign = 1;
        }
        ++ulength;
    }
    if (width > ulength) {
        ulength = width;
    }
    if (ulength == 1) {
        return PyUnicode_FromOrdinal(*dpos);
    }
    return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char);
}

/* CIntToPyUnicode */
static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const Py_ssize_t neg_one = (Py_ssize_t) -1, const_zero = (Py_ssize_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (unlikely(!(is_unsigned || value == 0 || value > 0) ||
                    !(sizeof(value) <= 2 || value & ~ (Py_ssize_t) 0x01fffff || __Pyx_CheckUnicodeValue((int) value)))) {
        PyErr_SetString(PyExc_OverflowError, "%c arg not in range(0x110000)");
        return NULL;
    }
    if (width <= 1) {
        return PyUnicode_FromOrdinal((int) value);
    }
    return __Pyx_PyUnicode_FromOrdinal_Padded((int) value, width, padding_char);
}
static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width, char padding_char, char format_char) {
    char digits[sizeof(Py_ssize_t)*3+2];
    char *dpos, *end = digits + sizeof(Py_ssize_t)*3+2;
    const char *hex_digits = DIGITS_HEX;
    Py_ssize_t length, ulength;
    int prepend_sign, last_one_off;
    Py_ssize_t remaining;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
    const Py_ssize_t neg_one = (Py_ssize_t) -1, const_zero = (Py_ssize_t) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
    const int is_unsigned = neg_one > const_zero;
    if (format_char == 'X') {
        hex_digits += 16;
        format_char = 'x';
    }
    remaining = value;
    last_one_off = 0;
    dpos = end;
    do {
        int digit_pos;
        switch (format_char) {
        case 'o':
            digit_pos = abs((int)(remaining % (8*8)));
            remaining = (Py_ssize_t) (remaining / (8*8));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 8);
            break;
        case 'd':
            digit_pos = abs((int)(remaining % (10*10)));
            remaining = (Py_ssize_t) (remaining / (10*10));
            dpos -= 2;
            memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2);
            last_one_off = (digit_pos < 10);
            break;
        case 'x':
            *(--dpos) = hex_digits[abs((int)(remaining % 16))];
            remaining = (Py_ssize_t) (remaining / 16);
            break;
        default:
            assert(0);
            break;
        }
    } while (unlikely(remaining != 0));
    assert(!last_one_off || *dpos == '0');
    dpos += last_one_off;
    length = end - dpos;
    ulength = length;
    prepend_sign = 0;
    if (!is_unsigned && value <= neg_one) {
        if (padding_char == ' ' || width <= length + 1) {
            *(--dpos) = '-';
            ++length;
        } else {
            prepend_sign = 1;
        }
        ++ulength;
    }
    if (width > ulength) {
        ulength = width;
    }
    if (ulength == 1) {
        return PyUnicode_FromOrdinal(*dpos);
    }
    return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char);
}

/* JoinPyUnicode */
static PyObject* __Pyx_PyUnicode_Join(PyObject** values, Py_ssize_t value_count, Py_ssize_t result_ulength,
                                      Py_UCS4 max_char) {
#if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    PyObject *result_uval;
    int result_ukind, kind_shift;
    Py_ssize_t i, char_pos;
    void *result_udata;
    if (max_char > 1114111) max_char = 1114111;
    result_uval = PyUnicode_New(result_ulength, max_char);
    if (unlikely(!result_uval)) return NULL;
    result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND;
    kind_shift = (result_ukind == PyUnicode_4BYTE_KIND) ? 2 : result_ukind - 1;
    result_udata = PyUnicode_DATA(result_uval);
    assert(kind_shift == 2 || kind_shift == 1 || kind_shift == 0);
    if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - result_ulength < 0))
        goto overflow;
    char_pos = 0;
    for (i=0; i < value_count; i++) {
        int ukind;
        Py_ssize_t ulength;
        void *udata;
        PyObject *uval = values[i];
        #if !CYTHON_COMPILING_IN_LIMITED_API
        if (__Pyx_PyUnicode_READY(uval) == (-1))
            goto bad;
        #endif
        ulength = __Pyx_PyUnicode_GET_LENGTH(uval);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(ulength < 0)) goto bad;
        #endif
        if (unlikely(!ulength))
            continue;
        if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - ulength < char_pos))
            goto overflow;
        ukind = __Pyx_PyUnicode_KIND(uval);
        udata = __Pyx_PyUnicode_DATA(uval);
        if (ukind == result_ukind) {
            memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift));
        } else {
            #if PY_VERSION_HEX >= 0x030d0000
            if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad;
            #elif CYTHON_COMPILING_IN_CPYTHON || defined(_PyUnicode_FastCopyCharacters)
            _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
            #else
            Py_ssize_t j;
            for (j=0; j < ulength; j++) {
                Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j);
                __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar);
            }
            #endif
        }
        char_pos += ulength;
    }
    return result_uval;
overflow:
    PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string");
bad:
    Py_DECREF(result_uval);
    return NULL;
#else
    Py_ssize_t i;
    PyObject *result = NULL;
    PyObject *value_tuple = PyTuple_New(value_count);
    if (unlikely(!value_tuple)) return NULL;
    CYTHON_UNUSED_VAR(max_char);
    CYTHON_UNUSED_VAR(result_ulength);
    for (i=0; i<value_count; i++) {
        if (__Pyx_PyTuple_SET_ITEM(value_tuple, i, values[i]) != (0)) goto bad;
        Py_INCREF(values[i]);
    }
    result = PyUnicode_Join(__pyx_mstate_global->__pyx_empty_unicode, value_tuple);
bad:
    Py_DECREF(value_tuple);
    return result;
#endif
}

/* GetAttr */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
#if CYTHON_USE_TYPE_SLOTS
    if (likely(PyUnicode_Check(n)))
        return __Pyx_PyObject_GetAttrStr(o, n);
#endif
    return PyObject_GetAttr(o, n);
}

/* GetItemInt */
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
    PyObject *r;
    if (unlikely(!j)) return NULL;
    r = PyObject_GetItem(o, j);
    Py_DECREF(j);
    return r;
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck, int unsafe_shared) {
    CYTHON_MAYBE_UNUSED_VAR(unsafe_shared);
#if CYTHON_ASSUME_SAFE_SIZE
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyList_GET_SIZE(o);
    }
    if ((CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS)) {
        return __Pyx_PyList_GetItemRefFast(o, wrapped_i, unsafe_shared);
    } else
    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
        return __Pyx_NewRef(PyList_GET_ITEM(o, wrapped_i));
    }
    return __Pyx_GetItemInt_Generic(o, PyLong_FromSsize_t(i));
#else
    (void)wraparound;
    (void)boundscheck;
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck, int unsafe_shared) {
    CYTHON_MAYBE_UNUSED_VAR(unsafe_shared);
#if CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    Py_ssize_t wrapped_i = i;
    if (wraparound & unlikely(i < 0)) {
        wrapped_i += PyTuple_GET_SIZE(o);
    }
    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
        return __Pyx_NewRef(PyTuple_GET_ITEM(o, wrapped_i));
    }
    return __Pyx_GetItemInt_Generic(o, PyLong_FromSsize_t(i));
#else
    (void)wraparound;
    (void)boundscheck;
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
                                                     int wraparound, int boundscheck, int unsafe_shared) {
    CYTHON_MAYBE_UNUSED_VAR(unsafe_shared);
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
        if ((CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS)) {
            return __Pyx_PyList_GetItemRefFast(o, n, unsafe_shared);
        } else if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
            return __Pyx_NewRef(PyList_GET_ITEM(o, n));
        }
    } else
    #if !CYTHON_AVOID_BORROWED_REFS
    if (PyTuple_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
            return __Pyx_NewRef(PyTuple_GET_ITEM(o, n));
        }
    } else
    #endif
#endif
#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY
    {
        PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
        PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
        if (!is_list && mm && mm->mp_subscript) {
            PyObject *r, *key = PyLong_FromSsize_t(i);
            if (unlikely(!key)) return NULL;
            r = mm->mp_subscript(o, key);
            Py_DECREF(key);
            return r;
        }
        if (is_list || likely(sm && sm->sq_item)) {
            if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
                Py_ssize_t l = sm->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return NULL;
                    PyErr_Clear();
                }
            }
            return sm->sq_item(o, i);
        }
    }
#else
    if (is_list || !PyMapping_Check(o)) {
        return PySequence_GetItem(o, i);
    }
#endif
    (void)wraparound;
    (void)boundscheck;
    return __Pyx_GetItemInt_Generic(o, PyLong_FromSsize_t(i));
}

/* ObjectGetItem */
#if CYTHON_USE_TYPE_SLOTS
static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject *index) {
    PyObject *runerr = NULL;
    Py_ssize_t key_value;
    key_value = __Pyx_PyIndex_AsSsize_t(index);
    if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
        return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1, 1);
    }
    if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
        __Pyx_TypeName index_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(index));
        PyErr_Clear();
        PyErr_Format(PyExc_IndexError,
            "cannot fit '" __Pyx_FMT_TYPENAME "' into an index-sized integer", index_type_name);
        __Pyx_DECREF_TypeName(index_type_name);
    }
    return NULL;
}
static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) {
    __Pyx_TypeName obj_type_name;
    if (likely(PyType_Check(obj))) {
        PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_mstate_global->__pyx_n_u_class_getitem);
        if (!meth) {
            PyErr_Clear();
        } else {
            PyObject *result = __Pyx_PyObject_CallOneArg(meth, key);
            Py_DECREF(meth);
            return result;
        }
    }
    obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError,
        "'" __Pyx_FMT_TYPENAME "' object is not subscriptable", obj_type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    return NULL;
}
static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key) {
    PyTypeObject *tp = Py_TYPE(obj);
    PyMappingMethods *mm = tp->tp_as_mapping;
    PySequenceMethods *sm = tp->tp_as_sequence;
    if (likely(mm && mm->mp_subscript)) {
        return mm->mp_subscript(obj, key);
    }
    if (likely(sm && sm->sq_item)) {
        return __Pyx_PyObject_GetIndex(obj, key);
    }
    return __Pyx_PyObject_GetItem_Slow(obj, key);
}
#endif

/* RejectKeywords */
static void __Pyx_RejectKeywords(const char* function_name, PyObject *kwds) {
    PyObject *key = NULL;
    if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds))) {
        key = __Pyx_PySequence_ITEM(kwds, 0);
    } else {
#if CYTHON_AVOID_BORROWED_REFS
        PyObject *pos = NULL;
#else
        Py_ssize_t pos = 0;
#endif
#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments)
        if (unlikely(!PyArg_ValidateKeywordArguments(kwds))) return;
#endif
        __Pyx_PyDict_NextRef(kwds, &pos, &key, NULL);
#if CYTHON_AVOID_BORROWED_REFS
        Py_XDECREF(pos);
#endif
    }
    if (likely(key)) {
        PyErr_Format(PyExc_TypeError,
            "%s() got an unexpected keyword argument '%U'",
            function_name, key);
        Py_DECREF(key);
    }
}

/* DivInt[Py_ssize_t] */
static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t a, Py_ssize_t b, int b_is_constant) {
    Py_ssize_t q = a / b;
    Py_ssize_t r = a - q*b;
    Py_ssize_t adapt_python = (b_is_constant ?
        ((r != 0) & ((r < 0) ^ (b < 0))) :
        ((r != 0) & ((r ^ b) < 0))
    );
    return q - adapt_python;
}

/* GetAttr3 */
#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
        return NULL;
    __Pyx_PyErr_Clear();
    Py_INCREF(d);
    return d;
}
#endif
static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
    PyObject *r;
#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
    int res = PyObject_GetOptionalAttr(o, n, &r);
    return (res != 0) ? r : __Pyx_NewRef(d);
#else
  #if CYTHON_USE_TYPE_SLOTS
    if (likely(PyUnicode_Check(n))) {
        r = __Pyx_PyObject_GetAttrStrNoError(o, n);
        if (unlikely(!r) && likely(!PyErr_Occurred())) {
            r = __Pyx_NewRef(d);
        }
        return r;
    }
  #endif
    r = PyObject_GetAttr(o, n);
    return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
#endif
}

/* PyDictVersioning (used by GetModuleGlobalName) */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
    PyObject *dict = Py_TYPE(obj)->tp_dict;
    return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
}
static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
    PyObject **dictptr = NULL;
    Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
    if (offset) {
#if CYTHON_COMPILING_IN_CPYTHON
        dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
#else
        dictptr = _PyObject_GetDictPtr(obj);
#endif
    }
    return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
}
static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
    PyObject *dict = Py_TYPE(obj)->tp_dict;
    if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
        return 0;
    return obj_dict_version == __Pyx_get_object_dict_version(obj);
}
#endif

/* GetModuleGlobalName */
#if CYTHON_USE_DICT_VERSIONS
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
#else
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
#endif
{
    PyObject *result;
#if CYTHON_COMPILING_IN_LIMITED_API
    if (unlikely(!__pyx_m)) {
        if (!PyErr_Occurred())
            PyErr_SetNone(PyExc_NameError);
        return NULL;
    }
    result = PyObject_GetAttr(__pyx_m, name);
    if (likely(result)) {
        return result;
    }
    PyErr_Clear();
#elif CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
    if (unlikely(__Pyx_PyDict_GetItemRef(__pyx_mstate_global->__pyx_d, name, &result) == -1)) PyErr_Clear();
    __PYX_UPDATE_DICT_CACHE(__pyx_mstate_global->__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return result;
    }
#else
    result = _PyDict_GetItem_KnownHash(__pyx_mstate_global->__pyx_d, name, ((PyASCIIObject *) name)->hash);
    __PYX_UPDATE_DICT_CACHE(__pyx_mstate_global->__pyx_d, result, *dict_cached_value, *dict_version)
    if (likely(result)) {
        return __Pyx_NewRef(result);
    }
    PyErr_Clear();
#endif
    return __Pyx_GetBuiltinName(name);
}

/* RaiseTooManyValuesToUnpack */
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
    PyErr_Format(PyExc_ValueError,
                 "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
}

/* RaiseNeedMoreValuesToUnpack */
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
    PyErr_Format(PyExc_ValueError,
                 "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
                 index, (index == 1) ? "" : "s");
}

/* RaiseNoneIterError */
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
}

/* ExtTypeTest */
static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
    __Pyx_TypeName obj_type_name;
    __Pyx_TypeName type_name;
    if (unlikely(!type)) {
        PyErr_SetString(PyExc_SystemError, "Missing type object");
        return 0;
    }
    if (likely(__Pyx_TypeCheck(obj, type)))
        return 1;
    obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    type_name = __Pyx_PyType_GetFullyQualifiedName(type);
    PyErr_Format(PyExc_TypeError,
                 "Cannot convert " __Pyx_FMT_TYPENAME " to " __Pyx_FMT_TYPENAME,
                 obj_type_name, type_name);
    __Pyx_DECREF_TypeName(obj_type_name);
    __Pyx_DECREF_TypeName(type_name);
    return 0;
}

/* GetTopmostException (used by SaveResetException) */
#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
static _PyErr_StackItem *
__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
{
    _PyErr_StackItem *exc_info = tstate->exc_info;
    while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) &&
           exc_info->previous_item != NULL)
    {
        exc_info = exc_info->previous_item;
    }
    return exc_info;
}
#endif

/* SaveResetException */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
    PyObject *exc_value = exc_info->exc_value;
    if (exc_value == NULL || exc_value == Py_None) {
        *value = NULL;
        *type = NULL;
        *tb = NULL;
    } else {
        *value = exc_value;
        Py_INCREF(*value);
        *type = (PyObject*) Py_TYPE(exc_value);
        Py_INCREF(*type);
        *tb = PyException_GetTraceback(exc_value);
    }
  #elif CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
    *type = exc_info->exc_type;
    *value = exc_info->exc_value;
    *tb = exc_info->exc_traceback;
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
  #else
    *type = tstate->exc_type;
    *value = tstate->exc_value;
    *tb = tstate->exc_traceback;
    Py_XINCREF(*type);
    Py_XINCREF(*value);
    Py_XINCREF(*tb);
  #endif
}
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = tstate->exc_info;
    PyObject *tmp_value = exc_info->exc_value;
    exc_info->exc_value = value;
    Py_XDECREF(tmp_value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
  #else
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    #if CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_type = exc_info->exc_type;
    tmp_value = exc_info->exc_value;
    tmp_tb = exc_info->exc_traceback;
    exc_info->exc_type = type;
    exc_info->exc_value = value;
    exc_info->exc_traceback = tb;
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = type;
    tstate->exc_value = value;
    tstate->exc_traceback = tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
  #endif
}
#endif

/* GetException */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
#endif
{
    PyObject *local_type = NULL, *local_value, *local_tb = NULL;
#if CYTHON_FAST_THREAD_STATE
    PyObject *tmp_type, *tmp_value, *tmp_tb;
  #if PY_VERSION_HEX >= 0x030C0000
    local_value = tstate->current_exception;
    tstate->current_exception = 0;
  #else
    local_type = tstate->curexc_type;
    local_value = tstate->curexc_value;
    local_tb = tstate->curexc_traceback;
    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
  #endif
#elif __PYX_LIMITED_VERSION_HEX > 0x030C0000
    local_value = PyErr_GetRaisedException();
#else
    PyErr_Fetch(&local_type, &local_value, &local_tb);
#endif
#if __PYX_LIMITED_VERSION_HEX > 0x030C0000
    if (likely(local_value)) {
        local_type = (PyObject*) Py_TYPE(local_value);
        Py_INCREF(local_type);
        local_tb = PyException_GetTraceback(local_value);
    }
#else
    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
#if CYTHON_FAST_THREAD_STATE
    if (unlikely(tstate->curexc_type))
#else
    if (unlikely(PyErr_Occurred()))
#endif
        goto bad;
    if (local_tb) {
        if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
            goto bad;
    }
#endif // __PYX_LIMITED_VERSION_HEX > 0x030C0000
    Py_XINCREF(local_tb);
    Py_XINCREF(local_type);
    Py_XINCREF(local_value);
    *type = local_type;
    *value = local_value;
    *tb = local_tb;
#if CYTHON_FAST_THREAD_STATE
    #if CYTHON_USE_EXC_INFO_STACK
    {
        _PyErr_StackItem *exc_info = tstate->exc_info;
      #if PY_VERSION_HEX >= 0x030B00a4
        tmp_value = exc_info->exc_value;
        exc_info->exc_value = local_value;
        tmp_type = NULL;
        tmp_tb = NULL;
        Py_XDECREF(local_type);
        Py_XDECREF(local_tb);
      #else
        tmp_type = exc_info->exc_type;
        tmp_value = exc_info->exc_value;
        tmp_tb = exc_info->exc_traceback;
        exc_info->exc_type = local_type;
        exc_info->exc_value = local_value;
        exc_info->exc_traceback = local_tb;
      #endif
    }
    #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = local_type;
    tstate->exc_value = local_value;
    tstate->exc_traceback = local_tb;
    #endif
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
#elif __PYX_LIMITED_VERSION_HEX >= 0x030b0000
    PyErr_SetHandledException(local_value);
    Py_XDECREF(local_value);
    Py_XDECREF(local_type);
    Py_XDECREF(local_tb);
#else
    PyErr_SetExcInfo(local_type, local_value, local_tb);
#endif
    return 0;
#if __PYX_LIMITED_VERSION_HEX <= 0x030C0000
bad:
    *type = 0;
    *value = 0;
    *tb = 0;
    Py_XDECREF(local_type);
    Py_XDECREF(local_value);
    Py_XDECREF(local_tb);
    return -1;
#endif
}

/* SwapException */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
  #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_value = exc_info->exc_value;
    exc_info->exc_value = *value;
    if (tmp_value == NULL || tmp_value == Py_None) {
        Py_XDECREF(tmp_value);
        tmp_value = NULL;
        tmp_type = NULL;
        tmp_tb = NULL;
    } else {
        tmp_type = (PyObject*) Py_TYPE(tmp_value);
        Py_INCREF(tmp_type);
        #if CYTHON_COMPILING_IN_CPYTHON
        tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback;
        Py_XINCREF(tmp_tb);
        #else
        tmp_tb = PyException_GetTraceback(tmp_value);
        #endif
    }
  #elif CYTHON_USE_EXC_INFO_STACK
    _PyErr_StackItem *exc_info = tstate->exc_info;
    tmp_type = exc_info->exc_type;
    tmp_value = exc_info->exc_value;
    tmp_tb = exc_info->exc_traceback;
    exc_info->exc_type = *type;
    exc_info->exc_value = *value;
    exc_info->exc_traceback = *tb;
  #else
    tmp_type = tstate->exc_type;
    tmp_value = tstate->exc_value;
    tmp_tb = tstate->exc_traceback;
    tstate->exc_type = *type;
    tstate->exc_value = *value;
    tstate->exc_traceback = *tb;
  #endif
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#else
static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
    PyErr_SetExcInfo(*type, *value, *tb);
    *type = tmp_type;
    *value = tmp_value;
    *tb = tmp_tb;
}
#endif

/* HasAttr (used by ImportImpl) */
#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
    PyObject *r;
    if (unlikely(!PyUnicode_Check(n))) {
        PyErr_SetString(PyExc_TypeError,
                        "hasattr(): attribute name must be string");
        return -1;
    }
    r = __Pyx_PyObject_GetAttrStrNoError(o, n);
    if (!r) {
        return (unlikely(PyErr_Occurred())) ? -1 : 0;
    } else {
        Py_DECREF(r);
        return 1;
    }
}
#endif

/* ImportImpl (used by Import) */
static int __Pyx__Import_GetModule(PyObject *qualname, PyObject **module) {
    PyObject *imported_module = PyImport_GetModule(qualname);
    if (unlikely(!imported_module)) {
        *module = NULL;
        if (PyErr_Occurred()) {
            return -1;
        }
        return 0;
    }
    *module = imported_module;
    return 1;
}
static int __Pyx__Import_Lookup(PyObject *qualname, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject **module) {
    PyObject *imported_module;
    PyObject *top_level_package_name;
    Py_ssize_t i;
    int status, module_found;
    Py_ssize_t dot_index;
    module_found = __Pyx__Import_GetModule(qualname, &imported_module);
    if (unlikely(!module_found || module_found == -1)) {
        *module = NULL;
        return module_found;
    }
    if (imported_names) {
        for (i = 0; i < len_imported_names; i++) {
            PyObject *imported_name = imported_names[i];
#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
            int has_imported_attribute = PyObject_HasAttr(imported_module, imported_name);
#else
            int has_imported_attribute = PyObject_HasAttrWithError(imported_module, imported_name);
            if (unlikely(has_imported_attribute == -1)) goto error;
#endif
            if (!has_imported_attribute) {
                goto not_found;
            }
        }
        *module = imported_module;
        return 1;
    }
    dot_index = PyUnicode_FindChar(qualname, '.', 0, PY_SSIZE_T_MAX, 1);
    if (dot_index == -1) {
        *module = imported_module;
        return 1;
    }
    if (unlikely(dot_index == -2)) goto error;
    top_level_package_name = PyUnicode_Substring(qualname, 0, dot_index);
    if (unlikely(!top_level_package_name)) goto error;
    Py_DECREF(imported_module);
    status = __Pyx__Import_GetModule(top_level_package_name, module);
    Py_DECREF(top_level_package_name);
    return status;
error:
    Py_DECREF(imported_module);
    *module = NULL;
    return -1;
not_found:
    Py_DECREF(imported_module);
    *module = NULL;
    return 0;
}
static PyObject *__Pyx__Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, PyObject *moddict, int level) {
    PyObject *module = 0;
    PyObject *empty_dict = 0;
    PyObject *from_list = 0;
    int module_found;
    if (!qualname) {
        qualname = name;
    }
    module_found = __Pyx__Import_Lookup(qualname, imported_names, len_imported_names, &module);
    if (likely(module_found == 1)) {
        return module;
    } else if (unlikely(module_found == -1)) {
        return NULL;
    }
    empty_dict = PyDict_New();
    if (unlikely(!empty_dict))
        goto bad;
    if (imported_names) {
#if CYTHON_COMPILING_IN_CPYTHON
        from_list = __Pyx_PyList_FromArray(imported_names, len_imported_names);
        if (unlikely(!from_list))
            goto bad;
#else
        from_list = PyList_New(len_imported_names);
        if (unlikely(!from_list)) goto bad;
        for (Py_ssize_t i=0; i<len_imported_names; ++i) {
            if (PyList_SetItem(from_list, i, __Pyx_NewRef(imported_names[i])) < 0) goto bad;
        }
#endif
    }
    if (level == -1) {
        const char* package_sep = strchr(__Pyx_MODULE_NAME, '.');
        if (package_sep != (0)) {
            module = PyImport_ImportModuleLevelObject(
                name, moddict, empty_dict, from_list, 1);
            if (unlikely(!module)) {
                if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError)))
                    goto bad;
                PyErr_Clear();
            }
        }
        level = 0;
    }
    if (!module) {
        module = PyImport_ImportModuleLevelObject(
            name, moddict, empty_dict, from_list, level);
    }
bad:
    Py_XDECREF(from_list);
    Py_XDECREF(empty_dict);
    return module;
}

/* Import */
static PyObject *__Pyx_Import(PyObject *name, PyObject *const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, int level) {
    return __Pyx__Import(name, imported_names, len_imported_names, qualname, __pyx_mstate_global->__pyx_d, level);
}

/* FastTypeChecks */
#if CYTHON_COMPILING_IN_CPYTHON
static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
    while (a) {
        a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*);
        if (a == b)
            return 1;
    }
    return b == &PyBaseObject_Type;
}
static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
    PyObject *mro;
    if (a == b) return 1;
    mro = a->tp_mro;
    if (likely(mro)) {
        Py_ssize_t i, n;
        n = PyTuple_GET_SIZE(mro);
        for (i = 0; i < n; i++) {
            if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
                return 1;
        }
        return 0;
    }
    return __Pyx_InBases(a, b);
}
static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) {
    PyObject *mro;
    if (cls == a || cls == b) return 1;
    mro = cls->tp_mro;
    if (likely(mro)) {
        Py_ssize_t i, n;
        n = PyTuple_GET_SIZE(mro);
        for (i = 0; i < n; i++) {
            PyObject *base = PyTuple_GET_ITEM(mro, i);
            if (base == (PyObject *)a || base == (PyObject *)b)
                return 1;
        }
        return 0;
    }
    return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b);
}
static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
    if (exc_type1) {
        return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2);
    } else {
        return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
    }
}
static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
    Py_ssize_t i, n;
    assert(PyExceptionClass_Check(exc_type));
    n = PyTuple_GET_SIZE(tuple);
    for (i=0; i<n; i++) {
        if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
    }
    for (i=0; i<n; i++) {
        PyObject *t = PyTuple_GET_ITEM(tuple, i);
        if (likely(PyExceptionClass_Check(t))) {
            if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
        } else {
        }
    }
    return 0;
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
    if (likely(err == exc_type)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        if (likely(PyExceptionClass_Check(exc_type))) {
            return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
        } else if (likely(PyTuple_Check(exc_type))) {
            return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
        } else {
        }
    }
    return PyErr_GivenExceptionMatches(err, exc_type);
}
static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
    assert(PyExceptionClass_Check(exc_type1));
    assert(PyExceptionClass_Check(exc_type2));
    if (likely(err == exc_type1 || err == exc_type2)) return 1;
    if (likely(PyExceptionClass_Check(err))) {
        return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
    }
    return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
}
#endif

/* PySequenceMultiply */
#if CYTHON_USE_TYPE_SLOTS
static PyObject* __Pyx_PySequence_Multiply_Generic(PyObject *seq, Py_ssize_t mul) {
    PyObject *result, *pymul = PyLong_FromSsize_t(mul);
    if (unlikely(!pymul))
        return NULL;
    result = PyNumber_Multiply(seq, pymul);
    Py_DECREF(pymul);
    return result;
}
static CYTHON_INLINE PyObject* __Pyx_PySequence_Multiply(PyObject *seq, Py_ssize_t mul) {
    PyTypeObject *type = Py_TYPE(seq);
    if (likely(type->tp_as_sequence && type->tp_as_sequence->sq_repeat)) {
        return type->tp_as_sequence->sq_repeat(seq, mul);
    } else {
        return __Pyx_PySequence_Multiply_Generic(seq, mul);
    }
}
#endif

/* PyObjectFormatAndDecref */
static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatSimpleAndDecref(PyObject* s, PyObject* f) {
    if (unlikely(!s)) return NULL;
    if (likely(PyUnicode_CheckExact(s))) return s;
    return __Pyx_PyObject_FormatAndDecref(s, f);
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatAndDecref(PyObject* s, PyObject* f) {
    PyObject *result;
    if (unlikely(!s)) return NULL;
    result = PyObject_Format(s, f);
    Py_DECREF(s);
    return result;
}

/* PyObjectFormat */
#if CYTHON_USE_UNICODE_WRITER
static PyObject* __Pyx_PyObject_Format(PyObject* obj, PyObject* format_spec) {
    int ret;
    _PyUnicodeWriter writer;
    if (likely(PyFloat_CheckExact(obj))) {
        _PyUnicodeWriter_Init(&writer);
        ret = _PyFloat_FormatAdvancedWriter(
            &writer,
            obj,
            format_spec, 0, PyUnicode_GET_LENGTH(format_spec));
    } else if (likely(PyLong_CheckExact(obj))) {
        _PyUnicodeWriter_Init(&writer);
        ret = _PyLong_FormatAdvancedWriter(
            &writer,
            obj,
            format_spec, 0, PyUnicode_GET_LENGTH(format_spec));
    } else {
        return PyObject_Format(obj, format_spec);
    }
    if (unlikely(ret == -1)) {
        _PyUnicodeWriter_Dealloc(&writer);
        return NULL;
    }
    return _PyUnicodeWriter_Finish(&writer);
}
#endif

/* SetItemInt */
static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) {
    int r;
    if (unlikely(!j)) return -1;
    r = PyObject_SetItem(o, j, v);
    Py_DECREF(j);
    return r;
}
static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *v, int is_list,
                                               int wraparound, int boundscheck, int unsafe_shared) {
    CYTHON_MAYBE_UNUSED_VAR(unsafe_shared);
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE && !CYTHON_AVOID_BORROWED_REFS
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o));
        if ((CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS && !__Pyx_IS_UNIQUELY_REFERENCED(o, unsafe_shared))) {
            Py_INCREF(v);
            return PyList_SetItem(o, n, v);
        } else if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o)))) {
            PyObject* old;
            Py_INCREF(v);
            old = PyList_GET_ITEM(o, n);
            PyList_SET_ITEM(o, n, v);
            Py_DECREF(old);
            return 0;
        }
    } else
#endif
#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY
    {
        PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
        PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
        if (!is_list && mm && mm->mp_ass_subscript) {
            int r;
            PyObject *key = PyLong_FromSsize_t(i);
            if (unlikely(!key)) return -1;
            r = mm->mp_ass_subscript(o, key, v);
            Py_DECREF(key);
            return r;
        }
        if (is_list || likely(sm && sm->sq_ass_item)) {
            if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
                Py_ssize_t l = sm->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (!PyErr_ExceptionMatches(PyExc_OverflowError))
                        return -1;
                    PyErr_Clear();
                }
            }
            return sm->sq_ass_item(o, i, v);
        }
    }
#else
    if (is_list || !PyMapping_Check(o)) {
        return PySequence_SetItem(o, i, v);
    }
#endif
    (void)wraparound;
    (void)boundscheck;
    return __Pyx_SetItemInt_Generic(o, PyLong_FromSsize_t(i), v);
}

/* RaiseUnboundLocalError */
static void __Pyx_RaiseUnboundLocalError(const char *varname) {
    PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
}

/* DivInt[long] */
static CYTHON_INLINE long __Pyx_div_long(long a, long b, int b_is_constant) {
    long q = a / b;
    long r = a - q*b;
    long adapt_python = (b_is_constant ?
        ((r != 0) & ((r < 0) ^ (b < 0))) :
        ((r != 0) & ((r ^ b) < 0))
    );
    return q - adapt_python;
}

/* pybytes_as_double (used by pyobject_as_double) */
static double __Pyx_SlowPyString_AsDouble(PyObject *obj) {
    PyObject *float_value = PyFloat_FromString(obj);
    if (likely(float_value)) {
        double value = __Pyx_PyFloat_AS_DOUBLE(float_value);
        Py_DECREF(float_value);
        return value;
    }
    return (double)-1;
}
static const char* __Pyx__PyBytes_AsDouble_Copy(const char* start, char* buffer, Py_ssize_t length) {
    int last_was_punctuation = 1;
    int parse_error_found = 0;
    Py_ssize_t i;
    for (i=0; i < length; i++) {
        char chr = start[i];
        int is_punctuation = (chr == '_') | (chr == '.') | (chr == 'e') | (chr == 'E');
        *buffer = chr;
        buffer += (chr != '_');
        parse_error_found |= last_was_punctuation & is_punctuation;
        last_was_punctuation = is_punctuation;
    }
    parse_error_found |= last_was_punctuation;
    *buffer = '\0';
    return unlikely(parse_error_found) ? NULL : buffer;
}
static double __Pyx__PyBytes_AsDouble_inf_nan(const char* start, Py_ssize_t length) {
    int matches = 1;
    char sign = start[0];
    int is_signed = (sign == '+') | (sign == '-');
    start += is_signed;
    length -= is_signed;
    switch (start[0]) {
        #ifdef Py_NAN
        case 'n':
        case 'N':
            if (unlikely(length != 3)) goto parse_failure;
            matches &= (start[1] == 'a' || start[1] == 'A');
            matches &= (start[2] == 'n' || start[2] == 'N');
            if (unlikely(!matches)) goto parse_failure;
            return (sign == '-') ? -Py_NAN : Py_NAN;
        #endif
        case 'i':
        case 'I':
            if (unlikely(length < 3)) goto parse_failure;
            matches &= (start[1] == 'n' || start[1] == 'N');
            matches &= (start[2] == 'f' || start[2] == 'F');
            if (likely(length == 3 && matches))
                return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
            if (unlikely(length != 8)) goto parse_failure;
            matches &= (start[3] == 'i' || start[3] == 'I');
            matches &= (start[4] == 'n' || start[4] == 'N');
            matches &= (start[5] == 'i' || start[5] == 'I');
            matches &= (start[6] == 't' || start[6] == 'T');
            matches &= (start[7] == 'y' || start[7] == 'Y');
            if (unlikely(!matches)) goto parse_failure;
            return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
        case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
            break;
        default:
            goto parse_failure;
    }
    return 0.0;
parse_failure:
    return -1.0;
}
static CYTHON_INLINE int __Pyx__PyBytes_AsDouble_IsSpace(char ch) {
    return (ch == 0x20) | !((ch < 0x9) | (ch > 0xd));
}
CYTHON_UNUSED static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length) {
    double value;
    Py_ssize_t i, digits;
    const char *last = start + length;
    char *end;
    while (__Pyx__PyBytes_AsDouble_IsSpace(*start))
        start++;
    while (start < last - 1 && __Pyx__PyBytes_AsDouble_IsSpace(last[-1]))
        last--;
    length = last - start;
    if (unlikely(length <= 0)) goto fallback;
    value = __Pyx__PyBytes_AsDouble_inf_nan(start, length);
    if (unlikely(value == -1.0)) goto fallback;
    if (value != 0.0) return value;
    digits = 0;
    for (i=0; i < length; digits += start[i++] != '_');
    if (likely(digits == length)) {
        value = PyOS_string_to_double(start, &end, NULL);
    } else if (digits < 40) {
        char number[40];
        last = __Pyx__PyBytes_AsDouble_Copy(start, number, length);
        if (unlikely(!last)) goto fallback;
        value = PyOS_string_to_double(number, &end, NULL);
    } else {
        char *number = (char*) PyMem_Malloc((digits + 1) * sizeof(char));
        if (unlikely(!number)) goto fallback;
        last = __Pyx__PyBytes_AsDouble_Copy(start, number, length);
        if (unlikely(!last)) {
            PyMem_Free(number);
            goto fallback;
        }
        value = PyOS_string_to_double(number, &end, NULL);
        PyMem_Free(number);
    }
    if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) {
        return value;
    }
fallback:
    return __Pyx_SlowPyString_AsDouble(obj);
}

/* pyobject_as_double */
static double __Pyx__PyObject_AsDouble(PyObject* obj) {
    if (PyUnicode_CheckExact(obj)) {
        return __Pyx_PyUnicode_AsDouble(obj);
    } else if (PyBytes_CheckExact(obj)) {
        return __Pyx_PyBytes_AsDouble(obj);
    } else if (PyByteArray_CheckExact(obj)) {
        return __Pyx_PyByteArray_AsDouble(obj);
    } else {
        PyObject* float_value;
#if !CYTHON_USE_TYPE_SLOTS
        float_value = PyNumber_Float(obj);  if ((0)) goto bad;
        (void)__Pyx_PyObject_CallOneArg;
#else
        PyNumberMethods *nb = Py_TYPE(obj)->tp_as_number;
        if (likely(nb) && likely(nb->nb_float)) {
            float_value = nb->nb_float(obj);
            if (likely(float_value) && unlikely(!PyFloat_Check(float_value))) {
                __Pyx_TypeName float_value_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(float_value));
                PyErr_Format(PyExc_TypeError,
                    "__float__ returned non-float (type " __Pyx_FMT_TYPENAME ")",
                    float_value_type_name);
                __Pyx_DECREF_TypeName(float_value_type_name);
                Py_DECREF(float_value);
                goto bad;
            }
        } else {
            float_value = __Pyx_PyObject_CallOneArg((PyObject*)&PyFloat_Type, obj);
        }
#endif
        if (likely(float_value)) {
            double value = __Pyx_PyFloat_AS_DOUBLE(float_value);
            Py_DECREF(float_value);
            return value;
        }
    }
bad:
    return (double)-1;
}

/* PyLongCompare */
static CYTHON_INLINE int __Pyx_PyLong_BoolEqObjC(PyObject *op1, PyObject *op2, long intval, long inplace) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_UNUSED_VAR(inplace);
    if (op1 == op2) {
        return 1;
    }
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        int unequal;
        unsigned long uintval;
        Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
        const digit* digits = __Pyx_PyLong_Digits(op1);
        if (intval == 0) {
            return (__Pyx_PyLong_IsZero(op1) == 1);
        } else if (intval < 0) {
            if (__Pyx_PyLong_IsNonNeg(op1))
                return 0;
            intval = -intval;
        } else {
            if (__Pyx_PyLong_IsNeg(op1))
                return 0;
        }
        uintval = (unsigned long) intval;
#if PyLong_SHIFT * 4 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 4)) {
            unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 3 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 3)) {
            unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 2 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 2)) {
            unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
#if PyLong_SHIFT * 1 < SIZEOF_LONG*8
        if (uintval >> (PyLong_SHIFT * 1)) {
            unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
        } else
#endif
            unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK));
        return (unequal == 0);
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        const long b = intval;
        double a = __Pyx_PyFloat_AS_DOUBLE(op1);
        return ((double)a == (double)b);
    }
    return __Pyx_PyObject_IsTrueAndDecref(
        PyObject_RichCompare(op1, op2, Py_EQ));
}

/* pynumber_float */
static CYTHON_INLINE PyObject* __Pyx__PyNumber_Float(PyObject* obj) {
    double val;
    if (PyLong_CheckExact(obj)) {
#if CYTHON_USE_PYLONG_INTERNALS
        if (likely(__Pyx_PyLong_IsCompact(obj))) {
            val = (double) __Pyx_PyLong_CompactValue(obj);
            goto no_error;
        }
#endif
        val = PyLong_AsDouble(obj);
    } else if (PyUnicode_CheckExact(obj)) {
        val = __Pyx_PyUnicode_AsDouble(obj);
    } else if (PyBytes_CheckExact(obj)) {
        val = __Pyx_PyBytes_AsDouble(obj);
    } else if (PyByteArray_CheckExact(obj)) {
        val = __Pyx_PyByteArray_AsDouble(obj);
    } else {
        return PyNumber_Float(obj);
    }
    if (unlikely(val == -1 && PyErr_Occurred())) {
        return NULL;
    }
#if CYTHON_USE_PYLONG_INTERNALS
no_error:
#endif
    return PyFloat_FromDouble(val);
}

/* PyObjectVectorCallKwBuilder */
#if CYTHON_VECTORCALL
static int __Pyx_VectorcallBuilder_AddArg(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n) {
    (void)__Pyx_PyObject_FastCallDict;
    if (__Pyx_PyTuple_SET_ITEM(builder, n, key) != (0)) return -1;
    Py_INCREF(key);
    args[n] = value;
    return 0;
}
CYTHON_UNUSED static int __Pyx_VectorcallBuilder_AddArg_Check(PyObject *key, PyObject *value, PyObject *builder, PyObject **args, int n) {
    (void)__Pyx_VectorcallBuilder_AddArgStr;
    if (unlikely(!PyUnicode_Check(key))) {
        PyErr_SetString(PyExc_TypeError, "keywords must be strings");
        return -1;
    }
    return __Pyx_VectorcallBuilder_AddArg(key, value, builder, args, n);
}
static int __Pyx_VectorcallBuilder_AddArgStr(const char *key, PyObject *value, PyObject *builder, PyObject **args, int n) {
    PyObject *pyKey = PyUnicode_FromString(key);
    if (!pyKey) return -1;
    return __Pyx_VectorcallBuilder_AddArg(pyKey, value, builder, args, n);
}
#else // CYTHON_VECTORCALL
CYTHON_UNUSED static int __Pyx_VectorcallBuilder_AddArg_Check(PyObject *key, PyObject *value, PyObject *builder, CYTHON_UNUSED PyObject **args, CYTHON_UNUSED int n) {
    if (unlikely(!PyUnicode_Check(key))) {
        PyErr_SetString(PyExc_TypeError, "keywords must be strings");
        return -1;
    }
    return PyDict_SetItem(builder, key, value);
}
#endif

/* PyFloatBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyFloat_EqObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) {
    const double b = floatval;
    double a;
    CYTHON_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    if (op1 == op2) {
        Py_RETURN_TRUE;
    }
    if (likely(PyFloat_CheckExact(op1))) {
        a = __Pyx_PyFloat_AS_DOUBLE(op1);
        
    } else
    if (likely(PyLong_CheckExact(op1))) {
        #if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsZero(op1)) {
            a = 0.0;
            
        } else if (__Pyx_PyLong_IsCompact(op1)) {
            a = (double) __Pyx_PyLong_CompactValue(op1);
        } else {
            const digit* digits = __Pyx_PyLong_Digits(op1);
            const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1);
            switch (size) {
                case -2:
                case 2:
                    if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (1 * PyLong_SHIFT < 53))) {
                        a = (double) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        if ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
                            if (size == -2)
                                a = -a;
                            break;
                        }
                    }
                    CYTHON_FALLTHROUGH;
                case -3:
                case 3:
                    if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53))) {
                        a = (double) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        if ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
                            if (size == -3)
                                a = -a;
                            break;
                        }
                    }
                    CYTHON_FALLTHROUGH;
                case -4:
                case 4:
                    if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53))) {
                        a = (double) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        if ((8 * sizeof(unsigned long) < 53) || (4 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
                            if (size == -4)
                                a = -a;
                            break;
                        }
                    }
                    CYTHON_FALLTHROUGH;
                default:
        #endif
                    {
                        PyObject *res =
                    #if CYTHON_USE_TYPE_SLOTS || __PYX_LIMITED_VERSION_HEX >= 0x030A0000
                            __Pyx_PyType_GetSlot((&PyFloat_Type), tp_richcompare, richcmpfunc)
                    #else
                            PyObject_RichCompare
                    #endif
                        (op2, op1,
                         Py_EQ);
                    return (
                        res);
                    }
        #if CYTHON_USE_PYLONG_INTERNALS
            }
        }
        #endif
    } else {
        return (
            PyObject_RichCompare(op1, op2, Py_EQ));
    }
        if (a == b) {
            Py_RETURN_TRUE;
        } else {
            Py_RETURN_FALSE;
        }
}
#endif

/* pep479 */
static void __Pyx_Generator_Replace_StopIteration(int in_async_gen) {
    PyObject *exc, *val, *tb, *cur_exc, *new_exc;
    __Pyx_PyThreadState_declare
    int is_async_stopiteration = 0;
    CYTHON_MAYBE_UNUSED_VAR(in_async_gen);
    __Pyx_PyThreadState_assign
    cur_exc = __Pyx_PyErr_CurrentExceptionType();
    if (likely(!__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopIteration))) {
        if (in_async_gen && unlikely(__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopAsyncIteration))) {
            is_async_stopiteration = 1;
        } else {
            return;
        }
    }
    __Pyx_GetException(&exc, &val, &tb);
    Py_XDECREF(exc);
    Py_XDECREF(tb);
    new_exc = PyObject_CallFunction(PyExc_RuntimeError, "s",
        is_async_stopiteration ? "async generator raised StopAsyncIteration" :
        in_async_gen ? "async generator raised StopIteration" :
        "generator raised StopIteration");
    if (!new_exc) {
        Py_XDECREF(val);
        return;
    }
    PyException_SetCause(new_exc, val); // steals ref to val
    PyErr_SetObject(PyExc_RuntimeError, new_exc);
}

/* dict_setdefault (used by FetchCommonType) */
static CYTHON_INLINE PyObject *__Pyx_PyDict_SetDefault(PyObject *d, PyObject *key, PyObject *default_value) {
    PyObject* value;
#if __PYX_LIMITED_VERSION_HEX >= 0x030F0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4)
    PyDict_SetDefaultRef(d, key, default_value, &value);
#elif CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX >= 0x030C0000
    PyObject *args[] = {d, key, default_value};
    value = PyObject_VectorcallMethod(__pyx_mstate_global->__pyx_n_u_setdefault, args, 3 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
#elif CYTHON_COMPILING_IN_LIMITED_API
    value = PyObject_CallMethodObjArgs(d, __pyx_mstate_global->__pyx_n_u_setdefault, key, default_value, NULL);
#else
    value = PyDict_SetDefault(d, key, default_value);
    if (unlikely(!value)) return NULL;
    Py_INCREF(value);
#endif
    return value;
}

/* LimitedApiGetTypeDict (used by SetItemOnTypeDict) */
#if CYTHON_COMPILING_IN_LIMITED_API
static Py_ssize_t __Pyx_GetTypeDictOffset(void) {
    PyObject *tp_dictoffset_o;
    Py_ssize_t tp_dictoffset;
    tp_dictoffset_o = PyObject_GetAttrString((PyObject*)(&PyType_Type), "__dictoffset__");
    if (unlikely(!tp_dictoffset_o)) return -1;
    tp_dictoffset = PyLong_AsSsize_t(tp_dictoffset_o);
    Py_DECREF(tp_dictoffset_o);
    if (unlikely(tp_dictoffset == 0)) {
        PyErr_SetString(
            PyExc_TypeError,
            "'type' doesn't have a dictoffset");
        return -1;
    } else if (unlikely(tp_dictoffset < 0)) {
        PyErr_SetString(
            PyExc_TypeError,
            "'type' has an unexpected negative dictoffset. "
            "Please report this as Cython bug");
        return -1;
    }
    return tp_dictoffset;
}
static PyObject *__Pyx_GetTypeDict(PyTypeObject *tp) {
    static Py_ssize_t tp_dictoffset = 0;
    if (unlikely(tp_dictoffset == 0)) {
        tp_dictoffset = __Pyx_GetTypeDictOffset();
        if (unlikely(tp_dictoffset == -1 && PyErr_Occurred())) {
            tp_dictoffset = 0; // try again next time?
            return NULL;
        }
    }
    return *(PyObject**)((char*)tp + tp_dictoffset);
}
#endif

/* SetItemOnTypeDict (used by FixUpExtensionType) */
static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *v) {
    int result;
    PyObject *tp_dict;
#if CYTHON_COMPILING_IN_LIMITED_API
    tp_dict = __Pyx_GetTypeDict(tp);
    if (unlikely(!tp_dict)) return -1;
#else
    tp_dict = tp->tp_dict;
#endif
    result = PyDict_SetItem(tp_dict, k, v);
    if (likely(!result)) {
        PyType_Modified(tp);
        if (unlikely(PyObject_HasAttr(v, __pyx_mstate_global->__pyx_n_u_set_name))) {
            PyObject *setNameResult = PyObject_CallMethodObjArgs(v, __pyx_mstate_global->__pyx_n_u_set_name,  (PyObject *) tp, k, NULL);
            if (!setNameResult) return -1;
            Py_DECREF(setNameResult);
        }
    }
    return result;
}

/* FixUpExtensionType (used by FetchCommonType) */
static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) {
#if __PYX_LIMITED_VERSION_HEX > 0x030900B1
    CYTHON_UNUSED_VAR(spec);
    CYTHON_UNUSED_VAR(type);
    CYTHON_UNUSED_VAR(__Pyx__SetItemOnTypeDict);
#else
    const PyType_Slot *slot = spec->slots;
    int changed = 0;
#if !CYTHON_COMPILING_IN_LIMITED_API
    while (slot && slot->slot && slot->slot != Py_tp_members)
        slot++;
    if (slot && slot->slot == Py_tp_members) {
#if !CYTHON_COMPILING_IN_CPYTHON
        const
#endif  // !CYTHON_COMPILING_IN_CPYTHON)
            PyMemberDef *memb = (PyMemberDef*) slot->pfunc;
        while (memb && memb->name) {
            if (memb->name[0] == '_' && memb->name[1] == '_') {
                if (strcmp(memb->name, "__weaklistoffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
                    type->tp_weaklistoffset = memb->offset;
                    changed = 1;
                }
                else if (strcmp(memb->name, "__dictoffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
                    type->tp_dictoffset = memb->offset;
                    changed = 1;
                }
#if CYTHON_METH_FASTCALL
                else if (strcmp(memb->name, "__vectorcalloffset__") == 0) {
                    assert(memb->type == T_PYSSIZET);
                    assert(memb->flags == READONLY);
                    type->tp_vectorcall_offset = memb->offset;
                    changed = 1;
                }
#endif  // CYTHON_METH_FASTCALL
#if !CYTHON_COMPILING_IN_PYPY
                else if (strcmp(memb->name, "__module__") == 0) {
                    PyObject *descr;
                    assert(memb->type == T_OBJECT);
                    assert(memb->flags == 0 || memb->flags == READONLY);
                    descr = PyDescr_NewMember(type, memb);
                    if (unlikely(!descr))
                        return -1;
                    int set_item_result = PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr);
                    Py_DECREF(descr);
                    if (unlikely(set_item_result < 0)) {
                        return -1;
                    }
                    changed = 1;
                }
#endif  // !CYTHON_COMPILING_IN_PYPY
            }
            memb++;
        }
    }
#endif  // !CYTHON_COMPILING_IN_LIMITED_API
#if !CYTHON_COMPILING_IN_PYPY
    slot = spec->slots;
    while (slot && slot->slot && slot->slot != Py_tp_getset)
        slot++;
    if (slot && slot->slot == Py_tp_getset) {
        PyGetSetDef *getset = (PyGetSetDef*) slot->pfunc;
        while (getset && getset->name) {
            if (getset->name[0] == '_' && getset->name[1] == '_' && strcmp(getset->name, "__module__") == 0) {
                PyObject *descr = PyDescr_NewGetSet(type, getset);
                if (unlikely(!descr))
                    return -1;
                #if CYTHON_COMPILING_IN_LIMITED_API
                PyObject *pyname = PyUnicode_FromString(getset->name);
                if (unlikely(!pyname)) {
                    Py_DECREF(descr);
                    return -1;
                }
                int set_item_result = __Pyx_SetItemOnTypeDict(type, pyname, descr);
                Py_DECREF(pyname);
                #else
                CYTHON_UNUSED_VAR(__Pyx__SetItemOnTypeDict);
                int set_item_result = PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr);
                #endif
                Py_DECREF(descr);
                if (unlikely(set_item_result < 0)) {
                    return -1;
                }
                changed = 1;
            }
            ++getset;
        }
    }
#else
    CYTHON_UNUSED_VAR(__Pyx__SetItemOnTypeDict);
#endif  // !CYTHON_COMPILING_IN_PYPY
    if (changed)
        PyType_Modified(type);
#endif  // PY_VERSION_HEX > 0x030900B1
    return 0;
}

/* AddModuleRef (used by FetchSharedCythonModule) */
#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
  static PyObject *__Pyx_PyImport_AddModuleObjectRef(PyObject *name) {
      PyObject *module_dict = PyImport_GetModuleDict();
      PyObject *m;
      if (PyMapping_GetOptionalItem(module_dict, name, &m) < 0) {
          return NULL;
      }
      if (m != NULL && PyModule_Check(m)) {
          return m;
      }
      Py_XDECREF(m);
      m = PyModule_NewObject(name);
      if (m == NULL)
          return NULL;
      if (PyDict_CheckExact(module_dict)) {
          PyObject *new_m;
          (void)PyDict_SetDefaultRef(module_dict, name, m, &new_m);
          Py_DECREF(m);
          return new_m;
      } else {
           if (PyObject_SetItem(module_dict, name, m) != 0) {
                Py_DECREF(m);
                return NULL;
            }
            return m;
      }
  }
  static PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
      PyObject *py_name = PyUnicode_FromString(name);
      if (!py_name) return NULL;
      PyObject *module = __Pyx_PyImport_AddModuleObjectRef(py_name);
      Py_DECREF(py_name);
      return module;
  }
#elif __PYX_LIMITED_VERSION_HEX >= 0x030d0000
  #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
#else
  static PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
      PyObject *module = PyImport_AddModule(name);
      Py_XINCREF(module);
      return module;
  }
#endif

/* FetchSharedCythonModule (used by FetchCommonType) */
static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
    return __Pyx_PyImport_AddModuleRef(__PYX_ABI_MODULE_NAME);
}

/* FetchCommonType (used by CommonTypesMetaclass) */
#if __PYX_LIMITED_VERSION_HEX < 0x030C0000
static PyObject* __Pyx_PyType_FromMetaclass(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) {
    PyObject *result = __Pyx_PyType_FromModuleAndSpec(module, spec, bases);
    if (result && metaclass) {
        PyObject *old_tp = (PyObject*)Py_TYPE(result);
    Py_INCREF((PyObject*)metaclass);
#if __PYX_LIMITED_VERSION_HEX >= 0x03090000
        Py_SET_TYPE(result, metaclass);
#else
        result->ob_type = metaclass;
#endif
        Py_DECREF(old_tp);
    }
    return result;
}
#else
#define __Pyx_PyType_FromMetaclass(me, mo, s, b) PyType_FromMetaclass(me, mo, s, b)
#endif
static int __Pyx_VerifyCachedType(PyObject *cached_type,
                               const char *name,
                               Py_ssize_t expected_basicsize) {
    Py_ssize_t basicsize;
    if (!PyType_Check(cached_type)) {
        PyErr_Format(PyExc_TypeError,
            "Shared Cython type %.200s is not a type object", name);
        return -1;
    }
    if (expected_basicsize == 0) {
        return 0; // size is inherited, nothing useful to check
    }
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *py_basicsize;
    py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__");
    if (unlikely(!py_basicsize)) return -1;
    basicsize = PyLong_AsSsize_t(py_basicsize);
    Py_DECREF(py_basicsize);
    py_basicsize = NULL;
    if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) return -1;
#else
    basicsize = ((PyTypeObject*) cached_type)->tp_basicsize;
#endif
    if (basicsize != expected_basicsize) {
        PyErr_Format(PyExc_TypeError,
            "Shared Cython type %.200s has the wrong size, try recompiling",
            name);
        return -1;
    }
    return 0;
}
static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) {
    PyObject *abi_module = NULL, *cached_type = NULL, *abi_module_dict, *new_cached_type, *py_object_name;
    int get_item_ref_result;
    const char* object_name = strrchr(spec->name, '.');
    object_name = object_name ? object_name+1 : spec->name;
    py_object_name = PyUnicode_FromString(object_name);
    if (!py_object_name) return NULL;
    abi_module = __Pyx_FetchSharedCythonABIModule();
    if (!abi_module) goto done;
    abi_module_dict = PyModule_GetDict(abi_module);
    if (!abi_module_dict) goto done;
    get_item_ref_result = __Pyx_PyDict_GetItemRef(abi_module_dict, py_object_name, &cached_type);
    if (get_item_ref_result == 1) {
        if (__Pyx_VerifyCachedType(
              cached_type,
              object_name,
              spec->basicsize) < 0) {
            goto bad;
        }
        goto done;
    } else if (unlikely(get_item_ref_result == -1)) {
        goto bad;
    }
    cached_type = __Pyx_PyType_FromMetaclass(
        metaclass,
        CYTHON_USE_MODULE_STATE ? module : abi_module,
        spec, bases);
    if (unlikely(!cached_type)) goto bad;
    if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad;
    new_cached_type = __Pyx_PyDict_SetDefault(abi_module_dict, py_object_name, cached_type);
    if (unlikely(new_cached_type != cached_type)) {
        if (unlikely(!new_cached_type)) goto bad;
        Py_DECREF(cached_type);
        cached_type = new_cached_type;
        if (__Pyx_VerifyCachedType(
                cached_type,
                object_name,
                spec->basicsize) < 0) {
            goto bad;
        }
        goto done;
    } else {
        Py_DECREF(new_cached_type);
    }
done:
    Py_XDECREF(abi_module);
    Py_DECREF(py_object_name);
    assert(cached_type == NULL || PyType_Check(cached_type));
    return (PyTypeObject *) cached_type;
bad:
    Py_XDECREF(cached_type);
    cached_type = NULL;
    goto done;
}

/* CommonTypesMetaclass (used by CythonFunctionShared) */
static PyObject* __pyx_CommonTypesMetaclass_get_module(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED void* context) {
    return PyUnicode_FromString(__PYX_ABI_MODULE_NAME);
}
#if __PYX_LIMITED_VERSION_HEX < 0x030A0000
static PyObject* __pyx_CommonTypesMetaclass_call(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED PyObject *args, CYTHON_UNUSED PyObject *kwds) {
    PyErr_SetString(PyExc_TypeError, "Cannot instantiate Cython internal types");
    return NULL;
}
static int __pyx_CommonTypesMetaclass_setattr(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED PyObject *attr, CYTHON_UNUSED PyObject *value) {
    PyErr_SetString(PyExc_TypeError, "Cython internal types are immutable");
    return -1;
}
#endif
static PyGetSetDef __pyx_CommonTypesMetaclass_getset[] = {
    {"__module__", __pyx_CommonTypesMetaclass_get_module, NULL, NULL, NULL},
    {0, 0, 0, 0, 0}
};
static PyType_Slot __pyx_CommonTypesMetaclass_slots[] = {
    {Py_tp_getset, (void *)__pyx_CommonTypesMetaclass_getset},
    #if __PYX_LIMITED_VERSION_HEX < 0x030A0000
    {Py_tp_call, (void*)__pyx_CommonTypesMetaclass_call},
    {Py_tp_new, (void*)__pyx_CommonTypesMetaclass_call},
    {Py_tp_setattro, (void*)__pyx_CommonTypesMetaclass_setattr},
    #endif
    {0, 0}
};
static PyType_Spec __pyx_CommonTypesMetaclass_spec = {
    __PYX_TYPE_MODULE_PREFIX "_common_types_metatype",
    0,
    0,
    Py_TPFLAGS_IMMUTABLETYPE |
    Py_TPFLAGS_DISALLOW_INSTANTIATION |
    Py_TPFLAGS_DEFAULT,
    __pyx_CommonTypesMetaclass_slots
};
static int __pyx_CommonTypesMetaclass_init(PyObject *module) {
    __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module);
    PyObject *bases = PyTuple_Pack(1, &PyType_Type);
    if (unlikely(!bases)) {
        return -1;
    }
    mstate->__pyx_CommonTypesMetaclassType = __Pyx_FetchCommonTypeFromSpec(NULL, module, &__pyx_CommonTypesMetaclass_spec, bases);
    Py_DECREF(bases);
    if (unlikely(mstate->__pyx_CommonTypesMetaclassType == NULL)) {
        return -1;
    }
    return 0;
}

/* CallTypeTraverse (used by CythonFunctionShared) */
#if !CYTHON_USE_TYPE_SPECS || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x03090000)
#else
static int __Pyx_call_type_traverse(PyObject *o, int always_call, visitproc visit, void *arg) {
    #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x03090000
    if (__Pyx_get_runtime_version() < 0x03090000) return 0;
    #endif
    if (!always_call) {
        PyTypeObject *base = __Pyx_PyObject_GetSlot(o, tp_base, PyTypeObject*);
        unsigned long flags = PyType_GetFlags(base);
        if (flags & Py_TPFLAGS_HEAPTYPE) {
            return 0;
        }
    }
    Py_VISIT((PyObject*)Py_TYPE(o));
    return 0;
}
#endif

/* PyMethodNew (used by CythonFunctionShared) */
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
    PyObject *result;
    CYTHON_UNUSED_VAR(typ);
    if (!self)
        return __Pyx_NewRef(func);
    #if __PYX_LIMITED_VERSION_HEX >= 0x030C0000
    {
        PyObject *args[] = {func, self};
        result = PyObject_Vectorcall(__pyx_mstate_global->__Pyx_CachedMethodType, args, 2, NULL);
    }
    #else
    result = PyObject_CallFunctionObjArgs(__pyx_mstate_global->__Pyx_CachedMethodType, func, self, NULL);
    #endif
    return result;
}
#else
static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
    CYTHON_UNUSED_VAR(typ);
    if (!self)
        return __Pyx_NewRef(func);
    return PyMethod_New(func, self);
}
#endif

/* PyVectorcallFastCallDict (used by CythonFunctionShared) */
#if CYTHON_METH_FASTCALL && CYTHON_VECTORCALL
static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
{
    PyObject *res = NULL;
    PyObject *kwnames;
    PyObject **newargs;
    PyObject **kwvalues;
    Py_ssize_t i;
    #if CYTHON_AVOID_BORROWED_REFS
    PyObject *pos;
    #else
    Py_ssize_t pos;
    #endif
    size_t j;
    PyObject *key, *value;
    unsigned long keys_are_strings;
    #if !CYTHON_ASSUME_SAFE_SIZE
    Py_ssize_t nkw = PyDict_Size(kw);
    if (unlikely(nkw == -1)) return NULL;
    #else
    Py_ssize_t nkw = PyDict_GET_SIZE(kw);
    #endif
    newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0]));
    if (unlikely(newargs == NULL)) {
        PyErr_NoMemory();
        return NULL;
    }
    for (j = 0; j < nargs; j++) newargs[j] = args[j];
    kwnames = PyTuple_New(nkw);
    if (unlikely(kwnames == NULL)) {
        PyMem_Free(newargs);
        return NULL;
    }
    kwvalues = newargs + nargs;
    pos = 0;
    i = 0;
    keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS;
    while (__Pyx_PyDict_NextRef(kw, &pos, &key, &value)) {
        keys_are_strings &=
        #if CYTHON_COMPILING_IN_LIMITED_API
            PyType_GetFlags(Py_TYPE(key));
        #else
            Py_TYPE(key)->tp_flags;
        #endif
        #if !CYTHON_ASSUME_SAFE_MACROS
        if (unlikely(PyTuple_SetItem(kwnames, i, key) < 0)) goto cleanup;
        #else
        PyTuple_SET_ITEM(kwnames, i, key);
        #endif
        kwvalues[i] = value;
        i++;
    }
    if (unlikely(!keys_are_strings)) {
        PyErr_SetString(PyExc_TypeError, "keywords must be strings");
        goto cleanup;
    }
    res = vc(func, newargs, nargs, kwnames);
cleanup:
    #if CYTHON_AVOID_BORROWED_REFS
    Py_DECREF(pos);
    #endif
    Py_DECREF(kwnames);
    for (i = 0; i < nkw; i++)
        Py_DECREF(kwvalues[i]);
    PyMem_Free(newargs);
    return res;
}
static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
{
    Py_ssize_t kw_size =
        likely(kw == NULL) ?
        0 :
#if !CYTHON_ASSUME_SAFE_SIZE
        PyDict_Size(kw);
#else
        PyDict_GET_SIZE(kw);
#endif
    if (kw_size == 0) {
        return vc(func, args, nargs, NULL);
    }
#if !CYTHON_ASSUME_SAFE_SIZE
    else if (unlikely(kw_size == -1)) {
        return NULL;
    }
#endif
    return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw);
}
#endif

/* CythonFunctionShared (used by CythonFunction) */
#if CYTHON_COMPILING_IN_LIMITED_API
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunctionNoMethod(PyObject *func, void (*cfunc)(void)) {
    if (__Pyx_CyFunction_Check(func)) {
        return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc;
    } else if (PyCFunction_Check(func)) {
        return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
    }
    return 0;
}
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void (*cfunc)(void)) {
    if ((PyObject*)Py_TYPE(func) == __pyx_mstate_global->__Pyx_CachedMethodType) {
        int result;
        PyObject *newFunc = PyObject_GetAttr(func, __pyx_mstate_global->__pyx_n_u_func);
        if (unlikely(!newFunc)) {
            PyErr_Clear(); // It's only an optimization, so don't throw an error
            return 0;
        }
        result = __Pyx__IsSameCyOrCFunctionNoMethod(newFunc, cfunc);
        Py_DECREF(newFunc);
        return result;
    }
    return __Pyx__IsSameCyOrCFunctionNoMethod(func, cfunc);
}
#else
static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void (*cfunc)(void)) {
    if (PyMethod_Check(func)) {
        func = PyMethod_GET_FUNCTION(func);
    }
    return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
}
#endif
static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    __Pyx_Py_XDECREF_SET(
        __Pyx_CyFunction_GetClassObj(f),
            ((classobj) ? __Pyx_NewRef(classobj) : NULL));
#else
    __Pyx_Py_XDECREF_SET(
        ((PyCMethodObject *) (f))->mm_class,
        (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL));
#endif
}
static PyObject *
__Pyx_CyFunction_get_doc_locked(__pyx_CyFunctionObject *op)
{
    if (unlikely(op->func_doc == NULL)) {
#if CYTHON_COMPILING_IN_LIMITED_API
        op->func_doc = PyObject_GetAttrString(op->func, "__doc__");
        if (unlikely(!op->func_doc)) return NULL;
#else
        if (((PyCFunctionObject*)op)->m_ml->ml_doc) {
            op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
            if (unlikely(op->func_doc == NULL))
                return NULL;
        } else {
            Py_INCREF(Py_None);
            return Py_None;
        }
#endif
    }
    Py_INCREF(op->func_doc);
    return op->func_doc;
}
static PyObject *
__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure) {
    PyObject *result;
    CYTHON_UNUSED_VAR(closure);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_doc_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (value == NULL) {
        value = Py_None;
    }
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->func_doc, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_name_locked(__pyx_CyFunctionObject *op)
{
    if (unlikely(op->func_name == NULL)) {
#if CYTHON_COMPILING_IN_LIMITED_API
        op->func_name = PyObject_GetAttrString(op->func, "__name__");
#else
        op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
#endif
        if (unlikely(op->func_name == NULL))
            return NULL;
    }
    Py_INCREF(op->func_name);
    return op->func_name;
}
static PyObject *
__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context)
{
    PyObject *result = NULL;
    CYTHON_UNUSED_VAR(context);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_name_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__name__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->func_name, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    PyObject *result;
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    Py_INCREF(op->func_qualname);
    result = op->func_qualname;
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__qualname__ must be set to a string object");
        return -1;
    }
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->func_qualname, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
static PyObject *
__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    if (unlikely(op->func_dict == NULL)) {
        op->func_dict = PyDict_New();
        if (unlikely(op->func_dict == NULL))
            return NULL;
    }
    Py_INCREF(op->func_dict);
    return op->func_dict;
}
#endif
static PyObject *
__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(op->func_globals);
    return op->func_globals;
}
static PyObject *
__Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context)
{
    CYTHON_UNUSED_VAR(op);
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(Py_None);
    return Py_None;
}
static PyObject *
__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context)
{
    PyObject* result = (op->func_code) ? op->func_code : Py_None;
    CYTHON_UNUSED_VAR(context);
    Py_INCREF(result);
    return result;
}
static int
__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
    int result = 0;
    PyObject *res = op->defaults_getter((PyObject *) op);
    if (unlikely(!res))
        return -1;
    #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
    op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
    Py_INCREF(op->defaults_tuple);
    op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
    Py_INCREF(op->defaults_kwdict);
    #else
    op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0);
    if (unlikely(!op->defaults_tuple)) result = -1;
    else {
        op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1);
        if (unlikely(!op->defaults_kwdict)) result = -1;
    }
    #endif
    Py_DECREF(res);
    return result;
}
static int
__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value) {
        value = Py_None;
    } else if (unlikely(value != Py_None && !PyTuple_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__defaults__ must be set to a tuple object");
        return -1;
    }
    PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not "
                 "currently affect the values used in function calls", 1);
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->defaults_tuple, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_defaults_locked(__pyx_CyFunctionObject *op) {
    PyObject* result = op->defaults_tuple;
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
            result = op->defaults_tuple;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static PyObject *
__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) {
    PyObject* result = NULL;
    CYTHON_UNUSED_VAR(context);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_defaults_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value) {
        value = Py_None;
    } else if (unlikely(value != Py_None && !PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__kwdefaults__ must be set to a dict object");
        return -1;
    }
    PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not "
                 "currently affect the values used in function calls", 1);
    Py_INCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_kwdefaults_locked(__pyx_CyFunctionObject *op) {
    PyObject* result = op->defaults_kwdict;
    if (unlikely(!result)) {
        if (op->defaults_getter) {
            if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
            result = op->defaults_kwdict;
        } else {
            result = Py_None;
        }
    }
    Py_INCREF(result);
    return result;
}
static PyObject *
__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) {
    PyObject* result;
    CYTHON_UNUSED_VAR(context);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_kwdefaults_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static int
__Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    if (!value || value == Py_None) {
        value = NULL;
    } else if (unlikely(!PyDict_Check(value))) {
        PyErr_SetString(PyExc_TypeError,
                        "__annotations__ must be set to a dict object");
        return -1;
    }
    Py_XINCREF(value);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    __Pyx_Py_XDECREF_SET(op->func_annotations, value);
    __Pyx_END_CRITICAL_SECTION();
    return 0;
}
static PyObject *
__Pyx_CyFunction_get_annotations_locked(__pyx_CyFunctionObject *op) {
    PyObject* result = op->func_annotations;
    if (unlikely(!result)) {
        result = PyDict_New();
        if (unlikely(!result)) return NULL;
        op->func_annotations = result;
    }
    Py_INCREF(result);
    return result;
}
static PyObject *
__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) {
    PyObject *result;
    CYTHON_UNUSED_VAR(context);
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    result = __Pyx_CyFunction_get_annotations_locked(op);
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static PyObject *
__Pyx_CyFunction_get_is_coroutine_value(__pyx_CyFunctionObject *op) {
    int is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE;
    if (is_coroutine) {
        PyObject *is_coroutine_value, *module, *fromlist, *marker = __pyx_mstate_global->__pyx_n_u_is_coroutine;
        fromlist = PyList_New(1);
        if (unlikely(!fromlist)) return NULL;
        Py_INCREF(marker);
#if CYTHON_ASSUME_SAFE_MACROS
        PyList_SET_ITEM(fromlist, 0, marker);
#else
        if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
            Py_DECREF(marker);
            Py_DECREF(fromlist);
            return NULL;
        }
#endif
        module = PyImport_ImportModuleLevelObject(__pyx_mstate_global->__pyx_n_u_asyncio_coroutines, NULL, NULL, fromlist, 0);
        Py_DECREF(fromlist);
        if (unlikely(!module)) goto ignore;
        is_coroutine_value = __Pyx_PyObject_GetAttrStr(module, marker);
        Py_DECREF(module);
        if (likely(is_coroutine_value)) {
            return is_coroutine_value;
        }
ignore:
        PyErr_Clear();
    }
    return __Pyx_PyBool_FromLong(is_coroutine);
}
static PyObject *
__Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) {
    PyObject *result;
    CYTHON_UNUSED_VAR(context);
    if (op->func_is_coroutine) {
        return __Pyx_NewRef(op->func_is_coroutine);
    }
    result = __Pyx_CyFunction_get_is_coroutine_value(op);
    if (unlikely(!result))
        return NULL;
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    if (op->func_is_coroutine) {
        Py_DECREF(result);
        result = __Pyx_NewRef(op->func_is_coroutine);
    } else {
        op->func_is_coroutine = __Pyx_NewRef(result);
    }
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static void __Pyx_CyFunction_raise_argument_count_error(__pyx_CyFunctionObject *func, const char* message, Py_ssize_t size) {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *py_name = __Pyx_CyFunction_get_name(func, NULL);
    if (!py_name) return;
    PyErr_Format(PyExc_TypeError,
        "%.200S() %s (%" CYTHON_FORMAT_SSIZE_T "d given)",
        py_name, message, size);
    Py_DECREF(py_name);
#else
    const char* name = ((PyCFunctionObject*)func)->m_ml->ml_name;
    PyErr_Format(PyExc_TypeError,
        "%.200s() %s (%" CYTHON_FORMAT_SSIZE_T "d given)",
        name, message, size);
#endif
}
static void __Pyx_CyFunction_raise_type_error(__pyx_CyFunctionObject *func, const char* message) {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *py_name = __Pyx_CyFunction_get_name(func, NULL);
    if (!py_name) return;
    PyErr_Format(PyExc_TypeError,
        "%.200S() %s",
        py_name, message);
    Py_DECREF(py_name);
#else
    const char* name = ((PyCFunctionObject*)func)->m_ml->ml_name;
    PyErr_Format(PyExc_TypeError,
        "%.200s() %s",
        name, message);
#endif
}
#if CYTHON_COMPILING_IN_LIMITED_API
static PyObject *
__Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) {
    CYTHON_UNUSED_VAR(context);
    return PyObject_GetAttrString(op->func, "__module__");
}
static int
__Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
    CYTHON_UNUSED_VAR(context);
    return PyObject_SetAttrString(op->func, "__module__", value);
}
#endif
static PyGetSetDef __pyx_CyFunction_getsets[] = {
    {"func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {"__doc__",  (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
    {"func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {"__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
    {"__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
    {"func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)PyObject_GenericSetDict, 0, 0},
    {"__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)PyObject_GenericSetDict, 0, 0},
#else
    {"func_dict", (getter)PyObject_GenericGetDict, (setter)PyObject_GenericSetDict, 0, 0},
    {"__dict__", (getter)PyObject_GenericGetDict, (setter)PyObject_GenericSetDict, 0, 0},
#endif
    {"func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {"__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
    {"func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {"__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
    {"func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {"__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
    {"func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {"__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
    {"__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
    {"__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
    {"_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
#if CYTHON_COMPILING_IN_LIMITED_API
    {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0},
#endif
    {0, 0, 0, 0, 0}
};
static PyMemberDef __pyx_CyFunction_members[] = {
#if !CYTHON_COMPILING_IN_LIMITED_API
    {"__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
#endif
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    {"__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0},
#endif
#if CYTHON_METH_FASTCALL
#if CYTHON_COMPILING_IN_LIMITED_API
    {"__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0},
#else
    {"__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
#endif
#if CYTHON_COMPILING_IN_LIMITED_API
    {"__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0},
#else
    {"__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
#endif
#endif
    {0, 0, 0,  0, 0}
};
static PyObject *
__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args)
{
    PyObject *result = NULL;
    CYTHON_UNUSED_VAR(args);
    __Pyx_BEGIN_CRITICAL_SECTION(m);
    Py_INCREF(m->func_qualname);
    result = m->func_qualname;
    __Pyx_END_CRITICAL_SECTION();
    return result;
}
static PyMethodDef __pyx_CyFunction_methods[] = {
    {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
    {0, 0, 0, 0}
};
#if CYTHON_COMPILING_IN_LIMITED_API
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
#else
#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
#endif
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
                                       PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
#if !CYTHON_COMPILING_IN_LIMITED_API
    PyCFunctionObject *cf = (PyCFunctionObject*) op;
#endif
    if (unlikely(op == NULL))
        return NULL;
#if CYTHON_COMPILING_IN_LIMITED_API
    op->func = PyCFunction_NewEx(ml, (PyObject*)op, module);
    if (unlikely(!op->func)) return NULL;
#endif
    op->flags = flags;
    __Pyx_CyFunction_weakreflist(op) = NULL;
#if !CYTHON_COMPILING_IN_LIMITED_API
    cf->m_ml = ml;
    cf->m_self = (PyObject *) op;
#endif
    Py_XINCREF(closure);
    op->func_closure = closure;
#if !CYTHON_COMPILING_IN_LIMITED_API
    Py_XINCREF(module);
    cf->m_module = module;
#endif
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    op->func_dict = NULL;
#endif
    op->func_name = NULL;
    Py_INCREF(qualname);
    op->func_qualname = qualname;
    op->func_doc = NULL;
#if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
    op->func_classobj = NULL;
#else
    ((PyCMethodObject*)op)->mm_class = NULL;
#endif
    op->func_globals = globals;
    Py_INCREF(op->func_globals);
    Py_XINCREF(code);
    op->func_code = code;
    op->defaults = NULL;
    op->defaults_tuple = NULL;
    op->defaults_kwdict = NULL;
    op->defaults_getter = NULL;
    op->func_annotations = NULL;
    op->func_is_coroutine = NULL;
#if CYTHON_METH_FASTCALL
    switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) {
    case METH_NOARGS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS;
        break;
    case METH_O:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O;
        break;
    case METH_METHOD | METH_FASTCALL | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD;
        break;
    case METH_FASTCALL | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS;
        break;
    case METH_VARARGS | METH_KEYWORDS:
        __Pyx_CyFunction_func_vectorcall(op) = NULL;
        break;
    default:
        PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
        Py_DECREF(op);
        return NULL;
    }
#endif
    return (PyObject *) op;
}
static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
{
    Py_CLEAR(m->func_closure);
#if CYTHON_COMPILING_IN_LIMITED_API
    Py_CLEAR(m->func);
#else
    Py_CLEAR(((PyCFunctionObject*)m)->m_module);
#endif
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    Py_CLEAR(m->func_dict);
#elif PY_VERSION_HEX < 0x030d0000
    _PyObject_ClearManagedDict((PyObject*)m);
#else
    PyObject_ClearManagedDict((PyObject*)m);
#endif
    Py_CLEAR(m->func_name);
    Py_CLEAR(m->func_qualname);
    Py_CLEAR(m->func_doc);
    Py_CLEAR(m->func_globals);
    Py_CLEAR(m->func_code);
#if !CYTHON_COMPILING_IN_LIMITED_API
#if PY_VERSION_HEX < 0x030900B1
    Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
#else
    {
        PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class;
        ((PyCMethodObject *) (m))->mm_class = NULL;
        Py_XDECREF(cls);
    }
#endif
#endif
    Py_CLEAR(m->defaults_tuple);
    Py_CLEAR(m->defaults_kwdict);
    Py_CLEAR(m->func_annotations);
    Py_CLEAR(m->func_is_coroutine);
    Py_CLEAR(m->defaults);
    return 0;
}
static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m)
{
    if (__Pyx_CyFunction_weakreflist(m) != NULL)
        PyObject_ClearWeakRefs((PyObject *) m);
    __Pyx_CyFunction_clear(m);
    __Pyx_PyHeapTypeObject_GC_Del(m);
}
static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
{
    PyObject_GC_UnTrack(m);
    __Pyx__CyFunction_dealloc(m);
}
static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
{
    {
        int e = __Pyx_call_type_traverse((PyObject*)m, 1, visit, arg);
        if (e) return e;
    }
    Py_VISIT(m->func_closure);
#if CYTHON_COMPILING_IN_LIMITED_API
    Py_VISIT(m->func);
#else
    Py_VISIT(((PyCFunctionObject*)m)->m_module);
#endif
#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
    Py_VISIT(m->func_dict);
#else
    {
        int e =
#if PY_VERSION_HEX < 0x030d0000
            _PyObject_VisitManagedDict
#else
            PyObject_VisitManagedDict
#endif
                ((PyObject*)m, visit, arg);
        if (e != 0) return e;
    }
#endif
    __Pyx_VISIT_CONST(m->func_name);
    __Pyx_VISIT_CONST(m->func_qualname);
    Py_VISIT(m->func_doc);
    Py_VISIT(m->func_globals);
    __Pyx_VISIT_CONST(m->func_code);
#if !CYTHON_COMPILING_IN_LIMITED_API
    Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
#endif
    Py_VISIT(m->defaults_tuple);
    Py_VISIT(m->defaults_kwdict);
    Py_VISIT(m->func_is_coroutine);
    Py_VISIT(m->defaults);
    return 0;
}
static PyObject*
__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
{
    PyObject *repr;
    __Pyx_BEGIN_CRITICAL_SECTION(op);
    repr = PyUnicode_FromFormat("<cyfunction %U at %p>",
                                op->func_qualname, (void *)op);
    __Pyx_END_CRITICAL_SECTION();
    return repr;
}
static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
#if CYTHON_COMPILING_IN_LIMITED_API
    PyObject *f = ((__pyx_CyFunctionObject*)func)->func;
    PyCFunction meth;
    int flags;
    meth = PyCFunction_GetFunction(f);
    if (unlikely(!meth)) return NULL;
    flags = PyCFunction_GetFlags(f);
    if (unlikely(flags < 0)) return NULL;
#else
    PyCFunctionObject* f = (PyCFunctionObject*)func;
    PyCFunction meth = f->m_ml->ml_meth;
    int flags = f->m_ml->ml_flags;
#endif
    Py_ssize_t size;
    switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
    case METH_VARARGS:
        if (likely(kw == NULL || PyDict_Size(kw) == 0))
            return (*meth)(self, arg);
        break;
    case METH_VARARGS | METH_KEYWORDS:
        return (*(PyCFunctionWithKeywords)(void(*)(void))meth)(self, arg, kw);
    case METH_NOARGS:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
#if CYTHON_ASSUME_SAFE_SIZE
            size = PyTuple_GET_SIZE(arg);
#else
            size = PyTuple_Size(arg);
            if (unlikely(size < 0)) return NULL;
#endif
            if (likely(size == 0))
                return (*meth)(self, NULL);
            __Pyx_CyFunction_raise_argument_count_error(
                (__pyx_CyFunctionObject*)func,
                "takes no arguments", size);
            return NULL;
        }
        break;
    case METH_O:
        if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
#if CYTHON_ASSUME_SAFE_SIZE
            size = PyTuple_GET_SIZE(arg);
#else
            size = PyTuple_Size(arg);
            if (unlikely(size < 0)) return NULL;
#endif
            if (likely(size == 1)) {
                PyObject *result, *arg0;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                arg0 = PyTuple_GET_ITEM(arg, 0);
                #else
                arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
                #endif
                result = (*meth)(self, arg0);
                #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
                Py_DECREF(arg0);
                #endif
                return result;
            }
            __Pyx_CyFunction_raise_argument_count_error(
                (__pyx_CyFunctionObject*)func,
                "takes exactly one argument", size);
            return NULL;
        }
        break;
    default:
        PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
        return NULL;
    }
    __Pyx_CyFunction_raise_type_error(
        (__pyx_CyFunctionObject*)func, "takes no keyword arguments");
    return NULL;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
    PyObject *self, *result;
#if CYTHON_COMPILING_IN_LIMITED_API
    self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func);
    if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
    self = ((PyCFunctionObject*)func)->m_self;
#endif
    result = __Pyx_CyFunction_CallMethod(func, self, arg, kw);
    return result;
}
static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
    PyObject *result;
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
#if CYTHON_METH_FASTCALL && CYTHON_VECTORCALL
     __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc);
    if (vc) {
#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
        return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw);
#else
        (void) &__Pyx_PyVectorcall_FastCallDict;
        return PyVectorcall_Call(func, args, kw);
#endif
    }
#endif
    if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
        Py_ssize_t argc;
        PyObject *new_args;
        PyObject *self;
#if CYTHON_ASSUME_SAFE_SIZE
        argc = PyTuple_GET_SIZE(args);
#else
        argc = PyTuple_Size(args);
        if (unlikely(argc < 0)) return NULL;
#endif
        new_args = PyTuple_GetSlice(args, 1, argc);
        if (unlikely(!new_args))
            return NULL;
        self = PyTuple_GetItem(args, 0);
        if (unlikely(!self)) {
            Py_DECREF(new_args);
            PyErr_Format(PyExc_TypeError,
                         "unbound method %.200S() needs an argument",
                         cyfunc->func_qualname);
            return NULL;
        }
        result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
        Py_DECREF(new_args);
    } else {
        result = __Pyx_CyFunction_Call(func, args, kw);
    }
    return result;
}
#if CYTHON_METH_FASTCALL && CYTHON_VECTORCALL
static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames)
{
    int ret = 0;
    if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
        if (unlikely(nargs < 1)) {
            __Pyx_CyFunction_raise_type_error(
                cyfunc, "needs an argument");
            return -1;
        }
        ret = 1;
    }
    if (unlikely(kwnames) && unlikely(__Pyx_PyTuple_GET_SIZE(kwnames))) {
        __Pyx_CyFunction_raise_type_error(
            cyfunc, "takes no keyword arguments");
        return -1;
    }
    return ret;
}
static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
    PyObject *self;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyCFunction meth = PyCFunction_GetFunction(cyfunc->func);
    if (unlikely(!meth)) return NULL;
#else
    PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
#endif
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
#if CYTHON_COMPILING_IN_LIMITED_API
        self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)cyfunc)->func);
        if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
        self = ((PyCFunctionObject*)cyfunc)->m_self;
#endif
        break;
    default:
        return NULL;
    }
    if (unlikely(nargs != 0)) {
        __Pyx_CyFunction_raise_argument_count_error(
            cyfunc, "takes no arguments", nargs);
        return NULL;
    }
    return meth(self, NULL);
}
static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
    PyObject *self;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyCFunction meth = PyCFunction_GetFunction(cyfunc->func);
    if (unlikely(!meth)) return NULL;
#else
    PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
#endif
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
#if CYTHON_COMPILING_IN_LIMITED_API
        self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)cyfunc)->func);
        if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
        self = ((PyCFunctionObject*)cyfunc)->m_self;
#endif
        break;
    default:
        return NULL;
    }
    if (unlikely(nargs != 1)) {
        __Pyx_CyFunction_raise_argument_count_error(
            cyfunc, "takes exactly one argument", nargs);
        return NULL;
    }
    return meth(self, args[0]);
}
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
    PyObject *self;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyCFunction meth = PyCFunction_GetFunction(cyfunc->func);
    if (unlikely(!meth)) return NULL;
#else
    PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
#endif
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
#if CYTHON_COMPILING_IN_LIMITED_API
        self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)cyfunc)->func);
        if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
        self = ((PyCFunctionObject*)cyfunc)->m_self;
#endif
        break;
    default:
        return NULL;
    }
    return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))meth)(self, args, nargs, kwnames);
}
static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
{
    __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
    PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc);
    Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
    PyObject *self;
#if CYTHON_COMPILING_IN_LIMITED_API
    PyCFunction meth = PyCFunction_GetFunction(cyfunc->func);
    if (unlikely(!meth)) return NULL;
#else
    PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
#endif
    switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
    case 1:
        self = args[0];
        args += 1;
        nargs -= 1;
        break;
    case 0:
#if CYTHON_COMPILING_IN_LIMITED_API
        self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)cyfunc)->func);
        if (unlikely(!self) && PyErr_Occurred()) return NULL;
#else
        self = ((PyCFunctionObject*)cyfunc)->m_self;
#endif
        break;
    default:
        return NULL;
    }
    #if PY_VERSION_HEX < 0x030e00A6
    size_t nargs_value = (size_t) nargs;
    #else
    Py_ssize_t nargs_value = nargs;
    #endif
    return ((__Pyx_PyCMethod)(void(*)(void))meth)(self, cls, args, nargs_value, kwnames);
}
#endif
static PyType_Slot __pyx_CyFunctionType_slots[] = {
    {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc},
    {Py_tp_repr, (void *)__Pyx_CyFunction_repr},
    {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod},
    {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse},
    {Py_tp_clear, (void *)__Pyx_CyFunction_clear},
    {Py_tp_methods, (void *)__pyx_CyFunction_methods},
    {Py_tp_members, (void *)__pyx_CyFunction_members},
    {Py_tp_getset, (void *)__pyx_CyFunction_getsets},
    {Py_tp_descr_get, (void *)__Pyx_PyMethod_New},
    {0, 0},
};
static PyType_Spec __pyx_CyFunctionType_spec = {
    __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
    sizeof(__pyx_CyFunctionObject),
    0,
#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
    Py_TPFLAGS_METHOD_DESCRIPTOR |
#endif
#if CYTHON_METH_FASTCALL
#if defined(Py_TPFLAGS_HAVE_VECTORCALL)
    Py_TPFLAGS_HAVE_VECTORCALL |
#elif defined(_Py_TPFLAGS_HAVE_VECTORCALL)
    _Py_TPFLAGS_HAVE_VECTORCALL |
#endif
#endif // CYTHON_METH_FASTCALL
#if PY_VERSION_HEX >= 0x030C0000 && !CYTHON_COMPILING_IN_LIMITED_API
    Py_TPFLAGS_MANAGED_DICT |
#endif
    Py_TPFLAGS_IMMUTABLETYPE | Py_TPFLAGS_DISALLOW_INSTANTIATION |
    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
    __pyx_CyFunctionType_slots
};
static int __pyx_CyFunction_init(PyObject *module) {
    __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module);
    mstate->__pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(
        mstate->__pyx_CommonTypesMetaclassType, module, &__pyx_CyFunctionType_spec, NULL);
    if (unlikely(mstate->__pyx_CyFunctionType == NULL)) {
        return -1;
    }
    return 0;
}
static CYTHON_INLINE PyObject *__Pyx_CyFunction_InitDefaults(PyObject *func, PyTypeObject *defaults_type) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults = PyObject_CallObject((PyObject*)defaults_type, NULL); // _PyObject_New(defaults_type);
    if (unlikely(!m->defaults))
        return NULL;
    return m->defaults;
}
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults_tuple = tuple;
    Py_INCREF(tuple);
}
static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->defaults_kwdict = dict;
    Py_INCREF(dict);
}
static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
    m->func_annotations = dict;
    Py_INCREF(dict);
}

/* CythonFunction */
static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname,
                                      PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
    PyObject *op = __Pyx_CyFunction_Init(
        PyObject_GC_New(__pyx_CyFunctionObject, __pyx_mstate_global->__pyx_CyFunctionType),
        ml, flags, qualname, closure, module, globals, code
    );
    if (likely(op)) {
        PyObject_GC_Track(op);
    }
    return op;
}

/* IterFinish (used by dict_iter) */
static CYTHON_INLINE int __Pyx_IterFinish(void) {
    PyObject* exc_type;
    __Pyx_PyThreadState_declare
    __Pyx_PyThreadState_assign
    exc_type = __Pyx_PyErr_CurrentExceptionType();
    if (unlikely(exc_type)) {
        if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))
            return -1;
        __Pyx_PyErr_Clear();
        return 0;
    }
    return 0;
}

/* PyObjectCallNoArg (used by PyObjectCallMethod0) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
    PyObject *arg[2] = {NULL, NULL};
    return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* PyObjectGetMethod (used by PyObjectCallMethod0) */
#if !(CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000)))
static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
    PyObject *attr;
#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
    __Pyx_TypeName type_name;
    PyTypeObject *tp = Py_TYPE(obj);
    PyObject *descr;
    descrgetfunc f = NULL;
    PyObject **dictptr, *dict;
    int meth_found = 0;
    assert (*method == NULL);
    if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
        attr = __Pyx_PyObject_GetAttrStr(obj, name);
        goto try_unpack;
    }
    if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
        return 0;
    }
    descr = _PyType_Lookup(tp, name);
    if (likely(descr != NULL)) {
        Py_INCREF(descr);
#if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR
        if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR))
#else
        #ifdef __Pyx_CyFunction_USED
        if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
        #else
        if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type)))
        #endif
#endif
        {
            meth_found = 1;
        } else {
            f = Py_TYPE(descr)->tp_descr_get;
            if (f != NULL && PyDescr_IsData(descr)) {
                attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
                Py_DECREF(descr);
                goto try_unpack;
            }
        }
    }
    dictptr = _PyObject_GetDictPtr(obj);
    if (dictptr != NULL && (dict = *dictptr) != NULL) {
        Py_INCREF(dict);
        attr = __Pyx_PyDict_GetItemStr(dict, name);
        if (attr != NULL) {
            Py_INCREF(attr);
            Py_DECREF(dict);
            Py_XDECREF(descr);
            goto try_unpack;
        }
        Py_DECREF(dict);
    }
    if (meth_found) {
        *method = descr;
        return 1;
    }
    if (f != NULL) {
        attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
        Py_DECREF(descr);
        goto try_unpack;
    }
    if (likely(descr != NULL)) {
        *method = descr;
        return 0;
    }
    type_name = __Pyx_PyType_GetFullyQualifiedName(tp);
    PyErr_Format(PyExc_AttributeError,
                 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'",
                 type_name, name);
    __Pyx_DECREF_TypeName(type_name);
    return 0;
#else
    attr = __Pyx_PyObject_GetAttrStr(obj, name);
    goto try_unpack;
#endif
try_unpack:
#if CYTHON_UNPACK_METHODS
    if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
        PyObject *function = PyMethod_GET_FUNCTION(attr);
        Py_INCREF(function);
        Py_DECREF(attr);
        *method = function;
        return 1;
    }
#endif
    *method = attr;
    return 0;
}
#endif

/* PyObjectCallMethod0 (used by dict_iter) */
static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
#if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
    PyObject *args[1] = {obj};
    (void) __Pyx_PyObject_CallOneArg;
    (void) __Pyx_PyObject_CallNoArg;
    return PyObject_VectorcallMethod(method_name, args, 1 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
#else
    PyObject *method = NULL, *result = NULL;
    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
    if (likely(is_method)) {
        result = __Pyx_PyObject_CallOneArg(method, obj);
        Py_DECREF(method);
        return result;
    }
    if (unlikely(!method)) goto bad;
    result = __Pyx_PyObject_CallNoArg(method);
    Py_DECREF(method);
bad:
    return result;
#endif
}

/* UnpackItemEndCheck (used by UnpackTuple2) */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
    if (unlikely(retval)) {
        Py_DECREF(retval);
        __Pyx_RaiseTooManyValuesError(expected);
        return -1;
    }
    return __Pyx_IterFinish();
}

/* UnpackTupleError (used by UnpackTuple2) */
static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
    if (t == Py_None) {
      __Pyx_RaiseNoneNotIterableError();
    } else {
      Py_ssize_t size = __Pyx_PyTuple_GET_SIZE(t);
 #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely(size < 0)) return;
 #endif
      if (size < index) {
        __Pyx_RaiseNeedMoreValuesError(size);
      } else {
        __Pyx_RaiseTooManyValuesError(index);
      }
    }
}

/* UnpackTuple2 (used by dict_iter) */
static CYTHON_INLINE int __Pyx_unpack_tuple2(
        PyObject* tuple, PyObject** value1, PyObject** value2, int is_tuple, int has_known_size, int decref_tuple) {
    if (likely(is_tuple || PyTuple_Check(tuple))) {
        Py_ssize_t size;
        if (has_known_size) {
            return __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple);
        }
        size = __Pyx_PyTuple_GET_SIZE(tuple);
        if (likely(size == 2)) {
            return __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple);
        }
        if (size >= 0) {
            __Pyx_UnpackTupleError(tuple, 2);
        }
        return -1;
    } else {
        return __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple);
    }
}
static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
        PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) {
    PyObject *value1 = NULL, *value2 = NULL;
#if CYTHON_AVOID_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS
    value1 = __Pyx_PySequence_ITEM(tuple, 0);  if (unlikely(!value1)) goto bad;
    value2 = __Pyx_PySequence_ITEM(tuple, 1);  if (unlikely(!value2)) goto bad;
#else
    value1 = PyTuple_GET_ITEM(tuple, 0);  Py_INCREF(value1);
    value2 = PyTuple_GET_ITEM(tuple, 1);  Py_INCREF(value2);
#endif
    if (decref_tuple) {
        Py_DECREF(tuple);
    }
    *pvalue1 = value1;
    *pvalue2 = value2;
    return 0;
#if CYTHON_AVOID_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS
bad:
    Py_XDECREF(value1);
    Py_XDECREF(value2);
    if (decref_tuple) { Py_XDECREF(tuple); }
    return -1;
#endif
}
static int __Pyx_unpack_tuple2_generic(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2,
                                       int has_known_size, int decref_tuple) {
    Py_ssize_t index;
    PyObject *value1 = NULL, *value2 = NULL, *iter = NULL;
    iternextfunc iternext;
    iter = PyObject_GetIter(tuple);
    if (unlikely(!iter)) goto bad;
    if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; }
    iternext = __Pyx_PyObject_GetIterNextFunc(iter);
    value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; }
    value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; }
    if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad;
    Py_DECREF(iter);
    *pvalue1 = value1;
    *pvalue2 = value2;
    return 0;
unpacking_failed:
    if (!has_known_size && __Pyx_IterFinish() == 0)
        __Pyx_RaiseNeedMoreValuesError(index);
bad:
    Py_XDECREF(iter);
    Py_XDECREF(value1);
    Py_XDECREF(value2);
    if (decref_tuple) { Py_XDECREF(tuple); }
    return -1;
}

/* dict_iter */
#if CYTHON_COMPILING_IN_PYPY
#include <string.h>
#endif
static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name,
                                                   Py_ssize_t* p_orig_length, int* p_source_is_dict) {
    is_dict = is_dict || likely(PyDict_CheckExact(iterable));
    *p_source_is_dict = is_dict;
    if (is_dict) {
#if !CYTHON_COMPILING_IN_PYPY
        *p_orig_length = PyDict_Size(iterable);
        Py_INCREF(iterable);
        return iterable;
#else
        static PyObject *py_items = NULL, *py_keys = NULL, *py_values = NULL;
        PyObject **pp = NULL;
        if (method_name) {
            const char *name = PyUnicode_AsUTF8(method_name);
            if (strcmp(name, "iteritems") == 0) pp = &py_items;
            else if (strcmp(name, "iterkeys") == 0) pp = &py_keys;
            else if (strcmp(name, "itervalues") == 0) pp = &py_values;
            if (pp) {
                if (!*pp) {
                    *pp = PyUnicode_FromString(name + 4);
                    if (!*pp)
                        return NULL;
                }
                method_name = *pp;
            }
        }
#endif
    }
    *p_orig_length = 0;
    if (method_name) {
        PyObject* iter;
        iterable = __Pyx_PyObject_CallMethod0(iterable, method_name);
        if (!iterable)
            return NULL;
#if !CYTHON_COMPILING_IN_PYPY
        if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable))
            return iterable;
#endif
        iter = PyObject_GetIter(iterable);
        Py_DECREF(iterable);
        return iter;
    }
    return PyObject_GetIter(iterable);
}
#if !CYTHON_AVOID_BORROWED_REFS
static CYTHON_INLINE int __Pyx_dict_iter_next_source_is_dict(
        PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos,
        PyObject** pkey, PyObject** pvalue, PyObject** pitem) {
    PyObject *key, *value;
    if (unlikely(orig_length != PyDict_Size(iter_obj))) {
        PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration");
        return -1;
    }
    if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) {
        return 0;
    }
    if (pitem) {
        PyObject* tuple = PyTuple_New(2);
        if (unlikely(!tuple)) {
            return -1;
        }
        Py_INCREF(key);
        Py_INCREF(value);
        #if CYTHON_ASSUME_SAFE_MACROS
        PyTuple_SET_ITEM(tuple, 0, key);
        PyTuple_SET_ITEM(tuple, 1, value);
        #else
        if (unlikely(PyTuple_SetItem(tuple, 0, key) < 0)) {
            Py_DECREF(value);
            Py_DECREF(tuple);
            return -1;
        }
        if (unlikely(PyTuple_SetItem(tuple, 1, value) < 0)) {
            Py_DECREF(tuple);
            return -1;
        }
        #endif
        *pitem = tuple;
    } else {
        if (pkey) {
            Py_INCREF(key);
            *pkey = key;
        }
        if (pvalue) {
            Py_INCREF(value);
            *pvalue = value;
        }
    }
    return 1;
}
#endif
static CYTHON_INLINE int __Pyx_dict_iter_next(
        PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos,
        PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) {
    PyObject* next_item;
#if !CYTHON_AVOID_BORROWED_REFS
    if (source_is_dict) {
        int result;
#if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_BEGIN_CRITICAL_SECTION(iter_obj);
#endif
        result = __Pyx_dict_iter_next_source_is_dict(iter_obj, orig_length, ppos, pkey, pvalue, pitem);
#if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
        Py_END_CRITICAL_SECTION();
#endif
        return result;
    } else if (PyTuple_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        Py_ssize_t tuple_size = __Pyx_PyTuple_GET_SIZE(iter_obj);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(tuple_size < 0)) return -1;
        #endif
        if (unlikely(pos >= tuple_size)) return 0;
        *ppos = pos + 1;
        #if CYTHON_ASSUME_SAFE_MACROS
        next_item = PyTuple_GET_ITEM(iter_obj, pos);
        #else
        next_item = PyTuple_GetItem(iter_obj, pos);
        if (unlikely(!next_item)) return -1;
        #endif
        Py_INCREF(next_item);
    } else if (PyList_CheckExact(iter_obj)) {
        Py_ssize_t pos = *ppos;
        Py_ssize_t list_size = __Pyx_PyList_GET_SIZE(iter_obj);
        #if !CYTHON_ASSUME_SAFE_SIZE
        if (unlikely(list_size < 0)) return -1;
        #endif
        if (unlikely(pos >= list_size)) return 0;
        *ppos = pos + 1;
        next_item = __Pyx_PyList_GetItemRef(iter_obj, pos);
        if (unlikely(!next_item)) return -1;
    } else
#endif
    {
        next_item = PyIter_Next(iter_obj);
        if (unlikely(!next_item)) {
            return __Pyx_IterFinish();
        }
    }
    if (pitem) {
        *pitem = next_item;
    } else if (pkey && pvalue) {
        if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1))
            return -1;
    } else if (pkey) {
        *pkey = next_item;
    } else {
        *pvalue = next_item;
    }
    return 1;
}

/* py_abs */
#if CYTHON_USE_PYLONG_INTERNALS
static PyObject *__Pyx_PyLong_AbsNeg(PyObject *n) {
#if PY_VERSION_HEX >= 0x030C00A7
    if (likely(__Pyx_PyLong_IsCompact(n))) {
        return PyLong_FromSize_t(__Pyx_PyLong_CompactValueUnsigned(n));
    }
#else
    if (likely(Py_SIZE(n) == -1)) {
        return PyLong_FromUnsignedLong(__Pyx_PyLong_Digits(n)[0]);
    }
#endif
#if CYTHON_COMPILING_IN_CPYTHON
    {
        PyObject *copy = _PyLong_Copy((PyLongObject*)n);
        if (likely(copy)) {
            #if PY_VERSION_HEX >= 0x030C00A7
            ((PyLongObject*)copy)->long_value.lv_tag ^= ((PyLongObject*)copy)->long_value.lv_tag & _PyLong_SIGN_MASK;
            #else
            __Pyx_SET_SIZE(copy, -Py_SIZE(copy));
            #endif
        }
        return copy;
    }
#else
    return PyNumber_Negative(n);
#endif
}
#endif

/* pybuiltin_invalid (used by pyint_simplify) */
static void __Pyx_PyBuiltin_Invalid(PyObject *obj, const char *type_name, const char *argname) {
    __Pyx_TypeName obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
    if (argname) {
        PyErr_Format(PyExc_TypeError,
            "Argument '%.200s' has incorrect type (expected %.200s, got " __Pyx_FMT_TYPENAME ")",
            argname, type_name, obj_type_name
        );
    } else {
        PyErr_Format(PyExc_TypeError,
            "Expected %.200s, got " __Pyx_FMT_TYPENAME,
            type_name, obj_type_name
        );
    }
    __Pyx_DECREF_TypeName(obj_type_name);
}

/* pyint_simplify */
static CYTHON_INLINE int __Pyx_PyInt_FromNumber(PyObject **number_var, const char *argname, int accept_none) {
    PyObject *number = *number_var;
    if (likely((accept_none && number == Py_None) || PyLong_CheckExact(number))) {
        return 0;
    }
    PyObject *int_object;
    if (likely(PyNumber_Check(number))) {
        int_object = PyNumber_Long(number);
        if (unlikely(!int_object)) goto bad;
    } else {
        __Pyx_PyBuiltin_Invalid(number, "int", argname);
        goto bad;
    }
    *number_var = int_object;
    Py_DECREF(number);
    return 0;
bad:
    *number_var = NULL;
    Py_DECREF(number);
    return -1;
}

/* PyFloatBinop */
#if !CYTHON_COMPILING_IN_PYPY
static int __Pyx_PyFloat_BoolNeObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) {
    const double b = floatval;
    double a;
    CYTHON_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    if (op1 == op2) {
        return 0;
    }
    if (likely(PyFloat_CheckExact(op1))) {
        a = __Pyx_PyFloat_AS_DOUBLE(op1);
        
    } else
    if (likely(PyLong_CheckExact(op1))) {
        #if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsZero(op1)) {
            a = 0.0;
            
        } else if (__Pyx_PyLong_IsCompact(op1)) {
            a = (double) __Pyx_PyLong_CompactValue(op1);
        } else {
            const digit* digits = __Pyx_PyLong_Digits(op1);
            const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1);
            switch (size) {
                case -2:
                case 2:
                    if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (1 * PyLong_SHIFT < 53))) {
                        a = (double) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        if ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
                            if (size == -2)
                                a = -a;
                            break;
                        }
                    }
                    CYTHON_FALLTHROUGH;
                case -3:
                case 3:
                    if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53))) {
                        a = (double) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        if ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
                            if (size == -3)
                                a = -a;
                            break;
                        }
                    }
                    CYTHON_FALLTHROUGH;
                case -4:
                case 4:
                    if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53))) {
                        a = (double) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        if ((8 * sizeof(unsigned long) < 53) || (4 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
                            if (size == -4)
                                a = -a;
                            break;
                        }
                    }
                    CYTHON_FALLTHROUGH;
                default:
        #endif
                    {
                        PyObject *res =
                    #if CYTHON_USE_TYPE_SLOTS || __PYX_LIMITED_VERSION_HEX >= 0x030A0000
                            __Pyx_PyType_GetSlot((&PyFloat_Type), tp_richcompare, richcmpfunc)
                    #else
                            PyObject_RichCompare
                    #endif
                        (op2, op1,
                         Py_NE);
                    return __Pyx_PyObject_IsTrueAndDecref(
                        res);
                    }
        #if CYTHON_USE_PYLONG_INTERNALS
            }
        }
        #endif
    } else {
        return __Pyx_PyObject_IsTrueAndDecref(
            PyObject_RichCompare(op1, op2, Py_NE));
    }
        if (a != b) {
            return 1;
        } else {
            return 0;
        }
}
#endif

/* PyFloatBinop */
#if !CYTHON_COMPILING_IN_PYPY
static int __Pyx_PyFloat_BoolEqObjC(PyObject *op1, PyObject *op2, double floatval, int inplace, int zerodivision_check) {
    const double b = floatval;
    double a;
    CYTHON_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    if (op1 == op2) {
        return 1;
    }
    if (likely(PyFloat_CheckExact(op1))) {
        a = __Pyx_PyFloat_AS_DOUBLE(op1);
        
    } else
    if (likely(PyLong_CheckExact(op1))) {
        #if CYTHON_USE_PYLONG_INTERNALS
        if (__Pyx_PyLong_IsZero(op1)) {
            a = 0.0;
            
        } else if (__Pyx_PyLong_IsCompact(op1)) {
            a = (double) __Pyx_PyLong_CompactValue(op1);
        } else {
            const digit* digits = __Pyx_PyLong_Digits(op1);
            const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1);
            switch (size) {
                case -2:
                case 2:
                    if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (1 * PyLong_SHIFT < 53))) {
                        a = (double) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        if ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
                            if (size == -2)
                                a = -a;
                            break;
                        }
                    }
                    CYTHON_FALLTHROUGH;
                case -3:
                case 3:
                    if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (2 * PyLong_SHIFT < 53))) {
                        a = (double) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        if ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
                            if (size == -3)
                                a = -a;
                            break;
                        }
                    }
                    CYTHON_FALLTHROUGH;
                case -4:
                case 4:
                    if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT && ((8 * sizeof(unsigned long) < 53) || (3 * PyLong_SHIFT < 53))) {
                        a = (double) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                        if ((8 * sizeof(unsigned long) < 53) || (4 * PyLong_SHIFT < 53) || (a < (double) ((PY_LONG_LONG)1 << 53))) {
                            if (size == -4)
                                a = -a;
                            break;
                        }
                    }
                    CYTHON_FALLTHROUGH;
                default:
        #endif
                    {
                        PyObject *res =
                    #if CYTHON_USE_TYPE_SLOTS || __PYX_LIMITED_VERSION_HEX >= 0x030A0000
                            __Pyx_PyType_GetSlot((&PyFloat_Type), tp_richcompare, richcmpfunc)
                    #else
                            PyObject_RichCompare
                    #endif
                        (op2, op1,
                         Py_EQ);
                    return __Pyx_PyObject_IsTrueAndDecref(
                        res);
                    }
        #if CYTHON_USE_PYLONG_INTERNALS
            }
        }
        #endif
    } else {
        return __Pyx_PyObject_IsTrueAndDecref(
            PyObject_RichCompare(op1, op2, Py_EQ));
    }
        if (a == b) {
            return 1;
        } else {
            return 0;
        }
}
#endif

/* PyObjectCall2Args (used by PyObjectCallMethod1) */
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
    PyObject *args[3] = {NULL, arg1, arg2};
    return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
}

/* PyObjectCallMethod1 (used by append) */
#if !(CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000)))
static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
    PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
    Py_DECREF(method);
    return result;
}
#endif
static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
#if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x03090000))
    PyObject *args[2] = {obj, arg};
    (void) __Pyx_PyObject_CallOneArg;
    (void) __Pyx_PyObject_Call2Args;
    return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
#else
    PyObject *method = NULL, *result;
    int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
    if (likely(is_method)) {
        result = __Pyx_PyObject_Call2Args(method, obj, arg);
        Py_DECREF(method);
        return result;
    }
    if (unlikely(!method)) return NULL;
    return __Pyx__PyObject_CallMethod1(method, arg);
#endif
}

/* append */
static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x) {
    if (likely(PyList_CheckExact(L))) {
        if (unlikely(__Pyx_PyList_Append(L, x) < 0)) return -1;
    } else {
        PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_mstate_global->__pyx_n_u_append, x);
        if (unlikely(!retval))
            return -1;
        Py_DECREF(retval);
    }
    return 0;
}

/* WriteUnraisableException */
static void __Pyx_WriteUnraisable(const char *name, int clineno,
                                  int lineno, const char *filename,
                                  int full_traceback, int nogil) {
    PyObject *old_exc, *old_val, *old_tb;
    PyObject *ctx;
    __Pyx_PyThreadState_declare
    PyGILState_STATE state;
    if (nogil)
        state = PyGILState_Ensure();
    else state = (PyGILState_STATE)0;
    CYTHON_UNUSED_VAR(clineno);
    CYTHON_UNUSED_VAR(lineno);
    CYTHON_UNUSED_VAR(filename);
    CYTHON_MAYBE_UNUSED_VAR(nogil);
    __Pyx_PyThreadState_assign
    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
    if (full_traceback) {
        Py_XINCREF(old_exc);
        Py_XINCREF(old_val);
        Py_XINCREF(old_tb);
        __Pyx_ErrRestore(old_exc, old_val, old_tb);
        PyErr_PrintEx(0);
    }
    ctx = PyUnicode_FromString(name);
    __Pyx_ErrRestore(old_exc, old_val, old_tb);
    if (!ctx) {
        PyErr_WriteUnraisable(Py_None);
    } else {
        PyErr_WriteUnraisable(ctx);
        Py_DECREF(ctx);
    }
    if (nogil)
        PyGILState_Release(state);
}

/* PyLongBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_Fallback___Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, int inplace) {
    return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
}
#if CYTHON_USE_PYLONG_INTERNALS
static PyObject* __Pyx_Unpacked___Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    long a;
    const PY_LONG_LONG llb = intval;
    PY_LONG_LONG lla;
    if (unlikely(__Pyx_PyLong_IsZero(op1))) {
        return __Pyx_NewRef(op2);
    }
    const int is_positive = __Pyx_PyLong_IsPos(op1);
    const digit* digits = __Pyx_PyLong_Digits(op1);
    const Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
    if (likely(size == 1)) {
        a = (long) digits[0];
        if (!is_positive) a *= -1;
    } else {
        switch (size) {
            case 2:
                if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                    a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 3:
                if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                    a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 4:
                if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                    a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
        }
        return PyLong_Type.tp_as_number->nb_add(op1, op2);
    }
    calculate_long:
        {
            long x;
            x = a + b;
            return PyLong_FromLong(x);
        }
    calculate_long_long:
        {
            PY_LONG_LONG llx;
            llx = lla + llb;
            return PyLong_FromLongLong(llx);
        }
    
}
#endif
static PyObject* __Pyx_Float___Pyx_PyLong_AddObjC(PyObject *float_val, long intval, int zerodivision_check) {
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    double a = __Pyx_PyFloat_AS_DOUBLE(float_val);
        double result;
        
        result = ((double)a) + (double)b;
        return PyFloat_FromDouble(result);
}
static CYTHON_INLINE PyObject* __Pyx_PyLong_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_UNUSED_VAR(zerodivision_check);
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        return __Pyx_Unpacked___Pyx_PyLong_AddObjC(op1, op2, intval, inplace, zerodivision_check);
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        return __Pyx_Float___Pyx_PyLong_AddObjC(op1, intval, zerodivision_check);
    }
    return __Pyx_Fallback___Pyx_PyLong_AddObjC(op1, op2, inplace);
}
#endif

/* PyLongBinop */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_Fallback___Pyx_PyLong_SubtractObjC(PyObject *op1, PyObject *op2, int inplace) {
    return (inplace ? PyNumber_InPlaceSubtract : PyNumber_Subtract)(op1, op2);
}
#if CYTHON_USE_PYLONG_INTERNALS
static PyObject* __Pyx_Unpacked___Pyx_PyLong_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(inplace);
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    long a;
    const PY_LONG_LONG llb = intval;
    PY_LONG_LONG lla;
    if (unlikely(__Pyx_PyLong_IsZero(op1))) {
        return PyLong_FromLong(-intval);
    }
    const int is_positive = __Pyx_PyLong_IsPos(op1);
    const digit* digits = __Pyx_PyLong_Digits(op1);
    const Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
    if (likely(size == 1)) {
        a = (long) digits[0];
        if (!is_positive) a *= -1;
    } else {
        switch (size) {
            case 2:
                if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
                    a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 3:
                if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
                    a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
            case 4:
                if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
                    a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
                    if (!is_positive) a *= -1;
                    goto calculate_long;
                } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
                    lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
                    if (!is_positive) lla *= -1;
                    goto calculate_long_long;
                }
                break;
        }
        return PyLong_Type.tp_as_number->nb_subtract(op1, op2);
    }
    calculate_long:
        {
            long x;
            x = a - b;
            return PyLong_FromLong(x);
        }
    calculate_long_long:
        {
            PY_LONG_LONG llx;
            llx = lla - llb;
            return PyLong_FromLongLong(llx);
        }
    
}
#endif
static PyObject* __Pyx_Float___Pyx_PyLong_SubtractObjC(PyObject *float_val, long intval, int zerodivision_check) {
    CYTHON_UNUSED_VAR(zerodivision_check);
    const long b = intval;
    double a = __Pyx_PyFloat_AS_DOUBLE(float_val);
        double result;
        
        result = ((double)a) - (double)b;
        return PyFloat_FromDouble(result);
}
static CYTHON_INLINE PyObject* __Pyx_PyLong_SubtractObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
    CYTHON_MAYBE_UNUSED_VAR(intval);
    CYTHON_UNUSED_VAR(zerodivision_check);
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(PyLong_CheckExact(op1))) {
        return __Pyx_Unpacked___Pyx_PyLong_SubtractObjC(op1, op2, intval, inplace, zerodivision_check);
    }
    #endif
    if (PyFloat_CheckExact(op1)) {
        return __Pyx_Float___Pyx_PyLong_SubtractObjC(op1, intval, zerodivision_check);
    }
    return __Pyx_Fallback___Pyx_PyLong_SubtractObjC(op1, op2, inplace);
}
#endif

/* DictGetItem */
#if !CYTHON_COMPILING_IN_PYPY
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
    PyObject *value;
    if (unlikely(__Pyx_PyDict_GetItemRef(d, key, &value) == 0)) { // no value, no error
        if (unlikely(PyTuple_Check(key))) {
            PyObject* args = PyTuple_Pack(1, key);
            if (likely(args)) {
                PyErr_SetObject(PyExc_KeyError, args);
                Py_DECREF(args);
            }
        } else {
            PyErr_SetObject(PyExc_KeyError, key);
        }
    }
    return value;
}
#endif

/* decode_c_string */
static CYTHON_INLINE PyObject* __Pyx_decode_c_string(
         const char* cstring, Py_ssize_t start, Py_ssize_t stop,
         const char* encoding, const char* errors,
         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) {
    Py_ssize_t length;
    if (unlikely((start < 0) | (stop < 0))) {
        size_t slen = strlen(cstring);
        if (unlikely(slen > (size_t) PY_SSIZE_T_MAX)) {
            PyErr_SetString(PyExc_OverflowError,
                            "c-string too long to convert to Python");
            return NULL;
        }
        length = (Py_ssize_t) slen;
        if (start < 0) {
            start += length;
            if (start < 0)
                start = 0;
        }
        if (stop < 0)
            stop += length;
    }
    if (unlikely(stop <= start))
        return __Pyx_NewRef(__pyx_mstate_global->__pyx_empty_unicode);
    length = stop - start;
    cstring += start;
    if (decode_func) {
        return decode_func(cstring, length, errors);
    } else {
        return PyUnicode_Decode(cstring, length, encoding, errors);
    }
}

/* RaiseClosureNameError */
static void __Pyx_RaiseClosureNameError(const char *varname) {
    PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
}

/* BufferIndexError */
static void __Pyx_RaiseBufferIndexError(int axis) {
  PyErr_Format(PyExc_IndexError,
     "Out of bounds on buffer access (axis %d)", axis);
}

/* IsLittleEndian (used by BufferFormatCheck) */
static CYTHON_INLINE int __Pyx_Is_Little_Endian(void)
{
  union {
    uint32_t u32;
    uint8_t u8[4];
  } S;
  S.u32 = 0x01020304;
  return S.u8[0] == 4;
}

/* BufferFormatCheck (used by BufferGetAndValidate) */
static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
                              __Pyx_BufFmt_StackElem* stack,
                              const __Pyx_TypeInfo* type) {
  stack[0].field = &ctx->root;
  stack[0].parent_offset = 0;
  ctx->root.type = type;
  ctx->root.name = "buffer dtype";
  ctx->root.offset = 0;
  ctx->head = stack;
  ctx->head->field = &ctx->root;
  ctx->fmt_offset = 0;
  ctx->head->parent_offset = 0;
  ctx->new_packmode = '@';
  ctx->enc_packmode = '@';
  ctx->new_count = 1;
  ctx->enc_count = 0;
  ctx->enc_type = 0;
  ctx->is_complex = 0;
  ctx->is_valid_array = 0;
  ctx->struct_alignment = 0;
  while (type->typegroup == 'S') {
    ++ctx->head;
    ctx->head->field = type->fields;
    ctx->head->parent_offset = 0;
    type = type->fields->type;
  }
}
static int __Pyx_BufFmt_ParseNumber(const char** ts) {
    int count;
    const char* t = *ts;
    if (*t < '0' || *t > '9') {
      return -1;
    } else {
        count = *t++ - '0';
        while (*t >= '0' && *t <= '9') {
            count *= 10;
            count += *t++ - '0';
        }
    }
    *ts = t;
    return count;
}
static int __Pyx_BufFmt_ExpectNumber(const char **ts) {
    int number = __Pyx_BufFmt_ParseNumber(ts);
    if (number == -1)
        PyErr_Format(PyExc_ValueError,\
                     "Does not understand character buffer dtype format string ('%c')", **ts);
    return number;
}
static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) {
  PyErr_Format(PyExc_ValueError,
               "Unexpected format string character: '%c'", ch);
}
static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) {
  switch (ch) {
    case '?': return "'bool'";
    case 'c': return "'char'";
    case 'b': return "'signed char'";
    case 'B': return "'unsigned char'";
    case 'h': return "'short'";
    case 'H': return "'unsigned short'";
    case 'i': return "'int'";
    case 'I': return "'unsigned int'";
    case 'l': return "'long'";
    case 'L': return "'unsigned long'";
    case 'q': return "'long long'";
    case 'Q': return "'unsigned long long'";
    case 'f': return (is_complex ? "'complex float'" : "'float'");
    case 'd': return (is_complex ? "'complex double'" : "'double'");
    case 'g': return (is_complex ? "'complex long double'" : "'long double'");
    case 'T': return "a struct";
    case 'O': return "Python object";
    case 'P': return "a pointer";
    case 's': case 'p': return "a string";
    case 0: return "end";
    default: return "unparsable format string";
  }
}
static size_t __Pyx_BufFmt_TypeCharToStandardSize(char ch, int is_complex) {
  switch (ch) {
    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
    case 'h': case 'H': return 2;
    case 'i': case 'I': case 'l': case 'L': return 4;
    case 'q': case 'Q': return 8;
    case 'f': return (is_complex ? 8 : 4);
    case 'd': return (is_complex ? 16 : 8);
    case 'g': {
      PyErr_SetString(PyExc_ValueError, "Python does not define a standard format string size for long double ('g')..");
      return 0;
    }
    case 'O': case 'P': return sizeof(void*);
    default:
      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
      return 0;
    }
}
static size_t __Pyx_BufFmt_TypeCharToNativeSize(char ch, int is_complex) {
  switch (ch) {
    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
    case 'h': case 'H': return sizeof(short);
    case 'i': case 'I': return sizeof(int);
    case 'l': case 'L': return sizeof(long);
    case 'q': case 'Q': return sizeof(PY_LONG_LONG);
    case 'f': return sizeof(float) * (is_complex ? 2 : 1);
    case 'd': return sizeof(double) * (is_complex ? 2 : 1);
    case 'g': return sizeof(long double) * (is_complex ? 2 : 1);
    case 'O': case 'P': return sizeof(void*);
    default: {
      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
      return 0;
    }
  }
}
typedef struct { char c; short x; } __Pyx_st_short;
typedef struct { char c; int x; } __Pyx_st_int;
typedef struct { char c; long x; } __Pyx_st_long;
typedef struct { char c; float x; } __Pyx_st_float;
typedef struct { char c; double x; } __Pyx_st_double;
typedef struct { char c; long double x; } __Pyx_st_longdouble;
typedef struct { char c; void *x; } __Pyx_st_void_p;
typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;
static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, int is_complex) {
  CYTHON_UNUSED_VAR(is_complex);
  switch (ch) {
    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
    case 'h': case 'H': return sizeof(__Pyx_st_short) - sizeof(short);
    case 'i': case 'I': return sizeof(__Pyx_st_int) - sizeof(int);
    case 'l': case 'L': return sizeof(__Pyx_st_long) - sizeof(long);
    case 'q': case 'Q': return sizeof(__Pyx_st_longlong) - sizeof(PY_LONG_LONG);
    case 'f': return sizeof(__Pyx_st_float) - sizeof(float);
    case 'd': return sizeof(__Pyx_st_double) - sizeof(double);
    case 'g': return sizeof(__Pyx_st_longdouble) - sizeof(long double);
    case 'P': case 'O': return sizeof(__Pyx_st_void_p) - sizeof(void*);
    default:
      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
      return 0;
    }
}
/* These are for computing the padding at the end of the struct to align
   on the first member of the struct. This will probably the same as above,
   but we don't have any guarantees.
 */
typedef struct { short x; char c; } __Pyx_pad_short;
typedef struct { int x; char c; } __Pyx_pad_int;
typedef struct { long x; char c; } __Pyx_pad_long;
typedef struct { float x; char c; } __Pyx_pad_float;
typedef struct { double x; char c; } __Pyx_pad_double;
typedef struct { long double x; char c; } __Pyx_pad_longdouble;
typedef struct { void *x; char c; } __Pyx_pad_void_p;
typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;
static size_t __Pyx_BufFmt_TypeCharToPadding(char ch, int is_complex) {
  CYTHON_UNUSED_VAR(is_complex);
  switch (ch) {
    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
    case 'h': case 'H': return sizeof(__Pyx_pad_short) - sizeof(short);
    case 'i': case 'I': return sizeof(__Pyx_pad_int) - sizeof(int);
    case 'l': case 'L': return sizeof(__Pyx_pad_long) - sizeof(long);
    case 'q': case 'Q': return sizeof(__Pyx_pad_longlong) - sizeof(PY_LONG_LONG);
    case 'f': return sizeof(__Pyx_pad_float) - sizeof(float);
    case 'd': return sizeof(__Pyx_pad_double) - sizeof(double);
    case 'g': return sizeof(__Pyx_pad_longdouble) - sizeof(long double);
    case 'P': case 'O': return sizeof(__Pyx_pad_void_p) - sizeof(void*);
    default:
      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
      return 0;
    }
}
static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) {
  switch (ch) {
    case 'c':
        return 'H';
    case 'b': case 'h': case 'i':
    case 'l': case 'q': case 's': case 'p':
        return 'I';
    case '?': case 'B': case 'H': case 'I': case 'L': case 'Q':
        return 'U';
    case 'f': case 'd': case 'g':
        return (is_complex ? 'C' : 'R');
    case 'O':
        return 'O';
    case 'P':
        return 'P';
    default: {
      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
      return 0;
    }
  }
}
static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) {
  if (ctx->head == NULL || ctx->head->field == &ctx->root) {
    const char* expected;
    const char* quote;
    if (ctx->head == NULL) {
      expected = "end";
      quote = "";
    } else {
      expected = ctx->head->field->type->name;
      quote = "'";
    }
    PyErr_Format(PyExc_ValueError,
                 "Buffer dtype mismatch, expected %s%s%s but got %s",
                 quote, expected, quote,
                 __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex));
  } else {
    const __Pyx_StructField* field = ctx->head->field;
    const __Pyx_StructField* parent = (ctx->head - 1)->field;
    PyErr_Format(PyExc_ValueError,
                 "Buffer dtype mismatch, expected '%s' but got %s in '%s.%s'",
                 field->type->name, __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex),
                 parent->type->name, field->name);
  }
}
static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {
  char group;
  size_t size, offset, arraysize = 1;
  if (ctx->enc_type == 0) return 0;
  if (ctx->head->field->type->arraysize[0]) {
    int i, ndim = 0;
    if (ctx->enc_type == 's' || ctx->enc_type == 'p') {
        ctx->is_valid_array = ctx->head->field->type->ndim == 1;
        ndim = 1;
        if (ctx->enc_count != ctx->head->field->type->arraysize[0]) {
            PyErr_Format(PyExc_ValueError,
                         "Expected a dimension of size %zu, got %zu",
                         ctx->head->field->type->arraysize[0], ctx->enc_count);
            return -1;
        }
    }
    if (!ctx->is_valid_array) {
      PyErr_Format(PyExc_ValueError, "Expected %d dimensions, got %d",
                   ctx->head->field->type->ndim, ndim);
      return -1;
    }
    for (i = 0; i < ctx->head->field->type->ndim; i++) {
      arraysize *= ctx->head->field->type->arraysize[i];
    }
    ctx->is_valid_array = 0;
    ctx->enc_count = 1;
  }
  group = __Pyx_BufFmt_TypeCharToGroup(ctx->enc_type, ctx->is_complex);
  do {
    const __Pyx_StructField* field = ctx->head->field;
    const __Pyx_TypeInfo* type = field->type;
    if (ctx->enc_packmode == '@' || ctx->enc_packmode == '^') {
      size = __Pyx_BufFmt_TypeCharToNativeSize(ctx->enc_type, ctx->is_complex);
    } else {
      size = __Pyx_BufFmt_TypeCharToStandardSize(ctx->enc_type, ctx->is_complex);
    }
    if (ctx->enc_packmode == '@') {
      size_t align_at = __Pyx_BufFmt_TypeCharToAlignment(ctx->enc_type, ctx->is_complex);
      size_t align_mod_offset;
      if (align_at == 0) return -1;
      align_mod_offset = ctx->fmt_offset % align_at;
      if (align_mod_offset > 0) ctx->fmt_offset += align_at - align_mod_offset;
      if (ctx->struct_alignment == 0)
          ctx->struct_alignment = __Pyx_BufFmt_TypeCharToPadding(ctx->enc_type,
                                                                 ctx->is_complex);
    }
    if (type->size != size || type->typegroup != group) {
      if (type->typegroup == 'C' && type->fields != NULL) {
        size_t parent_offset = ctx->head->parent_offset + field->offset;
        ++ctx->head;
        ctx->head->field = type->fields;
        ctx->head->parent_offset = parent_offset;
        continue;
      }
      if ((type->typegroup == 'H' || group == 'H') && type->size == size) {
      } else {
          __Pyx_BufFmt_RaiseExpected(ctx);
          return -1;
      }
    }
    offset = ctx->head->parent_offset + field->offset;
    if (ctx->fmt_offset != offset) {
      PyErr_Format(PyExc_ValueError,
                   "Buffer dtype mismatch; next field is at offset %" CYTHON_FORMAT_SSIZE_T "d but %" CYTHON_FORMAT_SSIZE_T "d expected",
                   (Py_ssize_t)ctx->fmt_offset, (Py_ssize_t)offset);
      return -1;
    }
    ctx->fmt_offset += size;
    if (arraysize)
      ctx->fmt_offset += (arraysize - 1) * size;
    --ctx->enc_count;
    while (1) {
      if (field == &ctx->root) {
        ctx->head = NULL;
        if (ctx->enc_count != 0) {
          __Pyx_BufFmt_RaiseExpected(ctx);
          return -1;
        }
        break;
      }
      ctx->head->field = ++field;
      if (field->type == NULL) {
        --ctx->head;
        field = ctx->head->field;
        continue;
      } else if (field->type->typegroup == 'S') {
        size_t parent_offset = ctx->head->parent_offset + field->offset;
        if (field->type->fields->type == NULL) continue;
        field = field->type->fields;
        ++ctx->head;
        ctx->head->field = field;
        ctx->head->parent_offset = parent_offset;
        break;
      } else {
        break;
      }
    }
  } while (ctx->enc_count);
  ctx->enc_type = 0;
  ctx->is_complex = 0;
  return 0;
}
static int
__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)
{
    const char *ts = *tsp;
    int i = 0, number, ndim;
    ++ts;
    if (ctx->new_count != 1) {
        PyErr_SetString(PyExc_ValueError,
                        "Cannot handle repeated arrays in format string");
        return -1;
    }
    if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return -1;
    ndim = ctx->head->field->type->ndim;
    while (*ts && *ts != ')') {
        switch (*ts) {
            case ' ': case '\f': case '\r': case '\n': case '\t': case '\v':  continue;
            default:  break;
        }
        number = __Pyx_BufFmt_ExpectNumber(&ts);
        if (number == -1) return -1;
        if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i]) {
            PyErr_Format(PyExc_ValueError,
                        "Expected a dimension of size %zu, got %d",
                        ctx->head->field->type->arraysize[i], number);
            return -1;
        }
        if (*ts != ',' && *ts != ')') {
            PyErr_Format(PyExc_ValueError,
                                "Expected a comma in format string, got '%c'", *ts);
            return -1;
        }
        if (*ts == ',') ts++;
        i++;
    }
    if (i != ndim) {
        PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d",
                            ctx->head->field->type->ndim, i);
        return -1;
    }
    if (!*ts) {
        PyErr_SetString(PyExc_ValueError,
                        "Unexpected end of format string, expected ')'");
        return -1;
    }
    ctx->is_valid_array = 1;
    ctx->new_count = 1;
    *tsp = ++ts;
    return 0;
}
static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) {
  int got_Z = 0;
  while (1) {
    switch(*ts) {
      case 0:
        if (ctx->enc_type != 0 && ctx->head == NULL) {
          __Pyx_BufFmt_RaiseExpected(ctx);
          return NULL;
        }
        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
        if (ctx->head != NULL) {
          __Pyx_BufFmt_RaiseExpected(ctx);
          return NULL;
        }
        return ts;
      case ' ':
      case '\r':
      case '\n':
        ++ts;
        break;
      case '<':
        if (!__Pyx_Is_Little_Endian()) {
          PyErr_SetString(PyExc_ValueError, "Little-endian buffer not supported on big-endian compiler");
          return NULL;
        }
        ctx->new_packmode = '=';
        ++ts;
        break;
      case '>':
      case '!':
        if (__Pyx_Is_Little_Endian()) {
          PyErr_SetString(PyExc_ValueError, "Big-endian buffer not supported on little-endian compiler");
          return NULL;
        }
        ctx->new_packmode = '=';
        ++ts;
        break;
      case '=':
      case '@':
      case '^':
        ctx->new_packmode = *ts++;
        break;
      case 'T':
        {
          const char* ts_after_sub;
          size_t i, struct_count = ctx->new_count;
          size_t struct_alignment = ctx->struct_alignment;
          ctx->new_count = 1;
          ++ts;
          if (*ts != '{') {
            PyErr_SetString(PyExc_ValueError, "Buffer acquisition: Expected '{' after 'T'");
            return NULL;
          }
          if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
          ctx->enc_type = 0;
          ctx->enc_count = 0;
          ctx->struct_alignment = 0;
          ++ts;
          ts_after_sub = ts;
          for (i = 0; i != struct_count; ++i) {
            ts_after_sub = __Pyx_BufFmt_CheckString(ctx, ts);
            if (!ts_after_sub) return NULL;
          }
          ts = ts_after_sub;
          if (struct_alignment) ctx->struct_alignment = struct_alignment;
        }
        break;
      case '}':
        {
          size_t alignment = ctx->struct_alignment;
          ++ts;
          if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
          ctx->enc_type = 0;
          if (alignment && ctx->fmt_offset % alignment) {
            ctx->fmt_offset += alignment - (ctx->fmt_offset % alignment);
          }
        }
        return ts;
      case 'x':
        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
        ctx->fmt_offset += ctx->new_count;
        ctx->new_count = 1;
        ctx->enc_count = 0;
        ctx->enc_type = 0;
        ctx->enc_packmode = ctx->new_packmode;
        ++ts;
        break;
      case 'Z':
        got_Z = 1;
        ++ts;
        if (*ts != 'f' && *ts != 'd' && *ts != 'g') {
          __Pyx_BufFmt_RaiseUnexpectedChar('Z');
          return NULL;
        }
        CYTHON_FALLTHROUGH;
      case '?': case 'c': case 'b': case 'B': case 'h': case 'H': case 'i': case 'I':
      case 'l': case 'L': case 'q': case 'Q':
      case 'f': case 'd': case 'g':
      case 'O': case 'p':
        if ((ctx->enc_type == *ts) && (got_Z == ctx->is_complex) &&
            (ctx->enc_packmode == ctx->new_packmode) && (!ctx->is_valid_array)) {
          ctx->enc_count += ctx->new_count;
          ctx->new_count = 1;
          got_Z = 0;
          ++ts;
          break;
        }
        CYTHON_FALLTHROUGH;
      case 's':
        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
        ctx->enc_count = ctx->new_count;
        ctx->enc_packmode = ctx->new_packmode;
        ctx->enc_type = *ts;
        ctx->is_complex = got_Z;
        ++ts;
        ctx->new_count = 1;
        got_Z = 0;
        break;
      case ':':
        ++ts;
        while(*ts != ':') ++ts;
        ++ts;
        break;
      case '(':
        if (__pyx_buffmt_parse_array(ctx, &ts) < 0) return NULL;
        break;
      default:
        {
          int number = __Pyx_BufFmt_ExpectNumber(&ts);
          if (number == -1) return NULL;
          ctx->new_count = (size_t)number;
        }
    }
  }
}

/* BufferGetAndValidate */
  static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) {
    if (unlikely(info->buf == NULL)) return;
    if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL;
    PyBuffer_Release(info);
  }
  static void __Pyx_ZeroBuffer(Py_buffer* buf) {
    buf->buf = NULL;
    buf->obj = NULL;
    buf->strides = __Pyx_zeros;
    buf->shape = __Pyx_zeros;
    buf->suboffsets = __Pyx_minusones;
  }
  static int __Pyx__GetBufferAndValidate(
          Py_buffer* buf, PyObject* obj,  const __Pyx_TypeInfo* dtype, int flags,
          int nd, int cast, __Pyx_BufFmt_StackElem* stack)
  {
    buf->buf = NULL;
    if (unlikely(PyObject_GetBuffer(obj, buf, flags) == -1)) {
      __Pyx_ZeroBuffer(buf);
      return -1;
    }
    if (unlikely(buf->ndim != nd)) {
      PyErr_Format(PyExc_ValueError,
                   "Buffer has wrong number of dimensions (expected %d, got %d)",
                   nd, buf->ndim);
      goto fail;
    }
    if (!cast) {
      __Pyx_BufFmt_Context ctx;
      __Pyx_BufFmt_Init(&ctx, stack, dtype);
      if (!__Pyx_BufFmt_CheckString(&ctx, buf->format)) goto fail;
    }
    if (unlikely((size_t)buf->itemsize != dtype->size)) {
      PyErr_Format(PyExc_ValueError,
        "Item size of buffer (%" CYTHON_FORMAT_SSIZE_T "d byte%s) does not match size of '%s' (%" CYTHON_FORMAT_SSIZE_T "d byte%s)",
        buf->itemsize, (buf->itemsize > 1) ? "s" : "",
        dtype->name, (Py_ssize_t)dtype->size, (dtype->size > 1) ? "s" : "");
      goto fail;
    }
    if (buf->suboffsets == NULL) buf->suboffsets = __Pyx_minusones;
    return 0;
  fail:;
    __Pyx_SafeReleaseBuffer(buf);
    return -1;
  }
  
/* decode_c_bytes (used by decode_bytes) */
  static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes(
           const char* cstring, Py_ssize_t length, Py_ssize_t start, Py_ssize_t stop,
           const char* encoding, const char* errors,
           PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) {
      if (unlikely((start < 0) | (stop < 0))) {
          if (start < 0) {
              start += length;
              if (start < 0)
                  start = 0;
          }
          if (stop < 0)
              stop += length;
      }
      if (stop > length)
          stop = length;
      if (unlikely(stop <= start))
          return __Pyx_NewRef(__pyx_mstate_global->__pyx_empty_unicode);
      length = stop - start;
      cstring += start;
      if (decode_func) {
          return decode_func(cstring, length, errors);
      } else {
          return PyUnicode_Decode(cstring, length, encoding, errors);
      }
  }
  
/* CIntToPyUnicode */
  static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_SCIP_STAGE(SCIP_STAGE value, Py_ssize_t width, char padding_char) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_STAGE neg_one = (SCIP_STAGE) -1, const_zero = (SCIP_STAGE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!(is_unsigned || value == 0 || value > 0) ||
                      !(sizeof(value) <= 2 || value & ~ (SCIP_STAGE) 0x01fffff || __Pyx_CheckUnicodeValue((int) value)))) {
          PyErr_SetString(PyExc_OverflowError, "%c arg not in range(0x110000)");
          return NULL;
      }
      if (width <= 1) {
          return PyUnicode_FromOrdinal((int) value);
      }
      return __Pyx_PyUnicode_FromOrdinal_Padded((int) value, width, padding_char);
  }
  static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_SCIP_STAGE(SCIP_STAGE value, Py_ssize_t width, char padding_char, char format_char) {
      char digits[sizeof(SCIP_STAGE)*3+2];
      char *dpos, *end = digits + sizeof(SCIP_STAGE)*3+2;
      const char *hex_digits = DIGITS_HEX;
      Py_ssize_t length, ulength;
      int prepend_sign, last_one_off;
      SCIP_STAGE remaining;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_STAGE neg_one = (SCIP_STAGE) -1, const_zero = (SCIP_STAGE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (format_char == 'X') {
          hex_digits += 16;
          format_char = 'x';
      }
      remaining = value;
      last_one_off = 0;
      dpos = end;
      do {
          int digit_pos;
          switch (format_char) {
          case 'o':
              digit_pos = abs((int)(remaining % (8*8)));
              remaining = (SCIP_STAGE) (remaining / (8*8));
              dpos -= 2;
              memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2);
              last_one_off = (digit_pos < 8);
              break;
          case 'd':
              digit_pos = abs((int)(remaining % (10*10)));
              remaining = (SCIP_STAGE) (remaining / (10*10));
              dpos -= 2;
              memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2);
              last_one_off = (digit_pos < 10);
              break;
          case 'x':
              *(--dpos) = hex_digits[abs((int)(remaining % 16))];
              remaining = (SCIP_STAGE) (remaining / 16);
              break;
          default:
              assert(0);
              break;
          }
      } while (unlikely(remaining != 0));
      assert(!last_one_off || *dpos == '0');
      dpos += last_one_off;
      length = end - dpos;
      ulength = length;
      prepend_sign = 0;
      if (!is_unsigned && value <= neg_one) {
          if (padding_char == ' ' || width <= length + 1) {
              *(--dpos) = '-';
              ++length;
          } else {
              prepend_sign = 1;
          }
          ++ulength;
      }
      if (width > ulength) {
          ulength = width;
      }
      if (ulength == 1) {
          return PyUnicode_FromOrdinal(*dpos);
      }
      return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char);
  }
  
/* PyLongCompare */
  static CYTHON_INLINE int __Pyx_PyLong_BoolNeObjC(PyObject *op1, PyObject *op2, long intval, long inplace) {
      CYTHON_MAYBE_UNUSED_VAR(intval);
      CYTHON_UNUSED_VAR(inplace);
      if (op1 == op2) {
          return 0;
      }
      #if CYTHON_USE_PYLONG_INTERNALS
      if (likely(PyLong_CheckExact(op1))) {
          int unequal;
          unsigned long uintval;
          Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
          const digit* digits = __Pyx_PyLong_Digits(op1);
          if (intval == 0) {
              return (__Pyx_PyLong_IsZero(op1) != 1);
          } else if (intval < 0) {
              if (__Pyx_PyLong_IsNonNeg(op1))
                  return 1;
              intval = -intval;
          } else {
              if (__Pyx_PyLong_IsNeg(op1))
                  return 1;
          }
          uintval = (unsigned long) intval;
  #if PyLong_SHIFT * 4 < SIZEOF_LONG*8
          if (uintval >> (PyLong_SHIFT * 4)) {
              unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                   | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
          } else
  #endif
  #if PyLong_SHIFT * 3 < SIZEOF_LONG*8
          if (uintval >> (PyLong_SHIFT * 3)) {
              unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                   | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
          } else
  #endif
  #if PyLong_SHIFT * 2 < SIZEOF_LONG*8
          if (uintval >> (PyLong_SHIFT * 2)) {
              unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                   | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
          } else
  #endif
  #if PyLong_SHIFT * 1 < SIZEOF_LONG*8
          if (uintval >> (PyLong_SHIFT * 1)) {
              unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
                   | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
          } else
  #endif
              unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK));
          return (unequal != 0);
      }
      #endif
      if (PyFloat_CheckExact(op1)) {
          const long b = intval;
          double a = __Pyx_PyFloat_AS_DOUBLE(op1);
          return ((double)a != (double)b);
      }
      return __Pyx_PyObject_IsTrueAndDecref(
          PyObject_RichCompare(op1, op2, Py_NE));
  }
  
/* PyObjectSetAttrStr */
  #if CYTHON_USE_TYPE_SLOTS
  static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
      PyTypeObject* tp = Py_TYPE(obj);
      if (likely(tp->tp_setattro))
          return tp->tp_setattro(obj, attr_name, value);
      return PyObject_SetAttr(obj, attr_name, value);
  }
  #endif
  
/* Py3UpdateBases */
  static PyObject*
  __Pyx_PEP560_update_bases(PyObject *bases)
  {
      Py_ssize_t i, j, size_bases;
      PyObject *base = NULL, *meth, *new_base, *result, *new_bases = NULL;
  #if CYTHON_ASSUME_SAFE_SIZE
      size_bases = PyTuple_GET_SIZE(bases);
  #else
      size_bases = PyTuple_Size(bases);
      if (size_bases < 0) return NULL;
  #endif
      for (i = 0; i < size_bases; i++) {
  #if CYTHON_AVOID_BORROWED_REFS
          Py_CLEAR(base);
  #endif
  #if CYTHON_ASSUME_SAFE_MACROS
          base = PyTuple_GET_ITEM(bases, i);
  #else
          base = PyTuple_GetItem(bases, i);
          if (!base) goto error;
  #endif
  #if CYTHON_AVOID_BORROWED_REFS
          Py_INCREF(base);
  #endif
          if (PyType_Check(base)) {
              if (new_bases) {
                  if (PyList_Append(new_bases, base) < 0) {
                      goto error;
                  }
              }
              continue;
          }
          meth = __Pyx_PyObject_GetAttrStrNoError(base, __pyx_mstate_global->__pyx_n_u_mro_entries);
          if (!meth && PyErr_Occurred()) {
              goto error;
          }
          if (!meth) {
              if (new_bases) {
                  if (PyList_Append(new_bases, base) < 0) {
                      goto error;
                  }
              }
              continue;
          }
          new_base = __Pyx_PyObject_CallOneArg(meth, bases);
          Py_DECREF(meth);
          if (!new_base) {
              goto error;
          }
          if (!PyTuple_Check(new_base)) {
              PyErr_SetString(PyExc_TypeError,
                              "__mro_entries__ must return a tuple");
              Py_DECREF(new_base);
              goto error;
          }
          if (!new_bases) {
              if (!(new_bases = PyList_New(i))) {
                  goto error;
              }
              for (j = 0; j < i; j++) {
                  PyObject *base_from_list;
  #if CYTHON_ASSUME_SAFE_MACROS
                  base_from_list = PyTuple_GET_ITEM(bases, j);
                  PyList_SET_ITEM(new_bases, j, base_from_list);
                  Py_INCREF(base_from_list);
  #else
                  base_from_list = PyTuple_GetItem(bases, j);
                  if (!base_from_list) goto error;
                  Py_INCREF(base_from_list);
                  if (PyList_SetItem(new_bases, j, base_from_list) < 0) goto error;
  #endif
              }
          }
  #if CYTHON_ASSUME_SAFE_SIZE
          j = PyList_GET_SIZE(new_bases);
  #else
          j = PyList_Size(new_bases);
          if (j < 0) goto error;
  #endif
          if (PyList_SetSlice(new_bases, j, j, new_base) < 0) {
              goto error;
          }
          Py_DECREF(new_base);
      }
      if (!new_bases) {
          Py_INCREF(bases);
          return bases;
      }
      result = PyList_AsTuple(new_bases);
      Py_DECREF(new_bases);
  #if CYTHON_AVOID_BORROWED_REFS
      Py_XDECREF(base);
  #endif
      return result;
  error:
      Py_XDECREF(new_bases);
  #if CYTHON_AVOID_BORROWED_REFS
      Py_XDECREF(base);
  #endif
      return NULL;
  }
  
/* CalculateMetaclass */
  static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
      Py_ssize_t i, nbases;
  #if CYTHON_ASSUME_SAFE_SIZE
      nbases = PyTuple_GET_SIZE(bases);
  #else
      nbases = PyTuple_Size(bases);
      if (nbases < 0) return NULL;
  #endif
      for (i=0; i < nbases; i++) {
          PyTypeObject *tmptype;
  #if CYTHON_ASSUME_SAFE_MACROS
          PyObject *tmp = PyTuple_GET_ITEM(bases, i);
  #else
          PyObject *tmp = PyTuple_GetItem(bases, i);
          if (!tmp) return NULL;
  #endif
          tmptype = Py_TYPE(tmp);
          if (!metaclass) {
              metaclass = tmptype;
              continue;
          }
          if (PyType_IsSubtype(metaclass, tmptype))
              continue;
          if (PyType_IsSubtype(tmptype, metaclass)) {
              metaclass = tmptype;
              continue;
          }
          PyErr_SetString(PyExc_TypeError,
                          "metaclass conflict: "
                          "the metaclass of a derived class "
                          "must be a (non-strict) subclass "
                          "of the metaclasses of all its bases");
          return NULL;
      }
      if (!metaclass) {
          metaclass = &PyType_Type;
      }
      Py_INCREF((PyObject*) metaclass);
      return (PyObject*) metaclass;
  }
  
/* PyObjectLookupSpecial (used by Py3ClassCreate) */
  #if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
  static CYTHON_INLINE PyObject* __Pyx__PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name, int with_error) {
      PyObject *res;
      PyTypeObject *tp = Py_TYPE(obj);
      res = _PyType_Lookup(tp, attr_name);
      if (likely(res)) {
          descrgetfunc f = Py_TYPE(res)->tp_descr_get;
          if (!f) {
              Py_INCREF(res);
          } else {
              res = f(res, obj, (PyObject *)tp);
          }
      } else if (with_error) {
          PyErr_SetObject(PyExc_AttributeError, attr_name);
      }
      return res;
  }
  #endif
  
/* Py3ClassCreate */
  static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name,
                                             PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) {
      PyObject *ns;
      if (metaclass) {
          PyObject *prep = __Pyx_PyObject_GetAttrStrNoError(metaclass, __pyx_mstate_global->__pyx_n_u_prepare);
          if (prep) {
              PyObject *pargs[3] = {NULL, name, bases};
              ns = __Pyx_PyObject_FastCallDict(prep, pargs+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw);
              Py_DECREF(prep);
          } else {
              if (unlikely(PyErr_Occurred()))
                  return NULL;
              ns = PyDict_New();
          }
      } else {
          ns = PyDict_New();
      }
      if (unlikely(!ns))
          return NULL;
      if (unlikely(PyObject_SetItem(ns, __pyx_mstate_global->__pyx_n_u_module, modname) < 0)) goto bad;
      if (unlikely(PyObject_SetItem(ns, __pyx_mstate_global->__pyx_n_u_qualname, qualname) < 0)) goto bad;
      if (unlikely(doc && PyObject_SetItem(ns, __pyx_mstate_global->__pyx_n_u_doc, doc) < 0)) goto bad;
      return ns;
  bad:
      Py_DECREF(ns);
      return NULL;
  }
  static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,
                                        PyObject *dict, PyObject *mkw,
                                        int calculate_metaclass, int allow_py2_metaclass) {
      PyObject *result;
      PyObject *owned_metaclass = NULL;
      PyObject *margs[4] = {NULL, name, bases, dict};
      if (allow_py2_metaclass) {
          owned_metaclass = PyObject_GetItem(dict, __pyx_mstate_global->__pyx_n_u_metaclass);
          if (owned_metaclass) {
              metaclass = owned_metaclass;
          } else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) {
              PyErr_Clear();
          } else {
              return NULL;
          }
      }
      if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) {
          metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases);
          Py_XDECREF(owned_metaclass);
          if (unlikely(!metaclass))
              return NULL;
          owned_metaclass = metaclass;
      }
      result = __Pyx_PyObject_FastCallDict(metaclass, margs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, mkw);
      Py_XDECREF(owned_metaclass);
      return result;
  }
  
/* SliceObject */
  static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,
          Py_ssize_t cstart, Py_ssize_t cstop,
          PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
          int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
      __Pyx_TypeName obj_type_name;
  #if CYTHON_USE_TYPE_SLOTS
      PyMappingMethods* mp = Py_TYPE(obj)->tp_as_mapping;
      if (likely(mp && mp->mp_subscript))
  #endif
      {
          PyObject* result;
          PyObject *py_slice, *py_start, *py_stop;
          if (_py_slice) {
              py_slice = *_py_slice;
          } else {
              PyObject* owned_start = NULL;
              PyObject* owned_stop = NULL;
              if (_py_start) {
                  py_start = *_py_start;
              } else {
                  if (has_cstart) {
                      owned_start = py_start = PyLong_FromSsize_t(cstart);
                      if (unlikely(!py_start)) goto bad;
                  } else
                      py_start = Py_None;
              }
              if (_py_stop) {
                  py_stop = *_py_stop;
              } else {
                  if (has_cstop) {
                      owned_stop = py_stop = PyLong_FromSsize_t(cstop);
                      if (unlikely(!py_stop)) {
                          Py_XDECREF(owned_start);
                          goto bad;
                      }
                  } else
                      py_stop = Py_None;
              }
              py_slice = PySlice_New(py_start, py_stop, Py_None);
              Py_XDECREF(owned_start);
              Py_XDECREF(owned_stop);
              if (unlikely(!py_slice)) goto bad;
          }
  #if CYTHON_USE_TYPE_SLOTS
          result = mp->mp_subscript(obj, py_slice);
  #else
          result = PyObject_GetItem(obj, py_slice);
  #endif
          if (!_py_slice) {
              Py_DECREF(py_slice);
          }
          return result;
      }
      obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
      PyErr_Format(PyExc_TypeError,
          "'" __Pyx_FMT_TYPENAME "' object is unsliceable", obj_type_name);
      __Pyx_DECREF_TypeName(obj_type_name);
  bad:
      return NULL;
  }
  
/* PyObjectVectorCallMethodKwBuilder */
  #if !CYTHON_VECTORCALL || PY_VERSION_HEX < 0x03090000
  static PyObject *__Pyx_Object_VectorcallMethod_CallFromBuilder(PyObject *name, PyObject *const *args, size_t nargsf, PyObject *kwnames) {
      PyObject *result;
      PyObject *obj = PyObject_GetAttr(args[0], name);
      if (unlikely(!obj))
          return NULL;
      result = __Pyx_Object_Vectorcall_CallFromBuilder(obj, args+1, nargsf-1, kwnames);
      Py_DECREF(obj);
      return result;
  }
  #endif
  
/* UnicodeAsUCS4 (used by object_ord) */
  static void __Pyx_PyUnicode_AsPy_UCS4_error(Py_ssize_t length) {
      if (likely(length >= 0)) {
          PyErr_Format(PyExc_ValueError,
                       "only single character unicode strings can be converted to Py_UCS4, "
                       "got length %" CYTHON_FORMAT_SSIZE_T "d", length);
      }
  }
  static CYTHON_INLINE Py_UCS4 __Pyx_PyUnicode_AsPy_UCS4(PyObject* x) {
      Py_ssize_t length = __Pyx_PyUnicode_GET_LENGTH(x);
      if (unlikely(length != 1)) {
          __Pyx_PyUnicode_AsPy_UCS4_error(length);
          return (Py_UCS4)-1;
      }
      return __Pyx_PyUnicode_READ_CHAR(x, 0);
  }
  
/* object_ord */
  static long __Pyx__PyObject_Ord(PyObject* c) {
      Py_ssize_t size;
      if (PyBytes_Check(c)) {
          size = __Pyx_PyBytes_GET_SIZE(c);
          if (likely(size == 1)) {
  #if CYTHON_ASSUME_SAFE_MACROS
              return (unsigned char) PyBytes_AS_STRING(c)[0];
  #else
              char *data = PyBytes_AsString(c);
              if (unlikely(!data)) return -1;
              return (unsigned char) data[0];
  #endif
          }
  #if !CYTHON_ASSUME_SAFE_SIZE
          else if (unlikely(size < 0)) return -1;
  #endif
      } else if (PyByteArray_Check(c)) {
          size = __Pyx_PyByteArray_GET_SIZE(c);
          if (likely(size == 1)) {
  #if CYTHON_ASSUME_SAFE_MACROS
              return (unsigned char) PyByteArray_AS_STRING(c)[0];
  #else
              char *data = PyByteArray_AsString(c);
              if (unlikely(!data)) return -1;
              return (unsigned char) data[0];
  #endif
          }
  #if !CYTHON_ASSUME_SAFE_SIZE
          else if (unlikely(size < 0)) return -1;
  #endif
      } else {
          __Pyx_TypeName c_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(c));
          PyErr_Format(PyExc_TypeError,
              "ord() expected string of length 1, but " __Pyx_FMT_TYPENAME " found",
              c_type_name);
          __Pyx_DECREF_TypeName(c_type_name);
          return (long)(Py_UCS4)-1;
      }
      PyErr_Format(PyExc_TypeError,
          "ord() expected a character, but string of length %zd found", size);
      return (long)(Py_UCS4)-1;
  }
  
/* CIntToPyUnicode */
  static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_long(long value, Py_ssize_t width, char padding_char) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const long neg_one = (long) -1, const_zero = (long) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!(is_unsigned || value == 0 || value > 0) ||
                      !(sizeof(value) <= 2 || value & ~ (long) 0x01fffff || __Pyx_CheckUnicodeValue((int) value)))) {
          PyErr_SetString(PyExc_OverflowError, "%c arg not in range(0x110000)");
          return NULL;
      }
      if (width <= 1) {
          return PyUnicode_FromOrdinal((int) value);
      }
      return __Pyx_PyUnicode_FromOrdinal_Padded((int) value, width, padding_char);
  }
  static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_long(long value, Py_ssize_t width, char padding_char, char format_char) {
      char digits[sizeof(long)*3+2];
      char *dpos, *end = digits + sizeof(long)*3+2;
      const char *hex_digits = DIGITS_HEX;
      Py_ssize_t length, ulength;
      int prepend_sign, last_one_off;
      long remaining;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const long neg_one = (long) -1, const_zero = (long) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (format_char == 'X') {
          hex_digits += 16;
          format_char = 'x';
      }
      remaining = value;
      last_one_off = 0;
      dpos = end;
      do {
          int digit_pos;
          switch (format_char) {
          case 'o':
              digit_pos = abs((int)(remaining % (8*8)));
              remaining = (long) (remaining / (8*8));
              dpos -= 2;
              memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2);
              last_one_off = (digit_pos < 8);
              break;
          case 'd':
              digit_pos = abs((int)(remaining % (10*10)));
              remaining = (long) (remaining / (10*10));
              dpos -= 2;
              memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2);
              last_one_off = (digit_pos < 10);
              break;
          case 'x':
              *(--dpos) = hex_digits[abs((int)(remaining % 16))];
              remaining = (long) (remaining / 16);
              break;
          default:
              assert(0);
              break;
          }
      } while (unlikely(remaining != 0));
      assert(!last_one_off || *dpos == '0');
      dpos += last_one_off;
      length = end - dpos;
      ulength = length;
      prepend_sign = 0;
      if (!is_unsigned && value <= neg_one) {
          if (padding_char == ' ' || width <= length + 1) {
              *(--dpos) = '-';
              ++length;
          } else {
              prepend_sign = 1;
          }
          ++ulength;
      }
      if (width > ulength) {
          ulength = width;
      }
      if (ulength == 1) {
          return PyUnicode_FromOrdinal(*dpos);
      }
      return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (int) length, prepend_sign, padding_char);
  }
  
/* AllocateExtensionType */
  static PyObject *__Pyx_AllocateExtensionType(PyTypeObject *t, int is_final) {
      if (is_final || likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
          allocfunc alloc_func = __Pyx_PyType_GetSlot(t, tp_alloc, allocfunc);
          return alloc_func(t, 0);
      } else {
          newfunc tp_new = __Pyx_PyType_TryGetSlot(&PyBaseObject_Type, tp_new, newfunc);
      #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
          if (!tp_new) {
              PyObject *new_str = PyUnicode_FromString("__new__");
              if (likely(new_str)) {
                  PyObject *o = PyObject_CallMethodObjArgs((PyObject *)&PyBaseObject_Type, new_str, t, NULL);
                  Py_DECREF(new_str);
                  return o;
              } else
                  return NULL;
          } else
      #endif
          return tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
      }
  }
  
/* ValidateBasesTuple (used by PyType_Ready) */
  #if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
  static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) {
      Py_ssize_t i, n;
  #if CYTHON_ASSUME_SAFE_SIZE
      n = PyTuple_GET_SIZE(bases);
  #else
      n = PyTuple_Size(bases);
      if (unlikely(n < 0)) return -1;
  #endif
      for (i = 1; i < n; i++)
      {
          PyTypeObject *b;
  #if CYTHON_AVOID_BORROWED_REFS
          PyObject *b0 = PySequence_GetItem(bases, i);
          if (!b0) return -1;
  #elif CYTHON_ASSUME_SAFE_MACROS
          PyObject *b0 = PyTuple_GET_ITEM(bases, i);
  #else
          PyObject *b0 = PyTuple_GetItem(bases, i);
          if (!b0) return -1;
  #endif
          b = (PyTypeObject*) b0;
          if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE))
          {
              __Pyx_TypeName b_name = __Pyx_PyType_GetFullyQualifiedName(b);
              PyErr_Format(PyExc_TypeError,
                  "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name);
              __Pyx_DECREF_TypeName(b_name);
  #if CYTHON_AVOID_BORROWED_REFS
              Py_DECREF(b0);
  #endif
              return -1;
          }
          if (dictoffset == 0)
          {
              Py_ssize_t b_dictoffset = 0;
  #if CYTHON_USE_TYPE_SLOTS
              b_dictoffset = b->tp_dictoffset;
  #else
              PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__");
              if (!py_b_dictoffset) goto dictoffset_return;
              b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset);
              Py_DECREF(py_b_dictoffset);
              if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return;
  #endif
              if (b_dictoffset) {
                  {
                      __Pyx_TypeName b_name = __Pyx_PyType_GetFullyQualifiedName(b);
                      PyErr_Format(PyExc_TypeError,
                          "extension type '%.200s' has no __dict__ slot, "
                          "but base type '" __Pyx_FMT_TYPENAME "' has: "
                          "either add 'cdef dict __dict__' to the extension type "
                          "or add '__slots__ = [...]' to the base type",
                          type_name, b_name);
                      __Pyx_DECREF_TypeName(b_name);
                  }
  #if !CYTHON_USE_TYPE_SLOTS
                dictoffset_return:
  #endif
  #if CYTHON_AVOID_BORROWED_REFS
                  Py_DECREF(b0);
  #endif
                  return -1;
              }
          }
  #if CYTHON_AVOID_BORROWED_REFS
          Py_DECREF(b0);
  #endif
      }
      return 0;
  }
  #endif
  
/* PyType_Ready */
  CYTHON_UNUSED static int __Pyx_PyType_HasMultipleInheritance(PyTypeObject *t) {
      while (t) {
          PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*);
          if (bases) {
              return 1;
          }
          t = __Pyx_PyType_GetSlot(t, tp_base, PyTypeObject*);
      }
      return 0;
  }
  static int __Pyx_PyType_Ready(PyTypeObject *t) {
  #if CYTHON_USE_TYPE_SPECS || !CYTHON_COMPILING_IN_CPYTHON || defined(PYSTON_MAJOR_VERSION)
      (void)__Pyx_PyObject_CallMethod0;
  #if CYTHON_USE_TYPE_SPECS
      (void)__Pyx_validate_bases_tuple;
  #endif
      return PyType_Ready(t);
  #else
      int r;
      if (!__Pyx_PyType_HasMultipleInheritance(t)) {
          return PyType_Ready(t);
      }
      PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*);
      if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset, bases) == -1))
          return -1;
  #if !defined(PYSTON_MAJOR_VERSION)
      {
          int gc_was_enabled;
      #if PY_VERSION_HEX >= 0x030A00b1
          gc_was_enabled = PyGC_Disable();
          (void)__Pyx_PyObject_CallMethod0;
      #else
          PyObject *ret, *py_status;
          PyObject *gc = NULL;
          #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400) &&\
                  !CYTHON_COMPILING_IN_GRAAL
          gc = PyImport_GetModule(__pyx_mstate_global->__pyx_kp_u_gc);
          #endif
          if (unlikely(!gc)) gc = PyImport_Import(__pyx_mstate_global->__pyx_kp_u_gc);
          if (unlikely(!gc)) return -1;
          py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_isenabled);
          if (unlikely(!py_status)) {
              Py_DECREF(gc);
              return -1;
          }
          gc_was_enabled = __Pyx_PyObject_IsTrue(py_status);
          Py_DECREF(py_status);
          if (gc_was_enabled > 0) {
              ret = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_disable);
              if (unlikely(!ret)) {
                  Py_DECREF(gc);
                  return -1;
              }
              Py_DECREF(ret);
          } else if (unlikely(gc_was_enabled == -1)) {
              Py_DECREF(gc);
              return -1;
          }
      #endif
          t->tp_flags |= Py_TPFLAGS_HEAPTYPE;
  #if PY_VERSION_HEX >= 0x030A0000
          t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE;
  #endif
  #else
          (void)__Pyx_PyObject_CallMethod0;
  #endif
      r = PyType_Ready(t);
  #if !defined(PYSTON_MAJOR_VERSION)
          t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE;
      #if PY_VERSION_HEX >= 0x030A00b1
          if (gc_was_enabled)
              PyGC_Enable();
      #else
          if (gc_was_enabled) {
              PyObject *tp, *v, *tb;
              PyErr_Fetch(&tp, &v, &tb);
              ret = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_enable);
              if (likely(ret || r == -1)) {
                  Py_XDECREF(ret);
                  PyErr_Restore(tp, v, tb);
              } else {
                  Py_XDECREF(tp);
                  Py_XDECREF(v);
                  Py_XDECREF(tb);
                  r = -1;
              }
          }
          Py_DECREF(gc);
      #endif
      }
  #endif
      return r;
  #endif
  }
  
/* SetVTable */
  static int __Pyx_SetVtable(PyTypeObject *type, void *vtable) {
      PyObject *ob = PyCapsule_New(vtable, 0, 0);
      if (unlikely(!ob))
          goto bad;
  #if CYTHON_COMPILING_IN_LIMITED_API
      if (unlikely(PyObject_SetAttr((PyObject *) type, __pyx_mstate_global->__pyx_n_u_pyx_vtable, ob) < 0))
  #else
      if (unlikely(PyDict_SetItem(type->tp_dict, __pyx_mstate_global->__pyx_n_u_pyx_vtable, ob) < 0))
  #endif
          goto bad;
      Py_DECREF(ob);
      return 0;
  bad:
      Py_XDECREF(ob);
      return -1;
  }
  
/* GetVTable (used by MergeVTables) */
  static void* __Pyx_GetVtable(PyTypeObject *type) {
      void* ptr;
  #if CYTHON_COMPILING_IN_LIMITED_API
      PyObject *ob = PyObject_GetAttr((PyObject *)type, __pyx_mstate_global->__pyx_n_u_pyx_vtable);
  #else
      PyObject *ob = PyObject_GetItem(type->tp_dict, __pyx_mstate_global->__pyx_n_u_pyx_vtable);
  #endif
      if (!ob)
          goto bad;
      ptr = PyCapsule_GetPointer(ob, 0);
      if (!ptr && !PyErr_Occurred())
          PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type");
      Py_DECREF(ob);
      return ptr;
  bad:
      Py_XDECREF(ob);
      return NULL;
  }
  
/* MergeVTables */
  static int __Pyx_MergeVtables(PyTypeObject *type) {
      int i=0;
      Py_ssize_t size;
      void** base_vtables;
      __Pyx_TypeName tp_base_name = NULL;
      __Pyx_TypeName base_name = NULL;
      void* unknown = (void*)-1;
      PyObject* bases = __Pyx_PyType_GetSlot(type, tp_bases, PyObject*);
      int base_depth = 0;
      {
          PyTypeObject* base = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*);
          while (base) {
              base_depth += 1;
              base = __Pyx_PyType_GetSlot(base, tp_base, PyTypeObject*);
          }
      }
      base_vtables = (void**) PyMem_Malloc(sizeof(void*) * (size_t)(base_depth + 1));
      base_vtables[0] = unknown;
  #if CYTHON_COMPILING_IN_LIMITED_API
      size = PyTuple_Size(bases);
      if (size < 0) goto other_failure;
  #else
      size = PyTuple_GET_SIZE(bases);
  #endif
      for (i = 1; i < size; i++) {
          PyObject *basei;
          void* base_vtable;
  #if CYTHON_AVOID_BORROWED_REFS
          basei = PySequence_GetItem(bases, i);
          if (unlikely(!basei)) goto other_failure;
  #elif !CYTHON_ASSUME_SAFE_MACROS
          basei = PyTuple_GetItem(bases, i);
          if (unlikely(!basei)) goto other_failure;
  #else
          basei = PyTuple_GET_ITEM(bases, i);
  #endif
          base_vtable = __Pyx_GetVtable((PyTypeObject*)basei);
  #if CYTHON_AVOID_BORROWED_REFS
          Py_DECREF(basei);
  #endif
          if (base_vtable != NULL) {
              int j;
              PyTypeObject* base = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*);
              for (j = 0; j < base_depth; j++) {
                  if (base_vtables[j] == unknown) {
                      base_vtables[j] = __Pyx_GetVtable(base);
                      base_vtables[j + 1] = unknown;
                  }
                  if (base_vtables[j] == base_vtable) {
                      break;
                  } else if (base_vtables[j] == NULL) {
                      goto bad;
                  }
                  base = __Pyx_PyType_GetSlot(base, tp_base, PyTypeObject*);
              }
          }
      }
      PyErr_Clear();
      PyMem_Free(base_vtables);
      return 0;
  bad:
      {
          PyTypeObject* basei = NULL;
          PyTypeObject* tp_base = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*);
          tp_base_name = __Pyx_PyType_GetFullyQualifiedName(tp_base);
  #if CYTHON_AVOID_BORROWED_REFS
          basei = (PyTypeObject*)PySequence_GetItem(bases, i);
          if (unlikely(!basei)) goto really_bad;
  #elif !CYTHON_ASSUME_SAFE_MACROS
          basei = (PyTypeObject*)PyTuple_GetItem(bases, i);
          if (unlikely(!basei)) goto really_bad;
  #else
          basei = (PyTypeObject*)PyTuple_GET_ITEM(bases, i);
  #endif
          base_name = __Pyx_PyType_GetFullyQualifiedName(basei);
  #if CYTHON_AVOID_BORROWED_REFS
          Py_DECREF(basei);
  #endif
      }
      PyErr_Format(PyExc_TypeError,
          "multiple bases have vtable conflict: '" __Pyx_FMT_TYPENAME "' and '" __Pyx_FMT_TYPENAME "'", tp_base_name, base_name);
  #if CYTHON_AVOID_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS
  really_bad: // bad has failed!
  #endif
      __Pyx_DECREF_TypeName(tp_base_name);
      __Pyx_DECREF_TypeName(base_name);
  #if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_AVOID_BORROWED_REFS || !CYTHON_ASSUME_SAFE_MACROS
  other_failure:
  #endif
      PyMem_Free(base_vtables);
      return -1;
  }
  
/* DelItemOnTypeDict (used by SetupReduce) */
  static int __Pyx__DelItemOnTypeDict(PyTypeObject *tp, PyObject *k) {
      int result;
      PyObject *tp_dict;
  #if CYTHON_COMPILING_IN_LIMITED_API
      tp_dict = __Pyx_GetTypeDict(tp);
      if (unlikely(!tp_dict)) return -1;
  #else
      tp_dict = tp->tp_dict;
  #endif
      result = PyDict_DelItem(tp_dict, k);
      if (likely(!result)) PyType_Modified(tp);
      return result;
  }
  
/* SetupReduce */
  static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
    int ret;
    PyObject *name_attr;
    name_attr = __Pyx_PyObject_GetAttrStrNoError(meth, __pyx_mstate_global->__pyx_n_u_name_2);
    if (likely(name_attr)) {
        ret = PyObject_RichCompareBool(name_attr, name, Py_EQ);
    } else {
        ret = -1;
    }
    if (unlikely(ret < 0)) {
        PyErr_Clear();
        ret = 0;
    }
    Py_XDECREF(name_attr);
    return ret;
  }
  static int __Pyx_setup_reduce(PyObject* type_obj) {
      int ret = 0;
      PyObject *object_reduce = NULL;
      PyObject *object_getstate = NULL;
      PyObject *object_reduce_ex = NULL;
      PyObject *reduce = NULL;
      PyObject *reduce_ex = NULL;
      PyObject *reduce_cython = NULL;
      PyObject *setstate = NULL;
      PyObject *setstate_cython = NULL;
      PyObject *getstate = NULL;
  #if CYTHON_USE_PYTYPE_LOOKUP
      getstate = _PyType_Lookup((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_getstate);
  #else
      getstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_getstate);
      if (!getstate && PyErr_Occurred()) {
          goto __PYX_BAD;
      }
  #endif
      if (getstate) {
  #if CYTHON_USE_PYTYPE_LOOKUP
          object_getstate = _PyType_Lookup(&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_getstate);
  #else
          object_getstate = __Pyx_PyObject_GetAttrStrNoError((PyObject*)&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_getstate);
          if (!object_getstate && PyErr_Occurred()) {
              goto __PYX_BAD;
          }
  #endif
          if (object_getstate != getstate) {
              goto __PYX_GOOD;
          }
      }
  #if CYTHON_USE_PYTYPE_LOOKUP
      object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
  #else
      object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
  #endif
      reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_mstate_global->__pyx_n_u_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD;
      if (reduce_ex == object_reduce_ex) {
  #if CYTHON_USE_PYTYPE_LOOKUP
          object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_reduce_2); if (!object_reduce) goto __PYX_BAD;
  #else
          object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_reduce_2); if (!object_reduce) goto __PYX_BAD;
  #endif
          reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_mstate_global->__pyx_n_u_reduce_2); if (unlikely(!reduce)) goto __PYX_BAD;
          if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_mstate_global->__pyx_n_u_reduce_cython)) {
              reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_reduce_cython);
              if (likely(reduce_cython)) {
                  ret = __Pyx_SetItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_reduce_2, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                  ret = __Pyx_DelItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
              } else if (reduce == object_reduce || PyErr_Occurred()) {
                  goto __PYX_BAD;
              }
              setstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_setstate);
              if (!setstate) PyErr_Clear();
              if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_mstate_global->__pyx_n_u_setstate_cython)) {
                  setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_setstate_cython);
                  if (likely(setstate_cython)) {
                      ret = __Pyx_SetItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                      ret = __Pyx_DelItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
                  } else if (!setstate || PyErr_Occurred()) {
                      goto __PYX_BAD;
                  }
              }
              PyType_Modified((PyTypeObject*)type_obj);
          }
      }
      goto __PYX_GOOD;
  __PYX_BAD:
      if (!PyErr_Occurred()) {
          __Pyx_TypeName type_obj_name =
              __Pyx_PyType_GetFullyQualifiedName((PyTypeObject*)type_obj);
          PyErr_Format(PyExc_RuntimeError,
              "Unable to initialize pickling for " __Pyx_FMT_TYPENAME, type_obj_name);
          __Pyx_DECREF_TypeName(type_obj_name);
      }
      ret = -1;
  __PYX_GOOD:
  #if !CYTHON_USE_PYTYPE_LOOKUP
      Py_XDECREF(object_reduce);
      Py_XDECREF(object_reduce_ex);
      Py_XDECREF(object_getstate);
      Py_XDECREF(getstate);
  #endif
      Py_XDECREF(reduce);
      Py_XDECREF(reduce_ex);
      Py_XDECREF(reduce_cython);
      Py_XDECREF(setstate);
      Py_XDECREF(setstate_cython);
      return ret;
  }
  
/* TypeImport */
  #ifndef __PYX_HAVE_RT_ImportType_3_2_4
  #define __PYX_HAVE_RT_ImportType_3_2_4
  static PyTypeObject *__Pyx_ImportType_3_2_4(PyObject *module, const char *module_name, const char *class_name,
      size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_2_4 check_size)
  {
      PyObject *result = 0;
      Py_ssize_t basicsize;
      Py_ssize_t itemsize;
  #if defined(Py_LIMITED_API) || (defined(CYTHON_COMPILING_IN_LIMITED_API) && CYTHON_COMPILING_IN_LIMITED_API)
      PyObject *py_basicsize;
      PyObject *py_itemsize;
  #endif
      result = PyObject_GetAttrString(module, class_name);
      if (!result)
          goto bad;
      if (!PyType_Check(result)) {
          PyErr_Format(PyExc_TypeError,
              "%.200s.%.200s is not a type object",
              module_name, class_name);
          goto bad;
      }
  #if !( defined(Py_LIMITED_API) || (defined(CYTHON_COMPILING_IN_LIMITED_API) && CYTHON_COMPILING_IN_LIMITED_API) )
      basicsize = ((PyTypeObject *)result)->tp_basicsize;
      itemsize = ((PyTypeObject *)result)->tp_itemsize;
  #else
      if (size == 0) {
          return (PyTypeObject *)result;
      }
      py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
      if (!py_basicsize)
          goto bad;
      basicsize = PyLong_AsSsize_t(py_basicsize);
      Py_DECREF(py_basicsize);
      py_basicsize = 0;
      if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
          goto bad;
      py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
      if (!py_itemsize)
          goto bad;
      itemsize = PyLong_AsSsize_t(py_itemsize);
      Py_DECREF(py_itemsize);
      py_itemsize = 0;
      if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
          goto bad;
  #endif
      if (itemsize) {
          if (size % alignment) {
              alignment = size % alignment;
          }
          if (itemsize < (Py_ssize_t)alignment)
              itemsize = (Py_ssize_t)alignment;
      }
      if ((size_t)(basicsize + itemsize) < size) {
          PyErr_Format(PyExc_ValueError,
              "%.200s.%.200s size changed, may indicate binary incompatibility. "
              "Expected %zd from C header, got %zd from PyObject",
              module_name, class_name, size, basicsize+itemsize);
          goto bad;
      }
      if (check_size == __Pyx_ImportType_CheckSize_Error_3_2_4 &&
              ((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) {
          PyErr_Format(PyExc_ValueError,
              "%.200s.%.200s size changed, may indicate binary incompatibility. "
              "Expected %zd from C header, got %zd-%zd from PyObject",
              module_name, class_name, size, basicsize, basicsize+itemsize);
          goto bad;
      }
      else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_2_4 && (size_t)basicsize > size) {
          if (PyErr_WarnFormat(NULL, 0,
                  "%.200s.%.200s size changed, may indicate binary incompatibility. "
                  "Expected %zd from C header, got %zd from PyObject",
                  module_name, class_name, size, basicsize) < 0) {
              goto bad;
          }
      }
      return (PyTypeObject *)result;
  bad:
      Py_XDECREF(result);
      return NULL;
  }
  #endif
  
/* ImportFrom */
  static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
      PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
      if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
          const char* module_name_str = 0;
          PyObject* module_name = 0;
          PyObject* module_dot = 0;
          PyObject* full_name = 0;
          PyErr_Clear();
          module_name_str = PyModule_GetName(module);
          if (unlikely(!module_name_str)) { goto modbad; }
          module_name = PyUnicode_FromString(module_name_str);
          if (unlikely(!module_name)) { goto modbad; }
          module_dot = PyUnicode_Concat(module_name, __pyx_mstate_global->__pyx_kp_u__2);
          if (unlikely(!module_dot)) { goto modbad; }
          full_name = PyUnicode_Concat(module_dot, name);
          if (unlikely(!full_name)) { goto modbad; }
          #if (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM  < 0x07030400) ||\
                  CYTHON_COMPILING_IN_GRAAL
          {
              PyObject *modules = PyImport_GetModuleDict();
              if (unlikely(!modules))
                  goto modbad;
              value = PyObject_GetItem(modules, full_name);
          }
          #else
          value = PyImport_GetModule(full_name);
          #endif
        modbad:
          Py_XDECREF(full_name);
          Py_XDECREF(module_dot);
          Py_XDECREF(module_name);
      }
      if (unlikely(!value)) {
          PyErr_Format(PyExc_ImportError, "cannot import name %S", name);
      }
      return value;
  }
  
/* CyFunctionClassCell */
  static int __Pyx_CyFunction_InitClassCell(PyObject *cyfunctions, PyObject *classobj) {
      Py_ssize_t i, count = __Pyx_PyList_GET_SIZE(cyfunctions);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely(count < 0)) return -1;
      #endif
      for (i = 0; i < count; i++) {
          __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *)
  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && !CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
              PyList_GET_ITEM(cyfunctions, i);
  #else
              __Pyx_PySequence_ITEM(cyfunctions, i);
          if (unlikely(!m))
              return -1;
  #endif
          __Pyx_CyFunction_SetClassObj(m, classobj);
  #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && !CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS)
          Py_DECREF((PyObject*)m);
  #endif
      }
      return 0;
  }
  
/* ListPack */
  static PyObject *__Pyx_PyList_Pack(Py_ssize_t n, ...) {
      va_list va;
      PyObject *l = PyList_New(n);
      va_start(va, n);
      if (unlikely(!l)) goto end;
      for (Py_ssize_t i=0; i<n; ++i) {
          PyObject *arg = va_arg(va, PyObject*);
          Py_INCREF(arg);
          if (__Pyx_PyList_SET_ITEM(l, i, arg) != (0)) {
              Py_CLEAR(l);
              goto end;
          }
      }
      end:
      va_end(va);
      return l;
  }
  
/* GetNameInClass */
  static PyObject *__Pyx__GetNameInClass(PyObject *nmspace, PyObject *name) {
      PyObject *result;
      PyObject *dict;
      assert(PyType_Check(nmspace));
  #if CYTHON_USE_TYPE_SLOTS
      dict = ((PyTypeObject*)nmspace)->tp_dict;
      Py_XINCREF(dict);
  #else
      dict = PyObject_GetAttr(nmspace, __pyx_mstate_global->__pyx_n_u_dict);
  #endif
      if (likely(dict)) {
          result = PyObject_GetItem(dict, name);
          Py_DECREF(dict);
          if (result) {
              return result;
          }
      }
      PyErr_Clear();
      __Pyx_GetModuleGlobalNameUncached(result, name);
      return result;
  }
  
/* CLineInTraceback (used by AddTraceback) */
  #if CYTHON_CLINE_IN_TRACEBACK && CYTHON_CLINE_IN_TRACEBACK_RUNTIME
  #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
  #define __Pyx_PyProbablyModule_GetDict(o) __Pyx_XNewRef(PyModule_GetDict(o))
  #elif !CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
  #define __Pyx_PyProbablyModule_GetDict(o) PyObject_GenericGetDict(o, NULL);
  #else
  PyObject* __Pyx_PyProbablyModule_GetDict(PyObject *o) {
      PyObject **dict_ptr = _PyObject_GetDictPtr(o);
      return dict_ptr ? __Pyx_XNewRef(*dict_ptr) : NULL;
  }
  #endif
  static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) {
      PyObject *use_cline = NULL;
      PyObject *ptype, *pvalue, *ptraceback;
      PyObject *cython_runtime_dict;
      CYTHON_MAYBE_UNUSED_VAR(tstate);
      if (unlikely(!__pyx_mstate_global->__pyx_cython_runtime)) {
          return c_line;
      }
      __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
      cython_runtime_dict = __Pyx_PyProbablyModule_GetDict(__pyx_mstate_global->__pyx_cython_runtime);
      if (likely(cython_runtime_dict)) {
          __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
              use_cline, cython_runtime_dict,
              __Pyx_PyDict_SetDefault(cython_runtime_dict, __pyx_mstate_global->__pyx_n_u_cline_in_traceback, Py_False))
      }
      if (use_cline == NULL || use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
          c_line = 0;
      }
      Py_XDECREF(use_cline);
      Py_XDECREF(cython_runtime_dict);
      __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
      return c_line;
  }
  #endif
  
/* CodeObjectCache (used by AddTraceback) */
  static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
      int start = 0, mid = 0, end = count - 1;
      if (end >= 0 && code_line > entries[end].code_line) {
          return count;
      }
      while (start < end) {
          mid = start + (end - start) / 2;
          if (code_line < entries[mid].code_line) {
              end = mid;
          } else if (code_line > entries[mid].code_line) {
               start = mid + 1;
          } else {
              return mid;
          }
      }
      if (code_line <= entries[mid].code_line) {
          return mid;
      } else {
          return mid + 1;
      }
  }
  static __Pyx_CachedCodeObjectType *__pyx__find_code_object(struct __Pyx_CodeObjectCache *code_cache, int code_line) {
      __Pyx_CachedCodeObjectType* code_object;
      int pos;
      if (unlikely(!code_line) || unlikely(!code_cache->entries)) {
          return NULL;
      }
      pos = __pyx_bisect_code_objects(code_cache->entries, code_cache->count, code_line);
      if (unlikely(pos >= code_cache->count) || unlikely(code_cache->entries[pos].code_line != code_line)) {
          return NULL;
      }
      code_object = code_cache->entries[pos].code_object;
      Py_INCREF(code_object);
      return code_object;
  }
  static __Pyx_CachedCodeObjectType *__pyx_find_code_object(int code_line) {
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && !CYTHON_ATOMICS
      (void)__pyx__find_code_object;
      return NULL; // Most implementation should have atomics. But otherwise, don't make it thread-safe, just miss.
  #else
      struct __Pyx_CodeObjectCache *code_cache = &__pyx_mstate_global->__pyx_code_cache;
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
      __pyx_nonatomic_int_type old_count = __pyx_atomic_incr_acq_rel(&code_cache->accessor_count);
      if (old_count < 0) {
          __pyx_atomic_decr_acq_rel(&code_cache->accessor_count);
          return NULL;
      }
  #endif
      __Pyx_CachedCodeObjectType *result = __pyx__find_code_object(code_cache, code_line);
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
      __pyx_atomic_decr_acq_rel(&code_cache->accessor_count);
  #endif
      return result;
  #endif
  }
  static void __pyx__insert_code_object(struct __Pyx_CodeObjectCache *code_cache, int code_line, __Pyx_CachedCodeObjectType* code_object)
  {
      int pos, i;
      __Pyx_CodeObjectCacheEntry* entries = code_cache->entries;
      if (unlikely(!code_line)) {
          return;
      }
      if (unlikely(!entries)) {
          entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
          if (likely(entries)) {
              code_cache->entries = entries;
              code_cache->max_count = 64;
              code_cache->count = 1;
              entries[0].code_line = code_line;
              entries[0].code_object = code_object;
              Py_INCREF(code_object);
          }
          return;
      }
      pos = __pyx_bisect_code_objects(code_cache->entries, code_cache->count, code_line);
      if ((pos < code_cache->count) && unlikely(code_cache->entries[pos].code_line == code_line)) {
          __Pyx_CachedCodeObjectType* tmp = entries[pos].code_object;
          entries[pos].code_object = code_object;
          Py_INCREF(code_object);
          Py_DECREF(tmp);
          return;
      }
      if (code_cache->count == code_cache->max_count) {
          int new_max = code_cache->max_count + 64;
          entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
              code_cache->entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));
          if (unlikely(!entries)) {
              return;
          }
          code_cache->entries = entries;
          code_cache->max_count = new_max;
      }
      for (i=code_cache->count; i>pos; i--) {
          entries[i] = entries[i-1];
      }
      entries[pos].code_line = code_line;
      entries[pos].code_object = code_object;
      code_cache->count++;
      Py_INCREF(code_object);
  }
  static void __pyx_insert_code_object(int code_line, __Pyx_CachedCodeObjectType* code_object) {
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && !CYTHON_ATOMICS
      (void)__pyx__insert_code_object;
      return; // Most implementation should have atomics. But otherwise, don't make it thread-safe, just fail.
  #else
      struct __Pyx_CodeObjectCache *code_cache = &__pyx_mstate_global->__pyx_code_cache;
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
      __pyx_nonatomic_int_type expected = 0;
      if (!__pyx_atomic_int_cmp_exchange(&code_cache->accessor_count, &expected, INT_MIN)) {
          return;
      }
  #endif
      __pyx__insert_code_object(code_cache, code_line, code_object);
  #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
      __pyx_atomic_sub(&code_cache->accessor_count, INT_MIN);
  #endif
  #endif
  }
  
/* AddTraceback */
  #include "compile.h"
  #include "frameobject.h"
  #include "traceback.h"
  #if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION)
    #ifndef Py_BUILD_CORE
      #define Py_BUILD_CORE 1
    #endif
    #include "internal/pycore_frame.h"
  #endif
  #if CYTHON_COMPILING_IN_LIMITED_API
  static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict,
                                                         PyObject *firstlineno, PyObject *name) {
      PyObject *replace = NULL;
      if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL;
      if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL;
      replace = PyObject_GetAttrString(code, "replace");
      if (likely(replace)) {
          PyObject *result = PyObject_Call(replace, __pyx_mstate_global->__pyx_empty_tuple, scratch_dict);
          Py_DECREF(replace);
          return result;
      }
      PyErr_Clear();
      return NULL;
  }
  static void __Pyx_AddTraceback(const char *funcname, int c_line,
                                 int py_line, const char *filename) {
      PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL;
      PyObject *replace = NULL, *getframe = NULL, *frame = NULL;
      PyObject *exc_type, *exc_value, *exc_traceback;
      int success = 0;
      if (c_line) {
          c_line = __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line);
      }
      PyErr_Fetch(&exc_type, &exc_value, &exc_traceback);
      code_object = __pyx_find_code_object(c_line ? -c_line : py_line);
      if (!code_object) {
          code_object = Py_CompileString("_getframe()", filename, Py_eval_input);
          if (unlikely(!code_object)) goto bad;
          py_py_line = PyLong_FromLong(py_line);
          if (unlikely(!py_py_line)) goto bad;
          if (c_line) {
              py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
          } else {
              py_funcname = PyUnicode_FromString(funcname);
          }
          if (unlikely(!py_funcname)) goto bad;
          dict = PyDict_New();
          if (unlikely(!dict)) goto bad;
          {
              PyObject *old_code_object = code_object;
              code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname);
              Py_DECREF(old_code_object);
          }
          if (unlikely(!code_object)) goto bad;
          __pyx_insert_code_object(c_line ? -c_line : py_line, code_object);
      } else {
          dict = PyDict_New();
      }
      getframe = PySys_GetObject("_getframe");
      if (unlikely(!getframe)) goto bad;
      if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad;
      frame = PyEval_EvalCode(code_object, dict, dict);
      if (unlikely(!frame) || frame == Py_None) goto bad;
      success = 1;
    bad:
      PyErr_Restore(exc_type, exc_value, exc_traceback);
      Py_XDECREF(code_object);
      Py_XDECREF(py_py_line);
      Py_XDECREF(py_funcname);
      Py_XDECREF(dict);
      Py_XDECREF(replace);
      if (success) {
          PyTraceBack_Here(
              (struct _frame*)frame);
      }
      Py_XDECREF(frame);
  }
  #else
  static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
              const char *funcname, int c_line,
              int py_line, const char *filename) {
      PyCodeObject *py_code = NULL;
      PyObject *py_funcname = NULL;
      if (c_line) {
          py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
          if (!py_funcname) goto bad;
          funcname = PyUnicode_AsUTF8(py_funcname);
          if (!funcname) goto bad;
      }
      py_code = PyCode_NewEmpty(filename, funcname, py_line);
      Py_XDECREF(py_funcname);
      return py_code;
  bad:
      Py_XDECREF(py_funcname);
      return NULL;
  }
  static void __Pyx_AddTraceback(const char *funcname, int c_line,
                                 int py_line, const char *filename) {
      PyCodeObject *py_code = 0;
      PyFrameObject *py_frame = 0;
      PyThreadState *tstate = __Pyx_PyThreadState_Current;
      PyObject *ptype, *pvalue, *ptraceback;
      if (c_line) {
          c_line = __Pyx_CLineForTraceback(tstate, c_line);
      }
      py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
      if (!py_code) {
          __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
          py_code = __Pyx_CreateCodeObjectForTraceback(
              funcname, c_line, py_line, filename);
          if (!py_code) {
              /* If the code object creation fails, then we should clear the
                 fetched exception references and propagate the new exception */
              Py_XDECREF(ptype);
              Py_XDECREF(pvalue);
              Py_XDECREF(ptraceback);
              goto bad;
          }
          __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
          __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
      }
      py_frame = PyFrame_New(
          tstate,            /*PyThreadState *tstate,*/
          py_code,           /*PyCodeObject *code,*/
          __pyx_mstate_global->__pyx_d,    /*PyObject *globals,*/
          0                  /*PyObject *locals*/
      );
      if (!py_frame) goto bad;
      __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
      PyTraceBack_Here(py_frame);
  bad:
      Py_XDECREF(py_code);
      Py_XDECREF(py_frame);
  }
  #endif
  
/* CheckUnpickleChecksum */
  static void __Pyx_RaiseUnpickleChecksumError(long checksum, long checksum1, long checksum2, long checksum3, const char *members) {
      PyObject *pickle_module = PyImport_ImportModule("pickle");
      if (unlikely(!pickle_module)) return;
      PyObject *pickle_error = PyObject_GetAttrString(pickle_module, "PickleError");
      Py_DECREF(pickle_module);
      if (unlikely(!pickle_error)) return;
      if (checksum2 == checksum1) {
          PyErr_Format(pickle_error, "Incompatible checksums (0x%x vs (0x%x) = (%s))",
              checksum, checksum1, members);
      } else if (checksum3 == checksum2) {
          PyErr_Format(pickle_error, "Incompatible checksums (0x%x vs (0x%x, 0x%x) = (%s))",
              checksum, checksum1, checksum2, members);
      } else {
          PyErr_Format(pickle_error, "Incompatible checksums (0x%x vs (0x%x, 0x%x, 0x%x) = (%s))",
              checksum, checksum1, checksum2, checksum3, members);
      }
      Py_DECREF(pickle_error);
  }
  static int __Pyx_CheckUnpickleChecksum(long checksum, long checksum1, long checksum2, long checksum3, const char *members) {
      int found = 0;
      found |= checksum1 == checksum;
      found |= checksum2 == checksum;
      found |= checksum3 == checksum;
      if (likely(found))
          return 0;
      __Pyx_RaiseUnpickleChecksumError(checksum, checksum1, checksum2, checksum3, members);
      return -1;
  }
  
/* MemviewRefcount */
  #include <stdio.h>
  #ifndef _Py_NO_RETURN
  #define _Py_NO_RETURN
  #endif
  _Py_NO_RETURN
  static void __pyx_fatalerror(const char *fmt, ...) {
      va_list vargs;
      char msg[200];
  #if PY_VERSION_HEX >= 0x030A0000 || defined(HAVE_STDARG_PROTOTYPES)
      va_start(vargs, fmt);
  #else
      va_start(vargs);
  #endif
      vsnprintf(msg, 200, fmt, vargs);
      va_end(vargs);
      Py_FatalError(msg);
  }
  static CYTHON_INLINE int
  __pyx_add_acquisition_count_locked(__pyx_atomic_int_type *acquisition_count,
                                     PyThread_type_lock lock)
  {
      int result;
      PyThread_acquire_lock(lock, 1);
      result = (*acquisition_count)++;
      PyThread_release_lock(lock);
      return result;
  }
  static CYTHON_INLINE int
  __pyx_sub_acquisition_count_locked(__pyx_atomic_int_type *acquisition_count,
                                     PyThread_type_lock lock)
  {
      int result;
      PyThread_acquire_lock(lock, 1);
      result = (*acquisition_count)--;
      PyThread_release_lock(lock);
      return result;
  }
  static CYTHON_INLINE void
  __Pyx_INC_MEMVIEW(__Pyx_memviewslice *memslice, int have_gil, int lineno)
  {
      __pyx_nonatomic_int_type old_acquisition_count;
      struct __pyx_memoryview_obj *memview = memslice->memview;
      if (unlikely(!memview || (PyObject *) memview == Py_None)) {
          return;
      }
      old_acquisition_count = __pyx_add_acquisition_count(memview);
      if (unlikely(old_acquisition_count <= 0)) {
          if (likely(old_acquisition_count == 0)) {
              if (have_gil) {
                  Py_INCREF((PyObject *) memview);
              } else {
                  PyGILState_STATE _gilstate = PyGILState_Ensure();
                  Py_INCREF((PyObject *) memview);
                  PyGILState_Release(_gilstate);
              }
          } else {
              __pyx_fatalerror("Acquisition count is %d (line %d)",
                               old_acquisition_count+1, lineno);
          }
      }
  }
  static CYTHON_INLINE void __Pyx_XCLEAR_MEMVIEW(__Pyx_memviewslice *memslice,
                                               int have_gil, int lineno) {
      __pyx_nonatomic_int_type old_acquisition_count;
      struct __pyx_memoryview_obj *memview = memslice->memview;
      if (unlikely(!memview || (PyObject *) memview == Py_None)) {
          memslice->memview = NULL;
          return;
      }
      old_acquisition_count = __pyx_sub_acquisition_count(memview);
      memslice->data = NULL;
      if (likely(old_acquisition_count > 1)) {
          memslice->memview = NULL;
      } else if (likely(old_acquisition_count == 1)) {
          if (have_gil) {
              Py_CLEAR(memslice->memview);
          } else {
              PyGILState_STATE _gilstate = PyGILState_Ensure();
              Py_CLEAR(memslice->memview);
              PyGILState_Release(_gilstate);
          }
      } else {
          __pyx_fatalerror("Acquisition count is %d (line %d)",
                           old_acquisition_count-1, lineno);
      }
  }
  
/* MemviewSliceIsContig */
  static int
  __pyx_memviewslice_is_contig(const __Pyx_memviewslice mvs, char order, int ndim)
  {
      int i, index, step, start;
      Py_ssize_t itemsize = mvs.memview->view.itemsize;
      if (order == 'F') {
          step = 1;
          start = 0;
      } else {
          step = -1;
          start = ndim - 1;
      }
      for (i = 0; i < ndim; i++) {
          index = start + step * i;
          if (mvs.suboffsets[index] >= 0 || mvs.strides[index] != itemsize)
              return 0;
          itemsize *= mvs.shape[index];
      }
      return 1;
  }
  
/* OverlappingSlices */
  static void
  __pyx_get_array_memory_extents(__Pyx_memviewslice *slice,
                                 void **out_start, void **out_end,
                                 int ndim, size_t itemsize)
  {
      char *start, *end;
      int i;
      start = end = slice->data;
      for (i = 0; i < ndim; i++) {
          Py_ssize_t stride = slice->strides[i];
          Py_ssize_t extent = slice->shape[i];
          if (extent == 0) {
              *out_start = *out_end = start;
              return;
          } else {
              if (stride > 0)
                  end += stride * (extent - 1);
              else
                  start += stride * (extent - 1);
          }
      }
      *out_start = start;
      *out_end = end + itemsize;
  }
  static int
  __pyx_slices_overlap(__Pyx_memviewslice *slice1,
                       __Pyx_memviewslice *slice2,
                       int ndim, size_t itemsize)
  {
      void *start1, *end1, *start2, *end2;
      __pyx_get_array_memory_extents(slice1, &start1, &end1, ndim, itemsize);
      __pyx_get_array_memory_extents(slice2, &start2, &end2, ndim, itemsize);
      return (start1 < end2) && (start2 < end1);
  }
  
/* MemviewSliceInit */
  static int
  __Pyx_init_memviewslice(struct __pyx_memoryview_obj *memview,
                          int ndim,
                          __Pyx_memviewslice *memviewslice,
                          int memview_is_new_reference)
  {
      __Pyx_RefNannyDeclarations
      int i, retval=-1;
      Py_buffer *buf = &memview->view;
      __Pyx_RefNannySetupContext("init_memviewslice", 0);
      if (unlikely(memviewslice->memview || memviewslice->data)) {
          PyErr_SetString(PyExc_ValueError,
              "memviewslice is already initialized!");
          goto fail;
      }
      if (buf->strides) {
          for (i = 0; i < ndim; i++) {
              memviewslice->strides[i] = buf->strides[i];
          }
      } else {
          Py_ssize_t stride = buf->itemsize;
          for (i = ndim - 1; i >= 0; i--) {
              memviewslice->strides[i] = stride;
              stride *= buf->shape[i];
          }
      }
      for (i = 0; i < ndim; i++) {
          memviewslice->shape[i]   = buf->shape[i];
          if (buf->suboffsets) {
              memviewslice->suboffsets[i] = buf->suboffsets[i];
          } else {
              memviewslice->suboffsets[i] = -1;
          }
      }
      memviewslice->memview = memview;
      memviewslice->data = (char *)buf->buf;
      if (__pyx_add_acquisition_count(memview) == 0 && !memview_is_new_reference) {
          Py_INCREF((PyObject*)memview);
      }
      retval = 0;
      goto no_fail;
  fail:
      memviewslice->memview = 0;
      memviewslice->data = 0;
      retval = -1;
  no_fail:
      __Pyx_RefNannyFinishContext();
      return retval;
  }
  
/* CIntFromPyVerify */
  #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
      __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
  #define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
      __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
  #define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
      {\
          func_type value = func_value;\
          if (sizeof(target_type) < sizeof(func_type)) {\
              if (unlikely(value != (func_type) (target_type) value)) {\
                  func_type zero = 0;\
                  if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
                      return (target_type) -1;\
                  if (is_unsigned && unlikely(value < zero))\
                      goto raise_neg_overflow;\
                  else\
                      goto raise_overflow;\
              }\
          }\
          return (target_type) value;\
      }
  
/* TypeInfoCompare (used by MemviewSliceValidateAndInit) */
  static int
  __pyx_typeinfo_cmp(const __Pyx_TypeInfo *a, const __Pyx_TypeInfo *b)
  {
      int i;
      if (!a || !b)
          return 0;
      if (a == b)
          return 1;
      if (a->size != b->size || a->typegroup != b->typegroup ||
              a->is_unsigned != b->is_unsigned || a->ndim != b->ndim) {
          if (a->typegroup == 'H' || b->typegroup == 'H') {
              return a->size == b->size;
          } else {
              return 0;
          }
      }
      if (a->ndim) {
          for (i = 0; i < a->ndim; i++)
              if (a->arraysize[i] != b->arraysize[i])
                  return 0;
      }
      if (a->typegroup == 'S') {
          if (a->flags != b->flags)
              return 0;
          if (a->fields || b->fields) {
              if (!(a->fields && b->fields))
                  return 0;
              for (i = 0; a->fields[i].type && b->fields[i].type; i++) {
                  const __Pyx_StructField *field_a = a->fields + i;
                  const __Pyx_StructField *field_b = b->fields + i;
                  if (field_a->offset != field_b->offset ||
                      !__pyx_typeinfo_cmp(field_a->type, field_b->type))
                      return 0;
              }
              return !a->fields[i].type && !b->fields[i].type;
          }
      }
      return 1;
  }
  
/* MemviewSliceValidateAndInit (used by ObjectToMemviewSlice) */
  static int
  __pyx_check_strides(Py_buffer *buf, int dim, int ndim, int spec)
  {
      if (buf->shape[dim] <= 1)
          return 1;
      if (buf->strides) {
          if (spec & __Pyx_MEMVIEW_CONTIG) {
              if (spec & (__Pyx_MEMVIEW_PTR|__Pyx_MEMVIEW_FULL)) {
                  if (unlikely(buf->strides[dim] != sizeof(void *))) {
                      PyErr_Format(PyExc_ValueError,
                                   "Buffer is not indirectly contiguous "
                                   "in dimension %d.", dim);
                      goto fail;
                  }
              } else if (unlikely(buf->strides[dim] != buf->itemsize)) {
                  PyErr_SetString(PyExc_ValueError,
                                  "Buffer and memoryview are not contiguous "
                                  "in the same dimension.");
                  goto fail;
              }
          }
          if (spec & __Pyx_MEMVIEW_FOLLOW) {
              Py_ssize_t stride = buf->strides[dim];
              if (stride < 0)
                  stride = -stride;
              if (unlikely(stride < buf->itemsize)) {
                  PyErr_SetString(PyExc_ValueError,
                                  "Buffer and memoryview are not contiguous "
                                  "in the same dimension.");
                  goto fail;
              }
          }
      } else {
          if (unlikely(spec & __Pyx_MEMVIEW_CONTIG && dim != ndim - 1)) {
              PyErr_Format(PyExc_ValueError,
                           "C-contiguous buffer is not contiguous in "
                           "dimension %d", dim);
              goto fail;
          } else if (unlikely(spec & (__Pyx_MEMVIEW_PTR))) {
              PyErr_Format(PyExc_ValueError,
                           "C-contiguous buffer is not indirect in "
                           "dimension %d", dim);
              goto fail;
          } else if (unlikely(buf->suboffsets)) {
              PyErr_SetString(PyExc_ValueError,
                              "Buffer exposes suboffsets but no strides");
              goto fail;
          }
      }
      return 1;
  fail:
      return 0;
  }
  static int
  __pyx_check_suboffsets(Py_buffer *buf, int dim, int ndim, int spec)
  {
      CYTHON_UNUSED_VAR(ndim);
      if (spec & __Pyx_MEMVIEW_DIRECT) {
          if (unlikely(buf->suboffsets && buf->suboffsets[dim] >= 0)) {
              PyErr_Format(PyExc_ValueError,
                           "Buffer not compatible with direct access "
                           "in dimension %d.", dim);
              goto fail;
          }
      }
      if (spec & __Pyx_MEMVIEW_PTR) {
          if (unlikely(!buf->suboffsets || (buf->suboffsets[dim] < 0))) {
              PyErr_Format(PyExc_ValueError,
                           "Buffer is not indirectly accessible "
                           "in dimension %d.", dim);
              goto fail;
          }
      }
      return 1;
  fail:
      return 0;
  }
  static int
  __pyx_verify_contig(Py_buffer *buf, int ndim, int c_or_f_flag)
  {
      int i;
      if (c_or_f_flag & __Pyx_IS_F_CONTIG) {
          Py_ssize_t stride = 1;
          for (i = 0; i < ndim; i++) {
              if (unlikely(stride * buf->itemsize != buf->strides[i]  &&  buf->shape[i] > 1)) {
                  PyErr_SetString(PyExc_ValueError,
                      "Buffer not fortran contiguous.");
                  goto fail;
              }
              stride = stride * buf->shape[i];
          }
      } else if (c_or_f_flag & __Pyx_IS_C_CONTIG) {
          Py_ssize_t stride = 1;
          for (i = ndim - 1; i >- 1; i--) {
              if (unlikely(stride * buf->itemsize != buf->strides[i]  &&  buf->shape[i] > 1)) {
                  PyErr_SetString(PyExc_ValueError,
                      "Buffer not C contiguous.");
                  goto fail;
              }
              stride = stride * buf->shape[i];
          }
      }
      return 1;
  fail:
      return 0;
  }
  static int __Pyx_ValidateAndInit_memviewslice(
                  int *axes_specs,
                  int c_or_f_flag,
                  int buf_flags,
                  int ndim,
                  const __Pyx_TypeInfo *dtype,
                  __Pyx_BufFmt_StackElem stack[],
                  __Pyx_memviewslice *memviewslice,
                  PyObject *original_obj)
  {
      struct __pyx_memoryview_obj *memview, *new_memview;
      __Pyx_RefNannyDeclarations
      Py_buffer *buf;
      int i, spec = 0, retval = -1;
      __Pyx_BufFmt_Context ctx;
      int from_memoryview = __pyx_memoryview_check(original_obj);
      __Pyx_RefNannySetupContext("ValidateAndInit_memviewslice", 0);
      if (from_memoryview && __pyx_typeinfo_cmp(dtype, ((struct __pyx_memoryview_obj *)
                                                              original_obj)->typeinfo)) {
          memview = (struct __pyx_memoryview_obj *) original_obj;
          new_memview = NULL;
      } else {
          memview = (struct __pyx_memoryview_obj *) __pyx_memoryview_new(
                                              original_obj, buf_flags, 0, dtype);
          new_memview = memview;
          if (unlikely(!memview))
              goto fail;
      }
      buf = &memview->view;
      if (unlikely(buf->ndim != ndim)) {
          PyErr_Format(PyExc_ValueError,
                  "Buffer has wrong number of dimensions (expected %d, got %d)",
                  ndim, buf->ndim);
          goto fail;
      }
      if (new_memview) {
          __Pyx_BufFmt_Init(&ctx, stack, dtype);
          if (unlikely(!__Pyx_BufFmt_CheckString(&ctx, buf->format))) goto fail;
      }
      if (unlikely((unsigned) buf->itemsize != dtype->size)) {
          PyErr_Format(PyExc_ValueError,
                       "Item size of buffer (%" CYTHON_FORMAT_SSIZE_T "u byte%s) "
                       "does not match size of '%s' (%" CYTHON_FORMAT_SSIZE_T "u byte%s)",
                       buf->itemsize,
                       (buf->itemsize > 1) ? "s" : "",
                       dtype->name,
                       dtype->size,
                       (dtype->size > 1) ? "s" : "");
          goto fail;
      }
      if (buf->len > 0) {
          for (i = 0; i < ndim; i++) {
              spec = axes_specs[i];
              if (unlikely(!__pyx_check_strides(buf, i, ndim, spec)))
                  goto fail;
              if (unlikely(!__pyx_check_suboffsets(buf, i, ndim, spec)))
                  goto fail;
          }
          if (unlikely(buf->strides && !__pyx_verify_contig(buf, ndim, c_or_f_flag)))
              goto fail;
      }
      if (unlikely(__Pyx_init_memviewslice(memview, ndim, memviewslice,
                                           new_memview != NULL) == -1)) {
          goto fail;
      }
      retval = 0;
      goto no_fail;
  fail:
      Py_XDECREF((PyObject*)new_memview);
      retval = -1;
  no_fail:
      __Pyx_RefNannyFinishContext();
      return retval;
  }
  
/* ObjectToMemviewSlice */
  static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_dsds_double__const__(PyObject *obj, int writable_flag) {
      __Pyx_memviewslice result = __Pyx_MEMSLICE_INIT;
      __Pyx_BufFmt_StackElem stack[1];
      int axes_specs[] = { (__Pyx_MEMVIEW_DIRECT | __Pyx_MEMVIEW_STRIDED), (__Pyx_MEMVIEW_DIRECT | __Pyx_MEMVIEW_STRIDED) };
      int retcode;
      if (obj == Py_None) {
          result.memview = (struct __pyx_memoryview_obj *) Py_None;
          return result;
      }
      retcode = __Pyx_ValidateAndInit_memviewslice(axes_specs, 0,
                                                   PyBUF_RECORDS_RO | writable_flag, 2,
                                                   &__Pyx_TypeInfo_double__const__, stack,
                                                   &result, obj);
      if (unlikely(retcode == -1))
          goto __pyx_fail;
      return result;
  __pyx_fail:
      result.memview = NULL;
      result.data = NULL;
      return result;
  }
  
/* MemviewDtypeToObject */
  static CYTHON_INLINE PyObject *__pyx_memview_get_double__const__(const char *itemp) {
      return (PyObject *) PyFloat_FromDouble(*(double const   *) itemp);
  }
  
/* ObjectToMemviewSlice */
  static CYTHON_INLINE __Pyx_memviewslice __Pyx_PyObject_to_MemoryviewSlice_ds_Py_ssize_t(PyObject *obj, int writable_flag) {
      __Pyx_memviewslice result = __Pyx_MEMSLICE_INIT;
      __Pyx_BufFmt_StackElem stack[1];
      int axes_specs[] = { (__Pyx_MEMVIEW_DIRECT | __Pyx_MEMVIEW_STRIDED) };
      int retcode;
      if (obj == Py_None) {
          result.memview = (struct __pyx_memoryview_obj *) Py_None;
          return result;
      }
      retcode = __Pyx_ValidateAndInit_memviewslice(axes_specs, 0,
                                                   PyBUF_RECORDS_RO | writable_flag, 1,
                                                   &__Pyx_TypeInfo_Py_ssize_t, stack,
                                                   &result, obj);
      if (unlikely(retcode == -1))
          goto __pyx_fail;
      return result;
  __pyx_fail:
      result.memview = NULL;
      result.data = NULL;
      return result;
  }
  
/* MemviewDtypeToObject */
  static CYTHON_INLINE PyObject *__pyx_memview_get_Py_ssize_t(const char *itemp) {
      return (PyObject *) PyLong_FromSsize_t(*(Py_ssize_t const *) itemp);
  }
  static CYTHON_INLINE int __pyx_memview_set_Py_ssize_t(char *itemp, PyObject *obj) {
      Py_ssize_t value = __Pyx_PyIndex_AsSsize_t(obj);
      if (unlikely((value == (Py_ssize_t)-1) && PyErr_Occurred()))
          return 0;
      *(Py_ssize_t *) itemp = value;
      return 1;
  }
  
/* Declarations */
  #if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
    #ifdef __cplusplus
      static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
        return ::std::complex< float >(x, y);
      }
    #else
      static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
        return x + y*(__pyx_t_float_complex)_Complex_I;
      }
    #endif
  #else
      static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
        __pyx_t_float_complex z;
        z.real = x;
        z.imag = y;
        return z;
      }
  #endif
  
/* Arithmetic */
  #if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
  #else
      static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
         return (a.real == b.real) && (a.imag == b.imag);
      }
      static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
          __pyx_t_float_complex z;
          z.real = a.real + b.real;
          z.imag = a.imag + b.imag;
          return z;
      }
      static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
          __pyx_t_float_complex z;
          z.real = a.real - b.real;
          z.imag = a.imag - b.imag;
          return z;
      }
      static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
          __pyx_t_float_complex z;
          z.real = a.real * b.real - a.imag * b.imag;
          z.imag = a.real * b.imag + a.imag * b.real;
          return z;
      }
      #if 1
      static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
          if (b.imag == 0) {
              return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
          } else if (fabsf(b.real) >= fabsf(b.imag)) {
              if (b.real == 0 && b.imag == 0) {
                  return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag);
              } else {
                  float r = b.imag / b.real;
                  float s = (float)(1.0) / (b.real + b.imag * r);
                  return __pyx_t_float_complex_from_parts(
                      (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
              }
          } else {
              float r = b.real / b.imag;
              float s = (float)(1.0) / (b.imag + b.real * r);
              return __pyx_t_float_complex_from_parts(
                  (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
          }
      }
      #else
      static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
          if (b.imag == 0) {
              return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
          } else {
              float denom = b.real * b.real + b.imag * b.imag;
              return __pyx_t_float_complex_from_parts(
                  (a.real * b.real + a.imag * b.imag) / denom,
                  (a.imag * b.real - a.real * b.imag) / denom);
          }
      }
      #endif
      static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) {
          __pyx_t_float_complex z;
          z.real = -a.real;
          z.imag = -a.imag;
          return z;
      }
      static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) {
         return (a.real == 0) && (a.imag == 0);
      }
      static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) {
          __pyx_t_float_complex z;
          z.real =  a.real;
          z.imag = -a.imag;
          return z;
      }
      #if 1
          static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) {
            #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
              return sqrtf(z.real*z.real + z.imag*z.imag);
            #else
              return hypotf(z.real, z.imag);
            #endif
          }
          static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
              __pyx_t_float_complex z;
              float r, lnr, theta, z_r, z_theta;
              if (b.imag == 0 && b.real == (int)b.real) {
                  if (b.real < 0) {
                      float denom = a.real * a.real + a.imag * a.imag;
                      a.real = a.real / denom;
                      a.imag = -a.imag / denom;
                      b.real = -b.real;
                  }
                  switch ((int)b.real) {
                      case 0:
                          z.real = 1;
                          z.imag = 0;
                          return z;
                      case 1:
                          return a;
                      case 2:
                          return __Pyx_c_prod_float(a, a);
                      case 3:
                          z = __Pyx_c_prod_float(a, a);
                          return __Pyx_c_prod_float(z, a);
                      case 4:
                          z = __Pyx_c_prod_float(a, a);
                          return __Pyx_c_prod_float(z, z);
                  }
              }
              if (a.imag == 0) {
                  if (a.real == 0) {
                      return a;
                  } else if ((b.imag == 0) && (a.real >= 0)) {
                      z.real = powf(a.real, b.real);
                      z.imag = 0;
                      return z;
                  } else if (a.real > 0) {
                      r = a.real;
                      theta = 0;
                  } else {
                      r = -a.real;
                      theta = atan2f(0.0, -1.0);
                  }
              } else {
                  r = __Pyx_c_abs_float(a);
                  theta = atan2f(a.imag, a.real);
              }
              lnr = logf(r);
              z_r = expf(lnr * b.real - theta * b.imag);
              z_theta = theta * b.real + lnr * b.imag;
              z.real = z_r * cosf(z_theta);
              z.imag = z_r * sinf(z_theta);
              return z;
          }
      #endif
  #endif
  
/* Declarations */
  #if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
    #ifdef __cplusplus
      static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
        return ::std::complex< double >(x, y);
      }
    #else
      static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
        return x + y*(__pyx_t_double_complex)_Complex_I;
      }
    #endif
  #else
      static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
        __pyx_t_double_complex z;
        z.real = x;
        z.imag = y;
        return z;
      }
  #endif
  
/* Arithmetic */
  #if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
  #else
      static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
         return (a.real == b.real) && (a.imag == b.imag);
      }
      static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
          __pyx_t_double_complex z;
          z.real = a.real + b.real;
          z.imag = a.imag + b.imag;
          return z;
      }
      static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
          __pyx_t_double_complex z;
          z.real = a.real - b.real;
          z.imag = a.imag - b.imag;
          return z;
      }
      static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
          __pyx_t_double_complex z;
          z.real = a.real * b.real - a.imag * b.imag;
          z.imag = a.real * b.imag + a.imag * b.real;
          return z;
      }
      #if 1
      static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
          if (b.imag == 0) {
              return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
          } else if (fabs(b.real) >= fabs(b.imag)) {
              if (b.real == 0 && b.imag == 0) {
                  return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag);
              } else {
                  double r = b.imag / b.real;
                  double s = (double)(1.0) / (b.real + b.imag * r);
                  return __pyx_t_double_complex_from_parts(
                      (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
              }
          } else {
              double r = b.real / b.imag;
              double s = (double)(1.0) / (b.imag + b.real * r);
              return __pyx_t_double_complex_from_parts(
                  (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
          }
      }
      #else
      static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
          if (b.imag == 0) {
              return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
          } else {
              double denom = b.real * b.real + b.imag * b.imag;
              return __pyx_t_double_complex_from_parts(
                  (a.real * b.real + a.imag * b.imag) / denom,
                  (a.imag * b.real - a.real * b.imag) / denom);
          }
      }
      #endif
      static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) {
          __pyx_t_double_complex z;
          z.real = -a.real;
          z.imag = -a.imag;
          return z;
      }
      static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) {
         return (a.real == 0) && (a.imag == 0);
      }
      static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) {
          __pyx_t_double_complex z;
          z.real =  a.real;
          z.imag = -a.imag;
          return z;
      }
      #if 1
          static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) {
            #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
              return sqrt(z.real*z.real + z.imag*z.imag);
            #else
              return hypot(z.real, z.imag);
            #endif
          }
          static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
              __pyx_t_double_complex z;
              double r, lnr, theta, z_r, z_theta;
              if (b.imag == 0 && b.real == (int)b.real) {
                  if (b.real < 0) {
                      double denom = a.real * a.real + a.imag * a.imag;
                      a.real = a.real / denom;
                      a.imag = -a.imag / denom;
                      b.real = -b.real;
                  }
                  switch ((int)b.real) {
                      case 0:
                          z.real = 1;
                          z.imag = 0;
                          return z;
                      case 1:
                          return a;
                      case 2:
                          return __Pyx_c_prod_double(a, a);
                      case 3:
                          z = __Pyx_c_prod_double(a, a);
                          return __Pyx_c_prod_double(z, a);
                      case 4:
                          z = __Pyx_c_prod_double(a, a);
                          return __Pyx_c_prod_double(z, z);
                  }
              }
              if (a.imag == 0) {
                  if (a.real == 0) {
                      return a;
                  } else if ((b.imag == 0) && (a.real >= 0)) {
                      z.real = pow(a.real, b.real);
                      z.imag = 0;
                      return z;
                  } else if (a.real > 0) {
                      r = a.real;
                      theta = 0;
                  } else {
                      r = -a.real;
                      theta = atan2(0.0, -1.0);
                  }
              } else {
                  r = __Pyx_c_abs_double(a);
                  theta = atan2(a.imag, a.real);
              }
              lnr = log(r);
              z_r = exp(lnr * b.real - theta * b.imag);
              z_theta = theta * b.real + lnr * b.imag;
              z.real = z_r * cos(z_theta);
              z.imag = z_r * sin(z_theta);
              return z;
          }
      #endif
  #endif
  
/* Declarations */
  #if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
    #ifdef __cplusplus
      static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(long double x, long double y) {
        return ::std::complex< long double >(x, y);
      }
    #else
      static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(long double x, long double y) {
        return x + y*(__pyx_t_long_double_complex)_Complex_I;
      }
    #endif
  #else
      static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(long double x, long double y) {
        __pyx_t_long_double_complex z;
        z.real = x;
        z.imag = y;
        return z;
      }
  #endif
  
/* Arithmetic */
  #if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
  #else
      static CYTHON_INLINE int __Pyx_c_eq_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
         return (a.real == b.real) && (a.imag == b.imag);
      }
      static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_sum_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
          __pyx_t_long_double_complex z;
          z.real = a.real + b.real;
          z.imag = a.imag + b.imag;
          return z;
      }
      static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_diff_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
          __pyx_t_long_double_complex z;
          z.real = a.real - b.real;
          z.imag = a.imag - b.imag;
          return z;
      }
      static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_prod_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
          __pyx_t_long_double_complex z;
          z.real = a.real * b.real - a.imag * b.imag;
          z.imag = a.real * b.imag + a.imag * b.real;
          return z;
      }
      #if 1
      static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_quot_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
          if (b.imag == 0) {
              return __pyx_t_long_double_complex_from_parts(a.real / b.real, a.imag / b.real);
          } else if (fabsl(b.real) >= fabsl(b.imag)) {
              if (b.real == 0 && b.imag == 0) {
                  return __pyx_t_long_double_complex_from_parts(a.real / b.real, a.imag / b.imag);
              } else {
                  long double r = b.imag / b.real;
                  long double s = (long double)(1.0) / (b.real + b.imag * r);
                  return __pyx_t_long_double_complex_from_parts(
                      (a.real + a.imag * r) * s, (a.imag - a.real * r) * s);
              }
          } else {
              long double r = b.real / b.imag;
              long double s = (long double)(1.0) / (b.imag + b.real * r);
              return __pyx_t_long_double_complex_from_parts(
                  (a.real * r + a.imag) * s, (a.imag * r - a.real) * s);
          }
      }
      #else
      static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_quot_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
          if (b.imag == 0) {
              return __pyx_t_long_double_complex_from_parts(a.real / b.real, a.imag / b.real);
          } else {
              long double denom = b.real * b.real + b.imag * b.imag;
              return __pyx_t_long_double_complex_from_parts(
                  (a.real * b.real + a.imag * b.imag) / denom,
                  (a.imag * b.real - a.real * b.imag) / denom);
          }
      }
      #endif
      static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_neg_long__double(__pyx_t_long_double_complex a) {
          __pyx_t_long_double_complex z;
          z.real = -a.real;
          z.imag = -a.imag;
          return z;
      }
      static CYTHON_INLINE int __Pyx_c_is_zero_long__double(__pyx_t_long_double_complex a) {
         return (a.real == 0) && (a.imag == 0);
      }
      static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_conj_long__double(__pyx_t_long_double_complex a) {
          __pyx_t_long_double_complex z;
          z.real =  a.real;
          z.imag = -a.imag;
          return z;
      }
      #if 1
          static CYTHON_INLINE long double __Pyx_c_abs_long__double(__pyx_t_long_double_complex z) {
            #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
              return sqrtl(z.real*z.real + z.imag*z.imag);
            #else
              return hypotl(z.real, z.imag);
            #endif
          }
          static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_pow_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
              __pyx_t_long_double_complex z;
              long double r, lnr, theta, z_r, z_theta;
              if (b.imag == 0 && b.real == (int)b.real) {
                  if (b.real < 0) {
                      long double denom = a.real * a.real + a.imag * a.imag;
                      a.real = a.real / denom;
                      a.imag = -a.imag / denom;
                      b.real = -b.real;
                  }
                  switch ((int)b.real) {
                      case 0:
                          z.real = 1;
                          z.imag = 0;
                          return z;
                      case 1:
                          return a;
                      case 2:
                          return __Pyx_c_prod_long__double(a, a);
                      case 3:
                          z = __Pyx_c_prod_long__double(a, a);
                          return __Pyx_c_prod_long__double(z, a);
                      case 4:
                          z = __Pyx_c_prod_long__double(a, a);
                          return __Pyx_c_prod_long__double(z, z);
                  }
              }
              if (a.imag == 0) {
                  if (a.real == 0) {
                      return a;
                  } else if ((b.imag == 0) && (a.real >= 0)) {
                      z.real = powl(a.real, b.real);
                      z.imag = 0;
                      return z;
                  } else if (a.real > 0) {
                      r = a.real;
                      theta = 0;
                  } else {
                      r = -a.real;
                      theta = atan2l(0.0, -1.0);
                  }
              } else {
                  r = __Pyx_c_abs_long__double(a);
                  theta = atan2l(a.imag, a.real);
              }
              lnr = logl(r);
              z_r = expl(lnr * b.real - theta * b.imag);
              z_theta = theta * b.real + lnr * b.imag;
              z.real = z_r * cosl(z_theta);
              z.imag = z_r * sinl(z_theta);
              return z;
          }
      #endif
  #endif
  
/* MemviewSliceCopy */
  static __Pyx_memviewslice
  __pyx_memoryview_copy_new_contig(const __Pyx_memviewslice *from_mvs,
                                   const char *mode, int ndim,
                                   size_t sizeof_dtype, int contig_flag,
                                   int dtype_is_object)
  {
      __Pyx_RefNannyDeclarations
      int i;
      __Pyx_memviewslice new_mvs = __Pyx_MEMSLICE_INIT;
      struct __pyx_memoryview_obj *from_memview = from_mvs->memview;
      Py_buffer *buf = &from_memview->view;
      PyObject *shape_tuple = NULL;
      PyObject *temp_int = NULL;
      struct __pyx_array_obj *array_obj = NULL;
      struct __pyx_memoryview_obj *memview_obj = NULL;
      __Pyx_RefNannySetupContext("__pyx_memoryview_copy_new_contig", 0);
      for (i = 0; i < ndim; i++) {
          if (unlikely(from_mvs->suboffsets[i] >= 0)) {
              PyErr_Format(PyExc_ValueError, "Cannot copy memoryview slice with "
                                             "indirect dimensions (axis %d)", i);
              goto fail;
          }
      }
      shape_tuple = PyTuple_New(ndim);
      if (unlikely(!shape_tuple)) {
          goto fail;
      }
      __Pyx_GOTREF(shape_tuple);
      for(i = 0; i < ndim; i++) {
          temp_int = PyLong_FromSsize_t(from_mvs->shape[i]);
          if(unlikely(!temp_int)) {
              goto fail;
          } else {
  #if CYTHON_ASSUME_SAFE_MACROS
              PyTuple_SET_ITEM(shape_tuple, i, temp_int);
  #else
              if (PyTuple_SetItem(shape_tuple, i, temp_int) < 0) {
                  goto fail;
              }
  #endif
              temp_int = NULL;
          }
      }
      array_obj = __pyx_array_new(shape_tuple, sizeof_dtype, buf->format, mode, NULL);
      if (unlikely(!array_obj)) {
          goto fail;
      }
      __Pyx_GOTREF(array_obj);
      memview_obj = (struct __pyx_memoryview_obj *) __pyx_memoryview_new(
                                      (PyObject *) array_obj, contig_flag,
                                      dtype_is_object,
                                      from_mvs->memview->typeinfo);
      if (unlikely(!memview_obj))
          goto fail;
      if (unlikely(__Pyx_init_memviewslice(memview_obj, ndim, &new_mvs, 1) < 0))
          goto fail;
      if (unlikely(__pyx_memoryview_copy_contents(*from_mvs, new_mvs, ndim, ndim,
                                                  dtype_is_object) < 0))
          goto fail;
      goto no_fail;
  fail:
      __Pyx_XDECREF((PyObject *) new_mvs.memview);
      new_mvs.memview = NULL;
      new_mvs.data = NULL;
  no_fail:
      __Pyx_XDECREF(shape_tuple);
      __Pyx_XDECREF(temp_int);
      __Pyx_XDECREF((PyObject *) array_obj);
      __Pyx_RefNannyFinishContext();
      return new_mvs;
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_int(int value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const int neg_one = (int) -1, const_zero = (int) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(int) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(int) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(int) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(int),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(int));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_BOUNDTYPE(SCIP_BOUNDTYPE value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_BOUNDTYPE neg_one = (SCIP_BOUNDTYPE) -1, const_zero = (SCIP_BOUNDTYPE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_BOUNDTYPE) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_BOUNDTYPE) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_BOUNDTYPE) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_BOUNDTYPE) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_BOUNDTYPE) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_BOUNDTYPE),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_BOUNDTYPE));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_RESULT(SCIP_RESULT value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_RESULT neg_one = (SCIP_RESULT) -1, const_zero = (SCIP_RESULT) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_RESULT) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_RESULT) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_RESULT) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_RESULT) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_RESULT) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_RESULT),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_RESULT));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_PARAMSETTING(SCIP_PARAMSETTING value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_PARAMSETTING neg_one = (SCIP_PARAMSETTING) -1, const_zero = (SCIP_PARAMSETTING) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_PARAMSETTING) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_PARAMSETTING) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_PARAMSETTING) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_PARAMSETTING) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_PARAMSETTING) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_PARAMSETTING),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_PARAMSETTING));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_LPPARAM(SCIP_LPPARAM value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_LPPARAM neg_one = (SCIP_LPPARAM) -1, const_zero = (SCIP_LPPARAM) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_LPPARAM) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_LPPARAM) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_LPPARAM) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_LPPARAM) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_LPPARAM) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_LPPARAM),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_LPPARAM));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_PARAMEMPHASIS(SCIP_PARAMEMPHASIS value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_PARAMEMPHASIS neg_one = (SCIP_PARAMEMPHASIS) -1, const_zero = (SCIP_PARAMEMPHASIS) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_PARAMEMPHASIS) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_PARAMEMPHASIS) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_PARAMEMPHASIS) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_PARAMEMPHASIS) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_PARAMEMPHASIS) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_PARAMEMPHASIS),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_PARAMEMPHASIS));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_STATUS(SCIP_STATUS value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_STATUS neg_one = (SCIP_STATUS) -1, const_zero = (SCIP_STATUS) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_STATUS) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_STATUS) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_STATUS) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_STATUS) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_STATUS) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_STATUS),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_STATUS));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_STAGE(SCIP_STAGE value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_STAGE neg_one = (SCIP_STAGE) -1, const_zero = (SCIP_STAGE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_STAGE) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_STAGE) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_STAGE) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_STAGE) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_STAGE) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_STAGE),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_STAGE));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_NODETYPE(SCIP_NODETYPE value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_NODETYPE neg_one = (SCIP_NODETYPE) -1, const_zero = (SCIP_NODETYPE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_NODETYPE) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_NODETYPE) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_NODETYPE) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_NODETYPE) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_NODETYPE) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_NODETYPE),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_NODETYPE));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_PROPTIMING(SCIP_PROPTIMING value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_PROPTIMING neg_one = (SCIP_PROPTIMING) -1, const_zero = (SCIP_PROPTIMING) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_PROPTIMING) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_PROPTIMING) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_PROPTIMING) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_PROPTIMING) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_PROPTIMING) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_PROPTIMING),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_PROPTIMING));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_PRESOLTIMING(SCIP_PRESOLTIMING value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_PRESOLTIMING neg_one = (SCIP_PRESOLTIMING) -1, const_zero = (SCIP_PRESOLTIMING) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_PRESOLTIMING) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_PRESOLTIMING) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_PRESOLTIMING) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_PRESOLTIMING) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_PRESOLTIMING) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_PRESOLTIMING),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_PRESOLTIMING));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_HEURTIMING(SCIP_HEURTIMING value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_HEURTIMING neg_one = (SCIP_HEURTIMING) -1, const_zero = (SCIP_HEURTIMING) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_HEURTIMING) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_HEURTIMING) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_HEURTIMING) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_HEURTIMING) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_HEURTIMING) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_HEURTIMING),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_HEURTIMING));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_EVENTTYPE(SCIP_EVENTTYPE value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_EVENTTYPE neg_one = (SCIP_EVENTTYPE) -1, const_zero = (SCIP_EVENTTYPE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_EVENTTYPE) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_EVENTTYPE) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_EVENTTYPE) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_EVENTTYPE) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_EVENTTYPE) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_EVENTTYPE),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_EVENTTYPE));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_LOCKTYPE(SCIP_LOCKTYPE value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_LOCKTYPE neg_one = (SCIP_LOCKTYPE) -1, const_zero = (SCIP_LOCKTYPE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_LOCKTYPE) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_LOCKTYPE) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_LOCKTYPE) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_LOCKTYPE) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_LOCKTYPE) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_LOCKTYPE),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_LOCKTYPE));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_IMPLINTTYPE(SCIP_IMPLINTTYPE value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_IMPLINTTYPE neg_one = (SCIP_IMPLINTTYPE) -1, const_zero = (SCIP_IMPLINTTYPE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_IMPLINTTYPE) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_IMPLINTTYPE) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_IMPLINTTYPE) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_IMPLINTTYPE) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_IMPLINTTYPE) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_IMPLINTTYPE),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_IMPLINTTYPE));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_LPSOLSTAT(SCIP_LPSOLSTAT value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_LPSOLSTAT neg_one = (SCIP_LPSOLSTAT) -1, const_zero = (SCIP_LPSOLSTAT) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_LPSOLSTAT) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_LPSOLSTAT) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_LPSOLSTAT) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_LPSOLSTAT) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_LPSOLSTAT) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_LPSOLSTAT),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_LPSOLSTAT));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_BRANCHDIR(SCIP_BRANCHDIR value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_BRANCHDIR neg_one = (SCIP_BRANCHDIR) -1, const_zero = (SCIP_BRANCHDIR) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_BRANCHDIR) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_BRANCHDIR) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_BRANCHDIR) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_BRANCHDIR) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_BRANCHDIR) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_BRANCHDIR),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_BRANCHDIR));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_BENDERSENFOTYPE(SCIP_BENDERSENFOTYPE value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_BENDERSENFOTYPE neg_one = (SCIP_BENDERSENFOTYPE) -1, const_zero = (SCIP_BENDERSENFOTYPE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_BENDERSENFOTYPE) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_BENDERSENFOTYPE) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_BENDERSENFOTYPE) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_BENDERSENFOTYPE) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_BENDERSENFOTYPE) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_BENDERSENFOTYPE),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_BENDERSENFOTYPE));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_ROWORIGINTYPE(SCIP_ROWORIGINTYPE value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_ROWORIGINTYPE neg_one = (SCIP_ROWORIGINTYPE) -1, const_zero = (SCIP_ROWORIGINTYPE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_ROWORIGINTYPE) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_ROWORIGINTYPE) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_ROWORIGINTYPE) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_ROWORIGINTYPE) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_ROWORIGINTYPE) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_ROWORIGINTYPE),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_ROWORIGINTYPE));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_SOLORIGIN(SCIP_SOLORIGIN value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_SOLORIGIN neg_one = (SCIP_SOLORIGIN) -1, const_zero = (SCIP_SOLORIGIN) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_SOLORIGIN) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_SOLORIGIN) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_SOLORIGIN) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_SOLORIGIN) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_SOLORIGIN) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_SOLORIGIN),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_SOLORIGIN));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntFromPy */
  static CYTHON_INLINE SCIP_RETCODE __Pyx_PyLong_As_SCIP_RETCODE(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_RETCODE neg_one = (SCIP_RETCODE) -1, const_zero = (SCIP_RETCODE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          SCIP_RETCODE val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (SCIP_RETCODE) -1;
          val = __Pyx_PyLong_As_SCIP_RETCODE(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_RETCODE, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(SCIP_RETCODE) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RETCODE, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RETCODE) >= 2 * PyLong_SHIFT)) {
                              return (SCIP_RETCODE) (((((SCIP_RETCODE)digits[1]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_RETCODE) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RETCODE, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RETCODE) >= 3 * PyLong_SHIFT)) {
                              return (SCIP_RETCODE) (((((((SCIP_RETCODE)digits[2]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[1]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_RETCODE) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RETCODE, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RETCODE) >= 4 * PyLong_SHIFT)) {
                              return (SCIP_RETCODE) (((((((((SCIP_RETCODE)digits[3]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[2]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[1]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (SCIP_RETCODE) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(SCIP_RETCODE) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_RETCODE, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(SCIP_RETCODE) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_RETCODE, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_RETCODE, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(SCIP_RETCODE) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RETCODE, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RETCODE) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_RETCODE) (((SCIP_RETCODE)-1)*(((((SCIP_RETCODE)digits[1]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(SCIP_RETCODE) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RETCODE, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RETCODE) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_RETCODE) ((((((SCIP_RETCODE)digits[1]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(SCIP_RETCODE) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RETCODE, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RETCODE) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_RETCODE) (((SCIP_RETCODE)-1)*(((((((SCIP_RETCODE)digits[2]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[1]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_RETCODE) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RETCODE, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RETCODE) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_RETCODE) ((((((((SCIP_RETCODE)digits[2]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[1]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(SCIP_RETCODE) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RETCODE, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RETCODE) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_RETCODE) (((SCIP_RETCODE)-1)*(((((((((SCIP_RETCODE)digits[3]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[2]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[1]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_RETCODE) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RETCODE, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RETCODE) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_RETCODE) ((((((((((SCIP_RETCODE)digits[3]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[2]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[1]) << PyLong_SHIFT) | (SCIP_RETCODE)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(SCIP_RETCODE) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_RETCODE, long, PyLong_AsLong(x))
          } else if ((sizeof(SCIP_RETCODE) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_RETCODE, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          SCIP_RETCODE val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (SCIP_RETCODE) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (SCIP_RETCODE) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (SCIP_RETCODE) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (SCIP_RETCODE) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(SCIP_RETCODE) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((SCIP_RETCODE) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(SCIP_RETCODE) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((SCIP_RETCODE) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((SCIP_RETCODE) 1) << (sizeof(SCIP_RETCODE) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (SCIP_RETCODE) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to SCIP_RETCODE");
      return (SCIP_RETCODE) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to SCIP_RETCODE");
      return (SCIP_RETCODE) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE int __Pyx_PyLong_As_int(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const int neg_one = (int) -1, const_zero = (int) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          int val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (int) -1;
          val = __Pyx_PyLong_As_int(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) {
                              return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) {
                              return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) {
                              return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (int) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(int) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                              return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                              return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                              return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                              return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
                              return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
                              return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(int) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
          } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          int val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (int) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (int) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (int) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (int) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((int) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((int) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (int) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to int");
      return (int) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to int");
      return (int) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE long __Pyx_PyLong_As_long(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const long neg_one = (long) -1, const_zero = (long) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          long val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (long) -1;
          val = __Pyx_PyLong_As_long(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) {
                              return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) {
                              return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) {
                              return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (long) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(long) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                              return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                              return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                              return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                              return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
                              return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
                              return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(long) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
          } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          long val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (long) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (long) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (long) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (long) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((long) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((long) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (long) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to long");
      return (long) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to long");
      return (long) -1;
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_long(long value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const long neg_one = (long) -1, const_zero = (long) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(long) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(long) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(long) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(long),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_RETCODE(SCIP_RETCODE value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_RETCODE neg_one = (SCIP_RETCODE) -1, const_zero = (SCIP_RETCODE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_RETCODE) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_RETCODE) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_RETCODE) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_RETCODE) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_RETCODE) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_RETCODE),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_RETCODE));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntFromPy */
  static CYTHON_INLINE size_t __Pyx_PyLong_As_size_t(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const size_t neg_one = (size_t) -1, const_zero = (size_t) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          size_t val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (size_t) -1;
          val = __Pyx_PyLong_As_size_t(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(size_t, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(size_t) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(size_t) >= 2 * PyLong_SHIFT)) {
                              return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(size_t) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(size_t) >= 3 * PyLong_SHIFT)) {
                              return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(size_t) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(size_t) >= 4 * PyLong_SHIFT)) {
                              return (size_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (size_t) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(size_t) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(size_t, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                              return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(size_t) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                              return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                              return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(size_t) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                              return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT)) {
                              return (size_t) (((size_t)-1)*(((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(size_t) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(size_t) - 1 > 4 * PyLong_SHIFT)) {
                              return (size_t) ((((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(size_t) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x))
          } else if ((sizeof(size_t) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(size_t, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          size_t val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (size_t) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (size_t) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (size_t) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (size_t) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(size_t) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((size_t) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(size_t) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((size_t) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((size_t) 1) << (sizeof(size_t) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (size_t) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to size_t");
      return (size_t) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to size_t");
      return (size_t) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE SCIP_LPPARAM __Pyx_PyLong_As_SCIP_LPPARAM(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_LPPARAM neg_one = (SCIP_LPPARAM) -1, const_zero = (SCIP_LPPARAM) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          SCIP_LPPARAM val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (SCIP_LPPARAM) -1;
          val = __Pyx_PyLong_As_SCIP_LPPARAM(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_LPPARAM, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(SCIP_LPPARAM) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LPPARAM, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LPPARAM) >= 2 * PyLong_SHIFT)) {
                              return (SCIP_LPPARAM) (((((SCIP_LPPARAM)digits[1]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_LPPARAM) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LPPARAM, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LPPARAM) >= 3 * PyLong_SHIFT)) {
                              return (SCIP_LPPARAM) (((((((SCIP_LPPARAM)digits[2]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[1]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_LPPARAM) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LPPARAM, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LPPARAM) >= 4 * PyLong_SHIFT)) {
                              return (SCIP_LPPARAM) (((((((((SCIP_LPPARAM)digits[3]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[2]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[1]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (SCIP_LPPARAM) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(SCIP_LPPARAM) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_LPPARAM, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(SCIP_LPPARAM) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_LPPARAM, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_LPPARAM, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(SCIP_LPPARAM) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LPPARAM, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LPPARAM) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_LPPARAM) (((SCIP_LPPARAM)-1)*(((((SCIP_LPPARAM)digits[1]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(SCIP_LPPARAM) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LPPARAM, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LPPARAM) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_LPPARAM) ((((((SCIP_LPPARAM)digits[1]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(SCIP_LPPARAM) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LPPARAM, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LPPARAM) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_LPPARAM) (((SCIP_LPPARAM)-1)*(((((((SCIP_LPPARAM)digits[2]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[1]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_LPPARAM) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LPPARAM, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LPPARAM) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_LPPARAM) ((((((((SCIP_LPPARAM)digits[2]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[1]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(SCIP_LPPARAM) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LPPARAM, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LPPARAM) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_LPPARAM) (((SCIP_LPPARAM)-1)*(((((((((SCIP_LPPARAM)digits[3]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[2]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[1]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_LPPARAM) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LPPARAM, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LPPARAM) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_LPPARAM) ((((((((((SCIP_LPPARAM)digits[3]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[2]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[1]) << PyLong_SHIFT) | (SCIP_LPPARAM)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(SCIP_LPPARAM) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_LPPARAM, long, PyLong_AsLong(x))
          } else if ((sizeof(SCIP_LPPARAM) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_LPPARAM, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          SCIP_LPPARAM val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (SCIP_LPPARAM) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (SCIP_LPPARAM) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (SCIP_LPPARAM) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (SCIP_LPPARAM) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(SCIP_LPPARAM) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((SCIP_LPPARAM) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(SCIP_LPPARAM) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((SCIP_LPPARAM) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((SCIP_LPPARAM) 1) << (sizeof(SCIP_LPPARAM) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (SCIP_LPPARAM) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to SCIP_LPPARAM");
      return (SCIP_LPPARAM) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to SCIP_LPPARAM");
      return (SCIP_LPPARAM) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE SCIP_RESULT __Pyx_PyLong_As_SCIP_RESULT(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_RESULT neg_one = (SCIP_RESULT) -1, const_zero = (SCIP_RESULT) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          SCIP_RESULT val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (SCIP_RESULT) -1;
          val = __Pyx_PyLong_As_SCIP_RESULT(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_RESULT, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(SCIP_RESULT) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RESULT, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RESULT) >= 2 * PyLong_SHIFT)) {
                              return (SCIP_RESULT) (((((SCIP_RESULT)digits[1]) << PyLong_SHIFT) | (SCIP_RESULT)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_RESULT) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RESULT, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RESULT) >= 3 * PyLong_SHIFT)) {
                              return (SCIP_RESULT) (((((((SCIP_RESULT)digits[2]) << PyLong_SHIFT) | (SCIP_RESULT)digits[1]) << PyLong_SHIFT) | (SCIP_RESULT)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_RESULT) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RESULT, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RESULT) >= 4 * PyLong_SHIFT)) {
                              return (SCIP_RESULT) (((((((((SCIP_RESULT)digits[3]) << PyLong_SHIFT) | (SCIP_RESULT)digits[2]) << PyLong_SHIFT) | (SCIP_RESULT)digits[1]) << PyLong_SHIFT) | (SCIP_RESULT)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (SCIP_RESULT) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(SCIP_RESULT) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_RESULT, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(SCIP_RESULT) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_RESULT, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_RESULT, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(SCIP_RESULT) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RESULT, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RESULT) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_RESULT) (((SCIP_RESULT)-1)*(((((SCIP_RESULT)digits[1]) << PyLong_SHIFT) | (SCIP_RESULT)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(SCIP_RESULT) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RESULT, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RESULT) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_RESULT) ((((((SCIP_RESULT)digits[1]) << PyLong_SHIFT) | (SCIP_RESULT)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(SCIP_RESULT) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RESULT, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RESULT) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_RESULT) (((SCIP_RESULT)-1)*(((((((SCIP_RESULT)digits[2]) << PyLong_SHIFT) | (SCIP_RESULT)digits[1]) << PyLong_SHIFT) | (SCIP_RESULT)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_RESULT) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RESULT, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RESULT) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_RESULT) ((((((((SCIP_RESULT)digits[2]) << PyLong_SHIFT) | (SCIP_RESULT)digits[1]) << PyLong_SHIFT) | (SCIP_RESULT)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(SCIP_RESULT) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RESULT, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RESULT) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_RESULT) (((SCIP_RESULT)-1)*(((((((((SCIP_RESULT)digits[3]) << PyLong_SHIFT) | (SCIP_RESULT)digits[2]) << PyLong_SHIFT) | (SCIP_RESULT)digits[1]) << PyLong_SHIFT) | (SCIP_RESULT)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_RESULT) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_RESULT, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_RESULT) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_RESULT) ((((((((((SCIP_RESULT)digits[3]) << PyLong_SHIFT) | (SCIP_RESULT)digits[2]) << PyLong_SHIFT) | (SCIP_RESULT)digits[1]) << PyLong_SHIFT) | (SCIP_RESULT)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(SCIP_RESULT) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_RESULT, long, PyLong_AsLong(x))
          } else if ((sizeof(SCIP_RESULT) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_RESULT, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          SCIP_RESULT val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (SCIP_RESULT) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (SCIP_RESULT) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (SCIP_RESULT) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (SCIP_RESULT) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(SCIP_RESULT) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((SCIP_RESULT) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(SCIP_RESULT) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((SCIP_RESULT) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((SCIP_RESULT) 1) << (sizeof(SCIP_RESULT) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (SCIP_RESULT) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to SCIP_RESULT");
      return (SCIP_RESULT) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to SCIP_RESULT");
      return (SCIP_RESULT) -1;
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_OBJSENSE(SCIP_OBJSENSE value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_OBJSENSE neg_one = (SCIP_OBJSENSE) -1, const_zero = (SCIP_OBJSENSE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_OBJSENSE) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_OBJSENSE) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_OBJSENSE) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_OBJSENSE) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_OBJSENSE) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_OBJSENSE),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_OBJSENSE));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_npy_intp(npy_intp value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const npy_intp neg_one = (npy_intp) -1, const_zero = (npy_intp) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(npy_intp) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(npy_intp) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(npy_intp) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(npy_intp) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(npy_intp) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(npy_intp),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(npy_intp));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_BOUNDCHGTYPE(SCIP_BOUNDCHGTYPE value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_BOUNDCHGTYPE neg_one = (SCIP_BOUNDCHGTYPE) -1, const_zero = (SCIP_BOUNDCHGTYPE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_BOUNDCHGTYPE) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_BOUNDCHGTYPE) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_BOUNDCHGTYPE) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_BOUNDCHGTYPE) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_BOUNDCHGTYPE) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_BOUNDCHGTYPE),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_BOUNDCHGTYPE));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntToPy */
  static CYTHON_INLINE PyObject* __Pyx_PyLong_From_SCIP_Longint(SCIP_Longint value) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_Longint neg_one = (SCIP_Longint) -1, const_zero = (SCIP_Longint) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (is_unsigned) {
          if (sizeof(SCIP_Longint) < sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_Longint) <= sizeof(unsigned long)) {
              return PyLong_FromUnsignedLong((unsigned long) value);
  #if !CYTHON_COMPILING_IN_PYPY
          } else if (sizeof(SCIP_Longint) <= sizeof(unsigned PY_LONG_LONG)) {
              return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
  #endif
          }
      } else {
          if (sizeof(SCIP_Longint) <= sizeof(long)) {
              return PyLong_FromLong((long) value);
          } else if (sizeof(SCIP_Longint) <= sizeof(PY_LONG_LONG)) {
              return PyLong_FromLongLong((PY_LONG_LONG) value);
          }
      }
      {
          unsigned char *bytes = (unsigned char *)&value;
  #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
          if (is_unsigned) {
              return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
          } else {
              return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
          }
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
          int one = 1; int little = (int)*(unsigned char *)&one;
          return _PyLong_FromByteArray(bytes, sizeof(SCIP_Longint),
                                       little, !is_unsigned);
  #else
          int one = 1; int little = (int)*(unsigned char *)&one;
          PyObject *from_bytes, *result = NULL, *kwds = NULL;
          PyObject *py_bytes = NULL, *order_str = NULL;
          from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
          if (!from_bytes) return NULL;
          py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(SCIP_Longint));
          if (!py_bytes) goto limited_bad;
          order_str = PyUnicode_FromString(little ? "little" : "big");
          if (!order_str) goto limited_bad;
          {
              PyObject *args[3+(CYTHON_VECTORCALL ? 1 : 0)] = { NULL, py_bytes, order_str };
              if (!is_unsigned) {
                  kwds = __Pyx_MakeVectorcallBuilderKwds(1);
                  if (!kwds) goto limited_bad;
                  if (__Pyx_VectorcallBuilder_AddArgStr("signed", __Pyx_NewRef(Py_True), kwds, args+3, 0) < 0) goto limited_bad;
              }
              result = __Pyx_Object_Vectorcall_CallFromBuilder(from_bytes, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
          }
          limited_bad:
          Py_XDECREF(kwds);
          Py_XDECREF(order_str);
          Py_XDECREF(py_bytes);
          Py_XDECREF(from_bytes);
          return result;
  #endif
      }
  }
  
/* CIntFromPy */
  static CYTHON_INLINE SCIP_LOCKTYPE __Pyx_PyLong_As_SCIP_LOCKTYPE(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_LOCKTYPE neg_one = (SCIP_LOCKTYPE) -1, const_zero = (SCIP_LOCKTYPE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          SCIP_LOCKTYPE val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (SCIP_LOCKTYPE) -1;
          val = __Pyx_PyLong_As_SCIP_LOCKTYPE(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_LOCKTYPE, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(SCIP_LOCKTYPE) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LOCKTYPE, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LOCKTYPE) >= 2 * PyLong_SHIFT)) {
                              return (SCIP_LOCKTYPE) (((((SCIP_LOCKTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_LOCKTYPE) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LOCKTYPE, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LOCKTYPE) >= 3 * PyLong_SHIFT)) {
                              return (SCIP_LOCKTYPE) (((((((SCIP_LOCKTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_LOCKTYPE) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LOCKTYPE, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LOCKTYPE) >= 4 * PyLong_SHIFT)) {
                              return (SCIP_LOCKTYPE) (((((((((SCIP_LOCKTYPE)digits[3]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (SCIP_LOCKTYPE) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(SCIP_LOCKTYPE) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_LOCKTYPE, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(SCIP_LOCKTYPE) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_LOCKTYPE, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_LOCKTYPE, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(SCIP_LOCKTYPE) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LOCKTYPE, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LOCKTYPE) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_LOCKTYPE) (((SCIP_LOCKTYPE)-1)*(((((SCIP_LOCKTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(SCIP_LOCKTYPE) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LOCKTYPE, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LOCKTYPE) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_LOCKTYPE) ((((((SCIP_LOCKTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(SCIP_LOCKTYPE) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LOCKTYPE, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LOCKTYPE) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_LOCKTYPE) (((SCIP_LOCKTYPE)-1)*(((((((SCIP_LOCKTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_LOCKTYPE) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LOCKTYPE, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LOCKTYPE) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_LOCKTYPE) ((((((((SCIP_LOCKTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(SCIP_LOCKTYPE) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LOCKTYPE, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LOCKTYPE) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_LOCKTYPE) (((SCIP_LOCKTYPE)-1)*(((((((((SCIP_LOCKTYPE)digits[3]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_LOCKTYPE) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_LOCKTYPE, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_LOCKTYPE) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_LOCKTYPE) ((((((((((SCIP_LOCKTYPE)digits[3]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_LOCKTYPE)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(SCIP_LOCKTYPE) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_LOCKTYPE, long, PyLong_AsLong(x))
          } else if ((sizeof(SCIP_LOCKTYPE) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_LOCKTYPE, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          SCIP_LOCKTYPE val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (SCIP_LOCKTYPE) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (SCIP_LOCKTYPE) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (SCIP_LOCKTYPE) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (SCIP_LOCKTYPE) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(SCIP_LOCKTYPE) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((SCIP_LOCKTYPE) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(SCIP_LOCKTYPE) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((SCIP_LOCKTYPE) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((SCIP_LOCKTYPE) 1) << (sizeof(SCIP_LOCKTYPE) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (SCIP_LOCKTYPE) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to SCIP_LOCKTYPE");
      return (SCIP_LOCKTYPE) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to SCIP_LOCKTYPE");
      return (SCIP_LOCKTYPE) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE SCIP_BRANCHDIR __Pyx_PyLong_As_SCIP_BRANCHDIR(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_BRANCHDIR neg_one = (SCIP_BRANCHDIR) -1, const_zero = (SCIP_BRANCHDIR) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          SCIP_BRANCHDIR val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (SCIP_BRANCHDIR) -1;
          val = __Pyx_PyLong_As_SCIP_BRANCHDIR(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_BRANCHDIR, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(SCIP_BRANCHDIR) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BRANCHDIR, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BRANCHDIR) >= 2 * PyLong_SHIFT)) {
                              return (SCIP_BRANCHDIR) (((((SCIP_BRANCHDIR)digits[1]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_BRANCHDIR) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BRANCHDIR, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BRANCHDIR) >= 3 * PyLong_SHIFT)) {
                              return (SCIP_BRANCHDIR) (((((((SCIP_BRANCHDIR)digits[2]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[1]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_BRANCHDIR) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BRANCHDIR, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BRANCHDIR) >= 4 * PyLong_SHIFT)) {
                              return (SCIP_BRANCHDIR) (((((((((SCIP_BRANCHDIR)digits[3]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[2]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[1]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (SCIP_BRANCHDIR) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(SCIP_BRANCHDIR) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_BRANCHDIR, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(SCIP_BRANCHDIR) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_BRANCHDIR, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_BRANCHDIR, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(SCIP_BRANCHDIR) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BRANCHDIR, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BRANCHDIR) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_BRANCHDIR) (((SCIP_BRANCHDIR)-1)*(((((SCIP_BRANCHDIR)digits[1]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(SCIP_BRANCHDIR) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BRANCHDIR, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BRANCHDIR) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_BRANCHDIR) ((((((SCIP_BRANCHDIR)digits[1]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(SCIP_BRANCHDIR) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BRANCHDIR, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BRANCHDIR) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_BRANCHDIR) (((SCIP_BRANCHDIR)-1)*(((((((SCIP_BRANCHDIR)digits[2]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[1]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_BRANCHDIR) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BRANCHDIR, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BRANCHDIR) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_BRANCHDIR) ((((((((SCIP_BRANCHDIR)digits[2]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[1]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(SCIP_BRANCHDIR) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BRANCHDIR, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BRANCHDIR) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_BRANCHDIR) (((SCIP_BRANCHDIR)-1)*(((((((((SCIP_BRANCHDIR)digits[3]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[2]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[1]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_BRANCHDIR) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BRANCHDIR, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BRANCHDIR) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_BRANCHDIR) ((((((((((SCIP_BRANCHDIR)digits[3]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[2]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[1]) << PyLong_SHIFT) | (SCIP_BRANCHDIR)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(SCIP_BRANCHDIR) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_BRANCHDIR, long, PyLong_AsLong(x))
          } else if ((sizeof(SCIP_BRANCHDIR) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_BRANCHDIR, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          SCIP_BRANCHDIR val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (SCIP_BRANCHDIR) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (SCIP_BRANCHDIR) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (SCIP_BRANCHDIR) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (SCIP_BRANCHDIR) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(SCIP_BRANCHDIR) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((SCIP_BRANCHDIR) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(SCIP_BRANCHDIR) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((SCIP_BRANCHDIR) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((SCIP_BRANCHDIR) 1) << (sizeof(SCIP_BRANCHDIR) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (SCIP_BRANCHDIR) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to SCIP_BRANCHDIR");
      return (SCIP_BRANCHDIR) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to SCIP_BRANCHDIR");
      return (SCIP_BRANCHDIR) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE SCIP_PARAMSETTING __Pyx_PyLong_As_SCIP_PARAMSETTING(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_PARAMSETTING neg_one = (SCIP_PARAMSETTING) -1, const_zero = (SCIP_PARAMSETTING) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          SCIP_PARAMSETTING val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (SCIP_PARAMSETTING) -1;
          val = __Pyx_PyLong_As_SCIP_PARAMSETTING(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_PARAMSETTING, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(SCIP_PARAMSETTING) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMSETTING, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMSETTING) >= 2 * PyLong_SHIFT)) {
                              return (SCIP_PARAMSETTING) (((((SCIP_PARAMSETTING)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_PARAMSETTING) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMSETTING, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMSETTING) >= 3 * PyLong_SHIFT)) {
                              return (SCIP_PARAMSETTING) (((((((SCIP_PARAMSETTING)digits[2]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_PARAMSETTING) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMSETTING, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMSETTING) >= 4 * PyLong_SHIFT)) {
                              return (SCIP_PARAMSETTING) (((((((((SCIP_PARAMSETTING)digits[3]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[2]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (SCIP_PARAMSETTING) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(SCIP_PARAMSETTING) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PARAMSETTING, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(SCIP_PARAMSETTING) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PARAMSETTING, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_PARAMSETTING, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(SCIP_PARAMSETTING) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMSETTING, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMSETTING) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_PARAMSETTING) (((SCIP_PARAMSETTING)-1)*(((((SCIP_PARAMSETTING)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(SCIP_PARAMSETTING) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMSETTING, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMSETTING) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_PARAMSETTING) ((((((SCIP_PARAMSETTING)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(SCIP_PARAMSETTING) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMSETTING, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMSETTING) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_PARAMSETTING) (((SCIP_PARAMSETTING)-1)*(((((((SCIP_PARAMSETTING)digits[2]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_PARAMSETTING) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMSETTING, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMSETTING) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_PARAMSETTING) ((((((((SCIP_PARAMSETTING)digits[2]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(SCIP_PARAMSETTING) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMSETTING, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMSETTING) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_PARAMSETTING) (((SCIP_PARAMSETTING)-1)*(((((((((SCIP_PARAMSETTING)digits[3]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[2]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_PARAMSETTING) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMSETTING, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMSETTING) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_PARAMSETTING) ((((((((((SCIP_PARAMSETTING)digits[3]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[2]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMSETTING)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(SCIP_PARAMSETTING) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PARAMSETTING, long, PyLong_AsLong(x))
          } else if ((sizeof(SCIP_PARAMSETTING) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PARAMSETTING, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          SCIP_PARAMSETTING val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (SCIP_PARAMSETTING) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (SCIP_PARAMSETTING) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (SCIP_PARAMSETTING) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (SCIP_PARAMSETTING) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(SCIP_PARAMSETTING) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((SCIP_PARAMSETTING) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(SCIP_PARAMSETTING) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((SCIP_PARAMSETTING) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((SCIP_PARAMSETTING) 1) << (sizeof(SCIP_PARAMSETTING) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (SCIP_PARAMSETTING) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to SCIP_PARAMSETTING");
      return (SCIP_PARAMSETTING) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to SCIP_PARAMSETTING");
      return (SCIP_PARAMSETTING) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE SCIP_HEURTIMING __Pyx_PyLong_As_SCIP_HEURTIMING(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_HEURTIMING neg_one = (SCIP_HEURTIMING) -1, const_zero = (SCIP_HEURTIMING) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          SCIP_HEURTIMING val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (SCIP_HEURTIMING) -1;
          val = __Pyx_PyLong_As_SCIP_HEURTIMING(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_HEURTIMING, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(SCIP_HEURTIMING) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_HEURTIMING, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_HEURTIMING) >= 2 * PyLong_SHIFT)) {
                              return (SCIP_HEURTIMING) (((((SCIP_HEURTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_HEURTIMING) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_HEURTIMING, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_HEURTIMING) >= 3 * PyLong_SHIFT)) {
                              return (SCIP_HEURTIMING) (((((((SCIP_HEURTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_HEURTIMING) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_HEURTIMING, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_HEURTIMING) >= 4 * PyLong_SHIFT)) {
                              return (SCIP_HEURTIMING) (((((((((SCIP_HEURTIMING)digits[3]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (SCIP_HEURTIMING) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(SCIP_HEURTIMING) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_HEURTIMING, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(SCIP_HEURTIMING) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_HEURTIMING, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_HEURTIMING, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(SCIP_HEURTIMING) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_HEURTIMING, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_HEURTIMING) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_HEURTIMING) (((SCIP_HEURTIMING)-1)*(((((SCIP_HEURTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(SCIP_HEURTIMING) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_HEURTIMING, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_HEURTIMING) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_HEURTIMING) ((((((SCIP_HEURTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(SCIP_HEURTIMING) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_HEURTIMING, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_HEURTIMING) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_HEURTIMING) (((SCIP_HEURTIMING)-1)*(((((((SCIP_HEURTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_HEURTIMING) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_HEURTIMING, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_HEURTIMING) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_HEURTIMING) ((((((((SCIP_HEURTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(SCIP_HEURTIMING) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_HEURTIMING, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_HEURTIMING) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_HEURTIMING) (((SCIP_HEURTIMING)-1)*(((((((((SCIP_HEURTIMING)digits[3]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_HEURTIMING) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_HEURTIMING, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_HEURTIMING) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_HEURTIMING) ((((((((((SCIP_HEURTIMING)digits[3]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_HEURTIMING)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(SCIP_HEURTIMING) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_HEURTIMING, long, PyLong_AsLong(x))
          } else if ((sizeof(SCIP_HEURTIMING) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_HEURTIMING, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          SCIP_HEURTIMING val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (SCIP_HEURTIMING) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (SCIP_HEURTIMING) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (SCIP_HEURTIMING) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (SCIP_HEURTIMING) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(SCIP_HEURTIMING) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((SCIP_HEURTIMING) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(SCIP_HEURTIMING) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((SCIP_HEURTIMING) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((SCIP_HEURTIMING) 1) << (sizeof(SCIP_HEURTIMING) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (SCIP_HEURTIMING) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to SCIP_HEURTIMING");
      return (SCIP_HEURTIMING) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to SCIP_HEURTIMING");
      return (SCIP_HEURTIMING) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE char __Pyx_PyLong_As_char(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const char neg_one = (char) -1, const_zero = (char) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          char val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (char) -1;
          val = __Pyx_PyLong_As_char(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(char, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(char) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(char) >= 2 * PyLong_SHIFT)) {
                              return (char) (((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(char) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(char) >= 3 * PyLong_SHIFT)) {
                              return (char) (((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(char) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(char) >= 4 * PyLong_SHIFT)) {
                              return (char) (((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (char) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(char) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(char, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(char) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(char, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(char, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(char) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(char) - 1 > 2 * PyLong_SHIFT)) {
                              return (char) (((char)-1)*(((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(char) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(char) - 1 > 2 * PyLong_SHIFT)) {
                              return (char) ((((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(char) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(char) - 1 > 3 * PyLong_SHIFT)) {
                              return (char) (((char)-1)*(((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(char) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(char) - 1 > 3 * PyLong_SHIFT)) {
                              return (char) ((((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(char) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(char, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(char) - 1 > 4 * PyLong_SHIFT)) {
                              return (char) (((char)-1)*(((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(char) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(char, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(char) - 1 > 4 * PyLong_SHIFT)) {
                              return (char) ((((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(char) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(char, long, PyLong_AsLong(x))
          } else if ((sizeof(char) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(char, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          char val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (char) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (char) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (char) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (char) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(char) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((char) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(char) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((char) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((char) 1) << (sizeof(char) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (char) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to char");
      return (char) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to char");
      return (char) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE SCIP_Longint __Pyx_PyLong_As_SCIP_Longint(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_Longint neg_one = (SCIP_Longint) -1, const_zero = (SCIP_Longint) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          SCIP_Longint val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (SCIP_Longint) -1;
          val = __Pyx_PyLong_As_SCIP_Longint(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_Longint, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(SCIP_Longint) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_Longint, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_Longint) >= 2 * PyLong_SHIFT)) {
                              return (SCIP_Longint) (((((SCIP_Longint)digits[1]) << PyLong_SHIFT) | (SCIP_Longint)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_Longint) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_Longint, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_Longint) >= 3 * PyLong_SHIFT)) {
                              return (SCIP_Longint) (((((((SCIP_Longint)digits[2]) << PyLong_SHIFT) | (SCIP_Longint)digits[1]) << PyLong_SHIFT) | (SCIP_Longint)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_Longint) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_Longint, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_Longint) >= 4 * PyLong_SHIFT)) {
                              return (SCIP_Longint) (((((((((SCIP_Longint)digits[3]) << PyLong_SHIFT) | (SCIP_Longint)digits[2]) << PyLong_SHIFT) | (SCIP_Longint)digits[1]) << PyLong_SHIFT) | (SCIP_Longint)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (SCIP_Longint) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(SCIP_Longint) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_Longint, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(SCIP_Longint) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_Longint, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_Longint, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(SCIP_Longint) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_Longint, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_Longint) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_Longint) (((SCIP_Longint)-1)*(((((SCIP_Longint)digits[1]) << PyLong_SHIFT) | (SCIP_Longint)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(SCIP_Longint) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_Longint, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_Longint) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_Longint) ((((((SCIP_Longint)digits[1]) << PyLong_SHIFT) | (SCIP_Longint)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(SCIP_Longint) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_Longint, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_Longint) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_Longint) (((SCIP_Longint)-1)*(((((((SCIP_Longint)digits[2]) << PyLong_SHIFT) | (SCIP_Longint)digits[1]) << PyLong_SHIFT) | (SCIP_Longint)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_Longint) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_Longint, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_Longint) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_Longint) ((((((((SCIP_Longint)digits[2]) << PyLong_SHIFT) | (SCIP_Longint)digits[1]) << PyLong_SHIFT) | (SCIP_Longint)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(SCIP_Longint) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_Longint, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_Longint) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_Longint) (((SCIP_Longint)-1)*(((((((((SCIP_Longint)digits[3]) << PyLong_SHIFT) | (SCIP_Longint)digits[2]) << PyLong_SHIFT) | (SCIP_Longint)digits[1]) << PyLong_SHIFT) | (SCIP_Longint)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_Longint) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_Longint, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_Longint) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_Longint) ((((((((((SCIP_Longint)digits[3]) << PyLong_SHIFT) | (SCIP_Longint)digits[2]) << PyLong_SHIFT) | (SCIP_Longint)digits[1]) << PyLong_SHIFT) | (SCIP_Longint)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(SCIP_Longint) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_Longint, long, PyLong_AsLong(x))
          } else if ((sizeof(SCIP_Longint) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_Longint, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          SCIP_Longint val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (SCIP_Longint) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (SCIP_Longint) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (SCIP_Longint) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (SCIP_Longint) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(SCIP_Longint) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((SCIP_Longint) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(SCIP_Longint) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((SCIP_Longint) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((SCIP_Longint) 1) << (sizeof(SCIP_Longint) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (SCIP_Longint) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to SCIP_Longint");
      return (SCIP_Longint) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to SCIP_Longint");
      return (SCIP_Longint) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE SCIP_BENDERSENFOTYPE __Pyx_PyLong_As_SCIP_BENDERSENFOTYPE(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_BENDERSENFOTYPE neg_one = (SCIP_BENDERSENFOTYPE) -1, const_zero = (SCIP_BENDERSENFOTYPE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          SCIP_BENDERSENFOTYPE val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (SCIP_BENDERSENFOTYPE) -1;
          val = __Pyx_PyLong_As_SCIP_BENDERSENFOTYPE(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_BENDERSENFOTYPE, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(SCIP_BENDERSENFOTYPE) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BENDERSENFOTYPE, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BENDERSENFOTYPE) >= 2 * PyLong_SHIFT)) {
                              return (SCIP_BENDERSENFOTYPE) (((((SCIP_BENDERSENFOTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_BENDERSENFOTYPE) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BENDERSENFOTYPE, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BENDERSENFOTYPE) >= 3 * PyLong_SHIFT)) {
                              return (SCIP_BENDERSENFOTYPE) (((((((SCIP_BENDERSENFOTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_BENDERSENFOTYPE) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BENDERSENFOTYPE, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BENDERSENFOTYPE) >= 4 * PyLong_SHIFT)) {
                              return (SCIP_BENDERSENFOTYPE) (((((((((SCIP_BENDERSENFOTYPE)digits[3]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (SCIP_BENDERSENFOTYPE) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(SCIP_BENDERSENFOTYPE) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_BENDERSENFOTYPE, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(SCIP_BENDERSENFOTYPE) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_BENDERSENFOTYPE, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_BENDERSENFOTYPE, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(SCIP_BENDERSENFOTYPE) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BENDERSENFOTYPE, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BENDERSENFOTYPE) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_BENDERSENFOTYPE) (((SCIP_BENDERSENFOTYPE)-1)*(((((SCIP_BENDERSENFOTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(SCIP_BENDERSENFOTYPE) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BENDERSENFOTYPE, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BENDERSENFOTYPE) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_BENDERSENFOTYPE) ((((((SCIP_BENDERSENFOTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(SCIP_BENDERSENFOTYPE) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BENDERSENFOTYPE, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BENDERSENFOTYPE) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_BENDERSENFOTYPE) (((SCIP_BENDERSENFOTYPE)-1)*(((((((SCIP_BENDERSENFOTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_BENDERSENFOTYPE) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BENDERSENFOTYPE, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BENDERSENFOTYPE) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_BENDERSENFOTYPE) ((((((((SCIP_BENDERSENFOTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(SCIP_BENDERSENFOTYPE) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BENDERSENFOTYPE, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BENDERSENFOTYPE) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_BENDERSENFOTYPE) (((SCIP_BENDERSENFOTYPE)-1)*(((((((((SCIP_BENDERSENFOTYPE)digits[3]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_BENDERSENFOTYPE) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_BENDERSENFOTYPE, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_BENDERSENFOTYPE) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_BENDERSENFOTYPE) ((((((((((SCIP_BENDERSENFOTYPE)digits[3]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_BENDERSENFOTYPE)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(SCIP_BENDERSENFOTYPE) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_BENDERSENFOTYPE, long, PyLong_AsLong(x))
          } else if ((sizeof(SCIP_BENDERSENFOTYPE) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_BENDERSENFOTYPE, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          SCIP_BENDERSENFOTYPE val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (SCIP_BENDERSENFOTYPE) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (SCIP_BENDERSENFOTYPE) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (SCIP_BENDERSENFOTYPE) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (SCIP_BENDERSENFOTYPE) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(SCIP_BENDERSENFOTYPE) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((SCIP_BENDERSENFOTYPE) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(SCIP_BENDERSENFOTYPE) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((SCIP_BENDERSENFOTYPE) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((SCIP_BENDERSENFOTYPE) 1) << (sizeof(SCIP_BENDERSENFOTYPE) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (SCIP_BENDERSENFOTYPE) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to SCIP_BENDERSENFOTYPE");
      return (SCIP_BENDERSENFOTYPE) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to SCIP_BENDERSENFOTYPE");
      return (SCIP_BENDERSENFOTYPE) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE SCIP_PROPTIMING __Pyx_PyLong_As_SCIP_PROPTIMING(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_PROPTIMING neg_one = (SCIP_PROPTIMING) -1, const_zero = (SCIP_PROPTIMING) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          SCIP_PROPTIMING val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (SCIP_PROPTIMING) -1;
          val = __Pyx_PyLong_As_SCIP_PROPTIMING(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_PROPTIMING, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(SCIP_PROPTIMING) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PROPTIMING, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PROPTIMING) >= 2 * PyLong_SHIFT)) {
                              return (SCIP_PROPTIMING) (((((SCIP_PROPTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_PROPTIMING) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PROPTIMING, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PROPTIMING) >= 3 * PyLong_SHIFT)) {
                              return (SCIP_PROPTIMING) (((((((SCIP_PROPTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_PROPTIMING) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PROPTIMING, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PROPTIMING) >= 4 * PyLong_SHIFT)) {
                              return (SCIP_PROPTIMING) (((((((((SCIP_PROPTIMING)digits[3]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (SCIP_PROPTIMING) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(SCIP_PROPTIMING) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PROPTIMING, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(SCIP_PROPTIMING) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PROPTIMING, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_PROPTIMING, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(SCIP_PROPTIMING) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PROPTIMING, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PROPTIMING) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_PROPTIMING) (((SCIP_PROPTIMING)-1)*(((((SCIP_PROPTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(SCIP_PROPTIMING) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PROPTIMING, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PROPTIMING) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_PROPTIMING) ((((((SCIP_PROPTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(SCIP_PROPTIMING) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PROPTIMING, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PROPTIMING) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_PROPTIMING) (((SCIP_PROPTIMING)-1)*(((((((SCIP_PROPTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_PROPTIMING) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PROPTIMING, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PROPTIMING) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_PROPTIMING) ((((((((SCIP_PROPTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(SCIP_PROPTIMING) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PROPTIMING, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PROPTIMING) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_PROPTIMING) (((SCIP_PROPTIMING)-1)*(((((((((SCIP_PROPTIMING)digits[3]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_PROPTIMING) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PROPTIMING, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PROPTIMING) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_PROPTIMING) ((((((((((SCIP_PROPTIMING)digits[3]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PROPTIMING)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(SCIP_PROPTIMING) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PROPTIMING, long, PyLong_AsLong(x))
          } else if ((sizeof(SCIP_PROPTIMING) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PROPTIMING, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          SCIP_PROPTIMING val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (SCIP_PROPTIMING) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (SCIP_PROPTIMING) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (SCIP_PROPTIMING) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (SCIP_PROPTIMING) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(SCIP_PROPTIMING) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((SCIP_PROPTIMING) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(SCIP_PROPTIMING) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((SCIP_PROPTIMING) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((SCIP_PROPTIMING) 1) << (sizeof(SCIP_PROPTIMING) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (SCIP_PROPTIMING) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to SCIP_PROPTIMING");
      return (SCIP_PROPTIMING) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to SCIP_PROPTIMING");
      return (SCIP_PROPTIMING) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE SCIP_PRESOLTIMING __Pyx_PyLong_As_SCIP_PRESOLTIMING(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_PRESOLTIMING neg_one = (SCIP_PRESOLTIMING) -1, const_zero = (SCIP_PRESOLTIMING) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          SCIP_PRESOLTIMING val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (SCIP_PRESOLTIMING) -1;
          val = __Pyx_PyLong_As_SCIP_PRESOLTIMING(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_PRESOLTIMING, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(SCIP_PRESOLTIMING) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PRESOLTIMING, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PRESOLTIMING) >= 2 * PyLong_SHIFT)) {
                              return (SCIP_PRESOLTIMING) (((((SCIP_PRESOLTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_PRESOLTIMING) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PRESOLTIMING, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PRESOLTIMING) >= 3 * PyLong_SHIFT)) {
                              return (SCIP_PRESOLTIMING) (((((((SCIP_PRESOLTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_PRESOLTIMING) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PRESOLTIMING, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PRESOLTIMING) >= 4 * PyLong_SHIFT)) {
                              return (SCIP_PRESOLTIMING) (((((((((SCIP_PRESOLTIMING)digits[3]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (SCIP_PRESOLTIMING) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(SCIP_PRESOLTIMING) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PRESOLTIMING, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(SCIP_PRESOLTIMING) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PRESOLTIMING, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_PRESOLTIMING, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(SCIP_PRESOLTIMING) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PRESOLTIMING, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PRESOLTIMING) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_PRESOLTIMING) (((SCIP_PRESOLTIMING)-1)*(((((SCIP_PRESOLTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(SCIP_PRESOLTIMING) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PRESOLTIMING, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PRESOLTIMING) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_PRESOLTIMING) ((((((SCIP_PRESOLTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(SCIP_PRESOLTIMING) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PRESOLTIMING, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PRESOLTIMING) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_PRESOLTIMING) (((SCIP_PRESOLTIMING)-1)*(((((((SCIP_PRESOLTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_PRESOLTIMING) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PRESOLTIMING, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PRESOLTIMING) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_PRESOLTIMING) ((((((((SCIP_PRESOLTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(SCIP_PRESOLTIMING) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PRESOLTIMING, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PRESOLTIMING) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_PRESOLTIMING) (((SCIP_PRESOLTIMING)-1)*(((((((((SCIP_PRESOLTIMING)digits[3]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_PRESOLTIMING) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PRESOLTIMING, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PRESOLTIMING) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_PRESOLTIMING) ((((((((((SCIP_PRESOLTIMING)digits[3]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[2]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[1]) << PyLong_SHIFT) | (SCIP_PRESOLTIMING)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(SCIP_PRESOLTIMING) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PRESOLTIMING, long, PyLong_AsLong(x))
          } else if ((sizeof(SCIP_PRESOLTIMING) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PRESOLTIMING, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          SCIP_PRESOLTIMING val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (SCIP_PRESOLTIMING) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (SCIP_PRESOLTIMING) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (SCIP_PRESOLTIMING) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (SCIP_PRESOLTIMING) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(SCIP_PRESOLTIMING) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((SCIP_PRESOLTIMING) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(SCIP_PRESOLTIMING) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((SCIP_PRESOLTIMING) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((SCIP_PRESOLTIMING) 1) << (sizeof(SCIP_PRESOLTIMING) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (SCIP_PRESOLTIMING) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to SCIP_PRESOLTIMING");
      return (SCIP_PRESOLTIMING) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to SCIP_PRESOLTIMING");
      return (SCIP_PRESOLTIMING) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE unsigned int __Pyx_PyLong_As_unsigned_int(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          unsigned int val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (unsigned int) -1;
          val = __Pyx_PyLong_As_unsigned_int(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(unsigned int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(unsigned int) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(unsigned int) >= 2 * PyLong_SHIFT)) {
                              return (unsigned int) (((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(unsigned int) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(unsigned int) >= 3 * PyLong_SHIFT)) {
                              return (unsigned int) (((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(unsigned int) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(unsigned int) >= 4 * PyLong_SHIFT)) {
                              return (unsigned int) (((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (unsigned int) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(unsigned int) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(unsigned int) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(unsigned int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(unsigned int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(unsigned int) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                              return (unsigned int) (((unsigned int)-1)*(((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(unsigned int) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                              return (unsigned int) ((((((unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(unsigned int) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                              return (unsigned int) (((unsigned int)-1)*(((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(unsigned int) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                              return (unsigned int) ((((((((unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(unsigned int) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(unsigned int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT)) {
                              return (unsigned int) (((unsigned int)-1)*(((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(unsigned int) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(unsigned int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(unsigned int) - 1 > 4 * PyLong_SHIFT)) {
                              return (unsigned int) ((((((((((unsigned int)digits[3]) << PyLong_SHIFT) | (unsigned int)digits[2]) << PyLong_SHIFT) | (unsigned int)digits[1]) << PyLong_SHIFT) | (unsigned int)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(unsigned int) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(unsigned int, long, PyLong_AsLong(x))
          } else if ((sizeof(unsigned int) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(unsigned int, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          unsigned int val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (unsigned int) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (unsigned int) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (unsigned int) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (unsigned int) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(unsigned int) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((unsigned int) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(unsigned int) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((unsigned int) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((unsigned int) 1) << (sizeof(unsigned int) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (unsigned int) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to unsigned int");
      return (unsigned int) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to unsigned int");
      return (unsigned int) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE SCIP_EVENTTYPE __Pyx_PyLong_As_SCIP_EVENTTYPE(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_EVENTTYPE neg_one = (SCIP_EVENTTYPE) -1, const_zero = (SCIP_EVENTTYPE) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          SCIP_EVENTTYPE val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (SCIP_EVENTTYPE) -1;
          val = __Pyx_PyLong_As_SCIP_EVENTTYPE(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_EVENTTYPE, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(SCIP_EVENTTYPE) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_EVENTTYPE, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_EVENTTYPE) >= 2 * PyLong_SHIFT)) {
                              return (SCIP_EVENTTYPE) (((((SCIP_EVENTTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_EVENTTYPE) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_EVENTTYPE, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_EVENTTYPE) >= 3 * PyLong_SHIFT)) {
                              return (SCIP_EVENTTYPE) (((((((SCIP_EVENTTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_EVENTTYPE) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_EVENTTYPE, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_EVENTTYPE) >= 4 * PyLong_SHIFT)) {
                              return (SCIP_EVENTTYPE) (((((((((SCIP_EVENTTYPE)digits[3]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (SCIP_EVENTTYPE) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(SCIP_EVENTTYPE) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_EVENTTYPE, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(SCIP_EVENTTYPE) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_EVENTTYPE, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_EVENTTYPE, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(SCIP_EVENTTYPE) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_EVENTTYPE, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_EVENTTYPE) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_EVENTTYPE) (((SCIP_EVENTTYPE)-1)*(((((SCIP_EVENTTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(SCIP_EVENTTYPE) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_EVENTTYPE, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_EVENTTYPE) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_EVENTTYPE) ((((((SCIP_EVENTTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(SCIP_EVENTTYPE) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_EVENTTYPE, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_EVENTTYPE) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_EVENTTYPE) (((SCIP_EVENTTYPE)-1)*(((((((SCIP_EVENTTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_EVENTTYPE) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_EVENTTYPE, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_EVENTTYPE) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_EVENTTYPE) ((((((((SCIP_EVENTTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(SCIP_EVENTTYPE) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_EVENTTYPE, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_EVENTTYPE) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_EVENTTYPE) (((SCIP_EVENTTYPE)-1)*(((((((((SCIP_EVENTTYPE)digits[3]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_EVENTTYPE) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_EVENTTYPE, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_EVENTTYPE) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_EVENTTYPE) ((((((((((SCIP_EVENTTYPE)digits[3]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[2]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[1]) << PyLong_SHIFT) | (SCIP_EVENTTYPE)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(SCIP_EVENTTYPE) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_EVENTTYPE, long, PyLong_AsLong(x))
          } else if ((sizeof(SCIP_EVENTTYPE) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_EVENTTYPE, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          SCIP_EVENTTYPE val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (SCIP_EVENTTYPE) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (SCIP_EVENTTYPE) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (SCIP_EVENTTYPE) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (SCIP_EVENTTYPE) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(SCIP_EVENTTYPE) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((SCIP_EVENTTYPE) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(SCIP_EVENTTYPE) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((SCIP_EVENTTYPE) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((SCIP_EVENTTYPE) 1) << (sizeof(SCIP_EVENTTYPE) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (SCIP_EVENTTYPE) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to SCIP_EVENTTYPE");
      return (SCIP_EVENTTYPE) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to SCIP_EVENTTYPE");
      return (SCIP_EVENTTYPE) -1;
  }
  
/* CIntFromPy */
  static CYTHON_INLINE SCIP_PARAMEMPHASIS __Pyx_PyLong_As_SCIP_PARAMEMPHASIS(PyObject *x) {
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wconversion"
  #endif
      const SCIP_PARAMEMPHASIS neg_one = (SCIP_PARAMEMPHASIS) -1, const_zero = (SCIP_PARAMEMPHASIS) 0;
  #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
  #pragma GCC diagnostic pop
  #endif
      const int is_unsigned = neg_one > const_zero;
      if (unlikely(!PyLong_Check(x))) {
          SCIP_PARAMEMPHASIS val;
          PyObject *tmp = __Pyx_PyNumber_Long(x);
          if (!tmp) return (SCIP_PARAMEMPHASIS) -1;
          val = __Pyx_PyLong_As_SCIP_PARAMEMPHASIS(tmp);
          Py_DECREF(tmp);
          return val;
      }
      if (is_unsigned) {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (unlikely(__Pyx_PyLong_IsNeg(x))) {
              goto raise_neg_overflow;
          } else if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_PARAMEMPHASIS, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_DigitCount(x)) {
                  case 2:
                      if ((8 * sizeof(SCIP_PARAMEMPHASIS) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMEMPHASIS, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMEMPHASIS) >= 2 * PyLong_SHIFT)) {
                              return (SCIP_PARAMEMPHASIS) (((((SCIP_PARAMEMPHASIS)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[0]));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_PARAMEMPHASIS) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMEMPHASIS, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMEMPHASIS) >= 3 * PyLong_SHIFT)) {
                              return (SCIP_PARAMEMPHASIS) (((((((SCIP_PARAMEMPHASIS)digits[2]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[0]));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_PARAMEMPHASIS) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMEMPHASIS, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMEMPHASIS) >= 4 * PyLong_SHIFT)) {
                              return (SCIP_PARAMEMPHASIS) (((((((((SCIP_PARAMEMPHASIS)digits[3]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[2]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[0]));
                          }
                      }
                      break;
              }
          }
  #endif
  #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
          if (unlikely(Py_SIZE(x) < 0)) {
              goto raise_neg_overflow;
          }
  #else
          {
              int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
              if (unlikely(result < 0))
                  return (SCIP_PARAMEMPHASIS) -1;
              if (unlikely(result == 1))
                  goto raise_neg_overflow;
          }
  #endif
          if ((sizeof(SCIP_PARAMEMPHASIS) <= sizeof(unsigned long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PARAMEMPHASIS, unsigned long, PyLong_AsUnsignedLong(x))
          } else if ((sizeof(SCIP_PARAMEMPHASIS) <= sizeof(unsigned PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PARAMEMPHASIS, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
          }
      } else {
  #if CYTHON_USE_PYLONG_INTERNALS
          if (__Pyx_PyLong_IsCompact(x)) {
              __PYX_VERIFY_RETURN_INT(SCIP_PARAMEMPHASIS, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
          } else {
              const digit* digits = __Pyx_PyLong_Digits(x);
              assert(__Pyx_PyLong_DigitCount(x) > 1);
              switch (__Pyx_PyLong_SignedDigitCount(x)) {
                  case -2:
                      if ((8 * sizeof(SCIP_PARAMEMPHASIS) - 1 > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMEMPHASIS, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMEMPHASIS) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_PARAMEMPHASIS) (((SCIP_PARAMEMPHASIS)-1)*(((((SCIP_PARAMEMPHASIS)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[0])));
                          }
                      }
                      break;
                  case 2:
                      if ((8 * sizeof(SCIP_PARAMEMPHASIS) > 1 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMEMPHASIS, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMEMPHASIS) - 1 > 2 * PyLong_SHIFT)) {
                              return (SCIP_PARAMEMPHASIS) ((((((SCIP_PARAMEMPHASIS)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[0])));
                          }
                      }
                      break;
                  case -3:
                      if ((8 * sizeof(SCIP_PARAMEMPHASIS) - 1 > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMEMPHASIS, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMEMPHASIS) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_PARAMEMPHASIS) (((SCIP_PARAMEMPHASIS)-1)*(((((((SCIP_PARAMEMPHASIS)digits[2]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[0])));
                          }
                      }
                      break;
                  case 3:
                      if ((8 * sizeof(SCIP_PARAMEMPHASIS) > 2 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMEMPHASIS, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMEMPHASIS) - 1 > 3 * PyLong_SHIFT)) {
                              return (SCIP_PARAMEMPHASIS) ((((((((SCIP_PARAMEMPHASIS)digits[2]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[0])));
                          }
                      }
                      break;
                  case -4:
                      if ((8 * sizeof(SCIP_PARAMEMPHASIS) - 1 > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMEMPHASIS, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMEMPHASIS) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_PARAMEMPHASIS) (((SCIP_PARAMEMPHASIS)-1)*(((((((((SCIP_PARAMEMPHASIS)digits[3]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[2]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[0])));
                          }
                      }
                      break;
                  case 4:
                      if ((8 * sizeof(SCIP_PARAMEMPHASIS) > 3 * PyLong_SHIFT)) {
                          if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
                              __PYX_VERIFY_RETURN_INT(SCIP_PARAMEMPHASIS, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
                          } else if ((8 * sizeof(SCIP_PARAMEMPHASIS) - 1 > 4 * PyLong_SHIFT)) {
                              return (SCIP_PARAMEMPHASIS) ((((((((((SCIP_PARAMEMPHASIS)digits[3]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[2]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[1]) << PyLong_SHIFT) | (SCIP_PARAMEMPHASIS)digits[0])));
                          }
                      }
                      break;
              }
          }
  #endif
          if ((sizeof(SCIP_PARAMEMPHASIS) <= sizeof(long))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PARAMEMPHASIS, long, PyLong_AsLong(x))
          } else if ((sizeof(SCIP_PARAMEMPHASIS) <= sizeof(PY_LONG_LONG))) {
              __PYX_VERIFY_RETURN_INT_EXC(SCIP_PARAMEMPHASIS, PY_LONG_LONG, PyLong_AsLongLong(x))
          }
      }
      {
          SCIP_PARAMEMPHASIS val;
          int ret = -1;
  #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
          Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
              x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
          if (unlikely(bytes_copied == -1)) {
          } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
              goto raise_overflow;
          } else {
              ret = 0;
          }
  #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
          int one = 1; int is_little = (int)*(unsigned char *)&one;
          unsigned char *bytes = (unsigned char *)&val;
          ret = _PyLong_AsByteArray((PyLongObject *)x,
                                      bytes, sizeof(val),
                                      is_little, !is_unsigned);
  #else
          PyObject *v;
          PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
          int bits, remaining_bits, is_negative = 0;
          int chunk_size = (sizeof(long) < 8) ? 30 : 62;
          if (likely(PyLong_CheckExact(x))) {
              v = __Pyx_NewRef(x);
          } else {
              v = PyNumber_Long(x);
              if (unlikely(!v)) return (SCIP_PARAMEMPHASIS) -1;
              assert(PyLong_CheckExact(v));
          }
          {
              int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
              if (unlikely(result < 0)) {
                  Py_DECREF(v);
                  return (SCIP_PARAMEMPHASIS) -1;
              }
              is_negative = result == 1;
          }
          if (is_unsigned && unlikely(is_negative)) {
              Py_DECREF(v);
              goto raise_neg_overflow;
          } else if (is_negative) {
              stepval = PyNumber_Invert(v);
              Py_DECREF(v);
              if (unlikely(!stepval))
                  return (SCIP_PARAMEMPHASIS) -1;
          } else {
              stepval = v;
          }
          v = NULL;
          val = (SCIP_PARAMEMPHASIS) 0;
          mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
          shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
          for (bits = 0; bits < (int) sizeof(SCIP_PARAMEMPHASIS) * 8 - chunk_size; bits += chunk_size) {
              PyObject *tmp, *digit;
              long idigit;
              digit = PyNumber_And(stepval, mask);
              if (unlikely(!digit)) goto done;
              idigit = PyLong_AsLong(digit);
              Py_DECREF(digit);
              if (unlikely(idigit < 0)) goto done;
              val |= ((SCIP_PARAMEMPHASIS) idigit) << bits;
              tmp = PyNumber_Rshift(stepval, shift);
              if (unlikely(!tmp)) goto done;
              Py_DECREF(stepval); stepval = tmp;
          }
          Py_DECREF(shift); shift = NULL;
          Py_DECREF(mask); mask = NULL;
          {
              long idigit = PyLong_AsLong(stepval);
              if (unlikely(idigit < 0)) goto done;
              remaining_bits = ((int) sizeof(SCIP_PARAMEMPHASIS) * 8) - bits - (is_unsigned ? 0 : 1);
              if (unlikely(idigit >= (1L << remaining_bits)))
                  goto raise_overflow;
              val |= ((SCIP_PARAMEMPHASIS) idigit) << bits;
          }
          if (!is_unsigned) {
              if (unlikely(val & (((SCIP_PARAMEMPHASIS) 1) << (sizeof(SCIP_PARAMEMPHASIS) * 8 - 1))))
                  goto raise_overflow;
              if (is_negative)
                  val = ~val;
          }
          ret = 0;
      done:
          Py_XDECREF(shift);
          Py_XDECREF(mask);
          Py_XDECREF(stepval);
  #endif
          if (unlikely(ret))
              return (SCIP_PARAMEMPHASIS) -1;
          return val;
      }
  raise_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "value too large to convert to SCIP_PARAMEMPHASIS");
      return (SCIP_PARAMEMPHASIS) -1;
  raise_neg_overflow:
      PyErr_SetString(PyExc_OverflowError,
          "can't convert negative value to SCIP_PARAMEMPHASIS");
      return (SCIP_PARAMEMPHASIS) -1;
  }
  
/* UpdateUnpickledDict */
  static int __Pyx__UpdateUnpickledDict(PyObject *obj, PyObject *state, Py_ssize_t index) {
      PyObject *state_dict = __Pyx_PySequence_ITEM(state, index);
      if (unlikely(!state_dict)) {
          return -1;
      }
      int non_empty = PyObject_IsTrue(state_dict);
      if (non_empty == 0) {
          Py_DECREF(state_dict);
          return 0;
      } else if (unlikely(non_empty == -1)) {
          return -1;
      }
      PyObject *dict;
      #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
      dict = PyObject_GetAttrString(obj, "__dict__");
      #else
      dict = PyObject_GenericGetDict(obj, NULL);
      #endif
      if (unlikely(!dict)) {
          Py_DECREF(state_dict);
          return -1;
      }
      int result;
      if (likely(PyDict_CheckExact(dict))) {
          result = PyDict_Update(dict, state_dict);
      } else {
          PyObject *obj_result = __Pyx_PyObject_CallMethod1(dict, __pyx_mstate_global->__pyx_n_u_update, state_dict);
          if (likely(obj_result)) {
              Py_DECREF(obj_result);
              result = 0;
          } else {
              result = -1;
          }
      }
      Py_DECREF(state_dict);
      Py_DECREF(dict);
      return result;
  }
  static int __Pyx_UpdateUnpickledDict(PyObject *obj, PyObject *state, Py_ssize_t index) {
      Py_ssize_t state_size = __Pyx_PyTuple_GET_SIZE(state);
      #if !CYTHON_ASSUME_SAFE_SIZE
      if (unlikely(state_size == -1)) return -1;
      #endif
      if (state_size <= index) {
          return 0;
      }
      return __Pyx__UpdateUnpickledDict(obj, state, index);
  }
  
/* FormatTypeName */
  #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
  static __Pyx_TypeName
  __Pyx_PyType_GetFullyQualifiedName(PyTypeObject* tp)
  {
      PyObject *module = NULL, *name = NULL, *result = NULL;
      #if __PYX_LIMITED_VERSION_HEX < 0x030b0000
      name = __Pyx_PyObject_GetAttrStr((PyObject *)tp,
                                                 __pyx_mstate_global->__pyx_n_u_qualname);
      #else
      name = PyType_GetQualName(tp);
      #endif
      if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) goto bad;
      module = __Pyx_PyObject_GetAttrStr((PyObject *)tp,
                                                 __pyx_mstate_global->__pyx_n_u_module);
      if (unlikely(module == NULL) || unlikely(!PyUnicode_Check(module))) goto bad;
      if (PyUnicode_CompareWithASCIIString(module, "builtins") == 0) {
          result = name;
          name = NULL;
          goto done;
      }
      result = PyUnicode_FromFormat("%U.%U", module, name);
      if (unlikely(result == NULL)) goto bad;
    done:
      Py_XDECREF(name);
      Py_XDECREF(module);
      return result;
    bad:
      PyErr_Clear();
      if (name) {
          result = name;
          name = NULL;
      } else {
          result = __Pyx_NewRef(__pyx_mstate_global->__pyx_kp_u__29);
      }
      goto done;
  }
  #endif
  
/* GetRuntimeVersion */
  #if __PYX_LIMITED_VERSION_HEX < 0x030b0000
  void __Pyx_init_runtime_version(void) {
      if (__Pyx_cached_runtime_version == 0) {
          const char* rt_version = Py_GetVersion();
          unsigned long version = 0;
          unsigned long factor = 0x01000000UL;
          unsigned int digit = 0;
          int i = 0;
          while (factor) {
              while ('0' <= rt_version[i] && rt_version[i] <= '9') {
                  digit = digit * 10 + (unsigned int) (rt_version[i] - '0');
                  ++i;
              }
              version += factor * digit;
              if (rt_version[i] != '.')
                  break;
              digit = 0;
              factor >>= 8;
              ++i;
          }
          __Pyx_cached_runtime_version = version;
      }
  }
  #endif
  static unsigned long __Pyx_get_runtime_version(void) {
  #if __PYX_LIMITED_VERSION_HEX >= 0x030b0000
      return Py_Version & ~0xFFUL;
  #else
      return __Pyx_cached_runtime_version;
  #endif
  }
  
/* IterNextPlain (used by CoroutineBase) */
  #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
  static PyObject *__Pyx_GetBuiltinNext_LimitedAPI(void) {
      if (unlikely(!__pyx_mstate_global->__Pyx_GetBuiltinNext_LimitedAPI_cache))
          __pyx_mstate_global->__Pyx_GetBuiltinNext_LimitedAPI_cache = __Pyx_GetBuiltinName(__pyx_mstate_global->__pyx_n_u_next);
      return __pyx_mstate_global->__Pyx_GetBuiltinNext_LimitedAPI_cache;
  }
  #endif
  static CYTHON_INLINE PyObject *__Pyx_PyIter_Next_Plain(PyObject *iterator) {
  #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
      PyObject *result;
      PyObject *next = __Pyx_GetBuiltinNext_LimitedAPI();
      if (unlikely(!next)) return NULL;
      result = PyObject_CallFunctionObjArgs(next, iterator, NULL);
      return result;
  #else
      (void)__Pyx_GetBuiltinName; // only for early limited API
      iternextfunc iternext = __Pyx_PyObject_GetIterNextFunc(iterator);
      assert(iternext);
      return iternext(iterator);
  #endif
  }
  
/* ReturnWithStopIteration (used by CoroutineBase) */
  static void __Pyx__ReturnWithStopIteration(PyObject* value, int async);
  static CYTHON_INLINE void __Pyx_ReturnWithStopIteration(PyObject* value, int async, int iternext) {
      if (value == Py_None) {
          if (async || !iternext)
              PyErr_SetNone(async ? PyExc_StopAsyncIteration : PyExc_StopIteration);
          return;
      }
      __Pyx__ReturnWithStopIteration(value, async);
  }
  static void __Pyx__ReturnWithStopIteration(PyObject* value, int async) {
  #if CYTHON_COMPILING_IN_CPYTHON
      __Pyx_PyThreadState_declare
  #endif
      PyObject *exc;
      PyObject *exc_type = async ? PyExc_StopAsyncIteration : PyExc_StopIteration;
  #if CYTHON_COMPILING_IN_CPYTHON
      if ((PY_VERSION_HEX >= (0x030C00A6)) || unlikely(PyTuple_Check(value) || PyExceptionInstance_Check(value))) {
          if (PY_VERSION_HEX >= (0x030e00A1)) {
              exc = __Pyx_PyObject_CallOneArg(exc_type, value);
          } else {
              PyObject *args_tuple = PyTuple_New(1);
              if (unlikely(!args_tuple)) return;
              Py_INCREF(value);
              PyTuple_SET_ITEM(args_tuple, 0, value);
              exc = PyObject_Call(exc_type, args_tuple, NULL);
              Py_DECREF(args_tuple);
          }
          if (unlikely(!exc)) return;
      } else {
          Py_INCREF(value);
          exc = value;
      }
      #if CYTHON_FAST_THREAD_STATE
      __Pyx_PyThreadState_assign
      #if CYTHON_USE_EXC_INFO_STACK
      if (!__pyx_tstate->exc_info->exc_value)
      #else
      if (!__pyx_tstate->exc_type)
      #endif
      {
          Py_INCREF(exc_type);
          __Pyx_ErrRestore(exc_type, exc, NULL);
          return;
      }
      #endif
  #else
      exc = __Pyx_PyObject_CallOneArg(exc_type, value);
      if (unlikely(!exc)) return;
  #endif
      PyErr_SetObject(exc_type, exc);
      Py_DECREF(exc);
  }
  
/* CoroutineBase (used by Generator) */
  #if !CYTHON_COMPILING_IN_LIMITED_API
  #include <frameobject.h>
  #if PY_VERSION_HEX >= 0x030b00a6 && !defined(PYPY_VERSION)
    #ifndef Py_BUILD_CORE
      #define Py_BUILD_CORE 1
    #endif
    #include "internal/pycore_frame.h"
  #endif
  #endif // CYTHON_COMPILING_IN_LIMITED_API
  static CYTHON_INLINE void
  __Pyx_Coroutine_Undelegate(__pyx_CoroutineObject *gen) {
  #if CYTHON_USE_AM_SEND
      gen->yieldfrom_am_send = NULL;
  #endif
      Py_CLEAR(gen->yieldfrom);
  }
  static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *__pyx_tstate, PyObject **pvalue) {
      PyObject *et, *ev, *tb;
      PyObject *value = NULL;
      CYTHON_UNUSED_VAR(__pyx_tstate);
      __Pyx_ErrFetch(&et, &ev, &tb);
      if (!et) {
          Py_XDECREF(tb);
          Py_XDECREF(ev);
          Py_INCREF(Py_None);
          *pvalue = Py_None;
          return 0;
      }
      if (likely(et == PyExc_StopIteration)) {
          if (!ev) {
              Py_INCREF(Py_None);
              value = Py_None;
          }
          else if (likely(__Pyx_IS_TYPE(ev, (PyTypeObject*)PyExc_StopIteration))) {
              #if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL
              value = PyObject_GetAttr(ev, __pyx_mstate_global->__pyx_n_u_value);
              if (unlikely(!value)) goto limited_api_failure;
              #else
              value = ((PyStopIterationObject *)ev)->value;
              Py_INCREF(value);
              #endif
              Py_DECREF(ev);
          }
          else if (unlikely(PyTuple_Check(ev))) {
              Py_ssize_t tuple_size = __Pyx_PyTuple_GET_SIZE(ev);
              #if !CYTHON_ASSUME_SAFE_SIZE
              if (unlikely(tuple_size < 0)) {
                  Py_XDECREF(tb);
                  Py_DECREF(ev);
                  Py_DECREF(et);
                  return -1;
              }
              #endif
              if (tuple_size >= 1) {
  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                  value = PyTuple_GET_ITEM(ev, 0);
                  Py_INCREF(value);
  #elif CYTHON_ASSUME_SAFE_MACROS
                  value = PySequence_ITEM(ev, 0);
  #else
                  value = PySequence_GetItem(ev, 0);
                  if (!value) goto limited_api_failure;
  #endif
              } else {
                  Py_INCREF(Py_None);
                  value = Py_None;
              }
              Py_DECREF(ev);
          }
          else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) {
              value = ev;
          }
          if (likely(value)) {
              Py_XDECREF(tb);
              Py_DECREF(et);
              *pvalue = value;
              return 0;
          }
      } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) {
          __Pyx_ErrRestore(et, ev, tb);
          return -1;
      }
      PyErr_NormalizeException(&et, &ev, &tb);
      if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) {
          __Pyx_ErrRestore(et, ev, tb);
          return -1;
      }
      Py_XDECREF(tb);
      Py_DECREF(et);
  #if CYTHON_COMPILING_IN_LIMITED_API
      value = PyObject_GetAttr(ev, __pyx_mstate_global->__pyx_n_u_value);
  #else
      value = ((PyStopIterationObject *)ev)->value;
      Py_INCREF(value);
  #endif
      Py_DECREF(ev);
  #if CYTHON_COMPILING_IN_LIMITED_API
      if (unlikely(!value)) return -1;
  #endif
      *pvalue = value;
      return 0;
  #if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL || !CYTHON_ASSUME_SAFE_MACROS
    limited_api_failure:
      Py_XDECREF(et);
      Py_XDECREF(tb);
      Py_XDECREF(ev);
      return -1;
  #endif
  }
  static CYTHON_INLINE
  __Pyx_PySendResult __Pyx_Coroutine_status_from_result(PyObject **retval) {
      if (*retval) {
          return PYGEN_NEXT;
      } else if (likely(__Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, retval) == 0)) {
          return PYGEN_RETURN;
      } else {
          return PYGEN_ERROR;
      }
  }
  static CYTHON_INLINE
  void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) {
  #if PY_VERSION_HEX >= 0x030B00a4
      Py_CLEAR(exc_state->exc_value);
  #else
      PyObject *t, *v, *tb;
      t = exc_state->exc_type;
      v = exc_state->exc_value;
      tb = exc_state->exc_traceback;
      exc_state->exc_type = NULL;
      exc_state->exc_value = NULL;
      exc_state->exc_traceback = NULL;
      Py_XDECREF(t);
      Py_XDECREF(v);
      Py_XDECREF(tb);
  #endif
  }
  #define __Pyx_Coroutine_AlreadyRunningError(gen)  (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL)
  static void __Pyx__Coroutine_AlreadyRunningError(__pyx_CoroutineObject *gen) {
      const char *msg;
      CYTHON_MAYBE_UNUSED_VAR(gen);
      if ((0)) {
      #ifdef __Pyx_Coroutine_USED
      } else if (__Pyx_Coroutine_Check((PyObject*)gen)) {
          msg = "coroutine already executing";
      #endif
      #ifdef __Pyx_AsyncGen_USED
      } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) {
          msg = "async generator already executing";
      #endif
      } else {
          msg = "generator already executing";
      }
      PyErr_SetString(PyExc_ValueError, msg);
  }
  static void __Pyx_Coroutine_AlreadyTerminatedError(PyObject *gen, PyObject *value, int closing) {
      CYTHON_MAYBE_UNUSED_VAR(gen);
      CYTHON_MAYBE_UNUSED_VAR(closing);
      #ifdef __Pyx_Coroutine_USED
      if (!closing && __Pyx_Coroutine_Check(gen)) {
          PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine");
      } else
      #endif
      if (value) {
          #ifdef __Pyx_AsyncGen_USED
          if (__Pyx_AsyncGen_CheckExact(gen))
              PyErr_SetNone(PyExc_StopAsyncIteration);
          else
          #endif
          PyErr_SetNone(PyExc_StopIteration);
      }
  }
  static
  __Pyx_PySendResult __Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, PyObject **result, int closing) {
      __Pyx_PyThreadState_declare
      PyThreadState *tstate;
      __Pyx_ExcInfoStruct *exc_state;
      PyObject *retval;
      assert(__Pyx_Coroutine_get_is_running(self));  // Callers should ensure is_running
      if (unlikely(self->resume_label == -1)) {
          __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing);
          return PYGEN_ERROR;
      }
  #if CYTHON_FAST_THREAD_STATE
      __Pyx_PyThreadState_assign
      tstate = __pyx_tstate;
  #else
      tstate = __Pyx_PyThreadState_Current;
  #endif
      exc_state = &self->gi_exc_state;
      if (exc_state->exc_value) {
          #if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
          #else
          PyObject *exc_tb;
          #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON
          exc_tb = PyException_GetTraceback(exc_state->exc_value);
          #elif PY_VERSION_HEX >= 0x030B00a4
          exc_tb = ((PyBaseExceptionObject*) exc_state->exc_value)->traceback;
          #else
          exc_tb = exc_state->exc_traceback;
          #endif
          if (exc_tb) {
              PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
              PyFrameObject *f = tb->tb_frame;
              assert(f->f_back == NULL);
              #if PY_VERSION_HEX >= 0x030B00A1
              f->f_back = PyThreadState_GetFrame(tstate);
              #else
              Py_XINCREF(tstate->frame);
              f->f_back = tstate->frame;
              #endif
              #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON
              Py_DECREF(exc_tb);
              #endif
          }
          #endif
      }
  #if CYTHON_USE_EXC_INFO_STACK
      exc_state->previous_item = tstate->exc_info;
      tstate->exc_info = exc_state;
  #else
      if (exc_state->exc_type) {
          __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
      } else {
          __Pyx_Coroutine_ExceptionClear(exc_state);
          __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
      }
  #endif
      retval = self->body(self, tstate, value);
  #if CYTHON_USE_EXC_INFO_STACK
      exc_state = &self->gi_exc_state;
      tstate->exc_info = exc_state->previous_item;
      exc_state->previous_item = NULL;
      __Pyx_Coroutine_ResetFrameBackpointer(exc_state);
  #endif
      *result = retval;
      if (self->resume_label == -1) {
          return likely(retval) ? PYGEN_RETURN : PYGEN_ERROR;
      }
      return PYGEN_NEXT;
  }
  static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) {
  #if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API
      CYTHON_UNUSED_VAR(exc_state);
  #else
      PyObject *exc_tb;
      #if PY_VERSION_HEX >= 0x030B00a4
      if (!exc_state->exc_value) return;
      exc_tb = PyException_GetTraceback(exc_state->exc_value);
      #else
      exc_tb = exc_state->exc_traceback;
      #endif
      if (likely(exc_tb)) {
          PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
          PyFrameObject *f = tb->tb_frame;
          Py_CLEAR(f->f_back);
          #if PY_VERSION_HEX >= 0x030B00a4
          Py_DECREF(exc_tb);
          #endif
      }
  #endif
  }
  #define __Pyx_Coroutine_MethodReturnFromResult(gen, result, retval, iternext)\
      ((result) == PYGEN_NEXT ? (retval) : __Pyx__Coroutine_MethodReturnFromResult(gen, result, retval, iternext))
  static PyObject *
  __Pyx__Coroutine_MethodReturnFromResult(PyObject* gen, __Pyx_PySendResult result, PyObject *retval, int iternext) {
      CYTHON_MAYBE_UNUSED_VAR(gen);
      if (likely(result == PYGEN_RETURN)) {
          int is_async = 0;
          #ifdef __Pyx_AsyncGen_USED
          is_async = __Pyx_AsyncGen_CheckExact(gen);
          #endif
          __Pyx_ReturnWithStopIteration(retval, is_async, iternext);
          Py_XDECREF(retval);
      }
      return NULL;
  }
  #if CYTHON_COMPILING_IN_CPYTHON
  static CYTHON_INLINE
  PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) {
  #if PY_VERSION_HEX <= 0x030A00A1
      return _PyGen_Send(gen, arg);
  #else
      PyObject *result;
      if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) {
          if (PyAsyncGen_CheckExact(gen)) {
              assert(result == Py_None);
              PyErr_SetNone(PyExc_StopAsyncIteration);
          }
          else if (result == Py_None) {
              PyErr_SetNone(PyExc_StopIteration);
          }
          else {
  #if PY_VERSION_HEX < 0x030d00A1
              _PyGen_SetStopIterationValue(result);
  #else
              if (!PyTuple_Check(result) && !PyExceptionInstance_Check(result)) {
                  PyErr_SetObject(PyExc_StopIteration, result);
              } else {
                  PyObject *exc = __Pyx_PyObject_CallOneArg(PyExc_StopIteration, result);
                  if (likely(exc != NULL)) {
                      PyErr_SetObject(PyExc_StopIteration, exc);
                      Py_DECREF(exc);
                  }
              }
  #endif
          }
          Py_DECREF(result);
          result = NULL;
      }
      return result;
  #endif
  }
  #endif
  static CYTHON_INLINE __Pyx_PySendResult
  __Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen, PyObject** retval) {
      __Pyx_PySendResult result;
      PyObject *val = NULL;
      assert(__Pyx_Coroutine_get_is_running(gen));
      __Pyx_Coroutine_Undelegate(gen);
      __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val);
      result = __Pyx_Coroutine_SendEx(gen, val, retval, 0);
      Py_XDECREF(val);
      return result;
  }
  #if CYTHON_USE_AM_SEND
  static __Pyx_PySendResult
  __Pyx_Coroutine_SendToDelegate(__pyx_CoroutineObject *gen, __Pyx_pyiter_sendfunc gen_am_send, PyObject *value, PyObject **retval) {
      PyObject *ret = NULL;
      __Pyx_PySendResult delegate_result, result;
      assert(__Pyx_Coroutine_get_is_running(gen));
      delegate_result = gen_am_send(gen->yieldfrom, value, &ret);
      if (delegate_result == PYGEN_NEXT) {
          assert (ret != NULL);
          *retval = ret;
          return PYGEN_NEXT;
      }
      assert (delegate_result != PYGEN_ERROR || ret == NULL);
      __Pyx_Coroutine_Undelegate(gen);
      result = __Pyx_Coroutine_SendEx(gen, ret, retval, 0);
      Py_XDECREF(ret);
      return result;
  }
  #endif
  static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) {
      PyObject *retval = NULL;
      __Pyx_PySendResult result = __Pyx_Coroutine_AmSend(self, value, &retval);
      return __Pyx_Coroutine_MethodReturnFromResult(self, result, retval, 0);
  }
  static __Pyx_PySendResult
  __Pyx_Coroutine_AmSend(PyObject *self, PyObject *value, PyObject **retval) {
      __Pyx_PySendResult result;
      __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
      if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen))) {
          *retval = __Pyx_Coroutine_AlreadyRunningError(gen);
          return PYGEN_ERROR;
      }
      #if CYTHON_USE_AM_SEND
      if (gen->yieldfrom_am_send) {
          result = __Pyx_Coroutine_SendToDelegate(gen, gen->yieldfrom_am_send, value, retval);
      } else
      #endif
      if (gen->yieldfrom) {
          PyObject *yf = gen->yieldfrom;
          PyObject *ret;
        #if !CYTHON_USE_AM_SEND
          #ifdef __Pyx_Generator_USED
          if (__Pyx_Generator_CheckExact(yf)) {
              ret = __Pyx_Coroutine_Send(yf, value);
          } else
          #endif
          #ifdef __Pyx_Coroutine_USED
          if (__Pyx_Coroutine_Check(yf)) {
              ret = __Pyx_Coroutine_Send(yf, value);
          } else
          #endif
          #ifdef __Pyx_AsyncGen_USED
          if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
              ret = __Pyx_async_gen_asend_send(yf, value);
          } else
          #endif
          #if CYTHON_COMPILING_IN_CPYTHON
          if (PyGen_CheckExact(yf)) {
              ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
          } else
          if (PyCoro_CheckExact(yf)) {
              ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
          } else
          #endif
        #endif
          {
              #if !CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x03080000
              if (value == Py_None && PyIter_Check(yf))
                  ret = __Pyx_PyIter_Next_Plain(yf);
              else
              #endif
                  ret = __Pyx_PyObject_CallMethod1(yf, __pyx_mstate_global->__pyx_n_u_send, value);
          }
          if (likely(ret)) {
              __Pyx_Coroutine_unset_is_running(gen);
              *retval = ret;
              return PYGEN_NEXT;
          }
          result = __Pyx_Coroutine_FinishDelegation(gen, retval);
      } else {
          result = __Pyx_Coroutine_SendEx(gen, value, retval, 0);
      }
      __Pyx_Coroutine_unset_is_running(gen);
      return result;
  }
  static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) {
      __Pyx_PySendResult result;
      PyObject *retval = NULL;
      CYTHON_UNUSED_VAR(gen);
      assert(__Pyx_Coroutine_get_is_running(gen));
      #ifdef __Pyx_Generator_USED
      if (__Pyx_Generator_CheckExact(yf)) {
          result = __Pyx_Coroutine_Close(yf, &retval);
      } else
      #endif
      #ifdef __Pyx_Coroutine_USED
      if (__Pyx_Coroutine_Check(yf)) {
          result = __Pyx_Coroutine_Close(yf, &retval);
      } else
      if (__Pyx_CoroutineAwait_CheckExact(yf)) {
          result = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf);
      } else
      #endif
      #ifdef __Pyx_AsyncGen_USED
      if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
          retval = __Pyx_async_gen_asend_close(yf, NULL);
          result = PYGEN_RETURN;
      } else
      if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) {
          retval = __Pyx_async_gen_athrow_close(yf, NULL);
          result = PYGEN_RETURN;
      } else
      #endif
      {
          PyObject *meth;
          result = PYGEN_RETURN;
          meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_mstate_global->__pyx_n_u_close);
          if (unlikely(!meth)) {
              if (unlikely(PyErr_Occurred())) {
                  PyErr_WriteUnraisable(yf);
              }
          } else {
              retval = __Pyx_PyObject_CallNoArg(meth);
              Py_DECREF(meth);
              if (unlikely(!retval)) {
                  result = PYGEN_ERROR;
              }
          }
      }
      Py_XDECREF(retval);
      return result == PYGEN_ERROR ? -1 : 0;
  }
  static PyObject *__Pyx_Generator_Next(PyObject *self) {
      __Pyx_PySendResult result;
      PyObject *retval = NULL;
      __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
      if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen))) {
          return __Pyx_Coroutine_AlreadyRunningError(gen);
      }
      #if CYTHON_USE_AM_SEND
      if (gen->yieldfrom_am_send) {
          result = __Pyx_Coroutine_SendToDelegate(gen, gen->yieldfrom_am_send, Py_None, &retval);
      } else
      #endif
      if (gen->yieldfrom) {
          PyObject *yf = gen->yieldfrom;
          PyObject *ret;
          #ifdef __Pyx_Generator_USED
          if (__Pyx_Generator_CheckExact(yf)) {
              ret = __Pyx_Generator_Next(yf);
          } else
          #endif
          #ifdef __Pyx_Coroutine_USED
          if (__Pyx_Coroutine_CheckExact(yf)) {
              ret = __Pyx_Coroutine_Send(yf, Py_None);
          } else
          #endif
          #if CYTHON_COMPILING_IN_CPYTHON && (PY_VERSION_HEX < 0x030A00A3 || !CYTHON_USE_AM_SEND)
          if (PyGen_CheckExact(yf)) {
              ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL);
          } else
          #endif
              ret = __Pyx_PyIter_Next_Plain(yf);
          if (likely(ret)) {
              __Pyx_Coroutine_unset_is_running(gen);
              return ret;
          }
          result = __Pyx_Coroutine_FinishDelegation(gen, &retval);
      } else {
          result = __Pyx_Coroutine_SendEx(gen, Py_None, &retval, 0);
      }
      __Pyx_Coroutine_unset_is_running(gen);
      return __Pyx_Coroutine_MethodReturnFromResult(self, result, retval, 1);
  }
  static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, PyObject *arg) {
      PyObject *retval = NULL;
      __Pyx_PySendResult result;
      CYTHON_UNUSED_VAR(arg);
      result = __Pyx_Coroutine_Close(self, &retval);
      if (unlikely(result == PYGEN_ERROR))
          return NULL;
      Py_XDECREF(retval);
      Py_RETURN_NONE;
  }
  static __Pyx_PySendResult
  __Pyx_Coroutine_Close(PyObject *self, PyObject **retval) {
      __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
      __Pyx_PySendResult result;
      PyObject *yf;
      int err = 0;
      if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen))) {
          *retval = __Pyx_Coroutine_AlreadyRunningError(gen);
          return PYGEN_ERROR;
      }
      yf = gen->yieldfrom;
      if (yf) {
          Py_INCREF(yf);
          err = __Pyx_Coroutine_CloseIter(gen, yf);
          __Pyx_Coroutine_Undelegate(gen);
          Py_DECREF(yf);
      }
      if (err == 0)
          PyErr_SetNone(PyExc_GeneratorExit);
      result = __Pyx_Coroutine_SendEx(gen, NULL, retval, 1);
      if (result == PYGEN_ERROR) {
          __Pyx_PyThreadState_declare
          __Pyx_PyThreadState_assign
          __Pyx_Coroutine_unset_is_running(gen);
          if (!__Pyx_PyErr_Occurred()) {
              return PYGEN_RETURN;
          } else if (likely(__Pyx_PyErr_ExceptionMatches2(PyExc_GeneratorExit, PyExc_StopIteration))) {
              __Pyx_PyErr_Clear();
              return PYGEN_RETURN;
          }
          return PYGEN_ERROR;
      } else if (likely(result == PYGEN_RETURN && *retval == Py_None)) {
          __Pyx_Coroutine_unset_is_running(gen);
          return PYGEN_RETURN;
      } else {
          const char *msg;
          Py_DECREF(*retval);
          *retval = NULL;
          if ((0)) {
          #ifdef __Pyx_Coroutine_USED
          } else if (__Pyx_Coroutine_Check(self)) {
              msg = "coroutine ignored GeneratorExit";
          #endif
          #ifdef __Pyx_AsyncGen_USED
          } else if (__Pyx_AsyncGen_CheckExact(self)) {
              msg = "async generator ignored GeneratorExit";
          #endif
          } else {
              msg = "generator ignored GeneratorExit";
          }
          PyErr_SetString(PyExc_RuntimeError, msg);
          __Pyx_Coroutine_unset_is_running(gen);
          return PYGEN_ERROR;
      }
  }
  static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb,
                                          PyObject *args, int close_on_genexit) {
      __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
      PyObject *yf;
      if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen)))
          return __Pyx_Coroutine_AlreadyRunningError(gen);
      yf = gen->yieldfrom;
      if (yf) {
          __Pyx_PySendResult result;
          PyObject *ret;
          Py_INCREF(yf);
          if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) {
              int err = __Pyx_Coroutine_CloseIter(gen, yf);
              Py_DECREF(yf);
              __Pyx_Coroutine_Undelegate(gen);
              if (err < 0)
                  goto propagate_exception;
              goto throw_here;
          }
          if (0
          #ifdef __Pyx_Generator_USED
              || __Pyx_Generator_CheckExact(yf)
          #endif
          #ifdef __Pyx_Coroutine_USED
              || __Pyx_Coroutine_Check(yf)
          #endif
              ) {
              ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit);
          #ifdef __Pyx_Coroutine_USED
          } else if (__Pyx_CoroutineAwait_CheckExact(yf)) {
              ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit);
          #endif
          } else {
              PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_mstate_global->__pyx_n_u_throw);
              if (unlikely(!meth)) {
                  Py_DECREF(yf);
                  if (unlikely(PyErr_Occurred())) {
                      __Pyx_Coroutine_unset_is_running(gen);
                      return NULL;
                  }
                  __Pyx_Coroutine_Undelegate(gen);
                  goto throw_here;
              }
              if (likely(args)) {
                  ret = __Pyx_PyObject_Call(meth, args, NULL);
              } else {
                  PyObject *cargs[4] = {NULL, typ, val, tb};
                  ret = __Pyx_PyObject_FastCall(meth, cargs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
              }
              Py_DECREF(meth);
          }
          Py_DECREF(yf);
          if (ret) {
              __Pyx_Coroutine_unset_is_running(gen);
              return ret;
          }
          result = __Pyx_Coroutine_FinishDelegation(gen, &ret);
          __Pyx_Coroutine_unset_is_running(gen);
          return __Pyx_Coroutine_MethodReturnFromResult(self, result, ret, 0);
      }
  throw_here:
      __Pyx_Raise(typ, val, tb, NULL);
  propagate_exception:
      {
          PyObject *retval = NULL;
          __Pyx_PySendResult result = __Pyx_Coroutine_SendEx(gen, NULL, &retval, 0);
          __Pyx_Coroutine_unset_is_running(gen);
          return __Pyx_Coroutine_MethodReturnFromResult(self, result, retval, 0);
      }
  }
  static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) {
      PyObject *typ;
      PyObject *val = NULL;
      PyObject *tb = NULL;
      if (unlikely(!PyArg_UnpackTuple(args, "throw", 1, 3, &typ, &val, &tb)))
          return NULL;
      return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1);
  }
  static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) {
  #if PY_VERSION_HEX >= 0x030B00a4
      Py_VISIT(exc_state->exc_value);
  #else
      Py_VISIT(exc_state->exc_type);
      Py_VISIT(exc_state->exc_value);
      Py_VISIT(exc_state->exc_traceback);
  #endif
      return 0;
  }
  static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) {
      {
          int e = __Pyx_call_type_traverse((PyObject*)gen, 1, visit, arg);
          if (e) return e;
      }
      Py_VISIT(gen->closure);
      Py_VISIT(gen->classobj);
      Py_VISIT(gen->yieldfrom);
      return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg);
  }
  static int __Pyx_Coroutine_clear(PyObject *self) {
      __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
      Py_CLEAR(gen->closure);
      Py_CLEAR(gen->classobj);
      __Pyx_Coroutine_Undelegate(gen);
      __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state);
  #ifdef __Pyx_AsyncGen_USED
      if (__Pyx_AsyncGen_CheckExact(self)) {
          Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer);
      }
  #endif
      Py_CLEAR(gen->gi_code);
      Py_CLEAR(gen->gi_frame);
      Py_CLEAR(gen->gi_name);
      Py_CLEAR(gen->gi_qualname);
      Py_CLEAR(gen->gi_modulename);
      return 0;
  }
  static void __Pyx_Coroutine_dealloc(PyObject *self) {
      __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
      PyObject_GC_UnTrack(gen);
      #if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
      if (gen->gi_weakreflist != NULL)
      #endif
          PyObject_ClearWeakRefs(self);
      if (gen->resume_label >= 0) {
          PyObject_GC_Track(self);
  #if CYTHON_USE_TP_FINALIZE
          if (unlikely(PyObject_CallFinalizerFromDealloc(self)))
  #else
          {
              destructor del = __Pyx_PyObject_GetSlot(gen, tp_del, destructor);
              if (del) del(self);
          }
          if (unlikely(Py_REFCNT(self) > 0))
  #endif
          {
              return;
          }
          PyObject_GC_UnTrack(self);
      }
  #ifdef __Pyx_AsyncGen_USED
      if (__Pyx_AsyncGen_CheckExact(self)) {
          /* We have to handle this case for asynchronous generators
             right here, because this code has to be between UNTRACK
             and GC_Del. */
          Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer);
      }
  #endif
      __Pyx_Coroutine_clear(self);
      __Pyx_PyHeapTypeObject_GC_Del(gen);
  }
  #if CYTHON_USE_TP_FINALIZE
  static void __Pyx_Coroutine_del(PyObject *self) {
      PyObject *error_type, *error_value, *error_traceback;
      __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
      __Pyx_PyThreadState_declare
      if (gen->resume_label < 0) {
          return;
      }
      __Pyx_PyThreadState_assign
      __Pyx_ErrFetch(&error_type, &error_value, &error_traceback);
  #ifdef __Pyx_AsyncGen_USED
      if (__Pyx_AsyncGen_CheckExact(self)) {
          __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self;
          PyObject *finalizer = agen->ag_finalizer;
          if (finalizer && !agen->ag_closed) {
              PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self);
              if (unlikely(!res)) {
                  PyErr_WriteUnraisable(self);
              } else {
                  Py_DECREF(res);
              }
              __Pyx_ErrRestore(error_type, error_value, error_traceback);
              return;
          }
      }
  #endif
      if (unlikely(gen->resume_label == 0 && !error_value)) {
  #ifdef __Pyx_Coroutine_USED
  #ifdef __Pyx_Generator_USED
      if (!__Pyx_Generator_CheckExact(self))
  #endif
          {
          PyObject_GC_UnTrack(self);
          if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0))
              PyErr_WriteUnraisable(self);
          PyObject_GC_Track(self);
          }
  #endif
      } else {
          PyObject *retval = NULL;
          __Pyx_PySendResult result = __Pyx_Coroutine_Close(self, &retval);
          if (result == PYGEN_ERROR) {
              PyErr_WriteUnraisable(self);
          } else {
              Py_XDECREF(retval);
          }
      }
      __Pyx_ErrRestore(error_type, error_value, error_traceback);
  }
  #endif
  static PyObject *
  __Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, void *context)
  {
      PyObject *name = self->gi_name;
      CYTHON_UNUSED_VAR(context);
      if (unlikely(!name)) name = Py_None;
      Py_INCREF(name);
      return name;
  }
  static int
  __Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, void *context)
  {
      CYTHON_UNUSED_VAR(context);
      if (unlikely(value == NULL || !PyUnicode_Check(value))) {
          PyErr_SetString(PyExc_TypeError,
                          "__name__ must be set to a string object");
          return -1;
      }
      Py_INCREF(value);
      __Pyx_Py_XDECREF_SET(self->gi_name, value);
      return 0;
  }
  static PyObject *
  __Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, void *context)
  {
      PyObject *name = self->gi_qualname;
      CYTHON_UNUSED_VAR(context);
      if (unlikely(!name)) name = Py_None;
      Py_INCREF(name);
      return name;
  }
  static int
  __Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, void *context)
  {
      CYTHON_UNUSED_VAR(context);
      if (unlikely(value == NULL || !PyUnicode_Check(value))) {
          PyErr_SetString(PyExc_TypeError,
                          "__qualname__ must be set to a string object");
          return -1;
      }
      Py_INCREF(value);
      __Pyx_Py_XDECREF_SET(self->gi_qualname, value);
      return 0;
  }
  static PyObject *
  __Pyx__Coroutine_get_frame(__pyx_CoroutineObject *self)
  {
  #if !CYTHON_COMPILING_IN_LIMITED_API
      PyObject *frame;
      #if PY_VERSION_HEX >= 0x030d0000
      Py_BEGIN_CRITICAL_SECTION(self);
      #endif
      frame = self->gi_frame;
      if (!frame) {
          if (unlikely(!self->gi_code)) {
              Py_RETURN_NONE;
          }
          PyObject *globals = PyDict_New();
          if (unlikely(!globals)) return NULL;
          frame = (PyObject *) PyFrame_New(
              PyThreadState_Get(),            /*PyThreadState *tstate,*/
              (PyCodeObject*) self->gi_code,  /*PyCodeObject *code,*/
              globals,                        /*PyObject *globals,*/
              0                               /*PyObject *locals*/
          );
          Py_DECREF(globals);
          if (unlikely(!frame))
              return NULL;
          if (unlikely(self->gi_frame)) {
              Py_DECREF(frame);
              frame = self->gi_frame;
          } else {
              self->gi_frame = frame;
          }
      }
      Py_INCREF(frame);
      #if PY_VERSION_HEX >= 0x030d0000
      Py_END_CRITICAL_SECTION();
      #endif
      return frame;
  #else
      CYTHON_UNUSED_VAR(self);
      Py_RETURN_NONE;
  #endif
  }
  static PyObject *
  __Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, void *context) {
      CYTHON_UNUSED_VAR(context);
      PyObject *frame = self->gi_frame;
      if (frame)
          return __Pyx_NewRef(frame);
      return __Pyx__Coroutine_get_frame(self);
  }
  static __pyx_CoroutineObject *__Pyx__Coroutine_New(
              PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
              PyObject *name, PyObject *qualname, PyObject *module_name) {
      __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type);
      if (unlikely(!gen))
          return NULL;
      return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name);
  }
  static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
              __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
              PyObject *name, PyObject *qualname, PyObject *module_name) {
      gen->body = body;
      gen->closure = closure;
      Py_XINCREF(closure);
      gen->is_running = 0;
      gen->resume_label = 0;
      gen->classobj = NULL;
      gen->yieldfrom = NULL;
      gen->yieldfrom_am_send = NULL;
      #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_LIMITED_API
      gen->gi_exc_state.exc_value = NULL;
      #else
      gen->gi_exc_state.exc_type = NULL;
      gen->gi_exc_state.exc_value = NULL;
      gen->gi_exc_state.exc_traceback = NULL;
      #endif
  #if CYTHON_USE_EXC_INFO_STACK
      gen->gi_exc_state.previous_item = NULL;
  #endif
  #if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
      gen->gi_weakreflist = NULL;
  #endif
      Py_XINCREF(qualname);
      gen->gi_qualname = qualname;
      Py_XINCREF(name);
      gen->gi_name = name;
      Py_XINCREF(module_name);
      gen->gi_modulename = module_name;
      Py_XINCREF(code);
      gen->gi_code = code;
      gen->gi_frame = NULL;
      PyObject_GC_Track(gen);
      return gen;
  }
  static char __Pyx_Coroutine_test_and_set_is_running(__pyx_CoroutineObject *gen) {
      char result;
      #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
      Py_BEGIN_CRITICAL_SECTION(gen);
      #endif
      result = gen->is_running;
      gen->is_running = 1;
      #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
      Py_END_CRITICAL_SECTION();
      #endif
      return result;
  }
  static void __Pyx_Coroutine_unset_is_running(__pyx_CoroutineObject *gen) {
      #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
      Py_BEGIN_CRITICAL_SECTION(gen);
      #endif
      assert(gen->is_running);
      gen->is_running = 0;
      #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
      Py_END_CRITICAL_SECTION();
      #endif
  }
  static char __Pyx_Coroutine_get_is_running(__pyx_CoroutineObject *gen) {
      char result;
      #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
      Py_BEGIN_CRITICAL_SECTION(gen);
      #endif
      result = gen->is_running;
      #if PY_VERSION_HEX >= 0x030d0000 && !CYTHON_COMPILING_IN_LIMITED_API
      Py_END_CRITICAL_SECTION();
      #endif
      return result;
  }
  static PyObject *__Pyx_Coroutine_get_is_running_getter(PyObject *gen, void *closure) {
      CYTHON_UNUSED_VAR(closure);
      char result = __Pyx_Coroutine_get_is_running((__pyx_CoroutineObject*)gen);
      if (result) Py_RETURN_TRUE;
      else Py_RETURN_FALSE;
  }
  #if __PYX_HAS_PY_AM_SEND == 2
  static void __Pyx_SetBackportTypeAmSend(PyTypeObject *type, __Pyx_PyAsyncMethodsStruct *static_amsend_methods, __Pyx_pyiter_sendfunc am_send) {
      Py_ssize_t ptr_offset = (char*)(type->tp_as_async) - (char*)type;
      if (ptr_offset < 0 || ptr_offset > type->tp_basicsize) {
          return;
      }
      memcpy((void*)static_amsend_methods, (void*)(type->tp_as_async), sizeof(*type->tp_as_async));
      static_amsend_methods->am_send = am_send;
      type->tp_as_async = __Pyx_SlotTpAsAsync(static_amsend_methods);
  }
  #endif
  static PyObject *__Pyx_Coroutine_fail_reduce_ex(PyObject *self, PyObject *arg) {
      CYTHON_UNUSED_VAR(arg);
      __Pyx_TypeName self_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE((PyObject*)self));
      PyErr_Format(PyExc_TypeError, "cannot pickle '" __Pyx_FMT_TYPENAME "' object",
                           self_type_name);
      __Pyx_DECREF_TypeName(self_type_name);
      return NULL;
  }
  
/* Generator */
  static PyMethodDef __pyx_Generator_methods[] = {
      {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O,
       PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")},
      {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS,
       PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in generator,\nreturn next yielded value or raise StopIteration.")},
      {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS,
       PyDoc_STR("close() -> raise GeneratorExit inside generator.")},
      {"__reduce_ex__", (PyCFunction) __Pyx_Coroutine_fail_reduce_ex, METH_O, 0},
      {"__reduce__", (PyCFunction) __Pyx_Coroutine_fail_reduce_ex, METH_NOARGS, 0},
      {0, 0, 0, 0}
  };
  static PyMemberDef __pyx_Generator_memberlist[] = {
      {"gi_yieldfrom", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY,
       PyDoc_STR("object being iterated by 'yield from', or None")},
      {"gi_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL},
      {"__module__", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_modulename), 0, 0},
  #if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
      {"__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CoroutineObject, gi_weakreflist), READONLY, 0},
  #endif
      {0, 0, 0, 0, 0}
  };
  static PyGetSetDef __pyx_Generator_getsets[] = {
      {"__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name,
       PyDoc_STR("name of the generator"), 0},
      {"__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname,
       PyDoc_STR("qualified name of the generator"), 0},
      {"gi_frame", (getter)__Pyx_Coroutine_get_frame, NULL,
       PyDoc_STR("Frame of the generator"), 0},
      {"gi_running", __Pyx_Coroutine_get_is_running_getter, NULL, NULL, NULL},
      {0, 0, 0, 0, 0}
  };
  static PyType_Slot __pyx_GeneratorType_slots[] = {
      {Py_tp_dealloc, (void *)__Pyx_Coroutine_dealloc},
      {Py_tp_traverse, (void *)__Pyx_Coroutine_traverse},
      {Py_tp_iter, (void *)PyObject_SelfIter},
      {Py_tp_iternext, (void *)__Pyx_Generator_Next},
      {Py_tp_methods, (void *)__pyx_Generator_methods},
      {Py_tp_members, (void *)__pyx_Generator_memberlist},
      {Py_tp_getset, (void *)__pyx_Generator_getsets},
      {Py_tp_getattro, (void *) PyObject_GenericGetAttr},
  #if CYTHON_USE_TP_FINALIZE
      {Py_tp_finalize, (void *)__Pyx_Coroutine_del},
  #endif
  #if __PYX_HAS_PY_AM_SEND == 1
      {Py_am_send, (void *)__Pyx_Coroutine_AmSend},
  #endif
      {0, 0},
  };
  static PyType_Spec __pyx_GeneratorType_spec = {
      __PYX_TYPE_MODULE_PREFIX "generator",
      sizeof(__pyx_CoroutineObject),
      0,
  #if PY_VERSION_HEX >= 0x030C0000 && !CYTHON_COMPILING_IN_LIMITED_API
      Py_TPFLAGS_MANAGED_WEAKREF |
  #endif
      Py_TPFLAGS_IMMUTABLETYPE | Py_TPFLAGS_DISALLOW_INSTANTIATION |
      Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | __Pyx_TPFLAGS_HAVE_AM_SEND,
      __pyx_GeneratorType_slots
  };
  #if __PYX_HAS_PY_AM_SEND == 2
  static __Pyx_PyAsyncMethodsStruct __pyx_Generator_as_async;
  #endif
  static int __pyx_Generator_init(PyObject *module) {
      __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module);
      mstate->__pyx_GeneratorType = __Pyx_FetchCommonTypeFromSpec(
          mstate->__pyx_CommonTypesMetaclassType, module, &__pyx_GeneratorType_spec, NULL);
      if (unlikely(!mstate->__pyx_GeneratorType)) {
          return -1;
      }
  #if __PYX_HAS_PY_AM_SEND == 2
      __Pyx_SetBackportTypeAmSend(mstate->__pyx_GeneratorType, &__pyx_Generator_as_async, &__Pyx_Coroutine_AmSend);
  #endif
      return 0;
  }
  static PyObject *__Pyx_Generator_GetInlinedResult(PyObject *self) {
      __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
      PyObject *retval = NULL;
      if (unlikely(__Pyx_Coroutine_test_and_set_is_running(gen))) {
          return __Pyx_Coroutine_AlreadyRunningError(gen);
      }
      __Pyx_PySendResult result = __Pyx_Coroutine_SendEx(gen, Py_None, &retval, 0);
      __Pyx_Coroutine_unset_is_running(gen);
      (void) result;
      assert (result == PYGEN_RETURN || result == PYGEN_ERROR);
      assert ((result == PYGEN_RETURN && retval != NULL) || (result == PYGEN_ERROR && retval == NULL));
      return retval;
  }
  
/* CheckBinaryVersion */
  static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) {
      const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
      if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
          return 0;
      if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
          return 1;
      {
          char message[200];
          PyOS_snprintf(message, sizeof(message),
                        "compile time Python version %d.%d "
                        "of module '%.100s' "
                        "%s "
                        "runtime version %d.%d",
                         (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF),
                         __Pyx_MODULE_NAME,
                         (allow_newer) ? "was newer than" : "does not match",
                         (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF)
         );
          return PyErr_WarnEx(NULL, message, 1);
      }
  }
  
/* NewCodeObj */
  #if CYTHON_COMPILING_IN_LIMITED_API
      static PyObject* __Pyx__PyCode_New(int a, int p, int k, int l, int s, int f,
                                         PyObject *code, PyObject *c, PyObject* n, PyObject *v,
                                         PyObject *fv, PyObject *cell, PyObject* fn,
                                         PyObject *name, int fline, PyObject *lnos) {
          PyObject *exception_table = NULL;
          PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
          #if __PYX_LIMITED_VERSION_HEX < 0x030b0000
          PyObject *version_info;
          PyObject *py_minor_version = NULL;
          #endif
          long minor_version = 0;
          PyObject *type, *value, *traceback;
          PyErr_Fetch(&type, &value, &traceback);
          #if __PYX_LIMITED_VERSION_HEX >= 0x030b0000
          minor_version = 11;
          #else
          if (!(version_info = PySys_GetObject("version_info"))) goto end;
          if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
          minor_version = PyLong_AsLong(py_minor_version);
          Py_DECREF(py_minor_version);
          if (minor_version == -1 && PyErr_Occurred()) goto end;
          #endif
          if (!(types_module = PyImport_ImportModule("types"))) goto end;
          if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
          if (minor_version <= 7) {
              (void)p;
              result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOOO", a, k, l, s, f, code,
                            c, n, v, fn, name, fline, lnos, fv, cell);
          } else if (minor_version <= 10) {
              result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOOO", a,p, k, l, s, f, code,
                            c, n, v, fn, name, fline, lnos, fv, cell);
          } else {
              if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
              result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOOOO", a,p, k, l, s, f, code,
                            c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
          }
      end:
          Py_XDECREF(code_type);
          Py_XDECREF(exception_table);
          Py_XDECREF(types_module);
          if (type) {
              PyErr_Restore(type, value, traceback);
          }
          return result;
      }
  #elif PY_VERSION_HEX >= 0x030B0000
    static PyCodeObject* __Pyx__PyCode_New(int a, int p, int k, int l, int s, int f,
                                           PyObject *code, PyObject *c, PyObject* n, PyObject *v,
                                           PyObject *fv, PyObject *cell, PyObject* fn,
                                           PyObject *name, int fline, PyObject *lnos) {
      PyCodeObject *result;
      result =
        #if PY_VERSION_HEX >= 0x030C0000
          PyUnstable_Code_NewWithPosOnlyArgs
        #else
          PyCode_NewWithPosOnlyArgs
        #endif
          (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, __pyx_mstate_global->__pyx_empty_bytes);
      #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030c00A1
      if (likely(result))
          result->_co_firsttraceable = 0;
      #endif
      return result;
    }
  #elif !CYTHON_COMPILING_IN_PYPY
    #define __Pyx__PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
            PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
  #else
    #define __Pyx__PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
            PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
  #endif
  static PyObject* __Pyx_PyCode_New(
          const __Pyx_PyCode_New_function_description descr,
          PyObject * const *varnames,
          PyObject *filename,
          PyObject *funcname,
          PyObject *line_table,
          PyObject *tuple_dedup_map
  ) {
      PyObject *code_obj = NULL, *varnames_tuple_dedup = NULL, *code_bytes = NULL;
      Py_ssize_t var_count = (Py_ssize_t) descr.nlocals;
      PyObject *varnames_tuple = PyTuple_New(var_count);
      if (unlikely(!varnames_tuple)) return NULL;
      for (Py_ssize_t i=0; i < var_count; i++) {
          Py_INCREF(varnames[i]);
          if (__Pyx_PyTuple_SET_ITEM(varnames_tuple, i, varnames[i]) != (0)) goto done;
      }
      #if CYTHON_COMPILING_IN_LIMITED_API
      varnames_tuple_dedup = PyDict_GetItem(tuple_dedup_map, varnames_tuple);
      if (!varnames_tuple_dedup) {
          if (unlikely(PyDict_SetItem(tuple_dedup_map, varnames_tuple, varnames_tuple) < 0)) goto done;
          varnames_tuple_dedup = varnames_tuple;
      }
      #else
      varnames_tuple_dedup = PyDict_SetDefault(tuple_dedup_map, varnames_tuple, varnames_tuple);
      if (unlikely(!varnames_tuple_dedup)) goto done;
      #endif
      #if CYTHON_AVOID_BORROWED_REFS
      Py_INCREF(varnames_tuple_dedup);
      #endif
      if (__PYX_LIMITED_VERSION_HEX >= (0x030b0000) && line_table != NULL && !CYTHON_COMPILING_IN_GRAAL) {
          Py_ssize_t line_table_length = __Pyx_PyBytes_GET_SIZE(line_table);
          #if !CYTHON_ASSUME_SAFE_SIZE
          if (unlikely(line_table_length == -1)) goto done;
          #endif
          Py_ssize_t code_len = (line_table_length * 2 + 4) & ~3LL;
          code_bytes = PyBytes_FromStringAndSize(NULL, code_len);
          if (unlikely(!code_bytes)) goto done;
          char* c_code_bytes = PyBytes_AsString(code_bytes);
          if (unlikely(!c_code_bytes)) goto done;
          memset(c_code_bytes, 0, (size_t) code_len);
      }
      code_obj = (PyObject*) __Pyx__PyCode_New(
          (int) descr.argcount,
          (int) descr.num_posonly_args,
          (int) descr.num_kwonly_args,
          (int) descr.nlocals,
          0,
          (int) descr.flags,
          code_bytes ? code_bytes : __pyx_mstate_global->__pyx_empty_bytes,
          __pyx_mstate_global->__pyx_empty_tuple,
          __pyx_mstate_global->__pyx_empty_tuple,
          varnames_tuple_dedup,
          __pyx_mstate_global->__pyx_empty_tuple,
          __pyx_mstate_global->__pyx_empty_tuple,
          filename,
          funcname,
          (int) descr.first_line,
          (__PYX_LIMITED_VERSION_HEX >= (0x030b0000) && line_table) ? line_table : __pyx_mstate_global->__pyx_empty_bytes
      );
  done:
      Py_XDECREF(code_bytes);
      #if CYTHON_AVOID_BORROWED_REFS
      Py_XDECREF(varnames_tuple_dedup);
      #endif
      Py_DECREF(varnames_tuple);
      return code_obj;
  }
  
/* DecompressString */
  static PyObject *__Pyx_DecompressString(const char *s, Py_ssize_t length, int algo) {
      PyObject *module = NULL, *decompress, *compressed_bytes, *decompressed;
      const char* module_name = algo == 3 ? "compression.zstd" : algo == 2 ? "bz2" : "zlib";
      PyObject *methodname = PyUnicode_FromString("decompress");
      if (unlikely(!methodname)) return NULL;
      #if __PYX_LIMITED_VERSION_HEX >= 0x030e0000
      if (algo == 3) {
          PyObject *fromlist = Py_BuildValue("[O]", methodname);
          if (unlikely(!fromlist)) goto bad;
          module = PyImport_ImportModuleLevel("compression.zstd", NULL, NULL, fromlist, 0);
          Py_DECREF(fromlist);
      } else
      #endif
          module = PyImport_ImportModule(module_name);
      if (unlikely(!module)) goto import_failed;
      decompress = PyObject_GetAttr(module, methodname);
      if (unlikely(!decompress)) goto import_failed;
      {
          #ifdef __cplusplus
              char *memview_bytes = const_cast<char*>(s);
          #else
              #if defined(__clang__)
                #pragma clang diagnostic push
                #pragma clang diagnostic ignored "-Wcast-qual"
              #elif !defined(__INTEL_COMPILER) && defined(__GNUC__)
                #pragma GCC diagnostic push
                #pragma GCC diagnostic ignored "-Wcast-qual"
              #endif
              char *memview_bytes = (char*) s;
              #if defined(__clang__)
                #pragma clang diagnostic pop
              #elif !defined(__INTEL_COMPILER) && defined(__GNUC__)
                #pragma GCC diagnostic pop
              #endif
          #endif
          #if CYTHON_COMPILING_IN_LIMITED_API && !defined(PyBUF_READ)
          int memview_flags = 0x100;
          #else
          int memview_flags = PyBUF_READ;
          #endif
          compressed_bytes = PyMemoryView_FromMemory(memview_bytes, length, memview_flags);
      }
      if (unlikely(!compressed_bytes)) {
          Py_DECREF(decompress);
          goto bad;
      }
      decompressed = PyObject_CallFunctionObjArgs(decompress, compressed_bytes, NULL);
      Py_DECREF(compressed_bytes);
      Py_DECREF(decompress);
      Py_DECREF(module);
      Py_DECREF(methodname);
      return decompressed;
  import_failed:
      PyErr_Format(PyExc_ImportError,
          "Failed to import '%.20s.decompress' - cannot initialise module strings. "
          "String compression was configured with the C macro 'CYTHON_COMPRESS_STRINGS=%d'.",
          module_name, algo);
  bad:
      Py_XDECREF(module);
      Py_DECREF(methodname);
      return NULL;
  }
  
#include <string.h>
static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
    size_t len = strlen(s);
    if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) {
        PyErr_SetString(PyExc_OverflowError, "byte string is too long");
        return -1;
    }
    return (Py_ssize_t) len;
}
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
    Py_ssize_t len = __Pyx_ssize_strlen(c_str);
    if (unlikely(len < 0)) return NULL;
    return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) {
    Py_ssize_t len = __Pyx_ssize_strlen(c_str);
    if (unlikely(len < 0)) return NULL;
    return PyByteArray_FromStringAndSize(c_str, len);
}
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
    Py_ssize_t ignore;
    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
}
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_UTF8
static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
    if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
#if CYTHON_COMPILING_IN_LIMITED_API
    {
        const char* result;
        Py_ssize_t unicode_length;
        CYTHON_MAYBE_UNUSED_VAR(unicode_length); // only for __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
        #if __PYX_LIMITED_VERSION_HEX < 0x030A0000
        if (unlikely(PyArg_Parse(o, "s#", &result, length) < 0)) return NULL;
        #else
        result = PyUnicode_AsUTF8AndSize(o, length);
        #endif
        #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
        unicode_length = PyUnicode_GetLength(o);
        if (unlikely(unicode_length < 0)) return NULL;
        if (unlikely(unicode_length != *length)) {
            PyUnicode_AsASCIIString(o);
            return NULL;
        }
        #endif
        return result;
    }
#else
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
    if (likely(PyUnicode_IS_ASCII(o))) {
        *length = PyUnicode_GET_LENGTH(o);
        return PyUnicode_AsUTF8(o);
    } else {
        PyUnicode_AsASCIIString(o);
        return NULL;
    }
#else
    return PyUnicode_AsUTF8AndSize(o, length);
#endif
#endif
}
#endif
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_UTF8
    if (PyUnicode_Check(o)) {
        return __Pyx_PyUnicode_AsStringAndSize(o, length);
    } else
#endif
    if (PyByteArray_Check(o)) {
#if (CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS) || (CYTHON_COMPILING_IN_PYPY && (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)))
        *length = PyByteArray_GET_SIZE(o);
        return PyByteArray_AS_STRING(o);
#else
        *length = PyByteArray_Size(o);
        if (*length == -1) return NULL;
        return PyByteArray_AsString(o);
#endif
    } else
    {
        char* result;
        int r = PyBytes_AsStringAndSize(o, &result, length);
        if (unlikely(r < 0)) {
            return NULL;
        } else {
            return result;
        }
    }
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
   int is_true = x == Py_True;
   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
   else return PyObject_IsTrue(x);
}
static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
    int retval;
    if (unlikely(!x)) return -1;
    retval = __Pyx_PyObject_IsTrue(x);
    Py_DECREF(x);
    return retval;
}
static PyObject* __Pyx_PyNumber_LongWrongResultType(PyObject* result) {
    __Pyx_TypeName result_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(result));
    if (PyLong_Check(result)) {
        if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
                "__int__ returned non-int (type " __Pyx_FMT_TYPENAME ").  "
                "The ability to return an instance of a strict subclass of int is deprecated, "
                "and may be removed in a future version of Python.",
                result_type_name)) {
            __Pyx_DECREF_TypeName(result_type_name);
            Py_DECREF(result);
            return NULL;
        }
        __Pyx_DECREF_TypeName(result_type_name);
        return result;
    }
    PyErr_Format(PyExc_TypeError,
                 "__int__ returned non-int (type " __Pyx_FMT_TYPENAME ")",
                 result_type_name);
    __Pyx_DECREF_TypeName(result_type_name);
    Py_DECREF(result);
    return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyNumber_Long(PyObject* x) {
#if CYTHON_USE_TYPE_SLOTS
  PyNumberMethods *m;
#endif
  PyObject *res = NULL;
  if (likely(PyLong_Check(x)))
      return __Pyx_NewRef(x);
#if CYTHON_USE_TYPE_SLOTS
  m = Py_TYPE(x)->tp_as_number;
  if (likely(m && m->nb_int)) {
      res = m->nb_int(x);
  }
#else
  if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
      res = PyNumber_Long(x);
  }
#endif
  if (likely(res)) {
      if (unlikely(!PyLong_CheckExact(res))) {
          return __Pyx_PyNumber_LongWrongResultType(res);
      }
  }
  else if (!PyErr_Occurred()) {
      PyErr_SetString(PyExc_TypeError,
                      "an integer is required");
  }
  return res;
}
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
  Py_ssize_t ival;
  PyObject *x;
  if (likely(PyLong_CheckExact(b))) {
    #if CYTHON_USE_PYLONG_INTERNALS
    if (likely(__Pyx_PyLong_IsCompact(b))) {
        return __Pyx_PyLong_CompactValue(b);
    } else {
      const digit* digits = __Pyx_PyLong_Digits(b);
      const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b);
      switch (size) {
         case 2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -2:
           if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -3:
           if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case 4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
         case -4:
           if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
             return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
           }
           break;
      }
    }
    #endif
    return PyLong_AsSsize_t(b);
  }
  x = PyNumber_Index(b);
  if (!x) return -1;
  ival = PyLong_AsSsize_t(x);
  Py_DECREF(x);
  return ival;
}
static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
  if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
    return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
  } else {
    Py_ssize_t ival;
    PyObject *x;
    x = PyNumber_Index(o);
    if (!x) return -1;
    ival = PyLong_AsLong(x);
    Py_DECREF(x);
    return ival;
  }
}
static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b) {
    CYTHON_UNUSED_VAR(b);
    return __Pyx_NewRef(Py_None);
}
static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
  return __Pyx_NewRef(b ? Py_True: Py_False);
}
static CYTHON_INLINE PyObject * __Pyx_PyLong_FromSize_t(size_t ival) {
    return PyLong_FromSize_t(ival);
}


  /* MultiPhaseInitModuleState */
  #if CYTHON_PEP489_MULTI_PHASE_INIT && CYTHON_USE_MODULE_STATE
  #ifndef CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
  #if (CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX >= 0x030C0000)
    #define CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE 1
  #else
    #define CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE 0
  #endif
  #endif
  #if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE && !CYTHON_ATOMICS
  #error "Module state with PEP489 requires atomics. Currently that's one of\
   C11, C++11, gcc atomic intrinsics or MSVC atomic intrinsics"
  #endif
  #if !CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
  #define __Pyx_ModuleStateLookup_Lock()
  #define __Pyx_ModuleStateLookup_Unlock()
  #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d0000
  static PyMutex __Pyx_ModuleStateLookup_mutex = {0};
  #define __Pyx_ModuleStateLookup_Lock() PyMutex_Lock(&__Pyx_ModuleStateLookup_mutex)
  #define __Pyx_ModuleStateLookup_Unlock() PyMutex_Unlock(&__Pyx_ModuleStateLookup_mutex)
  #elif defined(__cplusplus) && __cplusplus >= 201103L
  #include <mutex>
  static std::mutex __Pyx_ModuleStateLookup_mutex;
  #define __Pyx_ModuleStateLookup_Lock() __Pyx_ModuleStateLookup_mutex.lock()
  #define __Pyx_ModuleStateLookup_Unlock() __Pyx_ModuleStateLookup_mutex.unlock()
  #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ > 201112L) && !defined(__STDC_NO_THREADS__)
  #include <threads.h>
  static mtx_t __Pyx_ModuleStateLookup_mutex;
  static once_flag __Pyx_ModuleStateLookup_mutex_once_flag = ONCE_FLAG_INIT;
  static void __Pyx_ModuleStateLookup_initialize_mutex(void) {
      mtx_init(&__Pyx_ModuleStateLookup_mutex, mtx_plain);
  }
  #define __Pyx_ModuleStateLookup_Lock()\
    call_once(&__Pyx_ModuleStateLookup_mutex_once_flag, __Pyx_ModuleStateLookup_initialize_mutex);\
    mtx_lock(&__Pyx_ModuleStateLookup_mutex)
  #define __Pyx_ModuleStateLookup_Unlock() mtx_unlock(&__Pyx_ModuleStateLookup_mutex)
  #elif defined(HAVE_PTHREAD_H)
  #include <pthread.h>
  static pthread_mutex_t __Pyx_ModuleStateLookup_mutex = PTHREAD_MUTEX_INITIALIZER;
  #define __Pyx_ModuleStateLookup_Lock() pthread_mutex_lock(&__Pyx_ModuleStateLookup_mutex)
  #define __Pyx_ModuleStateLookup_Unlock() pthread_mutex_unlock(&__Pyx_ModuleStateLookup_mutex)
  #elif defined(_WIN32)
  #include <Windows.h>  // synchapi.h on its own doesn't work
  static SRWLOCK __Pyx_ModuleStateLookup_mutex = SRWLOCK_INIT;
  #define __Pyx_ModuleStateLookup_Lock() AcquireSRWLockExclusive(&__Pyx_ModuleStateLookup_mutex)
  #define __Pyx_ModuleStateLookup_Unlock() ReleaseSRWLockExclusive(&__Pyx_ModuleStateLookup_mutex)
  #else
  #error "No suitable lock available for CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE.\
   Requires C standard >= C11, or C++ standard >= C++11,\
   or pthreads, or the Windows 32 API, or Python >= 3.13."
  #endif
  typedef struct {
      int64_t id;
      PyObject *module;
  } __Pyx_InterpreterIdAndModule;
  typedef struct {
      char interpreter_id_as_index;
      Py_ssize_t count;
      Py_ssize_t allocated;
      __Pyx_InterpreterIdAndModule table[1];
  } __Pyx_ModuleStateLookupData;
  #define __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE 32
  #if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
  static __pyx_atomic_int_type __Pyx_ModuleStateLookup_read_counter = 0;
  #endif
  #if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
  static __pyx_atomic_ptr_type __Pyx_ModuleStateLookup_data = 0;
  #else
  static __Pyx_ModuleStateLookupData* __Pyx_ModuleStateLookup_data = NULL;
  #endif
  static __Pyx_InterpreterIdAndModule* __Pyx_State_FindModuleStateLookupTableLowerBound(
          __Pyx_InterpreterIdAndModule* table,
          Py_ssize_t count,
          int64_t interpreterId) {
      __Pyx_InterpreterIdAndModule* begin = table;
      __Pyx_InterpreterIdAndModule* end = begin + count;
      if (begin->id == interpreterId) {
          return begin;
      }
      while ((end - begin) > __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE) {
          __Pyx_InterpreterIdAndModule* halfway = begin + (end - begin)/2;
          if (halfway->id == interpreterId) {
              return halfway;
          }
          if (halfway->id < interpreterId) {
              begin = halfway;
          } else {
              end = halfway;
          }
      }
      for (; begin < end; ++begin) {
          if (begin->id >= interpreterId) return begin;
      }
      return begin;
  }
  static PyObject *__Pyx_State_FindModule(CYTHON_UNUSED void* dummy) {
      int64_t interpreter_id = PyInterpreterState_GetID(__Pyx_PyInterpreterState_Get());
      if (interpreter_id == -1) return NULL;
  #if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
      __Pyx_ModuleStateLookupData* data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_relaxed(&__Pyx_ModuleStateLookup_data);
      {
          __pyx_atomic_incr_acq_rel(&__Pyx_ModuleStateLookup_read_counter);
          if (likely(data)) {
              __Pyx_ModuleStateLookupData* new_data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_acquire(&__Pyx_ModuleStateLookup_data);
              if (likely(data == new_data)) {
                  goto read_finished;
              }
          }
          __pyx_atomic_decr_acq_rel(&__Pyx_ModuleStateLookup_read_counter);
          __Pyx_ModuleStateLookup_Lock();
          __pyx_atomic_incr_relaxed(&__Pyx_ModuleStateLookup_read_counter);
          data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_relaxed(&__Pyx_ModuleStateLookup_data);
          __Pyx_ModuleStateLookup_Unlock();
      }
    read_finished:;
  #else
      __Pyx_ModuleStateLookupData* data = __Pyx_ModuleStateLookup_data;
  #endif
      __Pyx_InterpreterIdAndModule* found = NULL;
      if (unlikely(!data)) goto end;
      if (data->interpreter_id_as_index) {
          if (interpreter_id < data->count) {
              found = data->table+interpreter_id;
          }
      } else {
          found = __Pyx_State_FindModuleStateLookupTableLowerBound(
              data->table, data->count, interpreter_id);
      }
    end:
      {
          PyObject *result=NULL;
          if (found && found->id == interpreter_id) {
              result = found->module;
          }
  #if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
          __pyx_atomic_decr_acq_rel(&__Pyx_ModuleStateLookup_read_counter);
  #endif
          return result;
      }
  }
  #if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
  static void __Pyx_ModuleStateLookup_wait_until_no_readers(void) {
      while (__pyx_atomic_load(&__Pyx_ModuleStateLookup_read_counter) != 0);
  }
  #else
  #define __Pyx_ModuleStateLookup_wait_until_no_readers()
  #endif
  static int __Pyx_State_AddModuleInterpIdAsIndex(__Pyx_ModuleStateLookupData **old_data, PyObject* module, int64_t interpreter_id) {
      Py_ssize_t to_allocate = (*old_data)->allocated;
      while (to_allocate <= interpreter_id) {
          if (to_allocate == 0) to_allocate = 1;
          else to_allocate *= 2;
      }
      __Pyx_ModuleStateLookupData *new_data = *old_data;
      if (to_allocate != (*old_data)->allocated) {
           new_data = (__Pyx_ModuleStateLookupData *)realloc(
              *old_data,
              sizeof(__Pyx_ModuleStateLookupData)+(to_allocate-1)*sizeof(__Pyx_InterpreterIdAndModule));
          if (!new_data) {
              PyErr_NoMemory();
              return -1;
          }
          for (Py_ssize_t i = new_data->allocated; i < to_allocate; ++i) {
              new_data->table[i].id = i;
              new_data->table[i].module = NULL;
          }
          new_data->allocated = to_allocate;
      }
      new_data->table[interpreter_id].module = module;
      if (new_data->count < interpreter_id+1) {
          new_data->count = interpreter_id+1;
      }
      *old_data = new_data;
      return 0;
  }
  static void __Pyx_State_ConvertFromInterpIdAsIndex(__Pyx_ModuleStateLookupData *data) {
      __Pyx_InterpreterIdAndModule *read = data->table;
      __Pyx_InterpreterIdAndModule *write = data->table;
      __Pyx_InterpreterIdAndModule *end = read + data->count;
      for (; read<end; ++read) {
          if (read->module) {
              write->id = read->id;
              write->module = read->module;
              ++write;
          }
      }
      data->count = write - data->table;
      for (; write<end; ++write) {
          write->id = 0;
          write->module = NULL;
      }
      data->interpreter_id_as_index = 0;
  }
  static int __Pyx_State_AddModule(PyObject* module, CYTHON_UNUSED void* dummy) {
      int64_t interpreter_id = PyInterpreterState_GetID(__Pyx_PyInterpreterState_Get());
      if (interpreter_id == -1) return -1;
      int result = 0;
      __Pyx_ModuleStateLookup_Lock();
  #if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
      __Pyx_ModuleStateLookupData *old_data = (__Pyx_ModuleStateLookupData *)
              __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, 0);
  #else
      __Pyx_ModuleStateLookupData *old_data = __Pyx_ModuleStateLookup_data;
  #endif
      __Pyx_ModuleStateLookupData *new_data = old_data;
      if (!new_data) {
          new_data = (__Pyx_ModuleStateLookupData *)calloc(1, sizeof(__Pyx_ModuleStateLookupData));
          if (!new_data) {
              result = -1;
              PyErr_NoMemory();
              goto end;
          }
          new_data->allocated = 1;
          new_data->interpreter_id_as_index = 1;
      }
      __Pyx_ModuleStateLookup_wait_until_no_readers();
      if (new_data->interpreter_id_as_index) {
          if (interpreter_id < __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE) {
              result = __Pyx_State_AddModuleInterpIdAsIndex(&new_data, module, interpreter_id);
              goto end;
          }
          __Pyx_State_ConvertFromInterpIdAsIndex(new_data);
      }
      {
          Py_ssize_t insert_at = 0;
          {
              __Pyx_InterpreterIdAndModule* lower_bound = __Pyx_State_FindModuleStateLookupTableLowerBound(
                  new_data->table, new_data->count, interpreter_id);
              assert(lower_bound);
              insert_at = lower_bound - new_data->table;
              if (unlikely(insert_at < new_data->count && lower_bound->id == interpreter_id)) {
                  lower_bound->module = module;
                  goto end;  // already in table, nothing more to do
              }
          }
          if (new_data->count+1 >= new_data->allocated) {
              Py_ssize_t to_allocate = (new_data->count+1)*2;
              new_data =
                  (__Pyx_ModuleStateLookupData*)realloc(
                      new_data,
                      sizeof(__Pyx_ModuleStateLookupData) +
                      (to_allocate-1)*sizeof(__Pyx_InterpreterIdAndModule));
              if (!new_data) {
                  result = -1;
                  new_data = old_data;
                  PyErr_NoMemory();
                  goto end;
              }
              new_data->allocated = to_allocate;
          }
          ++new_data->count;
          int64_t last_id = interpreter_id;
          PyObject *last_module = module;
          for (Py_ssize_t i=insert_at; i<new_data->count; ++i) {
              int64_t current_id = new_data->table[i].id;
              new_data->table[i].id = last_id;
              last_id = current_id;
              PyObject *current_module = new_data->table[i].module;
              new_data->table[i].module = last_module;
              last_module = current_module;
          }
      }
    end:
  #if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
      __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, new_data);
  #else
      __Pyx_ModuleStateLookup_data = new_data;
  #endif
      __Pyx_ModuleStateLookup_Unlock();
      return result;
  }
  static int __Pyx_State_RemoveModule(CYTHON_UNUSED void* dummy) {
      int64_t interpreter_id = PyInterpreterState_GetID(__Pyx_PyInterpreterState_Get());
      if (interpreter_id == -1) return -1;
      __Pyx_ModuleStateLookup_Lock();
  #if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
      __Pyx_ModuleStateLookupData *data = (__Pyx_ModuleStateLookupData *)
              __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, 0);
  #else
      __Pyx_ModuleStateLookupData *data = __Pyx_ModuleStateLookup_data;
  #endif
      if (data->interpreter_id_as_index) {
          if (interpreter_id < data->count) {
              data->table[interpreter_id].module = NULL;
          }
          goto done;
      }
      {
          __Pyx_ModuleStateLookup_wait_until_no_readers();
          __Pyx_InterpreterIdAndModule* lower_bound = __Pyx_State_FindModuleStateLookupTableLowerBound(
              data->table, data->count, interpreter_id);
          if (!lower_bound) goto done;
          if (lower_bound->id != interpreter_id) goto done;
          __Pyx_InterpreterIdAndModule *end = data->table+data->count;
          for (;lower_bound<end-1; ++lower_bound) {
              lower_bound->id = (lower_bound+1)->id;
              lower_bound->module = (lower_bound+1)->module;
          }
      }
      --data->count;
      if (data->count == 0) {
          free(data);
          data = NULL;
      }
    done:
  #if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
      __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, data);
  #else
      __Pyx_ModuleStateLookup_data = data;
  #endif
      __Pyx_ModuleStateLookup_Unlock();
      return 0;
  }
  #endif
  
/* #### Code section: utility_code_pragmas_end ### */
#ifdef _MSC_VER
#pragma warning( pop )
#endif



/* #### Code section: end ### */
#endif /* Py_PYTHON_H */
